@arcblock/payment-service 1.29.2 → 1.29.3
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.
- package/dist/cf.d.ts +104 -0
- package/dist/cf.js +598 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.js +755 -359
- package/package.json +14 -6
- package/web/assets/Community-DjnKQ_eJ.js +1 -0
- package/web/assets/Holiday-B3mAiPaR.js +1 -0
- package/web/assets/Meeting-Boiro55U.js +1 -0
- package/web/assets/OffSick-CmlSODCj.js +1 -0
- package/web/assets/WorkingRemotely-CQReAoVA.js +1 -0
- package/web/assets/abtwallet-o1JAGJkW.png +0 -0
- package/web/assets/account-DETfFe4_.js +1 -0
- package/web/assets/action-B_DQJlip.js +1 -0
- package/web/assets/actions-BaDh4xWX.js +1 -0
- package/web/assets/actions-BknL4OyZ.js +1 -0
- package/web/assets/actions-Bt_jST94.js +1 -0
- package/web/assets/actions-BtaoyTWt.js +1 -0
- package/web/assets/actions-D9MHLBFH.js +1 -0
- package/web/assets/actions-DJyfN5OU.js +1 -0
- package/web/assets/actions-EPYeS5p4.js +1 -0
- package/web/assets/actions-QPa-8lfB.js +1 -0
- package/web/assets/actions-jxGAdGfb.js +1 -0
- package/web/assets/add-price-CD-utowo.js +1 -0
- package/web/assets/admin-_nEB-lHn.js +52 -0
- package/web/assets/aistro-NLUOUWwT.png +0 -0
- package/web/assets/android-Xe96zWxX.png +0 -0
- package/web/assets/assign-CkV5Q2LP.js +1 -0
- package/web/assets/attempts-DySeqBYU.js +1 -0
- package/web/assets/bedrock-yFRPpe__.png +0 -0
- package/web/assets/browser-Bb9g-cvG.js +1 -0
- package/web/assets/browser-DSLTxXlL.js +1 -0
- package/web/assets/cache-state-lld4zuDg.js +1 -0
- package/web/assets/change-payment-CPUCUEER.js +1 -0
- package/web/assets/change-plan-CxE-XfWc.js +1 -0
- package/web/assets/chrome-BPS46pXA.js +23 -0
- package/web/assets/click-boundary-y8dVA_tr.js +1 -0
- package/web/assets/collapse-BvbJGg1V.js +1 -0
- package/web/assets/collapse-CSrlJ0eG.js +1 -0
- package/web/assets/connect-CC_l_f6Q.js +5 -0
- package/web/assets/copyable-DpX04wZz.js +1 -0
- package/web/assets/create-3SsWCAOC.js +1 -0
- package/web/assets/create-BkQAaSvD.js +1 -0
- package/web/assets/create-BmcRybZ5.js +1 -0
- package/web/assets/create-Bs65p5Ne.js +1 -0
- package/web/assets/create-kG09X9gl.js +1 -0
- package/web/assets/create-tYebjhr9.js +1 -0
- package/web/assets/credit-grant-item-list-Bk27jIc7.js +1 -0
- package/web/assets/credit-overview-DmMSEs14.js +5 -0
- package/web/assets/currency-GstdXsJf.js +1 -0
- package/web/assets/currency-restrictions-DYLv4YyW.js +1 -0
- package/web/assets/currency-select-DGS-62-L.js +1 -0
- package/web/assets/dayjs-B9tvQIKg.js +1 -0
- package/web/assets/deepseek-C3x42pq3.png +0 -0
- package/web/assets/description-Ym17DL48.js +1 -0
- package/web/assets/detail-15zxCbV9.js +10 -0
- package/web/assets/detail-ASPdMJoW.js +1 -0
- package/web/assets/detail-BJTcK7mx.js +1 -0
- package/web/assets/detail-CIx9vkir.js +1 -0
- package/web/assets/detail-CT9Unyrf.js +1 -0
- package/web/assets/detail-Cb9HBSMw.js +1 -0
- package/web/assets/detail-Cr2wG4Th.js +1 -0
- package/web/assets/detail-CxYQYu_l.js +11 -0
- package/web/assets/detail-D5KRrQDx.js +1 -0
- package/web/assets/detail-D5NbV29V.js +1 -0
- package/web/assets/detail-DB56SG-k.js +1 -0
- package/web/assets/detail-DE3OOC5M.js +15 -0
- package/web/assets/detail-DG4l2CqN.js +1 -0
- package/web/assets/detail-DPCTQLOx.js +1 -0
- package/web/assets/detail-DVVzYhdV.js +1 -0
- package/web/assets/detail-Do9QO5L2.js +1 -0
- package/web/assets/detail-Dqc0OfCQ.js +1 -0
- package/web/assets/detail-DuO_Jn5X.js +1 -0
- package/web/assets/detail-DuWdZIyp.js +1 -0
- package/web/assets/detail-K9EVY3r2.js +1 -0
- package/web/assets/detail-OZeeKI69.js +24 -0
- package/web/assets/detail-cwHZbY62.js +1 -0
- package/web/assets/detail-uhlID8jD.js +15 -0
- package/web/assets/doubao-yPqHSkLx.png +0 -0
- package/web/assets/drawer-form-Cl0T1Yyt.js +24 -0
- package/web/assets/edit-3HUAnaXW.js +1 -0
- package/web/assets/editor-BF5I0siU.js +1 -0
- package/web/assets/embed-CsNqeCd0.js +1 -0
- package/web/assets/filter-toolbar-BydfQ-79.js +56 -0
- package/web/assets/form-BGm5NPDn.js +1 -0
- package/web/assets/form-BXAuSawq.js +9 -0
- package/web/assets/form-CKfKLGXP.js +16 -0
- package/web/assets/form-DSzMo9UD.js +66 -0
- package/web/assets/form-P4luyUpY.js +9 -0
- package/web/assets/gas-Qf0SSUfS.js +1 -0
- package/web/assets/gemini-DffKpc81.png +0 -0
- package/web/assets/generateCategoricalChart-BaWwaXky.js +55 -0
- package/web/assets/google-DT1VSJ0m.png +0 -0
- package/web/assets/header-ivXuPt06.js +1 -0
- package/web/assets/home-HbrLyxJL.js +2 -0
- package/web/assets/html2canvas.esm-3ybT_T2r.js +5 -0
- package/web/assets/ideogram-REIjy0Er.png +0 -0
- package/web/assets/index-0HK7CYm4.js +1 -0
- package/web/assets/index-1y9kjPIr.js +1 -0
- package/web/assets/index-2l22EYw9.js +1 -0
- package/web/assets/index-9xBRL_33.js +1 -0
- package/web/assets/index-B1pTTyGZ.js +1 -0
- package/web/assets/index-BFML4-2u.js +170 -0
- package/web/assets/index-BIoSdRvX.js +12 -0
- package/web/assets/index-BJ_E6bEO.js +1 -0
- package/web/assets/index-BMKZToMM.js +28 -0
- package/web/assets/index-BP53rZV9.js +1 -0
- package/web/assets/index-Bnyh4rlV.js +1 -0
- package/web/assets/index-BoQ7wf3O.js +1 -0
- package/web/assets/index-Br7_mvEw.js +1 -0
- package/web/assets/index-C0JaS08f.js +38 -0
- package/web/assets/index-C68x-aau.js +1 -0
- package/web/assets/index-C8s2QKoe.js +1 -0
- package/web/assets/index-CI_EY4YS.js +1 -0
- package/web/assets/index-CdkYrABk.js +1 -0
- package/web/assets/index-Clbt8nRm.js +1 -0
- package/web/assets/index-Cn7O-OP7.js +49 -0
- package/web/assets/index-Cw0ugaQL.js +1 -0
- package/web/assets/index-DE2KzqXl.js +1 -0
- package/web/assets/index-DPodCQ9c.js +1 -0
- package/web/assets/index-DU39aG5u.js +1 -0
- package/web/assets/index-DZpJPE1Z.js +1 -0
- package/web/assets/index-Dc954mDP.js +1 -0
- package/web/assets/index-DgSc1Qy8.js +684 -0
- package/web/assets/index-Dr_MwbKt.js +38 -0
- package/web/assets/index-Drav4oDH.js +61 -0
- package/web/assets/index-DtbqgSK4.js +1 -0
- package/web/assets/index-DuRu9NWB.js +14 -0
- package/web/assets/index-SYTpMMMH.js +13 -0
- package/web/assets/index-WMKOiUez.js +1 -0
- package/web/assets/index-dmHgoplS.js +1 -0
- package/web/assets/index-fByZjxLy.js +1 -0
- package/web/assets/index-fswPX_qe.js +1 -0
- package/web/assets/index-txVTkoDD.js +1 -0
- package/web/assets/index.es-BWnfUzLb.js +5 -0
- package/web/assets/info-card-C1yxhxJG.js +1 -0
- package/web/assets/info-metric-CNse3r66.js +1 -0
- package/web/assets/info-row-DOK2whMn.js +1 -0
- package/web/assets/info-row-group-BeUhWnnY.js +1 -0
- package/web/assets/ios-CBDmY-ic.png +0 -0
- package/web/assets/lexend-latin-400-normal-CHypAkT3.woff +0 -0
- package/web/assets/lexend-latin-400-normal-CwRJVcUA.woff2 +0 -0
- package/web/assets/lexend-latin-600-normal-DSBzZxpA.woff +0 -0
- package/web/assets/lexend-latin-600-normal-DdvlkEkX.woff2 +0 -0
- package/web/assets/lexend-latin-ext-400-normal-D38JI5AK.woff2 +0 -0
- package/web/assets/lexend-latin-ext-400-normal-D9P7pMo-.woff +0 -0
- package/web/assets/lexend-latin-ext-600-normal-BXtyp5LP.woff +0 -0
- package/web/assets/lexend-latin-ext-600-normal-hDcqLAH9.woff2 +0 -0
- package/web/assets/lexend-vietnamese-400-normal-DoLa7jNB.woff2 +0 -0
- package/web/assets/lexend-vietnamese-400-normal-mPlHoWg5.woff +0 -0
- package/web/assets/lexend-vietnamese-600-normal-BxEVPgxw.woff +0 -0
- package/web/assets/lexend-vietnamese-600-normal-Cr1ePs6O.woff2 +0 -0
- package/web/assets/libphonenumber-CyphiuxQ.js +7 -0
- package/web/assets/link-3eeclTeS.js +1 -0
- package/web/assets/link-DMWJcQvZ.js +1 -0
- package/web/assets/list-1OG83xc4.js +1 -0
- package/web/assets/list-C521zE_7.js +1 -0
- package/web/assets/list-CNmzJKIQ.js +1 -0
- package/web/assets/list-CO0X4L3-.js +1 -0
- package/web/assets/list-D-I0msRW.js +35 -0
- package/web/assets/list-D1aevUOI.js +5 -0
- package/web/assets/list-DnePqZ2K.js +1 -0
- package/web/assets/list-jHj_5yy3.js +1 -0
- package/web/assets/lodash-B4Ozcv0x.js +20 -0
- package/web/assets/lottie-error-DeJ4jU66.js +1 -0
- package/web/assets/lottie-loading-Npqo86wA.js +1 -0
- package/web/assets/lottie-react.esm-BuFP9VDV.js +256 -0
- package/web/assets/lottie-welcome-oyMgXGo-.js +1 -0
- package/web/assets/metadata-CMSHcSXi.js +55 -0
- package/web/assets/meter-event-lmNMgmIu.js +1 -0
- package/web/assets/metrics-C7U41HWk.js +1 -0
- package/web/assets/ollama-C7MZn2d_.png +0 -0
- package/web/assets/openai-DlpqJdrb.png +0 -0
- package/web/assets/overview-CH1HnSP-.js +1 -0
- package/web/assets/overview-Cs3-8n4e.js +6 -0
- package/web/assets/past-due-CGGRZmXY.js +5 -0
- package/web/assets/pay-CSpHBUh_.js +4 -0
- package/web/assets/payment-kit-DYSjmihw.png +0 -0
- package/web/assets/payment-method-info-BsOBbA3m.js +16 -0
- package/web/assets/poe-B588TgZu.png +0 -0
- package/web/assets/preview-CjYh9dTg.js +1 -0
- package/web/assets/preview-DjYRpRA8.js +1 -0
- package/web/assets/pricing-table-C3Lkhq46.js +36 -0
- package/web/assets/pricing-table-edE6TJGX.js +1 -0
- package/web/assets/product-select-0ScZE2e8.js +1 -0
- package/web/assets/react-stripe.esm-BZIKAsrR.js +2 -0
- package/web/assets/recharge-DcPtT8vt.js +14 -0
- package/web/assets/related-credit-grants-BygNGPfb.js +124 -0
- package/web/assets/roboto-latin-400-normal-BVyCgWwA.woff +0 -0
- package/web/assets/roboto-latin-400-normal-DXyFPIdK.woff2 +0 -0
- package/web/assets/roboto-latin-500-normal-C6iW8rdg.woff2 +0 -0
- package/web/assets/roboto-latin-500-normal-rpP1_v3s.woff +0 -0
- package/web/assets/roboto-latin-700-normal-BWcFiwQV.woff +0 -0
- package/web/assets/roboto-latin-700-normal-CbYYDfWS.woff2 +0 -0
- package/web/assets/roboto-latin-ext-400-normal-BSFkPfbf.woff +0 -0
- package/web/assets/roboto-latin-ext-400-normal-DgXbz5gU.woff2 +0 -0
- package/web/assets/roboto-latin-ext-500-normal-DvHxAkTn.woff +0 -0
- package/web/assets/roboto-latin-ext-500-normal-OQJhyaXd.woff2 +0 -0
- package/web/assets/roboto-latin-ext-700-normal-Ba-CAIIA.woff +0 -0
- package/web/assets/roboto-latin-ext-700-normal-DchBbzVz.woff2 +0 -0
- package/web/assets/safe-did-address-B0fFbUph.js +1 -0
- package/web/assets/source-data-viewer-By_Utay-.js +1 -0
- package/web/assets/status-l6pD08fw.js +1 -0
- package/web/assets/stripe.esm-BCCu7gPj.js +1 -0
- package/web/assets/style-BWb904Pt.css +1 -0
- package/web/assets/subscription-DcwhSOpa.js +1 -0
- package/web/assets/subscription-Dq22e3D1.js +1 -0
- package/web/assets/table-BRU4Enia.js +1 -0
- package/web/assets/tax-code-select-CWhIIiXi.js +1 -0
- package/web/assets/tax-utils-DqNX34-r.js +1 -0
- package/web/assets/tokenList-9PBdKlKn.js +1 -0
- package/web/assets/ubuntu-mono-cyrillic-400-normal-Di_0TARV.woff +0 -0
- package/web/assets/ubuntu-mono-cyrillic-400-normal-OGyu3tt3.woff2 +0 -0
- package/web/assets/ubuntu-mono-cyrillic-ext-400-normal-C5u8faa9.woff2 +0 -0
- package/web/assets/ubuntu-mono-cyrillic-ext-400-normal-CL-A5l1V.woff +0 -0
- package/web/assets/ubuntu-mono-greek-400-normal-CCUzT4Jh.woff2 +0 -0
- package/web/assets/ubuntu-mono-greek-400-normal-DR50Gfyl.woff +0 -0
- package/web/assets/ubuntu-mono-greek-ext-400-normal-BNZd3ZNJ.woff +0 -0
- package/web/assets/ubuntu-mono-greek-ext-400-normal-CUE8Ia0W.woff2 +0 -0
- package/web/assets/ubuntu-mono-latin-400-normal-DpWeehTz.woff +0 -0
- package/web/assets/ubuntu-mono-latin-400-normal-l4cqI2xd.woff2 +0 -0
- package/web/assets/ubuntu-mono-latin-ext-400-normal-C-izf5FM.woff +0 -0
- package/web/assets/ubuntu-mono-latin-ext-400-normal-Cadvr_Yo.woff2 +0 -0
- package/web/assets/uploader-DRXDz_r0.js +9 -0
- package/web/assets/usage-records-jjJMZ6DI.js +1 -0
- package/web/assets/util-mDHAL0lx.js +1 -0
- package/web/assets/vendor-arcblock-ChFCRdyx.js +175 -0
- package/web/assets/vendor-blocklet-D_i_QeSo.js +2742 -0
- package/web/assets/vendor-mui-BXZut9Pz.js +225 -0
- package/web/assets/vendor-react-BPknnnEA.js +1 -0
- package/web/currencies/0xBTC.png +0 -0
- package/web/currencies/1INCH.svg +1 -0
- package/web/currencies/AAVE.svg +1 -0
- package/web/currencies/ABT.svg +16 -0
- package/web/currencies/ACX.png +0 -0
- package/web/currencies/ADX.svg +12 -0
- package/web/currencies/AIKEK.png +0 -0
- package/web/currencies/AJNA.svg +12 -0
- package/web/currencies/AKIRA.png +0 -0
- package/web/currencies/ALEX.png +0 -0
- package/web/currencies/ALI.png +0 -0
- package/web/currencies/ALT.svg +12 -0
- package/web/currencies/AMKT.svg +5 -0
- package/web/currencies/AMP.svg +7 -0
- package/web/currencies/APU.png +0 -0
- package/web/currencies/APW.svg +21 -0
- package/web/currencies/APX.png +0 -0
- package/web/currencies/ARC.png +0 -0
- package/web/currencies/ARIA20.svg +1 -0
- package/web/currencies/ARPA.svg +1 -0
- package/web/currencies/ATH.svg +1 -0
- package/web/currencies/AVC.png +0 -0
- package/web/currencies/AVRK.png +0 -0
- package/web/currencies/AXGT.svg +1 -0
- package/web/currencies/AZUR.svg +20 -0
- package/web/currencies/BAL.png +0 -0
- package/web/currencies/BANK.png +0 -0
- package/web/currencies/BAXA.svg +3 -0
- package/web/currencies/BCAT.png +0 -0
- package/web/currencies/BEPRO.svg +1 -0
- package/web/currencies/BERRY.svg +1 -0
- package/web/currencies/BICO.svg +11 -0
- package/web/currencies/BITBOT.jpg +0 -0
- package/web/currencies/BITCOIN.png +0 -0
- package/web/currencies/BKN.svg +1 -0
- package/web/currencies/BLUE.png +0 -0
- package/web/currencies/BNB.png +0 -0
- package/web/currencies/BOBA.svg +16 -0
- package/web/currencies/BOBO.png +0 -0
- package/web/currencies/BOND.svg +10 -0
- package/web/currencies/BOTTO.svg +4 -0
- package/web/currencies/BRIGHT.svg +83 -0
- package/web/currencies/BTRST.svg +1 -0
- package/web/currencies/BURN.png +0 -0
- package/web/currencies/BitANT.png +0 -0
- package/web/currencies/BitBTC.png +0 -0
- package/web/currencies/CARD.svg +1 -0
- package/web/currencies/CBX.svg +1 -0
- package/web/currencies/CHI.svg +1 -0
- package/web/currencies/CIG.svg +21 -0
- package/web/currencies/CNG.svg +9 -0
- package/web/currencies/COC.svg +8 -0
- package/web/currencies/COLLAB.svg +8 -0
- package/web/currencies/COMP.svg +1 -0
- package/web/currencies/COW.svg +1 -0
- package/web/currencies/CRV.png +0 -0
- package/web/currencies/CRYO.svg +1 -0
- package/web/currencies/CTRAVL.svg +1 -0
- package/web/currencies/CTSI.svg +1 -0
- package/web/currencies/CTX.svg +1 -0
- package/web/currencies/CUSD.png +0 -0
- package/web/currencies/CXT.svg +11 -0
- package/web/currencies/D2D.svg +6 -0
- package/web/currencies/DAI.svg +13 -0
- package/web/currencies/DCN.svg +47 -0
- package/web/currencies/DF.svg +15 -0
- package/web/currencies/DHT.svg +1 -0
- package/web/currencies/DIMO.svg +1 -0
- package/web/currencies/DMS.png +0 -0
- package/web/currencies/DODO.svg +6 -0
- package/web/currencies/DOGEGF.png +0 -0
- package/web/currencies/DOLA.svg +1 -0
- package/web/currencies/DOSE.svg +1 -0
- package/web/currencies/DUCK.png +0 -0
- package/web/currencies/DYP.png +0 -0
- package/web/currencies/EIGEN.svg +13 -0
- package/web/currencies/ENS.png +0 -0
- package/web/currencies/EPOCH.svg +1 -0
- package/web/currencies/EQB.svg +4 -0
- package/web/currencies/EQZ.png +0 -0
- package/web/currencies/ERN.png +0 -0
- package/web/currencies/ERNTST.png +0 -0
- package/web/currencies/EST.png +0 -0
- package/web/currencies/ETH.svg +13 -0
- package/web/currencies/ETHIX.svg +1 -0
- package/web/currencies/EVERY.svg +13 -0
- package/web/currencies/F.svg +1 -0
- package/web/currencies/FACTR.png +0 -0
- package/web/currencies/FANS.svg +11 -0
- package/web/currencies/FARM.png +0 -0
- package/web/currencies/FCR.png +0 -0
- package/web/currencies/FET.svg +21 -0
- package/web/currencies/FIS.svg +22 -0
- package/web/currencies/FLASH.svg +22 -0
- package/web/currencies/FLy.png +0 -0
- package/web/currencies/FOAM.svg +23 -0
- package/web/currencies/FORTH.svg +1 -0
- package/web/currencies/FOX.svg +8 -0
- package/web/currencies/FRAX.png +0 -0
- package/web/currencies/FU.svg +17 -0
- package/web/currencies/FVT.svg +1 -0
- package/web/currencies/FXN.svg +25 -0
- package/web/currencies/FXS.png +0 -0
- package/web/currencies/Froglic.png +0 -0
- package/web/currencies/GALAXIS.svg +1 -0
- package/web/currencies/GCH.png +0 -0
- package/web/currencies/GENOME.svg +23 -0
- package/web/currencies/GGTK.svg +1 -0
- package/web/currencies/GHST.svg +15 -0
- package/web/currencies/GIGACHAD.png +0 -0
- package/web/currencies/GIV.svg +6 -0
- package/web/currencies/GLS.svg +22 -0
- package/web/currencies/GOLD.png +0 -0
- package/web/currencies/GRG.png +0 -0
- package/web/currencies/GROW.svg +1 -0
- package/web/currencies/GRT.svg +11 -0
- package/web/currencies/GTC.svg +5 -0
- package/web/currencies/GURU.svg +1 -0
- package/web/currencies/GYEN.svg +1 -0
- package/web/currencies/GYSR.png +0 -0
- package/web/currencies/HAIR.svg +1 -0
- package/web/currencies/HAN.svg +25 -0
- package/web/currencies/HANeP.svg +1 -0
- package/web/currencies/HAUS.png +0 -0
- package/web/currencies/HEU.svg +5 -0
- package/web/currencies/HOBA.png +0 -0
- package/web/currencies/HUNT.svg +1 -0
- package/web/currencies/IBEX.png +0 -0
- package/web/currencies/IDRISS.svg +4 -0
- package/web/currencies/IOTX.png +0 -0
- package/web/currencies/IPOR.svg +1 -0
- package/web/currencies/IPT.svg +7 -0
- package/web/currencies/IRARA.svg +1 -0
- package/web/currencies/ISK.png +0 -0
- package/web/currencies/IYKYK.svg +14 -0
- package/web/currencies/JAM.svg +20 -0
- package/web/currencies/JRT.svg +8 -0
- package/web/currencies/KAGE.png +0 -0
- package/web/currencies/KAI.svg +23 -0
- package/web/currencies/KIBSHI.png +0 -0
- package/web/currencies/KNC.png +0 -0
- package/web/currencies/KOMPETE.png +0 -0
- package/web/currencies/KROM.png +0 -0
- package/web/currencies/LCX.svg +6 -0
- package/web/currencies/LDO.svg +5 -0
- package/web/currencies/LIF3.svg +27 -0
- package/web/currencies/LINK.png +0 -0
- package/web/currencies/LIZ.png +0 -0
- package/web/currencies/LMEOW.png +0 -0
- package/web/currencies/LOCG.png +0 -0
- package/web/currencies/LORDS.png +0 -0
- package/web/currencies/LPF.svg +18 -0
- package/web/currencies/LQTY.svg +1 -0
- package/web/currencies/LRC.png +0 -0
- package/web/currencies/LRDS.svg +44 -0
- package/web/currencies/LSK.png +0 -0
- package/web/currencies/LUSD.svg +1 -0
- package/web/currencies/LYRA.png +0 -0
- package/web/currencies/MASK.svg +4 -0
- package/web/currencies/MASQ.png +0 -0
- package/web/currencies/MBS.png +0 -0
- package/web/currencies/MCADE.svg +26 -0
- package/web/currencies/MET.svg +15 -0
- package/web/currencies/MINDS.svg +32 -0
- package/web/currencies/MKR.png +0 -0
- package/web/currencies/MLN.svg +1 -0
- package/web/currencies/MOCHI.svg +1 -0
- package/web/currencies/MOM.svg +5 -0
- package/web/currencies/MONKE.png +0 -0
- package/web/currencies/MOOV.svg +5 -0
- package/web/currencies/MORPHO.svg +14 -0
- package/web/currencies/MPWR.svg +5 -0
- package/web/currencies/MTA.svg +15 -0
- package/web/currencies/MTL.png +0 -0
- package/web/currencies/MUGLOO.png +0 -0
- package/web/currencies/Mog.png +0 -0
- package/web/currencies/NAVI.svg +1 -0
- package/web/currencies/NCT.svg +49 -0
- package/web/currencies/NET.svg +11 -0
- package/web/currencies/NEURON.svg +38 -0
- package/web/currencies/NFD.png +0 -0
- package/web/currencies/NOGS.png +0 -0
- package/web/currencies/NOUNS.png +0 -0
- package/web/currencies/NOVA.png +0 -0
- package/web/currencies/NSTR.svg +4 -0
- package/web/currencies/Neiro.png +0 -0
- package/web/currencies/OCEAN.png +0 -0
- package/web/currencies/OGN.svg +8 -0
- package/web/currencies/OL.svg +21 -0
- package/web/currencies/OLAS.svg +7 -0
- package/web/currencies/OM.png +0 -0
- package/web/currencies/OMETA.svg +7 -0
- package/web/currencies/OMI.svg +42 -0
- package/web/currencies/OPENLOOT.svg +21 -0
- package/web/currencies/OPN.svg +1 -0
- package/web/currencies/OS.svg +1 -0
- package/web/currencies/OUTb.svg +4 -0
- package/web/currencies/OVR.png +0 -0
- package/web/currencies/PAGE.svg +1 -0
- package/web/currencies/PAL.svg +1 -0
- package/web/currencies/PAPER.svg +4 -0
- package/web/currencies/PENDLE.png +0 -0
- package/web/currencies/PEPE.png +0 -0
- package/web/currencies/PERP.png +0 -0
- package/web/currencies/PHTK.svg +14 -0
- package/web/currencies/PIP.svg +11 -0
- package/web/currencies/POGS.png +0 -0
- package/web/currencies/POOL.svg +22 -0
- package/web/currencies/POP.svg +8 -0
- package/web/currencies/PORK.png +0 -0
- package/web/currencies/PRE.svg +66 -0
- package/web/currencies/PREMIA.svg +4 -0
- package/web/currencies/PRF.png +0 -0
- package/web/currencies/PRO.svg +1 -0
- package/web/currencies/PSP.svg +35 -0
- package/web/currencies/PSTAKE.png +0 -0
- package/web/currencies/PSY.svg +26 -0
- package/web/currencies/RAC.png +0 -0
- package/web/currencies/RAI.svg +1 -0
- package/web/currencies/RAZOR.svg +1 -0
- package/web/currencies/REKT.png +0 -0
- package/web/currencies/RFKJ.png +0 -0
- package/web/currencies/RFWSTETH.svg +36 -0
- package/web/currencies/RGT.png +0 -0
- package/web/currencies/RICE.svg +22 -0
- package/web/currencies/RIZE.svg +21 -0
- package/web/currencies/RPL.svg +1 -0
- package/web/currencies/RSC.svg +6 -0
- package/web/currencies/RSR.png +0 -0
- package/web/currencies/RSS3.png +0 -0
- package/web/currencies/Reach.svg +17 -0
- package/web/currencies/SAIL.png +0 -0
- package/web/currencies/SALD.png +0 -0
- package/web/currencies/SARCO.png +0 -0
- package/web/currencies/SCM.svg +1 -0
- package/web/currencies/SCRY.svg +13 -0
- package/web/currencies/SDL.svg +1 -0
- package/web/currencies/SEAM.svg +5 -0
- package/web/currencies/SEXY.svg +1 -0
- package/web/currencies/SHU.png +0 -0
- package/web/currencies/SIPHER.png +0 -0
- package/web/currencies/SKAI.svg +1 -0
- package/web/currencies/SLN.png +0 -0
- package/web/currencies/SMT.svg +1 -0
- package/web/currencies/SMURFCAT.png +0 -0
- package/web/currencies/SNT.svg +14 -0
- package/web/currencies/SNX.svg +20 -0
- package/web/currencies/SOFI.png +0 -0
- package/web/currencies/SOFT.svg +1 -0
- package/web/currencies/SOVRN.svg +13 -0
- package/web/currencies/SPANK.png +0 -0
- package/web/currencies/SPC.png +0 -0
- package/web/currencies/SPOT.svg +1 -0
- package/web/currencies/SQD.png +0 -0
- package/web/currencies/SQT.svg +14 -0
- package/web/currencies/STNT.svg +38 -0
- package/web/currencies/STPT.png +0 -0
- package/web/currencies/SUDO.svg +6 -0
- package/web/currencies/SUKU.png +0 -0
- package/web/currencies/SUPER.svg +6 -0
- package/web/currencies/SUSHI.svg +19 -0
- package/web/currencies/SYNTH.svg +1 -0
- package/web/currencies/ShibDoge.png +0 -0
- package/web/currencies/Silo.svg +4 -0
- package/web/currencies/StaFi.svg +65 -0
- package/web/currencies/T.svg +4 -0
- package/web/currencies/TEN.svg +1 -0
- package/web/currencies/TETU.svg +6 -0
- package/web/currencies/THALES.png +0 -0
- package/web/currencies/THING.png +0 -0
- package/web/currencies/THX.svg +22 -0
- package/web/currencies/TKAI.svg +1 -0
- package/web/currencies/TKN.png +0 -0
- package/web/currencies/TODL.png +0 -0
- package/web/currencies/TOWER.svg +1 -0
- package/web/currencies/TRAC.png +0 -0
- package/web/currencies/TRB.png +0 -0
- package/web/currencies/TRUE.svg +11 -0
- package/web/currencies/TRX.svg +4 -0
- package/web/currencies/TSC.png +0 -0
- package/web/currencies/TT.png +0 -0
- package/web/currencies/TUSD.png +0 -0
- package/web/currencies/TYBENG.png +0 -0
- package/web/currencies/TheDAO.svg +1 -0
- package/web/currencies/U.png +0 -0
- package/web/currencies/UBI.svg +5 -0
- package/web/currencies/UCASH.svg +1 -0
- package/web/currencies/UDT.svg +4 -0
- package/web/currencies/UMA.png +0 -0
- package/web/currencies/UNI.png +0 -0
- package/web/currencies/USA.png +0 -0
- package/web/currencies/USC.svg +23 -0
- package/web/currencies/USD3.svg +13 -0
- package/web/currencies/USDD.png +0 -0
- package/web/currencies/USDS.png +0 -0
- package/web/currencies/USDbC.png +0 -0
- package/web/currencies/UST.png +0 -0
- package/web/currencies/VALX.png +0 -0
- package/web/currencies/VIDYA.png +0 -0
- package/web/currencies/VITA.svg +10 -0
- package/web/currencies/VSP.svg +15 -0
- package/web/currencies/VUSD.svg +1 -0
- package/web/currencies/WAAC.png +0 -0
- package/web/currencies/WAD.png +0 -0
- package/web/currencies/WALLET.svg +1 -0
- package/web/currencies/WAMPL.svg +53 -0
- package/web/currencies/WBTC.png +0 -0
- package/web/currencies/WCT.svg +5 -0
- package/web/currencies/WEXO.png +0 -0
- package/web/currencies/WLD.jpeg +0 -0
- package/web/currencies/WMC.png +0 -0
- package/web/currencies/WOO.png +0 -0
- package/web/currencies/Wildfire.svg +1 -0
- package/web/currencies/XCHF.png +0 -0
- package/web/currencies/XCN.svg +1 -0
- package/web/currencies/XMT.svg +1 -0
- package/web/currencies/XYO.svg +1 -0
- package/web/currencies/YFI.svg +4 -0
- package/web/currencies/YFX.svg +11 -0
- package/web/currencies/YGG.svg +11 -0
- package/web/currencies/YOKAI.png +0 -0
- package/web/currencies/YYY.svg +1 -0
- package/web/currencies/ZENT.svg +12 -0
- package/web/currencies/ZRX.png +0 -0
- package/web/currencies/ZUN.svg +24 -0
- package/web/currencies/ZUSD.svg +1 -0
- package/web/currencies/ZYN.png +0 -0
- package/web/currencies/aCRV.png +0 -0
- package/web/currencies/btc.png +0 -0
- package/web/currencies/bwAJNA.svg +1 -0
- package/web/currencies/cSTONE.svg +23 -0
- package/web/currencies/cbETH.svg +9 -0
- package/web/currencies/crvUSD.png +0 -0
- package/web/currencies/cvxFXS.png +0 -0
- package/web/currencies/dai.png +0 -0
- package/web/currencies/dollar.png +0 -0
- package/web/currencies/ePendle.png +0 -0
- package/web/currencies/frxETH.png +0 -0
- package/web/currencies/fxUSD.svg +5 -0
- package/web/currencies/iFARM.png +0 -0
- package/web/currencies/iZi.png +0 -0
- package/web/currencies/imgnAI.svg +1 -0
- package/web/currencies/mpETH.svg +4 -0
- package/web/currencies/nETH.svg +11 -0
- package/web/currencies/rETH.svg +1 -0
- package/web/currencies/rgUSD.svg +5 -0
- package/web/currencies/rnETH.svg +11 -0
- package/web/currencies/sDAI.svg +13 -0
- package/web/currencies/sFRAX.png +0 -0
- package/web/currencies/sUSDS.png +0 -0
- package/web/currencies/scWETHv2.svg +1 -0
- package/web/currencies/send.svg +12 -0
- package/web/currencies/stETH.png +1 -0
- package/web/currencies/stZENT.svg +12 -0
- package/web/currencies/stkLYRA.svg +26 -0
- package/web/currencies/tGS.png +0 -0
- package/web/currencies/tSTAR.png +0 -0
- package/web/currencies/usdc.png +0 -0
- package/web/currencies/usdt.png +0 -0
- package/web/currencies/veKWENTA.svg +24 -0
- package/web/currencies/wHOGE.svg +14 -0
- package/web/currencies/wOpenX.svg +140 -0
- package/web/currencies/wPOKT.svg +17 -0
- package/web/currencies/wTBT.svg +1 -0
- package/web/currencies/weETH.svg +23 -0
- package/web/currencies/wstETH.svg +11 -0
- package/web/currencies/yETH.svg +8 -0
- package/web/currencies/zunETH.svg +46 -0
- package/web/currencies/zunUSD.svg +33 -0
- package/web/fonts/noto-sans-sc-chinese-simplified-500-normal.ttf +0 -0
- package/web/index.html +72 -0
- package/web/methods/arcblock.png +0 -0
- package/web/methods/base.png +0 -0
- package/web/methods/binance.png +0 -0
- package/web/methods/coinbase.png +0 -0
- package/web/methods/default.png +0 -0
- package/web/methods/ethereum.jpg +0 -0
- package/web/methods/ethereum.png +0 -0
- package/web/methods/stripe.png +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{r as p,j as t,u as We,B as b,ah as ce,p as An,a7 as Ge,a3 as D,N as Ce,bO as Jt,q as g,a1 as Ne,aV as Dn,i as mt,Q as Mn,bn as en,I as Ve,bo as zn,a2 as tn,bp as nn,aY as Nn,w as ft,bP as rn,x as Ee,bQ as Fn,L as sn,bj as $n,bR as xt,bS as Wn,bT as Pt,be as On,aZ as ht,o as on,A as Un,bs as Ln,bt as qn,bU as Bn,bV as Hn,aT as nt,ad as rt,b4 as Tt,Y as lt,O as Vn,bW as At,M as Qn,bX as Dt,F as Kn,bC as Gn}from"./vendor-mui-BXZut9Pz.js";import{a2 as L,aM as Yn,y as Xn,S as Zn,F as z,G as Te,K as Xe,aa as gt,Y as Fe,V as be,O as ut,U as Jn,E as an}from"./vendor-blocklet-D_i_QeSo.js";import{ae as ee,af as X,ag as er,ah as tr,ai as nr,aj as rr,ak as ir,al as _e,am as Ie,an as yt,ao as sr,ap as or,d as Ze,aq as Ye,ar as He,as as Ae,at as $e,au as cn,av as xe,aw as ar,ax as ln,a as un,e as dt,ay as Be,i as cr,a8 as Re,a3 as lr,ad as ur,R as dr,az as pr,aA as dn,aa as mr,aB as fr,aC as xr,aD as hr,U as gr,O as yr,l as pn,a0 as br,aE as _r,I as Mt,aF as Sr,aG as mn,aH as zt,aI as vr}from"./index-DgSc1Qy8.js";import{b as wr}from"./vendor-react-BPknnnEA.js";function je(e){const n=e;return n?.response?.data?.error?n.response.data.error:e instanceof Error?e.message:typeof e=="string"?e:n?.message||"Unknown error"}function pt(e){const n=e,r=n?.response?.data;return{message:r?.error||n?.message||"Unknown error",code:r?.code,data:r,isCancelled:n?.name==="CanceledError"||n?.name==="AbortError"}}function kr(e){const n=e.line_items||[];if(n.length===0)return null;const r=n[0],i=r.upsell_price||r.price,s=i?.product;if(!s)return null;const o=i?.recurring,a=e.mode==="subscription"?"subscription":"payment",c={day:"daily",week:"weekly",month:"monthly",year:"yearly"};return{name:s.name||"",description:s.description||"",images:s.images||[],features:(s.features||[]).map(l=>({name:l.name||"",icon:l.icon})),billing:{mode:a,interval:o?.interval||null,intervalCount:o?.interval_count||1,displayInterval:o?c[o.interval]||o.interval:""},metadata:s.metadata||{}}}function jr(e){const n=e.subscription_data;return!n&&e.mode==="payment"?null:{mode:e.mode||"payment",showStake:!n?.no_stake,confirmMessage:""}}function Cr(e){const n=e.metadata,r=n?.page_info,i=n?.show_product_features??r?.show_product_features;return{formPurposeDescription:r?.form_purpose_description,showProductFeatures:`${i}`=="true"}}function Ir(e){const[n,r]=p.useState(!0),[i,s]=p.useState(null),[o,a]=p.useState(null),c=p.useRef(null),l=p.useRef(!0),u=p.useRef(null),m=e?.startsWith("plink_"),d=L(async()=>{if(!m)return e;if(u.current)return u.current;const{data:w}=await ee.post(X.START_PAYMENT_LINK(e)),C=w?.checkoutSession?.id;if(!C)throw new Error("Failed to start payment link session");return u.current=C,C}),f=L(async(w=!1)=>{if(c.current&&c.current.abort(),c.current=new AbortController,!e){r(!1),s("Session ID is required");return}try{w||r(!0),s(null);const C=await d(),E=w?`${X.RETRIEVE_SESSION(C)}?forceRefresh=1`:X.RETRIEVE_SESSION(C),{data:y}=await ee.get(E,{signal:c.current.signal});if(!l.current)return;const I=y?.checkoutSession;if(I){if(I.status!=="complete"&&I.expires_at&&I.expires_at<=Math.round(Date.now()/1e3)){s("SESSION_EXPIRED"),r(!1);return}if(!I.line_items?.length){s("EMPTY_LINE_ITEMS"),r(!1);return}}if(y?.stopAcceptingOrders&&I?.status!=="complete"){s("STOP_ACCEPTING_ORDERS"),r(!1);return}a(y),r(!1)}catch(C){if(!l.current)return;const{isCancelled:E,message:y}=pt(C);if(E)return;s(y||"Failed to load checkout session"),r(!1)}}),_=p.useCallback(async(w=!1)=>{await f(w)},[f]);p.useEffect(()=>(l.current=!0,f(),()=>{l.current=!1,c.current&&c.current.abort()}),[e]);const h=o?.checkoutSession,x=u.current||(m?"":e);let k=null;i==="SESSION_EXPIRED"?k="SESSION_EXPIRED":i==="EMPTY_LINE_ITEMS"?k="EMPTY_LINE_ITEMS":i==="STOP_ACCEPTING_ORDERS"&&(k="STOP_ACCEPTING_ORDERS");const F=h?.line_items?.reduce((w,C)=>w+(C?.price?.product?.vendor_config?.length||0),0)||0;return{isLoading:n,error:i,errorCode:k,refresh:_,setSessionData:a,sessionData:o,resolvedSessionId:x,vendorCount:F,product:h?kr(h):null,subscription:h?jr(h):null,pageInfo:h?Cr(h):null}}function Er(e){const n=[];return e.forEach(r=>{(r.payment_currencies||[]).forEach(s=>{const o={...s,method:{id:r.id,name:r.name,type:r.type}};n.push(o)})}),n}function Rr(e){return(e?.connectedAccounts||e?.extraConfigs?.connectedAccounts||[]).some(r=>r.provider==="wallet")}const Nt="payment-currency-preference";function fn(e){return e?`${Nt}:${e}`:Nt}function Ft(e,n){const r=new Set(n.flatMap(s=>(s.payment_currencies||[]).map(o=>o.id)).filter(Boolean)),i=s=>!!s&&r.has(s);if(e?.discounts?.length&&i(e.currency_id))return e.currency_id;if(typeof window<"u"){try{const o=new URLSearchParams(window.location.search),a=o.get("currencyId")||o.get("currency_id");if(i(a))return a}catch{}const s=e?.user;if(s&&!Rr(s)){const a=n.find(c=>c.type==="stripe")?.payment_currencies?.[0];if(i(a?.id))return a?.id}try{const o=e?.user?.did,a=localStorage.getItem(fn(o));if(i(a))return a}catch{}}return i(e?.currency_id)?e?.currency_id:n[0]?.payment_currencies?.[0]?.id||null}function $t(e,n){if(!n)return{method:null,currency:null};for(const i of e)for(const s of i.payment_currencies||[])if(s.id===n)return{method:i,currency:s};const r=e[0];return{method:r||null,currency:r?.payment_currencies?.[0]||null}}function Pr(e,n){const r=new Map;return e.forEach(i=>{const s=i.type==="stripe"?"stripe":"crypto";r.has(s)||r.set(s,{currencies:[],active:!1});const o=r.get(s),a=(i.payment_currencies||[]).map(c=>({...c,method:{id:i.id,name:i.name,type:i.type}}));o.currencies.push(...a),i===n&&(o.active=!0)}),Array.from(r.entries()).map(([i,s])=>({type:i,label:i==="stripe"?"Card":"Crypto",currencies:s.currencies,active:s.active}))}function Tr(e,n,r,i){const s=p.useMemo(()=>e?.paymentMethods||[],[e?.paymentMethods]),o=e?.checkoutSession,[a,c]=p.useState(()=>Ft(o,s)),[l,u]=p.useState(!1),m=p.useRef(null);p.useEffect(()=>{o&&!a&&c(Ft(o,s))},[o?.id]);const{method:d,currency:f}=p.useMemo(()=>$t(s,a),[s,a]),_=p.useMemo(()=>Er(s),[s]),h=d?.type==="stripe",x=d?.type!=="stripe"&&d?.type!==void 0,k=f?.type==="credit",F=p.useMemo(()=>Pr(s,d),[s,d]),w=L(async y=>{const I=s.find($=>y==="stripe"?$.type==="stripe":$.type!=="stripe");if(!I)return;const N=I.payment_currencies?.[0];N&&await C(N.id)}),C=L(async y=>{if(o?.status==="complete")return;const{method:I}=$t(s,y);if(!(!I||!n)){u(!0);try{const{data:N}=await ee.put(X.SWITCH_CURRENCY(n),{currency_id:y,payment_method_id:I.id});c(y);try{localStorage.setItem(fn(o?.user?.did),y)}catch{}e&&i?i({...e,checkoutSession:N,quotes:void 0}):await r(!0)}catch(N){console.error("Failed to switch currency:",je(N)),o?.currency_id&&c(o.currency_id)}finally{u(!1)}}});p.useEffect(()=>{if(!o?.id||!a||!s.length||m.current===o.id)return;m.current=o.id;const y=o.currency_id;o.status!=="complete"&&y&&y!==a&&C(a)},[o?.id,a,s.length]);const E=p.useMemo(()=>!d||d.type!=="stripe"?null:{publishableKey:d.settings?.stripe?.publishable_key||null,clientSecret:e?.paymentIntent?.client_secret||null,status:"idle"},[d,e?.paymentIntent]);return{current:d,currency:f,available:s,currencies:_,isStripe:h,isCrypto:x,isCredit:k,switching:l,setType:w,types:F,setCurrency:C,stripe:E}}const ve=/^\d{4}$/,we=/^\d{5}$/,Me=/^\d{6}$/,Ar={GB:/^GIR[ ]?0AA|((AB|AL|B|BA|BB|BD|BH|BL|BN|BR|BS|BT|CA|CB|CF|CH|CM|CO|CR|CT|CV|CW|DA|DD|DE|DG|DH|DL|DN|DT|DY|E|EC|EH|EN|EX|FK|FY|G|GL|GY|GU|HA|HD|HG|HP|HR|HS|HU|HX|IG|IM|IP|IV|JE|KA|KT|KW|KY|L|LA|LD|LE|LL|LN|LS|LU|M|ME|MK|ML|N|NE|NG|NN|NP|NR|NW|OL|OX|PA|PE|PH|PL|PO|PR|RG|RH|RM|S|SA|SE|SG|SK|SL|SM|SN|SO|SP|SR|SS|ST|SW|SY|TA|TD|TF|TN|TQ|TR|TS|TW|UB|W|WA|WC|WD|WF|WN|WR|WS|WV|YO|ZE)(\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}))|BFPO[ ]?\d{1,4}$/i,JE:/^JE\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}$/i,GG:/^GY\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}$/i,IM:/^IM\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}$/i,US:/^\d{5}([ -]\d{4})?$/,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][ ]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,DE:we,JP:/^\d{3}-?\d{4}$/,FR:/^\d{2}[ ]?\d{3}$/,AU:ve,IT:we,CH:ve,AT:ve,ES:we,NL:/^\d{4}[ ]?[A-Z]{2}$/i,BE:ve,DK:ve,SE:/^\d{3}[ ]?\d{2}$/,NO:ve,BR:/^\d{5}-?\d{3}$/,PT:/^\d{4}(-\d{3})?$/,FI:we,KR:we,CN:Me,TW:/^\d{3}(\d{2})?$/,SG:Me,IN:/^[1-9]\d{5}$/,RU:Me,PL:/^\d{2}-\d{3}$/,CZ:/^\d{3}[ ]?\d{2}$/,HU:ve,RO:Me,BG:ve,HR:we,SK:/^\d{3}[ ]?\d{2}$/,SI:ve,TR:we,IL:we,ZA:ve,MX:we,AR:/^([A-HJ-NP-Z])?\d{4}([A-Z]{3})?$/i,CL:/^\d{7}$/,CO:Me,NZ:ve,MY:we,TH:we,PH:ve,ID:we,VN:Me};function Dr(e,n){if(!e)return!0;try{const r=n?.toUpperCase();if(!r)return!1;const i=Ar[r];return!i||i.test(e)}catch{return!1}}function Pe(e,n,r="en"){if(!n||!n[e])return{};const i=n[e],s={};return i.pattern&&(s.pattern={value:new RegExp(i.pattern),message:i.pattern_message?.[r]||"Invalid format"}),s}let it=null;async function Mr(){if(!it){const e=await Xn(()=>import("./libphonenumber-CyphiuxQ.js").then(r=>r.l),[]),n=(e.default||e)?.PhoneNumberUtil;if(!n)throw new Error("PhoneNumberUtil not found");it=n.getInstance()}return it}const zr=/^[+]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$/im;async function Nr(e){if(!e||e.trim()==="")return!1;try{const n=await Mr(),r=n.parseAndKeepRawInput(e);return n.isValidNumber(r)}catch{return zr.test(e)}}function Fr(e){return!e||e.trim()===""?!1:Yn(e)}async function st(e,n){const r={},{phoneEnabled:i,addressMode:s,fieldValidation:o,locale:a="en"}=n;if(!e)return{valid:!1,errors:{customer_name:"Required"}};const c=e.customer_name;if(!c||c.trim()==="")r.customer_name="Required";else{const x=Pe("customer_name",o,a);x.pattern&&!x.pattern.value.test(c)&&(r.customer_name=x.pattern.message)}const l=e.customer_email;if(!l||!Fr(l))r.customer_email=l?"Invalid email":"Required";else{const x=Pe("customer_email",o,a);x.pattern&&!x.pattern.value.test(l)&&(r.customer_email=x.pattern.message)}if(i){const x=e.customer_phone;if(!x||x.trim()==="")r.customer_phone="Required";else if(!await Nr(x))r.customer_phone="Invalid phone number";else{const k=Pe("customer_phone",o,a);k.pattern&&!k.pattern.value.test(x)&&(r.customer_phone=k.pattern.message)}}const u=e.billing_address,m=u?.postal_code,d=u?.country,f=u?.state,_=u?.line1,h=u?.city;if(!m)r["billing_address.postal_code"]="Required";else if(!Dr(m,d))r["billing_address.postal_code"]="Invalid postal code";else{const x=Pe("billing_address.postal_code",o,a);x.pattern&&!x.pattern.value.test(m)&&(r["billing_address.postal_code"]=x.pattern.message)}if(!f)r["billing_address.state"]="Required";else{const x=Pe("billing_address.state",o,a);x.pattern&&!x.pattern.value.test(f)&&(r["billing_address.state"]=x.pattern.message)}if(s==="required"){if(d||(r["billing_address.country"]="Required"),!_)r["billing_address.line1"]="Required";else{const x=Pe("billing_address.line1",o,a);x.pattern&&!x.pattern.value.test(_)&&(r["billing_address.line1"]=x.pattern.message)}if(!h)r["billing_address.city"]="Required";else{const x=Pe("billing_address.city",o,a);x.pattern&&!x.pattern.value.test(h)&&(r["billing_address.city"]=x.pattern.message)}}return{valid:Object.keys(r).length===0,errors:r}}function $r(e){const n=[];n.push({name:"customer_name",type:"text",required:!0}),n.push({name:"customer_email",type:"email",required:!0}),e?.phone_number_collection?.enabled&&n.push({name:"customer_phone",type:"phone",required:!0});const r=e?.billing_address_collection;return r==="required"?n.push({name:"billing_address.country",type:"country",required:!0,group:"address"},{name:"billing_address.line1",type:"text",required:!0,group:"address"},{name:"billing_address.city",type:"text",required:!0,group:"address"},{name:"billing_address.state",type:"text",required:!0,group:"address"},{name:"billing_address.postal_code",type:"text",required:!0,group:"address"}):r==="auto"&&n.push({name:"billing_address.state",type:"text",required:!1,group:"address"},{name:"billing_address.postal_code",type:"text",required:!1,group:"address"}),n}function Wt(e,n){return{customer_name:n?.name||"",customer_email:e?.customer_details?.email||n?.email||"",customer_phone:n?.phone||"",payment_method:"",payment_currency:e?.currency_id||"",billing_address:{country:n?.address?.country||"us",state:n?.address?.state||"",city:n?.address?.city||"",line1:n?.address?.line1||"",line2:n?.address?.line2||"",postal_code:n?.address?.postal_code||""}}}function xn(e,n,r){const i=n.split(".");if(i.length===1)return{...e,[n]:r};const[s,...o]=i;return{...e,[s]:xn(e[s]||{},o.join("."),r)}}function Wr(e,n,r){const i=e?.checkoutSession,s=e?.customer,o=p.useMemo(()=>$r(i),[i?.id]),[a,c]=p.useState(()=>Wt(i,s)),[l,u]=p.useState({}),[m,d]=p.useState({}),[f,_]=p.useState(!1);p.useEffect(()=>{i&&!f&&c(Wt(i,s))},[i?.id]),p.useEffect(()=>{(n||r)&&c(E=>({...E,...n&&{payment_currency:n},...r&&{payment_method:r}}))},[n,r]),p.useEffect(()=>{if(!i||f||i.status==="complete")return;(async()=>{try{const{data:y}=await ee.get(`${X.CUSTOMER_ME}?fallback=1&skipSummary=1`);y&&(_(!0),c(I=>({...I,customer_name:I.customer_name||y.name||"",customer_email:I.customer_email||y.email||"",customer_phone:I.customer_phone||y.phone||"",billing_address:{...I.billing_address,country:I.billing_address?.country||y.address?.country||"",state:I.billing_address?.state||y.address?.state||"",city:I.billing_address?.city||y.address?.city||"",line1:I.billing_address?.line1||y.address?.line1||"",line2:I.billing_address?.line2||y.address?.line2||"",postal_code:I.billing_address?.postal_code||y.address?.postal_code||""}})))}catch{}})()},[i?.id]);const h=L((E,y)=>{c(I=>xn(I,E,y)),d(I=>({...I,[E]:!0}))}),x=L(()=>({phoneEnabled:!!i?.phone_number_collection?.enabled,addressMode:i?.billing_address_collection,fieldValidation:i?.metadata?.page_info?.field_validation})),k=L(async()=>{const E=await st(a,x());return u(E.errors),E.valid}),F=L(async()=>(await st(a,x())).valid),w=L(async E=>{const y=await st(a,x());u(I=>{const N={...I};return y.errors[E]?N[E]=y.errors[E]:delete N[E],N})}),C=L(async()=>{try{const{data:E}=await ee.get(`${X.CUSTOMER_ME}?fallback=1&skipSummary=1`);E&&(_(!0),c(y=>({...y,customer_name:E.name||y.customer_name||"",customer_email:E.email||y.customer_email||"",customer_phone:E.phone||y.customer_phone||"",billing_address:{...y.billing_address,country:E.address?.country||y.billing_address?.country||"",state:E.address?.state||y.billing_address?.state||"",city:E.address?.city||y.billing_address?.city||"",line1:E.address?.line1||y.billing_address?.line1||"",line2:E.address?.line2||y.billing_address?.line2||"",postal_code:E.address?.postal_code||y.billing_address?.postal_code||""}})))}catch{}});return{fields:o,values:a,onChange:h,errors:l,touched:m,validate:k,checkValid:F,validateField:w,prefetched:f,refetchCustomer:C}}const Or=300*1e3;function Ur(e){return e<5e3?500:e<3e4?1500:3e3}const Lr=e=>new Promise(n=>setTimeout(n,e));async function qr(e){const n=Date.now();for(;;){const{data:i}=await ee.get(X.STATUS_SESSION(e));if(i.paymentIntent&&i.paymentIntent.status==="requires_action"&&i.paymentIntent.last_payment_error)throw new Error(i.paymentIntent.last_payment_error.message);if(i.checkoutSession?.status==="complete"&&["paid","no_payment_required"].includes(i.checkoutSession?.payment_status))break;const o=Date.now()-n;if(o>=Or)throw new Error("waitForCheckoutComplete: timed out");await Lr(Ur(o))}const{data:r}=await ee.get(X.RETRIEVE_SESSION(e));return r}function hn(e,n){return`${e}-${n}-${Date.now()}-${Math.random().toString(36).substring(2,10)}`}const Br=["QUOTE_LOCK_EXPIRED","QUOTE_AMOUNT_MISMATCH","QUOTE_EXPIRED_OR_USED","QUOTE_NOT_FOUND","QUOTE_REQUIRED","QUOTE_MAX_PAYABLE_EXCEEDED","quote_validation_failed"],Hr="/.well-known/service/relay";function gn(){const e=window.blocklet;return e?.appPid||e?.appId||""}function Ot(e){return`relay:${gn()}:${e}`}function Vr(){return window.location.protocol==="https:"?"wss:":"ws:"}function Qr(){return new URL(window.location.href).host}function Kr(e,n){if(!e)return"";const i=(e.line_items||[]).map(s=>`${s.upsell_price_id||s.price_id}:${s.quantity}`).join("|");return`${e.id}-${n}-${i}`}function Ut(e,n,r,i,s=!1,o){const l=(i?.line_items||[]).find(u=>u.exchange_rate)?.exchange_rate;return{...r,idempotency_key:o||hn(e,n||""),preview_rate:l||void 0,...s&&{price_confirmed:!0}}}function Lt(e){return Br.includes(e)||e==="QUOTE_UPDATED"}async function Gr(e){try{await ee.post(X.ABORT_STRIPE(e))}catch{}}async function qt(e,n,r){const i=n?X.DONATE_SUBMIT(e):X.SUBMIT(e),{data:s}=await ee.put(i,r);return s}async function ot(e){const{data:n}=await ee.post(X.FAST_CHECKOUT_CONFIRM(e),{});return n}async function Yr(e){const{data:n}=await ee.post(X.SKIP_PAYMENT_METHOD(e),{});return n}async function Xr(e,n){const{data:r}=await ee.put(X.SLIPPAGE(e),{slippage_config:n});return r}function Zr(e,n,r,i,s,o,a,c,l,u){const m=e?.checkoutSession,[d,f]=p.useState("idle"),[_,h]=p.useState(null),[x,k]=p.useState(null),[F,w]=p.useState(!1),C=L(()=>w(!0)),E=L(()=>w(!1)),y=p.useRef(!0),I=p.useRef(!1),N=p.useRef(null),$=p.useRef(null),R=p.useRef(null),[B,H]=p.useState(null),G=p.useRef(null),V=p.useRef(0),Q=2,te=p.useRef(""),O=p.useRef(""),oe=p.useRef(!1);p.useEffect(()=>{if(oe.current||!m||!e)return;m.status==="complete"&&["paid","no_payment_required"].includes(m.payment_status)&&d==="idle"&&(oe.current=!0,k(e),f("completed"))},[m,e]),p.useEffect(()=>{if(y.current=!0,!n||!gn())return;const v=new Zn(`${Vr()}//${Qr()}${Hr}`,{longpollerTimeout:5e3,heartbeatIntervalMs:30*1e3});v.connect(),N.current=v;const T=v.subscribe(Ot("events"));return T.channel="events",$.current=T,()=>{y.current=!1,I.current=!0,$.current&&(v.unsubscribe(Ot($.current.channel)),$.current=null),v.disconnect(),N.current=null}},[n]);const Y=L(async({response:v})=>{v.id===n&&d!=="completed"&&(I.current=!0,await W())});p.useEffect(()=>{const v=$.current;return v&&v.on("checkout.session.completed",Y),()=>{if(v)try{v.off?.("checkout.session.completed",Y)}catch{}}},[$.current,d]);const W=L(async()=>{try{const v=await qr(n);if(!y.current)return;k(v),u?.(v),f("completed"),h(null)}catch(v){if(!y.current)return;f("failed"),h({type:"error",message:je(v)||"Payment verification failed"})}});p.useEffect(()=>{if(d!=="completed"||!n||!m?.line_items?.some(re=>!!re?.price?.product?.vendor_config?.length))return;const T=Date.now(),q=async()=>{try{const{data:re}=await ee.get(X.VENDOR_ORDER_STATUS(n));if(!y.current)return;const Z=Array.isArray(re?.vendors)?re.vendors:[],ge=Date.now()-T>6e3,ke=Z.every(M=>M.progress>=100),S=Z.some(M=>M.status==="failed"||ge&&!!M.error&&!!M.error_message);if(H({...re,vendors:Z,isAllCompleted:!S&&ke,hasFailed:S}),S||ke)return;G.current=setTimeout(q,5e3)}catch{}};return q(),()=>{G.current&&clearTimeout(G.current)}},[d,n]);const se=L(async(v,T)=>{try{if(await l(!0),!y.current)return}catch{}if(v==="QUOTE_UPDATED"&&T?.checkoutSession){V.current=0,f("failed"),h({type:"error",message:"Price updated, please resubmit",code:v});return}if(["QUOTE_LOCK_EXPIRED","QUOTE_EXPIRED_OR_USED","QUOTE_NOT_FOUND","QUOTE_REQUIRED"].includes(v)&&V.current<Q){V.current+=1,f("idle"),h(null),await U(!0);return}V.current=0,f("failed"),h({type:"error",message:"Price updated, please resubmit",code:v})}),J=L(async v=>{if(i){const Z=v.stripeContext;if(Z?.status==="succeeded"){await W();return}const ge=v.paymentIntent,ke=Z?.client_secret||ge?.client_secret;if(ke){const S=Z?.intent_type||"payment_intent";f("waiting_stripe"),h({type:"stripe",clientSecret:ke,intentType:S,noPaymentRequired:!!v.noPaymentRequired});return}if(v.noPaymentRequired)try{const S=await ot(n),M=S.checkoutSession;if(S.fastPaid||M?.status==="complete"){await W();return}}catch{}await W();return}if(v.noPaymentRequired){try{const Z=await ot(n),ge=Z.checkoutSession;Z.fastPaid||ge?.status==="complete"?await W():(f("waiting_did"),h({type:"did_connect",action:m?.mode||"payment",checkpointId:n,extraParams:{checkoutSessionId:n,sessionUserDid:m?.user?.did}}))}catch{if(!y.current)return;f("waiting_did"),h({type:"did_connect",action:m?.mode||"payment",checkpointId:n,extraParams:{checkoutSessionId:n,sessionUserDid:m?.user?.did}})}return}const T=v.fastPayInfo,q=v.balance,re=v.delegation;if(s){if(v.creditSufficient===!0&&T){f("confirming_fast_pay"),h({type:"fast_pay",payType:"credit",amount:T.amount||"0",payer:T.payer||""});return}f("credit_insufficient"),h({type:"credit_insufficient",available:"0",required:"0"});return}if((q?.sufficient||re?.sufficient)&&!o&&T){f("confirming_fast_pay"),h({type:"fast_pay",payType:T.type||"balance",amount:T.amount||"",payer:T.payer||""});return}f("waiting_did"),h({type:"did_connect",action:m?.mode||"payment",checkpointId:n,extraParams:{checkoutSessionId:n,sessionUserDid:m?.user?.did}})}),ne=L(async v=>{const{code:T,data:q,message:re}=pt(v);if(T&&Lt(T)){await se(T,q);return}if(T==="RATE_BELOW_SLIPPAGE_LIMIT"){try{await l(!0)}catch{}if(!y.current)return;te.current="",O.current="",f("failed"),h({type:"error",message:q?.error||"Exchange rate below acceptable limit, please retry",code:T});return}if(T==="RATE_UNAVAILABLE"){try{await l(!0)}catch{}if(!y.current)return;f("failed"),h({type:"error",message:q?.rateError||"Exchange rate unavailable",code:T});return}if(T==="PRICE_CHANGED"){f("confirming_price"),h({type:"price_change",changePercent:q?.change_percent||0});return}if(T==="PRICE_UNAVAILABLE"||T==="PRICE_UNSTABLE"){try{await l(!0)}catch{}if(!y.current)return;f("failed"),h({type:"error",message:q?.error||"Price unavailable, please retry",code:T});return}if(T==="STOP_ACCEPTING_ORDERS"){f("service_suspended"),h({type:"service_suspended"});return}if(T==="UNIFIED_APP_REQUIRED"||T==="CUSTOMER_LIMITED"){f("failed"),h({type:"error",message:q?.error||re||"Cannot complete payment",code:T});return}const Z=q?.error||re||"Payment failed";f("failed"),h({type:"error",message:Z,code:T})}),U=L(async(v=!1)=>{if(!v&&d!=="idle")return;if(v||(V.current=0),!await c()){f("failed"),h({type:"error",message:"Please complete the required fields",code:"VALIDATION_FAILED"});return}if(!m?.user?.sourceAppPid&&m?.line_items?.some(ge=>!!ge?.price?.product?.vendor_config?.length)){f("failed"),h({type:"error",message:"Vendor account required",code:"VENDOR_ACCOUNT_REQUIRED"});return}f("submitting"),h(null),k(null),I.current=!1;const q=Kr(m,r);(q!==O.current||!te.current)&&(O.current=q,te.current=hn(n,r||""));const re=Ut(n,r,a,m,!1,te.current);R.current=re;try{const Z=await qt(n,o,re);if(!y.current)return;await J(Z)}catch(Z){if(!y.current)return;await ne(Z)}}),pe=L(async()=>{if(d==="confirming_fast_pay"){f("submitting");try{const v=await ot(n);if(!y.current)return;v.fastPaid?await W():(f("waiting_did"),h({type:"did_connect",action:m?.mode||"payment",checkpointId:n,extraParams:{checkoutSessionId:n,sessionUserDid:m?.user?.did}}))}catch(v){if(!y.current)return;const{code:T,data:q,message:re}=pt(v);if(T&&Lt(T)){await se(T,q);return}if(T==="RATE_UNAVAILABLE"){try{await l(!0)}catch{}if(!y.current)return;f("failed"),h({type:"error",message:q?.rateError||"Exchange rate unavailable",code:T});return}f("failed"),h({type:"error",message:q?.error||re||"Fast pay confirmation failed",code:T})}return}if(d==="confirming_price"){f("submitting"),h(null),I.current=!1;const v=Ut(n,r,a,m,!0,te.current);R.current=v;try{const T=await qt(n,o,v);if(!y.current)return;await J(T)}catch(T){if(!y.current)return;await ne(T)}}}),he=L(()=>{(d==="confirming_price"||d==="confirming_fast_pay"||d==="credit_insufficient"||d==="service_suspended")&&(f("idle"),h(null),E())}),le=L(async()=>{d==="failed"&&(f("idle"),h(null),k(null),await U(!0))}),P=L(()=>{I.current=!0,f("idle"),h(null),k(null),E()}),fe=L(async()=>{d==="waiting_stripe"&&(f("submitting"),h(null),await W())}),me=L(async()=>{d==="waiting_stripe"&&(await Gr(n),f("idle"),h(null))}),j=L(async()=>{if(d==="waiting_stripe")try{f("submitting");const v=await Yr(n);if(!y.current)return;v.skipped||v.checkoutSession?.status==="complete"?await W():(f("failed"),h({type:"error",message:"Failed to skip payment method",code:"SKIP_FAILED"}))}catch(v){if(!y.current)return;f("failed"),h({type:"error",message:v.message||"Failed to skip payment method",code:"SKIP_FAILED"})}}),K=L(async()=>{d==="submitting"||d==="completed"||(I.current=!1,f("submitting"),h(null),await W())});return{status:d,context:_,execute:U,confirm:pe,cancel:he,result:x,retry:le,reset:P,stripeConfirm:fe,stripeCancel:me,stripeSkip:j,didConnectComplete:K,vendorStatus:B,locked:F,lock:C}}const Jr=3e4;function ei(e){return e.some(n=>(n.upsell_price||n.price)?.pricing_type==="dynamic")}async function ti(e,n){const{data:r}=await ee.get(X.EXCHANGE_RATE(e),{params:n?{currency_id:n}:void 0}),i=r.rate||r.exchange_rate;if(i){const s=r.provider_display||r.provider_name||r.provider_id||null;return{rate:i,provider:r.provider_name||r.rate_provider_name||null,providerDisplay:s,fetchedAt:r.fetched_at||r.timestamp_ms||null}}return{rate:null,provider:null,providerDisplay:null,fetchedAt:null}}function ni(e){const n=e?.discounts||[];if(n.length===0)return null;const r=n[0],i=r.promotion_code_details,s=r.verification_data;return i?.code||s?.code||r.promotion_code||r.coupon||null}async function ri(e,n,r){try{const{data:i}=await ee.post(X.APPLY_PROMOTION(e),{promotion_code:n,currency_id:r});return i.error?{success:!1,error:i.error}:{success:!0}}catch(i){return{success:!1,error:je(i)||"Invalid promotion code"}}}async function ii(e){await ee.delete(X.REMOVE_PROMOTION(e))}async function si(e,n){const{data:r}=await ee.post(X.RECALCULATE_PROMOTION_SESSION(e),{currency_id:n});return r}function oi(e){return e?.allow_promotion_codes!==!1}function Je(e){return(e?.discounts||[]).length>0}async function De(e,n,r){if(!Je(e))return null;try{return await si(n,r)}catch{return null}}async function Bt(e,n,r,i,s,o,a,c){const{data:l}=await ee.put(X.ADJUST_QUANTITY(e),{itemId:n,quantity:r,currency_id:i});let u=l;if(l.discounts?.length||Je(s)){const m=await De(s,e,i);m&&(u=m)}a&&c?c({...a,checkoutSession:u,quotes:void 0}):await o(!0)}async function yn(e,n,r,i,s,o,a,c){if((i?.line_items?.length||0)>1)try{await ee.delete(X.CROSS_SELL(e))}catch{}const{data:l}=await ee.put(X.UPSELL(e),{from:n,to:r});let u=l;if(l.discounts?.length||Je(i)){const m=await De(i,e,s);m&&(u=m)}a&&c?c({...a,checkoutSession:u,quotes:void 0}):await o(!0)}async function bn(e,n,r,i,s,o,a){if((r?.line_items?.length||0)>1)try{await ee.delete(X.CROSS_SELL(e))}catch{}const{data:c}=await ee.put(X.DOWNSELL(e),{from:n});let l=c;if(c.discounts?.length||Je(r)){const u=await De(r,e,i);u&&(l=u)}o&&a?a({...o,checkoutSession:l,quotes:void 0}):await s(!0)}async function ai(e,n,r,i,s,o,a,c){const{data:l}=await ee.put(X.CHANGE_AMOUNT(e),{priceId:n,amount:r});let u=l;if(l?.discounts?.length){const m=await De(i,e,s);m&&(u=m)}a&&c?c({...a,checkoutSession:u,quotes:void 0}):await o(!0)}function ci(e){for(const n of e){const r=n.price?.cross_sell;if(r?.cross_sells_to)return r.cross_sells_to}return null}function li({sessionId:e,children:n}){const{isLoading:r,error:i,errorCode:s,refresh:o,setSessionData:a,sessionData:c,resolvedSessionId:l,vendorCount:u,product:m,subscription:d,pageInfo:f}=Ir(e),_=c?.checkoutSession,h=l||e,x=p.useMemo(()=>_?.line_items||[],[_?.line_items]),k=_?.submit_type==="donate",F=p.useMemo(()=>({sessionData:c,setSessionData:a,sessionId:e,effectiveSessionId:h,isLoading:r,error:i,errorCode:s,refresh:o,items:x,session:_||null,isDonation:k,vendorCount:u,product:m,subscription:d,pageInfo:f}),[c,a,e,h,r,i,s,o,x,_,k,u,m,d,f]),w=Tr(c,h,o,a),C=p.useRef(null);p.useEffect(()=>{const U=w.currency?.id||null;!U||!_||_.status==="complete"||(C.current===null||U!==C.current)&&(C.current=U,De(_,h,U).then(pe=>{pe&&o(!0)}))},[w.currency?.id,_?.id]);const E=p.useMemo(()=>({current:w.current,currency:w.currency,available:w.available,currencies:w.currencies,isStripe:w.isStripe,isCrypto:w.isCrypto,isCredit:w.isCredit,switching:w.switching,setType:w.setType,types:w.types,setCurrency:w.setCurrency,stripe:w.stripe}),[w.current,w.currency,w.available,w.currencies,w.isStripe,w.isCrypto,w.isCredit,w.switching,w.setType,w.types,w.setCurrency,w.stripe]),[y,I]=p.useState(null),[N,$]=p.useState(null),[R,B]=p.useState(null),[H,G]=p.useState(null),[V,Q]=p.useState("loading"),te=p.useRef(null),O=p.useRef(!1),oe=p.useRef(!0),Y=p.useMemo(()=>ei(x),[x]),W=L(async()=>{if(!h||!Y||w.isStripe||w.switching){Q(Y?"unavailable":"available"),w.isStripe&&(I(null),$(null),B(null),G(null));return}if(!O.current){O.current=!0;try{Q("loading");const U=await ti(h,w.currency?.id);if(!oe.current)return;U.rate?(I(U.rate),$(U.provider),B(U.providerDisplay),G(U.fetchedAt),Q("available")):Q("unavailable")}catch{if(!oe.current)return;Q("unavailable")}finally{O.current=!1}}});p.useEffect(()=>{if(oe.current=!0,!Y||w.isStripe||w.switching||!h||_?.status==="complete"){w.isStripe&&(I(null),$(null),B(null),G(null)),w.switching||(_?.status==="complete"?Q("available"):Q(Y?"unavailable":"available"));return}W(),te.current=setInterval(W,Jr);const U=()=>{document.hidden||W()};return document.addEventListener("visibilitychange",U),()=>{oe.current=!1,te.current&&clearInterval(te.current),document.removeEventListener("visibilitychange",U)}},[Y,w.isStripe,w.switching,h,w.currency?.id,_?.status]);const se=p.useMemo(()=>({rate:y,provider:N,providerDisplay:R,fetchedAt:H,status:V,hasDynamicPricing:Y,refresh:W}),[y,N,R,H,V,Y,W]),J=Wr(c,w.currency?.id||null,w.current?.id||null),ne=Zr(c,h,w.currency?.id||null,w.isStripe,w.isCredit,k,J.values,J.validate,o,a);return t.jsx(er.Provider,{value:F,children:t.jsx(tr.Provider,{value:E,children:t.jsx(nr.Provider,{value:se,children:t.jsx(rr.Provider,{value:J,children:t.jsx(ir.Provider,{value:ne,children:n})})})})})}function at(e,n=6,r=!0,i=!0){if(!e||e==="0")return"0";const s=Number(e);if(!Number.isFinite(s))return"0";let o;if(i?o=s.toLocaleString("en-US",{minimumFractionDigits:n,maximumFractionDigits:n}):o=s.toFixed(n),!r)return o;const[a,c]=o.split(".");if(!c)return a;const l=c.replace(/0+$/,"");return l?`${a}.${l}`:a}function ze(e,n,r=6,i=!0,s=!0){if(!n)return at(e,r,i,s);const o=Number(e);if(!Number.isFinite(o))return at(e,r,i,s);const a=Math.abs(o),c=a>0&&a<.01?r:2;return at(e,c,i,s)}const Ht=8;function Vt(e,n,r){if(!r&&r!=="0"||n==null)return null;try{const i=e instanceof z?e:new z(e||"0"),s=new z(10).pow(new z(n));if(s.isZero())return null;const o=new z(r.replace(".","")),a=r.includes(".")&&r.split(".")[1]?.length||0,c=new z(10).pow(new z(a)),l=new z(10).pow(new z(Ht)),u=i.mul(o).mul(l).div(s.mul(c));return Te(u.toString(),Ht)}catch{return null}}function Qt(e,n="en"){if(!e&&e!=="0")return null;const r=Number(e);return Number.isFinite(r)?new Intl.NumberFormat(n,{minimumFractionDigits:2,maximumFractionDigits:2}).format(r):null}function ui(e){if(!e&&e!=="0")return null;const n=String(e),r=Number(n);return Number.isFinite(r)?n:null}function di(e,n="USD",r=2){if(e==null)return null;const i=Number(e);if(!Number.isFinite(i))return null;const s=i.toFixed(r);return n==="USD"?`$${s}`:`${s} ${n}`}function pi(e){return Array.isArray(e.currency_options)?e.currency_options:[{currency_id:e.currency_id,unit_amount:e.unit_amount,custom_unit_amount:e.custom_unit_amount||null,tiers:null}]}function bt(e,n){const i=pi(e).find(s=>s.currency_id===n?.id);return i?i.custom_unit_amount?i.custom_unit_amount.preset||i.custom_unit_amount.presets[0]:i.unit_amount:e.currency_id===n?.id?e.custom_unit_amount?e.custom_unit_amount.preset||e.custom_unit_amount.presets[0]:e.unit_amount:"0"}function mi(e,n,{useUpsell:r=!0,exchangeRate:i=null}={}){if(!n)return{unitAmount:new z(0),totalAmount:new z(0),isDynamicQuote:!1};const s=r&&e.upsell_price||e.price,o=new z(e.quantity||0),a=e.quoted_amount,c=e.quote_currency_id,l=s?.pricing_type==="dynamic";if(l&&a&&c===n.id){const d=new z(a||"0");return{unitAmount:o.gt(new z(0))?d.add(o).sub(new z(1)).div(o):new z(0),totalAmount:d,isDynamicQuote:!0}}if(l&&i&&s?.base_amount){const d=Number(i);if(d>0&&Number.isFinite(d)){const f=Number(s.base_amount);if(f>0&&Number.isFinite(f)){const _=f/d,h=Xe(_.toFixed(n.decimal||8),n.decimal||8);return{unitAmount:h,totalAmount:h.mul(o),isDynamicQuote:!1}}}}if(!i&&s?.base_amount!=null){const d=Number(s.base_amount);if(d>=0&&Number.isFinite(d)){const f=n.decimal||2,_=Xe(d.toFixed(f),f);return{unitAmount:_,totalAmount:_.mul(o),isDynamicQuote:!1}}}const m=new z(bt(s,n));return{unitAmount:m,totalAmount:m.mul(o),isDynamicQuote:!1}}function _t(e,n,r=!1,i=!0,{exchangeRate:s=null}={}){let o=new z(0);const a=e.filter(c=>(i&&c.upsell_price||c.price)!=null).reduce((c,l)=>{const u=l.quote_currency_id;let m;l.custom_amount&&u&&u===n.id?m=new z(l.custom_amount):{totalAmount:m}=mi(l,n,{useUpsell:i,exchangeRate:s});const d=i&&l.upsell_price||l.price;return d?.type==="recurring"&&(o=o.add(m),r||d.recurring?.usage_type==="metered")?c:c.add(m)},new z(0)).toString();return{subtotal:a,total:a,renew:ze(o.toString(),!!s),discount:"0",shipping:"0",tax:"0"}}function fi(e,n,r=0){const i={licensed:new z(0),metered:new z(0)};return e.map(o=>o.upsell_price||o.price).filter(o=>o?.type==="recurring"&&o?.recurring).length>0?+r?Xe(r,n.decimal).toString():(e.forEach(o=>{const a=o.upsell_price||o.price,c=bt(a,n),l=new z(c).mul(new z(o.quantity));a?.type==="recurring"&&a?.recurring&&(a.recurring.usage_type==="licensed"&&(i.licensed=i.licensed.add(l)),a.recurring.usage_type==="metered"&&(i.metered=i.metered.add(l)))}),i.licensed.add(i.metered).toString()):"0"}function _n(e,n,r,i,s,o,a){const c=r?.discounts||[];if(c.length===0)return new z(0);const l=c[0].coupon_details||{};if(a&&l.duration==="once")return new z(0);const u=e.filter(f=>!(f.discountable===!1||(f.upsell_price||f.price)?.recurring?.usage_type==="metered")),m=_t(u,n,o,!0,{exchangeRate:i?s:null}),d=new z(m.total);if(d.lte(new z(0)))return new z(0);if(l.percent_off&&l.percent_off>0)return d.mul(new z(l.percent_off)).div(new z(100));if(l.amount_off&&l.amount_off!=="0"){const f=l.currency_options?.[n.id]?.amount_off||l.amount_off;if(f&&f!=="0"){const _=new z(f);return _.lt(d)?_:d}}return new z(0)}function xi(e,n,r,i,s,o){if(!n||e.length===0)return{subtotal:"0",paymentAmount:"0",total:"0",discount:null,tax:null,staking:null,usdEquivalent:null};const a=r?.subscription_data,l=Number(a?.trial_period_days||0)>0,u=_t(e,n,l,!0,{exchangeRate:s?i:null}),m=new z(u.total),d=_n(e,n,r,s,i,l,!1),f=d.gt(new z(0))?ze(Te(d.toString(),n.decimal),s):null,_=r?.total_details?.amount_tax,h=new z(_||"0"),x=r?.total_details,k=_&&_!=="0"?{amount:Te(_,n.decimal),rate:x?.tax_rate||0,inclusive:x?.tax_inclusive||!1}:null,F=a?.no_stake||!1,w=Math.max(Number(a?.billing_threshold_amount||0),Number(a?.min_stake_amount||0)),E=o==="arcblock"&&n.type!=="credit"&&!F?fi(e,n,w):"0",y=new z(E),I=m.add(y);let N=I.sub(d);h.gt(new z(0))&&!k?.inclusive&&(N=N.add(h)),N.isNeg()&&(N=new z(0));const $=ze(Te(N,n.decimal),s),R=I,B=ze(Te(R,n.decimal),s);let H=null,G=null;if(s&&i&&n){const Q=Vt(N.toString(),n.decimal,i);Q&&(H=Qt(Q)||null);const te=Vt(R.toString(),n.decimal,i);te&&(G=Qt(te)||null)}const V=y.gt(new z(0))?`${ze(Te(y.toString(),n.decimal),s)} ${n.symbol}`:null;return{subtotal:`${B} ${n.symbol}`,paymentAmount:`${$} ${n.symbol}`,total:`${$} ${n.symbol}`,discount:f?`${f} ${n.symbol}`:null,tax:k,staking:V,usdEquivalent:H?`$${H}`:null,subtotalUsdEquivalent:G?`$${G}`:null}}function Sn(e,n,r){if(!e.length||!n)return{locked:!1,lockedAt:null,expiresAt:null,expired:!1,baseCurrency:null,slippagePercent:null};const i=r?.checkoutSession;let s=null,o=null,a=null;e.forEach(_=>{const h=_.upsell_price||_.price;!s&&h?.base_currency&&(s=h.base_currency);const x=_.expires_at;x&&(o=o===null?x:Math.min(o,x));const k=_.slippage_percent;a===null&&Number.isFinite(Number(k))&&(a=Number(k))});const c=r?.paymentIntent?.created_at?new Date(r.paymentIntent.created_at).getTime():null,l=i?.quote_locked_at,u=c||l||null,m=!!u,d=Date.now(),f=o?d>o:!1;return{locked:m,lockedAt:u,expiresAt:o,expired:f,baseCurrency:s,slippagePercent:a}}function hi(e,n,r,i,s,o){const a=e?.subscription_data;let c=Number(a?.trial_period_days||0);if(c>0&&n){const d=(a?.trial_currency||"").split(",").map(f=>f.trim()).filter(Boolean);d.length>0&&!d.includes(n)&&(c=0)}const l=c>0;let u=null,m=null;if(l&&i&&r.length>0){const d=_t(r,i,!1,!0,{exchangeRate:s?o:null});let f=new z(d.total);const _=_n(r,i,e,s,o,!1,!0);_.gt(new z(0))&&(f=f.sub(_),f.isNeg()&&(f=new z(0))),u=`${ze(Te(f,i.decimal),s)} ${i.symbol}`;const h=r.find(x=>{const k=x.upsell_price||x.price;return k?.type==="recurring"&&k?.recurring});h&&(m=(h.upsell_price||h.price)?.recurring?.interval||null)}return{active:l,days:c,afterTrialPrice:u,afterTrialInterval:m}}async function gi(e,n,r,i,s,o,a){const{data:c}=await ee.put(X.CROSS_SELL(e),{to:n});let l=c;if(c.discounts?.length){const u=await De(r,e,i);u&&(l=u)}o&&a?a({...o,checkoutSession:l,quotes:void 0}):await s(!0)}async function yi(e,n,r,i,s,o){const{data:a}=await ee.delete(X.CROSS_SELL(e));let c=a;if(a.discounts?.length){const l=await De(n,e,r);l&&(c=l)}s&&o?o({...s,checkoutSession:c,quotes:void 0}):await i(!0)}const ct=new Map;function bi(e){const n=ct.get(e);if(n)return n;const r=(async()=>{try{const{data:i}=await ee.get(`${X.CROSS_SELL(e)}?skipError=true`);if(i&&!i.error)return i}catch{}return null})();return ct.set(e,r),r.finally(()=>ct.delete(e)),r}function _i(e){if(!e.length)return null;const n=e[0],r=n.upsell_price||n.price,i=r?.recurring;if(!i)return null;const s=i.interval,o=r?.upsell,a=o?.upsells_to,c=[];if(a?.recurring?.interval&&a.recurring.interval!==s&&c.push({interval:a.recurring.interval,priceId:o?.upsells_to_id||"",amount:a.unit_amount||"0",savings:null}),n.upsell_price_id&&n.price?.recurring){const l=n.price.recurring.interval;l&&l!==s&&c.push({interval:l,priceId:n.price_id,amount:n.price.unit_amount||"0",savings:null})}return c.length===0?null:{current:s,available:c,firstItem:n}}function vn(){const{product:e,subscription:n,pageInfo:r,vendorCount:i}=_e();return{product:e,subscription:n,pageInfo:r,vendorCount:i}}function St(){const{items:e,session:n,effectiveSessionId:r,isDonation:i,refresh:s,sessionData:o,setSessionData:a}=_e(),{currency:c}=Ie(),l=c?.id||null,u=p.useRef(!1);p.useEffect(()=>{if(!(u.current||!r||!e.length||!l||n?.status==="complete"))try{const R=new URLSearchParams(window.location.search);for(const B of e){const H=R.get(`qty_${B.price_id}`)||R.get(`qty_${B.price?.id}`)||R.get("qty");if(H){const G=Math.max(1,parseInt(H,10));if(Number.isFinite(G)&&G!==B.quantity){u.current=!0,Bt(r,B.price_id,G,l,n,s,o,a);break}}}}catch{}},[r,e,l]);const m=L(async(R,B)=>{if(n?.status!=="complete")try{await Bt(r,R,B,l,n,s,o,a)}catch(H){console.error("Failed to update quantity:",je(H))}}),d=L(async(R,B)=>{n?.status!=="complete"&&await yn(r,R,B,n,l,s,o,a)}),f=L(async R=>{n?.status!=="complete"&&await bn(r,R,n,l,s,o,a)}),_=p.useMemo(()=>ci(e),[e]),[h,x]=p.useState(null),k=p.useMemo(()=>e.map(R=>R.price_id).join(","),[e]),F=p.useMemo(()=>e.some(R=>R.cross_sell),[e]);p.useEffect(()=>{if(!r||!n||n.status==="complete")return;if(_){x(null);return}if(F)return;let R=!1;return bi(r).then(B=>{R||x(B)}),()=>{R=!0}},[r,n?.id,_,k,F]);const w=_||h,C=p.useMemo(()=>e.some(R=>R.cross_sell_required),[e]),E=L(async()=>{if(n?.status!=="complete"&&w)try{await gi(r,w.id,n,l,s,o,a)}catch(R){console.error("Failed to add cross-sell:",je(R))}}),y=L(async()=>{if(n?.status!=="complete")try{await yi(r,n,l,s,o,a)}catch(R){console.error("Failed to remove cross-sell:",je(R))}}),I=L(async(R,B)=>{if(n?.status!=="complete"&&i)try{await ai(r,R,B,n,l,s,o,a)}catch(H){console.error("Failed to change amount:",je(H))}}),N=p.useMemo(()=>e.map(R=>({...R,adjustable_quantity:R.adjustable_quantity})),[e]),$=p.useMemo(()=>e.every(R=>{const{price:B}=R;if(!B)return!0;const H=Number(R.quantity)||0,G=B.quantity_available||0,V=B.quantity_sold||0,Q=B.quantity_limit_per_checkout||0;return!(G>0&&V+H>G||Q>0&&Q<H)}),[e]);return{items:N,inventoryOk:$,updateQuantity:m,upsell:d,downsell:f,crossSellItem:w,crossSellRequired:C,addCrossSell:E,removeCrossSell:y,isDonation:i,setDonationAmount:I}}function Si(){const{items:e,session:n,effectiveSessionId:r,refresh:i,sessionData:s,setSessionData:o}=_e(),{currency:a}=Ie(),c=a?.id||null,[l,u]=p.useState(!1),[m,d]=p.useState(null),f=L(async(h,x)=>{try{await yn(r,h,x,n,c,i,s,o)}catch(k){console.error("Failed to upsell:",je(k))}}),_=L(async h=>{try{await bn(r,h,n,c,i,s,o)}catch(x){console.error("Failed to downsell:",je(x))}});return p.useMemo(()=>{const h=_i(e);return h?{current:m||h.current,available:h.available,switching:l,switch:async x=>{const k=h.available.find(F=>F.interval===x);if(!(!k||l)){d(x),u(!0);try{!h.firstItem.upsell_price_id&&k.priceId?await f(h.firstItem.price_id,k.priceId):h.firstItem.upsell_price_id&&await _(h.firstItem.upsell_price_id)}finally{u(!1),d(null)}}}}:null},[e,r,l,m])}function vi(){const{session:e,effectiveSessionId:n,refresh:r}=_e(),{currency:i}=Ie(),[s,o]=p.useState(null);p.useEffect(()=>{if(!e||s)return;const m=ni(e);m&&o(m)},[e?.id]);const a=L(async m=>{if(e?.status==="complete")return{success:!1,error:"Session already completed"};const d=await ri(n,m,i?.id);return d.success&&(o(m),await r(!0)),d}),c=L(async()=>{if(e?.status!=="complete")try{await ii(n),o(null),await r(!0)}catch{}}),l=(e?.discounts||[]).length>0,u=oi(e);return{applied:l,code:s,active:u,inactiveReason:u?null:"Promotions not allowed",apply:a,remove:c}}function vt(){const{rate:e,provider:n,providerDisplay:r,fetchedAt:i,status:s,hasDynamicPricing:o,refresh:a}=yt();return{value:ui(e),display:e?di(e):null,provider:n,providerDisplay:r,fetchedAt:i,status:s,hasDynamicPricing:o,refresh:a}}function wn(){const{items:e,sessionData:n,effectiveSessionId:r,refresh:i}=_e(),{hasDynamicPricing:s}=yt(),o=p.useMemo(()=>Sn(e,s,n),[e,s,n]),a=L(async c=>{try{const l=await Xr(r,c);(l?.checkoutSession||l?.quotes)&&await i(!0)}catch(l){console.error("Failed to update slippage:",je(l))}});return{percent:o.slippagePercent??.5,set:a}}function wt(){const{isLoading:e,error:n,errorCode:r,session:i,isDonation:s}=_e(),o=!e&&!n&&i?.status==="open",a=i?.status==="complete",c=!!i?.livemode;return{isLoading:e,error:n,errorCode:r,canSubmit:o,isCompleted:a,isDonation:s,livemode:c}}function kn(){const{items:e,session:n,sessionData:r,refresh:i}=_e(),{currency:s}=Ie(),{rate:o,hasDynamicPricing:a}=yt(),{current:c}=Ie(),l=p.useMemo(()=>xi(e,s,n,o,a,c?.type||null),[e,s,o,a,n,c?.type]),u=p.useMemo(()=>Sn(e,a,r),[e,a,r]);p.useEffect(()=>{!u.expired||!u.expiresAt||n?.status==="complete"||i(!0)},[u.expired]);const m=hi(n,s?.id,e,s,a,o);return{...l,hasDynamicPricing:a,quote:{locked:u.locked,lockedAt:u.lockedAt,expiresAt:u.expiresAt,expired:u.expired,baseCurrency:u.baseCurrency},trial:m}}function wi(){return Ie()}function jn(){return sr()}function et(){return or()}const ki={overflowY:"auto","&::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"},Kt={"@keyframes mobileFadeIn":{from:{opacity:0},to:{opacity:1}},animation:{xs:"mobileFadeIn 0.4s ease both",md:"none"}},Gt={"@keyframes fadeIn":{from:{opacity:0,transform:"translateY(12px)"},to:{opacity:1,transform:"translateY(0)"}},animation:{xs:"none",md:"fadeIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both"}},ji=typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent),Yt=ji?{"@keyframes panelFadeIn":{from:{opacity:0,transform:"translateX(24px)"},to:{opacity:1,transform:"none"}},animation:{xs:"none",md:"panelFadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) both"}}:{"@keyframes slideInRight":{from:{transform:"translateX(100%)"},to:{transform:"translateX(0)"}},animation:{xs:"none",md:"slideInRight 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards"}};function Ci({left:e,right:n,mode:r="inline"}){const i=r==="standalone",{isMobile:s}=Ze(),o=We(),a=o.palette.mode==="dark",c=e===null,l={};if(s&&!c&&(l["& .cko-v2-submit-btn"]={position:"fixed",bottom:0,left:0,right:0,zIndex:999,bgcolor:a?"rgba(30,30,30,0.82)":"background.paper",backdropFilter:a?"blur(12px)":"none",p:1.5,borderTop:"1px solid",borderColor:"divider",boxShadow:a?"0 -4px 20px rgba(0,0,0,0.4)":"0 -2px 10px rgba(0,0,0,0.08)"}),!i)return t.jsxs(b,{sx:{display:"flex",flexDirection:{xs:"column",md:"row"},width:"100%",minHeight:{md:640},maxWidth:1120,mx:"auto",borderRadius:"16px",overflow:"hidden",boxShadow:1,border:1,borderColor:"divider",borderLeft:"4px solid",borderLeftColor:"primary.main",bgcolor:d=>d.palette.mode==="dark"?"background.default":"#f8faff",...Kt},children:[!c&&t.jsx(b,{sx:{flex:1,minWidth:0,bgcolor:d=>d.palette.mode==="dark"?"background.default":"#f8faff",p:{xs:3,md:5},pt:{xs:3,md:4},display:"flex",flexDirection:"column",...Gt},children:e}),t.jsx(b,{sx:{width:c?"100%":{xs:"100%",md:480},flexShrink:0,bgcolor:"background.paper",p:{xs:3,md:4},pt:{xs:3,md:4},display:"flex",flexDirection:"column",overflow:{md:"hidden"},...c?{}:Yt},children:n})]});const u=a?o.palette.background.default:o.palette.grey[100],m=a?o.palette.background.default:"#f8faff";return t.jsxs(b,{sx:{width:"100%",height:{xs:"auto",md:"100vh"},minHeight:{xs:"100vh"},overflow:{md:"hidden"},display:"flex",flexDirection:{xs:"column",md:"row"},position:"relative",background:s?u:`linear-gradient(160deg, ${ce(o.palette.primary.main,.03)} 0%, ${ce(o.palette.primary.main,.07)} 50%, ${ce(o.palette.primary.main,.04)} 100%)`,bgcolor:m,...Kt},children:[t.jsx(gt,{sx:{position:"absolute",top:20,left:0,right:0,zIndex:10,background:"transparent","& .header-container":{height:"auto"}},hideNavMenu:!0,brand:null,description:null,addons:d=>d.filter(_=>["locale-selector","theme-mode-toggle","session-user"].includes(_.key))}),!c&&t.jsx(b,{sx:{flex:{xs:"none",md:"0 0 50%"},width:{xs:"100%"},height:{xs:"auto",md:"100vh"},display:"flex",justifyContent:{md:"center"},...s?{bgcolor:"background.paper",mt:9}:{},...ki},children:t.jsx(b,{sx:{width:"100%",maxWidth:{md:640},p:{xs:3,md:5},pt:{xs:3,md:10},display:"flex",flexDirection:"column",flex:1,...Gt},children:e})}),t.jsx(b,{sx:{flex:c?"none":{xs:"none",md:"0 0 50%"},width:c?"100%":{xs:"100%"},height:c?"100vh":{xs:"auto",md:"100vh"},bgcolor:"background.paper",boxShadow:c?"none":{md:"-4px 0 16px rgba(0,0,0,0.04)"},position:"relative",display:"flex",flexDirection:"column",...c?{}:Yt,...s&&!c?{pb:"180px",mt:2}:{},overflowY:{xs:"auto",md:"hidden"},"&::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none",...l},children:t.jsx(b,{sx:{width:"100%",maxWidth:{md:600},mx:"auto",p:{xs:3,md:4},pt:c?{xs:10,md:"10vh"}:{xs:3,md:"10vh"},display:"flex",flexDirection:"column",flex:1,minHeight:0,justifyContent:c?"center":void 0},children:n})})]})}function Ii(e,n){if(!e)return"composite";const r=n.length===1,i=e.mode==="payment",s=["subscription","setup"].includes(e.mode||"");if(r&&i){const o=n[0];if(o.price?.product?.type==="credit"&&o.price?.metadata?.credit_config)return"credit-topup"}return r&&s&&!n.some(o=>o.cross_sell)?"subscription":"composite"}function Ei({item:e,currency:n,discounts:r,exchangeRate:i,onQuantityChange:s,onUpsell:o,onDownsell:a,trialActive:c,trialDays:l,t:u,recommended:m=!1,hideUpsell:d=!1,isRateLoading:f=!1,showFeatures:_=!0,children:h=void 0}){const x=e.upsell_price||e.price,k=x?.product,F=k?.name||"Item",w=k?.images?.[0]||"",C=k?.features||[],E=x?.recurring,y=e.quantity||1,I=E?.usage_type==="metered",N=I?` ${u("common.metered")}`:"",$=Ye(x,n,i),R=!!E,B=u(R?"payment.checkout.typeBadge.subscription":"payment.checkout.typeBadge.oneTime"),H=E?.interval?` / ${u(`common.${E.interval}`)}`:"",G=y>1&&$&&n?`${y} × ${$} ${n.symbol}`:I?N.trim():"",V=(()=>{const S=e.quote_currency_id;if(e.custom_amount&&S&&S===n?.id)return He(e.custom_amount,n);if(x?.pricing_type==="dynamic"&&i&&x.base_amount){const M=Number(i);if(M>0&&Number.isFinite(M)){const ie=Number(x.base_amount);if(ie>0&&Number.isFinite(ie)){const ae=ie*y/M,ue=Math.abs(ae),de=ue>0&&ue<.01?6:2;return ae.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:de}).replace(/(\.\d*?)0+$/,"$1").replace(/\.$/,"")||"0"}}}if(!i&&x?.base_amount!=null){const M=Number(x.base_amount);if(M>=0&&Number.isFinite(M))return(M*y).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}if(x&&n){const M=bt(x,n);if(M&&M!=="0"){const ie=BigInt(M)*BigInt(y);return He(ie.toString(),n)}}return"0"})(),Q=r?.[0],te=Q?.promotion_code_details?.code||Q?.verification_data?.code||Q?.promotion_code||"",O=(()=>{if(!te||!Q)return null;const S=Q?.coupon_details;if(S?.percent_off>0){const M=parseFloat(String(V).replace(/,/g,""));if(!Number.isNaN(M)&&M>0){const ie=M*S.percent_off/100,ae=Math.abs(ie),ue=ae>0&&ae<.01?6:2;return`${ie.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:ue}).replace(/(\.\d*?)0+$/,"$1").replace(/\.$/,"")||"0"} ${n?.symbol||""}`}}return e.discount_amounts?.length>0&&n?`${He(e.discount_amounts[0].amount,n)} ${n.symbol}`:null})(),oe=e.adjustable_quantity?.enabled,Y=e.adjustable_quantity?.minimum||1,W=e.adjustable_quantity?.maximum,[se,J]=p.useState(String(y)),[ne,U]=p.useState(!1),pe=We(),he=An(pe.breakpoints.down("md")),[le,P]=p.useState(!he);p.useEffect(()=>{ne||J(String(y))},[y,ne]);const fe=p.useRef(null),me=p.useCallback((S,M)=>{fe.current&&clearTimeout(fe.current),fe.current=setTimeout(()=>{s(S,M)},400)},[s]);p.useEffect(()=>()=>{fe.current&&clearTimeout(fe.current)},[]);const j=!!e.price?.upsell?.upsells_to,K=!!e.upsell_price,v=e.price?.upsell?.upsells_to;let T=0;if(j&&v){const S=parseFloat(e.price?.base_amount||e.price?.unit_amount||"0"),M=parseFloat(v?.base_amount||v?.unit_amount||"0"),ie=e.price?.recurring?.interval,ae=v?.recurring?.interval;if(S>0&&M>0&&ie&&ae){const ue={day:365,week:52,month:12,year:1},de=S*(ue[ie]||1),Se=M*(ue[ae]||1);de>Se&&(T=Math.round((de-Se)/de*100))}}const q=v?.recurring?.interval,re=(()=>{if(!v)return"";const S=q?u("common.slash",{interval:u(`common.${q}`)}):"";if(v.pricing_type==="dynamic"&&v.base_amount&&i){const ie=Number(i);if(ie>0&&Number.isFinite(ie)){const ae=parseFloat(v.base_amount);if(ae>0&&Number.isFinite(ae)){const ue=ae/ie,de=Math.abs(ue),Se=de>0&&de<.01?6:2;return`${ue.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:Se}).replace(/(\.\d*?)0+$/,"$1").replace(/\.$/,"")||"0"} ${n?.symbol||""} ${S}`}}}if(v.pricing_type==="dynamic"&&v.base_amount&&v.base_currency==="USD")return`$${parseFloat(v.base_amount).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${S}`;const M=Ye(v,n,i);return M?`${M} ${n?.symbol||""} ${S}`:""})(),Z=e.price?.recurring?.interval,ge=(()=>{if(!e.price||!K)return"";const S=e.price,M=Z?u("common.slash",{interval:u(`common.${Z}`)}):"";if(S.pricing_type==="dynamic"&&S.base_amount&&i){const ae=Number(i);if(ae>0&&Number.isFinite(ae)){const ue=parseFloat(S.base_amount);if(ue>0&&Number.isFinite(ue)){const de=ue/ae,Se=Math.abs(de),Oe=Se>0&&Se<.01?6:2;return`${de.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:Oe}).replace(/(\.\d*?)0+$/,"$1").replace(/\.$/,"")||"0"} ${n?.symbol||""} ${M}`}}}if(S.pricing_type==="dynamic"&&S.base_amount&&S.base_currency==="USD")return`$${parseFloat(S.base_amount).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${M}`;const ie=Ye(S,n,i);return ie?`${ie} ${n?.symbol||""} ${M}`:""})(),ke=(()=>{if(K){const M=Z?u(Ae[Z]||""):"";return u("payment.checkout.upsell.revert",{recurring:M})}const S=q?u(Ae[q]||""):"";return u("payment.checkout.upsell.save",{recurring:S})})();return t.jsxs(b,{sx:{position:"relative"},children:[m&&t.jsx(Ge,{label:"RECOMMENDED",size:"small",sx:{position:"absolute",top:0,right:40,transform:"translateY(-50%)",zIndex:1,height:22,fontSize:9,fontWeight:900,letterSpacing:"0.12em",bgcolor:"primary.main",color:S=>$e(S),boxShadow:"0 4px 12px rgba(45,124,243,0.2)","& .MuiChip-label":{px:1.5}}}),t.jsxs(b,{sx:{p:{xs:2,md:3},bgcolor:"background.paper",borderRadius:{xs:"16px",md:"24px"},border:"1px solid",borderColor:"divider",boxShadow:S=>S.palette.mode==="dark"?"0 12px 40px -8px rgba(0,0,0,0.3)":"0 12px 40px -8px rgba(0,0,0,0.06)",transition:"all 0.3s ease",...j&&!d?{borderRadius:{xs:"16px 16px 0 0",md:"24px 24px 0 0"}}:{},"&:hover":{borderColor:S=>S.palette.mode==="dark"?"rgba(255,255,255,0.12)":"rgba(45,124,243,0.15)"}},children:[t.jsxs(D,{direction:"row",spacing:{xs:1.5,md:2.5},sx:{alignItems:"center",width:"100%"},children:[w?t.jsx(Ce,{src:w,alt:F,variant:"rounded",sx:{width:{xs:44,md:64},height:{xs:44,md:64},borderRadius:{xs:"12px",md:"16px"},flexShrink:0}}):t.jsx(Ce,{variant:"rounded",sx:{width:{xs:44,md:64},height:{xs:44,md:64},borderRadius:{xs:"12px",md:"16px"},bgcolor:S=>S.palette.mode==="dark"?"rgba(255,255,255,0.06)":"#eff6ff",flexShrink:0},children:t.jsx(Jt,{sx:{fontSize:{xs:22,md:28},color:"primary.main",opacity:.45}})}),t.jsx(b,{sx:{flex:1,minWidth:0,overflow:"hidden"},children:t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"flex-start",sx:{mb:.25},children:[t.jsxs(b,{sx:{minWidth:0},children:[t.jsx(g,{sx:{color:"text.primary",fontWeight:800,fontSize:{xs:15,md:18},lineHeight:1.3},children:F}),t.jsx(g,{component:"span",sx:{display:"inline-block",mt:.5,fontSize:10,fontWeight:700,letterSpacing:"0.08em",lineHeight:1,textTransform:"uppercase",color:"primary.main",bgcolor:S=>S.palette.mode==="dark"?`${S.palette.primary.main}1A`:`${S.palette.primary.main}0D`,px:.75,py:.4,borderRadius:"3px"},children:B}),G&&t.jsx(g,{sx:{color:"text.disabled",fontSize:13,fontWeight:500,mt:.25},children:G})]}),t.jsx(D,{alignItems:"flex-end",sx:{flexShrink:0,ml:1.5},children:c&&R?t.jsx(g,{sx:{fontWeight:800,color:"text.primary",whiteSpace:"nowrap",fontSize:{xs:15,md:18}},children:cn(u,l,E?.interval||"day")}):f?t.jsx(Ne,{variant:"text",width:100,height:28}):t.jsxs(t.Fragment,{children:[t.jsxs(g,{sx:{fontWeight:800,color:"text.primary",whiteSpace:"nowrap",fontSize:{xs:15,md:18},transition:"opacity 0.3s ease"},children:[V," ",n?.symbol,H]}),i&&x?.base_amount&&t.jsxs(g,{sx:{fontSize:12,color:"text.disabled",fontWeight:600,lineHeight:1},children:["≈ $",(Number(x.base_amount)*y).toFixed(2)]})]})})]})})]}),_&&C.length>0&&t.jsxs(b,{sx:{mt:{xs:2,md:2.5},pt:{xs:2,md:2.5},borderTop:"1px solid",borderColor:S=>S.palette.mode==="dark"?"rgba(255,255,255,0.06)":"grey.100"},children:[t.jsxs(D,{direction:"row",alignItems:"center",justifyContent:"space-between",onClick:()=>P(S=>!S),sx:{cursor:"pointer",userSelect:"none",mb:le?1.25:0},children:[t.jsx(g,{sx:{fontSize:14,fontWeight:700,color:"text.primary"},children:u("payment.checkout.planFeatures")}),t.jsx(Dn,{sx:{fontSize:20,color:"text.secondary",transition:"transform 0.2s ease",transform:le?"rotate(0deg)":"rotate(180deg)"}})]}),t.jsx(mt,{in:le,children:t.jsx(D,{spacing:1.25,children:C.map(S=>t.jsxs(D,{direction:"row",spacing:1.5,alignItems:"center",children:[t.jsx(b,{sx:{width:20,height:20,borderRadius:"50%",bgcolor:M=>M.palette.mode==="dark"?"rgba(16,185,129,0.15)":"rgba(16,185,129,0.1)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(Mn,{sx:{fontSize:14,color:"success.main"}})}),t.jsx(g,{sx:{fontSize:14,fontWeight:500,color:"text.secondary"},children:S.name})]},S.name))})})]}),te&&O&&t.jsx(b,{sx:{mt:1.5},children:f?t.jsx(Ne,{variant:"rounded",width:160,height:22,sx:{borderRadius:"6px"}}):t.jsx(Ge,{icon:t.jsx(en,{sx:{color:"warning.main",fontSize:"small"}}),label:`${te} (-${O})`,size:"small",sx:{height:22,borderRadius:"6px","& .MuiChip-label":{fontSize:12}}})}),oe&&t.jsxs(D,{direction:"row",spacing:1,alignItems:"center",sx:{mt:2},children:[t.jsx(g,{sx:{color:"text.secondary",minWidth:"fit-content",fontSize:13,fontWeight:500},children:u("common.quantity")}),t.jsx(Ve,{size:"small",onClick:()=>{const M=(parseInt(se,10)||y)-1;M<Y||(J(String(M)),me(e.price_id,M))},disabled:(parseInt(se,10)||y)<=Y,sx:{width:36,height:36,border:"1px solid",borderColor:"divider",borderRadius:"50%","&:hover":{bgcolor:"action.hover"}},children:t.jsx(zn,{sx:{fontSize:20}})}),t.jsx(tn,{value:se,size:"small",type:"number",slotProps:{htmlInput:{style:{textAlign:"center",padding:"6px 4px",fontWeight:700,fontSize:16,MozAppearance:"textfield"},min:Y,max:W||void 0}},sx:{minWidth:64,"& input":{textAlign:"center"},"& .MuiOutlinedInput-root":{borderRadius:"12px"},"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button":{WebkitAppearance:"none",margin:0},"& input[type=number]":{MozAppearance:"textfield"}},onFocus:()=>U(!0),onChange:S=>J(S.target.value),onKeyDown:S=>{S.key==="Enter"&&(S.preventDefault(),S.stopPropagation(),S.target.blur())},onBlur:()=>{U(!1);const S=parseInt(se,10);!Number.isNaN(S)&&S>=Y&&(!W||S<=W)&&S!==y?s(e.price_id,S):J(String(y))}}),t.jsx(Ve,{size:"small",onClick:()=>{const M=(parseInt(se,10)||y)+1;W&&M>W||(J(String(M)),me(e.price_id,M))},disabled:W?(parseInt(se,10)||y)>=W:!1,sx:{width:36,height:36,border:"1px solid",borderColor:"divider",borderRadius:"50%","&:hover":{bgcolor:"action.hover"}},children:t.jsx(nn,{sx:{fontSize:20}})})]}),h]}),j&&!d&&t.jsxs(b,{sx:{px:{xs:2,md:3},py:1.5,bgcolor:"background.paper",border:"1px solid",borderTop:0,borderColor:"divider",borderRadius:{xs:"0 0 16px 16px",md:"0 0 24px 24px"},boxShadow:S=>S.palette.mode==="dark"?"0 12px 40px -8px rgba(0,0,0,0.3)":"0 12px 40px -8px rgba(0,0,0,0.06)"},children:[t.jsx(b,{sx:{borderTop:"1px solid",borderColor:"divider",mb:1.5}}),t.jsxs(D,{direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsxs(D,{direction:"row",alignItems:"center",spacing:1,children:[t.jsx(Nn,{checked:K,onChange:async()=>{try{K?await a(e.upsell_price?.id||e.price.id):await o(e.price_id,v.id)}catch(S){Fe.error(S?.response?.data?.error||S?.message||"Failed")}},size:"small",sx:{"& .MuiSwitch-switchBase.Mui-checked":{color:"#12b886"},"& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track":{bgcolor:"#12b886"}}}),t.jsx(g,{sx:{fontSize:13,color:"text.secondary",cursor:"pointer",fontWeight:600},onClick:async()=>{try{K?await a(e.upsell_price?.id||e.price.id):await o(e.price_id,v.id)}catch(S){Fe.error(S?.response?.data?.error||S?.message||"Failed")}},children:ke}),!K&&T>0&&t.jsx(Ge,{label:u("payment.checkout.upsell.off",{saving:T}),size:"small",sx:{height:22,fontSize:11,fontWeight:700,bgcolor:S=>S.palette.mode==="dark"?"rgba(18,184,134,0.1)":"#ebfef5",color:"#12b886",border:"1px solid",borderColor:S=>S.palette.mode==="dark"?"rgba(18,184,134,0.2)":"#d3f9e8",borderRadius:"9999px","& .MuiChip-label":{px:1}}})]}),t.jsx(g,{sx:{fontSize:13,color:"text.primary",whiteSpace:"nowrap",fontWeight:700},children:K?ge:re})]})]})]})}function Ri({billingInterval:e}){const{t:n}=be();if(!e?.available?.length||e.available.length<=1)return null;const r=e.available.reduce((i,s)=>Number(s.savings||0)>Number(i.savings||0)?s:i);return t.jsxs(D,{direction:"row",alignItems:"center",spacing:2,sx:{mb:3},children:[t.jsx(D,{direction:"row",alignItems:"center",sx:{bgcolor:"background.paper",borderRadius:"9999px",border:"1px solid",borderColor:"divider",p:"4px",display:"inline-flex",boxShadow:i=>i.palette.mode==="dark"?"0 1px 2px 0 rgba(0,0,0,0.3)":"0 1px 2px 0 rgba(0,0,0,0.05)"},children:e.available.map(i=>{const s=i.interval===e.current,o={bgcolor:c=>c.palette.mode==="dark"?"rgba(156,106,222,0.25)":"rgba(156,106,222,0.15)",color:"primary.main",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",boxShadow:c=>c.palette.mode==="dark"?"0 2px 8px rgba(156,106,222,0.2), inset 0 1px 0 rgba(255,255,255,0.06)":"0 2px 8px rgba(156,106,222,0.15), inset 0 1px 0 rgba(255,255,255,0.5)",border:"1px solid",borderColor:c=>c.palette.mode==="dark"?"rgba(156,106,222,0.3)":"rgba(156,106,222,0.2)"},a={color:"text.secondary",border:"1px solid transparent","&:hover":{color:"text.primary"}};return t.jsx(b,{onClick:()=>{i.interval!==e.current&&!e.switching&&e.switch(i.interval)},sx:{px:3.5,py:1,borderRadius:"9999px",cursor:"pointer",transition:"all 0.3s ease",userSelect:"none",...s?o:a},children:e.switching&&s?t.jsx(ft,{size:14,color:"inherit",sx:{my:"1px"}}):t.jsx(g,{component:"span",sx:{fontSize:14,fontWeight:700,color:"inherit",lineHeight:1},children:n(Ae[i.interval]||i.interval)})},i.interval)})}),r.savings&&Number(r.savings)>0&&t.jsxs(D,{direction:"row",alignItems:"center",spacing:.75,sx:{px:1.5,py:.75,bgcolor:i=>i.palette.mode==="dark"?"rgba(18,184,134,0.1)":"#ebfef5",color:"#12b886",fontSize:11,fontWeight:700,borderRadius:"9999px",border:"1px solid",borderColor:i=>i.palette.mode==="dark"?"rgba(18,184,134,0.2)":"#d3f9e8",textTransform:"uppercase",letterSpacing:"0.05em"},children:[t.jsx(rn,{sx:{fontSize:14}}),t.jsxs(g,{component:"span",sx:{fontSize:"inherit",fontWeight:"inherit",color:"inherit",lineHeight:1},children:["SAVE ",r.savings,"%"]})]})]})}function Pi({crossSellItem:e,currency:n,exchangeRate:r,crossSellRequired:i,onAdd:s}){const{t:o}=be();if(!e)return null;const{product:a}=e,c=a?.images?.[0]||"",l=a?.name||o("payment.checkout.cross_sell.add"),{recurring:u}=e,m=u?.interval?Ae[u.interval]:null,d=a?.description||"",f=d&&d!==l?d:m?o(m):"";return t.jsxs(b,{sx:{position:"relative"},children:[i&&t.jsx(Ge,{label:xe(o,"payment.checkout.cross_sell.recommended","RECOMMENDED"),size:"small",sx:{position:"absolute",top:0,right:40,transform:"translateY(-50%)",zIndex:1,height:22,fontSize:9,fontWeight:900,letterSpacing:"0.12em",bgcolor:"primary.main",color:_=>$e(_),boxShadow:"0 4px 12px rgba(45,124,243,0.2)","& .MuiChip-label":{px:1.5}}}),t.jsx(b,{sx:{p:{xs:2,md:3},bgcolor:"background.paper",borderRadius:{xs:"16px",md:"24px"},border:"2px dashed",borderColor:_=>_.palette.mode==="dark"?"rgba(255,255,255,0.15)":"rgba(45,124,243,0.25)",boxShadow:_=>_.palette.mode==="dark"?"0 12px 40px -8px rgba(0,0,0,0.3)":"0 12px 40px -8px rgba(0,0,0,0.06)",transition:"all 0.3s ease",cursor:"pointer","&:hover":{borderColor:"primary.main",boxShadow:"0 12px 40px -8px rgba(0,0,0,0.1)"}},onClick:s,children:t.jsxs(D,{direction:"row",spacing:{xs:1.5,md:2.5},sx:{alignItems:"center",width:"100%"},children:[c?t.jsx(Ce,{src:c,variant:"rounded",sx:{width:{xs:44,md:64},height:{xs:44,md:64},borderRadius:{xs:"12px",md:"16px"},flexShrink:0}}):t.jsx(Ce,{variant:"rounded",sx:{width:{xs:44,md:64},height:{xs:44,md:64},borderRadius:{xs:"12px",md:"16px"},bgcolor:_=>_.palette.mode==="dark"?"rgba(255,255,255,0.06)":"#eff6ff",flexShrink:0},children:t.jsx(Jt,{sx:{fontSize:{xs:22,md:28},color:"primary.main",opacity:.45}})}),t.jsxs(b,{sx:{flex:1,minWidth:0},children:[t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"flex-start",sx:{mb:.25},children:[t.jsx(g,{sx:{fontWeight:800,fontSize:{xs:15,md:18},color:"text.primary",lineHeight:1.3},children:l}),t.jsxs(D,{alignItems:"flex-end",sx:{flexShrink:0,ml:{xs:1,md:2}},children:[t.jsxs(g,{sx:{fontWeight:800,color:"text.primary",whiteSpace:"nowrap",fontSize:{xs:15,md:18}},children:[Ye(e,n,r)," ",n?.symbol]}),r&&e.base_amount&&t.jsxs(g,{sx:{fontSize:10,color:"text.disabled",fontWeight:700,lineHeight:1},children:["≈ $",Number(e.base_amount||0).toFixed(2)]})]})]}),f&&t.jsx(g,{sx:{fontSize:{xs:12,md:14},color:"text.secondary",fontWeight:500,lineHeight:1.4},noWrap:!0,children:f}),t.jsx(b,{sx:{pt:{xs:1.5,md:2}},children:t.jsx(Ee,{size:"small",variant:"outlined",startIcon:t.jsx(Fn,{sx:{fontSize:"14px !important"}}),sx:{textTransform:"none",fontSize:{xs:11,md:12},fontWeight:700,borderRadius:"8px",border:"1px solid",borderColor:"divider",color:"primary.main",bgcolor:"background.paper",boxShadow:1,px:1.5,py:.5,transition:"all 0.2s","&:hover":{bgcolor:"primary.main",color:_=>$e(_),borderColor:"primary.main"},"&:active":{transform:"scale(0.95)"}},onClick:_=>{_.stopPropagation(),s()},children:xe(o,"payment.checkout.cross_sell.addToOrder","Add to order")})})]})]})})]})}function Ti({trial:e,mode:n,items:r}){const{t:i}=be();if(e.active&&e.afterTrialPrice)return t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{borderTop:"1px solid",borderColor:"divider",pt:1,mt:1},children:[t.jsx(g,{sx:{color:"text.secondary",fontSize:14},children:i("common.nextCharge")}),t.jsxs(g,{sx:{fontSize:16,color:"text.secondary"},children:[e.afterTrialPrice,e.afterTrialInterval?` ${i(Ae[e.afterTrialInterval]||"")}`:""]})]});if(!e.active&&["subscription","setup"].includes(n)){const s=r.find(c=>(c.upsell_price||c.price)?.recurring?.usage_type==="metered");if(!s)return null;const o=(s.upsell_price||s.price)?.recurring?.interval;if(!o)return null;const a=i("common.per",{interval:i(`common.${o}`)});return t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{borderTop:"1px solid",borderColor:"divider",pt:1,mt:1},children:[t.jsx(g,{sx:{color:"text.secondary",fontSize:14,fontWeight:600},children:i("common.nextCharge")}),t.jsx(g,{sx:{fontSize:16,color:"text.secondary"},children:i("payment.checkout.metered",{recurring:a})})]})}return null}function Cn(){const{t:e}=be(),{session:n}=_e(),{currency:r,isStripe:i,switching:s}=Ie(),{livemode:o}=wt(),{product:a,pageInfo:c}=vn(),l=St(),u=Si(),m=kn(),d=vt(),f=wn(),{isMobile:_}=Ze(),h=n?.mode||"payment",x=n?.discounts||[],k=n?.app_name||n?.payment_link?.app_name||"",F=n?.app_logo||n?.payment_link?.app_logo||"",w=_||l.items.length>=4,[C,E]=p.useState(_?l.items.length<=1:l.items.length<4),y=l.crossSellItem&&!l.items.some(P=>P.price_id===l.crossSellItem?.id),I=l.items.filter(P=>!P.cross_sell),N=l.items.filter(P=>P.price?.upsell?.upsells_to),$=N.length===1?N[0]:null,R=$?$.price?.upsell?.upsells_to:null,B=I.length<=1,H=B&&!!$&&["subscription","setup"].includes(h),G=!!$?.upsell_price,[V,Q]=p.useState(!1),[te,O]=p.useState(null),oe=te!==null?te:G,Y=H?$.price?.recurring?.interval:null,W=H?R?.recurring?.interval:null;let se=0;if(H&&Y&&W){const P=parseFloat($.price?.base_amount||$.price?.unit_amount||"0"),fe=parseFloat(R?.base_amount||R?.unit_amount||"0"),me={day:365,week:52,month:12,year:1},j=P*(me[Y]||1),K=fe*(me[W]||1);j>K&&j>0&&(se=Math.round((j-K)/j*100))}const J=p.useRef(d.status);p.useEffect(()=>{J.current!=="unavailable"&&d.status==="unavailable"&&!i&&Fe.error(e("payment.dynamicPricing.unavailable.message")),J.current=d.status},[d.status,i,e]);const ne=ar(e,n,a,l.items),U=l.items.length>1,pe={bgcolor:"primary.main",color:P=>$e(P),boxShadow:"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)"},he={color:"text.secondary","&:hover":{color:"text.primary"}},le=P=>({px:3.5,py:1,borderRadius:"9999px",cursor:"pointer",transition:"all 0.3s ease",userSelect:"none",...P?pe:he});return t.jsxs(b,{sx:{display:"flex",flexDirection:"column",flex:1},children:[!_&&(k||F)&&t.jsxs(D,{direction:"row",alignItems:"center",spacing:1,sx:{mb:5},children:[F&&t.jsx(Ce,{src:F,alt:k,sx:{width:48,height:48,borderRadius:"16px",bgcolor:"background.paper",boxShadow:1,border:"1px solid",borderColor:"divider"}}),k&&t.jsx(g,{sx:{fontWeight:600,fontSize:15,color:"text.primary"},children:k})]}),!_&&t.jsx(b,{sx:{flexGrow:1,flexShrink:1,flexBasis:0}}),t.jsxs(b,{sx:{flexShrink:0},children:[t.jsxs(b,{sx:{mb:{xs:3,md:4}},children:[_&&(k||F)&&t.jsxs(D,{direction:"row",alignItems:"center",spacing:1,sx:{mb:1},children:[F&&t.jsx(Ce,{src:F,alt:k,sx:{width:24,height:24,borderRadius:"6px"}}),k&&t.jsx(g,{sx:{fontWeight:600,fontSize:13,color:"text.secondary"},children:k})]}),t.jsxs(D,{direction:"row",alignItems:"center",spacing:1,sx:{mb:1.5},children:[t.jsx(g,{component:"span",sx:{fontSize:10,fontWeight:700,letterSpacing:"0.1em",lineHeight:1,textTransform:"uppercase",color:"primary.main",bgcolor:P=>P.palette.mode==="dark"?`${P.palette.primary.main}1A`:`${P.palette.primary.main}0D`,px:1,py:.5,borderRadius:"4px"},children:ne.badgeLabel}),m.trial.active&&m.trial.days>0&&t.jsx(g,{component:"span",sx:{fontSize:10,fontWeight:700,letterSpacing:"0.1em",lineHeight:1,textTransform:"uppercase",color:"primary.main",bgcolor:P=>P.palette.mode==="dark"?`${P.palette.primary.main}1A`:`${P.palette.primary.main}0D`,px:1,py:.5,borderRadius:"4px"},children:cn(e,m.trial.days,m.trial.afterTrialInterval||"day")}),!o&&t.jsx(g,{component:"span",sx:{fontSize:10,fontWeight:700,letterSpacing:"0.1em",lineHeight:1,textTransform:"uppercase",color:P=>P.palette.mode==="dark"?P.palette.grey[500]:P.palette.grey[400],bgcolor:P=>P.palette.mode==="dark"?"rgba(255,255,255,0.06)":P.palette.grey[100],px:1,py:.5,borderRadius:"4px"},children:e("common.livemode")})]}),t.jsx(g,{sx:{fontWeight:800,fontSize:{xs:24,md:36},lineHeight:1.1,letterSpacing:"-0.03em",color:"text.primary",mb:.75},children:U?xe(e,"payment.checkout.orderSummary","Order Summary"):ne.title}),(U||ne.subtitle)&&t.jsx(g,{sx:{color:"text.secondary",fontSize:{xs:14,md:16},fontWeight:500,lineHeight:1.5},children:U?xe(e,"payment.checkout.orderSummarySubtitle","Items included in this purchase"):ne.subtitle}),H&&t.jsxs(D,{direction:"row",alignItems:"center",spacing:2,sx:{mt:2.5},children:[t.jsxs(D,{direction:"row",alignItems:"center",sx:{bgcolor:"background.paper",borderRadius:"9999px",border:"1px solid",borderColor:"divider",p:"4px",display:"inline-flex",boxShadow:P=>P.palette.mode==="dark"?"0 1px 2px 0 rgba(0,0,0,0.3)":"0 1px 2px 0 rgba(0,0,0,0.05)"},children:[t.jsx(b,{onClick:async()=>{if(G&&!V){O(!1),Q(!0);try{await l.downsell($.upsell_price?.id||$.price_id)}catch(P){O(null),Fe.error(P?.response?.data?.error||P?.message||"Failed")}finally{Q(!1),O(null)}}},sx:le(!oe),children:t.jsx(g,{component:"span",sx:{fontSize:14,fontWeight:700,color:"inherit",lineHeight:1},children:e(Ae[Y]||"")})}),t.jsx(b,{onClick:async()=>{if(!G&&!V){O(!0),Q(!0);try{await l.upsell($.price_id,R.id)}catch(P){O(null),Fe.error(P?.response?.data?.error||P?.message||"Failed")}finally{Q(!1),O(null)}}},sx:le(oe),children:t.jsx(g,{component:"span",sx:{fontSize:14,fontWeight:700,color:"inherit",lineHeight:1},children:e(Ae[W]||"")})})]}),se>0&&t.jsxs(D,{direction:"row",alignItems:"center",spacing:.75,sx:{px:1.5,py:.75,bgcolor:P=>P.palette.mode==="dark"?"rgba(18,184,134,0.1)":"#ebfef5",color:"#12b886",fontSize:11,fontWeight:700,borderRadius:"9999px",border:"1px solid",borderColor:P=>P.palette.mode==="dark"?"rgba(18,184,134,0.2)":"#d3f9e8",textTransform:"uppercase",letterSpacing:"0.05em"},children:[t.jsx(rn,{sx:{fontSize:14}}),t.jsxs(g,{component:"span",sx:{fontSize:"inherit",fontWeight:"inherit",color:"inherit",lineHeight:1},children:["SAVE ",se,"%"]})]})]})]}),t.jsx(Ri,{billingInterval:u})]}),t.jsxs(b,{sx:{flexGrow:0,flexShrink:1,flexBasis:"auto",minHeight:{md:0},overflowY:{md:"auto"},"&::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"},children:[w&&t.jsxs(D,{direction:"row",alignItems:"center",justifyContent:"space-between",onClick:()=>E(!C),sx:{cursor:"pointer",mb:1.5},children:[t.jsx(g,{sx:{fontSize:14,fontWeight:600},children:e("payment.checkout.productListTotal",{total:l.items.length})}),t.jsx(sn,{sx:{transform:C?"rotate(180deg)":"rotate(0deg)",transition:"0.3s"}})]}),t.jsxs(mt,{in:C||!w,children:[t.jsx(D,{spacing:2,sx:{mb:2},children:l.items.map(P=>t.jsx(Ei,{item:P,currency:r,discounts:x,exchangeRate:d.value,onQuantityChange:l.updateQuantity,onUpsell:l.upsell,onDownsell:l.downsell,trialActive:m.trial.active,trialDays:m.trial.days,hideUpsell:H||!B,isRateLoading:s||d.hasDynamicPricing&&d.status==="loading",showFeatures:c?.showProductFeatures??!1,t:e,children:P.cross_sell&&t.jsx(Ee,{size:"small",color:"error",variant:"text",onClick:l.removeCrossSell,sx:{mt:1,ml:-.5,textTransform:"none",fontSize:12},children:e("payment.checkout.cross_sell.remove")})},P.id))}),y&&t.jsx(b,{sx:{mb:2},children:t.jsx(Pi,{crossSellItem:l.crossSellItem,currency:r,exchangeRate:d.value,crossSellRequired:l.crossSellRequired,onAdd:l.addCrossSell})})]})]}),t.jsx(b,{sx:{flexShrink:0},children:t.jsx(Ti,{trial:{active:m.trial.active,days:m.trial.days,afterTrialPrice:m.trial.afterTrialPrice,afterTrialInterval:m.trial.afterTrialInterval},mode:h,items:l.items})}),t.jsx(b,{sx:{flexGrow:1,flexShrink:1,flexBasis:0}}),t.jsxs(b,{sx:{flexShrink:0},children:[d.hasDynamicPricing&&d.status==="unavailable"&&!i&&t.jsxs(D,{direction:"row",alignItems:"center",spacing:.75,sx:{mb:2},children:[t.jsx(g,{sx:{fontSize:13,color:"text.secondary",fontWeight:500},children:e("payment.dynamicPricing.unavailable.title")}),t.jsx(g,{component:"span",onClick:d.refresh,sx:{fontSize:13,color:"primary.main",fontWeight:600,cursor:"pointer","&:hover":{textDecoration:"underline"}},children:e("payment.dynamicPricing.unavailable.retry")})]}),t.jsx(ln,{hasDynamicPricing:d.hasDynamicPricing,rate:{value:d.value,display:d.display,provider:d.provider,providerDisplay:d.providerDisplay,fetchedAt:d.fetchedAt,status:d.status},slippage:{percent:f.percent,set:f.set},currencySymbol:r?.symbol||"",isSubscription:["subscription","setup"].includes(h)})]})]})}function Ai({livemode:e,label:n=void 0}){const{t:r}=be();return t.jsxs(D,{direction:"row",alignItems:"center",spacing:1,sx:{mb:1.5},children:[t.jsx(g,{component:"span",sx:{fontSize:10,fontWeight:700,letterSpacing:"0.1em",lineHeight:1,textTransform:"uppercase",color:"primary.main",bgcolor:i=>i.palette.mode==="dark"?`${i.palette.primary.main}1A`:`${i.palette.primary.main}0D`,px:1,py:.5,borderRadius:"4px"},children:n||xe(r,"payment.checkout.orderSummary","Order Summary")}),!e&&t.jsx(g,{component:"span",sx:{fontSize:10,fontWeight:700,letterSpacing:"0.1em",lineHeight:1,textTransform:"uppercase",color:i=>i.palette.mode==="dark"?i.palette.grey[500]:i.palette.grey[400],bgcolor:i=>i.palette.mode==="dark"?"rgba(255,255,255,0.06)":i.palette.grey[100],px:1,py:.5,borderRadius:"4px"},children:r("common.livemode")})]})}function Di(){const{t:e,locale:n}=be(),{session:r,sessionData:i}=_e(),{livemode:s}=wt(),{product:o}=vn(),{currency:a,isStripe:c}=Ie(),l=St(),u=vt(),m=wn(),{locked:d}=et(),f=l.items[0],_=f?f.upsell_price||f.price:null,h=_?.metadata?.credit_config,x=h?.credit_amount?Number(h.credit_amount):0,k=h?.currency_id,{session:F,getCurrency:w}=un(),C=k?w(k):null,E=F?.user?.did||i?.customer?.did,y=C?.decimal,I=C?.symbol||"Credits",N="Credits",$=_?.metadata?.meter_id,{data:R}=ut(async()=>{if(!$)return null;try{const{data:A}=await dt.get(`/api/meters/public/${$}`);return A}catch{return null}},{refreshDeps:[$]}),B=R?.name||o?.name||"Credits",H=h?.valid_duration_value,G=h?.valid_duration_unit||"days",V=h?.schedule,Q=V?.enabled&&V?.delivery_mode&&V.delivery_mode!=="invoice",te=H&&H>0,O=Math.max(x,1),oe=f?.adjustable_quantity,Y=oe?.enabled!==!1,W=Math.max(oe?.minimum||1,1),se=Math.min(_?.quantity_limit_per_checkout??1/0,_?.quantity_available??1/0),J=se?Math.min(oe?.maximum||1/0,se):oe?.maximum||1/0,{data:ne}=ut(async()=>{if(!h||!E||!k||y==null)return null;try{const{data:A}=await dt.get("/api/meter-events/pending-amount",{params:{customer_id:E,currency_id:k}});return A?.[k]}catch{return null}},{refreshDeps:[h,E,k,y]}),U=p.useMemo(()=>{if(!ne||!x||x<=0)return null;const A=new z(ne||"0");if(!A.gt(new z(0)))return null;const ye=Xe(x,y);return!ye||ye.isZero()?null:Math.ceil(A.mul(new z(100)).div(ye).toNumber()/100)},[ne,x,y]),pe=ne&&new z(ne||"0").gt(new z(0)),he=p.useMemo(()=>pe?Be(cr(ne,y),I,n):"",[pe,ne,y,I,n]),le=U?U*O:0,P=le?Be(Re(le),I,n):"",fe=p.useMemo(()=>{if(Q&&V){const A=V.interval_unit,ye=V.interval_value;let Le;V.amount_per_grant?Le=Number(V.amount_per_grant):Le=x;const qe=lr(Re(Le),N),Rt=ye===1?e(`common.${A}`):`${ye} ${e(`common.${A}s`)}`;return V.expire_with_next_grant?e("payment.checkout.credit.schedule.withRefresh",{amount:qe,interval:Rt}):e("payment.checkout.credit.schedule.periodic",{amount:qe,interval:Rt})}return""},[x,N,Q,V,e]),me=p.useMemo(()=>te?e("payment.checkout.creditTopup.validFor",{duration:H,unit:e(`common.${G}`)}):"",[te,H,G,e]),j=!!fe,K=f?.quantity||1,[v,T]=p.useState(K),[q,re]=p.useState(K*O),[Z,ge]=p.useState(!1),[ke,S]=p.useState(""),M=p.useRef(null);p.useEffect(()=>{d||r?.status==="complete"||f?.quantity&&f.quantity!==v&&(T(f.quantity),re(f.quantity*O))},[f?.quantity]);const ie=p.useRef(!1);p.useEffect(()=>{if(!(d||r?.status==="complete")&&!ie.current&&U&&U>v){ie.current=!0;const A=Math.min(Math.max(U,W),J);T(A),re(A*O),f&&l.updateQuantity(f.price_id,A)}},[U]);const ae=J*O,ue=W*O,de=p.useRef(null);p.useEffect(()=>()=>{de.current&&clearTimeout(de.current)},[]);const Se=p.useCallback(A=>{if(A<=0)return;const ye=Math.max(ue,Math.min(ae,A)),Le=Math.ceil(ye/O),qe=Math.max(W,Math.min(J,Le));T(qe),re(ye),f&&(de.current&&clearTimeout(de.current),de.current=setTimeout(()=>{l.updateQuantity(f.price_id,qe)},400))},[O,W,J,ue,ae,f,l]),Oe=p.useCallback(A=>{const ye=q+A*O;ye<O*W||Math.ceil(ye/O)>J||Se(ye)},[q,O,W,J,Se]),Ue=Math.max(W,Math.min(J,Math.ceil(q/O))),Qe=Ue*O,kt=Re(Qe,6,!0,!0),En=Re(q,6,!0,!0),jt=Y&&O>1,Rn=p.useMemo(()=>pe?Qe>=le?e("payment.checkout.creditTopup.pendingEnough",{pendingAmount:he,availableAmount:Be(Re(Qe-le),I,n)}):e("payment.checkout.creditTopup.pendingWarning",{pendingAmount:he,minCredits:P}):"",[pe,Qe,le,he,I,n,P,e]),Pn=p.useCallback(()=>{Y&&(S(String(q)),ge(!0),setTimeout(()=>M.current?.select(),0))},[Y,q]),tt=p.useCallback(()=>{ge(!1);const A=parseInt(ke.replace(/,/g,""),10);!Number.isFinite(A)||A<=0||Se(A)},[ke,Se]),Tn=p.useCallback(A=>{A.key==="Enter"?tt():A.key==="Escape"&&ge(!1)},[tt]),Ct={xs:48,md:72},It={fontSize:Ct,fontWeight:800,lineHeight:1,letterSpacing:"-0.03em"},Et={width:{xs:40,md:56},height:{xs:40,md:56},borderRadius:"50%",bgcolor:"background.paper",border:"1px solid",borderColor:A=>A.palette.mode==="dark"?"rgba(255,255,255,0.12)":"divider",color:"text.secondary",transition:"all 0.2s ease","&:hover":{borderColor:"primary.main",color:"primary.main",bgcolor:"background.paper"},"&.Mui-disabled":{borderColor:A=>A.palette.mode==="dark"?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",color:A=>A.palette.mode==="dark"?"rgba(255,255,255,0.15)":"rgba(0,0,0,0.12)"}};return t.jsxs(b,{sx:{display:"flex",flexDirection:"column",height:"100%"},children:[t.jsxs(b,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[t.jsx(Ai,{livemode:s,label:xe(e,"payment.checkout.typeBadge.topup","TOP-UP")}),t.jsx(g,{sx:{fontWeight:800,fontSize:{xs:28,md:48},lineHeight:1.1,letterSpacing:"-0.03em",color:"text.primary",mb:{xs:.5,md:1}},children:e("payment.checkout.creditTopup.title",{name:B})}),j&&t.jsx(b,{sx:{display:"flex",alignItems:"flex-start",gap:1,mb:{xs:1.5,md:2.5}},children:t.jsx(g,{sx:{fontSize:{xs:13,md:15},fontWeight:500,color:"text.secondary",lineHeight:1.5},children:fe})}),pe&&t.jsxs(D,{direction:"row",alignItems:"flex-start",spacing:1.5,sx:{mb:{xs:1.5,md:2.5},p:{xs:1.5,md:2},borderRadius:"12px",bgcolor:A=>A.palette.mode==="dark"?"rgba(255,152,0,0.12)":"rgba(255,152,0,0.08)",border:"1px solid",borderColor:A=>A.palette.mode==="dark"?"rgba(255,152,0,0.25)":"rgba(255,152,0,0.2)"},children:[t.jsx($n,{sx:{fontSize:18,color:"warning.main",mt:.25,flexShrink:0}}),t.jsx(g,{sx:{fontSize:{xs:12,md:13},fontWeight:600,lineHeight:1.5,color:"text.primary"},children:Rn})]}),Y?t.jsxs(b,{sx:{display:"flex",flexDirection:"column",maxWidth:480},children:[t.jsx(g,{sx:{fontSize:{xs:14,md:17},fontWeight:700,color:"text.secondary",mt:{xs:3,md:5},mb:{xs:2,md:3}},children:e("payment.checkout.creditTopup.question",{symbol:N})}),t.jsxs(b,{sx:{display:"flex",alignItems:"center",gap:{xs:1.5,md:2}},children:[t.jsx(Ve,{onClick:()=>Oe(-1),disabled:Ue<=W,sx:Et,children:t.jsx(b,{component:"span",sx:{fontSize:{xs:22,md:28},fontWeight:300,lineHeight:1,mt:"-1px"},children:"−"})}),t.jsxs(b,{sx:{flex:1,minWidth:0,textAlign:"center",cursor:Y?"text":"default"},onClick:Pn,children:[t.jsx(b,{sx:{height:Ct,display:"flex",alignItems:"center",justifyContent:"center"},children:Z?t.jsx(xt,{inputRef:M,value:ke,onChange:A=>S(A.target.value.replace(/\D/g,"")),onBlur:tt,onKeyDown:Tn,autoFocus:!0,inputProps:{inputMode:"numeric",pattern:"[0-9]*"},sx:{width:"100%",bgcolor:"transparent","&.Mui-focused":{bgcolor:"transparent"},"& input":{textAlign:"center",...It,p:0,fontFamily:"inherit",bgcolor:"transparent","&:focus":{bgcolor:"transparent"}}}}):t.jsx(g,{sx:{...It,color:"text.primary",userSelect:"none"},children:En})}),t.jsx(b,{sx:{display:"flex",alignItems:"center",justifyContent:"center",gap:.75,mt:1},children:t.jsx(g,{sx:{fontSize:{xs:12,md:14},fontWeight:700,color:"text.secondary",textTransform:"uppercase",letterSpacing:"0.05em"},children:N})})]}),t.jsx(Ve,{onClick:()=>Oe(1),disabled:Ue>=J,sx:Et,children:t.jsx(b,{component:"span",sx:{fontSize:{xs:22,md:28},fontWeight:300,lineHeight:1},children:"+"})})]}),O>1&&t.jsx(g,{sx:{fontSize:11,fontWeight:600,color:"grey.500",textTransform:"uppercase",letterSpacing:"0.08em",textAlign:"center",mt:{xs:1.5,md:2}},children:e("payment.checkout.creditTopup.increment",{step:Re(O,6,!0,!0),symbol:N})}),jt&&t.jsxs(b,{sx:{display:"flex",flexDirection:"column",mt:{xs:3,md:4},borderRadius:"20px",backdropFilter:"blur(12px)",bgcolor:A=>A.palette.mode==="dark"?"rgba(59,130,246,0.08)":"rgba(59,130,246,0.04)",border:"1px solid",borderColor:A=>A.palette.mode==="dark"?"rgba(59,130,246,0.18)":"rgba(59,130,246,0.10)",boxShadow:A=>A.palette.mode==="dark"?"0 8px 32px rgba(59,130,246,0.06)":"0 8px 32px rgba(59,130,246,0.04)"},children:[t.jsxs(b,{sx:{p:{xs:2.5,md:3.5}},children:[t.jsxs(g,{sx:{fontSize:{xs:16,md:20},fontWeight:700,color:"primary.main",mb:.5},children:[e("payment.checkout.creditTopup.willReceive"),": ",t.jsx(b,{component:"span",sx:{fontWeight:800},children:Be(kt,N,n)})]}),t.jsxs(b,{sx:{display:"flex",alignItems:"center",gap:.75,mb:.5},children:[t.jsx(Wn,{sx:{fontSize:16,color:"text.secondary"}}),t.jsx(g,{sx:{fontSize:{xs:12,md:14},fontWeight:600,color:"text.secondary"},children:e("payment.checkout.creditTopup.packInfo",{packs:Ue,perPack:Re(O,6,!0,!0)})})]}),t.jsx(g,{sx:{fontSize:{xs:12,md:13},fontWeight:500,color:"grey.500"},children:e("payment.checkout.creditTopup.autoMatch")})]}),me&&t.jsxs(b,{sx:{display:"flex",alignItems:"center",gap:.75,px:{xs:2.5,md:3.5},py:{xs:1.5,md:2},borderTop:"1px solid",borderColor:A=>A.palette.mode==="dark"?"rgba(59,130,246,0.15)":"rgba(59,130,246,0.08)"},children:[t.jsx(Pt,{sx:{fontSize:14,color:"grey.500"}}),t.jsx(g,{sx:{fontSize:{xs:12,md:13},fontWeight:500,color:"grey.500"},children:me})]})]}),!jt&&me&&t.jsxs(b,{sx:{display:"flex",alignItems:"center",gap:.75,mt:{xs:2.5,md:3.5}},children:[t.jsx(On,{sx:{fontSize:14,color:"grey.500"}}),t.jsx(g,{sx:{fontSize:{xs:12,md:13},fontWeight:500,color:"grey.500"},children:me})]})]}):t.jsxs(b,{sx:{display:"flex",flexDirection:"column",mt:{xs:2,md:3},borderRadius:"20px",backdropFilter:"blur(12px)",bgcolor:A=>A.palette.mode==="dark"?"rgba(59,130,246,0.08)":"rgba(59,130,246,0.04)",border:"1px solid",borderColor:A=>A.palette.mode==="dark"?"rgba(59,130,246,0.18)":"rgba(59,130,246,0.10)",boxShadow:A=>A.palette.mode==="dark"?"0 8px 32px rgba(59,130,246,0.06)":"0 8px 32px rgba(59,130,246,0.04)"},children:[t.jsxs(b,{sx:{p:{xs:2.5,md:3.5}},children:[t.jsx(g,{sx:{fontSize:{xs:13,md:14},fontWeight:600,color:"text.secondary",mb:1},children:e("payment.checkout.creditTopup.willReceive")}),t.jsx(b,{sx:{display:"flex",alignItems:"center",gap:1.5},children:t.jsx(g,{sx:{fontSize:{xs:32,md:48},fontWeight:800,lineHeight:1,letterSpacing:"-0.03em",color:"primary.main"},children:Be(kt,N,n)})})]}),me&&t.jsxs(b,{sx:{display:"flex",alignItems:"center",gap:.75,px:{xs:2.5,md:3.5},py:{xs:1.5,md:2},borderTop:"1px solid",borderColor:A=>A.palette.mode==="dark"?"rgba(59,130,246,0.15)":"rgba(59,130,246,0.08)"},children:[t.jsx(Pt,{sx:{fontSize:14,color:"grey.500"}}),t.jsx(g,{sx:{fontSize:{xs:12,md:13},fontWeight:500,color:"grey.500"},children:me})]})]})]}),t.jsxs(b,{sx:{flexShrink:0},children:[u.hasDynamicPricing&&u.status==="unavailable"&&!c&&t.jsxs(D,{direction:"row",alignItems:"center",spacing:.75,sx:{mb:2},children:[t.jsx(g,{sx:{fontSize:13,color:"text.secondary",fontWeight:500},children:e("payment.dynamicPricing.unavailable.title")}),t.jsx(g,{component:"span",onClick:u.refresh,sx:{fontSize:13,color:"primary.main",fontWeight:600,cursor:"pointer","&:hover":{textDecoration:"underline"}},children:e("payment.dynamicPricing.unavailable.retry")})]}),t.jsx(ln,{hasDynamicPricing:u.hasDynamicPricing,rate:{value:u.value,display:u.display,provider:u.provider,providerDisplay:u.providerDisplay,fetchedAt:u.fetchedAt,status:u.status},slippage:{percent:m.percent,set:m.set},currencySymbol:a?.symbol||"",isSubscription:["subscription","setup"].includes(r?.mode||"payment")})]})]})}const Mi=Cn;function zi(){const{session:e,items:n}=_e();switch(Ii(e,n)){case"subscription":return t.jsx(Mi,{});case"credit-topup":return t.jsx(Di,{});default:return t.jsx(Cn,{})}}function Ni({value:e,country:n,onChange:r,onCountryChange:i,label:s,error:o=void 0,onBlur:a=void 0}){const c=p.useRef(!1),l=p.useCallback(x=>{if(!c.current)try{c.current=!0,x()}finally{requestAnimationFrame(()=>{c.current=!1})}},[]),{phone:u,handlePhoneValueChange:m,inputRef:d,country:f,setCountry:_}=ur({defaultCountry:dr(n)?n:"us",value:e||"",countries:mr,onChange:x=>{l(()=>{r(x.phone),i(x.country)})}});Jn(()=>{pr().catch(x=>{console.error("Failed to preload phone validator:",x)})}),p.useEffect(()=>{!n||n===f||l(()=>{_(n)})},[n,f,_,l]);const h=p.useCallback(x=>{l(()=>{_(x),i(x)})},[_,l,i]);return t.jsxs(b,{sx:{mb:1.5},children:[t.jsx(g,{sx:{fontSize:13,fontWeight:600,color:"text.primary",mb:.5},children:s}),t.jsx(xt,{fullWidth:!0,value:u,onChange:m,onBlur:a,type:"tel",inputRef:d,startAdornment:t.jsx(ht,{position:"start",sx:{mr:.25,ml:-.5},children:t.jsx(dn,{value:f,onChange:h,sx:{".MuiOutlinedInput-notchedOutline":{borderColor:"transparent !important"},"& .MuiSelect-select":{py:0,pr:"20px !important"}},showDialCode:!0})}),sx:{bgcolor:x=>x.palette.mode==="dark"?"rgba(255,255,255,0.06)":"grey.50",borderRadius:"8px",px:1.5,py:.75,fontSize:14,"& .MuiInputBase-input":{p:0}}}),o&&t.jsx(g,{sx:{fontSize:12,color:"error.main",mt:.25},children:o})]})}const Fi=e=>({customer_name:e("payment.checkout.customer.name"),customer_email:e("payment.checkout.customer.email"),customer_phone:e("payment.checkout.customer.phone"),"billing_address.country":e("payment.checkout.billing.country"),"billing_address.state":e("payment.checkout.billing.state"),"billing_address.city":e("payment.checkout.billing.city"),"billing_address.line1":e("payment.checkout.billing.line1"),"billing_address.line2":e("payment.checkout.billing.line2"),"billing_address.postal_code":e("payment.checkout.billing.postal_code")});function $i({form:e,isLoggedIn:n}){const{t:r}=be(),i=Fi(r),[s,o]=p.useState(!1),[a,c]=p.useState(!1),l=p.useRef(!1);p.useEffect(()=>{l.current||!e.prefetched&&!e.values.customer_name&&!e.values.customer_email||(l.current=!0,e.checkValid().then(m=>{o(!m),c(!0)}))},[e.prefetched]);const u=p.useCallback((m,d)=>e.onChange(m,d),[e.onChange]);return p.useEffect(()=>{a&&!s&&Object.keys(e.errors).length>0&&o(!0)},[e.errors]),!n||!a?null:s?t.jsxs(b,{sx:{mt:2},children:[t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{mb:1},children:[t.jsx(g,{sx:{fontSize:13,fontWeight:600,color:"text.secondary"},children:r("payment.checkout.customerInfo")}),t.jsx(Ee,{size:"small",variant:"text",onClick:()=>o(!1),sx:{minWidth:0,fontSize:13,fontWeight:600,p:0},children:r("common.confirm")})]}),t.jsx(D,{spacing:0,sx:{p:2,backgroundColor:"background.paper",borderRadius:1,border:"1px solid",borderColor:"divider"},children:e.fields.filter(m=>m.name!=="billing_address.country").map(m=>{const{name:d}=m,f=i[d]||d,_=d.includes(".")?d.split(".").reduce((k,F)=>k?.[F],e.values):e.values[d],h=d==="billing_address.postal_code";return d==="customer_phone"?t.jsx(Ni,{value:_||"",country:e.values.billing_address?.country||"",onChange:k=>u("customer_phone",k),onCountryChange:k=>u("billing_address.country",k),onBlur:()=>e.validateField(d),label:f,error:e.errors[d]},d):t.jsxs(b,{sx:{mb:1.5},children:[t.jsx(g,{sx:{fontSize:13,fontWeight:600,color:"text.primary",mb:.5},children:f}),t.jsx(xt,{fullWidth:!0,value:_||"",onChange:k=>u(d,k.target.value),onBlur:()=>e.validateField(d),startAdornment:h?t.jsx(ht,{position:"start",sx:{mr:.5,ml:-.5},children:t.jsx(dn,{value:e.values.billing_address?.country||"",onChange:k=>u("billing_address.country",k),sx:{".MuiOutlinedInput-notchedOutline":{borderColor:"transparent !important"},"& .MuiSelect-select":{py:0,pr:"20px !important"}}})}):void 0,sx:{bgcolor:k=>k.palette.mode==="dark"?"rgba(255,255,255,0.06)":"grey.50",borderRadius:"8px",px:1.5,py:.75,fontSize:14,"& .MuiInputBase-input":{p:0}}}),e.errors[d]&&t.jsx(g,{sx:{fontSize:12,color:"error.main",mt:.25},children:e.errors[d]})]},d)})})]}):t.jsxs(b,{sx:{mt:2},children:[t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{mb:1},children:[t.jsx(g,{sx:{fontSize:13,fontWeight:600,color:"text.secondary"},children:r("payment.checkout.customerInfo")}),t.jsx(Ee,{size:"small",variant:"text",onClick:()=>o(!0),sx:{minWidth:0,fontSize:13,fontWeight:600,p:0},children:r("common.edit")})]}),t.jsxs(D,{spacing:.5,sx:{p:2,backgroundColor:"background.paper",borderRadius:1,border:"1px solid",borderColor:"divider"},children:[e.values.customer_name&&t.jsx(g,{variant:"body2",sx:{color:"text.primary",fontWeight:600,fontSize:"0.9375rem"},children:e.values.customer_name}),e.values.customer_email&&t.jsx(g,{variant:"body2",sx:{color:"text.secondary",fontSize:"0.8125rem"},children:e.values.customer_email}),e.fields.some(m=>m.name==="customer_phone")&&e.values.customer_phone&&t.jsx(g,{variant:"body2",sx:{color:"text.secondary",fontSize:"0.8125rem"},children:e.values.customer_phone}),(e.values.billing_address?.country||e.values.billing_address?.state||e.values.billing_address?.postal_code)&&t.jsxs(D,{direction:"row",alignItems:"center",spacing:.75,children:[e.values.billing_address?.country&&t.jsx(b,{component:"span",sx:{fontSize:14,lineHeight:1},children:fr(e.values.billing_address.country)}),t.jsxs(g,{variant:"body2",sx:{color:"text.secondary",fontSize:"0.8125rem"},children:[e.values.billing_address?.state||"",e.values.billing_address?.postal_code?` [ ${r("payment.checkout.billing.postal_code")}: ${e.values.billing_address.postal_code} ]`:""]})]})]})]})}function Wi({mode:e,subscription:n,staking:r,appName:i}){const{t:s}=be();return!["subscription","setup"].includes(e)||!n?null:t.jsx(g,{sx:{mt:2.5,color:"text.secondary",fontSize:"0.7875rem",lineHeight:"0.9625rem"},children:n.confirmMessage||(n.showStake&&r?s("payment.checkout.confirm.withStake",{payee:i||"New Payment Kit"}):s("payment.checkout.confirm.withoutStake",{payee:i||"New Payment Kit"}))})}function Oi({status:e,context:n,onReset:r}){const{t:i}=be(),s=p.useRef(e);return p.useEffect(()=>{if(e!==s.current&&(s.current=e,e==="failed"&&n?.type==="error")){if(n.code==="CUSTOMER_LIMITED"||n.code==="STOP_ACCEPTING_ORDERS")return;Fe.error(n.message||"Payment failed"),r()}},[e,n,i,r]),null}function Xt({promotion:e,discounts:n,discountAmount:r,currency:i=null,initialShowInput:s=!1,isAmountLoading:o=!1}){const{t:a,locale:c}=be(),[l,u]=p.useState(!1),[m,d]=p.useState(""),[f,_]=p.useState(!1),[h,x]=p.useState(""),k=s||l,F=async()=>{if(!m.trim())return;_(!0),x("");const C=await e.apply(m.trim());C.success?(d(""),u(!1)):x(C.error||"Invalid code"),_(!1)},w=C=>{C.key==="Enter"&&!f&&m.trim()&&F()};return n?.length>0?t.jsx(b,{children:n.map((C,E)=>{const y=C.promotion_code_details?.code||C.verification_data?.code||C.promotion_code||"",I=C.coupon_details||{},N=I&&i?xr(I,i,c):"";return t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"center",children:[t.jsxs(D,{direction:"row",alignItems:"center",spacing:.5,sx:{bgcolor:$=>$.palette.mode==="dark"?"rgba(18,184,134,0.1)":"#ebfef5",px:1.5,py:.5,borderRadius:"8px",border:"1px solid",borderColor:$=>$.palette.mode==="dark"?"rgba(18,184,134,0.2)":"#d3f9e8"},children:[t.jsx(en,{sx:{color:"#12b886",fontSize:14}}),t.jsx(g,{sx:{fontWeight:700,fontSize:13,color:"#12b886"},children:y}),N&&t.jsxs(g,{sx:{fontSize:12,color:"#12b886",fontWeight:500,opacity:.8},children:["· ",N]}),t.jsx(Ve,{size:"small",onClick:e.remove,sx:{width:18,height:18,ml:.25},children:t.jsx(on,{sx:{fontSize:12,color:"#12b886"}})})]}),o?t.jsx(Ne,{variant:"text",width:80,height:22}):t.jsxs(g,{sx:{color:"text.primary",fontWeight:600,fontSize:14},children:["-",r||"0"]})]},C.promotion_code||C.coupon||E)})}):e.active?t.jsx(b,{sx:{minHeight:36},children:k?t.jsxs(b,{onBlur:C=>{s||!C.currentTarget.contains(C.relatedTarget)&&!m.trim()&&u(!1)},children:[t.jsx(tn,{fullWidth:!0,size:"small",value:m,onChange:C=>d(C.target.value),onKeyPress:w,placeholder:a("payment.checkout.promotion.placeholder"),disabled:f,autoFocus:!0,slotProps:{input:{endAdornment:t.jsx(ht,{position:"end",children:t.jsx(Ee,{size:"small",onClick:F,disabled:!m.trim()||f,variant:"text",sx:{color:"primary.main",fontSize:13,textTransform:"none",minWidth:"auto",fontWeight:600},children:f?t.jsx(ft,{size:16}):a("payment.checkout.promotion.apply")})})}},sx:{"& .MuiOutlinedInput-root":{pr:1,borderRadius:"8px",height:36},"& .MuiOutlinedInput-input":{py:"6px",fontSize:13}}}),h&&t.jsx(Un,{severity:"error",sx:{mt:.5,py:0,fontSize:12,borderRadius:"6px"},children:h})]}):t.jsx(Ee,{onClick:()=>u(!0),startIcon:t.jsx(nn,{sx:{fontSize:18}}),variant:"text",sx:{fontWeight:600,fontSize:13,textTransform:"none",justifyContent:"flex-start",p:0,height:36,color:"primary.main","&:hover":{backgroundColor:"transparent",textDecoration:"underline"}},children:a("payment.checkout.promotion.add_code")})}):null}function Ui(){const{t:e,locale:n}=be(),{session:r,sessionData:i,subscription:s,refresh:o}=_e(),{isDonation:a}=wt(),c=wi(),l=jn(),u=et(),m=kn(),{session:d,connect:f,prefix:_}=un(),{inventoryOk:h}=St(),x=vi(),k=vt(),{isMobile:F}=Ze(),w=c.switching||k.hasDynamicPricing&&k.status==="loading",{currency:C,types:E,isStripe:y,isCrypto:I}=c,N=r?.mode||"payment",$=r?.discounts||[],R=!!d?.user,B=e(a?"payment.checkout.donate":`payment.checkout.${N}`),H=R?B:e("payment.checkout.connect",{action:B}),[G,V]=p.useState(!1),[Q,te]=p.useState(!1),[O,oe]=p.useState(!1);p.useEffect(()=>{u.status==="failed"&&u.context?.code==="CUSTOMER_LIMITED"&&V(!0)},[u.status,u.context]);const Y=u.status==="idle"&&r?.status==="open"&&h,W=["submitting","waiting_did"].includes(u.status),se=p.useCallback(()=>{if(Y){if(u.lock(),R||a){u.execute();return}d?.login?.(()=>{Promise.all([o(!0),l.refetchCustomer()]).then(()=>u.execute()).catch(j=>{console.error("Post-login refresh failed:",j)})})}},[Y,R,a,d,o,l,u]);p.useEffect(()=>{d?.user&&!u.status.startsWith("submitting")&&l.refetchCustomer()},[d?.user]);const J=E.find(j=>j.type==="crypto"),ne=p.useMemo(()=>c.available.filter(j=>j.type!=="stripe"),[c.available]),U=p.useMemo(()=>ne.length?ne.map(j=>({id:j.id,name:j.name,logo:j.logo||"",currencies:j.payment_currencies||[]})):[],[ne]),pe=c.current?.id||"";p.useEffect(()=>{const j=K=>{if(K.key==="Enter"&&Y&&u.status==="idle"){if(K.target?.tagName?.toLowerCase()==="textarea")return;se()}};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[Y,u.status,se]);const he=p.useRef(!1),le=p.useRef(!1),P=p.useRef(u.status);p.useEffect(()=>{P.current=u.status},[u.status]),p.useEffect(()=>{if(u.status!=="waiting_did"){he.current=!1,le.current=!1;return}const j=u.context;if(j?.type!=="did_connect"||!f||he.current)return;he.current=!0;const K=`${_||window.location.origin}/api/did`.replace(/([^:])\/\//g,"$1/");f.open({locale:n,action:j.action,prefix:K,saveConnect:!1,extraParams:j.extraParams,onSuccess:async()=>{le.current=!0,f.close(),await u.didConnectComplete()},onClose:()=>{f.close(),P.current==="waiting_did"&&(le.current||u.reset())},onError:v=>{console.error("DID Connect error:",v),P.current==="waiting_did"&&u.reset()},messages:{title:e("payment.checkout.connectModal.title",{action:H}),scan:e("payment.checkout.connectModal.scan"),confirm:e("payment.checkout.connectModal.confirm")}})},[u.status,u.context,f,n,e,H]);const fe=E.find(j=>j.active)?.type||"crypto",me=E.length>1;return t.jsxs(b,{sx:{display:"flex",flexDirection:"column",flex:1,minHeight:0},children:[t.jsxs(b,{sx:{flex:1,display:"flex",flexDirection:"column",overflowY:"auto",minHeight:0,"&::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"},children:[t.jsx(g,{sx:{fontSize:13,fontWeight:700,letterSpacing:"0.02em",color:"text.primary",mb:2.5},children:e("payment.checkout.paymentDetails")}),me&&t.jsx(Ln,{value:fe,exclusive:!0,onChange:(j,K)=>K&&c.setType(K),fullWidth:!0,size:"small",sx:{mb:2.5,bgcolor:j=>j.palette.mode==="dark"?"rgba(255,255,255,0.06)":"grey.100",borderRadius:"10px",p:.5,"& .MuiToggleButton-root":{textTransform:"none",borderRadius:"8px !important",py:.75,border:"none",fontSize:14,fontWeight:500,gap:.75,color:"text.secondary"},"& .Mui-selected":{bgcolor:"background.paper !important",color:"text.primary",fontWeight:600,boxShadow:j=>j.palette.mode==="dark"?"0 1px 3px rgba(0,0,0,0.3)":"0 1px 3px rgba(0,0,0,0.08)","&:hover":{bgcolor:"background.paper !important"}}},children:E.map(j=>t.jsxs(qn,{value:j.type,children:[j.type==="stripe"?t.jsx(Bn,{sx:{fontSize:18}}):t.jsx(Hn,{sx:{fontSize:18}}),j.label||(j.type==="stripe"?"Card":"Crypto")]},j.type))}),I&&U.length>0&&t.jsxs(D,{direction:"row",spacing:1.5,sx:{mb:2.5},children:[U.length>1&&t.jsxs(b,{sx:{flex:1},children:[t.jsx(g,{sx:{fontSize:12,fontWeight:600,color:"text.secondary",mb:.5,letterSpacing:"0.02em"},children:e("common.network")}),t.jsx(nt,{value:pe,onChange:j=>{const K=U.find(v=>v.id===j.target.value);K?.currencies?.[0]&&c.setCurrency(K.currencies[0].id)},fullWidth:!0,size:"small",sx:{borderRadius:"8px",bgcolor:j=>j.palette.mode==="dark"?"rgba(255,255,255,0.06)":"grey.50","& .MuiOutlinedInput-notchedOutline":{borderColor:"transparent"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"divider"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:1},"& .MuiSelect-select":{display:"flex",alignItems:"center",gap:1,py:1}},children:U.map(j=>t.jsxs(rt,{value:j.id,sx:{gap:1},children:[j.logo&&t.jsx(Ce,{src:j.logo,sx:{width:20,height:20}}),t.jsx(g,{sx:{fontSize:14},children:j.name})]},j.id))})]}),t.jsxs(b,{sx:{flex:1},children:[t.jsx(g,{sx:{fontSize:12,fontWeight:600,color:"text.secondary",mb:.5,letterSpacing:"0.02em"},children:e("common.currency")}),t.jsx(nt,{value:C?.id||"",onChange:j=>c.setCurrency(j.target.value),fullWidth:!0,size:"small",sx:{borderRadius:"8px",bgcolor:j=>j.palette.mode==="dark"?"rgba(255,255,255,0.06)":"grey.50","& .MuiOutlinedInput-notchedOutline":{borderColor:"transparent"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"divider"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main",borderWidth:1},"& .MuiSelect-select":{display:"flex",alignItems:"center",gap:1,py:1}},children:(I&&U.length>1?U.find(j=>j.id===pe)?.currencies||[]:J?.currencies||[]).map(j=>t.jsxs(rt,{value:j.id,sx:{gap:1},children:[j.logo&&t.jsx(Ce,{src:j.logo,sx:{width:20,height:20}}),t.jsx(g,{sx:{fontSize:14},children:j.symbol}),t.jsx(g,{sx:{fontSize:12,color:"text.secondary",ml:.5},children:j.name})]},j.id))})]})]}),y&&C&&t.jsxs(b,{sx:{mb:2.5},children:[t.jsx(g,{sx:{fontSize:12,fontWeight:600,color:"text.secondary",mb:.5,letterSpacing:"0.02em"},children:e("common.currency")}),t.jsx(nt,{value:C.id||"usd",readOnly:!0,fullWidth:!0,size:"small",IconComponent:()=>null,sx:{borderRadius:"8px",bgcolor:j=>j.palette.mode==="dark"?"rgba(255,255,255,0.06)":"grey.50","& .MuiOutlinedInput-notchedOutline":{borderColor:"transparent !important"},"& .MuiSelect-select":{display:"flex",alignItems:"center",gap:1,py:1}},children:t.jsxs(rt,{value:C.id||"usd",sx:{gap:1},children:[C.logo&&t.jsx(Ce,{src:C.logo,sx:{width:20,height:20}}),t.jsx(g,{sx:{fontSize:14,fontWeight:600},children:C.symbol}),t.jsx(g,{sx:{fontSize:12,color:"text.secondary",ml:.5},children:C.name})]})})]}),t.jsx($i,{form:l,isLoggedIn:R})]}),t.jsxs(b,{className:"cko-v2-submit-btn",sx:{flexShrink:0},children:[F&&m.staking&&t.jsxs(t.Fragment,{children:[t.jsxs(b,{onClick:()=>te(!Q),sx:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer",mb:1},children:[t.jsx(g,{sx:{fontSize:13,fontWeight:600,color:"text.secondary"},children:e("payment.checkout.orderSummary")}),t.jsx(sn,{sx:{fontSize:18,color:"text.secondary",transition:"0.2s",transform:Q?"rotate(180deg)":"rotate(0deg)"}})]}),t.jsxs(mt,{in:Q,children:[t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{mb:1},children:[t.jsxs(D,{direction:"row",spacing:.5,alignItems:"center",children:[t.jsx(g,{sx:{fontSize:13,color:"text.secondary"},children:e("payment.checkout.staking.title")}),t.jsx(Tt,{sx:{fontSize:14,color:"text.disabled"}})]}),w?t.jsx(Ne,{variant:"text",width:60,height:18}):t.jsxs(g,{sx:{fontSize:13,fontWeight:600},children:["+",m.staking]})]}),t.jsx(lt,{sx:{mb:1}})]})]}),!F&&t.jsxs(t.Fragment,{children:[t.jsx(lt,{sx:{mb:2}}),m.staking&&t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{mb:1},children:[t.jsxs(D,{direction:"row",spacing:.5,alignItems:"center",children:[t.jsx(g,{sx:{fontSize:14,color:"text.secondary"},children:e("payment.checkout.staking.title")}),t.jsx(Vn,{title:e("payment.checkout.staking.tooltip"),placement:"top",arrow:!0,slotProps:{popper:{sx:hr}},children:t.jsx(Tt,{sx:{fontSize:16,color:"text.disabled"}})})]}),w?t.jsx(Ne,{variant:"text",width:80,height:22}):t.jsxs(g,{sx:{fontSize:14,fontWeight:600},children:["+",m.staking]})]}),t.jsx(Xt,{promotion:{applied:x.applied,code:x.code,active:x.active,inactiveReason:x.inactiveReason,apply:x.apply,remove:x.remove},discounts:$,discountAmount:m.discount,currency:C,isAmountLoading:w})]}),(()=>{const K=(m.total||"0").split(/\s+/),v=K[0]||"0",T=K.slice(1).join(" ")||C?.symbol||"",q=v.indexOf("."),re=q>=0?v.slice(0,q):v,Z=q>=0?v.slice(q):"";return t.jsxs(b,{sx:{mb:F?1.5:2.5},children:[t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"flex-end",children:[t.jsx(g,{sx:{fontWeight:700,fontSize:14,color:"text.secondary",pb:.5},children:e("common.totalDue")}),w?t.jsx(Ne,{variant:"text",width:140,height:44}):t.jsxs(b,{sx:{textAlign:"right"},children:[t.jsx(g,{component:"span",sx:{fontSize:{xs:28,md:36},fontWeight:800,color:"text.primary",lineHeight:1,transition:"opacity 0.3s ease"},children:re}),Z&&t.jsx(g,{component:"span",sx:{fontSize:{xs:16,md:20},fontWeight:700,color:"text.secondary",lineHeight:1},children:Z}),t.jsx(g,{component:"span",sx:{fontSize:{xs:14,md:16},fontWeight:600,color:"text.secondary",ml:.75},children:T})]})]}),(m.usdEquivalent||F&&x.active)&&!w&&t.jsxs(D,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{mt:.25},children:[F&&!x.applied&&x.active?t.jsxs(b,{onClick:()=>oe(!0),sx:{display:"flex",alignItems:"center",gap:.5,cursor:"pointer"},children:[t.jsx(At,{sx:{fontSize:14,color:"primary.main"}}),t.jsx(g,{sx:{fontSize:12,fontWeight:600,color:"primary.main"},children:xe(e,"payment.checkout.promotion.add","Add promo code")})]}):F&&x.applied?t.jsxs(D,{direction:"row",alignItems:"center",spacing:.5,children:[t.jsx(At,{sx:{fontSize:14,color:"success.main"}}),t.jsx(g,{sx:{fontSize:12,fontWeight:600,color:"success.main"},children:x.code}),m.discount&&t.jsxs(g,{sx:{fontSize:11,color:"text.secondary"},children:["(-",m.discount,")"]}),t.jsx(on,{onClick:x.remove,sx:{fontSize:14,color:"error.main",cursor:"pointer",ml:.25}})]}):t.jsx(b,{}),m.usdEquivalent&&t.jsxs(g,{sx:{fontSize:13,color:"text.secondary"},children:["≈ ",m.usdEquivalent]})]})]})})(),t.jsxs(Ee,{variant:"contained",size:"large",fullWidth:!0,disabled:!Y||u.status==="waiting_stripe",onClick:se,startIcon:W?t.jsx(ft,{size:20,color:"inherit"}):null,sx:{py:1.5,fontSize:"1.1rem",fontWeight:600,textTransform:"none",borderRadius:"12px",color:j=>$e(j),position:"relative",overflow:"hidden","&:hover":{bgcolor:"primary.main"},"&:hover .arrow-icon":{transform:"translateX(4px)"},"&:hover .shine-layer":{transform:"translateX(100%)"}},children:[t.jsx(b,{component:"span",sx:{position:"relative",zIndex:1},children:W?`${e("payment.checkout.processing")}...`:H}),!W&&t.jsx(Qn,{className:"arrow-icon",sx:{ml:1,position:"relative",zIndex:1,transition:"transform 0.2s ease"}}),t.jsx(b,{className:"shine-layer",sx:{position:"absolute",inset:0,background:"linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent)",transform:"translateX(-100%)",transition:"transform 0.7s ease",pointerEvents:"none"}})]}),F&&t.jsxs(D,{direction:"row",alignItems:"center",justifyContent:"center",spacing:.75,sx:{mt:1.5,opacity:.55},children:[t.jsx(Dt,{sx:{fontSize:13,color:"text.secondary"}}),t.jsx(g,{sx:{fontSize:11,color:"text.secondary"},children:xe(e,"payment.checkout.ssl","SSL Secure")}),t.jsx(g,{sx:{fontSize:11,color:"text.disabled"},children:"·"}),t.jsx(g,{sx:{fontSize:11,color:"text.secondary"},children:xe(e,"common.terms","Terms")}),t.jsx(g,{sx:{fontSize:11,color:"text.disabled"},children:"|"}),t.jsx(g,{sx:{fontSize:11,color:"text.secondary"},children:xe(e,"common.privacy","Privacy")})]})]}),F&&t.jsxs(Kn,{anchor:"bottom",open:O,onClose:()=>oe(!1),PaperProps:{sx:{borderRadius:"16px 16px 0 0",p:3,pb:4,minHeight:"30vh"}},children:[t.jsx(b,{sx:{width:40,height:4,bgcolor:"divider",borderRadius:2,mx:"auto",mb:3}}),t.jsx(g,{sx:{fontWeight:700,fontSize:16,mb:2},children:xe(e,"payment.checkout.promotion.add","Add promo code")}),t.jsx(Xt,{initialShowInput:!0,promotion:{applied:x.applied,code:x.code,active:x.active,inactiveReason:x.inactiveReason,apply:async(...j)=>{const K=await x.apply(...j);return K.success&&oe(!1),K},remove:x.remove},discounts:$,discountAmount:m.discount,currency:C})]}),t.jsxs(b,{sx:{flexShrink:0},children:[t.jsx(Wi,{mode:N,subscription:s,staking:m.staking,appName:gr(r?.line_items||[])}),!F&&t.jsxs(D,{direction:"row",alignItems:"center",justifyContent:"center",spacing:.75,sx:{mt:2.5,opacity:.55},children:[t.jsx(Dt,{sx:{fontSize:13,color:"text.secondary"}}),t.jsx(g,{sx:{fontSize:11,color:"text.secondary"},children:xe(e,"payment.checkout.ssl","SSL Secure")}),t.jsx(g,{sx:{fontSize:11,color:"text.disabled"},children:"·"}),t.jsx(g,{sx:{fontSize:11,color:"text.secondary"},children:xe(e,"common.terms","Terms")}),t.jsx(g,{sx:{fontSize:11,color:"text.disabled"},children:"|"}),t.jsx(g,{sx:{fontSize:11,color:"text.secondary"},children:xe(e,"common.privacy","Privacy")})]})]}),t.jsx(Oi,{status:u.status,context:u.context,onReset:u.reset}),G&&t.jsx(yr,{customerId:i?.customer?.id||r?.user?.did,onPaid:()=>{V(!1),u.retry()},alertMessage:e("payment.customer.pastDue.alert.customMessage"),detailLinkOptions:{enabled:!0,onClick:()=>{V(!1),window.open(an(pn(),`/customer/invoice/past-due?referer=${encodeURIComponent(window.location.href)}`),"_self")}},dialogProps:{open:G,onClose:()=>{V(!1),u.reset()},title:e("payment.customer.pastDue.alert.title")}})]})}function Li(e){try{const r=new URLSearchParams(window.location.search).get("redirect");if(r)return decodeURIComponent(r)}catch{}if(e?.success_url)return e.success_url;if(e?.payment_link?.after_completion?.redirect?.url)return e.payment_link.after_completion.redirect.url}function qi(){const{t:e}=be(),{session:n}=_e(),{currency:r,stripe:i}=Ie(),s=et(),o=jn(),a=n?.mode||"payment",c=s.context?.type==="stripe"?s.context:null,l=s.status==="waiting_stripe"&&c?.clientSecret;return t.jsxs(t.Fragment,{children:[l&&t.jsx(br,{clientSecret:c.clientSecret,intentType:c.intentType||"payment_intent",publicKey:i?.publishableKey||"",mode:a,customer:{name:o.values.customer_name,email:o.values.customer_email,phone:o.values.customer_phone,address:o.values.billing_address},returnUrl:Li(n),onConfirm:s.stripeConfirm,onCancel:s.stripeCancel,onSkip:c.noPaymentRequired&&`${n?.metadata?.allow_skip_payment_method}`=="true"?s.stripeSkip:void 0}),s.status==="confirming_price"&&s.context?.type==="price_change"&&t.jsx(_r,{open:!0,changePercent:s.context.changePercent,onConfirm:s.confirm,onCancel:s.cancel,loading:!1}),s.status==="confirming_fast_pay"&&s.context?.type==="fast_pay"&&t.jsx(Mt,{onConfirm:s.confirm,onCancel:s.cancel,title:s.context.payType==="credit"?e("payment.checkout.fastPay.credit.title"):e("payment.checkout.fastPay.title"),message:s.context.payType==="credit"?t.jsx(g,{children:e("payment.checkout.fastPay.credit.meteringSubscriptionMessage",{available:`${He(s.context.amount||"0",r)} ${r?.symbol||""}`})}):t.jsxs(D,{children:[t.jsx(g,{children:e("payment.checkout.fastPay.autoPaymentReason")}),t.jsx(lt,{sx:{mt:1.5,mb:1.5}}),t.jsxs(D,{spacing:1,children:[t.jsxs(D,{sx:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[t.jsx(g,{sx:{color:"text.primary",whiteSpace:"nowrap"},children:e("payment.checkout.fastPay.payer")}),t.jsx(g,{sx:{color:"text.secondary",fontSize:14},children:s.context.payer?`${s.context.payer.slice(0,10)}...${s.context.payer.slice(-6)}`:""})]}),t.jsxs(D,{sx:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[t.jsx(g,{sx:{color:"text.primary"},children:e("payment.checkout.fastPay.amount")}),t.jsxs(g,{children:[He(s.context.amount||"0",r)," ",r?.symbol||""]})]})]})]}),loading:!1,color:"primary"}),s.context?.type==="service_suspended"&&t.jsx(Sr,{open:!0,onClose:s.cancel}),s.status==="credit_insufficient"&&s.context?.type==="credit_insufficient"&&t.jsx(Mt,{onConfirm:s.cancel,onCancel:s.cancel,title:e("payment.checkout.fastPay.credit.insufficientTitle"),message:t.jsx(g,{children:e("payment.checkout.fastPay.credit.insufficientMessage")}),confirm:e("common.confirm")})]})}function Bi(){return t.jsx(b,{sx:{display:"flex",gap:2,mt:4},children:[0,1,2].map(e=>t.jsx(b,{sx:{width:12,height:12,borderRadius:"50%",bgcolor:"primary.main",opacity:.4,animation:`pulse 1.4s ease-in-out ${e*.2}s infinite`,"@keyframes pulse":{"0%, 80%, 100%":{transform:"scale(0.6)",opacity:.3},"40%":{transform:"scale(1)",opacity:.7}}}},e))})}function Hi(){return t.jsxs(b,{sx:{position:"relative",width:{xs:160,md:200},height:{xs:160,md:200}},children:[t.jsx(b,{sx:{position:"absolute",inset:0,borderRadius:"38% 62% 63% 37% / 41% 44% 56% 59%",background:e=>`linear-gradient(45deg, ${ce(e.palette.primary.main,.1)}, ${ce(e.palette.primary.main,.03)})`,filter:"blur(1px)",animation:"spin 20s linear infinite","@keyframes spin":{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}}}}),t.jsx(b,{sx:{position:"absolute",inset:0,borderRadius:"38% 62% 63% 37% / 41% 44% 56% 59%",background:e=>`linear-gradient(135deg, ${ce(e.palette.primary.main,.07)}, ${ce(e.palette.primary.main,.01)})`,filter:"blur(1px)",transform:"scale(0.88)",opacity:.6,animation:"spinReverse 15s linear infinite","@keyframes spinReverse":{from:{transform:"scale(0.88) rotate(0deg)"},to:{transform:"scale(0.88) rotate(-360deg)"}}}})]})}function In({mode:e="inline"}){const n=e==="standalone",i=We().palette.primary.main,s={background:{xs:"none",md:`linear-gradient(160deg, ${ce(i,.03)} 0%, ${ce(i,.07)} 50%, ${ce(i,.04)} 100%)`},bgcolor:a=>a.palette.mode==="dark"?"background.default":"#f8faff"},o=t.jsxs(b,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flex:1},children:[t.jsx(Hi,{}),t.jsx(Bi,{})]});return n?t.jsxs(b,{sx:{width:"100%",height:"100vh",minHeight:"100vh",display:"flex",flexDirection:"column",position:"relative",overflow:"hidden",...s},children:[t.jsx(gt,{sx:{position:"absolute",top:20,left:0,right:0,zIndex:10,background:"transparent","& .header-container":{height:"auto"}},hideNavMenu:!0,brand:null,description:null,addons:a=>a.filter(c=>["locale-selector","theme-mode-toggle","session-user"].includes(c.key))}),o]}):t.jsx(b,{sx:{display:"flex",width:"100%",minHeight:{xs:400,md:640},maxWidth:1120,mx:"auto",borderRadius:"16px",overflow:"hidden",boxShadow:1,border:1,borderColor:"divider",borderLeft:"4px solid",borderLeftColor:"primary.main",...s},children:o})}function Vi(){const e=We(),n=ce(e.palette.primary.main,.06);return t.jsxs(b,{sx:{position:"relative",width:{xs:200,md:260},height:{xs:200,md:260},mb:{xs:4,md:6}},children:[t.jsx(b,{sx:{position:"absolute",inset:0,borderRadius:"38% 62% 63% 37% / 41% 44% 56% 59%",background:r=>`linear-gradient(45deg, ${ce(r.palette.primary.main,.1)}, ${ce(r.palette.primary.main,.03)})`,filter:"blur(1px)",animation:"spin 20s linear infinite","@keyframes spin":{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}}}}),t.jsx(b,{sx:{position:"absolute",inset:0,borderRadius:"38% 62% 63% 37% / 41% 44% 56% 59%",background:r=>`linear-gradient(135deg, ${ce(r.palette.primary.main,.07)}, ${ce(r.palette.primary.main,.01)})`,filter:"blur(1px)",transform:"scale(0.88)",opacity:.6,animation:"spinReverse 15s linear infinite","@keyframes spinReverse":{from:{transform:"scale(0.88) rotate(0deg)"},to:{transform:"scale(0.88) rotate(-360deg)"}}}}),t.jsx(b,{sx:{position:"absolute",inset:0,borderRadius:"38% 62% 63% 37% / 41% 44% 56% 59%",overflow:"hidden",animation:"spin 20s linear infinite"},children:t.jsxs("svg",{width:"100%",height:"100%",viewBox:"0 0 260 260",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{position:"absolute",inset:0},children:[[52,87,122,157,192].map(r=>t.jsx("line",{x1:"30",y1:r,x2:"230",y2:r,stroke:n,strokeWidth:"0.5"},`h${r}`)),[52,87,122,157,192].map(r=>t.jsx("line",{x1:r,y1:"30",x2:r,y2:"230",stroke:n,strokeWidth:"0.5"},`v${r}`)),t.jsx("line",{x1:"52",y1:"52",x2:"192",y2:"192",stroke:n,strokeWidth:"0.5"}),t.jsx("line",{x1:"192",y1:"52",x2:"52",y2:"192",stroke:n,strokeWidth:"0.5"}),t.jsx("circle",{cx:"130",cy:"130",r:"40",stroke:n,strokeWidth:"0.5"}),t.jsx("circle",{cx:"130",cy:"130",r:"75",stroke:n,strokeWidth:"0.5"}),[[122,87],[157,87],[87,122],[122,122],[157,122],[192,122],[87,157],[122,157],[157,157],[122,192],[157,192]].map(([r,i])=>t.jsx("circle",{cx:r,cy:i,r:"1.5",fill:n},`d${r}-${i}`))]})})]})}function Qi(e,n,r){return e==="SESSION_EXPIRED"?{title:r("payment.checkout.expired.title"),description:r("payment.checkout.expired.description"),color:"#f59e0b"}:e==="EMPTY_LINE_ITEMS"?{title:r("payment.checkout.emptyItems.title"),description:r("payment.checkout.emptyItems.description"),color:"#94a3b8"}:e==="STOP_ACCEPTING_ORDERS"?{title:r("payment.checkout.stopAcceptingOrders.title"),description:r("payment.checkout.stopAcceptingOrders.description"),color:"#f59e0b"}:{title:r("payment.checkout.error.title"),description:n,color:"#ef4444"}}function Zt({error:e,errorCode:n=void 0}){const{t:r}=be(),i=We(),{title:s,description:o}=Qi(n,e,r),a=i.palette.primary.main,c=typeof window<"u"?window.blocklet?.appUrl:"/";return t.jsxs(D,{alignItems:"center",justifyContent:"center",sx:{flex:1,textAlign:"center",px:3},children:[t.jsx(Vi,{}),t.jsx(g,{component:"h1",sx:{fontWeight:800,fontSize:{xs:36,md:52},lineHeight:1.05,letterSpacing:"-0.03em",color:"text.primary",mb:2},children:s}),t.jsx(g,{sx:{color:"text.secondary",fontSize:{xs:15,md:17},fontWeight:300,lineHeight:1.7,maxWidth:420,letterSpacing:"0.01em"},children:o}),c&&t.jsx(Ee,{href:c,variant:"contained",disableElevation:!0,startIcon:t.jsx(Gn,{sx:{fontSize:"20px !important"}}),sx:{mt:5,minWidth:240,height:56,px:6,borderRadius:"9999px",textTransform:"none",fontWeight:600,fontSize:16,letterSpacing:"0.02em",color:l=>$e(l),boxShadow:`0 8px 32px -4px ${ce(a,.3)}`,"&:hover":{boxShadow:`0 12px 40px -4px ${ce(a,.4)}`,transform:"translateY(-1px)"},transition:"all 0.2s ease"},children:r("common.back")})]})}function Ki({error:e,errorCode:n=void 0,mode:r="inline"}){const s=We().palette.primary.main,o=r==="standalone",a={bgcolor:c=>c.palette.mode==="dark"?"background.default":"#f8faff",backgroundImage:c=>c.palette.mode==="dark"?"none":`radial-gradient(at 0% 0%, ${ce(s,.06)} 0px, transparent 50%),
|
|
2
|
+
radial-gradient(at 100% 0%, ${ce(s,.04)} 0px, transparent 50%),
|
|
3
|
+
radial-gradient(at 100% 100%, ${ce(s,.06)} 0px, transparent 50%),
|
|
4
|
+
radial-gradient(at 0% 100%, rgba(203,213,225,0.3) 0px, transparent 50%)`};return o?t.jsxs(b,{sx:{width:"100%",height:"100vh",minHeight:"100vh",display:"flex",flexDirection:"column",position:"relative",overflow:"hidden",...a},children:[t.jsx(gt,{sx:{position:"absolute",top:20,left:0,right:0,zIndex:10,background:"transparent","& .header-container":{height:"auto"}},hideNavMenu:!0,brand:null,description:null,addons:c=>c.filter(l=>["locale-selector","theme-mode-toggle","session-user"].includes(l.key))}),t.jsx(Zt,{error:e,errorCode:n})]}):t.jsx(b,{sx:{display:"flex",width:"100%",minHeight:{xs:400,md:520},maxWidth:1120,mx:"auto",borderRadius:"16px",overflow:"hidden",boxShadow:1,border:1,borderColor:"divider",...a},children:t.jsx(b,{sx:{flex:1,p:{xs:4,md:6},display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"},children:t.jsx(Zt,{error:e,errorCode:n})})})}const Ke={};function Gi(e,n){return Ke[e]||(Ke[e]=dt.post(`/api/checkout-sessions/start/${e}?${mn(n)}`).then(r=>r?.data).finally(()=>{setTimeout(()=>{delete Ke[e]},3e3)})),Ke[e]}function Yi({onPaid:e=void 0,onError:n=void 0,mode:r="inline"}){const{isLoading:i,error:s,errorCode:o,session:a}=_e(),c=et(),{isMobile:l}=Ze();if(p.useEffect(()=>{s&&n&&n(new Error(s))},[s,n]),p.useEffect(()=>{c.status==="completed"&&c.result&&e&&e(c.result)},[c.status,c.result,e]),i)return t.jsx(In,{mode:r});if(s)return t.jsx(Ki,{error:s,errorCode:o,mode:r});const u=c.status==="completed",m=u&&l;return t.jsxs(t.Fragment,{children:[t.jsx(Ci,{left:m?null:t.jsx(b,{sx:{flex:1,display:"flex",flexDirection:"column",...u?{opacity:.45,pointerEvents:"none",filter:"grayscale(0.3)",transition:"all 0.5s ease"}:{}},children:t.jsx(zi,{})}),right:u?t.jsx(vr,{submit:c,session:a}):t.jsx(Ui,{}),mode:r}),!u&&t.jsx(qi,{})]})}function Xi({id:e,onPaid:n,onError:r,theme:i="default",mode:s="inline",extraParams:o={}}){if(!e.startsWith("plink_")&&!e.startsWith("cs_"))throw new Error("Either a checkoutSession or a paymentLink id is required.");const a=e.startsWith("plink_"),[c,l]=p.useState(a?null:e);if(ut(async()=>{if(!a)return null;const m=await Gi(e,o),d=m?.checkoutSession?.id;return d&&(l(d),s==="standalone"&&window.history.replaceState(null,"",an(pn(),`/checkout/pay/${d}?${mn(o)}`))),m},{ready:a}),!c)return t.jsx(In,{mode:s});const u=t.jsx(li,{sessionId:c,children:t.jsx(Yi,{onPaid:n,onError:r,mode:s})});return i==="inherit"?u:i&&typeof i=="object"?t.jsx(zt,{theme:i,children:u}):t.jsx(zt,{children:u})}function ns({id:e}){const[n]=wr(),r=n.get("redirect"),i=s=>{if(s?.checkoutSession?.success_url){setTimeout(()=>{const o=new URL(s.checkoutSession.success_url,window.location.origin);o.searchParams.set("checkout_session_id",s.checkoutSession.id),window.location.replace(o.href)},1e3);return}if(s?.paymentLink&&s.paymentLink.after_completion?.type==="redirect"&&s.paymentLink.after_completion?.redirect?.url){setTimeout(()=>{const o=new URL(s.paymentLink?.after_completion?.redirect?.url,window.location.origin);o.searchParams.set("checkout_session_id",s.checkoutSession.id),window.location.replace(o.href)},1e3);return}r&&setTimeout(()=>{window.location.replace(r)},1e3)};return t.jsx(Xi,{mode:"standalone",id:e,onPaid:i})}export{ns as default};
|
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{j as e,a3 as d,B as u,N as S,q as o,bf as F,O as C,I as P,c4 as K,c5 as V,bW as q,r as O,bU as U,c6 as H,c7 as Y}from"./vendor-mui-BXZut9Pz.js";import{V as _,E as L,X,a8 as D,Y as j,a6 as G}from"./vendor-blocklet-D_i_QeSo.js";import{d as E,aM as R,f as I,T as J,a as A,v as z,Y as Q,j as B,a0 as Z,e as ee,k as M}from"./index-DgSc1Qy8.js";import{L as $}from"./vendor-react-BPknnnEA.js";import{C as ne}from"./copyable-DpX04wZz.js";import{a as te,L as re}from"./usage-records-jjJMZ6DI.js";const W={width:48,height:48};function ue({data:t,currency:s,mode:m="customer"}){const{t:a}=_(),{isMobile:c}=E(),r=m==="admin",i=[{label:a("admin.subscription.product"),name:"price_id",options:{customBodyRenderLite:(p,l)=>{const n=t[l];return e.jsxs(d,{sx:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",gap:{xs:1,sm:2}},children:[e.jsx(u,{sx:{order:c?2:1},children:n.price.product.images.length>0?e.jsx(S,{src:n.price.product.images[0],alt:n.price.product.name,variant:"rounded",sx:W},n.price.product_id):e.jsx(S,{variant:"rounded",sx:W,children:n.price.product.name.slice(0,1)},n.price.product_id)}),e.jsx(u,{sx:{order:c?1:2},children:r?e.jsxs(e.Fragment,{children:[e.jsx(o,{sx:{color:"text.primary",fontWeight:600},children:e.jsx($,{to:`/admin/products/${n?.price.product_id}`,children:e.jsx(R,{text:n?.price.product.name,maxLength:c?20:50,useWidth:!0})})}),e.jsx(o,{sx:{color:"text.secondary",whiteSpace:"nowrap"},children:e.jsx($,{to:`/admin/products/${n?.price.id}`,children:I(n.price,s,n?.price.product.unit_label)})})]}):e.jsxs(u,{sx:c?{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:.5,flex:1}:{},children:[e.jsx(o,{sx:{color:"text.primary",fontWeight:600},children:e.jsx(R,{text:n?.price.product.name,maxLength:c?20:50,useWidth:!0})}),e.jsx(o,{sx:{color:"text.secondary",whiteSpace:"nowrap"},children:I(n.price,s,n?.price.product.unit_label)})]})})]})}}},{label:a("admin.subscription.itemId"),name:"id",options:{customBodyRenderLite:(p,l)=>{const n=t[l];return e.jsx(ne,{text:n.id})}}},s.type!=="credit"&&{label:a("common.quantity"),name:"quantity",options:{customBodyRenderLite:(p,l)=>{const n=t[l];return n.price.recurring?.usage_type==="metered"?e.jsx(te,{subscriptionId:n.subscription_id,id:n.id}):n.quantity}}},{label:a("common.total"),name:"id",align:"right",options:{sort:!1,customBodyRenderLite:(p,l)=>{const n=t[l];return n.price.recurring?.usage_type==="metered"?a("admin.subscription.usage.vary"):I(n.price,s,n?.price.product.unit_label,n?.quantity)}}},m==="admin"&&{label:a("common.actions"),name:"",align:"center",options:{sort:!1,customBodyRenderLite:(p,l)=>{const n=t[l];return e.jsx(re,{data:n})}}}].filter(Boolean);return e.jsx(ie,{children:e.jsx(J,{data:t,columns:i,loading:!1,footer:!1,toolbar:!1,components:{TableToolbar:()=>null,TableFooter:()=>null},mobileTDFlexDirection:"row",options:{count:t.length,page:0,rowsPerPage:100},emptyNodeText:a("customer.product.empty")})})}const ie=F(u)`
|
|
2
|
+
@media (max-width: ${({theme:t})=>t.breakpoints.values.md}px) {
|
|
3
|
+
.MuiTable-root > .MuiTableBody-root > .MuiTableRow-root > td.MuiTableCell-root {
|
|
4
|
+
align-items: center;
|
|
5
|
+
padding: 4px 0;
|
|
6
|
+
> div {
|
|
7
|
+
width: fit-content;
|
|
8
|
+
flex: inherit;
|
|
9
|
+
font-size: 14px;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
.invoice-summary {
|
|
13
|
+
padding-right: 20px;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`;function me({vendorServices:t,subscriptionId:s,isOwner:m=!0,isCanceled:a}){const{t:c}=_();if(!t||t.length===0)return null;const r=window.blocklet.prefix||"/";return e.jsxs(e.Fragment,{children:[e.jsxs(o,{variant:"h3",className:"section-header",sx:{mb:3},children:[c("admin.subscription.includedServices")," (",t.length,")"]}),e.jsx(u,{className:"section-body",children:e.jsx(d,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",md:"1fr 1fr",lg:"1fr 1fr 1fr"},gap:2},children:t.map((i,p)=>{const l=i.vendor_type==="launcher";return e.jsxs(u,{className:"vendor-service-item",sx:{p:2,display:"flex",alignItems:"center",border:"1px solid",borderColor:"divider",borderRadius:2,backgroundColor:"background.paper","&:hover":{backgroundColor:"action.hover"},transition:"background-color 0.2s ease"},children:[e.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center",flex:1},children:[e.jsx(u,{sx:{width:8,height:8,borderRadius:"50%",bgcolor:a?"error.main":"success.main",flexShrink:0}}),e.jsx(o,{variant:"body1",sx:{fontWeight:600,fontSize:"1rem",color:"text.primary"},children:i.name||i.vendor_key})]}),l&&!a&&e.jsx(u,{children:e.jsxs(d,{direction:"row",spacing:.5,children:[e.jsx(C,{title:c("admin.subscription.serviceHome"),placement:"top",children:e.jsx(P,{size:"small",component:"a",href:L(r,"/api/vendors/open/",s,`?vendorId=${i.vendor_id}`),target:"_blank",rel:"noopener noreferrer",sx:{color:"primary.main","&:hover":{backgroundColor:"primary.lighter"}},children:e.jsx(K,{fontSize:"small"})})}),m&&e.jsx(C,{title:c("admin.subscription.serviceDashboard"),placement:"top",children:e.jsx(P,{size:"small",component:"a",href:L(r,"/api/vendors/open/",s,`?vendorId=${i.vendor_id}&target=dashboard`),target:"_blank",rel:"noopener noreferrer",sx:{color:"primary.main","&:hover":{backgroundColor:"primary.lighter"}},children:e.jsx(V,{fontSize:"small"})})})]})})]},i.vendor_key||p)})})})]})}function pe({discountStats:t=null}){const{t:s}=_(),{settings:m}=A(),{isMobile:a}=E();if(!t||t.total_discount_records===0)return null;const c=t.discount_records?.[0],r=c?.coupon;if(!r)return null;const i=r.name||s("admin.coupon.discount"),p=()=>{if(r.percent_off&&r.percent_off>0)return s("admin.coupon.couponTermsPercentage",{percent:r.percent_off});if(r.amount_off&&r.amount_off!=="0"){const x=Q(m.paymentMethods,r.currency_id)||m.baseCurrency;return s("admin.coupon.couponTermsFixedAmount",{amount:z(r.amount_off,x.decimal),symbol:x.symbol})}return s("admin.coupon.noDiscount")},l=()=>r.duration==="repeating"&&r.duration_in_months?s(`admin.coupon.couponTermsDuration.${r.duration}`,{months:r.duration_in_months}):s(`admin.coupon.couponTermsDuration.${r.duration}`),n=Object.entries(t.total_savings),h=n.length>0?n.map(([,x])=>`${z(x.amount,x.currency?.decimal||18)} ${x.currency?.symbol||""}`).join(", "):"--",b=()=>{if(r.duration!=="repeating")return"";if(c?.discount_start&&c?.discount_end){const x=B(c.discount_start*1e3),y=B(c.discount_end*1e3);return`${x} ~ ${y}`}return""};return e.jsx(u,{sx:{bgcolor:"grey.50",borderRadius:1.5,p:2.5,border:"1px solid",borderColor:"divider"},children:e.jsxs(d,{spacing:1,children:[e.jsxs(d,{direction:a?"column":"row",spacing:2,sx:{alignItems:a?"flex-start":"center"},children:[e.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center",flex:1},children:[e.jsx(q,{sx:{color:"primary.main",fontSize:20}}),e.jsx(o,{variant:"subtitle2",sx:{fontWeight:600,color:"text.primary"},children:i})]}),e.jsxs(u,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(o,{variant:"body2",sx:{fontWeight:500,color:"text.secondary"},children:p()}),l()&&e.jsxs(e.Fragment,{children:[e.jsx(o,{variant:"body2",sx:{color:"text.disabled"},children:"|"}),e.jsx(o,{variant:"body2",sx:{color:"text.secondary"},children:l()})]})]})]}),e.jsxs(d,{direction:a?"column":"row",spacing:2,sx:{alignItems:a?"flex-start":"center"},children:[e.jsx(u,{sx:{flex:1},children:e.jsxs(o,{variant:"body2",sx:{color:"text.secondary"},children:[s("admin.discount.totalSaved"),":"," ",e.jsx(o,{component:"span",sx:{color:"success.main",fontWeight:600,ml:.5},children:h})]})}),b()&&e.jsx(u,{children:e.jsxs(o,{variant:"body2",sx:{color:"text.primary"},children:[s("admin.coupon.discountPeriod"),": ",b()]})})]})]})})}function xe({subscriptionId:t,customer:s,paymentMethodDetails:m,editable:a=!1,onUpdate:c=()=>{},paymentMethodType:r}){const{t:i,locale:p}=_(),{connect:l}=A(),[n,h]=X({editing:!1,submitting:!1,setupIntentId:null,clientSecret:null,publishableKey:null});O.useEffect(()=>{n.editing||h({clientSecret:null,publishableKey:null,setupIntentId:null})},[n.editing,h]);const b=async()=>{if(r==="stripe")try{h({submitting:!0});const{data:f}=await ee.post(`/api/subscriptions/${t}/update-stripe-payment-method`);h({editing:!0,clientSecret:f.client_secret,publishableKey:f.publishable_key,setupIntentId:f.setup_intent_id,submitting:!1})}catch(f){j.error(M(f)),h({submitting:!1})}else l.open({action:"change-payer",saveConnect:!1,locale:p,useSocket:!0,messages:{scan:"",title:i("admin.subscription.changePayer.connect.title"),success:i("admin.subscription.changePayer.connect.success"),error:i("admin.subscription.changePayer.connect.error"),confirm:""},extraParams:{subscriptionId:t},onSuccess:()=>{l.close(),j.success(i("admin.subscription.changePayer.connect.success")),c?.()},onClose:()=>{l.close()},onError:f=>{j.error(M(f))}})},x=()=>{setTimeout(()=>{j.success(i("admin.subscription.changePayer.connect.success")),h({editing:!1,submitting:!1}),c?.()},2e3)},y=()=>{h({editing:!1,clientSecret:null,publishableKey:null,setupIntentId:null})};if(n.editing&&n.clientSecret&&n.publishableKey)return e.jsx(u,{children:e.jsx(Z,{clientSecret:n.clientSecret,intentType:"setup_intent",publicKey:n.publishableKey,customer:s,mode:"setup",onConfirm:x,onCancel:y,returnUrl:window.location.href})});if(!m)return a?e.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(o,{variant:"body2",sx:{color:"text.secondary"},children:i("admin.subscription.noPaymentMethod",{defaultValue:"Not bound"})}),e.jsx(D,{variant:"text",size:"small",sx:{color:"text.link"},loading:n.submitting,onClick:b,children:i("admin.subscription.bindPaymentMethod",{defaultValue:"Bind now"})})]}):e.jsx(o,{variant:"body2",sx:{color:"text.secondary"},children:i("admin.subscription.noPaymentMethod",{defaultValue:"Not bound"})});const{card:v,link:w,us_bank_account:k,payer:T,type:g}=m,N=()=>g==="card"&&v?e.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(U,{sx:{fontSize:16,color:"text.secondary"}}),e.jsxs(o,{variant:"body2",children:[v.brand.toUpperCase()," •••• ",v.last4]})]}):g==="link"&&w?e.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(H,{sx:{fontSize:16,color:"text.secondary"}}),e.jsxs(o,{variant:"body2",children:[i("admin.subscription.changePayer.stripe.linkType")," (",w.email,")"]})]}):g==="us_bank_account"&&k?e.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(Y,{sx:{fontSize:16,color:"text.secondary"}}),e.jsxs(o,{variant:"body2",children:[k.bank_name||i("admin.subscription.changePayer.stripe.bankAccount")," ••••"," ",k.last4]})]}):["arcblock","ethereum","base"].includes(g)&&T?e.jsx(G,{did:T,responsive:!1,compact:!0,copyable:!1}):e.jsx(o,{variant:"body2",sx:{color:"text.secondary"},children:g||"-"});return e.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center",flex:1},children:[N(),a&&e.jsx(D,{variant:"text",size:"small",sx:{color:"text.link"},loading:n.submitting,onClick:b,children:i("admin.subscription.changePayer.btn")})]})}export{pe as D,xe as P,ue as S,me as V};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as p,r as s,j as t}from"./vendor-mui-BXZut9Pz.js";import{bm as u,cy as x}from"./vendor-blocklet-D_i_QeSo.js";import{I as c,C as w}from"./chrome-BPS46pXA.js";function y({ref:l=void 0,id:d,version:h=1}){const e=p(),r=s.useRef(null),i=(u(r)?.width||0)/1280,[o,m]=s.useState(e.palette.mode),[n,{toggleFullscreen:f}]=x(r);s.useImperativeHandle(l,()=>({ref:r.current,fullscreen:n,toggleFullscreen:f})),s.useEffect(()=>{e.palette.mode!==o&&m(e.palette.mode)},[e.palette.mode,o]);const a=`${window.blocklet.prefix}checkout/pay/${d}?preview=1&version=${h}&theme=${o}`;return t.jsx("div",{ref:r,children:n?t.jsx("div",{style:{width:"100%",height:"100%",background:e.palette.background.paper||"#fff"},children:t.jsx(c,{style:{width:"100%",height:"100vh",overflow:"hidden",border:"none"},src:a})}):t.jsx(w,{sx:{width:"100%",height:800*i},children:t.jsx(c,{style:{width:"1280px",height:"800px",transform:`scale(${i})`,transformOrigin:"top left",border:"none"},src:a})})})}export{y as P};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s,u,j as t}from"./vendor-mui-BXZut9Pz.js";import{bm as x,cy as g}from"./vendor-blocklet-D_i_QeSo.js";import{I as l,C as w}from"./chrome-BPS46pXA.js";function $({ref:a=void 0,id:d,version:h=1}){const r=s.useRef(null),f=x(r),e=u(),[o,m]=s.useState(e.palette.mode),i=(f?.width||0)/1280,[n,{toggleFullscreen:p}]=g(r);s.useImperativeHandle(a,()=>({ref:r.current,fullscreen:n,toggleFullscreen:p})),s.useEffect(()=>{e.palette.mode!==o&&m(e.palette.mode)},[e.palette.mode,o]);const c=`${window.blocklet.prefix}checkout/pricing-table/${d}?preview=1&version=${h}&theme=${o}`;return t.jsx("div",{ref:r,children:n?t.jsx("div",{style:{width:"100%",height:"100%",background:e.palette.background.paper||"#fff"},children:t.jsx(l,{style:{width:"100%",height:"100vh",overflow:"hidden",border:"none"},src:c})}):t.jsx(w,{sx:{width:"100%",height:800*i},children:t.jsx(l,{style:{width:"1280px",height:"800px",transform:`scale(${i})`,transformOrigin:"top left",border:"none"},src:c})})})}export{$ as P};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import{r as c,bf as V,B as f,j as t,a3 as g,aT as I,ad as L,q as y,bs as H,bt as $,N as D,a7 as G,a8 as Z,a9 as q,aG as F,bZ as K,aH as Q}from"./vendor-mui-BXZut9Pz.js";import{V as U,a5 as X,X as Y,F as J,Y as ee}from"./vendor-blocklet-D_i_QeSo.js";import{d as te,a as re,aN as ie,V as se,aO as ne,aP as B,aQ as ae,aM as oe,L as ce,k as le}from"./index-DgSc1Qy8.js";const C={year:1,month:2,day:3,hour:4},de=(i,m)=>{const l={},o={};return(i||[]).forEach(n=>{const d=[n.price.recurring?.interval,n.price.recurring?.interval_count].join("-");n.price.currency_options?.find(p=>p.currency_id===m.id)&&(o[d]=n.price.recurring),l[d]||(l[d]=[]),l[d].push(n)}),{recurring:o,grouped:l}};function he({table:i,alignItems:m="center",interval:l="",mode:o="checkout",onSelect:n,hideCurrency:d=!1}){const{t:p,locale:b}=U(),{isMobile:w}=te(),{settings:{paymentMethods:S=[]},livemode:W,setLivemode:M,refresh:P}=re(),N=ie();c.useEffect(()=>{i&&W!==i.livemode&&M(i.livemode)},[i,W,M,P]);const[x,O]=c.useState(i.currency||{}),{recurring:h,grouped:v}=c.useMemo(()=>de(i.items,x),[i.items,x]),z=c.useMemo(()=>X(h)?[]:Object.keys(h).sort((e,r)=>{const[a,u]=e.split("-"),[j,E]=r.split("-");return C[a]!==C[j]?C[a]-C[j]:u&&E?E-u:r-e}),[h]),[s,k]=Y({interval:l}),T=c.useMemo(()=>{if(!S||S.length===0)return{};const e={};return S.forEach(r=>{const{payment_currencies:a=[]}=r;a&&a.length>0&&a.forEach(u=>{e[u.id]={...u,method:r.name}})}),e},[S]),_=c.useMemo(()=>{const e={};return s.interval?((v[s.interval]||[]).forEach(r=>{se(r.price).forEach(a=>{e[a?.currency_id]=!0})}),Object.keys(e).map(r=>T[r]).filter(r=>r)):[]},[T,v,s.interval]),R=c.useMemo(()=>(v[s.interval]||[]).filter(e=>{const r=ne(e.price,x);return!(new J(r).isZero()||!r)}),[v,s.interval,x]);c.useEffect(()=>{if(i&&(!s.interval||!v[s.interval])){const e=Object.keys(h);e[0]&&k({interval:e[0]})}},[i]);const A=V(f)`
|
|
2
|
+
.btn-row {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-wrap: wrap;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
align-items: center;
|
|
7
|
+
width: 100%;
|
|
8
|
+
gap: 20px;
|
|
9
|
+
}
|
|
10
|
+
.price-table-wrap {
|
|
11
|
+
scrollbar-width: none;
|
|
12
|
+
-ms-overflow-style: none;
|
|
13
|
+
&::-webkit-scrollbar {
|
|
14
|
+
display: none;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
@media (max-width: ${({theme:e})=>e.breakpoints.values.sm}px) {
|
|
18
|
+
// .price-table-item {
|
|
19
|
+
// width: 90% !important;
|
|
20
|
+
// }
|
|
21
|
+
// .btn-row {
|
|
22
|
+
// padding: 0 20px;
|
|
23
|
+
// }
|
|
24
|
+
}
|
|
25
|
+
@media (min-width: ${({theme:e})=>e.breakpoints.values.md}px) {
|
|
26
|
+
.price-table-wrap:has(> div:nth-of-type(1)) {
|
|
27
|
+
max-width: 360px !important;
|
|
28
|
+
}
|
|
29
|
+
.price-table-wrap:has(> div:nth-of-type(2)) {
|
|
30
|
+
max-width: 780px !important;
|
|
31
|
+
}
|
|
32
|
+
.price-table-wrap:has(> div:nth-of-type(3)) {
|
|
33
|
+
max-width: 1200px !important;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
`;return t.jsx(A,{sx:{flex:1,overflow:{xs:N?"visible":"hidden",md:"hidden"},display:"flex",flexDirection:"column"},children:t.jsxs(g,{direction:"column",alignItems:m==="center"?"center":"flex-start",sx:{gap:{xs:3,sm:o==="select"?3:5},height:"100%",overflow:{xs:"auto",md:"hidden"}},children:[t.jsxs(g,{className:"btn-row",flexDirection:"row",children:[z.length>0&&t.jsx(f,{children:w&&z.length>1?t.jsx(I,{value:s.interval,onChange:e=>k({interval:e.target.value}),size:"small",sx:{m:1},children:z.map(e=>t.jsx(L,{value:e,children:t.jsx(y,{color:e===s.interval?"text.primary":"text.secondary",children:B(h[e],!0,"",b)})},e))}):t.jsx(H,{size:"small",value:s.interval,sx:{padding:"4px",borderRadius:"36px",height:"40px",boxSizing:"border-box",backgroundColor:"grey.100",border:0},onChange:(e,r)=>{r!==null&&k({interval:r})},exclusive:!0,children:z.map(e=>t.jsx($,{size:"small",value:e,sx:{textTransform:"capitalize",padding:"5px 12px",fontSize:"13px",backgroundColor:({palette:r})=>e===s.interval?`${r.background.default} !important`:`${r.grey[100]} !important`,border:"0px","&.Mui-selected":{borderRadius:"9999px !important",border:"1px solid",borderColor:"divider"}},children:B(h[e],!0,"",b)},e))})}),_.length>0&&!d&&t.jsx(I,{value:x?.id,onChange:e=>O(_.find(r=>r?.id===e.target.value)),size:"small",sx:{m:1,minWidth:180},children:_.map(e=>t.jsx(L,{value:e?.id,children:t.jsxs(g,{direction:"row",alignItems:"center",gap:1,children:[t.jsx(D,{src:e?.logo,sx:{width:20,height:20},alt:e?.symbol}),t.jsxs(y,{fontSize:"12px",color:"text.secondary",children:[e?.symbol,"(",e?.method,")"]})]})},e?.id))})]}),t.jsx(g,{flexWrap:"wrap",direction:"row",gap:"20px",justifyContent:m==="center"?"center":"flex-start",sx:{flex:"0 1 auto",pb:2.5},className:"price-table-wrap",children:R?.map(e=>{let r=e.subscription_data?.trial_period_days?p("payment.checkout.try"):p("payment.checkout.subscription");o==="select"&&(r=e.is_selected?p("payment.checkout.selected"):p("payment.checkout.select"));const[a,u]=ae(e.price,x,e.product.unit_label).split("/");return t.jsxs(g,{padding:4,spacing:2,direction:"column",alignItems:"flex-start",className:"price-table-item",justifyContent:"flex-start",sx:{cursor:"pointer",borderWidth:"1px",borderStyle:"solid",borderColor:o==="select"&&e.is_selected?"primary.main":"divider",borderRadius:2,transition:"border-color 0.3s ease 0s, box-shadow 0.3s ease 0s",boxShadow:2,"&:hover":{borderColor:o==="select"&&e.is_selected?"primary.main":"divider",boxShadow:2},width:{xs:"100%",md:"360px"},maxWidth:"360px",minWidth:"300px",padding:"20px",position:"relative"},children:[t.jsx(f,{textAlign:"center",children:t.jsxs(g,{direction:"column",justifyContent:"center",alignItems:"flex-start",spacing:1,sx:{gap:"12px"},children:[t.jsxs(f,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[t.jsx(y,{color:"text.secondary",fontWeight:600,sx:{fontSize:"18px !important",fontWeight:"600"},children:t.jsx(oe,{text:e.product.name,maxLength:26,useWidth:!0})}),e.is_highlight&&t.jsx(G,{label:e.highlight_text,color:"primary",size:"small",sx:{position:"absolute",top:"20px",right:"20px"}})]}),t.jsxs(y,{component:"div",sx:{my:0,fontWeight:"700",fontSize:"32px",letterSpacing:"-0.03rem",fontVariantNumeric:"tabular-nums",display:"flex",alignItems:"baseline",gap:"4px",flexWrap:"wrap",lineHeight:"normal"},children:[a,u?t.jsxs(y,{sx:{fontSize:"16px",fontWeight:"400",color:"text.secondary",textAlign:"left"},children:["/ ",u]}):""]}),t.jsx(y,{color:"text.secondary",sx:{marginTop:"0px !important",fontWeight:"400",fontSize:"16px",textAlign:"left"},children:e.product.description})]})}),e.product.features.length>0&&t.jsx(f,{sx:{width:"100%"},children:t.jsxs(Z,{dense:!0,sx:{display:"flex",flexDirection:"column",gap:"16px",padding:"0px"},children:[t.jsx(f,{sx:{width:"100%",position:"relative",borderTop:"1px solid",borderColor:"divider",boxSizing:"border-box",height:"1px"}}),e.product.features.map(j=>t.jsxs(q,{disableGutters:!0,disablePadding:!0,sx:{fontSize:"16px !important"},children:[t.jsx(F,{sx:{minWidth:25,color:"text.secondary",fontSize:"64px"},children:t.jsx(K,{color:"success",fontSize:"small",sx:{fontSize:"18px",color:"success.main"}})}),t.jsx(Q,{sx:{".MuiListItemText-primary":{fontSize:"16px",color:"text.primary",fontWeight:"500"}},primary:j.name})]},j.name))]})}),t.jsx(pe,{x:e,action:r,onSelect:n,currencyId:x?.id})]},e?.price_id)})})]})})}function pe({x:i,action:m,onSelect:l,currencyId:o}){const[n,d]=c.useState({loading:"",loaded:!1}),p=async b=>{try{d({loading:b,loaded:!0}),await l(b,o)}catch(w){console.error(w),ee.error(le(w))}};return t.jsx(ce,{fullWidth:!0,size:"medium",variant:"contained",color:"primary",sx:{fontSize:"16px",padding:"10px 20px",lineHeight:"28px"},loading:n.loading===i.price_id&&!n.loaded,disabled:i.is_disabled,onClick:()=>p(i.price_id),children:m})}export{he as P};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as T,j as t,A as L,w as A,a3 as W,bY as P,q as D,B as F}from"./vendor-mui-BXZut9Pz.js";import{X as H,O as C,E as q,a9 as R,a4 as I,V as _,Y as B,aa as N}from"./vendor-blocklet-D_i_QeSo.js";import{aG as $,l as z,aJ as G,aK as O,aH as S,e as w,aL as Y,aM as J,aN as K}from"./index-DgSc1Qy8.js";import{P as M}from"./pricing-table-C3Lkhq46.js";import"./vendor-react-BPknnnEA.js";const v={},U=(e,s)=>(v[e]||(v[e]=w.post(`/api/checkout-sessions/start/${e}?${$(s)}`).then(d=>d?.data).finally(()=>{setTimeout(()=>{delete v[e]},3e3)})),v[e]),V=async e=>{const{data:s}=await w.get(`/api/checkout-sessions/retrieve/${e}`);return s};function X({id:e,mode:s="inline",onPaid:d=R,onError:b=console.error,onChange:x,goBack:f,extraParams:r={},action:y="",theme:c="default",formType:g="payment",...h}){if(!e.startsWith("plink_")&&!e.startsWith("cs_"))throw new Error("Either a checkoutSession or a paymentLink id is required.");const m=e.startsWith("plink_")?"paymentLink":"checkoutSession",[u,j]=H({completed:!1,appError:null}),{error:a,data:n}=C(()=>m==="paymentLink"?U(e,r):V(e));T.useEffect(()=>{m==="paymentLink"&&s==="standalone"&&n&&window.history.replaceState(null,"",q(z(),`/checkout/pay/${n.checkoutSession.id}?${$(r)}`))},[m,s,n,r]);const p=o=>{j({completed:!0}),d?.(o);const i={action:"paySuccess",mode:n?.checkoutSession?.mode,success:!0};I.event(i.action,i)},k=o=>{console.error(o),j({appError:o}),b?.(o);const i={action:"payFailed",mode:n?.checkoutSession?.mode,errorMessage:o.message,success:!1};I.event(i.action,i)},l=g==="donation"?t.jsx(G,{checkoutSession:n?.checkoutSession,paymentMethods:n?.paymentMethods,paymentIntent:n?.paymentIntent,paymentLink:n?.paymentLink,customer:n?.customer,completed:u.completed,error:a,onPaid:p,onError:k,onChange:x,goBack:f,mode:s,action:y,id:e,...h}):t.jsx(O,{checkoutSession:n?.checkoutSession,paymentMethods:n?.paymentMethods,paymentIntent:n?.paymentIntent,paymentLink:n?.paymentLink,customer:n?.customer,completed:u.completed,error:a,onPaid:p,onError:k,onChange:x,goBack:f,mode:s,action:y,...h});return c==="inherit"?l:c&&typeof c=="object"?t.jsx(S,{theme:c,children:l}):t.jsx(S,{children:l})}const Q=async e=>{const{data:s}=await w.get(`/api/pricing-tables/${e}`);return s},Z=e=>/^https?:\/\//i.test(e)?e:`https://${e}`;function E({id:e,mode:s,onPaid:d,onError:b,onChange:x,extraParams:f,goBack:r,theme:y}){if(!e.startsWith("prctbl_"))throw new Error("A valid pricing table id is required.");const[c,g]=T.useState(""),h=window.location.hash.slice(1),{t:m}=_(),{error:u,loading:j,data:a}=C(()=>Q(e));if(u)return t.jsx(L,{severity:"error",children:u.message});if(j||!a)return t.jsx(A,{});if(a.items.length===0)return t.jsx(L,{severity:"warning",children:m("payment.checkout.noPricing")});const n=(k,l)=>{w.post(`/api/pricing-tables/${a.id}/checkout/${k}?${$({...f,currencyId:l})}`).then(o=>{if(s==="standalone"){let{url:i}=o.data;i=i.indexOf("?")>-1?`${i}¤cyId=${l}`:`${i}?currencyId=${l}`,window.location.replace(Z(i))}else window.location.hash=o.data.id,g(o.data.id)}).catch(o=>{console.error(o),B.error(o.message)})},p={};return r&&(p.goBack=()=>{window.location.hash="",typeof r<"u"&&r(),g("")}),!c&&!h?s==="standalone"?t.jsxs(W,{direction:"column",sx:{alignItems:"center",overflow:{xs:"auto",md:"hidden"},height:"100%",pt:{xs:2.5,md:7.5},px:2.5},children:[t.jsxs(P,{sx:{display:"flex",flexDirection:"column",fontSize:"24px",alignItems:"center",margin:{xs:"20px 0",md:"20px 20px"},maxWidth:{xs:"100%",md:400},textAlign:"center"},children:[!a.livemode&&t.jsx(Y,{sx:{display:"flex",marginBottom:"8px",width:"fit-content",ml:0}}),t.jsx(D,{sx:{color:"text.primary",fontWeight:600,lineHeight:"32px",fontSize:"24px"},children:t.jsx(J,{text:a.name,maxLength:60,useWidth:!0})})]}),t.jsx(M,{table:a,onSelect:n})]}):t.jsx(M,{mode:"select",table:a,onSelect:n}):t.jsx(P,{sx:{height:"100%"},children:t.jsx(X,{id:h||c,mode:s,onPaid:d,onError:b,onChange:x,theme:y,...p})})}function ee(e){return e.theme==="inherit"?t.jsx(E,{...e}):e.theme&&typeof e.theme=="object"?t.jsx(S,{theme:e.theme,children:t.jsx(E,{...e})}):t.jsx(S,{children:t.jsx(E,{...e})})}function ae({id:e}){const s=K();return t.jsxs(F,{sx:{width:"100vw",maxHeight:"100vh",minHeight:"90vh",display:"flex",flexDirection:"column",overflow:s?"visible":"hidden"},children:[t.jsx(N,{meta:void 0,addons:void 0,sessionManagerProps:void 0,homeLink:void 0,theme:void 0,hideNavMenu:void 0,maxWidth:!1,sx:{borderBottom:"1px solid",borderColor:"divider"}}),t.jsx(W,{sx:{pt:{xs:0},overflow:{xs:s?"visible":"hidden",md:"hidden"}},children:t.jsx(ee,{id:e,mode:"standalone",theme:{sx:{overflow:{xs:"auto",md:"hidden"},display:"flex",flexDirection:"column"}}})})]})}export{ae as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e,A as I,w as M,r as l,aT as k,ad as S,bH as B,B as N,q as x,bN as O,a3 as V,N as q}from"./vendor-mui-BXZut9Pz.js";import{O as E,V as F,ae as L,aH as T}from"./vendor-blocklet-D_i_QeSo.js";import{b9 as d,ba as $,e as w,a as D,Y as K,f as R,V as b}from"./index-DgSc1Qy8.js";const A=l.createContext({api:w}),{Provider:W,Consumer:Z}=A,Y=(r=!1)=>{const s=`products-${localStorage.getItem("livemode")!=="false"}`;return new $(s,()=>w.get("/api/products?active=true&page=1&pageSize=100&donation=hide"),{ttl:1e3*60*10,strategy:"session"}).fetch(r)};function ee({children:r}){const{data:c,error:s,run:t,loading:i}=E((u=!1)=>Y(u));return d("product.created",()=>t(!0),[]),d("product.updated",()=>t(!0),[]),d("product.deleted",()=>t(!0),[]),d("price.created",()=>t(!0),[]),d("price.updated",()=>t(!0),[]),d("price.deleted",()=>t(!0),[]),s?e.jsx(I,{severity:"error",children:s.message}):i||!c?e.jsx(M,{}):e.jsx(W,{value:{products:c?.list??[],refresh:()=>t(!0)},children:r})}function _(){return l.useContext(A)}const G=(r,c,s)=>(r.prices=r.prices.filter(t=>{const i=t.active,u=!c(t),m=s?s(t):!0;return i&&u&&m}),r),J=(r,c,s)=>T(r).map(i=>G(i,c,s)).filter(i=>i.prices.length);function te({mode:r,hasSelected:c,onSelect:s,addProduct:t=!0,filterPrice:i=()=>!0}){const{t:u}=F(),[m,p]=l.useState(r),{products:z}=_(),{settings:f}=D(),[g,y]=l.useState(""),h=l.useRef(g),v={width:16,height:16},H=n=>{y(n.target.value),h.current=n.target.value,p("waiting"),s(n.target.value)};d(n=>n.type==="product.select.price.removed",n=>{h.current===n.priceId&&(y(""),h.current="")});const j=n=>{const P=J(z,c,i);return P.length===0?e.jsx(L,{children:u("admin.product.empty")}):P.map(o=>[e.jsx(O,{sx:{fontSize:"0.875rem",color:"text.secondary",lineHeight:"2.1875rem"},children:e.jsxs(V,{direction:"row",spacing:.5,sx:{alignItems:"center"},children:[o.images[0]?e.jsx(q,{src:o.images[0],alt:o.name,variant:"square",sx:v}):e.jsx(q,{variant:"square",sx:v,children:o.name.slice(0,1)}),e.jsx(x,{component:"span",children:o.name})]})},o.id),...o.prices.map(a=>{const C=K(f.paymentMethods,a.currency_id??"")||f.baseCurrency;return e.jsxs(S,{sx:{pl:4.5},value:a.id,onClick:()=>{n&&(a.productName=o.name,a.displayPrice=R(a,C),n(a))},children:[e.jsx(x,{sx:{color:"text.primary"},children:R(a,C)}),e.jsx(x,{sx:{color:"text.secondary",ml:2},children:b(a).length>1?` +${b(a).length-1} more currencies`:""})]},a.id)})])};return m==="inline"?e.jsx(e.Fragment,{children:j(s)}):m==="selecting"?e.jsxs(k,{fullWidth:!0,size:"small",onChange:H,value:g,MenuProps:{style:{maxHeight:480}},children:[t&&e.jsxs(S,{value:"add",children:[e.jsx(B,{}),u("admin.product.add")]}),j()]}):e.jsx(N,{sx:{cursor:"pointer"},onClick:()=>p("selecting"),children:e.jsx(x,{color:"primary",children:u("admin.paymentLink.addProduct")})})}export{ee as P,te as a,_ as u};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{e as u,P as p}from"./vendor-mui-BXZut9Pz.js";function Q(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function N(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Q(Object(t),!0).forEach(function(n){te(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Q(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function T(r){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?T=function(e){return typeof e}:T=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(r)}function te(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function fe(r,e){if(r==null)return{};var t={},n=Object.keys(r),i,o;for(o=0;o<n.length;o++)i=n[o],!(e.indexOf(i)>=0)&&(t[i]=r[i]);return t}function me(r,e){if(r==null)return{};var t=fe(r,e),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);for(i=0;i<o.length;i++)n=o[i],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(r,n)&&(t[n]=r[n])}return t}function U(r,e){return he(r)||ve(r,e)||Ce(r,e)||Ee()}function he(r){if(Array.isArray(r))return r}function ve(r,e){var t=r&&(typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"]);if(t!=null){var n=[],i=!0,o=!1,s,l;try{for(t=t.call(r);!(i=(s=t.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(a){o=!0,l=a}finally{try{!i&&t.return!=null&&t.return()}finally{if(o)throw l}}return n}}function Ce(r,e){if(r){if(typeof r=="string")return X(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return X(r,e)}}function X(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function Ee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var b=function(e,t,n){var i=!!n,o=u.useRef(n);u.useEffect(function(){o.current=n},[n]),u.useEffect(function(){if(!i||!e)return function(){};var s=function(){o.current&&o.current.apply(o,arguments)};return e.on(t,s),function(){e.off(t,s)}},[i,t,e,o])},j=function(e){var t=u.useRef(e);return u.useEffect(function(){t.current=e},[e]),t.current},I=function(e){return e!==null&&T(e)==="object"},ge=function(e){return I(e)&&typeof e.then=="function"},ye=function(e){return I(e)&&typeof e.elements=="function"&&typeof e.createToken=="function"&&typeof e.createPaymentMethod=="function"&&typeof e.confirmCardPayment=="function"},Z="[object Object]",q=function r(e,t){if(!I(e)||!I(t))return e===t;var n=Array.isArray(e),i=Array.isArray(t);if(n!==i)return!1;var o=Object.prototype.toString.call(e)===Z,s=Object.prototype.toString.call(t)===Z;if(o!==s)return!1;if(!o&&!n)return e===t;var l=Object.keys(e),a=Object.keys(t);if(l.length!==a.length)return!1;for(var C={},d=0;d<l.length;d+=1)C[l[d]]=!0;for(var g=0;g<a.length;g+=1)C[a[g]]=!0;var c=Object.keys(C);if(c.length!==l.length)return!1;var f=e,S=t,v=function(k){return r(f[k],S[k])};return c.every(v)},ne=function(e,t,n){return I(e)?Object.keys(e).reduce(function(i,o){var s=!I(t)||!q(e[o],t[o]);return n.includes(o)?(s&&console.warn("Unsupported prop change: options.".concat(o," is not a mutable property.")),i):s?N(N({},i||{}),{},te({},o,e[o])):i},null):null},re="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",ee=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:re;if(e===null||ye(e))return e;throw new Error(t)},F=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:re;if(ge(e))return{tag:"async",stripePromise:Promise.resolve(e).then(function(i){return ee(i,t)})};var n=ee(e,t);return n===null?{tag:"empty"}:{tag:"sync",stripe:n}},K=function(e){!e||!e._registerWrapper||!e.registerAppInfo||(e._registerWrapper({name:"react-stripe-js",version:"2.8.1"}),e.registerAppInfo({name:"react-stripe-js",version:"2.8.1",url:"https://stripe.com/docs/stripe-js/react"}))},W=u.createContext(null);W.displayName="ElementsContext";var oe=function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e},Se=function(e){var t=e.stripe,n=e.options,i=e.children,o=u.useMemo(function(){return F(t)},[t]),s=u.useState(function(){return{stripe:o.tag==="sync"?o.stripe:null,elements:o.tag==="sync"?o.stripe.elements(n):null}}),l=U(s,2),a=l[0],C=l[1];u.useEffect(function(){var c=!0,f=function(v){C(function(P){return P.stripe?P:{stripe:v,elements:v.elements(n)}})};return o.tag==="async"&&!a.stripe?o.stripePromise.then(function(S){S&&c&&f(S)}):o.tag==="sync"&&!a.stripe&&f(o.stripe),function(){c=!1}},[o,a,n]);var d=j(t);u.useEffect(function(){d!==null&&d!==t&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[d,t]);var g=j(n);return u.useEffect(function(){if(a.elements){var c=ne(n,g,["clientSecret","fonts"]);c&&a.elements.update(c)}},[n,g,a.elements]),u.useEffect(function(){K(a.stripe)},[a.stripe]),u.createElement(W.Provider,{value:a},i)};Se.propTypes={stripe:p.any,options:p.object};var ue=function(e){var t=u.useContext(W);return oe(t,e)},Ue=function(){var e=ue("calls useElements()"),t=e.elements;return t},ke=function(e){var t=e.children,n=ue("mounts <ElementsConsumer>");return t(n)};ke.propTypes={children:p.func.isRequired};var be=["on","session"],B=u.createContext(null);B.displayName="CustomCheckoutSdkContext";var ae=function(e,t){if(!e)throw new Error("Could not find CustomCheckoutProvider context; You need to wrap the part of your app that ".concat(t," in an <CustomCheckoutProvider> provider."));return e},J=u.createContext(null);J.displayName="CustomCheckoutContext";var Pe=function(e,t){if(!e)return null;e.on,e.session;var n=me(e,be);return t?N(N({},n),t):N(N({},n),e.session())},xe="Invalid prop `stripe` supplied to `CustomCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",Oe=function(e){var t=e.stripe,n=e.options,i=e.children,o=u.useMemo(function(){return F(t,xe)},[t]),s=u.useState(null),l=U(s,2),a=l[0],C=l[1],d=u.useState(function(){return{stripe:o.tag==="sync"?o.stripe:null,customCheckoutSdk:null}}),g=U(d,2),c=g[0],f=g[1],S=function(E,R){f(function(A){return A.stripe&&A.customCheckoutSdk?A:{stripe:E,customCheckoutSdk:R}})},v=u.useRef(!1);u.useEffect(function(){var O=!0;return o.tag==="async"&&!c.stripe?o.stripePromise.then(function(E){E&&O&&!v.current&&(v.current=!0,E.initCustomCheckout(n).then(function(R){R&&(S(E,R),R.on("change",C))}))}):o.tag==="sync"&&o.stripe&&!v.current&&(v.current=!0,o.stripe.initCustomCheckout(n).then(function(E){E&&(S(o.stripe,E),E.on("change",C))})),function(){O=!1}},[o,c,n,C]);var P=j(t);u.useEffect(function(){P!==null&&P!==t&&console.warn("Unsupported prop change on CustomCheckoutProvider: You cannot change the `stripe` prop after setting it.")},[P,t]);var k=j(n);u.useEffect(function(){var O,E;if(c.customCheckoutSdk){n.clientSecret&&!I(k)&&!q(n.clientSecret,k.clientSecret)&&console.warn("Unsupported prop change: options.client_secret is not a mutable property.");var R=k==null||(O=k.elementsOptions)===null||O===void 0?void 0:O.appearance,A=n==null||(E=n.elementsOptions)===null||E===void 0?void 0:E.appearance;A&&!q(A,R)&&c.customCheckoutSdk.changeAppearance(A)}},[n,k,c.customCheckoutSdk]),u.useEffect(function(){K(c.stripe)},[c.stripe]);var $=u.useMemo(function(){return Pe(c.customCheckoutSdk,a)},[c.customCheckoutSdk,a]);return c.customCheckoutSdk?u.createElement(B.Provider,{value:c},u.createElement(J.Provider,{value:$},i)):null};Oe.propTypes={stripe:p.any,options:p.shape({clientSecret:p.string.isRequired,elementsOptions:p.object}).isRequired};var Re=function(e){var t=u.useContext(B);return ae(t,e)},V=function(e){var t=u.useContext(B),n=u.useContext(W);if(t&&n)throw new Error("You cannot wrap the part of your app that ".concat(e," in both <CustomCheckoutProvider> and <Elements> providers."));return t?ae(t,e):oe(n,e)},_e=function(){Re("calls useCustomCheckout()");var e=u.useContext(J);if(!e)throw new Error("Could not find CustomCheckout Context; You need to wrap the part of your app that calls useCustomCheckout() in an <CustomCheckoutProvider> provider.");return e},Ae=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},h=function(e,t){var n="".concat(Ae(e),"Element"),i=function(a){var C=a.id,d=a.className,g=a.options,c=g===void 0?{}:g,f=a.onBlur,S=a.onFocus,v=a.onReady,P=a.onChange,k=a.onEscape,$=a.onClick,O=a.onLoadError,E=a.onLoaderStart,R=a.onNetworksChange,A=a.onConfirm,se=a.onCancel,ce=a.onShippingAddressChange,le=a.onShippingRateChange,_=V("mounts <".concat(n,">")),L="elements"in _?_.elements:null,M="customCheckoutSdk"in _?_.customCheckoutSdk:null,pe=u.useState(null),H=U(pe,2),y=H[0],de=H[1],w=u.useRef(null),Y=u.useRef(null);b(y,"blur",f),b(y,"focus",S),b(y,"escape",k),b(y,"click",$),b(y,"loaderror",O),b(y,"loaderstart",E),b(y,"networkschange",R),b(y,"confirm",A),b(y,"cancel",se),b(y,"shippingaddresschange",ce),b(y,"shippingratechange",le),b(y,"change",P);var D;v&&(e==="expressCheckout"?D=v:D=function(){v(y)}),b(y,"ready",D),u.useLayoutEffect(function(){if(w.current===null&&Y.current!==null&&(L||M)){var x=null;M?x=M.createElement(e,c):L&&(x=L.create(e,c)),w.current=x,de(x),x&&x.mount(Y.current)}},[L,M,c]);var G=j(c);return u.useEffect(function(){if(w.current){var x=ne(c,G,["paymentRequest"]);x&&"update"in w.current&&w.current.update(x)}},[c,G]),u.useLayoutEffect(function(){return function(){if(w.current&&typeof w.current.destroy=="function")try{w.current.destroy(),w.current=null}catch{}}},[]),u.createElement("div",{id:C,className:d,ref:Y})},o=function(a){V("mounts <".concat(n,">"));var C=a.id,d=a.className;return u.createElement("div",{id:C,className:d})},s=t?o:i;return s.propTypes={id:p.string,className:p.string,onChange:p.func,onBlur:p.func,onFocus:p.func,onReady:p.func,onEscape:p.func,onClick:p.func,onLoadError:p.func,onLoaderStart:p.func,onNetworksChange:p.func,onConfirm:p.func,onCancel:p.func,onShippingAddressChange:p.func,onShippingRateChange:p.func,options:p.object},s.displayName=n,s.__elementType=e,s},m=typeof window>"u",z=u.createContext(null);z.displayName="EmbeddedCheckoutProviderContext";var ie=function(){var e=u.useContext(z);if(!e)throw new Error("<EmbeddedCheckout> must be used within <EmbeddedCheckoutProvider>");return e},we="Invalid prop `stripe` supplied to `EmbeddedCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",Le=function(e){var t=e.stripe,n=e.options,i=e.children,o=u.useMemo(function(){return F(t,we)},[t]),s=u.useRef(null),l=u.useRef(null),a=u.useState({embeddedCheckout:null}),C=U(a,2),d=C[0],g=C[1];u.useEffect(function(){if(!(l.current||s.current)){var S=function(P){l.current||s.current||(l.current=P,s.current=l.current.initEmbeddedCheckout(n).then(function(k){g({embeddedCheckout:k})}))};o.tag==="async"&&!l.current&&(n.clientSecret||n.fetchClientSecret)?o.stripePromise.then(function(v){v&&S(v)}):o.tag==="sync"&&!l.current&&(n.clientSecret||n.fetchClientSecret)&&S(o.stripe)}},[o,n,d,l]),u.useEffect(function(){return function(){d.embeddedCheckout?(s.current=null,d.embeddedCheckout.destroy()):s.current&&s.current.then(function(){s.current=null,d.embeddedCheckout&&d.embeddedCheckout.destroy()})}},[d.embeddedCheckout]),u.useEffect(function(){K(l)},[l]);var c=j(t);u.useEffect(function(){c!==null&&c!==t&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the `stripe` prop after setting it.")},[c,t]);var f=j(n);return u.useEffect(function(){if(f!=null){if(n==null){console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot unset options after setting them.");return}n.clientSecret===void 0&&n.fetchClientSecret===void 0&&console.warn("Invalid props passed to EmbeddedCheckoutProvider: You must provide one of either `options.fetchClientSecret` or `options.clientSecret`."),f.clientSecret!=null&&n.clientSecret!==f.clientSecret&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the client secret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead."),f.fetchClientSecret!=null&&n.fetchClientSecret!==f.fetchClientSecret&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change fetchClientSecret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead."),f.onComplete!=null&&n.onComplete!==f.onComplete&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onComplete option after setting it."),f.onShippingDetailsChange!=null&&n.onShippingDetailsChange!==f.onShippingDetailsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onShippingDetailsChange option after setting it."),f.onLineItemsChange!=null&&n.onLineItemsChange!==f.onLineItemsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onLineItemsChange option after setting it.")}},[f,n]),u.createElement(z.Provider,{value:d},i)},je=function(e){var t=e.id,n=e.className,i=ie(),o=i.embeddedCheckout,s=u.useRef(!1),l=u.useRef(null);return u.useLayoutEffect(function(){return!s.current&&o&&l.current!==null&&(o.mount(l.current),s.current=!0),function(){if(s.current&&o)try{o.unmount(),s.current=!1}catch{}}},[o]),u.createElement("div",{ref:l,id:t,className:n})},Ie=function(e){var t=e.id,n=e.className;return ie(),u.createElement("div",{id:t,className:n})},Me=m?Ie:je,Te=function(){var e=V("calls useStripe()"),t=e.stripe;return t},We=h("auBankAccount",m),Be=h("card",m),$e=h("cardNumber",m),Ye=h("cardExpiry",m),De=h("cardCvc",m),qe=h("fpxBank",m),Ve=h("iban",m),Fe=h("idealBank",m),Ke=h("p24Bank",m),Je=h("epsBank",m),ze=h("payment",m),He=h("expressCheckout",m),Ge=h("currencySelector",m),Qe=h("paymentRequestButton",m),Xe=h("linkAuthentication",m),Ze=h("address",m),et=h("shippingAddress",m),tt=h("paymentMethodMessaging",m),nt=h("affirmMessage",m),rt=h("afterpayClearpayMessage",m);export{Ze as AddressElement,nt as AffirmMessageElement,rt as AfterpayClearpayMessageElement,We as AuBankAccountElement,De as CardCvcElement,Be as CardElement,Ye as CardExpiryElement,$e as CardNumberElement,Ge as CurrencySelectorElement,Oe as CustomCheckoutProvider,Se as Elements,ke as ElementsConsumer,Me as EmbeddedCheckout,Le as EmbeddedCheckoutProvider,Je as EpsBankElement,He as ExpressCheckoutElement,qe as FpxBankElement,Ve as IbanElement,Fe as IdealBankElement,Xe as LinkAuthenticationElement,Ke as P24BankElement,ze as PaymentElement,tt as PaymentMethodMessagingElement,Qe as PaymentRequestButtonElement,et as ShippingAddressElement,_e as useCustomCheckout,Ue as useElements,Te as useStripe};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import{r as h,j as o,q as L,B as S,w as R,bf as B}from"./vendor-mui-BXZut9Pz.js";import{V as C,N as D}from"./vendor-blocklet-D_i_QeSo.js";import{i as M,q as $,n as z,s as P,T as E,a9 as N,e as y}from"./index-DgSc1Qy8.js";import{u as Y}from"./table-BRU4Enia.js";const q=(r,i,d={})=>{const c=new URLSearchParams;return Object.keys(d).forEach(s=>{let u=d[s];s==="q"&&(u=Object.entries(u).map(l=>l.join(":")).join(" ")),c.set(s,String(u))}),r?y.get(`/api/subscriptions/${r}/recharge?${c.toString()}`).then(s=>s.data):i?(c.set("currency_id",i),y.get(`/api/invoices/recharge?${c.toString()}`).then(s=>s.data)):Promise.resolve({list:[],count:0})},K=r=>r.subscription_id?`subscription-recharge-${r.subscription_id}`:r.currency_id?`currency-recharge-${r.currency_id}`:"invoices";function U({currency_id:r="",subscription_id:i="",recharge_address:d="",customer_id:c="",features:s={customer:!0,filter:!0}}){const u=K({currency_id:r,subscription_id:i}),{t:l,locale:j}=C(),v=Y(20),[m,p]=D(u,{defaultValue:{currency_id:r,subscription_id:i,pageSize:v,page:1}}),[f,T]=h.useState({}),[b,x]=h.useState(!0),_=async()=>{x(!0);try{const a=await q(i||"",r||"",{...m,recharge_address:d,customer_id:c});T(a)}catch(a){console.error("Failed to fetch recharge records:",a)}finally{x(!1)}};h.useEffect(()=>{_()},[m,r,i,d]);const g=a=>({external:!0,connect:!1,url:N(a.paymentMethod,a.metadata?.payment_details).link}),k=[{label:l("common.amount"),name:"total",width:80,align:"right",options:{customBodyRenderLite:(a,n)=>{const e=f?.list?.[n];if(!e)return null;const t=g(e);return o.jsx("a",{href:t.url,target:"_blank",rel:"noreferrer",children:o.jsxs(L,{children:[M(e.total,e.paymentCurrency.decimal)," ",e.paymentCurrency.symbol]})})}}},{label:l("payment.customer.invoice.invoiceNumber"),name:"number",options:{customBodyRenderLite:(a,n)=>{const e=f?.list?.[n];if(!e)return null;const t=g(e);return o.jsx("a",{href:t.url,target:"_blank",rel:"noreferrer",children:e?.number})}}},{label:l("common.rechargeTime"),name:"created_at",options:{customBodyRenderLite:(a,n)=>{const e=f?.list?.[n];if(!e)return null;const t=g(e);return o.jsx("a",{href:t.url,target:"_blank",rel:"noreferrer",children:$(e.created_at,j,"YYYY-MM-DD HH:mm:ss")})}}},{label:l("common.status"),name:"status",options:{customBodyRenderLite:(a,n)=>{const e=f?.list?.[n];if(!e)return null;const t=g(e);return o.jsx("a",{href:t.url,target:"_blank",rel:"noreferrer",children:o.jsx(z,{label:e.status,color:P(e.status)})})}}}],w=({page:a,rowsPerPage:n})=>{m.pageSize!==n?p(e=>{const t={...e};return t&&(t.pageSize=n,t.page=1),t}):m.page!==a+1&&p(e=>{const t={...e};return t&&(t.page=a+1),t})};return o.jsx(F,{children:b?o.jsx(S,{sx:{display:"flex",justifyContent:"center",p:3},children:o.jsx(R,{})}):o.jsx(E,{hasRowLink:!0,data:f.list||[],durable:`__${u}__`,durableKeys:["searchText"],columns:k,loading:b,onChange:w,mobileTDFlexDirection:"row",options:{count:f.count||0,page:m.page-1,rowsPerPage:m.pageSize},toolbar:!1,showMobile:!1,footer:s?.footer,emptyNodeText:`${l("empty.invoices")}`})})}const F=B(S)`
|
|
2
|
+
@media (max-width: ${({theme:r})=>r.breakpoints.values.md}px) {
|
|
3
|
+
.MuiTable-root > .MuiTableBody-root > .MuiTableRow-root > td.MuiTableCell-root {
|
|
4
|
+
> div {
|
|
5
|
+
width: fit-content;
|
|
6
|
+
flex: inherit;
|
|
7
|
+
font-size: 14px;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
.invoice-summary {
|
|
11
|
+
padding-right: 20px;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
`;export{U as R};
|