@zonos/elements 1.3.287 → 1.3.289
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/cjs/{cart-CV4buPlT.js → cart-WLQb2hbe.js} +1 -1
- package/dist/cjs/{collect-jzWKzrV7.js → collect-B92uIdsY.js} +2 -2
- package/dist/cjs/{getMissingRequiredShippingFields-r5vYIqoX.js → getMissingRequiredShippingFields-5w62gTIB.js} +1 -1
- package/dist/cjs/{hasInclusivePrice-BZMQohG9.js → hasInclusivePrice-hmV0Inld.js} +1 -1
- package/dist/cjs/index.cjs.js +8 -9
- package/dist/cjs/{invoice-CHw-mJdS.js → invoice-Bal1mqYR.js} +2 -2
- package/dist/cjs/{localization-CxXsmxs5.js → localization-C5HPlCNK.js} +191 -68
- package/dist/cjs/{paypal-BLuHeOJH.js → paypal-o164C26_.js} +2 -2
- package/dist/cjs/{placeTestOrder-VK_CMeq0.js → placeTestOrder-C7tAipav.js} +2 -2
- package/dist/cjs/{renderCheckoutCurrency-CC4CAy-a.js → renderCheckoutCurrency-Bpx-vrTQ.js} +2 -2
- package/dist/cjs/{shouldShowLanguageSelect-Bj_jKWPK.js → shouldShowLanguageSelect-CtwkMt8b.js} +1 -1
- package/dist/cjs/zonos-address-completion-dialog_7.cjs.entry.js +7 -7
- package/dist/cjs/zonos-address-display_2.cjs.entry.js +1 -1
- package/dist/cjs/zonos-address_4.cjs.entry.js +4 -4
- package/dist/cjs/zonos-airwallex-payment.cjs.entry.js +3 -3
- package/dist/cjs/zonos-card_5.cjs.entry.js +4 -4
- package/dist/cjs/zonos-cart-items_12.cjs.entry.js +9 -9
- package/dist/cjs/zonos-checkout.cjs.entry.js +6 -6
- package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +2 -2
- package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +8 -8
- package/dist/cjs/zonos-collect.cjs.entry.js +5 -5
- package/dist/cjs/zonos-controller.cjs.entry.js +4 -4
- package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
- package/dist/cjs/zonos-country-select_4.cjs.entry.js +2 -2
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +2 -2
- package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
- package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +4 -4
- package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +8 -8
- package/dist/cjs/zonos-invoice.cjs.entry.js +4 -4
- package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
- package/dist/cjs/zonos-policy-consent_2.cjs.entry.js +3 -3
- package/dist/cjs/zonos-stripe-input.cjs.entry.js +1 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +1 -1
- package/dist/collection/components/checkout/zonos-collect/zonos-collect-payment/zonos-collect-payment.js +1 -1
- package/dist/collection/components/checkout/zonos-collect/zonos-collect.css +7 -4
- package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-payment/zonos-invoice-payment.js +1 -1
- package/dist/collection/components/common/zonos-stripe-input/zonos-stripe-input.js +1 -1
- package/dist/collection/components/main/zonos-controller.js +2 -2
- package/dist/collection/components/paypal/zonos-paypal-payment.js +1 -2
- package/dist/collection/components/store/hello/localization.js +69 -34
- package/dist/collection/components/stripe/zonos-address/zonos-address.js +2 -2
- package/dist/collection/components/stripe/zonos-custom-address/zonos-address-suggestions/zonos-address-suggestions.js +2 -3
- package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +2 -2
- package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +0 -1
- package/dist/collection/components/utils/api/getLocalization.js +2 -2
- package/dist/collection/components/utils/checkout/isShippableCountry.js +2 -4
- package/dist/collection/components/utils/checkout/watchBigcommerceDomesticCheckout.js +1 -0
- package/dist/collection/components/utils/checkout/watchImmediateBigcommerceDomesticCheckoutRedirect.js +2 -0
- package/dist/collection/components/utils/formatDate.js +1 -3
- package/dist/collection/components/utils/getOverridenZCountry.js +3 -5
- package/dist/collection/components/utils/hello/countryOverrideStorage.js +49 -0
- package/dist/collection/components/utils/hello/getZCountryUrlParam.js +5 -9
- package/dist/collection/components/utils/hello/isCountryCode.js +1 -0
- package/dist/collection/components/utils/hello/isCountryInShippingZone.js +8 -0
- package/dist/collection/components/utils/hello/reconcileRememberedCountryOverride.js +37 -0
- package/dist/collection/components/utils/hello/shouldShowHelloWidget.js +27 -20
- package/dist/collection/environment.js +0 -1
- package/dist/collection/scripts/_stripe.js +0 -2
- package/dist/collection/scripts/_zonosBase.js +1 -1
- package/dist/collection/types/generated/graphql.frontend.types.js +218 -63
- package/dist/collection/types/generated/graphql.internal.types.js +643 -147
- package/dist/collection/utils/formattedCloudflareApiUrl.js +1 -0
- package/dist/collection/utils/generateCloudflareDeployUrl.js +5 -2
- package/dist/esm/{cart-ekBk_gxV.js → cart-BDc4RTBJ.js} +1 -1
- package/dist/esm/{collect-33rMINDo.js → collect-NRCK3t-M.js} +2 -2
- package/dist/esm/{getMissingRequiredShippingFields-u1nhQzJ1.js → getMissingRequiredShippingFields-D-B-N1NH.js} +1 -1
- package/dist/esm/{hasInclusivePrice-CAVXi310.js → hasInclusivePrice-Bti4iudO.js} +1 -1
- package/dist/esm/index.js +8 -9
- package/dist/esm/{invoice-BNDWuVsD.js → invoice-DsvQvu4a.js} +2 -2
- package/dist/esm/{localization-AOqYXGdP.js → localization-Bs6hVcKV.js} +191 -69
- package/dist/esm/{paypal-CW1D2XqZ.js → paypal-BqyEZS_u.js} +2 -2
- package/dist/esm/{placeTestOrder-nhmsLLOA.js → placeTestOrder-x3xwMAnW.js} +2 -2
- package/dist/esm/{renderCheckoutCurrency-BQANmZyM.js → renderCheckoutCurrency-DIBdWKN1.js} +2 -2
- package/dist/esm/{shouldShowLanguageSelect-BQFCXouB.js → shouldShowLanguageSelect-Bb9sbQ41.js} +1 -1
- package/dist/esm/zonos-address-completion-dialog_7.entry.js +7 -7
- package/dist/esm/zonos-address-display_2.entry.js +1 -1
- package/dist/esm/zonos-address_4.entry.js +4 -4
- package/dist/esm/zonos-airwallex-payment.entry.js +3 -3
- package/dist/esm/zonos-card_5.entry.js +4 -4
- package/dist/esm/zonos-cart-items_12.entry.js +9 -9
- package/dist/esm/zonos-checkout.entry.js +6 -6
- package/dist/esm/zonos-collect-cart-items_3.entry.js +2 -2
- package/dist/esm/zonos-collect-finish_6.entry.js +8 -8
- package/dist/esm/zonos-collect.entry.js +5 -5
- package/dist/esm/zonos-controller.entry.js +4 -4
- package/dist/esm/zonos-country-flag.entry.js +1 -1
- package/dist/esm/zonos-country-select_4.entry.js +2 -2
- package/dist/esm/zonos-hello-dialog.entry.js +2 -2
- package/dist/esm/zonos-hello.entry.js +1 -1
- package/dist/esm/zonos-invoice-cart-items_2.entry.js +4 -4
- package/dist/esm/zonos-invoice-finish_5.entry.js +8 -8
- package/dist/esm/zonos-invoice.entry.js +4 -4
- package/dist/esm/zonos-language-select_2.entry.js +1 -1
- package/dist/esm/zonos-policy-consent_2.entry.js +3 -3
- package/dist/esm/zonos-stripe-input.entry.js +1 -1
- package/dist/esm-es5/{cart-ekBk_gxV.js → cart-BDc4RTBJ.js} +1 -1
- package/dist/esm-es5/{collect-33rMINDo.js → collect-NRCK3t-M.js} +1 -1
- package/dist/esm-es5/{getMissingRequiredShippingFields-u1nhQzJ1.js → getMissingRequiredShippingFields-D-B-N1NH.js} +1 -1
- package/dist/esm-es5/{hasInclusivePrice-CAVXi310.js → hasInclusivePrice-Bti4iudO.js} +1 -1
- package/dist/esm-es5/index.js +6 -8
- package/dist/esm-es5/{invoice-BNDWuVsD.js → invoice-DsvQvu4a.js} +1 -1
- package/dist/esm-es5/{localization-AOqYXGdP.js → localization-Bs6hVcKV.js} +74 -68
- package/dist/esm-es5/{paypal-CW1D2XqZ.js → paypal-BqyEZS_u.js} +1 -1
- package/dist/esm-es5/{placeTestOrder-nhmsLLOA.js → placeTestOrder-x3xwMAnW.js} +1 -1
- package/dist/esm-es5/{renderCheckoutCurrency-BQANmZyM.js → renderCheckoutCurrency-DIBdWKN1.js} +1 -1
- package/dist/esm-es5/{shouldShowLanguageSelect-BQFCXouB.js → shouldShowLanguageSelect-Bb9sbQ41.js} +1 -1
- package/dist/esm-es5/zonos-address-completion-dialog_7.entry.js +3 -3
- package/dist/esm-es5/zonos-address-display_2.entry.js +1 -1
- package/dist/esm-es5/zonos-address_4.entry.js +2 -2
- package/dist/esm-es5/zonos-airwallex-payment.entry.js +1 -1
- package/dist/esm-es5/zonos-card_5.entry.js +2 -2
- package/dist/esm-es5/zonos-cart-items_12.entry.js +2 -2
- package/dist/esm-es5/zonos-checkout.entry.js +4 -4
- package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
- package/dist/esm-es5/zonos-collect-finish_6.entry.js +2 -2
- package/dist/esm-es5/zonos-collect.entry.js +1 -1
- package/dist/esm-es5/zonos-controller.entry.js +3 -3
- package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
- package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
- package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
- package/dist/esm-es5/zonos-hello.entry.js +1 -1
- package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
- package/dist/esm-es5/zonos-invoice-finish_5.entry.js +2 -2
- package/dist/esm-es5/zonos-invoice.entry.js +1 -1
- package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
- package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -1
- package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
- package/dist/scripts/index.js +1 -1
- package/dist/scripts/loadZonos.js +1 -1
- package/dist/scripts/zonos.js +1 -1
- package/dist/types/components/store/hello/localization.d.ts +2 -1
- package/dist/types/components/utils/api/getLocalization.d.ts +3 -1
- package/dist/types/components/utils/getOverridenZCountry.d.ts +2 -3
- package/dist/types/components/utils/hello/countryOverrideStorage.d.ts +5 -0
- package/dist/types/components/utils/hello/isCountryCode.d.ts +2 -0
- package/dist/types/components/utils/hello/isCountryInShippingZone.d.ts +2 -0
- package/dist/types/components/utils/hello/reconcileRememberedCountryOverride.d.ts +18 -0
- package/dist/types/components/utils/hello/shouldShowHelloWidget.d.ts +8 -4
- package/dist/types/types/generated/graphql.frontend.types.d.ts +41 -52
- package/dist/types/types/generated/graphql.frontend.types.ts +226 -114
- package/dist/types/types/generated/graphql.internal.types.d.ts +231 -94
- package/dist/types/types/generated/graphql.internal.types.ts +712 -245
- package/dist/types/utils/formattedCloudflareApiUrl.d.ts +1 -0
- package/dist/types/utils/generateCloudflareDeployUrl.d.ts +5 -2
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/p-02628b9f.entry.js +1 -0
- package/dist/zonos-elements/{p-04cc0dac.system.entry.js → p-02ff6f8b.system.entry.js} +38 -38
- package/dist/zonos-elements/p-037d3688.entry.js +1 -0
- package/dist/zonos-elements/{p-02ef0f99.system.entry.js → p-03fbe813.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-5a631080.system.entry.js → p-0ff26236.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-f2cedbcd.system.entry.js → p-163b81c0.system.entry.js} +6 -6
- package/dist/zonos-elements/{p-e9320825.entry.js → p-18021e6b.entry.js} +1 -1
- package/dist/zonos-elements/{p-dcdbc610.system.entry.js → p-22fab1ba.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-b14819ab.system.entry.js → p-2466b5f0.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-daf9fa07.system.entry.js → p-317d4665.system.entry.js} +19 -19
- package/dist/zonos-elements/{p-d55b9664.system.entry.js → p-36559431.system.entry.js} +17 -17
- package/dist/zonos-elements/{p-f27317d3.system.entry.js → p-3cc27e0e.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-891b47d7.entry.js → p-3d536086.entry.js} +1 -1
- package/dist/zonos-elements/{p-a38e62cc.entry.js → p-3e59d41c.entry.js} +1 -1
- package/dist/zonos-elements/{p-64e7bc5b.entry.js → p-4625058a.entry.js} +1 -1
- package/dist/zonos-elements/{p-5024df2d.system.entry.js → p-56159b7c.system.entry.js} +60 -60
- package/dist/zonos-elements/p-5e074243.entry.js +1 -0
- package/dist/zonos-elements/{p-9818f823.entry.js → p-5eb82be3.entry.js} +1 -1
- package/dist/zonos-elements/{p-cf5688f7.entry.js → p-628a0f7f.entry.js} +1 -1
- package/dist/zonos-elements/{p-5d3079e8.entry.js → p-635341d6.entry.js} +1 -1
- package/dist/zonos-elements/{p-cdffc9b6.entry.js → p-68e0180a.entry.js} +1 -1
- package/dist/zonos-elements/{p-6b0afaa7.entry.js → p-6c6c65f0.entry.js} +1 -1
- package/dist/zonos-elements/{p-04bfcd72.system.entry.js → p-72b6a006.system.entry.js} +18 -18
- package/dist/zonos-elements/{p-4973f8d8.system.entry.js → p-8cac7911.system.entry.js} +8 -8
- package/dist/zonos-elements/p-97f848f6.entry.js +1 -0
- package/dist/zonos-elements/p-9H2p9XKE.js +1 -0
- package/dist/zonos-elements/{p-CJCoACvU.js → p-B6X55m0b.js} +2 -2
- package/dist/zonos-elements/p-Bu9WCfUC.system.js +1 -1
- package/dist/zonos-elements/{p-D31lQiWo.system.js → p-BybDGrH4.system.js} +4 -4
- package/dist/zonos-elements/{p-DTgv0QpG.js → p-CGkdA4pY.js} +1 -1
- package/dist/zonos-elements/{p-D5AtAlJx.system.js → p-CH6tsv9B.system.js} +1 -1
- package/dist/zonos-elements/{p-CYdt69j5.system.js → p-CQyFoOXW.system.js} +23 -23
- package/dist/zonos-elements/{p-B2EZRfoq.system.js → p-CVQ7-7E2.system.js} +18 -18
- package/dist/zonos-elements/{p-DIJaXkiE.system.js → p-Cd9xIgx7.system.js} +111 -105
- package/dist/zonos-elements/{p-CQqNJo0D.system.js → p-ClUEwqZW.system.js} +4 -4
- package/dist/zonos-elements/{p-DkpYo2Fs.js → p-CpvnCfKt.js} +1 -1
- package/dist/zonos-elements/p-CtKp6AQ4.js +1 -0
- package/dist/zonos-elements/{p-DGsEWFDU.system.js → p-CuhGrJBA.system.js} +1 -1
- package/dist/zonos-elements/{p-D-DawUYF.system.js → p-D2fOB4Wn.system.js} +1 -1
- package/dist/zonos-elements/{p-Dw-5yD9y.system.js → p-D4WI0B6-.system.js} +6 -8
- package/dist/zonos-elements/{p-CKTIJ2Gr.js → p-DdpeA8cH.js} +1 -1
- package/dist/zonos-elements/p-DkirvyAh.js +1 -0
- package/dist/zonos-elements/{p-DHwpNxG9.js → p-DqEtY53c.js} +1 -1
- package/dist/zonos-elements/{p-DjuFsKLG.js → p-MHVIIOVE.js} +1 -1
- package/dist/zonos-elements/{p-DPW1yXt9.system.js → p-NL_Eiq6m.system.js} +65 -65
- package/dist/zonos-elements/{p-Dj-O6VfM.system.js → p-UM1aYZBV.system.js} +2 -2
- package/dist/zonos-elements/p-a6354d15.entry.js +1 -0
- package/dist/zonos-elements/{p-8cd3f1e2.entry.js → p-b78bab27.entry.js} +1 -1
- package/dist/zonos-elements/{p-629f09dc.system.entry.js → p-b88e521e.system.entry.js} +24 -24
- package/dist/zonos-elements/{p-450ed170.system.entry.js → p-b96666ca.system.entry.js} +3 -3
- package/dist/zonos-elements/{p-39c8a898.entry.js → p-c090cc60.entry.js} +1 -1
- package/dist/zonos-elements/{p-cadf6b63.system.entry.js → p-c4713ff1.system.entry.js} +10 -10
- package/dist/zonos-elements/{p-ea8790aa.entry.js → p-c5f17bad.entry.js} +1 -1
- package/dist/zonos-elements/{p-f57495dc.entry.js → p-cc17a230.entry.js} +1 -1
- package/dist/zonos-elements/{p-7ae48e31.entry.js → p-cf53f67a.entry.js} +1 -1
- package/dist/zonos-elements/{p-7a5d2211.system.entry.js → p-d261f27c.system.entry.js} +15 -15
- package/dist/zonos-elements/{p-e101d722.system.entry.js → p-d451d5bc.system.entry.js} +4 -4
- package/dist/zonos-elements/{p-d33dfc78.system.entry.js → p-d9527bd7.system.entry.js} +35 -35
- package/dist/zonos-elements/{p-f6e0aeba.system.entry.js → p-e126e9bd.system.entry.js} +176 -176
- package/dist/zonos-elements/{p-e284d329.entry.js → p-e582ae2a.entry.js} +1 -1
- package/dist/zonos-elements/{p-5562a955.system.entry.js → p-e9a3bc27.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-844a743a.entry.js → p-f44631d5.entry.js} +1 -1
- package/dist/zonos-elements/{p-5836d426.system.entry.js → p-fcfac62f.system.entry.js} +1 -1
- package/dist/zonos-elements/p-opB7B9YB.js +1 -0
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +12 -11
- package/dist/zonos-elements/p-2ba738ec.entry.js +0 -1
- package/dist/zonos-elements/p-4a54f664.entry.js +0 -1
- package/dist/zonos-elements/p-6f742021.entry.js +0 -1
- package/dist/zonos-elements/p-89ddab88.entry.js +0 -1
- package/dist/zonos-elements/p-C19J2XSh.js +0 -1
- package/dist/zonos-elements/p-LypTHRUC.js +0 -1
- package/dist/zonos-elements/p-adfee3a3.entry.js +0 -1
- package/dist/zonos-elements/p-lGLcGvEA.js +0 -1
- package/dist/zonos-elements/p-pfIceXbY.js +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,o,t,n){function r(e){return e instanceof t?e:new t((function(o){o(e)}))}return new(t||(t=Promise))((function(t,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n["throw"](e))}catch(e){i(e)}}function a(e){e.done?t(e.value):r(e.value).then(s,c)}a((n=n.apply(e,o||[])).next())}))};var __generator=this&&this.__generator||function(e,o){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,r,i,s=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return s.next=c(0),s["throw"]=c(1),s["return"]=c(2),typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function c(e){return function(o){return a([e,o])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,c[0]&&(t=0)),t)try{if(n=1,r&&(i=c[0]&2?r["return"]:c[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,c[1])).done)return i;if(r=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:t.label++;return{value:c[1],done:false};case 5:t.label++;r=c[1];c=[0];continue;case 7:c=t.ops.pop();t.trys.pop();continue;default:if(!(i=t.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){t.label=c[1];break}if(c[0]===6&&t.label<i[1]){t.label=i[1];i=c;break}if(i&&t.label<i[2]){t.label=i[2];t.ops.push(c);break}if(i[2])t.ops.pop();t.trys.pop();continue}c=o.call(e,t)}catch(e){c=[6,e];r=0}finally{n=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,o,t){if(t||arguments.length===2)for(var n=0,r=o.length,i;n<r;n++){if(i||!(n in o)){if(!i)i=Array.prototype.slice.call(o,0,n);i[n]=o[n]}}return e.concat(i||Array.prototype.slice.call(o))};System.register(["./p-CIevpRv_.system.js","./p-
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,o,t,n){function r(e){return e instanceof t?e:new t((function(o){o(e)}))}return new(t||(t=Promise))((function(t,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n["throw"](e))}catch(e){i(e)}}function a(e){e.done?t(e.value):r(e.value).then(s,c)}a((n=n.apply(e,o||[])).next())}))};var __generator=this&&this.__generator||function(e,o){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,r,i,s=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return s.next=c(0),s["throw"]=c(1),s["return"]=c(2),typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function c(e){return function(o){return a([e,o])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,c[0]&&(t=0)),t)try{if(n=1,r&&(i=c[0]&2?r["return"]:c[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,c[1])).done)return i;if(r=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:t.label++;return{value:c[1],done:false};case 5:t.label++;r=c[1];c=[0];continue;case 7:c=t.ops.pop();t.trys.pop();continue;default:if(!(i=t.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){t.label=c[1];break}if(c[0]===6&&t.label<i[1]){t.label=i[1];i=c;break}if(i&&t.label<i[2]){t.label=i[2];t.ops.push(c);break}if(i[2])t.ops.pop();t.trys.pop();continue}c=o.call(e,t)}catch(e){c=[6,e];r=0}finally{n=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,o,t){if(t||arguments.length===2)for(var n=0,r=o.length,i;n<r;n++){if(i||!(n in o)){if(!i)i=Array.prototype.slice.call(o,0,n);i[n]=o[n]}}return e.concat(i||Array.prototype.slice.call(o))};System.register(["./p-CIevpRv_.system.js","./p-NL_Eiq6m.system.js","./p-CVQ7-7E2.system.js","./p-Cd9xIgx7.system.js","./p-CPnR_T0a.system.js","./p-BDopxBpR.system.js","./p-zVLAvre1.system.js","./p-CaAod213.system.js","./p-BbgqQIHv.system.js","./p-smUku7Ku.system.js","./p-C2j7R11h.system.js","./p-DBOI98r5.system.js","./p-BSgVcCxT.system.js","./p-DW-fW8yR.system.js","./p-BNtWsPPP.system.js","./p-0D0aCMu6.system.js","./p-Cby4EkFu.system.js","./p-B3GRrRtL.system.js","./p-uV7m6KrY.system.js","./p-BANhKkF2.system.js","./p-CaUXHglQ.system.js"],(function(e){"use strict";var o,t,n,r,i,s,c,a,u,d,l,f,h,v,m,g,p,w,z,k,y,b,_,C,x,S,T,I,A,O,E,B,L,U,P,D,N,j,R,F,M,H,V,K,Z,G,Q,W,Y,q,J,X,$,ee,oe,te,ne,re,ie,se,ce,ae,ue,de,le,fe,he,ve,me,ge,pe,we,ze,ke,ye,be,_e,Ce,xe,Se,Te,Ie,Ae,Oe,Ee,Be;return{setters:[function(e){o=e.r;t=e.h;n=e.F;r=e.a},function(e){i=e.s;s=e.a;c=e.b;a=e.i;u=e.c;d=e.g;l=e.d;f=e.e;h=e.f;v=e.p;m=e.h;g=e.j;p=e.k;w=e.l;z=e.m;k=e.n;y=e.o;b=e.t;_=e.q;C=e.r;x=e.u;S=e.v;T=e.w;I=e.x;A=e.y;O=e.z;E=e.A;B=e.B;L=e.C;U=e.D;P=e.E;D=e.F;N=e.G;j=e.H;R=e.I;F=e.J;M=e.K},function(e){H=e.p;V=e.s;K=e.a;Z=e.b},function(e){G=e.f;Q=e.a;W=e.b;Y=e.i;q=e.l;J=e.c;X=e.d;$=e.g;ee=e.s;oe=e.V;te=e.e;ne=e.t;re=e.h;ie=e.j},function(e){se=e.z;ce=e.g;ae=e.m},function(e){ue=e.b},function(e){de=e.h;le=e.g;fe=e.j;he=e.l;ve=e.b;me=e.s;ge=e.a;pe=e.i},function(e){we=e.u},function(e){ze=e.l;ke=e.g;ye=e.b},function(e){be=e._;_e=e.c;Ce=e.d;xe=e.a;Se=e.g},function(e){Te=e.c},function(e){Ie=e.c},function(e){Ae=e.g},function(e){Oe=e.i},function(e){Ee=e.s},function(e){Be=e.R},null,null,null,null,null],execute:function(){var Le=this;
|
|
2
2
|
/**
|
|
3
3
|
* Check if store discount is enabled
|
|
4
|
-
*/var
|
|
4
|
+
*/var Ue=function(){return __awaiter(Le,void 0,void 0,(function(){var e,o,t;return __generator(this,(function(n){switch(n.label){case 0:return[4/*yield*/,de("/api/zonos-elements/get-store-discount-enabled-status")];case 1:e=n.sent(),o=e.errors,t=e.json;if(o.length||!(t===null||t===void 0?void 0:t.enabled)){return[2/*return*/,{enabled:false}]}return[2/*return*/,{enabled:true}]}}))}))};var Pe=function(e){return __awaiter(Le,[e],void 0,(function(e){var o,t,n,r;var i=e.testKeys;return __generator(this,(function(e){switch(e.label){case 0:
|
|
5
5
|
// Do nothing if no test keys are provided
|
|
6
|
-
if(i.length===0){return[2/*return*/,null]}return[4/*yield*/,
|
|
6
|
+
if(i.length===0){return[2/*return*/,null]}return[4/*yield*/,de("/api/zonos-elements/select-variance-test",{body:{testKeys:i},method:"POST"})];case 1:o=e.sent(),t=o.errors,n=o.json;if(t.length||!n){return[2/*return*/,null]}r=G(n);
|
|
7
7
|
// Filter the response to only include test keys that we support
|
|
8
|
-
return[2/*return*/,r]}}))}))};var
|
|
8
|
+
return[2/*return*/,r]}}))}))};var De=function(e){var o=e.cartId,t=e.checkoutSessionId,n=e.customerAddress1,r=e.customerAddress2,i=e.customerCity,s=e.customerCountry,c=e.customerEmail,a=e.customerFirstName,u=e.customerLastName,d=e.customerPhone,l=e.customerState,f=e.customerZip,h=e.hostedCheckoutUrl,v=e.isTestMode,m=e.isVariantTest;var g=new URLSearchParams;g.set("tempCartUUID",o);if(a){g.set("customerFirstName",a)}if(u){g.set("customerLastName",u)}if(c){g.set("customerEmail",c)}if(d){g.set("customerPhone",d)}if(f){g.set("customerZip",f)}if(i){g.set("customerCity",i)}if(l){g.set("customerState",l)}if(s){g.set("zCountry",s)}if(n){g.set("customerAddress1",n)}if(r){g.set("customerAddress2",r)}if(v){g.set("zonosTestMode","1")}if(t){g.set("zonosCheckoutSessionId",t)}if(m){g.set("zonosVariantTest","1")}return"".concat(h,"?").concat(g.toString())};
|
|
9
9
|
/**
|
|
10
10
|
* The query flag that BigCommerce carries back to `cart.php` after the
|
|
11
11
|
* shopper logs in. When present, Zonos-elements knows to resume the
|
|
12
12
|
* international checkout flow instead of letting BC's native cart UX
|
|
13
13
|
* take over.
|
|
14
|
-
*/var
|
|
14
|
+
*/var Ne="isInternationalCheckout";
|
|
15
15
|
/**
|
|
16
16
|
* Build the `from` query value handed to BigCommerce's `/login.php` so that
|
|
17
17
|
* after a successful login the shopper lands back on `cart.php` with the
|
|
18
18
|
* `isInternationalCheckout=true` flag set (plus any `zonosTestMode` /
|
|
19
19
|
* `zonosQaUrl` / `zonosQaUrlApi` that were on the current URL, so the
|
|
20
20
|
* preview build / API host / test credentials carry through the round trip).
|
|
21
|
-
*/var
|
|
21
|
+
*/var je=function(){var e=new URLSearchParams;e.set(Ne,"true");var o=new URLSearchParams(window.location.search);var t=o.get("zonosQaUrl");if(t){e.set("zonosQaUrl",t)}var n=o.get("zonosQaUrlApi");if(n){e.set("zonosQaUrlApi",n)}if(le()){e.set("zonosTestMode","1")}return"cart.php?".concat(e.toString())};
|
|
22
22
|
/**
|
|
23
23
|
* Build an absolute URL to BigCommerce's `/login.php` with the
|
|
24
24
|
* `from=cart.php?isInternationalCheckout=true` round-trip encoded so the
|
|
@@ -28,13 +28,13 @@ return[2/*return*/,r]}}))}))};var Le=function(e){var o=e.cartId,t=e.checkoutSess
|
|
|
28
28
|
* URL across the redirect — the login round trip leaves BC's frontend, so
|
|
29
29
|
* without this the returning `cart.php` would drop back to the production
|
|
30
30
|
* build / API host.
|
|
31
|
-
*/var
|
|
31
|
+
*/var Re=function(e){var o=e===void 0?{}:e,t=o.action;var n=new URL("/login.php",window.location.origin);if(t){n.searchParams.set("action",t)}var r=new URLSearchParams(window.location.search);
|
|
32
32
|
// set zonosQaUrl from the current URL
|
|
33
33
|
var i=r.get("zonosQaUrl");if(i){n.searchParams.set("zonosQaUrl",i)}
|
|
34
34
|
// set zonosQaUrlApi from the current URL
|
|
35
35
|
var s=r.get("zonosQaUrlApi");if(s){n.searchParams.set("zonosQaUrlApi",s)}
|
|
36
36
|
// set zonosTestMode from the current URL
|
|
37
|
-
if(
|
|
37
|
+
if(le()){n.searchParams.set("zonosTestMode","1")}n.searchParams.set("from",je());return n.toString()};
|
|
38
38
|
/**
|
|
39
39
|
* Build an absolute redirect URL used by the BigCommerce checkout flows to
|
|
40
40
|
* navigate between the BC native `/checkout` page and the Zonos international
|
|
@@ -44,31 +44,31 @@ if(de()){n.searchParams.set("zonosTestMode","1")}n.searchParams.set("from",Ne())
|
|
|
44
44
|
* present) so the preview Zonos elements build keeps loading after the
|
|
45
45
|
* redirect, and sets `zonosTestMode=1` when test mode is active so the
|
|
46
46
|
* destination page continues to use the test credentials.
|
|
47
|
-
*/var
|
|
47
|
+
*/var Fe=function(e){var o=new URL(e,window.location.origin);var t=new URLSearchParams(window.location.search);var n=t.get("zonosQaUrl");if(n){o.searchParams.set("zonosQaUrl",n)}
|
|
48
48
|
// zonosDebug=1
|
|
49
|
-
if(t.get("zonosDebug")==="1"){o.searchParams.set("zonosDebug","1")}if(
|
|
49
|
+
if(t.get("zonosDebug")==="1"){o.searchParams.set("zonosDebug","1")}if(le()){o.searchParams.set("zonosTestMode","1")}return o.toString()};var Me={customerGroupId:null,shouldBypass:false};
|
|
50
50
|
/**
|
|
51
51
|
* Performs the actual fetch logic to determine if the customer
|
|
52
52
|
* belongs to a bypass group.
|
|
53
|
-
*/var
|
|
53
|
+
*/var He=function(e){return __awaiter(Le,void 0,void 0,(function(){var o,t,n,r,i,s,c,a,u,d,l,f;return __generator(this,(function(h){switch(h.label){case 0:
|
|
54
54
|
// Only relevant for BigCommerce stores — permanent no-op on other platforms
|
|
55
|
-
if(!window.Zonos.isBigCommerce){return[2/*return*/,{conclusive:true,result:
|
|
55
|
+
if(!window.Zonos.isBigCommerce){return[2/*return*/,{conclusive:true,result:Me}]}i=(o=se.genericSettings)===null||o===void 0?void 0:o.bigcommerceBypassCustomerGroupIds;if(!(i===null||i===void 0?void 0:i.length)){if(se.loadedConfig){
|
|
56
56
|
// Settings have finished loading and there are no bypass groups
|
|
57
57
|
// configured — this is a permanent "bypass not configured" answer.
|
|
58
|
-
return[2/*return*/,{conclusive:true,result:
|
|
58
|
+
return[2/*return*/,{conclusive:true,result:Me}]}
|
|
59
59
|
// Settings haven't loaded yet — the empty list may be transient.
|
|
60
60
|
// Mark as inconclusive so a later caller retries after config loads.
|
|
61
|
-
return[2/*return*/,{conclusive:false,result:
|
|
61
|
+
return[2/*return*/,{conclusive:false,result:Me}]}if(!e)return[3/*break*/,1];c=e.checkoutId;return[3/*break*/,3];case 1:return[4/*yield*/,Q()];case 2:c=h.sent();h.label=3;case 3:s=c;if(!s){
|
|
62
62
|
// No active cart yet — inconclusive. Common on fresh sessions where
|
|
63
63
|
// `initBigCommerceBypassCheck` runs before the user has added anything
|
|
64
64
|
// to their cart; once the cart exists we need to re-fetch.
|
|
65
|
-
|
|
65
|
+
ze("BigCommerce bypass check: no active cart yet, will retry on next call","info");return[2/*return*/,{conclusive:false,result:Me}]}if(!e)return[3/*break*/,4];u=e.checkout;return[3/*break*/,6];case 4:return[4/*yield*/,W(s)];case 5:u=h.sent();h.label=6;case 6:a=u;if(!a){
|
|
66
66
|
// API call failed (network error, non-200, etc.) — inconclusive.
|
|
67
67
|
// Caching this would permanently disable bypass for the session if
|
|
68
68
|
// the logged-in user is actually a reseller.
|
|
69
|
-
|
|
69
|
+
ze("BigCommerce bypass check: failed to fetch checkout data, will retry","info");return[2/*return*/,{conclusive:false,result:Me}]}d=(r=(n=(t=a.customer)===null||t===void 0?void 0:t.customerGroup)===null||n===void 0?void 0:n.id)!==null&&r!==void 0?r:null;if(d===null){ze("BigCommerce bypass check: no customer group found (guest user)","info");
|
|
70
70
|
// Guest user with an active cart — a definitive "no bypass" answer.
|
|
71
|
-
return[2/*return*/,{conclusive:true,result:
|
|
71
|
+
return[2/*return*/,{conclusive:true,result:Me}]}l=i.includes(d);f={customerGroupId:d,shouldBypass:l};if(l){ze("BigCommerce bypass check: customer group ".concat(String(d)," is in bypass list; caller should keep the user on BC native checkout"),"info")}else{ze("BigCommerce bypass check: customer group ".concat(String(d)," is not in bypass list"),"info")}return[2/*return*/,{conclusive:true,result:f}]}}))}))};
|
|
72
72
|
/**
|
|
73
73
|
* Module-level promise that holds the in-flight or resolved bypass check.
|
|
74
74
|
* Set by `initBigCommerceBypassCheck` on page load so the result is ready
|
|
@@ -77,15 +77,15 @@ return[2/*return*/,{conclusive:true,result:Fe}]}l=i.includes(d);f={customerGroup
|
|
|
77
77
|
* Automatically invalidated when a fetch resolves to an inconclusive outcome,
|
|
78
78
|
* so subsequent callers retry (e.g. after the user adds an item to their
|
|
79
79
|
* cart or after settings finish loading).
|
|
80
|
-
*/var
|
|
80
|
+
*/var Ve=null;var Ke=function(e){var o=He(e);var t=o.then((function(e){var o=e.conclusive,n=e.result;if(!o&&Ve===t){
|
|
81
81
|
// Invalidate cache so the next caller performs a fresh fetch.
|
|
82
|
-
|
|
82
|
+
Ve=null}return n}));Ve=t;return t};
|
|
83
83
|
/**
|
|
84
84
|
* Start fetching the BigCommerce customer group on page load.
|
|
85
85
|
* Call this once during initialization (e.g. in `zonos-checkout.init()`).
|
|
86
86
|
* The fetch runs in the background; `checkBigCommerceBypassCustomerGroup`
|
|
87
87
|
* will await the result when needed.
|
|
88
|
-
*/var
|
|
88
|
+
*/var Ze=function(){var e;if(!window.Zonos.isBigCommerce){return}var o=(e=se.genericSettings)===null||e===void 0?void 0:e.bigcommerceBypassCustomerGroupIds;if(!(o===null||o===void 0?void 0:o.length)){return}
|
|
89
89
|
// Fire the fetch immediately; consumers will await the same promise
|
|
90
90
|
void Ke()};
|
|
91
91
|
/**
|
|
@@ -102,20 +102,20 @@ void Ke()};
|
|
|
102
102
|
* always fetches fresh BigCommerce checkout data. Use this on the
|
|
103
103
|
* BigCommerce domestic checkout page when the shipping country changes,
|
|
104
104
|
* to ensure the customer group reflects the current checkout state.
|
|
105
|
-
*/var
|
|
105
|
+
*/var Ge=function(){var e=[];for(var o=0;o<arguments.length;o++){e[o]=arguments[o]}return __awaiter(Le,__spreadArray([],e,true),void 0,(function(e){if(e===void 0){e={}}return __generator(this,(function(o){if(e.forceRefresh||!Ve){return[2/*return*/,Ke(e.preFetched)]}return[2/*return*/,Ve]}))}))};var Qe={guestCheckoutType:null};
|
|
106
106
|
/**
|
|
107
107
|
* BigCommerce's `/checkouts/settings` values almost never change after a
|
|
108
108
|
* merchant's initial setup, so we persist the result in `localStorage` and
|
|
109
109
|
* reuse it across page loads up to this TTL. Short enough that if the
|
|
110
110
|
* merchant flips `guest_checkout_type` the change still propagates within
|
|
111
111
|
* an hour.
|
|
112
|
-
*/var We=60*60*1e3;var
|
|
112
|
+
*/var We=60*60*1e3;var Ye="zonos--bc-checkout-settings";var qe=function(e){try{var o=window.localStorage.getItem(Ye);if(!o){return null}var t=fe(o);if(!t){return null}
|
|
113
113
|
// Different store on the same origin (e.g. zonosQaUrl preview) — ignore.
|
|
114
114
|
if(t.storeHash!==e){return null}if(t.expiresAt<Date.now()){return null}return{guestCheckoutType:t.guestCheckoutType}}catch(e){
|
|
115
115
|
// localStorage access can throw in blocked-storage contexts (Safari
|
|
116
116
|
// private mode, cross-origin iframes) — treat as a cache miss so the
|
|
117
117
|
// network fallback runs.
|
|
118
|
-
return null}};var
|
|
118
|
+
return null}};var Je=function(e,o){try{var t={expiresAt:Date.now()+We,guestCheckoutType:o.guestCheckoutType,storeHash:e};window.localStorage.setItem(Ye,JSON.stringify(t))}catch(e){
|
|
119
119
|
// localStorage can be disabled / quota-exceeded in some browser contexts
|
|
120
120
|
// (private mode, cross-origin iframes) — drop silently since caching
|
|
121
121
|
// is only an optimization.
|
|
@@ -128,7 +128,7 @@ return null}};var qe=function(e,o){try{var t={expiresAt:Date.now()+We,guestCheck
|
|
|
128
128
|
* Results are cached in `localStorage` for `CACHE_TTL_MS` so navigations
|
|
129
129
|
* inside the same store don't all pay the proxy round trip — the setting
|
|
130
130
|
* is merchant-level and rarely changes.
|
|
131
|
-
*/var Xe=function(){return __awaiter(
|
|
131
|
+
*/var Xe=function(){return __awaiter(Le,void 0,void 0,(function(){var e,o,t,n,r,i,s;return __generator(this,(function(c){switch(c.label){case 0:if(!window.Zonos.isBigCommerce){return[2/*return*/,Qe]}o=(e=se.checkoutSettings.bigCommerceConfig)===null||e===void 0?void 0:e.storeHash;if(!o){ze("BigCommerce checkout settings: no storeHash provided — skipping fetch","info");return[2/*return*/,Qe]}t=qe(o);if(t){return[2/*return*/,t]}return[4/*yield*/,de("/api/bigcommerce/checkout-settings",{body:{storeHash:o},method:"POST"})];case 1:n=c.sent(),r=n.errors,i=n.json;if(r.length||!i){ze("BigCommerce checkout settings: proxy call failed, falling back to guest-allowed behavior","info");return[2/*return*/,Qe]}s={guestCheckoutType:i.guestCheckoutType};Je(o,s);return[2/*return*/,s]}}))}))};var $e={redirectUrl:null,shouldForceLogin:false};
|
|
132
132
|
/**
|
|
133
133
|
* Session cache for the merchant-level "does BC require login?" answer.
|
|
134
134
|
* Hitting `/checkouts/settings` on every checkout open would add a visible
|
|
@@ -137,22 +137,22 @@ return null}};var qe=function(e,o){try{var t={expiresAt:Date.now()+We,guestCheck
|
|
|
137
137
|
*
|
|
138
138
|
* `null` means we haven't kicked off the fetch yet; the promise holds the
|
|
139
139
|
* eventual boolean so multiple concurrent callers deduplicate.
|
|
140
|
-
*/var
|
|
140
|
+
*/var eo=null;var oo=function(){if(!eo){var e=Xe().then((function(o){var t=o.guestCheckoutType;if(!t){
|
|
141
141
|
// `null` here means either the proxy call failed (transient) or the
|
|
142
142
|
// storeHash wasn't known yet. Fail open for this call, but clear
|
|
143
143
|
// the cached promise so the next caller retries instead of
|
|
144
144
|
// permanently disabling force-login for the rest of the session.
|
|
145
|
-
if(
|
|
145
|
+
if(eo===e){eo=null}return false}return t==="no_guest_checkout"})).catch((function(){
|
|
146
146
|
// Defense-in-depth: `fetchBigCommerceCheckoutSettings` is expected to
|
|
147
147
|
// swallow its own errors, but if anything above does reject we fail
|
|
148
148
|
// open and clear the cached promise so the next caller can retry.
|
|
149
|
-
if(
|
|
149
|
+
if(eo===e){eo=null}return false}));eo=e}return eo};
|
|
150
150
|
/**
|
|
151
151
|
* Kick off the `/checkouts/settings` fetch in the background on page load
|
|
152
152
|
* so the result is warm by the time the shopper opens checkout. Safe to
|
|
153
153
|
* call more than once — re-invocations reuse the in-flight/resolved
|
|
154
154
|
* promise.
|
|
155
|
-
*/var
|
|
155
|
+
*/var to=function(){if(!window.Zonos.isBigCommerce){return}void oo()};
|
|
156
156
|
/**
|
|
157
157
|
* Decide whether the current BigCommerce shopper must sign in before the
|
|
158
158
|
* Zonos international checkout is allowed to open.
|
|
@@ -167,18 +167,18 @@ if($e===e){$e=null}return false}));$e=e}return $e};
|
|
|
167
167
|
* Returning a `redirectUrl` is an instruction, not an action: callers drive
|
|
168
168
|
* the navigation themselves so they can short-circuit any UI state (loading
|
|
169
169
|
* overlays, dialog open flags) before `window.location.href` flips.
|
|
170
|
-
*/var
|
|
170
|
+
*/var no=function(){var e=[];for(var o=0;o<arguments.length;o++){e[o]=arguments[o]}return __awaiter(Le,__spreadArray([],e,true),void 0,(function(e){var o,t,n,r,i;var s=e===void 0?{}:e,c=s.preFetched;return __generator(this,(function(e){switch(e.label){case 0:if(!window.Zonos.isBigCommerce){return[2/*return*/,$e]}return[4/*yield*/,oo()];case 1:o=e.sent();if(!o){return[2/*return*/,$e]}if(!c)return[3/*break*/,2];n=c.checkoutId;return[3/*break*/,4];case 2:return[4/*yield*/,Q()];case 3:n=e.sent();e.label=4;case 4:t=n;if(!t){
|
|
171
171
|
// No active cart — nothing to protect. Force-login only matters once
|
|
172
172
|
// the shopper has a cart we're about to carry into Zonos checkout.
|
|
173
|
-
return[2/*return
|
|
173
|
+
return[2/*return*/,$e]}if(!c)return[3/*break*/,5];i=c.checkout;return[3/*break*/,7];case 5:return[4/*yield*/,W(t)];case 6:i=e.sent();e.label=7;case 7:r=i;if(!r){
|
|
174
174
|
// Storefront API failure — fail open so a transient outage doesn't
|
|
175
175
|
// block the shopper. The merchant's BC checkout will still enforce
|
|
176
176
|
// login server-side as a last line of defense.
|
|
177
|
-
|
|
177
|
+
ze("BigCommerce force-login check: failed to fetch checkout data, allowing flow to continue","info");return[2/*return*/,$e]}if(Y(r)){return[2/*return*/,$e]}ze("BigCommerce force-login check: guest shopper on no-guest-checkout store, redirecting to /login.php","info");return[2/*return*/,{redirectUrl:Re(),shouldForceLogin:true}]}}))}))};
|
|
178
178
|
/**
|
|
179
179
|
* Mark we've already rewritten a given anchor so the MutationObserver
|
|
180
180
|
* doesn't loop on its own mutation.
|
|
181
|
-
*/var
|
|
181
|
+
*/var ro="data-zonos-login-from-rewritten";var io='a[href*="login.php?action=create_account"]:not(['+ro+"])";var so=function(){var e=document.querySelectorAll(io);if(!e.length){return}var o=Re({action:"create_account"});e.forEach((function(e){e.setAttribute("href",o);e.setAttribute(ro,"true")}))};
|
|
182
182
|
/**
|
|
183
183
|
* On BigCommerce's `/login.php`, the default **Create account** button links
|
|
184
184
|
* to `login.php?action=create_account` without the `from=cart.php...`
|
|
@@ -194,19 +194,19 @@ we("BigCommerce force-login check: failed to fetch checkout data, allowing flow
|
|
|
194
194
|
*
|
|
195
195
|
* Safe to call more than once — idempotent thanks to the `data-zonos-…`
|
|
196
196
|
* attribute on rewritten anchors.
|
|
197
|
-
*/var
|
|
197
|
+
*/var co=function(){if(!window.Zonos.isBigCommerce){return}if(!window.location.pathname.includes("/login.php")){return}so();
|
|
198
198
|
// BC's login page often renders the auth form asynchronously, so the
|
|
199
199
|
// anchor may not exist yet when this runs. Observe for a short window,
|
|
200
200
|
// then stop so we don't leak a listener for the rest of the session.
|
|
201
|
-
var e=new MutationObserver((function(){
|
|
201
|
+
var e=new MutationObserver((function(){so()}));e.observe(document.body,{childList:true,subtree:true});
|
|
202
202
|
// 10 seconds is plenty for the login form to mount; stopping the observer
|
|
203
203
|
// avoids churn from the rest of the page's normal DOM activity.
|
|
204
|
-
setTimeout((function(){return e.disconnect()}),1e4)};var
|
|
204
|
+
setTimeout((function(){return e.disconnect()}),1e4)};var ao=function(e,o){
|
|
205
205
|
// Skip entries missing the fields the address form treats as required.
|
|
206
206
|
if(!e.address1||!e.countryCode){return null}var t=[e.firstName,e.lastName].filter(Boolean).join(" ").trim();return{address:{city:e.city||"",country:e.countryCode,line1:e.address1,line2:e.address2||"",postal_code:e.postalCode||"",
|
|
207
207
|
// Prefer the ISO subdivision code when present so it round-trips through
|
|
208
208
|
// Stripe; fall back to the human-readable state name.
|
|
209
|
-
state:e.stateOrProvinceCode||e.stateOrProvince||""},email:o,name:t,phone:e.phone||""}};var
|
|
209
|
+
state:e.stateOrProvinceCode||e.stateOrProvince||""},email:o,name:t,phone:e.phone||""}};var uo=function(e){return[e.address.line1,e.address.line2||"",e.address.postal_code,e.address.country].join("|").toLowerCase()};
|
|
210
210
|
/**
|
|
211
211
|
* Extract a logged-in BigCommerce shopper's known addresses from a Storefront
|
|
212
212
|
* API checkout response and convert them into the shape that `zonos-address`
|
|
@@ -226,63 +226,63 @@ state:e.stateOrProvinceCode||e.stateOrProvince||""},email:o,name:t,phone:e.phone
|
|
|
226
226
|
*
|
|
227
227
|
* Returns an empty list for guest sessions (no `customer.id`) or when the
|
|
228
228
|
* checkout response is missing the relevant includes.
|
|
229
|
-
*/var
|
|
229
|
+
*/var lo=function(e,o){var t,n,r,i;if(!((t=e===null||e===void 0?void 0:e.customer)===null||t===void 0?void 0:t.id)){return[]}var s=o.isShippable,c=o.selectedCountryCode;var a=e.customer.email||"";var u=(r=(n=e.consignments)===null||n===void 0?void 0:n.flatMap((function(e){return e.shippingAddress?[e.shippingAddress]:[]})))!==null&&r!==void 0?r:[];var d=(i=e.customer.addresses)!==null&&i!==void 0?i:[];var l=new Set;var f=[];
|
|
230
230
|
// Iterate saved addresses first so the dedup key for an address present in
|
|
231
231
|
// both lists keeps the saved-book version (which carries an `id` and is the
|
|
232
232
|
// shopper's canonical entry).
|
|
233
|
-
for(var h=0,v=__spreadArray(__spreadArray([],d,true),u,true);h<v.length;h++){var m=v[h];var g=
|
|
233
|
+
for(var h=0,v=__spreadArray(__spreadArray([],d,true),u,true);h<v.length;h++){var m=v[h];var g=ao(m,a);if(!g){continue}if(!s(g.address.country)){continue}var p=uo(g);if(l.has(p)){continue}l.add(p);f.push(g)}if(!c){return f}
|
|
234
234
|
// Stable-sort the survivors so addresses matching the currently-selected
|
|
235
235
|
// country come first while everything else keeps its original order.
|
|
236
|
-
return f.map((function(e,o){return{index:o,option:e}})).sort((function(e,o){var t=e.option.address.country===c;var n=o.option.address.country===c;if(t===n){return e.index-o.index}return t?-1:1})).map((function(e){return e.option}))};var
|
|
236
|
+
return f.map((function(e,o){return{index:o,option:e}})).sort((function(e,o){var t=e.option.address.country===c;var n=o.option.address.country===c;if(t===n){return e.index-o.index}return t?-1:1})).map((function(e){return e.option}))};var fo=function(e){if(e===void 0){e=true}if(!q.localizationLoaded){return true}if(q.isDisabledCountry){if(e){ze("Checkout: disabled country")}return true}return false};var ho=function(e,
|
|
237
237
|
/**
|
|
238
238
|
* If provided, will check if the country is shippable based on the provided country code instead of the Hello selected country code
|
|
239
239
|
*/
|
|
240
|
-
o){if(e===void 0){e=true}
|
|
240
|
+
o){if(e===void 0){e=true}if(!q.localizationLoaded){return false}if(o){var t=J(o);if(e&&!t){ze("Checkout: ".concat(o," is not a shippable country: ").concat(t))}return t}
|
|
241
241
|
// if localization is loaded and the localization is not a shippable country, keep the original click event
|
|
242
|
-
if(!q.isShippableCountry){if(e){
|
|
242
|
+
if(!q.isShippableCountry){if(e){ze("Checkout: not shippable country")}return false}return true};var vo='select[name="shippingAddress.countryCode"]';
|
|
243
243
|
/**
|
|
244
244
|
* Native BigCommerce shipping-step "Continue" button. Clicking it commits the
|
|
245
245
|
* selected shipping address and advances to the payment step.
|
|
246
|
-
*/var
|
|
246
|
+
*/var mo="#checkout-shipping-continue, #checkout-billing-continue, #checkout-payment-continue";
|
|
247
247
|
/**
|
|
248
248
|
* Check if the logged-in user already has a shipping address on the checkout
|
|
249
249
|
* that is internationally shippable. If so, optionally prompt the user to
|
|
250
250
|
* confirm before saving the address to session and redirecting to the home
|
|
251
251
|
* page to open the international checkout.
|
|
252
|
-
*/var
|
|
252
|
+
*/var go=function(e){return __awaiter(Le,[e],void 0,(function(e){var o,t,n,r,i,c,a,u,d,l,f,h,v,m,g,p,w,z;var k=e.onInternationalCheckoutSelected,y=e.onLoggedInInternationalAddressDetected;return __generator(this,(function(e){switch(e.label){case 0:return[4/*yield*/,Q()];case 1:f=e.sent();if(!f){return[2/*return*/,"noAction"]}return[4/*yield*/,W(f)];case 2:h=e.sent();v={checkout:h,checkoutId:f};return[4/*yield*/,Ge({preFetched:v})];case 3:m=e.sent().shouldBypass;if(m){return[2/*return*/,"noAction"]}g=(t=(o=h===null||h===void 0?void 0:h.consignments)===null||o===void 0?void 0:o[0])===null||t===void 0?void 0:t.shippingAddress;if(!(g===null||g===void 0?void 0:g.countryCode)){return[2/*return*/,"noAction"]}p=g.countryCode;if(!ho(false,p)){return[2/*return*/,"noAction"]}ze(y?"Logged-in user has international shipping address: ".concat(p,", prompting user to choose checkout"):"Logged-in user has international shipping address: ".concat(p,", redirecting automatically (legacy behavior)"),"info");if(!y)return[3/*break*/,5];return[4/*yield*/,y()];case 4:w=e.sent();if(w==="stay"){ze("User opted to stay on BigCommerce native checkout despite international default address","info");return[2/*return*/,"optedOut"]}e.label=5;case 5:return[4/*yield*/,no({preFetched:v})];case 6:z=e.sent();if(z.shouldForceLogin&&z.redirectUrl){window.location.href=z.redirectUrl;return[2/*return*/,"redirected"]}if(!k)return[3/*break*/,8];return[4/*yield*/,k()];case 7:e.sent();e.label=8;case 8:
|
|
253
253
|
// Update localization store with the detected country
|
|
254
|
-
X({isInitializing:false,newSelectedCountryCode:p});
|
|
254
|
+
X({isInitializing:false,newSelectedCountryCode:p,persistOverride:false});
|
|
255
255
|
// Save the shipping address to session storage for the international checkout
|
|
256
256
|
s({address1:(n=g.address1)!==null&&n!==void 0?n:"",address2:(r=g.address2)!==null&&r!==void 0?r:"",city:(i=g.city)!==null&&i!==void 0?i:"",countryCode:p,firstName:(c=g.firstName)!==null&&c!==void 0?c:"",lastName:(a=g.lastName)!==null&&a!==void 0?a:"",phone:(u=g.phone)!==null&&u!==void 0?u:"",postalCode:(d=g.postalCode)!==null&&d!==void 0?d:"",state:(l=g.stateOrProvince)!==null&&l!==void 0?l:""});
|
|
257
257
|
// Redirect to home page — the home page will open the international checkout
|
|
258
258
|
// when it detects the domestic shipping session. Carry over zonosQaUrl /
|
|
259
259
|
// zonosTestMode so the destination page keeps using the same build/env.
|
|
260
|
-
window.location.href=
|
|
260
|
+
window.location.href=Fe("/");return[2/*return*/,"redirected"]}}))}))};
|
|
261
261
|
/**
|
|
262
262
|
* Watch for changes in domestic checkout step. Redirects user to home page to open international checkout when user selects a country in the international shipping zone.
|
|
263
263
|
* @note Only works on default bigcommerce checkout page
|
|
264
|
-
*/var
|
|
264
|
+
*/var po=function(e){var o=e.domesticRedirectedBtnSelector,t=e.onInternationalCheckoutSelected,n=e.onLoggedInInternationalAddressDetected,r=e.onShippingAddressSessionFound;if(!window.Zonos.isBigCommerce){return}
|
|
265
265
|
/**
|
|
266
266
|
* Keep checking.
|
|
267
267
|
* @returns `true` if the caller should stop polling — either because the user
|
|
268
268
|
* is being redirected to Zonos international checkout, or because the
|
|
269
269
|
* logged-in customer is in a bypass group and should stay on BC checkout.
|
|
270
|
-
*/var c=function(e){return __awaiter(
|
|
270
|
+
*/var c=function(e){return __awaiter(Le,void 0,void 0,(function(){var o,n,r,i,c,a,u,d,l,f;return __generator(this,(function(h){switch(h.label){case 0:n=document.querySelector(((o=se.genericSettings)===null||o===void 0?void 0:o.bigcommerceDomesticCheckoutCountrySelector)||vo);r=(n===null||n===void 0?void 0:n.value)||e;if(!r){
|
|
271
271
|
// do nothing if shipping country is not found
|
|
272
|
-
return[2/*return*/,"noAction"]}if(!
|
|
272
|
+
return[2/*return*/,"noAction"]}if(!ho(false,r)){
|
|
273
273
|
// do nothing if shipping country is not shippable
|
|
274
|
-
return[2/*return*/,"noAction"]}return[4/*yield*/,
|
|
274
|
+
return[2/*return*/,"noAction"]}return[4/*yield*/,Q()];case 1:i=h.sent();if(!i)return[3/*break*/,3];return[4/*yield*/,W(i)];case 2:a=h.sent();return[3/*break*/,4];case 3:a=null;h.label=4;case 4:c=a;u={checkout:c,checkoutId:i};return[4/*yield*/,Ge({forceRefresh:true,preFetched:u})];case 5:d=h.sent().shouldBypass;if(d){
|
|
275
275
|
// Logged-in customer is in a bypass group — keep them on BC native
|
|
276
276
|
// checkout and stop polling / fetching further.
|
|
277
|
-
|
|
277
|
+
ze("Bypass customer group detected on BC checkout, stopping interval","info");return[2/*return*/,"bypass"]}return[4/*yield*/,no({preFetched:u})];case 6:l=h.sent();if(l.shouldForceLogin&&l.redirectUrl){window.location.href=l.redirectUrl;return[2/*return*/,"redirected"]}if(!t)return[3/*break*/,8];return[4/*yield*/,t()];case 7:h.sent();h.label=8;case 8:
|
|
278
278
|
// update the country code in localization store and check if it's shippable
|
|
279
|
-
X({isInitializing:false,newSelectedCountryCode:r});f={address1:"",address2:"",city:"",countryCode:r,firstName:"",lastName:"",phone:"",postalCode:"",stateOrProvince:""};
|
|
279
|
+
X({isInitializing:false,newSelectedCountryCode:r,persistOverride:false});f={address1:"",address2:"",city:"",countryCode:r,firstName:"",lastName:"",phone:"",postalCode:"",stateOrProvince:""};
|
|
280
280
|
// save the shipping address to session storage
|
|
281
281
|
s({address1:f.address1,address2:f.address2,city:f.city,countryCode:f.countryCode,firstName:f.firstName,lastName:f.lastName,phone:f.phone,postalCode:f.postalCode,state:f.stateOrProvince});
|
|
282
282
|
// redirect to home page, home page then will open the checkout dialog if
|
|
283
283
|
// having domestic shipping session. Carry over zonosQaUrl / zonosTestMode
|
|
284
284
|
// so the destination page keeps using the same build/env.
|
|
285
|
-
window.location.href=
|
|
285
|
+
window.location.href=Fe("/");return[2/*return*/,"redirected"]}}))}))};
|
|
286
286
|
/**
|
|
287
287
|
* When `true`, the logged-in "Continue" hook re-dispatched the shopper's
|
|
288
288
|
* click so BigCommerce's own handler can run (domestic / bypass case). The
|
|
@@ -297,7 +297,7 @@ window.location.href=Re("/");return[2/*return*/,"redirected"]}}))}))};
|
|
|
297
297
|
* checkout. Logged-in shoppers picking a saved address don't expose a
|
|
298
298
|
* country `<select>`, so read it from the active checkout consignment via the
|
|
299
299
|
* Storefront API; fall back to the `<select>` value when one is present.
|
|
300
|
-
*/var d=function(){return __awaiter(
|
|
300
|
+
*/var d=function(){return __awaiter(Le,void 0,void 0,(function(){var e,o,t,n,r,i,s,c;return __generator(this,(function(a){switch(a.label){case 0:return[4/*yield*/,Q()];case 1:r=a.sent();if(!r)return[3/*break*/,3];return[4/*yield*/,W(r)];case 2:i=a.sent();s=(t=(o=(e=i===null||i===void 0?void 0:i.consignments)===null||e===void 0?void 0:e[0])===null||o===void 0?void 0:o.shippingAddress)===null||t===void 0?void 0:t.countryCode;if(s){return[2/*return*/,s]}a.label=3;case 3:c=document.querySelector(((n=se.genericSettings)===null||n===void 0?void 0:n.bigcommerceDomesticCheckoutCountrySelector)||vo);return[2/*return*/,(c===null||c===void 0?void 0:c.value)||null]}}))}))};
|
|
301
301
|
/**
|
|
302
302
|
* Req 2 (05CHECK-887): once a logged-in shopper with an international default
|
|
303
303
|
* address has chosen to "Stay on this page", we must still force them onto
|
|
@@ -312,7 +312,7 @@ window.location.href=Re("/");return[2/*return*/,"redirected"]}}))}))};
|
|
|
312
312
|
* checkout. On any outcome other than a redirect — domestic, bypass group,
|
|
313
313
|
* or an unexpected error — replay the click so BigCommerce's own handler runs
|
|
314
314
|
* and the shopper is never left stuck on the shipping step.
|
|
315
|
-
*/var l=function(e,o){return __awaiter(
|
|
315
|
+
*/var l=function(e,o){return __awaiter(Le,void 0,void 0,(function(){var t,n,r,i,s,u;return __generator(this,(function(l){switch(l.label){case 0:t=true;l.label=1;case 1:l.trys.push([1,9,,10]);n=null;l.label=2;case 2:l.trys.push([2,4,,5]);return[4/*yield*/,d()];case 3:n=l.sent();return[3/*break*/,5];case 4:r=l.sent();he("Error resolving selected shipping country on BC continue",r);return[3/*break*/,5];case 5:
|
|
316
316
|
// When the shopper is committing an international address we're about to
|
|
317
317
|
// save the domestic shipping session and redirect to `/`. Disconnect this
|
|
318
318
|
// /checkout-page observer first: otherwise its own session-detection
|
|
@@ -320,7 +320,7 @@ window.location.href=Re("/");return[2/*return*/,"redirected"]}}))}))};
|
|
|
320
320
|
// open checkout locally, consuming and clearing the session before the
|
|
321
321
|
// navigation to `/` lands, leaving the redirect a no-op. (The `/` page
|
|
322
322
|
// runs its own fresh watcher to open checkout.)
|
|
323
|
-
if(n&&
|
|
323
|
+
if(n&&ho(false,n)){o.disconnect()}if(!n)return[3/*break*/,7];return[4/*yield*/,c(n)];case 6:s=l.sent();return[3/*break*/,8];case 7:s="noAction";l.label=8;case 8:i=s;
|
|
324
324
|
// `redirected` → the page is navigating to the Zonos international
|
|
325
325
|
// checkout, so don't replay. `bypass` / `noAction` → the shopper stays on
|
|
326
326
|
// BC native checkout, so fall through and replay the click.
|
|
@@ -328,7 +328,7 @@ if(i==="redirected"){t=false}return[3/*break*/,10];case 9:u=l.sent();
|
|
|
328
328
|
// We already blocked BC's native click; if resolving the country or the
|
|
329
329
|
// redirect helper throws, replay so BC can advance rather than leaving
|
|
330
330
|
// the shopper stuck on the shipping step.
|
|
331
|
-
|
|
331
|
+
he("Error handling BC continue international redirect",u);return[3/*break*/,10];case 10:if(t){a=true;e.click();a=false}return[2/*return*/]}}))}))};
|
|
332
332
|
/**
|
|
333
333
|
* Req 2 (05CHECK-887): attach the logged-in international-redirect hook via a
|
|
334
334
|
* single capture-phase listener on `document` (delegation) rather than
|
|
@@ -341,7 +341,7 @@ fe("Error handling BC continue international redirect",u);return[3/*break*/,10];
|
|
|
341
341
|
*/var f=function(e){if(u){return}u=true;document.addEventListener("click",(function(o){
|
|
342
342
|
// Programmatic replay for the domestic / bypass case — let BC's own
|
|
343
343
|
// handler run without interference.
|
|
344
|
-
if(a){return}var t=o.target;if(!(t instanceof Element)){return}var n=t.closest(
|
|
344
|
+
if(a){return}var t=o.target;if(!(t instanceof Element)){return}var n=t.closest(mo);if(!n){return}
|
|
345
345
|
// Block BC's native advance until we know whether the selected shipping
|
|
346
346
|
// country forces an international redirect. Capture phase +
|
|
347
347
|
// stopImmediatePropagation (done synchronously here, before the async
|
|
@@ -370,13 +370,13 @@ o.preventDefault();o.stopImmediatePropagation();void l(n,e)}),true)};var h=false
|
|
|
370
370
|
// `handleInternationalCheckoutSelected` (both consult the helper), so the
|
|
371
371
|
// top-level gate is redundant. `initBigCommerceBypassCheck()` is called on
|
|
372
372
|
// page load so those inner calls typically resolve against a warm cache.
|
|
373
|
-
var w=new MutationObserver((function(){return __awaiter(
|
|
373
|
+
var w=new MutationObserver((function(){return __awaiter(Le,void 0,void 0,(function(){var e,s,a,u,d,l,z,k,y,b;var _=this;return __generator(this,(function(C){switch(C.label){case 0:s=document.querySelector(o);a=i();
|
|
374
374
|
// append a hidden button to the body if the shipping address session is found
|
|
375
375
|
if(!s&&a){u=document.createElement("button");u.style.display="none";u.id="zonos--domestic-redirected-checkout-button";document.body.appendChild(u);r===null||r===void 0?void 0:r(a);
|
|
376
376
|
// disconnect the observer after we found the shipping continue button
|
|
377
377
|
w.disconnect();return[2/*return*/]}d=window.location.pathname.includes("/checkout")&&window.Zonos.isBigCommerce;
|
|
378
378
|
// Should just disconnect the observer if it's not bigcommerce domestic checkout page
|
|
379
|
-
if(!d){w.disconnect();return[2/*return*/]}if(!(!g&&!m))return[3/*break*/,5];m=true;p=true;C.label=1;case 1:C.trys.push([1,3,4,5]);return[4/*yield*/,
|
|
379
|
+
if(!d){w.disconnect();return[2/*return*/]}if(!(!g&&!m))return[3/*break*/,5];m=true;p=true;C.label=1;case 1:C.trys.push([1,3,4,5]);return[4/*yield*/,go({onInternationalCheckoutSelected:t,onLoggedInInternationalAddressDetected:n})];case 2:l=C.sent();if(l==="redirected"){w.disconnect();return[2/*return*/]}if(l==="optedOut"){
|
|
380
380
|
// User elected to stay on BC native checkout — don't prompt again
|
|
381
381
|
// for the rest of this session. Continue with the rest of the
|
|
382
382
|
// observer logic so the country-change watcher still fires when
|
|
@@ -385,11 +385,11 @@ g=true;
|
|
|
385
385
|
// Attach the "Continue" redirect hook now (once). Delegation on
|
|
386
386
|
// `document` keeps it working even after this observer disconnects
|
|
387
387
|
// when the country <select> path sets up its interval below.
|
|
388
|
-
f(w)}return[3/*break*/,5];case 3:z=C.sent();
|
|
388
|
+
f(w)}return[3/*break*/,5];case 3:z=C.sent();he("Error checking logged-in user shipping address",z);return[3/*break*/,5];case 4:m=false;p=false;return[7/*endfinally*/];case 5:k=document.querySelector(((e=se.genericSettings)===null||e===void 0?void 0:e.bigcommerceDomesticCheckoutCountrySelector)||vo);
|
|
389
389
|
// Shouldn't do anything if it's not bigcommerce domestic checkout page
|
|
390
390
|
if(!k){
|
|
391
391
|
// do nothing if shipping country and the continue button is not found
|
|
392
|
-
return[2/*return*/]}
|
|
392
|
+
return[2/*return*/]}ze("Domestic checkout found - Listening for shipping country change","info",{value:k.value});
|
|
393
393
|
// Should not create a new interval if it's already created
|
|
394
394
|
if(v){return[2/*return*/]}v=true;
|
|
395
395
|
// disconnect the observer after we know that's bigcommerce domestic checkout page
|
|
@@ -402,27 +402,27 @@ if(h||p){return[2/*return*/]}h=true;t.label=1;case 1:t.trys.push([1,3,,4]);retur
|
|
|
402
402
|
// - the logged-in customer is in a bypass group (stay on BC checkout)
|
|
403
403
|
if(e==="redirected"||e==="bypass"){clearInterval(y);return[2/*return*/]}h=false;return[3/*break*/,4];case 3:o=t.sent();h=false;return[3/*break*/,4];case 4:return[2/*return*/]}}))}))}),1e3);b=setInterval((function(){var e;if(!window.bcStripeElements){clearInterval(b);return}var o=(e=window.bcStripeElements)===null||e===void 0?void 0:e.getElement("address");if(!o){return}clearInterval(b);o.on("change",(function(e){var o=e.value.address.country;if(o&&!p){void c(o)}}));
|
|
404
404
|
// we want to attacch event to addressElement as soon as it's loaded
|
|
405
|
-
}),500);return[2/*return*/]}}))}))}));w.observe(document.body,{childList:true,subtree:true})};var
|
|
405
|
+
}),500);return[2/*return*/]}}))}))}));w.observe(document.body,{childList:true,subtree:true})};var wo=function(){var e=new URLSearchParams(window.location.search);ze("legacy urlParams","info",Object.fromEntries(e.entries()));var o=function(o){var t=e.get(o);if(!t||t==="undefined"){return""}return t};var t=
|
|
406
406
|
// fallback to selected country code if country is not provided
|
|
407
|
-
|
|
407
|
+
$(e)||q.selectedCountryCode||"US";var n=o("customerCity");var r=o("customerEmail");var i=o("customerAddress1");var s=o("customerAddress2");var c=o("customerName");var a=o("customerPhone");var u=o("customerZip");var d=o("customerState");var l=o("customerFirstName");var f=o("customerLastName");return{customerAddress1:i,customerAddress2:s,customerCity:n,customerCountry:t,customerEmail:r,customerFirstName:l,customerLastName:f,customerName:c,customerPhone:a,customerState:d,customerZip:u}};var zo=0;var ko=function(){return __awaiter(Le,void 0,void 0,(function(){var e,o;var t;return __generator(this,(function(n){switch(n.label){case 0:
|
|
408
408
|
// Don't send the log if there are no API calls to send
|
|
409
|
-
if(window.Zonos.loadTimeApiInfoList.length===0){return[2/*return*/]}
|
|
409
|
+
if(window.Zonos.loadTimeApiInfoList.length===0){return[2/*return*/]}ze("Sending bulk load time api log","info",{loadTimeApiInfoList:window.Zonos.loadTimeApiInfoList});e={data:__spreadArray([],window.Zonos.loadTimeApiInfoList,true),storeId:window.Zonos.storeId||0};
|
|
410
410
|
// Clear the list after sending the log successfully
|
|
411
|
-
window.Zonos.loadTimeApiInfoList.length=0;return[4/*yield*/,
|
|
411
|
+
window.Zonos.loadTimeApiInfoList.length=0;return[4/*yield*/,de("/api/zonos-elements/log-bulk-load-data",{body:e,method:"POST"})];case 1:o=n.sent().errors;if(o.length){
|
|
412
412
|
// If there are errors, add the logs back to the list so we can try again later
|
|
413
|
-
(t=window.Zonos.loadTimeApiInfoList).push.apply(t,e.data);
|
|
413
|
+
(t=window.Zonos.loadTimeApiInfoList).push.apply(t,e.data);zo++;if(zo>5&&window.Zonos.logIntervalId){
|
|
414
414
|
// If there are more than 3 failures, stop the interval
|
|
415
|
-
clearInterval(window.Zonos.logIntervalId)}}return[2/*return*/]}}))}))};var
|
|
415
|
+
clearInterval(window.Zonos.logIntervalId)}}return[2/*return*/]}}))}))};var yo=function(){return __awaiter(Le,void 0,void 0,(function(){var e,o;return __generator(this,(function(t){e=ke().elapsedTime;o={cache:"miss",eventName:"jsdelivr",flag:"LOG_CHECKOUT_FACADE_LOAD",href:window.location.href,loadTime:e,metadata:Object.assign({allLogs:ye},ve()),scriptLoadUrl:"checkoutFacade",storeId:window.Zonos.storeId||0};void de("/api/zonos-elements/log-script-load",{body:o,method:"POST"});return[2/*return*/]}))}))};var bo=function(e){return __awaiter(Le,[e],void 0,(function(e){var o;var t=e.loadTime;return __generator(this,(function(e){o={cache:"miss",eventName:"jsdelivr",flag:"LOG_NATIVE_CHECKOUT_LOAD",href:window.location.href,loadTime:t,metadata:Object.assign({allLogs:ye},ve()),scriptLoadUrl:"nativeCheckout",storeId:window.Zonos.storeId||0};void de("/api/zonos-elements/log-script-load",{body:o,method:"POST"});return[2/*return*/]}))}))};var _o=function(e){return(e===null||e===void 0?void 0:e.filter((function(e){if(e.expiresAt&&e.expiresAt<Date.now()||!e.expiresAt){return false}return true})))||[]};var Co=function(e){var o;var t=(o=ee.enabledVariantTestKeys)===null||o===void 0?void 0:o.find((function(o){return o.testKey===e}));return(t===null||t===void 0?void 0:t.selectedVariantKey)||null};var xo=function(e){return se.enabledVariantTestKeys.includes(e)};var So=function(e){var o=e.baseTestObj,t=e.mergeTestObj;return o.map((function(e){var o=e.testKey;
|
|
416
416
|
// We will attempt to get the enabled selection from localStorage first and only re-fetch if the testKeys are changed
|
|
417
|
-
var n=t.find((function(e){var t=e.testKey;return t===o}));return{expiresAt:(n===null||n===void 0?void 0:n.expiresAt)||Date.now()+
|
|
417
|
+
var n=t.find((function(e){var t=e.testKey;return t===o}));return{expiresAt:(n===null||n===void 0?void 0:n.expiresAt)||Date.now()+oe,selectedVariantKey:(n===null||n===void 0?void 0:n.selectedVariantKey)||null,testKey:o}}))};var To=function(e){return __awaiter(Le,[e],void 0,(function(e){var o,t,n,r,i;var s=e.cartId,c=e.retries;return __generator(this,(function(e){switch(e.label){case 0:o=le();return[4/*yield*/,de("/api/zonos-elements/get-temp-cart",{body:{isTestMode:o,options:{noOnlineStoreSettings:true},tempCartUUID:s},headers:{"Content-Type":"application/json"},method:"POST"})];case 1:t=e.sent(),n=t.errors,r=t.json;i=!r||n.length;if(!(i&&c))return[3/*break*/,3];ze("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:c});
|
|
418
418
|
// wait 1 second before retrying
|
|
419
419
|
return[4/*yield*/,new Promise((function(e){return setTimeout(e,500)}))];case 2:
|
|
420
420
|
// wait 1 second before retrying
|
|
421
|
-
e.sent();return[2/*return*/,
|
|
421
|
+
e.sent();return[2/*return*/,To({cartId:s,retries:c-1})];case 3:if(i){return[2/*return*/,null]}return[2/*return*/,r]}}))}))};var Io=function(e){return __awaiter(Le,void 0,void 0,(function(){var o,t,n,r;return __generator(this,(function(i){switch(i.label){case 0:o=be(e),t=o.isDgsCartId,n=o.isLegacyCartId;if(!n&&!t){he("[ZONOS - loadZonos] invalid cart id");return[2/*return*/,null]}return[4/*yield*/,To({cartId:e,retries:5})];case 1:r=i.sent();ze("[ZONOS - loadZonos] getting temp cart data","info",r);if(!r){he("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process.");return[2/*return*/,null]}window.Zonos.storeId=r.cartData.storeId;window.Zonos.zonosApiKey=r.cartData.credentialToken;return[2/*return*/,{cartData:r.cartData,storeFavicon:r.storeFaviconUrl,storeId:r.cartData.storeId,storeLogo:r.storeLogoUrl,zonosApiKey:r.cartData.credentialToken}]}}))}))};var Ao='<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="https://www.w3.org/2000/svg">\n<path fill-rule="evenodd" clip-rule="evenodd" d="M2.25 4.5C2.25 3.25736 3.25736 2.25 4.5 2.25H13.5C14.7426 2.25 15.75 3.25736 15.75 4.5V10.5C15.75 11.7426 14.7426 12.75 13.5 12.75H8.25C8.01393 12.75 7.79164 12.8611 7.65 13.05L6.3 14.85C5.87508 15.4166 5.2082 15.75 4.5 15.75C3.25736 15.75 2.25 14.7426 2.25 13.5V4.5ZM4.5 3.75C4.08579 3.75 3.75 4.08579 3.75 4.5V13.5C3.75 13.9142 4.08579 14.25 4.5 14.25C4.73607 14.25 4.95836 14.1389 5.1 13.95L6.45 12.15C6.87492 11.5834 7.5418 11.25 8.25 11.25H13.5C13.9142 11.25 14.25 10.9142 14.25 10.5V4.5C14.25 4.08579 13.9142 3.75 13.5 3.75H4.5ZM5.25 6C5.25 5.58579 5.58579 5.25 6 5.25H12C12.4142 5.25 12.75 5.58579 12.75 6C12.75 6.41421 12.4142 6.75 12 6.75H6C5.58579 6.75 5.25 6.41421 5.25 6ZM5.25 9C5.25 8.58579 5.58579 8.25 6 8.25H8.25C8.66421 8.25 9 8.58579 9 9C9 9.41421 8.66421 9.75 8.25 9.75H6C5.58579 9.75 5.25 9.41421 5.25 9Z" fill="#4D505A"/>\n</svg>\n';var Oo=function(){return".sc-zonos-checkout-h{font-family:var(--zonos--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-h *.sc-zonos-checkout{font-family:var(--zonos--font-family, Inter), Inter}.sc-zonos-checkout-h img.sc-zonos-checkout{max-width:100%}.sc-zonos-checkout-h dl.sc-zonos-checkout,.sc-zonos-checkout-h dd.sc-zonos-checkout,.sc-zonos-checkout-h h1.sc-zonos-checkout,.sc-zonos-checkout-h h2.sc-zonos-checkout,.sc-zonos-checkout-h h3.sc-zonos-checkout,.sc-zonos-checkout-h h4.sc-zonos-checkout,.sc-zonos-checkout-h h5.sc-zonos-checkout,.sc-zonos-checkout-h h6.sc-zonos-checkout,.sc-zonos-checkout-h hr.sc-zonos-checkout,.sc-zonos-checkout-h figure.sc-zonos-checkout,.sc-zonos-checkout-h p.sc-zonos-checkout,.sc-zonos-checkout-h pre.sc-zonos-checkout{margin:0}.sc-zonos-checkout-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-h{z-index:2147483647;position:fixed}.sc-zonos-checkout-h *.sc-zonos-checkout{-ms-scroll-chaining:none;overscroll-behavior:contain}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar{width:10px}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;height:100%;overflow:hidden;border-radius:var(--zonos--border-radius, var(--zonos-elements-radius-10))}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex:1;flex:1;padding:32px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{background-color:var(--zonos--primary-color, var(--zonos-elements-gray-0));border-right:1px solid var(--zonos-elements-gray-200)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{background-color:var(--zonos-elements-gray-0)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:100%;max-height:100%;height:100%;overflow:auto;-ms-flex-direction:column;flex-direction:column;background-color:var(--zonos-elements-gray-0);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:24px;padding-bottom:50px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;width:100%}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--logo.sc-zonos-checkout{margin-bottom:0}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout zonos-checkout-finish.sc-zonos-checkout{-ms-flex:1;flex:1}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:relative}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{padding:0 8px 8px}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--payment-error-banner.sc-zonos-checkout{margin-top:24px}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout{position:relative}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout .zonos--right-actions.sc-zonos-checkout{position:absolute;right:24px;top:24px;z-index:2;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--wrapper.sc-zonos-checkout{overflow:auto;max-height:100%;position:relative}.sc-zonos-checkout-h .flex--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:100%}.sc-zonos-checkout-h .zonos--logo-wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;gap:16px;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--logo-wrapper.sc-zonos-checkout>*.sc-zonos-checkout{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout img.sc-zonos-checkout{max-height:72px}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:76px;margin-bottom:8px}.zonos--close-button.sc-zonos-checkout{-ms-flex-item-align:start;align-self:flex-start}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto;position:relative}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{border:var(--zonos-elements-border)}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{padding:32px}.hidden-mode.sc-zonos-checkout-h{height:0;opacity:0;pointer-events:none;position:absolute;visibility:hidden;width:0;z-index:-1}.mobile.sc-zonos-checkout-h{min-width:auto}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;border-radius:0;max-height:100%;height:100%;border:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding:12px;padding-bottom:76px}@media (max-width: 768px){.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding-bottom:0}}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{-ms-flex-order:2;order:2;border-right:none}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex-order:1;order:1;padding-top:16px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border:var(--zonos-elements-border);border-radius:var(--zonos--border-radius, var(--zonos-elements-radius-10));background-color:var(--zonos-elements-gray-50);padding:12px;margin-top:32px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--review.sc-zonos-checkout{margin-bottom:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--cart-items.sc-zonos-checkout{margin-top:8px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout zonos-checkout-footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{max-height:100%}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:auto}.mobile.sc-zonos-checkout-h .zonos--cart-subtotal.sc-zonos-checkout{margin:0}.iframed.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{-ms-scroll-chaining:chained;overscroll-behavior:auto}.zonos--processing-payment.sc-zonos-checkout-h{z-index:2147483646}"};
|
|
422
422
|
// 90 minutes
|
|
423
|
-
var
|
|
423
|
+
var Eo=90*60*1e3;
|
|
424
424
|
// 6 hours
|
|
425
|
-
var Bo=6*60*60*1e3;var
|
|
425
|
+
var Bo=6*60*60*1e3;var Lo=e("zonos_checkout",/** @class */function(){function e(e){var t=this;o(this,e);this.storeUnsubscribeList=[];this.isRedirectAfterOrder=false;
|
|
426
426
|
/**
|
|
427
427
|
* Preview checkout without needing to click on the button. This would be useful for demo purpose
|
|
428
428
|
*/this.preview=false;
|
|
@@ -503,18 +503,18 @@ this.collapseReviewMobile=true;
|
|
|
503
503
|
*/this.clientSecret=c.clientSecret;
|
|
504
504
|
/**
|
|
505
505
|
* Client secret value of customer session (use to load saved payment method and render saved consent)
|
|
506
|
-
*/this.stripeCustomerSessionClientSecret=c.stripeCustomerSessionClientSecret;this.applyStripeTheme=function(){return __awaiter(t,void 0,void 0,(function(){var e,o,t,n,r;return __generator(this,(function(i){switch(i.label){case 0:r=((e=this.appearanceSettingsOverride)===null||e===void 0?void 0:e.theme)||
|
|
506
|
+
*/this.stripeCustomerSessionClientSecret=c.stripeCustomerSessionClientSecret;this.applyStripeTheme=function(){return __awaiter(t,void 0,void 0,(function(){var e,o,t,n,r;return __generator(this,(function(i){switch(i.label){case 0:r=((e=this.appearanceSettingsOverride)===null||e===void 0?void 0:e.theme)||se.appearance.theme;return[4/*yield*/,a({overrideBorderRadius:(o=this.appearanceSettingsOverride)===null||o===void 0?void 0:o.style,overridePrimaryColor:(t=this.appearanceSettingsOverride)===null||t===void 0?void 0:t.colorPrimary,overrideSecondaryColor:(n=this.appearanceSettingsOverride)===null||n===void 0?void 0:n.colorSecondary,
|
|
507
507
|
// only override theme or theme from appearance if it's mobile
|
|
508
508
|
overrideTheme:this.isMobile?r:undefined,paypalEnabled:H()})];case 1:i.sent();return[2/*return*/]}}))}))};
|
|
509
509
|
/**
|
|
510
510
|
* Check if stripe payment intent is succeeded or in a good state to move forward
|
|
511
|
-
*/this.checkStripePaymentIntentStatus=function(e){return __awaiter(t,[e],void 0,(function(e){var o,t,n,r,i,s,a,d,l;var f=e.triggeredButton;return __generator(this,(function(e){switch(e.label){case 0:o=f===null||f===void 0?void 0:f.matches("#".concat(
|
|
511
|
+
*/this.checkStripePaymentIntentStatus=function(e){return __awaiter(t,[e],void 0,(function(e){var o,t,n,r,i,s,a,d,l;var f=e.triggeredButton;return __generator(this,(function(e){switch(e.label){case 0:o=f===null||f===void 0?void 0:f.matches("#".concat(_e));t=!!window.Zonos.cartData;n=new URL(window.location.href).searchParams;r=n.get("payment_intent_client_secret");i=n.get("zonosCheckoutSessionId");
|
|
512
512
|
// Allow to proceed to order if Checkout is triggered by Checkout button click by user
|
|
513
|
-
if(!o){
|
|
513
|
+
if(!o){ze("Checkout is triggered by user, no need to check stripe payment intent status");return[2/*return*/,{shouldAllowOrder:true}]}ze("Payment intent exist, checking stripe payment intent status");
|
|
514
514
|
// Allow to proceed to order if there's no stripe client secret and cart data is available
|
|
515
|
-
if(!r){
|
|
515
|
+
if(!r){ze("No stripe client secret found in the URL, proceed to order if cart data is available");return[2/*return*/,{shouldAllowOrder:t}]}return[4/*yield*/,u({clientSecret:r})];case 1:s=e.sent(),a=s.error,d=s.status;l=new URLSearchParams(window.location.search).get("redirect_status");
|
|
516
516
|
// If just redirected from Payment provider, show the success screen or error screen based on the status
|
|
517
|
-
if(l){if(!a){
|
|
517
|
+
if(l){if(!a){ze("Payment intent is succeeded or in a good state to move forward, show success screen")}else{ze("Payment intent failed, show status from error")}this.open=true;ee.checkoutSessionId=i;c.clientSecret=r;void this.setToFinishStep(d);return[2/*return*/,{shouldAllowOrder:false}]}if(!t){ze("Cart data is not available, only check payment intent status, skip order.");return[2/*return*/,{shouldAllowOrder:false}]}ze("Payment intent is not succeeded, proceed to order");return[2/*return*/,{shouldAllowOrder:true}]}}))}))};
|
|
518
518
|
/**
|
|
519
519
|
* Recover an order-modification payment-only session that was already
|
|
520
520
|
* completed (or already paid but not yet completed) by the time this cart
|
|
@@ -529,36 +529,36 @@ if(l){if(!a){we("Payment intent is succeeded or in a good state to move forward,
|
|
|
529
529
|
* caller should proceed with a normal init.
|
|
530
530
|
*/this.recoverCompletedOrderModificationSession=function(e){return __awaiter(t,void 0,void 0,(function(){var o,t,n,r,i;return __generator(this,(function(s){switch(s.label){case 0:
|
|
531
531
|
// getCheckoutSession() reads storageStore.checkoutSessionId internally.
|
|
532
|
-
|
|
532
|
+
ee.checkoutSessionId=e;return[4/*yield*/,d()];case 1:o=s.sent(),t=o.errors,n=o.json;if(t.length||!n){return[2/*return*/,false]}r=n.checkoutSession;
|
|
533
533
|
// Session already finalized → straight to finish. An order-mod
|
|
534
534
|
// payment-only session always has `order` set *before* payment too (see
|
|
535
535
|
// isOrderModificationPaymentOnlySession) - checking `order` alone would
|
|
536
536
|
// treat every first-ever open as already paid, so both must be true.
|
|
537
537
|
if(r.completedAt&&r.order){void this.setToFinishStep("succeeded");return[2/*return*/,true]}if(!r.clientSecret)return[3/*break*/,3];return[4/*yield*/,u({clientSecret:r.clientSecret})];case 2:i=s.sent().status;if(i==="processing"||i==="succeeded"){c.clientSecret=r.clientSecret;void this.setToFinishStep(i);return[2/*return*/,true]}s.label=3;case 3:return[2/*return*/,false]}}))}))};this.initializeTestKeys=function(){
|
|
538
538
|
// cleanup expired test keys
|
|
539
|
-
|
|
539
|
+
ee.enabledVariantTestKeys=_o(ee.enabledVariantTestKeys||[]);
|
|
540
540
|
// map existingSelection to the enabled variant test keys from database
|
|
541
|
-
var e=
|
|
541
|
+
var e=se.enabledVariantTestKeys.map((function(e){var o;
|
|
542
542
|
// We will attempt to get the enabled selection from localStorage first and only re-fetch if the testKeys are changed
|
|
543
|
-
var t=(o
|
|
543
|
+
var t=(o=ee.enabledVariantTestKeys)===null||o===void 0?void 0:o.find((function(o){var t=o.testKey;return t===e}));return{expiresAt:(t===null||t===void 0?void 0:t.expiresAt)||Date.now()+oe,selectedVariantKey:(t===null||t===void 0?void 0:t.selectedVariantKey)||null,testKey:e}}));te(e);return{allSelected:false}};this.shouldAllowHostedVsNativeTest=function(){
|
|
544
544
|
// This test is only applicable to checkout that's using createCartid callback
|
|
545
|
-
if(typeof
|
|
545
|
+
if(typeof se.checkoutSettings.createCartId!=="function"){return false}var e=se.enabledVariantTestKeys.includes("hosted_vs_native");
|
|
546
546
|
// Should not do anything if the test is not enabled
|
|
547
547
|
if(!e){return false}return true};
|
|
548
548
|
// Register test hosted vs native if needed to get the variant selection for this test
|
|
549
|
-
this.registerTestHostedVsNative=function(){return __awaiter(t,void 0,void 0,(function(){var e,o,t,n;return __generator(this,(function(r){switch(r.label){case 0:e=this.shouldAllowHostedVsNativeTest();if(!e){return[2/*return*/]}
|
|
549
|
+
this.registerTestHostedVsNative=function(){return __awaiter(t,void 0,void 0,(function(){var e,o,t,n;return __generator(this,(function(r){switch(r.label){case 0:e=this.shouldAllowHostedVsNativeTest();if(!e){return[2/*return*/]}ze("[TEST] - Registering hosted vs native test");o=Co("hosted_vs_native");
|
|
550
550
|
// No need to request variant test for this test if the test already has variant selected
|
|
551
|
-
if(o){
|
|
551
|
+
if(o){ze("[TEST] - Hosted vs native test already has variant selected: ".concat(o));return[2/*return*/]}return[4/*yield*/,Pe({testKeys:["hosted_vs_native"]})];case 1:t=r.sent();
|
|
552
552
|
// Do not prevent user from proceeding if the test is not enabled or failed to get selection
|
|
553
|
-
if(!t){
|
|
553
|
+
if(!t){ze("[TEST] - Failed to get selection for hosted vs native test");return[2/*return*/]}n=So({baseTestObj:ee.enabledVariantTestKeys||[],mergeTestObj:t});
|
|
554
554
|
// Set the selected variant to the storage store
|
|
555
|
-
|
|
555
|
+
te(n);return[2/*return*/]}}))}))};
|
|
556
556
|
// Handle hosted vs native test
|
|
557
|
-
this.handleHostedVsNative=function(){return __awaiter(t,void 0,void 0,(function(){var e,o,t,n,r,i,s,c;return __generator(this,(function(a){switch(a.label){case 0:o=this.shouldAllowHostedVsNativeTest();if(!o){return[2/*return*/,{redirected:false}]}t=
|
|
557
|
+
this.handleHostedVsNative=function(){return __awaiter(t,void 0,void 0,(function(){var e,o,t,n,r,i,s,c;return __generator(this,(function(a){switch(a.label){case 0:o=this.shouldAllowHostedVsNativeTest();if(!o){return[2/*return*/,{redirected:false}]}t=Co("hosted_vs_native");ze("[TEST] - hosted_vs_native: ".concat(t));
|
|
558
558
|
// This test is only applicable to checkout that's using createCartid callback
|
|
559
|
-
if(typeof
|
|
559
|
+
if(typeof se.checkoutSettings.createCartId!=="function"){ze("[TEST] - createCartId is not provided, skipping hosted vs native test");return[2/*return*/,{redirected:false}]}
|
|
560
560
|
// No need to do anything if the test is enabled for native
|
|
561
|
-
if(t!=="hosted"){
|
|
561
|
+
if(t!=="hosted"){ze("[TEST] - Hosted vs native test is enabled for native, skipping");return[2/*return*/,{redirected:false}]}if(!((e=se.genericSettings)===null||e===void 0?void 0:e.hostedCheckoutUrl)){ze("[TEST] - Hosted checkout URL is not provided");return[2/*return*/,{redirected:false}]}ze('"createCartId" is provided, start building cart');return[4/*yield*/,se.checkoutSettings.createCartId()];case 1:n=a.sent();i=null;if(typeof n==="object"){r=n.cartId;i=n.shippingData||null}else{r=n}s=wo();c=De(Object.assign(Object.assign({cartId:r,checkoutSessionId:ee.checkoutSessionId||undefined,hostedCheckoutUrl:se.genericSettings.hostedCheckoutUrl,isTestMode:le(),isVariantTest:true},s),i));ze("[TEST] - Redirecting to: ".concat(c));
|
|
562
562
|
// Open new page with the cart URL
|
|
563
563
|
window.open(c,"_blank");return[2/*return*/,{redirected:true}]}}))}))};this.formatDate=function(e){if(!e){return""}
|
|
564
564
|
// get date in 24/12/2024 format (without time)
|
|
@@ -572,10 +572,10 @@ var o=new Date(e);return o.toLocaleTimeString()};this.getCurrentLocalePageEnum=f
|
|
|
572
572
|
* forcing them to retype anything. Skips when an address has already been
|
|
573
573
|
* prefilled by another path (Stripe customer profile, merchant-provided
|
|
574
574
|
* `defaultAddress`, or the BC redirect's session-storage handoff).
|
|
575
|
-
*/this.prefillBigCommerceCustomerAddresses=function(){return __awaiter(t,void 0,void 0,(function(){var e,o,t,n;return __generator(this,(function(r){switch(r.label){case 0:if(!window.Zonos.isBigCommerce){return[2/*return*/]}if(this.defaultCustomerProfileAddress.length){return[2/*return*/]}e=Array.isArray(this.defaultAddress)&&this.defaultAddress.length>0||!Array.isArray(this.defaultAddress)&&typeof this.defaultAddress==="object"&&this.defaultAddress!==null;if(e){return[2/*return*/]}return[4/*yield*/,
|
|
575
|
+
*/this.prefillBigCommerceCustomerAddresses=function(){return __awaiter(t,void 0,void 0,(function(){var e,o,t,n;return __generator(this,(function(r){switch(r.label){case 0:if(!window.Zonos.isBigCommerce){return[2/*return*/]}if(this.defaultCustomerProfileAddress.length){return[2/*return*/]}e=Array.isArray(this.defaultAddress)&&this.defaultAddress.length>0||!Array.isArray(this.defaultAddress)&&typeof this.defaultAddress==="object"&&this.defaultAddress!==null;if(e){return[2/*return*/]}return[4/*yield*/,Q()];case 1:o=r.sent();if(!o){return[2/*return*/]}return[4/*yield*/,W(o)];case 2:t=r.sent();if(!Y(t)){return[2/*return*/]}n=lo(t,{isShippable:function(e){return ho(false,e)},selectedCountryCode:q.selectedCountryCode||undefined});if(!n.length){return[2/*return*/]}
|
|
576
576
|
// Re-check after the awaits — another prefill path may have populated state
|
|
577
577
|
// while we were waiting on the network.
|
|
578
|
-
if(this.defaultCustomerProfileAddress.length){return[2/*return*/]}this.defaultCustomerProfileAddress=n;
|
|
578
|
+
if(this.defaultCustomerProfileAddress.length){return[2/*return*/]}this.defaultCustomerProfileAddress=n;ze("Prefilled ".concat(String(n.length)," BigCommerce customer address(es) for logged-in shopper"),"info");return[2/*return*/]}}))}))};this.getDefaultAddress=function(){
|
|
579
579
|
// If checkout customer is authenticated, use the address from the customer profile
|
|
580
580
|
if(t.defaultCustomerProfileAddress.length){return t.defaultCustomerProfileAddress}
|
|
581
581
|
// If default address is provided directly from the component, use it
|
|
@@ -584,7 +584,7 @@ if(Array.isArray(t.defaultAddress)&&t.defaultAddress.length){return t.defaultAdd
|
|
|
584
584
|
* Message listener from the hosted checkout tab just openned from the hosted vs native variant test
|
|
585
585
|
*/this.handleHostedOpenWindowCallback=function(e){var o;
|
|
586
586
|
// check if it's from origin of hosted checkout url
|
|
587
|
-
var t=(o=
|
|
587
|
+
var t=(o=se.genericSettings)===null||o===void 0?void 0:o.hostedCheckoutUrl;
|
|
588
588
|
// Do nothing if hosted checkout url is not set
|
|
589
589
|
if(!origin){return}
|
|
590
590
|
// Do nothing if it's not from the origin of hosted checkout url
|
|
@@ -592,18 +592,18 @@ var n=["dev.checkout.elements.zonos.com"].some((function(o){return e.origin.incl
|
|
|
592
592
|
// Do not allow to receive message if not from origin we expected when it's not dev environment
|
|
593
593
|
if(e.origin!==t&&!n){return}switch(e.data.type){case"zonos-checkout-session-update":
|
|
594
594
|
// Update and set checkout session id to storage so that if user come back to merchant site, it will persist the test variance selection
|
|
595
|
-
|
|
595
|
+
ee.checkoutSessionId=e.data.checkoutSessionId;break}};
|
|
596
596
|
/**
|
|
597
597
|
* Capture params from the url and set to the store when it's redirected from hosted checkout url for variant test
|
|
598
598
|
*/this.captureParamsRedirectedForVariantTest=function(){var e=new URL(window.location.href);var o=e.searchParams.get("zonosVariantTest")==="1";
|
|
599
599
|
// Do nothing if the url is not loaded from hosted vs native variant test
|
|
600
|
-
if(!o){return}var t=e.searchParams.get("zonosCheckoutSessionId");if(t){
|
|
600
|
+
if(!o){return}var t=e.searchParams.get("zonosCheckoutSessionId");if(t){ee.checkoutSessionId=t}
|
|
601
601
|
// merge variant test input from url to storageStore.enabledVariantTestKeys
|
|
602
|
-
var n
|
|
602
|
+
var n=ee.enabledVariantTestKeys||[];
|
|
603
603
|
// override the selected variant key if it's not "hosted" since we are in hosted checkout tab
|
|
604
|
-
if(window.Zonos.isLegacyCheckout){var r=
|
|
604
|
+
if(window.Zonos.isLegacyCheckout){var r=Co("hosted_vs_native");
|
|
605
605
|
// Set selected variant key "hosted" to enabledVariantTestKeys if it's not in enabledVariantTestKeys already
|
|
606
|
-
if(!r){n.push({expiresAt:Date.now()+
|
|
606
|
+
if(!r){n.push({expiresAt:Date.now()+oe,selectedVariantKey:"hosted",testKey:"hosted_vs_native"});te(n)}else{te(n.map((function(e){if(e.testKey==="hosted_vs_native"){return Object.assign(Object.assign({},e),{selectedVariantKey:"hosted"})}return e})))}}
|
|
607
607
|
// Remove query params from the url
|
|
608
608
|
e.searchParams.delete("zonosCheckoutSessionId");e.searchParams.delete("zonosVariantTest");window.history.replaceState({},"",e.toString())}}
|
|
609
609
|
/**
|
|
@@ -617,7 +617,7 @@ return[2/*return*/]}
|
|
|
617
617
|
// Only proceed when user select confirmed.
|
|
618
618
|
if(!(e===null||e===void 0?void 0:e.confirmed)){this.confirmDialogOpen=true;return[2/*return*/]}
|
|
619
619
|
// Close the confirm dialog
|
|
620
|
-
this.confirmDialogOpen=false;
|
|
620
|
+
this.confirmDialogOpen=false;V({event:"zonos-checkout-close",metadata:{checkoutSessionId:ee.checkoutSessionId}});this.open=this.forceDialogOpen||false;if(!this.preview&&l.step==="finish"){
|
|
621
621
|
// reset cart store if it's not preview mode and only when checkout is in the finish step.
|
|
622
622
|
h()}
|
|
623
623
|
// Clear policy consent on every close (not just finish) so a buyer who
|
|
@@ -632,31 +632,31 @@ m();
|
|
|
632
632
|
g();
|
|
633
633
|
/**
|
|
634
634
|
* Trigger callback when the checkout is closed
|
|
635
|
-
*/(t=(o=
|
|
635
|
+
*/(t=(o=se.checkoutSettings).onClose)===null||t===void 0?void 0:t.call(o);return[2/*return*/]}))}))};e.prototype.buildCartAndInit=function(){return __awaiter(this,void 0,void 0,(function(){var e,o,t,n,r,i,s,a,u,d,h,s,a,a,v,m,s,g,k,y,b;return __generator(this,(function(_){switch(_.label){case 0:if(!(typeof se.checkoutSettings.createCartId==="function"))return[3/*break*/,4];ze('"createCartId" is provided, start building cart');
|
|
636
636
|
// Reset before awaiting the merchant callback so a stale banner from a
|
|
637
637
|
// previous open is not visible while the network call is in flight.
|
|
638
|
-
l.customMessage=[];return[4/*yield*/,
|
|
638
|
+
l.customMessage=[];return[4/*yield*/,se.checkoutSettings.createCartId()];case 1:o=_.sent();t=void 0;if(typeof o==="object"){ze("object detected, use cartId and prefill address from createCartId","info",o);t=o.cartId;
|
|
639
639
|
// set prefill address if provided in createCartId callback result
|
|
640
640
|
this.useShippingDataFromCreateCartId(o.shippingData);l.customerAuthenticationToken=o.customerAuthenticationToken||null;
|
|
641
641
|
// Normalize against misbehaving merchant callbacks: only accept an
|
|
642
642
|
// array of strings, drop everything else so a bad value can't crash
|
|
643
643
|
// the renderer (`.filter(...)` would throw on non-arrays).
|
|
644
|
-
l.customMessage=Array.isArray(o.customMessage)?o.customMessage.filter((function(e){return typeof e==="string"})):[]}else{t=o}window.Zonos.cartId=t;return[4/*yield*/,
|
|
644
|
+
l.customMessage=Array.isArray(o.customMessage)?o.customMessage.filter((function(e){return typeof e==="string"})):[]}else{t=o}window.Zonos.cartId=t;return[4/*yield*/,Io(t)];case 2:n=_.sent();r=n===null||n===void 0?void 0:n.cartData;if(!r){he("Failed to build cart, please try again.");return[2/*return*/,false]}window.Zonos.cartData=r;i=ue(r),s=i.adjustments,a=i.cartItems;return[4/*yield*/,f({adjustments:s,cartItems:a})];case 3:_.sent();return[3/*break*/,12];case 4:if(!window.Zonos.cartData)return[3/*break*/,9];ze("tempCartUUID is provided, start building cart");u=(e=window.Zonos.cartData.references)===null||e===void 0?void 0:e.checkoutSessionId;if(!u)return[3/*break*/,6];ze("Setting checkout session id from cart reference","info",u);return[4/*yield*/,this.recoverCompletedOrderModificationSession(u)];case 5:d=_.sent();if(d){
|
|
645
645
|
// Recovery routes straight to the finish step, bypassing the
|
|
646
646
|
// cartStoreUpdateItems call below that would normally clear this -
|
|
647
647
|
// without it, the finish screen would spin forever (dialogLoading
|
|
648
648
|
// stays true while isFetchingSession is true).
|
|
649
|
-
c.isFetchingSession=false;return[2/*return*/,true]}
|
|
649
|
+
c.isFetchingSession=false;return[2/*return*/,true]}ee.checkoutSessionId=u;return[3/*break*/,7];case 6:
|
|
650
650
|
// Same as zonos-collect/zonos-invoice: without this, a checkout
|
|
651
651
|
// session id left over from a previous cart in this tab would leak
|
|
652
652
|
// into this unrelated one.
|
|
653
|
-
|
|
653
|
+
ze("Clear checkout session id from storage so we start from a fresh session for this cart");ee.checkoutSessionId=null;_.label=7;case 7:h=ue(window.Zonos.cartData),s=h.adjustments,a=h.cartItems;return[4/*yield*/,f({adjustments:s,cartItems:a})];case 8:_.sent();return[3/*break*/,12];case 9:if(!(se.checkoutSettings.buildCartDetail&&q.selectedCountryCode))return[3/*break*/,12];ze("build cart detail");return[4/*yield*/,se.checkoutSettings.buildCartDetail({countryCode:q.selectedCountryCode,currencyCode:q.targetCurrency})];case 10:a=_.sent();v=a.filter((function(e){return e.amount>=0}));m=a.filter((function(e){return e.amount<0}));ze("cartItems","info",{cartItems:a});s=m.map((function(e){return{amount:e.amount,currencyCode:e.currencyCode,description:e.name||e.description||"",productId:e.productId||null,sku:e.sku||null,type:"CART_TOTAL"}}));return[4/*yield*/,f({adjustments:s,cartItems:v})];case 11:_.sent();_.label=12;case 12:if(!!ee.checkoutSessionId)return[3/*break*/,14];return[4/*yield*/,p()];case 13:g=_.sent();ze("stripeStoreInitCheckoutSession: ".concat(g));if(!g){return[2/*return*/,false]}_.label=14;case 14:
|
|
654
654
|
// get and set payment intent async except for staging mode
|
|
655
655
|
if(!l.isStagingMode){void w()}
|
|
656
656
|
// apply theme to stripe elements
|
|
657
657
|
return[4/*yield*/,this.applyStripeTheme()];case 15:
|
|
658
658
|
// apply theme to stripe elements
|
|
659
|
-
_.sent();k=
|
|
659
|
+
_.sent();k=se.checkoutSettings,y=k.successBehavior,b=k.successRedirectUrl;this.isRedirectAfterOrder=y==="REDIRECT_TO_SUCCESS_PAGE"||y==="CLOSE_MODAL"&&!!b||!!l.externalConfirmationPageURL;
|
|
660
660
|
// A session tied to an order that hasn't completed yet is an
|
|
661
661
|
// order-modification/adjustment collection: the shopper is only paying a
|
|
662
662
|
// delta against an already-approved landed cost, so the address/shipping
|
|
@@ -665,48 +665,48 @@ _.sent();k=ie.checkoutSettings,y=k.successBehavior,b=k.successRedirectUrl;this.i
|
|
|
665
665
|
// to payment, same as the Collect flow does for its own cart type. Lives
|
|
666
666
|
// here (rather than at each buildCartAndInit call site) so every caller
|
|
667
667
|
// gets it, including the forceDialogOpen/preview init path.
|
|
668
|
-
if(z()){l.step="payment"}return[2/*return*/,true]}}))}))};e.prototype.reloadCheckoutSession=function(){window.location.reload()};e.prototype.handleOrderDuplication=function(){var e=
|
|
668
|
+
if(z()){l.step="payment"}return[2/*return*/,true]}}))}))};e.prototype.reloadCheckoutSession=function(){window.location.reload()};e.prototype.handleOrderDuplication=function(){var e=fe(localStorage.getItem("zonos--placed-order-info"));if(!e){localStorage.removeItem("zonos--placed-order-info");return}var o=Date.now()-e.time;ze("=== Existing placed order info: ".concat(e.orderId," - ").concat(this.formatDate(e.time)," - elapsed in hh:ss format: ").concat(new Date(o).toISOString().substring(11,8)),"warn");var t=parseFloat(new URLSearchParams(window.location.search).get("zonosOverrideExpiredDuplication")||"0")||Bo;
|
|
669
669
|
// if the order is placed within 5 minutes, confirm with the user to proceed with the order duplication
|
|
670
|
-
if(o>t){
|
|
670
|
+
if(o>t){ze("=== Existing placed order info is older than ".concat(t,"ms, cleaning localStorage"),"warn");
|
|
671
671
|
// remove the placed order info if it's older than 5 minutes and do nothing.
|
|
672
672
|
localStorage.removeItem("zonos--placed-order-info");return}
|
|
673
673
|
// Set placed order info to show the confirm notification to the user
|
|
674
|
-
this.placedOrderInfo=e;
|
|
674
|
+
this.placedOrderInfo=e;ze("=== Showing order duplication confirmation","warn")};e.prototype.recordCheckoutInfo=function(){if(!ee.checkoutSessionId){return}
|
|
675
675
|
// Record the order duplication consent so we know user did see the notification and proceed with the order duplication
|
|
676
|
-
void
|
|
676
|
+
void we({attributes:[{key:"APP_VERSION",value:window.Zonos.version},{key:"APP_VERSION_NPM_INTEGRATION",value:window.Zonos.isNpm?"1":"0"},{key:"LEGACY_CHECKOUT_FACADE",value:window.Zonos.isLegacyCheckout?"1":"0"}],checkoutSessionId:ee.checkoutSessionId})};e.prototype.confirmProceedWithOrderDuplication=function(){
|
|
677
677
|
// Reset the placed order info
|
|
678
|
-
this.placedOrderInfo=null;if(
|
|
678
|
+
this.placedOrderInfo=null;if(!ee.checkoutSessionId){return}
|
|
679
679
|
// Record the order duplication consent so we know user did see the notification and proceed with the order duplication
|
|
680
|
-
void
|
|
680
|
+
void we({attributes:[{key:"ORDER_DUPLICATION_CONSENT",value:"1"}],checkoutSessionId:ee.checkoutSessionId})};e.prototype.markTheSessionAsAbandonedCart=function(){if(!ee.checkoutSessionId){return}void we({attributes:[{key:"WITH_ABANDONED_CART_TOKEN",value:"1"}],checkoutSessionId:ee.checkoutSessionId})};e.prototype.handleCancelOrderDuplication=function(){var e;
|
|
681
681
|
// Reset the placed order info
|
|
682
682
|
this.placedOrderInfo=null;
|
|
683
683
|
// Redirect to the vendor store url if this is legacy checkout
|
|
684
|
-
if(this.isLegacyCheckout){var o=((e=window.Zonos.cartData)===null||e===void 0?void 0:e.storeBaseUrl)||
|
|
684
|
+
if(this.isLegacyCheckout){var o=((e=window.Zonos.cartData)===null||e===void 0?void 0:e.storeBaseUrl)||se.onlineStoreSettings.url;if(!o){return}if(window.parent){window.parent.location.href=o}window.location.href=o;return}void this.closeDialogHandler({confirmed:true})};e.prototype.attachCheckout=function(){var e=this;var o=se.checkoutSettings.placeOrderButtonSelector;var t=se.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;
|
|
685
685
|
// `_zonosBase` injects this hidden button on page load when Stripe
|
|
686
686
|
// redirects the shopper back with a `payment_intent_client_secret` query
|
|
687
687
|
// param. We must still attach (and auto-click) it even when the merchant
|
|
688
688
|
// is on a `buildCartDetail` only setup (no cartId / no place-order
|
|
689
689
|
// selector configured yet) — otherwise the redirect-back never reopens
|
|
690
690
|
// the checkout dialog to show the success/finish screen.
|
|
691
|
-
var n=!!document.querySelector("#".concat(
|
|
691
|
+
var n=!!document.querySelector("#".concat(_e));ze("attach checkout ".concat(o),"info",{href:window.location.href});ze("attach checkout to always trigger international checkout selector: ".concat(t));
|
|
692
692
|
// allow to load checkout if cartData is ready (Checkout can be loaded right away if tempCartUUID is in the URL)
|
|
693
693
|
if(!o&&!t&&!window.Zonos.cartData&&!n){
|
|
694
694
|
// do nothing if button element is not found
|
|
695
695
|
return}var r=[o,t,
|
|
696
696
|
// hidden button for domestic redirected
|
|
697
|
-
"#".concat(
|
|
697
|
+
"#".concat(Ce),
|
|
698
698
|
// hidden button for legacy checkout facade and when client secret is provided in the query param or session storage when user is redirected from stripe
|
|
699
|
-
"#".concat(
|
|
699
|
+
"#".concat(_e),
|
|
700
700
|
// hidden button for international checkout
|
|
701
|
-
"#".concat(
|
|
701
|
+
"#".concat(xe)].filter(Boolean);
|
|
702
702
|
// also attach event to hidden button if user was redirected with shipping address session
|
|
703
703
|
var i=document.querySelectorAll(r.join(","));
|
|
704
704
|
// only attach event once, and looping through all of the button elements
|
|
705
705
|
i.forEach((function(n){var r=n.getAttribute("data-zonos-checkout-attached");if(r){
|
|
706
706
|
// do nothing if event is already attached
|
|
707
|
-
return}
|
|
707
|
+
return}ze("attached event to button ".concat(o),"info",{button:n});n.addEventListener("click",(function(o){return __awaiter(e,void 0,void 0,(function(){var e,r,i,s,a,u,d,f,h,v,m,g,p,w,z,x,S,T,I,A;return __generator(this,(function(O){switch(O.label){case 0:i=performance.now();s=t&&n.matches(t);a=n.matches("#".concat(xe));u=n.matches("#".concat(Ce))||n.matches("#".concat(_e));
|
|
708
708
|
// Allow no country set for legacy facades. Otherwise enforce it being a shippable country and not disabled.
|
|
709
|
-
if(!window.Zonos.isLegacyCheckout&&(!
|
|
709
|
+
if(!window.Zonos.isLegacyCheckout&&(!ho()||fo())&&!s&&!a&&!u){return[2/*return*/]}o.preventDefault();o.stopPropagation();ze("zonos checkout button clicked");return[4/*yield*/,this.checkStripePaymentIntentStatus({triggeredButton:o.target})];case 1:d=O.sent().shouldAllowOrder;
|
|
710
710
|
// Only allow order to proceed if payment intent is not succeeded
|
|
711
711
|
if(!d){return[2/*return*/]}
|
|
712
712
|
/**
|
|
@@ -714,16 +714,16 @@ if(!d){return[2/*return*/]}
|
|
|
714
714
|
* Move the logic below checking Stripe payment state so we don't record the load time on page load and only do so when checkout modal is actually showed up.
|
|
715
715
|
*/if(!window.Zonos.logIntervalId){
|
|
716
716
|
// log the load time of all API calls every 2 seconds. This is to track the load time of all API calls for checkout user
|
|
717
|
-
window.Zonos.logIntervalId=setInterval((function(){void
|
|
717
|
+
window.Zonos.logIntervalId=setInterval((function(){void ko()}),2e3)}if(!xo("hosted_vs_native"))return[3/*break*/,4];this.isOverlayLoading=true;return[4/*yield*/,this.registerTestHostedVsNative()];case 2:O.sent();return[4/*yield*/,this.handleHostedVsNative()];case 3:f=O.sent().redirected;this.isOverlayLoading=false;
|
|
718
718
|
// Stop the process if the user is being redirected to the hosted checkout page
|
|
719
|
-
if(f){return[2/*return*/]}O.label=4;case 4:if(!window.Zonos.isBigCommerce)return[3/*break*/,7];return[4/*yield*/,
|
|
719
|
+
if(f){return[2/*return*/]}O.label=4;case 4:if(!window.Zonos.isBigCommerce)return[3/*break*/,7];return[4/*yield*/,Ge()];case 5:h=O.sent().shouldBypass;if(h){ze("Bypass customer group detected, redirecting to BigCommerce native checkout","info");
|
|
720
720
|
// Carry over zonosQaUrl / zonosTestMode so the BC native
|
|
721
721
|
// checkout keeps loading the same Zonos elements build/env.
|
|
722
|
-
window.location.href=
|
|
722
|
+
window.location.href=Fe("/checkout");return[2/*return*/]}return[4/*yield*/,no()];case 6:v=O.sent();if(v.shouldForceLogin&&v.redirectUrl){window.location.href=v.redirectUrl;return[2/*return*/]}O.label=7;case 7:
|
|
723
723
|
// start loading
|
|
724
724
|
c.isFetchingSession=true;this.open=true;O.label=8;case 8:O.trys.push([8,16,,17]);return[4/*yield*/,this.buildCartAndInit()];case 9:m=O.sent();if(!m){throw new Error("Error building cart")}if(!!window.Zonos.isLegacyCheckout)return[3/*break*/,14];g=null;O.label=10;case 10:O.trys.push([10,12,,13]);return[4/*yield*/,k()];case 11:g=O.sent();return[3/*break*/,13];case 12:p=O.sent();
|
|
725
725
|
// A throwing merchant callback should stop checkout, not open it.
|
|
726
|
-
g=
|
|
726
|
+
g=ne("Unable to check inventory. Please try again.");return[3/*break*/,13];case 13:if(g){
|
|
727
727
|
// Surface the same "Couldn't place order" dialog and stop
|
|
728
728
|
// before the checkout is revealed. We return here before the
|
|
729
729
|
// session/analytics setup below runs, so close the (still
|
|
@@ -731,60 +731,60 @@ g=te("Unable to check inventory. Please try again.");return[3/*break*/,13];case
|
|
|
731
731
|
// half-initialized checkout visible behind the alert. The
|
|
732
732
|
// inventory-failure dialog renders independently of `this.open`,
|
|
733
733
|
// and "Return to cart" resets the message + closes cleanly.
|
|
734
|
-
l.inventoryCheckErrorMessage=g;c.isFetchingSession=false;this.open=false;return[2/*return*/]}O.label=14;case 14:(e=window.opener)===null||e===void 0?void 0:e.postMessage({checkoutSessionId
|
|
734
|
+
l.inventoryCheckErrorMessage=g;c.isFetchingSession=false;this.open=false;return[2/*return*/]}O.label=14;case 14:(e=window.opener)===null||e===void 0?void 0:e.postMessage({checkoutSessionId:ee.checkoutSessionId,type:"zonos-checkout-session-update"},"*");
|
|
735
735
|
// start the timer to validate the price
|
|
736
|
-
y({isPreview:this.preview,sessionTimeout:
|
|
736
|
+
y({isPreview:this.preview,sessionTimeout:Eo});V({event:"zonos-checkout-start",metadata:{checkoutSessionId:ee.checkoutSessionId}});w=ee.checkoutSessionId;void b({checkoutSessionId:w,eventName:"checkout_open"});return[4/*yield*/,Ue()];case 15:z=O.sent().enabled;
|
|
737
737
|
// Hide discount input if there's no active discount configured for the store
|
|
738
|
-
l.shouldHideDiscountInput=!z;this.handleOrderDuplication();if(window.Zonos.isLegacyCheckout){void
|
|
738
|
+
l.shouldHideDiscountInput=!z;this.handleOrderDuplication();if(window.Zonos.isLegacyCheckout){void yo()}else{x=performance.now();S=x-i;void bo({loadTime:S})}this.recordCheckoutInfo();T=!!Se();if(T){this.markTheSessionAsAbandonedCart()}return[3/*break*/,17];case 16:I=O.sent();if(I instanceof Error){A=I.message;if(A==="Cart is expired."){this.isCartExpired=true}}
|
|
739
739
|
// stop loading
|
|
740
|
-
c.isFetchingSession=false;
|
|
740
|
+
c.isFetchingSession=false;he(I);if(this.isCartExpired){c.isFetchingSession=true;return[2/*return*/]}
|
|
741
741
|
// We want to log the error anytime we fail to create a checkout session
|
|
742
|
-
void
|
|
742
|
+
void me({endpoint:"Error creating Checkout",errors:[I instanceof Error?I.toString():"Unknown error"],metadata:{allLogs:ye,cartId:window.Zonos.cartId,checkoutSessionBody:_(),href:window.location.href,storeBaseUrl:((r=window.Zonos.cartData)===null||r===void 0?void 0:r.storeBaseUrl)||se.onlineStoreSettings.url}});C({messages:[ne("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:ne("Error creating Checkout")});return[3/*break*/,17];case 17:return[2/*return*/]}}))}))}),{
|
|
743
743
|
// Trigger this event before any other event
|
|
744
|
-
capture:true,passive:false});if(!
|
|
744
|
+
capture:true,passive:false});if(!se.checkoutSettings.disablePlaceOrderButtonActivation){n.removeAttribute("disabled")}n.setAttribute("data-zonos-checkout-attached","true");
|
|
745
745
|
// if this button is the hidden button, trigger the click event
|
|
746
|
-
if(n.matches("#".concat(
|
|
746
|
+
if(n.matches("#".concat(Ce))){n.dispatchEvent(Ie("click"));
|
|
747
747
|
// cleanup shipping session after button is clicked
|
|
748
748
|
x();
|
|
749
749
|
// remove the button after it's clicked
|
|
750
750
|
n.remove()}
|
|
751
751
|
// For legacy checkout facade and in case the cart or stripe client secret is provided in the query param, open Checkout right away
|
|
752
|
-
if(n.matches("#".concat(
|
|
752
|
+
if(n.matches("#".concat(_e))){
|
|
753
753
|
// trigger the click event on the button
|
|
754
|
-
n.dispatchEvent(
|
|
754
|
+
n.dispatchEvent(Ie("click"));n.remove()}}))};e.prototype.appearanceSettingsOverrideChanged=function(){if(!this.appearanceSettingsOverride){return}
|
|
755
755
|
// apply theme to stripe elements
|
|
756
756
|
void this.applyStripeTheme()};e.prototype.useShippingDataFromCreateCartId=function(e){
|
|
757
757
|
// Do only if prefill address is provided
|
|
758
|
-
if(!e){return}
|
|
759
|
-
r
|
|
758
|
+
if(!e){return}ze("shipping data from createCartId result","info",Object.entries(e));var o=e.customerAddress1,t=e.customerAddress2,n=e.customerCity,r=e.customerCountry,i=e.customerEmail,s=e.customerFirstName,c=e.customerLastName,a=e.customerName,u=e.customerPhone,d=e.customerState,l=e.customerZip;var f=new URLSearchParams(window.location.search);var h=// fallback to selected country code if country is not provided
|
|
759
|
+
r||$(f)||q.selectedCountryCode;this.applyPrefillAddress({customerAddress1:o,customerAddress2:t,customerCity:n,customerCountry:h,customerEmail:i,customerFirstName:s,customerLastName:c,customerName:a,customerPhone:u,customerState:d,customerZip:l})};
|
|
760
760
|
/**
|
|
761
761
|
* Set default address from query param if it's valid
|
|
762
|
-
*/e.prototype.useLegacyQueryParams=function(){var e=new URLSearchParams(window.location.search);
|
|
762
|
+
*/e.prototype.useLegacyQueryParams=function(){var e=new URLSearchParams(window.location.search);ze("legacy urlParams","info",Object.fromEntries(e.entries()));var o=function(o){var t=e.get(o);if(!t||t==="undefined"){return null}return t};var t=
|
|
763
763
|
// fallback to selected country code if country is not provided
|
|
764
|
-
|
|
764
|
+
$(e)||q.selectedCountryCode;var n=o("customerCity");var r=o("customerEmail");var i=o("customerAddress1");var s=o("customerAddress2");var c=o("customerName");var a=o("customerFirstName");var u=o("customerLastName");var d=o("customerPhone");var l=o("customerZip");var f=o("customerState");this.applyPrefillAddress({customerAddress1:i,customerAddress2:s,customerCity:n,customerCountry:t,customerEmail:r,customerFirstName:a,customerLastName:u,customerName:c,customerPhone:d,customerState:f,customerZip:l})};e.prototype.applyPrefillAddress=function(e){var o=e.customerAddress1||"";var t=e.customerCountry||"";var n=e.customerAddress2||"";var r=e.customerCity||"";var i=e.customerEmail||"";var s=e.customerFirstName&&e.customerLastName?"".concat(e.customerFirstName," ").concat(e.customerLastName):e.customerName||"";var c=e.customerPhone||"";var a=e.customerZip||"";var u=e.customerState||"";
|
|
765
765
|
/**
|
|
766
766
|
* If one of the value is null, no need to preset the default address.
|
|
767
767
|
* City and state are optional (they are not always provided for example Puerto Rico)
|
|
768
|
-
**/if(!o||!s||!c||!t){
|
|
768
|
+
**/if(!o||!s||!c||!t){ze("Missing required query params so it can not be prefilled","info",[!o&&"line1",!s&&"name",!c&&"phone",!t&&"country"].filter(Boolean).join(", "));return}if(t&&q.shippingZoneCountries&&!(t in q.shippingZoneCountries)){ze('Country "'.concat(t,'" is not in the shipping zone, so it can not be prefilled'),"warn");return}this.defaultAddressParams=[{address:{city:r||"",country:t,line1:o,line2:n,postal_code:a,state:u},email:i,name:s,phone:c}];ze("Prefill address applied","info",{prefillAddress:this.defaultAddressParams,providedAddress:e})};e.prototype.overrideStagingModeChanged=function(){l.isStagingMode=!!this.overrideStagingMode};
|
|
769
769
|
/**
|
|
770
770
|
* Setup all of the event listeners for the component on first load
|
|
771
771
|
*/e.prototype.init=function(){return __awaiter(this,void 0,void 0,(function(){var e;var o=this;return __generator(this,(function(t){c.stripe=window.Zonos.stripe;this.stripe=window.Zonos.stripe;
|
|
772
772
|
// Set staging mode on init
|
|
773
|
-
l.isStagingMode=
|
|
773
|
+
l.isStagingMode=ge();
|
|
774
774
|
// Override staging mode if it's provided
|
|
775
775
|
if(typeof this.overrideStagingMode!=="undefined"){l.isStagingMode=this.overrideStagingMode}
|
|
776
776
|
// Start fetching BigCommerce customer group on page load so the bypass
|
|
777
777
|
// result is ready by the time checkout opens or the BC watcher fires
|
|
778
|
-
|
|
778
|
+
Ze();
|
|
779
779
|
// Warm the BigCommerce `/checkouts/settings` fetch (merchant's
|
|
780
780
|
// `guest_checkout_type`) so force-login gating resolves instantly when
|
|
781
781
|
// the shopper clicks checkout — otherwise the first checkout open
|
|
782
782
|
// would block on a proxy round trip.
|
|
783
|
-
|
|
783
|
+
to();
|
|
784
784
|
// On BC's `/login.php`, rewrite the "Create account" button href so
|
|
785
785
|
// the post-signup round trip preserves the `from=cart.php?...` flag
|
|
786
786
|
// that carries the shopper back into Zonos international checkout.
|
|
787
|
-
|
|
787
|
+
co();
|
|
788
788
|
// If BC redirected the shopper back here after login with the Zonos
|
|
789
789
|
// resume flag, auto-open the international checkout. Strip the flag
|
|
790
790
|
// from the URL so a refresh doesn't keep re-triggering the dialog.
|
|
@@ -795,7 +795,7 @@ this.handleBigcommerceInternationalResumeFlag();
|
|
|
795
795
|
// the prefill itself guards against overwriting other prefill sources.
|
|
796
796
|
void this.prefillBigCommerceCustomerAddresses();
|
|
797
797
|
// check if bigcommerce, if user enters the shipping address that's in the shipping zone at bigcommerce checkout
|
|
798
|
-
|
|
798
|
+
po({domesticRedirectedBtnSelector:Ce,onInternationalCheckoutSelected:function(){return __awaiter(o,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:this.detectedDomesticCheckoutDialogOpen=true;
|
|
799
799
|
// wait for 2 secs
|
|
800
800
|
return[4/*yield*/,new Promise((function(e){return setTimeout(e,2e3)}))];case 1:
|
|
801
801
|
// wait for 2 secs
|
|
@@ -811,7 +811,7 @@ onLoggedInInternationalAddressDetected:function(){return new Promise((function(e
|
|
|
811
811
|
o.defaultAddress=[{address:{city:e.city,country:e.countryCode,line1:e.address1,line2:e.address2,postal_code:e.postalCode,state:e.state},email:"",name:"".concat(e.firstName," ").concat(e.lastName),phone:e.phone}]}});
|
|
812
812
|
/**
|
|
813
813
|
* When temp cart data is available, set default address if it exists
|
|
814
|
-
*/if(window.Zonos){this.useLegacyQueryParams()}e=setInterval((function(){c.stripe=window.Zonos.stripe;o.stripe=window.Zonos.stripe;if(!o.stripe){
|
|
814
|
+
*/if(window.Zonos){this.useLegacyQueryParams()}e=setInterval((function(){c.stripe=window.Zonos.stripe;o.stripe=window.Zonos.stripe;if(!o.stripe){ze("waiting for stripe to be loaded");return}if(o.storybookPaymentStatusOverride){clearInterval(e);return}ze("init checkout");if(o.preview||o.forceDialogOpen){void o.buildCartAndInit()}else if(window.Zonos.isLegacyCheckout){
|
|
815
815
|
// With legacy checkout, avoid the mutation observer. We are using a hidden button to trigger checkout.
|
|
816
816
|
o.attachCheckout()}else if(window){o.attachCheckout();
|
|
817
817
|
// create a mutation observer to see if any new elements that match our selector is added to the DOM
|
|
@@ -832,7 +832,7 @@ clearInterval(e)}),1e4);return[2/*return*/]}))}))};
|
|
|
832
832
|
* fires against a half-initialized store, which is what happens when
|
|
833
833
|
* the shopper refreshes back into cart.php straight from the login
|
|
834
834
|
* round trip.
|
|
835
|
-
*/e.prototype.handleBigcommerceInternationalResumeFlag=function(){if(!window.Zonos.isBigCommerce){return}var e=new URL(window.location.href);if(e.searchParams.get(
|
|
835
|
+
*/e.prototype.handleBigcommerceInternationalResumeFlag=function(){if(!window.Zonos.isBigCommerce){return}var e=new URL(window.location.href);if(e.searchParams.get(Ne)!=="true"){return}e.searchParams.delete(Ne);window.history.replaceState({},"",e.toString());var o=Date.now();var t=setInterval((function(){if(!q.localizationLoaded||!q.selectedCountryCode){if(Date.now()-o>15e3){clearInterval(t);ze("BigCommerce international checkout resume flag: localization did not initialize within 15s","info")}return}var e=document.querySelector("#".concat(xe));if(e){clearInterval(t);e.dispatchEvent(Ie("click"));return}if(Date.now()-o>15e3){clearInterval(t);ze("BigCommerce international checkout resume flag: trigger button did not mount within 15s","info")}}),200)};
|
|
836
836
|
/**
|
|
837
837
|
* For storybook to set to finish step, this is to trigger in the story for zonos-checkout-finish
|
|
838
838
|
*/e.prototype.setToFinishStep=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(o){l.step="finish";this.storybookPaymentStatusOverride=e;return[2/*return*/]}))}))};
|
|
@@ -841,11 +841,11 @@ clearInterval(e)}),1e4);return[2/*return*/]}))}))};
|
|
|
841
841
|
*/e.prototype.mockCheckoutSession=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(o){S(e);return[2/*return*/]}))}))};
|
|
842
842
|
/**
|
|
843
843
|
* Trigger the checkout international button
|
|
844
|
-
*/e.prototype.triggerCheckoutInternational=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(o){e=document.querySelector("#".concat(
|
|
844
|
+
*/e.prototype.triggerCheckoutInternational=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(o){e=document.querySelector("#".concat(xe));if(e){e.dispatchEvent(Ie("click"))}return[2/*return*/]}))}))};e.prototype.handleCustomerInfoContinue=function(){return __awaiter(this,void 0,void 0,(function(){var e,o,t,n,r,i,s,a;var u=this;return __generator(this,(function(d){switch(d.label){case 0:
|
|
845
845
|
// submit google tag when the form is complete
|
|
846
|
-
|
|
846
|
+
V({event:"zonos-checkout-customer-info",metadata:{checkoutSessionId:ee.checkoutSessionId}});r=ee.checkoutSessionId;void b({checkoutSessionId:r,eventName:"checkout_customerInfoCompleted"});this.submitLoading=true;return[4/*yield*/,T()];case 1:i=d.sent().isRequestNotReady;
|
|
847
847
|
// If the request is not ready at the time user click Continue, logging it out so we can investigate the issue
|
|
848
|
-
if(i&&l.addressFormRenderType==="stripe"){void
|
|
848
|
+
if(i&&l.addressFormRenderType==="stripe"){void me({endpoint:"ADDRESS_NOT_READY_AT_CUSTOMER_INFO_CONTINUE",errors:["Address not ready at customer info continue"],metadata:{address:(o=(e=c.stripeAddressEventData)===null||e===void 0?void 0:e.value)===null||o===void 0?void 0:o.address,billingAddress:(n=(t=c.stripeBillingAddressEventData)===null||t===void 0?void 0:t.value)===null||n===void 0?void 0:n.address,cartId:window.Zonos.cartId}})}s=function(e){if(l.step!=="customer-info"){
|
|
849
849
|
// stop interval if the step is not customer-info
|
|
850
850
|
clearInterval(e);return}if(!c.isFetchingLandedCost){if(l.landedCostData){
|
|
851
851
|
// start init paypal with the presentment currency when landed cost is fetched
|
|
@@ -873,35 +873,35 @@ return[2/*return*/]}
|
|
|
873
873
|
// Close the dialog after the user confirms to proceed with the payment in USD
|
|
874
874
|
this.payInUsdConfirmDialogOpen=false;o=A();h.label=1;case 1:h.trys.push([1,,18,19]);
|
|
875
875
|
// reset paypal error message
|
|
876
|
-
|
|
876
|
+
K.paypalErrorMessage=null;
|
|
877
877
|
// reset error state
|
|
878
878
|
c.hasPaymentError=false;this.submitLoading=true;
|
|
879
879
|
// reset inventory check message
|
|
880
880
|
l.inventoryCheckErrorMessage=null;return[4/*yield*/,O()];case 2:t=h.sent();
|
|
881
881
|
// Should not proceed to confirm payment if base currency update failed
|
|
882
|
-
if(!t){c.hasPaymentError=true;c.customErrorMessage=
|
|
882
|
+
if(!t){c.hasPaymentError=true;c.customErrorMessage=ne("Unable to complete payment in [currency]. Please try again or select a different currency. If the issue persists, contact our support team for assistance.",{currency:c.checkoutSettlementCurrency});this.submitLoading=false;return[2/*return*/]}h.label=3;case 3:h.trys.push([3,5,,6]);
|
|
883
883
|
// check inventory before proceeding to payment
|
|
884
884
|
n=l;return[4/*yield*/,k()];case 4:
|
|
885
885
|
// check inventory before proceeding to payment
|
|
886
886
|
n.inventoryCheckErrorMessage=h.sent();return[3/*break*/,6];case 5:r=h.sent();
|
|
887
887
|
// If user provide callback and it throw an exception, default to this message and stop the payment.
|
|
888
|
-
l.inventoryCheckErrorMessage=
|
|
888
|
+
l.inventoryCheckErrorMessage=ne("Unable to check inventory. Please try again.");return[3/*break*/,6];case 6:
|
|
889
889
|
// Don't proceed to payment if there's an error message
|
|
890
890
|
if(l.inventoryCheckErrorMessage){
|
|
891
891
|
// stop the submit loading state
|
|
892
|
-
this.submitLoading=false;return[2/*return*/]}i=M();if(!(i>0))return[3/*break*/,8];return[4/*yield*/,
|
|
892
|
+
this.submitLoading=false;return[2/*return*/]}i=M();if(!(i>0))return[3/*break*/,8];return[4/*yield*/,E()];case 7:s=h.sent();if(!s.success){c.hasPaymentError=true;c.customErrorMessage=s.error||ne("Unable to apply store credit. Please try again.");this.submitLoading=false;return[2/*return*/]}h.label=8;case 8:if(!B())return[3/*break*/,14];h.label=9;case 9:h.trys.push([9,12,,13]);return[4/*yield*/,L()];case 10:a=h.sent();if(!a.valid){c.hasPaymentError=true;c.customErrorMessage=a.errorMessage;this.submitLoading=false;return[2/*return*/]}return[4/*yield*/,U()];case 11:u=h.sent();if(!u.success){c.hasPaymentError=true;c.customErrorMessage=u.error||ne("Unable to place order with store credit. Please try again.");this.submitLoading=false;return[2/*return*/]}I();g();return[3/*break*/,13];case 12:d=h.sent();he(d);V({event:"zonos-checkout-payment-fail",metadata:{checkoutSessionId:ee.checkoutSessionId}});c.hasPaymentError=true;return[3/*break*/,13];case 13:this.submitLoading=false;return[2/*return*/];case 14:h.trys.push([14,16,,17]);
|
|
893
893
|
// Order-modification payment-only sessions skip the shipping step,
|
|
894
894
|
// so cartStore.selectedLandedCost is never populated — bypass the
|
|
895
895
|
// landed-cost guard the same way zonos-collect does for its own
|
|
896
896
|
// no-shipping-step flow.
|
|
897
|
-
return[4/*yield*/,
|
|
897
|
+
return[4/*yield*/,P({noLandedCostCheck:z()})];case 15:
|
|
898
898
|
// Order-modification payment-only sessions skip the shipping step,
|
|
899
899
|
// so cartStore.selectedLandedCost is never populated — bypass the
|
|
900
900
|
// landed-cost guard the same way zonos-collect does for its own
|
|
901
901
|
// no-shipping-step flow.
|
|
902
902
|
h.sent();I();
|
|
903
903
|
// clear the checkout session timeout timer when purchase is complete
|
|
904
|
-
g();return[3/*break*/,17];case 16:f=h.sent();
|
|
904
|
+
g();return[3/*break*/,17];case 16:f=h.sent();he(f);V({event:"zonos-checkout-payment-fail",metadata:{checkoutSessionId:ee.checkoutSessionId}});c.hasPaymentError=true;
|
|
905
905
|
// should request inventory refund if there's an error during payment
|
|
906
906
|
if(c.shouldInventoryRefund){void D();c.shouldInventoryRefund=false}return[3/*break*/,17];case 17:this.submitLoading=false;return[3/*break*/,19];case 18:
|
|
907
907
|
// Release the consent lock on every terminal exit (success or failure)
|
|
@@ -915,7 +915,7 @@ h();
|
|
|
915
915
|
// reset policy consent so the next checkout starts un-accepted
|
|
916
916
|
v();
|
|
917
917
|
// redirect to vendor store url if this is legacy checkout.
|
|
918
|
-
if(window.Zonos.isLegacyCheckout&&window.Zonos.cartData){e=window.Zonos.cartData.storeBaseUrl||
|
|
918
|
+
if(window.Zonos.isLegacyCheckout&&window.Zonos.cartData){e=window.Zonos.cartData.storeBaseUrl||se.onlineStoreSettings.url;if(window.parent){window.parent.location.href=e}window.location.href=e;return[2/*return*/]}o=window.location.href;t=o.split("?")[0];this.open=false;n=window.location.hostname.includes("dashboard.zonos.com");
|
|
919
919
|
/**
|
|
920
920
|
* Update the URL without query parameters only when checkout is not running in dashboard.zonos.com.
|
|
921
921
|
* We don't want to reload the page when dashboard is running it. Test mode should do what live mode does.
|
|
@@ -925,15 +925,15 @@ if(window.Zonos.isLegacyCheckout&&window.Zonos.cartData){e=window.Zonos.cartData
|
|
|
925
925
|
* @ref https://github.com/vercel/next.js/issues/33233#issuecomment-1052349396
|
|
926
926
|
**/if(!n){window.history.replaceState(window.history.state,document.title,t);
|
|
927
927
|
// Reload the page
|
|
928
|
-
window.location.reload()}return[2/*return*/]}}))}))};e.prototype.handleWindowResize=function(){this.isMobile=
|
|
928
|
+
window.location.reload()}return[2/*return*/]}}))}))};e.prototype.handleWindowResize=function(){this.isMobile=pe(this.mobile);
|
|
929
929
|
// apply theme to stripe elements
|
|
930
|
-
void this.applyStripeTheme();
|
|
930
|
+
void this.applyStripeTheme();ze("mobile: ".concat(this.isMobile))};e.prototype.handleMobileChange=function(){this.isMobile=pe(this.mobile);
|
|
931
931
|
// apply theme to stripe elements
|
|
932
|
-
void this.applyStripeTheme();
|
|
932
|
+
void this.applyStripeTheme();ze("mobile: ".concat(this.isMobile))};e.prototype.handleAppearanceSettingsOverrideChange=function(){var e;if((e=this.appearanceSettingsOverride)===null||e===void 0?void 0:e.theme){
|
|
933
933
|
// update theme to browser preference theme if appearance theme is system
|
|
934
|
-
this.appearanceSettingsOverride.theme=
|
|
934
|
+
this.appearanceSettingsOverride.theme=ce(this.appearanceSettingsOverride.theme)}};e.prototype.handleAddressChange=function(){j()};e.prototype.handleCustomerProfileChange=function(){var e,o;if(!this.customerProfile){ze("No customer profile","info");this.defaultCustomerProfileAddress=[];return}ze("Customer profile found","info",{customerProfile:this.customerProfile});
|
|
935
935
|
// Build and set saved locations from checkout customers
|
|
936
|
-
this.defaultCustomerProfileAddress=((o=(e=c.customerProfile)===null||e===void 0?void 0:e.locations)===null||o===void 0?void 0:o.map((function(e){var o;return{address:{city:e.locality,country:e.countryCode,line1:e.line1,line2:e.line2||"",postal_code:e.postalCode,state:e.administrativeArea},email:e.email||((o=c.customerProfile)===null||o===void 0?void 0:o.email)||"",name:e.name||"",phone:e.phone||""}})))||[]};e.prototype.handleClientSecretChange=function(){
|
|
936
|
+
this.defaultCustomerProfileAddress=((o=(e=c.customerProfile)===null||e===void 0?void 0:e.locations)===null||o===void 0?void 0:o.map((function(e){var o;return{address:{city:e.locality,country:e.countryCode,line1:e.line1,line2:e.line2||"",postal_code:e.postalCode,state:e.administrativeArea},email:e.email||((o=c.customerProfile)===null||o===void 0?void 0:o.email)||"",name:e.name||"",phone:e.phone||""}})))||[]};e.prototype.handleClientSecretChange=function(){ze("==== Client secret changed","info",{clientSecret:this.clientSecret,stripeCustomerSessionClientSecret:this.stripeCustomerSessionClientSecret});
|
|
937
937
|
// apply theme to stripe elements
|
|
938
938
|
void this.applyStripeTheme()};e.prototype.handleOpenChange=function(){var e="data-zonos-overflow-origin";var o=document.body;var t=document.documentElement;
|
|
939
939
|
// disable scroll on the body when dialog is open
|
|
@@ -951,27 +951,27 @@ o.style.removeProperty("overflow")}
|
|
|
951
951
|
// reset overflow state to original state
|
|
952
952
|
if(r){t.removeAttribute(e);t.style.overflow=r}else{
|
|
953
953
|
// just remove the overflow style if it's not set
|
|
954
|
-
t.style.removeProperty("overflow")}}};e.prototype.componentWillLoad=function(){var e=this;void this.init();this.isMobile=
|
|
954
|
+
t.style.removeProperty("overflow")}}};e.prototype.componentWillLoad=function(){var e=this;void this.init();this.isMobile=pe(this.mobile);this.isIframed=window.self!==window.top;ze("iframed: ".concat(this.isIframed));
|
|
955
955
|
// Set checkout session if redirect
|
|
956
956
|
if(window.Zonos.isLegacyCheckout){this.captureParamsRedirectedForVariantTest()}
|
|
957
957
|
// update theme to browser preference theme if appearance theme is system
|
|
958
|
-
this.handleAppearanceSettingsOverrideChange();this.storeUnsubscribeList=[
|
|
958
|
+
this.handleAppearanceSettingsOverrideChange();this.storeUnsubscribeList=[re("selectedLocale",(function(){
|
|
959
959
|
// Update stripe locale when selected country code is changed
|
|
960
960
|
void e.applyStripeTheme()})),R("selectedShippingOption",(function(){var o,t,n,r;var i=l.selectedShippingOption;
|
|
961
961
|
// Canada requires GAA form to be filled out for FedEx Ground shipping option
|
|
962
|
-
if(((o=
|
|
962
|
+
if(((o=se.genericSettings)===null||o===void 0?void 0:o.shouldFedExShippingConsentForCanadianShopper)&&((n=(t=i===null||i===void 0?void 0:i.shippingProfile)===null||t===void 0?void 0:t.serviceLevel.code)===null||n===void 0?void 0:n.toLowerCase().startsWith("fedex."))&&((r=c.stripeAddressEventData)===null||r===void 0?void 0:r.value.address.country)==="CA"){e.shouldShowFedexShippingConsentDialog=true}})),F("stripeAddressEventData",(function(o){var t;
|
|
963
963
|
// For BigCommerce stores: redirect to domestic checkout when user selects a domestic country
|
|
964
964
|
// Only redirect when the store's native currency is USD and the feature is enabled
|
|
965
|
-
if(!window.Zonos.isBigCommerce||!o||e.redirectToDomesticCheckoutDialogOpen||!((t=
|
|
965
|
+
if(!window.Zonos.isBigCommerce||!o||e.redirectToDomesticCheckoutDialogOpen||!((t=se.genericSettings)===null||t===void 0?void 0:t.isBigcommerceDomesticCheckoutRedirectEnabled)||se.sourceCurrency!=="USD"){return}
|
|
966
966
|
// Only redirect when checkout modal is opened
|
|
967
967
|
if(!e.open){return}
|
|
968
968
|
// Check if the page is checkout page, if so, do nothing since they're already at the right page
|
|
969
|
-
if(window.location.pathname.includes("/checkout")){return}var n=o.value.address.country;if(n&&
|
|
969
|
+
if(window.location.pathname.includes("/checkout")){return}var n=o.value.address.country;if(n&&se.disabledCountries.includes(n)){e.redirectToDomesticCheckoutDialogOpen=true;ze("Domestic country ".concat(n," selected in international checkout, redirecting to BigCommerce domestic checkout"),"info");setTimeout((function(){
|
|
970
970
|
// Carry over zonosQaUrl / zonosTestMode so the BC native checkout
|
|
971
971
|
// keeps loading the same Zonos elements build/env.
|
|
972
|
-
window.location.href=
|
|
972
|
+
window.location.href=Fe("/checkout")}),2e3)}}))];
|
|
973
973
|
// Initialize test keys
|
|
974
|
-
this.initializeTestKeys();window.addEventListener("message",this.handleHostedOpenWindowCallback);
|
|
974
|
+
this.initializeTestKeys();window.addEventListener("message",this.handleHostedOpenWindowCallback);ze("mobile: ".concat(this.isMobile))};
|
|
975
975
|
// do clean up when component is unmounted
|
|
976
976
|
e.prototype.disconnectedCallback=function(){
|
|
977
977
|
// reset stripe store
|
|
@@ -996,7 +996,7 @@ l.step!=="finish"&&l.step!=="error"&&!c.stripeElements||c.isFetchingSession;
|
|
|
996
996
|
// track completion via cartStore.tabItems, only ever flipped by those
|
|
997
997
|
// steps' own continue handlers) would otherwise show a stale, frozen
|
|
998
998
|
// bar instead of reflecting that this is a single-step flow.
|
|
999
|
-
var d=z();var f=
|
|
999
|
+
var d=z();var f=ae(se.appearance,this.appearanceSettingsOverride||null),h=f.colorPrimary,v=f.colorSecondary,m=f.logoUrl,g=f.style;var p=se.appearance.zonosAttribution==="ENABLED";var w=se.appearance.theme;var k=h&&Oe(h)?"DARK":"LIGHT";
|
|
1000
1000
|
// use right side theme if it's mobile, otherwise use themePrimaryColorBased
|
|
1001
1001
|
var y=this.isMobile?w:k;
|
|
1002
1002
|
// only use submit button color if it's on desktop
|
|
@@ -1004,40 +1004,40 @@ var b=!this.isMobile?v:undefined;var _=q.customMessages;var C=(o=_.find((functio
|
|
|
1004
1004
|
|
|
1005
1005
|
var T=this.getBaseCurrencySettlementInfo();var I=function(){
|
|
1006
1006
|
// add timestamp to logo url if it's preview mode so browser won't cache it on the dashboard setting
|
|
1007
|
-
var o=e.preview?"".concat(m,"?timestamp=").concat(Date.now()):m;return t("div",{class:"zonos--logo"},o&&t("img",{alt:"".concat(
|
|
1007
|
+
var o=e.preview?"".concat(m,"?timestamp=").concat(Date.now()):m;return t("div",{class:"zonos--logo"},o&&t("img",{alt:"".concat(se.organizationName," logo"),src:o}))};var A=le();var O=function(){var o=new URLSearchParams(window.location.search);var n=o.get("zonosQaUrl");var r=o.get("zonosDebug");var i=o.get("zonosE2ETest");var s=e.overrideStagingMode||ge();return t("zonos-v-stack",null,t("div",{class:"zonos--logo-wrapper"},I(),A&&t("zonos-badge",{badgeColor:"orange",size:"small"},ne("Test mode")),s&&t("zonos-badge",{badgeColor:"red",size:"small"},ne("Staging mode")),r==="1"&&t("zonos-badge",{badgeColor:"cyan",size:"small"},"debug"),n&&t("zonos-badge",{badgeColor:"purple",size:"small"},n),i&&t("zonos-badge",{badgeColor:"gray",size:"small"},"E2E Test")),!d&&t("zonos-checkout-progress-tabs",{backgroundColor:
|
|
1008
1008
|
// only use different contrast color when the secondary color is too off with the background in mobile
|
|
1009
|
-
e.isMobile?"--zonos-elements-gray-0":null}),S.map((function(e){return t("zonos-custom-message",{icon:
|
|
1009
|
+
e.isMobile?"--zonos-elements-gray-0":null}),S.map((function(e){return t("zonos-custom-message",{icon:Ao,message:e.message})})))};var E=function(){if(l.checkoutSessionTimeoutShow){return t("zonos-rest-state",{class:"zonos--session-timeout",restStateSubtitle:ne("Your checkout session has expired. Please reload the page to continue."),restStateTitle:ne("Session timed out"),restStateType:"Warning"},t("zonos-button",{onClick:function(){return e.reloadCheckoutSession()},variant:"primary"},ne("Reload")))}return t("div",{class:"zonos--content",style:{"--zonos--border-radius":Ae({overrideBorderStyle:g})}},l.step!=="finish"&&l.step!=="error"&&t(n,null,t("div",{class:"zonos--left","data-theme":y,style:Ee({"--zonos--primary-color":!e.isMobile?h:undefined})},!e.isMobile&&O(),l.step==="customer-info"&&t("zonos-customer-info",{continueLoading:e.submitLoading,defaultAddress:e.getDefaultAddress(),isMobile:e.isMobile,onContinueClicked:function(){return e.handleCustomerInfoContinue()},submitBtnColor:b}),l.step==="shipping"&&t("zonos-shipping",{continueLoading:e.submitLoading,isMobile:e.isMobile,onContinueClicked:function(){return e.handleShippingContinue()},submitBtnColor:b}),l.step==="payment"&&t("zonos-checkout-payment",{continueLoading:e.submitLoading,isMobile:e.isMobile,onContinueClicked:function(){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4/*yield*/,this.handleStripePaymentContinue()];case 1:e.sent();return[2/*return*/]}}))}))},submitBtnColor:b})),t("div",{class:"zonos--right","data-theme":w},e.isMobile&&O(),t("div",{class:"zonos--right-actions"},window.Zonos.showBaseForeign&&t("zonos-currency-toggle",null),!e.isLegacyCheckout&&t("zonos-button",{class:"zonos--close-button",icon:t("zonos-icon",{"aria-label":"Close checkout dialog",content:Be}),noBackground:true,onClick:function(){return e.closeDialogHandler()}})),t("div",{class:"flex--wrapper"},t("div",{class:"zonos--wrapper"},t("zonos-review",{collapsed:e.collapseReviewMobile,mobile:e.isMobile,onClick:function(){
|
|
1010
1010
|
// do nothing if it's not mobile
|
|
1011
1011
|
if(!e.isMobile){return}e.collapseReviewMobile=!e.collapseReviewMobile}}),t("zonos-collapse",{
|
|
1012
1012
|
// only collapsible on mobile
|
|
1013
|
-
collapsed:e.collapseReviewMobile&&e.isMobile},t("zonos-cart-items",null),e.isMobile&&t("zonos-v-stack",{spacing:16},t("zonos-cart-subtotal",{submitBtnColor:b}),t("zonos-custom-message",{class:"zonos--checkout-default-message",icon:
|
|
1013
|
+
collapsed:e.collapseReviewMobile&&e.isMobile},t("zonos-cart-items",null),e.isMobile&&t("zonos-v-stack",{spacing:16},t("zonos-cart-subtotal",{submitBtnColor:b}),t("zonos-custom-message",{class:"zonos--checkout-default-message",icon:Ao,message:C})))),t("zonos-cart-restricted-items",null),!e.isMobile&&t("zonos-v-stack",{spacing:16},t("zonos-cart-subtotal",null),t("zonos-custom-message",{class:"zonos--checkout-default-message",icon:Ao,message:C}))))),(l.step==="finish"||l.step==="error")&&t("div",{class:"zonos--done","data-theme":w},t("div",{class:"zonos--header"},I(),!e.isRedirectAfterOrder&&t("zonos-button",{class:"zonos--close-button",icon:t("zonos-icon",{"aria-label":"Close checkout dialog",content:Be}),noBackground:true,onClick:function(){return e.handleFinishClick()},theme:w})),t("zonos-checkout-finish",{borderRadius:g,onCloseClick:function(){return e.handleFinishClick()},overrideNotification:l.step==="error"&&!!l.error?Object.assign(Object.assign({},l.error),{type:"error"}):undefined,storybookForceStatus:e.storybookPaymentStatusOverride})),t("zonos-checkout-footer",{"data-theme":w,mobile:e.isMobile,
|
|
1014
1014
|
/**
|
|
1015
1015
|
* For this component, use slot instead of passing JSX through prop of other component. Because
|
|
1016
1016
|
* the click outside event will be triggered on and targeted to whichever component that it's attached to.
|
|
1017
1017
|
* Move it into <slot /> would resolve the issue.
|
|
1018
1018
|
*/
|
|
1019
|
-
slot:!e.isMobile?"dialog-footer":undefined}))};return t(r,{class:
|
|
1019
|
+
slot:!e.isMobile?"dialog-footer":undefined}))};return t(r,{class:Te(["zonos--checkout zonos--elements",l.step==="payment"&&"zonos--processing-payment",p&&"has-footer",this.preview&&"preview",this.isMobile&&"mobile",this.isIframed&&"iframed",this.hiddenMode&&"hidden-mode"])},this.preview?E():t("zonos-dialog",{borderStyle:g,class:"zonos--checkout-dialog","data-theme":w,height:"980px",isLoading:u,mobile:this.isMobile,noBodyPadding:true,noBorder:true,noClickOutside:true,noCloseButton:true,onCloseDialog:function(){return e.closeDialogHandler()},open:this.open,width:"1200px"},E()),t("zonos-dialog",{isLoading:true,loadingText:ne("You will be redirected to international checkout shortly."),loadingTitle:ne("We detected that you are shipping to an international address."),noClickOutside:true,noCloseButton:true,open:this.detectedDomesticCheckoutDialogOpen,width:"450px"}),t("zonos-dialog",{isLoading:true,loadingText:ne("You will be redirected to domestic checkout shortly."),loadingTitle:ne("We detected that you are shipping to a domestic address."),noClickOutside:true,noCloseButton:true,open:this.redirectToDomesticCheckoutDialogOpen,width:"450px"}),t("zonos-confirm-dialog",{class:"zonos--logged-in-intl-address-dialog",dialogCancelBtnText:ne("Stay on this page"),dialogConfirmBtnText:ne("Continue to international checkout"),dialogIntent:"info",dialogOpen:this.loggedInIntlAddressConfirmDialogOpen,dialogSubtitle:ne("Your selected address ships internationally. Would you like to continue to international checkout, or stay here and select a domestic address?"),dialogTitle:ne("International shipping address detected"),dialogWidth:480,onCancelClicked:function(){var o;e.loggedInIntlAddressConfirmDialogOpen=false;(o=e.loggedInIntlAddressResolver)===null||o===void 0?void 0:o.call(e,"stay");e.loggedInIntlAddressResolver=null},onConfirmClicked:function(){var o;e.loggedInIntlAddressConfirmDialogOpen=false;(o=e.loggedInIntlAddressResolver)===null||o===void 0?void 0:o.call(e,"redirect");e.loggedInIntlAddressResolver=null}}),t("zonos-confirm-dialog",{class:"zonos--close-confirm-dialog",dialogCancelBtnText:ne("Don't close"),dialogConfirmBtnText:ne("Close"),dialogIntent:"warn",dialogOpen:this.confirmDialogOpen,dialogSubtitle:ne("Would you like to close checkout and return to the site?"),dialogTitle:ne("Are you sure?"),onCancelClicked:function(){e.confirmDialogOpen=false},
|
|
1020
1020
|
// Mark user selected confirm to close the dialog
|
|
1021
|
-
onConfirmClicked:function(){return e.closeDialogHandler({confirmed:true})}}),t("zonos-confirm-dialog",{class:"zonos--order-duplication-dialog",dialogCancelBtnText:
|
|
1021
|
+
onConfirmClicked:function(){return e.closeDialogHandler({confirmed:true})}}),t("zonos-confirm-dialog",{class:"zonos--order-duplication-dialog",dialogCancelBtnText:ne("Return to merchant site"),dialogConfirmBtnText:ne("Proceed with order"),dialogIntent:"warn",dialogOpen:!!this.placedOrderInfo,dialogSubtitle:
|
|
1022
1022
|
/**
|
|
1023
1023
|
* Show order number if it's available, otherwise just show the time
|
|
1024
1024
|
*/
|
|
1025
|
-
((i=this.placedOrderInfo)===null||i===void 0?void 0:i.zonosOrderNumber)?
|
|
1025
|
+
((i=this.placedOrderInfo)===null||i===void 0?void 0:i.zonosOrderNumber)?ne("It looks like you placed an order recently ([date] at [time]) under order number #[orderNumber]. Check your email for the order confirmation. Are you sure you want to place another order?",{date:this.formatDate(this.placedOrderInfo.time),orderNumber:this.placedOrderInfo.zonosOrderNumber,time:this.formatTime(this.placedOrderInfo.time)}):ne("It looks like you placed an order recently ([date] at [time]). Check your email for the order confirmation. Are you sure you want to place another one?",{date:this.formatDate(((s=this.placedOrderInfo)===null||s===void 0?void 0:s.time)||null),time:this.formatTime(((a=this.placedOrderInfo)===null||a===void 0?void 0:a.time)||null)}),dialogTitle:ne("Are you sure?"),dialogWidth:530,onCancelClicked:function(){e.handleCancelOrderDuplication()},
|
|
1026
1026
|
// Mark user selected confirm to close the dialog
|
|
1027
1027
|
onConfirmClicked:function(){
|
|
1028
1028
|
// Reset the placed order info and close the dialog
|
|
1029
|
-
e.confirmProceedWithOrderDuplication()}}),t("zonos-confirm-dialog",{class:"zonos--fedex-shipping-dialog",dialogConfirmBtnText:
|
|
1029
|
+
e.confirmProceedWithOrderDuplication()}}),t("zonos-confirm-dialog",{class:"zonos--fedex-shipping-dialog",dialogConfirmBtnText:ne("Confirm"),dialogIntent:"info",dialogOpen:!!this.shouldShowFedexShippingConsentDialog,dialogSubtitle:t(n,null,ne("If you select FedEx Ground as your shipping option, you'll need to complete a General Agency Agreement (GAA) after placing your order. This form allows FedEx to clear your package through Canadian customs on your behalf. FedEx will contact you directly—usually by email or phone—with instructions on how to complete the GAA. To avoid delays or the return of your package, please respond promptly to their request."),t("zonos-link",{href:"https://ftn.fedex.com/us/assets/docs/One-Time_GAA.pdf",target:"_blank"},ne("View GAA Form."))),dialogTitle:ne("Fedex Shipping Procedure"),dialogType:"alert",dialogWidth:500,onConfirmClicked:function(){return e.shouldShowFedexShippingConsentDialog=false}}),t("zonos-confirm-dialog",{class:"zonos--inventory-check-failure-dialog",dialogConfirmBtnText:ne("Return to cart"),dialogIntent:"danger",
|
|
1030
1030
|
// Show dialog if inventory check error message is not null
|
|
1031
1031
|
dialogOpen:!!l.inventoryCheckErrorMessage,
|
|
1032
1032
|
// If dialog is in open state, the message should not be null
|
|
1033
|
-
dialogSubtitle:l.inventoryCheckErrorMessage,dialogTitle:
|
|
1033
|
+
dialogSubtitle:l.inventoryCheckErrorMessage,dialogTitle:ne("Couldn't place order"),dialogType:"alert",
|
|
1034
1034
|
// Mark user selected confirm to close the dialog
|
|
1035
|
-
onConfirmClicked:function(){return e.handleInventoryCheckDialogConfirm()}}),T&&t("zonos-confirm-dialog",{class:"zonos--pay-in-usd-dialog",dialogCancelBtnText:
|
|
1035
|
+
onConfirmClicked:function(){return e.handleInventoryCheckDialogConfirm()}}),T&&t("zonos-confirm-dialog",{class:"zonos--pay-in-usd-dialog",dialogCancelBtnText:ne("Cancel"),dialogConfirmBtnText:ne("Pay [orderTotal]",{orderTotal:ie({amount:T.settlementAmount,currency:"USD"})}),dialogIntent:"warn",dialogOpen:this.payInUsdConfirmDialogOpen,dialogSubtitle:ne("By paying in USD, your card will be charged directly with no currency conversion. However, using a non-USD based card may result in additional currency conversion fees at the bank level."),dialogTitle:ne("Pay in USD (United States Dollar)?"),dialogType:"confirm",dialogWidth:480,onCancelClicked:function(){e.payInUsdConfirmDialogOpen=false},
|
|
1036
1036
|
// Mark user selected confirm to continue with payment
|
|
1037
|
-
onConfirmClicked:function(){return e.handleStripePaymentContinue()}}),t("zonos-confirm-dialog",{class:"zonos--shopping-cart-expired-dialog",dialogConfirmBtnText:
|
|
1037
|
+
onConfirmClicked:function(){return e.handleStripePaymentContinue()}}),t("zonos-confirm-dialog",{class:"zonos--shopping-cart-expired-dialog",dialogConfirmBtnText:ne("OK"),dialogIntent:"danger",
|
|
1038
1038
|
// Show dialog if inventory check error message is not null
|
|
1039
1039
|
dialogOpen:this.isCartExpired,
|
|
1040
1040
|
// If dialog is in open state, the message should not be null
|
|
1041
|
-
dialogSubtitle:
|
|
1041
|
+
dialogSubtitle:ne("You are being sent back to the shop to re-add items to your cart."),dialogTitle:ne("Shopping cart expired"),dialogType:"alert",
|
|
1042
1042
|
// Mark user selected confirm to close the dialog
|
|
1043
|
-
onConfirmClicked:function(){return e.handleCartExpiredDialogConfirm()}}),t("zonos-loading-overlay",{open:this.isOverlayLoading}))};Object.defineProperty(e,"assetsDirs",{get:function(){return["assets"]},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{appearanceSettingsOverride:[{appearanceSettingsOverrideChanged:0},{handleAppearanceSettingsOverrideChange:0}],overrideStagingMode:[{overrideStagingModeChanged:0}],mobile:[{handleMobileChange:0}],defaultAddress:[{handleAddressChange:0}],customerProfile:[{handleCustomerProfileChange:0}],clientSecret:[{handleClientSecretChange:0}],stripeCustomerSessionClientSecret:[{handleClientSecretChange:0}],open:[{handleOpenChange:0}]}},enumerable:false,configurable:true});return e}());
|
|
1043
|
+
onConfirmClicked:function(){return e.handleCartExpiredDialogConfirm()}}),t("zonos-loading-overlay",{open:this.isOverlayLoading}))};Object.defineProperty(e,"assetsDirs",{get:function(){return["assets"]},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{appearanceSettingsOverride:[{appearanceSettingsOverrideChanged:0},{handleAppearanceSettingsOverrideChange:0}],overrideStagingMode:[{overrideStagingModeChanged:0}],mobile:[{handleMobileChange:0}],defaultAddress:[{handleAddressChange:0}],customerProfile:[{handleCustomerProfileChange:0}],clientSecret:[{handleClientSecretChange:0}],stripeCustomerSessionClientSecret:[{handleClientSecretChange:0}],open:[{handleOpenChange:0}]}},enumerable:false,configurable:true});return e}());Lo.style=Oo()}}}));
|