@zonos/elements 1.3.18-alpha.2 → 1.3.18-alpha.4
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/README.md +341 -96
- package/dist/cjs/{cart-941a31dd.js → cart-72b0bccc.js} +34 -85
- package/dist/cjs/index.cjs.js +628 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/logError-4e2f2020.js +58 -0
- package/dist/cjs/{submitGtag-9210b4fe.js → submitGtag-b0c8de90.js} +3 -2
- package/dist/cjs/zonos-address_8.cjs.entry.js +13 -12
- package/dist/cjs/zonos-badge_2.cjs.entry.js +3 -3
- package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
- package/dist/cjs/zonos-card_2.cjs.entry.js +7 -6
- package/dist/cjs/zonos-cart-items_11.cjs.entry.js +11 -10
- package/dist/cjs/zonos-checkout.cjs.entry.js +20 -15
- package/dist/cjs/zonos-controller.cjs.entry.js +47 -20
- package/dist/cjs/zonos-country-flag.cjs.entry.js +2 -1
- package/dist/cjs/zonos-country-select_3.cjs.entry.js +6 -5
- package/dist/cjs/zonos-elements.cjs.js +1 -1
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +2 -1
- package/dist/cjs/zonos-hello.cjs.entry.js +10 -9
- package/dist/cjs/zonos-input.cjs.entry.js +4 -4
- package/dist/cjs/zonos-link.cjs.entry.js +1 -1
- package/dist/cjs/zonos-payment.cjs.entry.js +3 -2
- package/dist/collection/__mocks__/zonos-url/index.js +1 -0
- package/dist/collection/__tests__/build-utils/urlCheckOne.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +4 -9
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +8 -4
- package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +3 -3
- package/dist/collection/components/common/zonos-badge/zonos-badge.js +3 -3
- package/dist/collection/components/common/zonos-button/zonos-button.js +3 -3
- package/dist/collection/components/common/zonos-card/zonos-card.js +3 -3
- package/dist/collection/components/common/zonos-checkbox/zonos-checkbox.js +3 -3
- package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.js +3 -3
- package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +2 -2
- package/dist/collection/components/common/zonos-confirm-dialog/zonos-confirm-dialog.js +3 -3
- package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +2 -2
- package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +2 -2
- package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +3 -3
- package/dist/collection/components/common/zonos-input/zonos-input.js +4 -4
- package/dist/collection/components/common/zonos-language-select/zonos-language-select.js +2 -2
- package/dist/collection/components/common/{component-template/zonos-link → zonos-link}/zonos-link.js +1 -1
- package/dist/collection/components/main/zonos-controller.js +41 -6
- package/dist/collection/components/stripe/zonos-address/zonos-address.js +3 -3
- package/dist/collection/components/utils/hello/setZCountryUrlParam.js +5 -1
- package/dist/collection/environment.js +0 -2
- package/dist/collection/index.js +1 -0
- package/dist/collection/scripts/_extractZonosQaUrl.js +26 -0
- package/dist/collection/scripts/_getZonosQaUrl.js +44 -0
- package/dist/collection/scripts/{loadStripe.js → _loadStripe.js} +1 -1
- package/dist/collection/scripts/{zonosBase.js → _zonosBase.js} +29 -6
- package/dist/collection/scripts/index.js +2 -0
- package/dist/collection/types/generated/graphql.customer.types.js +1 -0
- package/dist/collection/types/generated/graphql.frontend.types.js +1 -0
- package/dist/esm/{cart-cc593c2b.js → cart-1a37e002.js} +7 -56
- package/dist/esm/index.js +625 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/logError-c456c092.js +55 -0
- package/dist/esm/{submitGtag-e50f903f.js → submitGtag-754935b4.js} +2 -1
- package/dist/esm/zonos-address_8.entry.js +11 -10
- package/dist/esm/zonos-badge_2.entry.js +3 -3
- package/dist/esm/zonos-button_3.entry.js +3 -3
- package/dist/esm/zonos-card_2.entry.js +7 -6
- package/dist/esm/zonos-cart-items_11.entry.js +11 -10
- package/dist/esm/zonos-checkout.entry.js +8 -3
- package/dist/esm/zonos-controller.entry.js +30 -3
- package/dist/esm/zonos-country-flag.entry.js +2 -1
- package/dist/esm/zonos-country-select_3.entry.js +6 -5
- package/dist/esm/zonos-elements.js +1 -1
- package/dist/esm/zonos-hello-dialog.entry.js +2 -1
- package/dist/esm/zonos-hello.entry.js +2 -1
- package/dist/esm/zonos-input.entry.js +4 -4
- package/dist/esm/zonos-link.entry.js +1 -1
- package/dist/esm/zonos-payment.entry.js +2 -1
- package/dist/esm-es5/cart-1a37e002.js +1 -0
- package/dist/esm-es5/index.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/logError-c456c092.js +1 -0
- package/dist/esm-es5/submitGtag-754935b4.js +1 -0
- package/dist/esm-es5/zonos-address_8.entry.js +1 -1
- package/dist/esm-es5/zonos-badge_2.entry.js +1 -1
- package/dist/esm-es5/zonos-button_3.entry.js +1 -1
- package/dist/esm-es5/zonos-card_2.entry.js +1 -1
- package/dist/esm-es5/zonos-cart-items_11.entry.js +1 -1
- package/dist/esm-es5/zonos-checkout.entry.js +1 -1
- package/dist/esm-es5/zonos-controller.entry.js +1 -1
- package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
- package/dist/esm-es5/zonos-country-select_3.entry.js +1 -1
- package/dist/esm-es5/zonos-elements.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-input.entry.js +1 -1
- package/dist/esm-es5/zonos-link.entry.js +1 -1
- package/dist/esm-es5/zonos-payment.entry.js +1 -1
- package/dist/scripts/index.d.ts +3908 -0
- package/dist/scripts/index.js +1 -0
- package/dist/scripts/loadZonos.d.ts +3954 -0
- package/dist/scripts/loadZonos.js +1 -1
- package/dist/scripts/zonos.js +1 -1
- package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +5 -7
- package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +2 -2
- package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +2 -2
- package/dist/types/components/main/zonos-controller.d.ts +6 -1
- package/dist/types/components/store/checkout/stripe.d.ts +1 -1
- package/dist/types/components/store/zonosStore.d.ts +1 -1
- package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +2 -2
- package/dist/types/components/utils/styles.d.ts +1 -0
- package/dist/types/components.d.ts +22 -14
- package/dist/types/index.d.ts +1 -0
- package/dist/types/scripts/_extractZonosQaUrl.d.ts +11 -0
- package/dist/types/scripts/_getZonosQaUrl.d.ts +4 -0
- package/dist/types/scripts/{loadStripe.d.ts → _loadStripe.d.ts} +1 -1
- package/dist/types/scripts/{zonosBase.d.ts → _zonosBase.d.ts} +36 -2
- package/dist/types/scripts/index.d.ts +2 -0
- package/dist/types/types/checkout/CheckoutConfig.d.ts +5 -0
- package/dist/types/types/checkout/api/CalculateLandedCostRequest.d.ts +9 -0
- package/dist/types/types/generated/graphql.customer.types.d.ts +1 -0
- package/dist/types/types/generated/graphql.customer.types.ts +3 -0
- package/dist/types/types/generated/graphql.frontend.types.d.ts +1 -0
- package/dist/types/types/generated/graphql.frontend.types.ts +1 -0
- package/dist/types/types/global.d.ts +1 -1
- package/dist/zonos-elements/index.esm.js +1 -0
- package/dist/zonos-elements/p-0878369a.entry.js +1 -0
- package/dist/zonos-elements/p-0d1c06d7.entry.js +1 -0
- package/dist/zonos-elements/{p-9aab3ad7.entry.js → p-0d5b5bcc.entry.js} +1 -1
- package/dist/zonos-elements/p-1491717a.entry.js +1 -0
- package/dist/zonos-elements/p-14ff42fe.system.entry.js +1 -0
- package/dist/zonos-elements/p-2800c274.system.entry.js +1 -0
- package/dist/zonos-elements/p-2e02a76f.system.entry.js +1 -0
- package/dist/zonos-elements/{p-020a9b86.entry.js → p-3ba8838a.entry.js} +1 -1
- package/dist/zonos-elements/p-4594a125.js +1 -0
- package/dist/zonos-elements/p-483e1724.entry.js +1 -0
- package/dist/zonos-elements/{p-d0bc8902.system.entry.js → p-4f72bfee.system.entry.js} +1 -1
- package/dist/zonos-elements/p-58be220f.system.js +1 -0
- package/dist/zonos-elements/{p-9e9c318b.entry.js → p-58fc8ec1.entry.js} +1 -1
- package/dist/zonos-elements/p-63db40b9.system.js +1 -0
- package/dist/zonos-elements/p-6449c92b.js +1 -0
- package/dist/zonos-elements/p-6746455b.system.entry.js +1 -0
- package/dist/zonos-elements/{p-c20e5430.entry.js → p-6cb9812b.entry.js} +1 -1
- package/dist/zonos-elements/p-7487ef47.entry.js +1 -0
- package/dist/zonos-elements/p-7b2d367b.entry.js +1 -0
- package/dist/zonos-elements/p-9389cc42.system.entry.js +1 -0
- package/dist/zonos-elements/p-9be6c62b.system.js +1 -0
- package/dist/zonos-elements/p-9c242e4b.system.entry.js +1 -0
- package/dist/zonos-elements/p-a37796e1.entry.js +1 -0
- package/dist/zonos-elements/p-afb89d65.entry.js +1 -0
- package/dist/zonos-elements/p-bbb84165.system.entry.js +1 -0
- package/dist/zonos-elements/{p-96b8c9ba.system.entry.js → p-bdfa3705.system.entry.js} +1 -1
- package/dist/zonos-elements/p-c195e980.system.entry.js +1 -0
- package/dist/zonos-elements/p-c87c76d4.entry.js +1 -0
- package/dist/zonos-elements/p-d9011df9.entry.js +1 -0
- package/dist/zonos-elements/{p-3e26d7b3.system.entry.js → p-dda78e8e.system.entry.js} +1 -1
- package/dist/zonos-elements/p-de9e610d.system.entry.js +1 -0
- package/dist/zonos-elements/p-e0bf9666.system.js +1 -1
- package/dist/zonos-elements/p-eaa335e1.js +1 -0
- package/dist/zonos-elements/{p-e13bfbda.system.entry.js → p-ed3524ae.system.entry.js} +1 -1
- package/dist/zonos-elements/p-f5b14bab.system.js +1 -0
- package/dist/zonos-elements/p-f9a42a3c.system.entry.js +1 -0
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +4 -2
- package/dist/components/ILanguage.js +0 -24
- package/dist/components/classes.js +0 -12
- package/dist/components/containsNonLatinChars.js +0 -21
- package/dist/components/formatCurrency.js +0 -11
- package/dist/components/getBorderRadius.js +0 -18
- package/dist/components/index.d.ts +0 -33
- package/dist/components/index.js +0 -1
- package/dist/components/isCheckoutMobile.js +0 -6
- package/dist/components/isColorVariable.js +0 -14
- package/dist/components/isDarkColor.js +0 -1199
- package/dist/components/stripe.js +0 -1691
- package/dist/components/submitGtag.js +0 -19
- package/dist/components/trackConversionEvent.js +0 -37
- package/dist/components/translationStore.js +0 -5611
- package/dist/components/zonos-address-display.d.ts +0 -11
- package/dist/components/zonos-address-display.js +0 -6
- package/dist/components/zonos-address-display2.js +0 -64
- package/dist/components/zonos-address-form.d.ts +0 -11
- package/dist/components/zonos-address-form.js +0 -6
- package/dist/components/zonos-address-form2.js +0 -84
- package/dist/components/zonos-address-update-dialog.d.ts +0 -11
- package/dist/components/zonos-address-update-dialog.js +0 -6
- package/dist/components/zonos-address-update-dialog2.js +0 -264
- package/dist/components/zonos-address.d.ts +0 -11
- package/dist/components/zonos-address.js +0 -6
- package/dist/components/zonos-address2.js +0 -176
- package/dist/components/zonos-badge.d.ts +0 -11
- package/dist/components/zonos-badge.js +0 -6
- package/dist/components/zonos-badge2.js +0 -61
- package/dist/components/zonos-banner.d.ts +0 -11
- package/dist/components/zonos-banner.js +0 -6
- package/dist/components/zonos-banner2.js +0 -95
- package/dist/components/zonos-button.d.ts +0 -11
- package/dist/components/zonos-button.js +0 -6
- package/dist/components/zonos-button2.js +0 -186
- package/dist/components/zonos-card.d.ts +0 -11
- package/dist/components/zonos-card.js +0 -6
- package/dist/components/zonos-card2.js +0 -57
- package/dist/components/zonos-cart-items.d.ts +0 -11
- package/dist/components/zonos-cart-items.js +0 -6
- package/dist/components/zonos-cart-items2.js +0 -57
- package/dist/components/zonos-cart-restricted-items.d.ts +0 -11
- package/dist/components/zonos-cart-restricted-items.js +0 -6
- package/dist/components/zonos-cart-restricted-items2.js +0 -135
- package/dist/components/zonos-cart-subtotal.d.ts +0 -11
- package/dist/components/zonos-cart-subtotal.js +0 -6
- package/dist/components/zonos-cart-subtotal2.js +0 -91
- package/dist/components/zonos-checkbox.d.ts +0 -11
- package/dist/components/zonos-checkbox.js +0 -6
- package/dist/components/zonos-checkbox2.js +0 -96
- package/dist/components/zonos-checkout-finish.d.ts +0 -11
- package/dist/components/zonos-checkout-finish.js +0 -6
- package/dist/components/zonos-checkout-finish2.js +0 -246
- package/dist/components/zonos-checkout-footer.d.ts +0 -11
- package/dist/components/zonos-checkout-footer.js +0 -6
- package/dist/components/zonos-checkout-footer2.js +0 -125
- package/dist/components/zonos-checkout-payment.d.ts +0 -11
- package/dist/components/zonos-checkout-payment.js +0 -6
- package/dist/components/zonos-checkout-payment2.js +0 -104
- package/dist/components/zonos-checkout-progress-tabs.d.ts +0 -11
- package/dist/components/zonos-checkout-progress-tabs.js +0 -6
- package/dist/components/zonos-checkout-progress-tabs2.js +0 -138
- package/dist/components/zonos-checkout.d.ts +0 -11
- package/dist/components/zonos-checkout.js +0 -1051
- package/dist/components/zonos-collapse.d.ts +0 -11
- package/dist/components/zonos-collapse.js +0 -6
- package/dist/components/zonos-collapse2.js +0 -78
- package/dist/components/zonos-component.d.ts +0 -11
- package/dist/components/zonos-component.js +0 -48
- package/dist/components/zonos-confirm-dialog.d.ts +0 -11
- package/dist/components/zonos-confirm-dialog.js +0 -6
- package/dist/components/zonos-confirm-dialog2.js +0 -161
- package/dist/components/zonos-controller.d.ts +0 -11
- package/dist/components/zonos-controller.js +0 -309
- package/dist/components/zonos-country-flag.d.ts +0 -11
- package/dist/components/zonos-country-flag.js +0 -6
- package/dist/components/zonos-country-flag2.js +0 -54
- package/dist/components/zonos-country-select.d.ts +0 -11
- package/dist/components/zonos-country-select.js +0 -6
- package/dist/components/zonos-country-select2.js +0 -1891
- package/dist/components/zonos-custom-message.d.ts +0 -11
- package/dist/components/zonos-custom-message.js +0 -6
- package/dist/components/zonos-custom-message2.js +0 -72
- package/dist/components/zonos-customer-info.d.ts +0 -11
- package/dist/components/zonos-customer-info.js +0 -6
- package/dist/components/zonos-customer-info2.js +0 -316
- package/dist/components/zonos-dialog.d.ts +0 -11
- package/dist/components/zonos-dialog.js +0 -6
- package/dist/components/zonos-dialog2.js +0 -136
- package/dist/components/zonos-hello-dialog-footer.d.ts +0 -11
- package/dist/components/zonos-hello-dialog-footer.js +0 -6
- package/dist/components/zonos-hello-dialog-footer2.js +0 -83
- package/dist/components/zonos-hello-dialog.d.ts +0 -11
- package/dist/components/zonos-hello-dialog.js +0 -6
- package/dist/components/zonos-hello-dialog2.js +0 -305
- package/dist/components/zonos-hello.d.ts +0 -11
- package/dist/components/zonos-hello.js +0 -879
- package/dist/components/zonos-icon.d.ts +0 -11
- package/dist/components/zonos-icon.js +0 -6
- package/dist/components/zonos-icon2.js +0 -55
- package/dist/components/zonos-input.d.ts +0 -11
- package/dist/components/zonos-input.js +0 -6
- package/dist/components/zonos-input2.js +0 -78
- package/dist/components/zonos-language-select.d.ts +0 -11
- package/dist/components/zonos-language-select.js +0 -6
- package/dist/components/zonos-language-select2.js +0 -88
- package/dist/components/zonos-link-authentication.d.ts +0 -11
- package/dist/components/zonos-link-authentication.js +0 -6
- package/dist/components/zonos-link-authentication2.js +0 -80
- package/dist/components/zonos-link.d.ts +0 -11
- package/dist/components/zonos-link.js +0 -43
- package/dist/components/zonos-logo.d.ts +0 -11
- package/dist/components/zonos-logo.js +0 -49
- package/dist/components/zonos-notification.d.ts +0 -11
- package/dist/components/zonos-notification.js +0 -6
- package/dist/components/zonos-notification2.js +0 -92
- package/dist/components/zonos-payment.d.ts +0 -11
- package/dist/components/zonos-payment.js +0 -6
- package/dist/components/zonos-payment2.js +0 -77
- package/dist/components/zonos-review.d.ts +0 -11
- package/dist/components/zonos-review.js +0 -6
- package/dist/components/zonos-review2.js +0 -89
- package/dist/components/zonos-select-dialog-header.d.ts +0 -11
- package/dist/components/zonos-select-dialog-header.js +0 -6
- package/dist/components/zonos-select-dialog-header2.js +0 -71
- package/dist/components/zonos-shipping-rich-radio.d.ts +0 -11
- package/dist/components/zonos-shipping-rich-radio.js +0 -6
- package/dist/components/zonos-shipping-rich-radio2.js +0 -88
- package/dist/components/zonos-shipping.d.ts +0 -11
- package/dist/components/zonos-shipping.js +0 -6
- package/dist/components/zonos-shipping2.js +0 -159
- package/dist/components/zonos-spinner.d.ts +0 -11
- package/dist/components/zonos-spinner.js +0 -6
- package/dist/components/zonos-spinner2.js +0 -43
- package/dist/components/zonos-text.d.ts +0 -11
- package/dist/components/zonos-text.js +0 -6
- package/dist/components/zonos-text2.js +0 -182
- package/dist/components/zonos-tooltip.d.ts +0 -11
- package/dist/components/zonos-tooltip.js +0 -6
- package/dist/components/zonos-tooltip2.js +0 -48
- package/dist/components/zonos-v-stack.d.ts +0 -11
- package/dist/components/zonos-v-stack.js +0 -6
- package/dist/components/zonos-v-stack2.js +0 -38
- package/dist/components/zonosStore.js +0 -2881
- package/dist/esm-es5/cart-cc593c2b.js +0 -1
- package/dist/esm-es5/submitGtag-e50f903f.js +0 -1
- package/dist/scripts/checkIfLoadVersionDomain.js +0 -1
- package/dist/scripts/extractZonosQaUrl.js +0 -1
- package/dist/scripts/getTempCartById.js +0 -1
- package/dist/scripts/loadStripe.js +0 -1
- package/dist/scripts/stripe.js +0 -1
- package/dist/scripts/zonosBase.js +0 -1
- package/dist/zonos-elements/p-04030a48.entry.js +0 -1
- package/dist/zonos-elements/p-0e892292.entry.js +0 -1
- package/dist/zonos-elements/p-0fac99e7.entry.js +0 -1
- package/dist/zonos-elements/p-1795c760.system.entry.js +0 -1
- package/dist/zonos-elements/p-24ac1c6f.entry.js +0 -1
- package/dist/zonos-elements/p-26a60a6e.entry.js +0 -1
- package/dist/zonos-elements/p-32744531.entry.js +0 -1
- package/dist/zonos-elements/p-35ac375a.system.entry.js +0 -1
- package/dist/zonos-elements/p-3bc88c3c.system.entry.js +0 -1
- package/dist/zonos-elements/p-4caaaaeb.system.entry.js +0 -1
- package/dist/zonos-elements/p-50ea2036.system.js +0 -1
- package/dist/zonos-elements/p-5e783394.entry.js +0 -1
- package/dist/zonos-elements/p-6366e7e3.entry.js +0 -1
- package/dist/zonos-elements/p-7c8ee4b9.system.entry.js +0 -1
- package/dist/zonos-elements/p-80ea85b8.entry.js +0 -1
- package/dist/zonos-elements/p-8da16d53.system.js +0 -1
- package/dist/zonos-elements/p-98a0b694.system.entry.js +0 -1
- package/dist/zonos-elements/p-b98cdf39.system.entry.js +0 -1
- package/dist/zonos-elements/p-d7b8c1c1.system.entry.js +0 -1
- package/dist/zonos-elements/p-dd0fd351.entry.js +0 -1
- package/dist/zonos-elements/p-e015cb0e.js +0 -1
- package/dist/zonos-elements/p-e1fbd05d.system.entry.js +0 -1
- package/dist/zonos-elements/p-e553dd19.js +0 -1
- package/dist/zonos-elements/p-e6fa0ebc.system.js +0 -1
- package/dist/zonos-elements/p-f6546bf4.system.entry.js +0 -1
- /package/dist/collection/components/common/{component-template/zonos-link → zonos-link}/zonos-link.css +0 -0
- /package/dist/collection/scripts/{checkIfLoadVersionDomain.js → _checkIfLoadVersionDomain.js} +0 -0
- /package/dist/collection/scripts/{stripe.js → _stripe.js} +0 -0
- /package/dist/types/components/common/{component-template/zonos-link → zonos-link}/zonos-link.d.ts +0 -0
- /package/dist/types/scripts/{checkIfLoadVersionDomain.d.ts → _checkIfLoadVersionDomain.d.ts} +0 -0
- /package/dist/types/scripts/{stripe.d.ts → _stripe.d.ts} +0 -0
|
@@ -1,1051 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host, Fragment } from '@stencil/core/internal/client';
|
|
2
|
-
import { a as localizationStore, d as log, e as stripeStoreGetDomesticShippingSession, f as localizationStoreUpdateSelectedCountryCode, g as stripeStoreCleanupDomesticShippingSession, l as logError, h as stripeStoreSaveDomesticShippingSession, i as initStripeElements, c as cartStore, j as cartStoreUpdateItems, k as cartStoreReset, m as cartStoreResetTabItems, s as stripeStore, n as stripeStoreInitCheckoutSession, o as cartStoreUpdateToErrorState, p as stripeStorePrefetchLandedCost, q as cartStoreNextStep, r as stripeStoreConfirmPayment, t as stripeStoreReset, u as localizationStoreOnUpdate } from './stripe.js';
|
|
3
|
-
import { a as translate } from './translationStore.js';
|
|
4
|
-
import { z as zonosStore, g as getZonosStoreTheme, m as mergeConfig } from './zonosStore.js';
|
|
5
|
-
import { t as trackConversionEvent } from './trackConversionEvent.js';
|
|
6
|
-
import { i as isCheckoutMobile } from './isCheckoutMobile.js';
|
|
7
|
-
import { c as createCustomEvent, s as sendErrorLog, d as defineCustomElement$o } from './zonos-checkout-finish2.js';
|
|
8
|
-
import { c as classes } from './classes.js';
|
|
9
|
-
import { g as getBorderRadius } from './getBorderRadius.js';
|
|
10
|
-
import { i as isDarkColor } from './isDarkColor.js';
|
|
11
|
-
import { s as submitGtag } from './submitGtag.js';
|
|
12
|
-
import { R as RemoveIcon, d as defineCustomElement$x } from './zonos-address-update-dialog2.js';
|
|
13
|
-
import { d as defineCustomElement$A } from './zonos-address2.js';
|
|
14
|
-
import { d as defineCustomElement$z } from './zonos-address-display2.js';
|
|
15
|
-
import { d as defineCustomElement$y } from './zonos-address-form2.js';
|
|
16
|
-
import { d as defineCustomElement$w } from './zonos-badge2.js';
|
|
17
|
-
import { d as defineCustomElement$v } from './zonos-banner2.js';
|
|
18
|
-
import { d as defineCustomElement$u } from './zonos-button2.js';
|
|
19
|
-
import { d as defineCustomElement$t } from './zonos-card2.js';
|
|
20
|
-
import { d as defineCustomElement$s } from './zonos-cart-items2.js';
|
|
21
|
-
import { d as defineCustomElement$r } from './zonos-cart-restricted-items2.js';
|
|
22
|
-
import { d as defineCustomElement$q } from './zonos-cart-subtotal2.js';
|
|
23
|
-
import { d as defineCustomElement$p } from './zonos-checkbox2.js';
|
|
24
|
-
import { d as defineCustomElement$n } from './zonos-checkout-footer2.js';
|
|
25
|
-
import { d as defineCustomElement$m } from './zonos-checkout-payment2.js';
|
|
26
|
-
import { d as defineCustomElement$l } from './zonos-checkout-progress-tabs2.js';
|
|
27
|
-
import { d as defineCustomElement$k } from './zonos-collapse2.js';
|
|
28
|
-
import { d as defineCustomElement$j } from './zonos-confirm-dialog2.js';
|
|
29
|
-
import { d as defineCustomElement$i } from './zonos-country-flag2.js';
|
|
30
|
-
import { d as defineCustomElement$h } from './zonos-custom-message2.js';
|
|
31
|
-
import { d as defineCustomElement$g } from './zonos-customer-info2.js';
|
|
32
|
-
import { d as defineCustomElement$f } from './zonos-dialog2.js';
|
|
33
|
-
import { d as defineCustomElement$e } from './zonos-icon2.js';
|
|
34
|
-
import { d as defineCustomElement$d } from './zonos-input2.js';
|
|
35
|
-
import { d as defineCustomElement$c } from './zonos-language-select2.js';
|
|
36
|
-
import { d as defineCustomElement$b } from './zonos-link-authentication2.js';
|
|
37
|
-
import { d as defineCustomElement$a } from './zonos-payment2.js';
|
|
38
|
-
import { d as defineCustomElement$9 } from './zonos-review2.js';
|
|
39
|
-
import { d as defineCustomElement$8 } from './zonos-select-dialog-header2.js';
|
|
40
|
-
import { d as defineCustomElement$7 } from './zonos-shipping2.js';
|
|
41
|
-
import { d as defineCustomElement$6 } from './zonos-shipping-rich-radio2.js';
|
|
42
|
-
import { d as defineCustomElement$5 } from './zonos-spinner2.js';
|
|
43
|
-
import { d as defineCustomElement$4 } from './zonos-text2.js';
|
|
44
|
-
import { d as defineCustomElement$3 } from './zonos-tooltip2.js';
|
|
45
|
-
import { d as defineCustomElement$2 } from './zonos-v-stack2.js';
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* This is just function to make the key typesafe to enter
|
|
49
|
-
* @returns
|
|
50
|
-
*/
|
|
51
|
-
const objAttribute = ({ key, value, }) => value
|
|
52
|
-
? {
|
|
53
|
-
key,
|
|
54
|
-
value,
|
|
55
|
-
}
|
|
56
|
-
: null;
|
|
57
|
-
/**
|
|
58
|
-
* Map legacy item attribute to dgs item attributes
|
|
59
|
-
* @ref https://github.com/Zonos/ShippingQuoteService/blob/f8bd4f1ff41cb34b49b9f3f435576ec28dedf906/src/main/java/com/iglobal/services/shippingquote/dto/ShippingQuoteRequestDto.java#L412
|
|
60
|
-
*/
|
|
61
|
-
const getAttributes = (item) => {
|
|
62
|
-
return [
|
|
63
|
-
objAttribute({
|
|
64
|
-
key: 'brand',
|
|
65
|
-
value: item.itemBrand,
|
|
66
|
-
}),
|
|
67
|
-
objAttribute({
|
|
68
|
-
key: 'material',
|
|
69
|
-
value: item.itemMaterial,
|
|
70
|
-
}),
|
|
71
|
-
objAttribute({
|
|
72
|
-
key: 'category',
|
|
73
|
-
value: item.itemCategory,
|
|
74
|
-
}),
|
|
75
|
-
objAttribute({
|
|
76
|
-
key: 'color',
|
|
77
|
-
value: item.itemColor,
|
|
78
|
-
}),
|
|
79
|
-
objAttribute({
|
|
80
|
-
key: 'customization',
|
|
81
|
-
value: item.itemCustomization,
|
|
82
|
-
}),
|
|
83
|
-
objAttribute({
|
|
84
|
-
key: 'descriptionDetailed',
|
|
85
|
-
value: item.itemDescriptionDetailed,
|
|
86
|
-
}),
|
|
87
|
-
objAttribute({
|
|
88
|
-
key: 'fabricContent',
|
|
89
|
-
value: item.itemFabricContent,
|
|
90
|
-
}),
|
|
91
|
-
objAttribute({
|
|
92
|
-
key: 'ltlClass',
|
|
93
|
-
value: item.itemLtlClass,
|
|
94
|
-
}),
|
|
95
|
-
objAttribute({
|
|
96
|
-
key: 'pickingLocation',
|
|
97
|
-
value: item.itemPickingLocation,
|
|
98
|
-
}),
|
|
99
|
-
objAttribute({
|
|
100
|
-
key: 'shipFromLocation',
|
|
101
|
-
value: item.itemShipFromLocation,
|
|
102
|
-
}),
|
|
103
|
-
objAttribute({
|
|
104
|
-
key: 'size',
|
|
105
|
-
value: item.itemSize,
|
|
106
|
-
}),
|
|
107
|
-
objAttribute({
|
|
108
|
-
key: 'status',
|
|
109
|
-
value: item.status,
|
|
110
|
-
}),
|
|
111
|
-
].filter(Boolean);
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Map legacy weight units with dgs
|
|
116
|
-
* @ref https://github.com/Zonos/ShippingQuoteService/blob/f8bd4f1ff41cb34b49b9f3f435576ec28dedf906/src/main/java/com/iglobal/services/shippingquote/dto/ShippingQuoteRequestDto.java#L483
|
|
117
|
-
*/
|
|
118
|
-
const getItemWeightUnit = (weightUnit) => {
|
|
119
|
-
if (!weightUnit) {
|
|
120
|
-
return 'POUND';
|
|
121
|
-
}
|
|
122
|
-
switch (weightUnit.toUpperCase()) {
|
|
123
|
-
case 'KG':
|
|
124
|
-
return 'KILOGRAM';
|
|
125
|
-
case 'OZ':
|
|
126
|
-
return 'OUNCE';
|
|
127
|
-
case 'G':
|
|
128
|
-
return 'GRAM';
|
|
129
|
-
default:
|
|
130
|
-
return 'POUND';
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* Mapping legacy measurement with dgs
|
|
135
|
-
* @ref https://github.com/Zonos/ShippingQuoteService/blob/f8bd4f1ff41cb34b49b9f3f435576ec28dedf906/src/main/java/com/iglobal/services/shippingquote/dto/ShippingQuoteRequestDto.java#L441
|
|
136
|
-
*/
|
|
137
|
-
const getMeasurements = (item) => {
|
|
138
|
-
if (!item) {
|
|
139
|
-
return [];
|
|
140
|
-
}
|
|
141
|
-
const measurements = [];
|
|
142
|
-
if (item.length) {
|
|
143
|
-
measurements.push({
|
|
144
|
-
type: 'LENGTH',
|
|
145
|
-
unitOfMeasure: 'INCH',
|
|
146
|
-
value: item.length,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
if (item.width) {
|
|
150
|
-
measurements.push({
|
|
151
|
-
type: 'WIDTH',
|
|
152
|
-
unitOfMeasure: 'INCH',
|
|
153
|
-
value: item.width,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
if (item.weight) {
|
|
157
|
-
measurements.push({
|
|
158
|
-
type: 'WEIGHT',
|
|
159
|
-
unitOfMeasure: getItemWeightUnit(item.weightUnits),
|
|
160
|
-
value: item.weight,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
if (item.height) {
|
|
164
|
-
measurements.push({
|
|
165
|
-
type: 'HEIGHT',
|
|
166
|
-
unitOfMeasure: 'INCH',
|
|
167
|
-
value: item.height,
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
return measurements;
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Map the items from tempCart like how we do it in dgs
|
|
175
|
-
* @ref https://github.com/Zonos/ShippingQuoteService/blob/f8bd4f1ff41cb34b49b9f3f435576ec28dedf906/src/main/java/com/iglobal/services/shippingquote/dto/ShippingQuoteRequestDto.java#L393
|
|
176
|
-
*/
|
|
177
|
-
const buildCartItemsByTempCart = (tempCartData) => {
|
|
178
|
-
var _a;
|
|
179
|
-
const tempCartItems = ((_a = tempCartData === null || tempCartData === void 0 ? void 0 : tempCartData.items) === null || _a === void 0 ? void 0 : _a.map(item => ({
|
|
180
|
-
amount: item.unitPrice || 0,
|
|
181
|
-
attributes: getAttributes(item),
|
|
182
|
-
countryOfOrigin: item.countryOfOrigin || undefined,
|
|
183
|
-
currencyCode: 'USD',
|
|
184
|
-
description: item.itemDescriptionLong || '',
|
|
185
|
-
imageUrl: item.imageURL || '',
|
|
186
|
-
itemType: 'PHYSICAL_GOOD',
|
|
187
|
-
measurements: getMeasurements(item),
|
|
188
|
-
name: item.description || '',
|
|
189
|
-
productId: item.productId || '',
|
|
190
|
-
quantity: item.quantity || 0,
|
|
191
|
-
sku: item.sku || '',
|
|
192
|
-
}))) || [];
|
|
193
|
-
return tempCartItems;
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
const isShippableCountry = (showLog = true) => {
|
|
197
|
-
if (!localizationStore.localizationLoaded) {
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
// if localization is loaded and the localization is not a shippable country, keep the original click event
|
|
201
|
-
if (!localizationStore.isShippableCountry) {
|
|
202
|
-
document.dispatchEvent(createCustomEvent('legacyCheckoutError', 'Unable to initiate checkout process in a country where shipping is not available'));
|
|
203
|
-
if (showLog) {
|
|
204
|
-
log(`Checkout: not shippable country`);
|
|
205
|
-
}
|
|
206
|
-
return false;
|
|
207
|
-
}
|
|
208
|
-
return true;
|
|
209
|
-
};
|
|
210
|
-
|
|
211
|
-
/**
|
|
212
|
-
* Watch for changes in domestic checkout step, this is to redirect user to home page and open checkout if user enters the ship to country that's in the shipping zone
|
|
213
|
-
* @note Only works on default bigcommerce checkout page
|
|
214
|
-
*/
|
|
215
|
-
const watchBigcommerceDomesticCheckout = ({ domesticRedirectedBtnSelector, onShippingAddressSessionFound, }) => {
|
|
216
|
-
if (!window.Zonos.isBigCommerce) {
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
const observer = new MutationObserver(async () => {
|
|
220
|
-
const domesticRedirectedButton = document.querySelector(domesticRedirectedBtnSelector);
|
|
221
|
-
const shippingAddressSession = stripeStoreGetDomesticShippingSession();
|
|
222
|
-
// append a hidden button to the body if the shipping address session is found
|
|
223
|
-
if (!domesticRedirectedButton && shippingAddressSession) {
|
|
224
|
-
// create a hidden button to trigger the click event
|
|
225
|
-
const button = document.createElement('button');
|
|
226
|
-
button.style.display = 'none';
|
|
227
|
-
button.id = 'zonos--domestic-redirected-checkout-button';
|
|
228
|
-
document.body.appendChild(button);
|
|
229
|
-
onShippingAddressSessionFound === null || onShippingAddressSessionFound === void 0 ? void 0 : onShippingAddressSessionFound(shippingAddressSession);
|
|
230
|
-
// disconnect the observer after we found the shipping continue button
|
|
231
|
-
observer.disconnect();
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
const shipToCountryElement = document.querySelector('select[name="shippingAddress.countryCode"]');
|
|
235
|
-
// make sure the continue button is available
|
|
236
|
-
const shippingCountinueBtnEle = document.querySelector('#checkout-shipping-continue');
|
|
237
|
-
if (!shipToCountryElement || !shippingCountinueBtnEle) {
|
|
238
|
-
// do nothing if shipping country and the continue button is not found
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
// disconnect the observer after we found the shipping continue button
|
|
242
|
-
observer.disconnect();
|
|
243
|
-
shippingCountinueBtnEle.addEventListener('click', async (e) => {
|
|
244
|
-
var _a, _b;
|
|
245
|
-
const shippingCountry = shipToCountryElement.value;
|
|
246
|
-
if (!shippingCountry) {
|
|
247
|
-
// do nothing if shipping country is not found
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
// update the country code in localization store and check if it's shippable
|
|
251
|
-
localizationStoreUpdateSelectedCountryCode(shippingCountry);
|
|
252
|
-
// do nothing if the country is still domestic
|
|
253
|
-
if (!isShippableCountry(false)) {
|
|
254
|
-
// cleanup the domestic shipping session if it's domestic because we will open the intl checkout after redirecting
|
|
255
|
-
stripeStoreCleanupDomesticShippingSession();
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
|
-
// get value of shipping address state
|
|
259
|
-
const shipToFormElement = document.querySelector('form');
|
|
260
|
-
if (!shipToFormElement) {
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
|
-
const formData = new FormData(shipToFormElement);
|
|
264
|
-
const shipAddress1Element = document.querySelector('input#addressLine1Input');
|
|
265
|
-
const shippingAddress = {
|
|
266
|
-
address1: (_a = formData.get('shippingAddress.address1')) !== null && _a !== void 0 ? _a :
|
|
267
|
-
// in Canada, the address1 is not included in the form, try to get value from input id instead.
|
|
268
|
-
(shipAddress1Element && shipAddress1Element.value),
|
|
269
|
-
address2: formData.get('shippingAddress.address2'),
|
|
270
|
-
city: formData.get('shippingAddress.city'),
|
|
271
|
-
countryCode: formData.get('shippingAddress.countryCode'),
|
|
272
|
-
firstName: formData.get('shippingAddress.firstName'),
|
|
273
|
-
lastName: formData.get('shippingAddress.lastName'),
|
|
274
|
-
phone: formData.get('shippingAddress.phone'),
|
|
275
|
-
postalCode: formData.get('shippingAddress.postalCode'),
|
|
276
|
-
stateOrProvince: (_b = formData.get('shippingAddress.stateOrProvince')) !== null && _b !== void 0 ? _b : formData.get('shippingAddress.stateOrProvinceCode'),
|
|
277
|
-
};
|
|
278
|
-
if (Object.values(shippingAddress).some(value => value === undefined || value === null)) {
|
|
279
|
-
logError('One or more shipping address field is missing', Object.entries(shippingAddress));
|
|
280
|
-
void sendErrorLog({
|
|
281
|
-
endpoint: 'No endpoint, domestic checkout form missing fields',
|
|
282
|
-
errors: [
|
|
283
|
-
'Bigcommerce: One or more shipping address field is missing in the domestic checkout form',
|
|
284
|
-
JSON.stringify(Object.entries(shippingAddress)),
|
|
285
|
-
],
|
|
286
|
-
metadata: {
|
|
287
|
-
domain: window.location.hostname,
|
|
288
|
-
storeId: zonosStore.storeId,
|
|
289
|
-
},
|
|
290
|
-
});
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
|
-
// save the shipping address to session storage
|
|
294
|
-
stripeStoreSaveDomesticShippingSession({
|
|
295
|
-
address1: shippingAddress.address1,
|
|
296
|
-
address2: shippingAddress.address2,
|
|
297
|
-
city: shippingAddress.city,
|
|
298
|
-
countryCode: shippingAddress.countryCode,
|
|
299
|
-
firstName: shippingAddress.firstName,
|
|
300
|
-
lastName: shippingAddress.lastName,
|
|
301
|
-
phone: shippingAddress.phone,
|
|
302
|
-
postalCode: shippingAddress.postalCode,
|
|
303
|
-
state: shippingAddress.stateOrProvince,
|
|
304
|
-
});
|
|
305
|
-
e.preventDefault();
|
|
306
|
-
e.stopPropagation();
|
|
307
|
-
// redirect to home page, home page then will open the checkout dialog if having domestic shipping session
|
|
308
|
-
window.location.href = '/';
|
|
309
|
-
});
|
|
310
|
-
});
|
|
311
|
-
observer.observe(document.body, {
|
|
312
|
-
childList: true,
|
|
313
|
-
subtree: true,
|
|
314
|
-
});
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
const MessageIcon = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="https://www.w3.org/2000/svg">
|
|
318
|
-
<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"/>
|
|
319
|
-
</svg>
|
|
320
|
-
`;
|
|
321
|
-
|
|
322
|
-
const zonosCheckoutCss = ".sc-zonos-checkout-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-h *.sc-zonos-checkout{font-family:var(--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 *.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(--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(--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--header.sc-zonos-checkout img.sc-zonos-checkout{width:150px;min-width:150px}.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}.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--close-button.sc-zonos-checkout{position:absolute;right:24px;top:24px;z-index:2}.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.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:76px;margin-bottom:8px}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto}.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}.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(--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}";
|
|
323
|
-
const ZonosCheckoutStyle0 = zonosCheckoutCss;
|
|
324
|
-
|
|
325
|
-
const ZonosCheckout$1 = /*@__PURE__*/ proxyCustomElement(class ZonosCheckout extends HTMLElement {
|
|
326
|
-
constructor() {
|
|
327
|
-
super();
|
|
328
|
-
this.__registerHost();
|
|
329
|
-
/**
|
|
330
|
-
* Listener for locale change in localization store
|
|
331
|
-
*/
|
|
332
|
-
this.onChangeLocaleListener = () => { };
|
|
333
|
-
this.applyStripeTheme = async () => {
|
|
334
|
-
var _a, _b, _c, _d;
|
|
335
|
-
const theme = ((_a = this.appearanceSettingsOverride) === null || _a === void 0 ? void 0 : _a.theme) || zonosStore.appearance.theme;
|
|
336
|
-
await initStripeElements({
|
|
337
|
-
overrideBorderRaidus: (_b = this.appearanceSettingsOverride) === null || _b === void 0 ? void 0 : _b.style,
|
|
338
|
-
overridePrimaryColor: (_c = this.appearanceSettingsOverride) === null || _c === void 0 ? void 0 : _c.colorPrimary,
|
|
339
|
-
overrideSecondaryColor: (_d = this.appearanceSettingsOverride) === null || _d === void 0 ? void 0 : _d.colorSecondary,
|
|
340
|
-
// only override theme or theme from appearance if it's mobile
|
|
341
|
-
overrideTheme: this.isMobile ? theme : undefined,
|
|
342
|
-
});
|
|
343
|
-
};
|
|
344
|
-
this.getCurrentLocalePageEnum = () => {
|
|
345
|
-
switch (cartStore.step) {
|
|
346
|
-
case 'customer-info':
|
|
347
|
-
return 'checkout_customer_info';
|
|
348
|
-
case 'shipping':
|
|
349
|
-
return 'checkout_shipping_info';
|
|
350
|
-
case 'payment':
|
|
351
|
-
return 'checkout_payment_info';
|
|
352
|
-
default:
|
|
353
|
-
return null;
|
|
354
|
-
}
|
|
355
|
-
};
|
|
356
|
-
this.appearanceSettingsOverride = undefined;
|
|
357
|
-
this.preview = false;
|
|
358
|
-
this.mobile = false;
|
|
359
|
-
this.defaultAddress = null;
|
|
360
|
-
this.forceDialogOpen = false;
|
|
361
|
-
this.open = this.forceDialogOpen;
|
|
362
|
-
this.stripe = window.Zonos.stripe;
|
|
363
|
-
this.submitLoading = false;
|
|
364
|
-
this.paymentError = false;
|
|
365
|
-
this.collapseReviewMobile = true;
|
|
366
|
-
this.isAttachError = false;
|
|
367
|
-
this.isMobile = false;
|
|
368
|
-
this.zonosReviewRef = undefined;
|
|
369
|
-
this.storybookPaymentStatusOverride = undefined;
|
|
370
|
-
this.domesticRedirectedBtnSelector = '#zonos--domestic-redirected-checkout-button';
|
|
371
|
-
this.legacyCheckoutHiddenBtnSelector = '#legacy-checkout-hidden-button';
|
|
372
|
-
this.isLegacyCheckout = false;
|
|
373
|
-
this.confirmDialogOpen = false;
|
|
374
|
-
}
|
|
375
|
-
/**
|
|
376
|
-
* Init cart info handler event
|
|
377
|
-
*/
|
|
378
|
-
async initCartInfoHandler(e) {
|
|
379
|
-
const cartItems = e.detail;
|
|
380
|
-
void cartStoreUpdateItems(cartItems);
|
|
381
|
-
}
|
|
382
|
-
async handleKeyPress(e) {
|
|
383
|
-
if (e.key === 'Escape') {
|
|
384
|
-
void this.closeDialogHandler();
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* Close dialog action
|
|
389
|
-
*/
|
|
390
|
-
async closeDialogHandler(props) {
|
|
391
|
-
var _a, _b;
|
|
392
|
-
if (!this.open) {
|
|
393
|
-
// Do nothing if the checkout is not even open
|
|
394
|
-
return;
|
|
395
|
-
}
|
|
396
|
-
// Only proceed when user select confirmed.
|
|
397
|
-
if (!(props === null || props === void 0 ? void 0 : props.confirmed)) {
|
|
398
|
-
this.confirmDialogOpen = true;
|
|
399
|
-
return;
|
|
400
|
-
}
|
|
401
|
-
// Close the confirm dialog
|
|
402
|
-
this.confirmDialogOpen = false;
|
|
403
|
-
submitGtag('zonos-checkout-close');
|
|
404
|
-
this.open = this.forceDialogOpen || false;
|
|
405
|
-
if (!this.preview && cartStore.step === 'finish') {
|
|
406
|
-
// reset cart store if it's not preview mode and only when checkout is in the finish step.
|
|
407
|
-
cartStoreReset();
|
|
408
|
-
}
|
|
409
|
-
// reset step to customer info
|
|
410
|
-
cartStore.step = 'customer-info';
|
|
411
|
-
// reset the tab item, so that user needs to click on Continue button to re-quote the landed cost if needed.
|
|
412
|
-
cartStoreResetTabItems();
|
|
413
|
-
/**
|
|
414
|
-
* Trigger callback when the checkout is closed
|
|
415
|
-
*/
|
|
416
|
-
(_b = (_a = zonosStore.checkoutSettings).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
417
|
-
}
|
|
418
|
-
async buildCartAndInit() {
|
|
419
|
-
// if tempCartUUID is provided, use it instead of buildCartDetail
|
|
420
|
-
if (window.Zonos.tempCartData) {
|
|
421
|
-
const tempCartData = buildCartItemsByTempCart(window.Zonos.tempCartData);
|
|
422
|
-
await cartStoreUpdateItems(tempCartData);
|
|
423
|
-
}
|
|
424
|
-
else if (zonosStore.checkoutSettings.buildCartDetail) {
|
|
425
|
-
log('build cart detail');
|
|
426
|
-
const cartItems = await zonosStore.checkoutSettings.buildCartDetail();
|
|
427
|
-
await cartStoreUpdateItems(cartItems);
|
|
428
|
-
}
|
|
429
|
-
// if client secret doesn't exist, request a new one.
|
|
430
|
-
if (!stripeStore.clientSecret) {
|
|
431
|
-
const success = await stripeStoreInitCheckoutSession();
|
|
432
|
-
log(`stripeStoreInitCheckoutSession: ${success}`);
|
|
433
|
-
if (!success) {
|
|
434
|
-
return false;
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
// apply theme to stripe elements
|
|
438
|
-
await this.applyStripeTheme();
|
|
439
|
-
return true;
|
|
440
|
-
}
|
|
441
|
-
attachCheckout() {
|
|
442
|
-
const buttonAnchorSelector = zonosStore.checkoutSettings.placeOrderButtonSelector;
|
|
443
|
-
log(`attach checkout ${buttonAnchorSelector}`);
|
|
444
|
-
if (!buttonAnchorSelector) {
|
|
445
|
-
// do nothing if button element is not found
|
|
446
|
-
return;
|
|
447
|
-
}
|
|
448
|
-
// also attach event to hidden button if user was redirected with shipping address session
|
|
449
|
-
const buttonAnchorElements = document.querySelectorAll(`${buttonAnchorSelector}, ${this.domesticRedirectedBtnSelector}`);
|
|
450
|
-
// only attach event once, and looping through all of the button elements
|
|
451
|
-
buttonAnchorElements.forEach(button => {
|
|
452
|
-
const isEventAttached = button.getAttribute('data-zonos-checkout-attached');
|
|
453
|
-
if (isEventAttached) {
|
|
454
|
-
// do nothing if event is already attached
|
|
455
|
-
return;
|
|
456
|
-
}
|
|
457
|
-
button.addEventListener('click', async (e) => {
|
|
458
|
-
// do nothing if it's not shippable country
|
|
459
|
-
if (!isShippableCountry()) {
|
|
460
|
-
return;
|
|
461
|
-
}
|
|
462
|
-
e.preventDefault();
|
|
463
|
-
e.stopPropagation();
|
|
464
|
-
log('zonos checkout button clicked');
|
|
465
|
-
// start loading
|
|
466
|
-
stripeStore.isFetchingSession = true;
|
|
467
|
-
this.open = true;
|
|
468
|
-
try {
|
|
469
|
-
// buildCartDetail need to be catch since it may throw error
|
|
470
|
-
const result = await this.buildCartAndInit();
|
|
471
|
-
if (!result) {
|
|
472
|
-
throw new Error('Error building cart');
|
|
473
|
-
}
|
|
474
|
-
submitGtag('zonos-checkout-start');
|
|
475
|
-
void trackConversionEvent('checkout_open');
|
|
476
|
-
}
|
|
477
|
-
catch (err) {
|
|
478
|
-
// stop loading
|
|
479
|
-
stripeStore.isFetchingSession = false;
|
|
480
|
-
cartStoreUpdateToErrorState({
|
|
481
|
-
messages: [
|
|
482
|
-
translate("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists"),
|
|
483
|
-
],
|
|
484
|
-
title: translate('Error creating Checkout'),
|
|
485
|
-
});
|
|
486
|
-
}
|
|
487
|
-
});
|
|
488
|
-
button.removeAttribute('disabled');
|
|
489
|
-
button.setAttribute('data-zonos-checkout-attached', 'true');
|
|
490
|
-
// if this button is the hidden button, trigger the click event
|
|
491
|
-
if (button.matches(this.domesticRedirectedBtnSelector)) {
|
|
492
|
-
button.dispatchEvent(createCustomEvent('click'));
|
|
493
|
-
// cleanup shipping session after button is clicked
|
|
494
|
-
stripeStoreCleanupDomesticShippingSession();
|
|
495
|
-
// remove the button after it's clicked
|
|
496
|
-
button.remove();
|
|
497
|
-
}
|
|
498
|
-
if (button.matches(this.legacyCheckoutHiddenBtnSelector)) {
|
|
499
|
-
this.isLegacyCheckout = true;
|
|
500
|
-
// trigger the click event on the button
|
|
501
|
-
button.dispatchEvent(createCustomEvent('click'));
|
|
502
|
-
button.remove();
|
|
503
|
-
}
|
|
504
|
-
});
|
|
505
|
-
}
|
|
506
|
-
appearanceSettingsOverrideChanged() {
|
|
507
|
-
if (!this.appearanceSettingsOverride) {
|
|
508
|
-
return;
|
|
509
|
-
}
|
|
510
|
-
// apply theme to stripe elements
|
|
511
|
-
void this.applyStripeTheme();
|
|
512
|
-
}
|
|
513
|
-
/**
|
|
514
|
-
* Set default address from query param if it's valid
|
|
515
|
-
*/
|
|
516
|
-
useLegacyQueryParam() {
|
|
517
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
518
|
-
const legacyShippingInfo = {
|
|
519
|
-
country: urlParams.get('country'),
|
|
520
|
-
customerAddress1: urlParams.get('customerAddress1'),
|
|
521
|
-
customerAddress2: urlParams.get('customerAddress2'),
|
|
522
|
-
customerCity: urlParams.get('customerCity'),
|
|
523
|
-
customerEmail: urlParams.get('customerEmail'),
|
|
524
|
-
customerName: urlParams.get('customerName'),
|
|
525
|
-
customerPhone: urlParams.get('customerPhone'),
|
|
526
|
-
customerState: urlParams.get('customerState'),
|
|
527
|
-
customerZip: urlParams.get('customerZip'),
|
|
528
|
-
};
|
|
529
|
-
// if one of the value is null, no need to preset the default address
|
|
530
|
-
if (!legacyShippingInfo.customerAddress1 ||
|
|
531
|
-
!legacyShippingInfo.customerCity ||
|
|
532
|
-
!legacyShippingInfo.customerName ||
|
|
533
|
-
!legacyShippingInfo.customerPhone ||
|
|
534
|
-
!legacyShippingInfo.customerState ||
|
|
535
|
-
!legacyShippingInfo.customerZip ||
|
|
536
|
-
!legacyShippingInfo.country) {
|
|
537
|
-
return;
|
|
538
|
-
}
|
|
539
|
-
this.defaultAddress = {
|
|
540
|
-
address: {
|
|
541
|
-
city: legacyShippingInfo.customerCity,
|
|
542
|
-
country: legacyShippingInfo.country,
|
|
543
|
-
line1: legacyShippingInfo.customerAddress1,
|
|
544
|
-
line2: legacyShippingInfo.customerAddress2 || '',
|
|
545
|
-
postal_code: legacyShippingInfo.customerZip,
|
|
546
|
-
state: legacyShippingInfo.customerState,
|
|
547
|
-
},
|
|
548
|
-
email: legacyShippingInfo.customerEmail || '',
|
|
549
|
-
name: legacyShippingInfo.customerName,
|
|
550
|
-
phone: legacyShippingInfo.customerPhone,
|
|
551
|
-
};
|
|
552
|
-
}
|
|
553
|
-
/**
|
|
554
|
-
* Setup all of the event listeners for the component on first load
|
|
555
|
-
*/
|
|
556
|
-
async init() {
|
|
557
|
-
stripeStore.stripe = window.Zonos.stripe;
|
|
558
|
-
this.stripe = window.Zonos.stripe;
|
|
559
|
-
// check if bigcommerce, if user enters the shipping address that's in the shipping zone at bigcommerce checkout
|
|
560
|
-
watchBigcommerceDomesticCheckout({
|
|
561
|
-
domesticRedirectedBtnSelector: this.domesticRedirectedBtnSelector,
|
|
562
|
-
onShippingAddressSessionFound: shippingAddressSession => {
|
|
563
|
-
// prefilled the default address if shipping address session is found for checkout on open
|
|
564
|
-
this.defaultAddress = {
|
|
565
|
-
address: {
|
|
566
|
-
city: shippingAddressSession.city,
|
|
567
|
-
country: shippingAddressSession.countryCode,
|
|
568
|
-
line1: shippingAddressSession.address1,
|
|
569
|
-
line2: shippingAddressSession.address2,
|
|
570
|
-
postal_code: shippingAddressSession.postalCode,
|
|
571
|
-
state: shippingAddressSession.state,
|
|
572
|
-
},
|
|
573
|
-
email: '',
|
|
574
|
-
name: `${shippingAddressSession.firstName} ${shippingAddressSession.lastName}`,
|
|
575
|
-
phone: shippingAddressSession.phone,
|
|
576
|
-
};
|
|
577
|
-
},
|
|
578
|
-
});
|
|
579
|
-
/**
|
|
580
|
-
* When temp cart data is available, set default address if exist
|
|
581
|
-
*/
|
|
582
|
-
if (window.Zonos.tempCartData) {
|
|
583
|
-
this.useLegacyQueryParam();
|
|
584
|
-
}
|
|
585
|
-
const hideInternationalOrderInterval = setInterval(() => {
|
|
586
|
-
const internationalSelector = window.Zonos.internationalHideSelector;
|
|
587
|
-
if (!internationalSelector) {
|
|
588
|
-
// cleanup right away if selector is not found
|
|
589
|
-
clearInterval(hideInternationalOrderInterval);
|
|
590
|
-
return;
|
|
591
|
-
}
|
|
592
|
-
// hide the selector if it's international
|
|
593
|
-
const isInternationalOrder = isShippableCountry(false);
|
|
594
|
-
const selector = document.querySelectorAll(internationalSelector);
|
|
595
|
-
if (!isInternationalOrder) {
|
|
596
|
-
// show the selector when it's domestic
|
|
597
|
-
selector === null || selector === void 0 ? void 0 : selector.forEach(el => {
|
|
598
|
-
const element = el;
|
|
599
|
-
const display = element.getAttribute('data-zonos-checkout-original-display') ||
|
|
600
|
-
getComputedStyle(element).display;
|
|
601
|
-
// fallback to initial (browser value) if "display" is not found
|
|
602
|
-
element.style.display = display || 'initial';
|
|
603
|
-
});
|
|
604
|
-
return;
|
|
605
|
-
}
|
|
606
|
-
selector === null || selector === void 0 ? void 0 : selector.forEach(el => {
|
|
607
|
-
const element = el;
|
|
608
|
-
const display = element.style.display;
|
|
609
|
-
// save the display state so we can restore it later
|
|
610
|
-
element.setAttribute('data-zonos-checkout-original-display', display);
|
|
611
|
-
element.style.display = 'none';
|
|
612
|
-
});
|
|
613
|
-
}, 100);
|
|
614
|
-
// only init checkout if visitor's country is in the shipping zones.
|
|
615
|
-
const interval = setInterval(() => {
|
|
616
|
-
stripeStore.stripe = window.Zonos.stripe;
|
|
617
|
-
this.stripe = window.Zonos.stripe;
|
|
618
|
-
if (!this.stripe) {
|
|
619
|
-
log('waiting for stripe to be loaded');
|
|
620
|
-
return;
|
|
621
|
-
}
|
|
622
|
-
if (this.storybookPaymentStatusOverride) {
|
|
623
|
-
clearInterval(interval);
|
|
624
|
-
return;
|
|
625
|
-
}
|
|
626
|
-
log('init checkout');
|
|
627
|
-
if (this.preview || this.forceDialogOpen) {
|
|
628
|
-
void this.buildCartAndInit();
|
|
629
|
-
}
|
|
630
|
-
else {
|
|
631
|
-
this.attachCheckout();
|
|
632
|
-
// create a mutation observer to see if any new elements that match our selector is added to the DOM
|
|
633
|
-
const observer = new MutationObserver(() => {
|
|
634
|
-
this.attachCheckout();
|
|
635
|
-
});
|
|
636
|
-
observer.observe(document.body, {
|
|
637
|
-
childList: true,
|
|
638
|
-
subtree: true,
|
|
639
|
-
});
|
|
640
|
-
}
|
|
641
|
-
clearInterval(interval);
|
|
642
|
-
}, 50);
|
|
643
|
-
setTimeout(() => {
|
|
644
|
-
// if localization is not loaded after 10 seconds, stop the interval and don't init checkout
|
|
645
|
-
clearInterval(interval);
|
|
646
|
-
}, 10000);
|
|
647
|
-
}
|
|
648
|
-
/**
|
|
649
|
-
* For storybook to set to finish step, this is to trigger in the story for zonos-checkout-finish
|
|
650
|
-
*/
|
|
651
|
-
async setToFinishStep(forcePaymentStatus) {
|
|
652
|
-
cartStore.step = 'finish';
|
|
653
|
-
this.storybookPaymentStatusOverride = forcePaymentStatus;
|
|
654
|
-
}
|
|
655
|
-
async handleCustomerInfoContinue() {
|
|
656
|
-
this.submitLoading = true;
|
|
657
|
-
// fetch landed cost data if we not fetching.
|
|
658
|
-
await stripeStorePrefetchLandedCost();
|
|
659
|
-
// keep checking landed cost data until it's ready to move to next screen
|
|
660
|
-
const interval = setInterval(() => {
|
|
661
|
-
if (cartStore.landedCostData || !stripeStore.isFetchingLandedCost) {
|
|
662
|
-
if (cartStore.landedCostData) {
|
|
663
|
-
// only go to next step if landed cost data is ready
|
|
664
|
-
cartStoreNextStep();
|
|
665
|
-
}
|
|
666
|
-
this.submitLoading = false;
|
|
667
|
-
clearInterval(interval);
|
|
668
|
-
}
|
|
669
|
-
}, 500);
|
|
670
|
-
}
|
|
671
|
-
async handleShippingContinue() {
|
|
672
|
-
this.submitLoading = true;
|
|
673
|
-
// show loading for the button for a bit
|
|
674
|
-
setTimeout(() => {
|
|
675
|
-
cartStoreNextStep();
|
|
676
|
-
this.submitLoading = false;
|
|
677
|
-
}, 500);
|
|
678
|
-
}
|
|
679
|
-
async handleCheckoutPaymentContinue() {
|
|
680
|
-
// reset error state
|
|
681
|
-
this.paymentError = false;
|
|
682
|
-
this.submitLoading = true;
|
|
683
|
-
try {
|
|
684
|
-
await stripeStoreConfirmPayment();
|
|
685
|
-
cartStoreNextStep();
|
|
686
|
-
}
|
|
687
|
-
catch (err) {
|
|
688
|
-
logError(err);
|
|
689
|
-
this.paymentError = true;
|
|
690
|
-
}
|
|
691
|
-
this.submitLoading = false;
|
|
692
|
-
}
|
|
693
|
-
async handleFinishClick() {
|
|
694
|
-
// reset stripe store
|
|
695
|
-
stripeStoreReset();
|
|
696
|
-
if (this.preview) {
|
|
697
|
-
cartStore.step = 'customer-info';
|
|
698
|
-
await this.init();
|
|
699
|
-
return;
|
|
700
|
-
}
|
|
701
|
-
// reset cart store
|
|
702
|
-
cartStoreReset();
|
|
703
|
-
// redirect to vendor store url if this is legacy checkout.
|
|
704
|
-
if (this.isLegacyCheckout && window.Zonos.tempCartData) {
|
|
705
|
-
const contShoppingUrl = window.Zonos.tempCartData.contShoppingURL;
|
|
706
|
-
window.location.href = contShoppingUrl;
|
|
707
|
-
return;
|
|
708
|
-
}
|
|
709
|
-
// reset url
|
|
710
|
-
const url = window.location.href;
|
|
711
|
-
// Remove query parameters
|
|
712
|
-
const cleanUrl = url.split('?')[0];
|
|
713
|
-
// Update the URL without query parameters
|
|
714
|
-
window.history.replaceState({}, document.title, cleanUrl);
|
|
715
|
-
this.open = false;
|
|
716
|
-
// Reload the page
|
|
717
|
-
window.location.reload();
|
|
718
|
-
}
|
|
719
|
-
handleWindowResize() {
|
|
720
|
-
this.isMobile = isCheckoutMobile(this.mobile);
|
|
721
|
-
// apply theme to stripe elements
|
|
722
|
-
void this.applyStripeTheme();
|
|
723
|
-
log(`mobile: ${this.isMobile}`);
|
|
724
|
-
}
|
|
725
|
-
handleMobileChange() {
|
|
726
|
-
this.isMobile = isCheckoutMobile(this.mobile);
|
|
727
|
-
// apply theme to stripe elements
|
|
728
|
-
void this.applyStripeTheme();
|
|
729
|
-
log(`mobile: ${this.isMobile}`);
|
|
730
|
-
}
|
|
731
|
-
handleAppearanceSettingsOverrideChange() {
|
|
732
|
-
var _a;
|
|
733
|
-
if ((_a = this.appearanceSettingsOverride) === null || _a === void 0 ? void 0 : _a.theme) {
|
|
734
|
-
// update theme to browser preference theme if appearance theme is system
|
|
735
|
-
this.appearanceSettingsOverride.theme = getZonosStoreTheme(this.appearanceSettingsOverride.theme);
|
|
736
|
-
}
|
|
737
|
-
}
|
|
738
|
-
componentWillLoad() {
|
|
739
|
-
void this.init();
|
|
740
|
-
this.isMobile = isCheckoutMobile(this.mobile);
|
|
741
|
-
// update theme to browser preference theme if appearance theme is system
|
|
742
|
-
this.handleAppearanceSettingsOverrideChange();
|
|
743
|
-
// listen to selected locale code change
|
|
744
|
-
this.onChangeLocaleListener = localizationStoreOnUpdate('selectedLocale', () => {
|
|
745
|
-
// Update stripe locale when selected country code is changed
|
|
746
|
-
void this.applyStripeTheme();
|
|
747
|
-
});
|
|
748
|
-
log(`mobile: ${this.isMobile}`);
|
|
749
|
-
}
|
|
750
|
-
// do clean up when component is unmounted
|
|
751
|
-
disconnectedCallback() {
|
|
752
|
-
// reset stripe store
|
|
753
|
-
stripeStoreReset();
|
|
754
|
-
// reset cart store
|
|
755
|
-
cartStoreReset();
|
|
756
|
-
// cleanup onChange listener
|
|
757
|
-
this.onChangeLocaleListener();
|
|
758
|
-
}
|
|
759
|
-
render() {
|
|
760
|
-
var _a;
|
|
761
|
-
const dialogLoading =
|
|
762
|
-
// if it's last step, don't need to check stripe elements
|
|
763
|
-
(cartStore.step !== 'finish' &&
|
|
764
|
-
cartStore.step !== 'error' &&
|
|
765
|
-
!stripeStore.stripeElements) ||
|
|
766
|
-
stripeStore.isFetchingSession;
|
|
767
|
-
const { colorPrimary, colorSecondary, logoUrl, style } = mergeConfig(zonosStore.appearance, this.appearanceSettingsOverride);
|
|
768
|
-
const hasFooter = zonosStore.appearance.zonosAttribution === 'ENABLED';
|
|
769
|
-
const rightSideTheme = zonosStore.appearance.theme;
|
|
770
|
-
const themePrimaryColorBased = colorPrimary && isDarkColor(colorPrimary) ? 'DARK' : 'LIGHT';
|
|
771
|
-
// use right side theme if it's mobile, otherwise use themePrimaryColorBased
|
|
772
|
-
const leftSideTheme = this.isMobile
|
|
773
|
-
? rightSideTheme
|
|
774
|
-
: themePrimaryColorBased;
|
|
775
|
-
// only use submit button color if it's on desktop
|
|
776
|
-
const submitButtonColor = !this.isMobile ? colorSecondary : undefined;
|
|
777
|
-
const { customMessages } = localizationStore;
|
|
778
|
-
const defaultMessage = (_a = customMessages.find(x => x.pageName === 'checkout_default')) === null || _a === void 0 ? void 0 : _a.message;
|
|
779
|
-
const localePageEnum = this.getCurrentLocalePageEnum();
|
|
780
|
-
const filteredMessages = customMessages.filter(x => x.pageName === localePageEnum);
|
|
781
|
-
const renderLogo = () => {
|
|
782
|
-
// add timestamp to logo url if it's preview mode so browser won't cache it on the dashboard setting
|
|
783
|
-
const logo = this.preview
|
|
784
|
-
? `${logoUrl}?timestamp=${Date.now()}`
|
|
785
|
-
: logoUrl;
|
|
786
|
-
return (h("div", { class: "zonos--logo" }, logo && (h("img", { alt: `${zonosStore.organizationName} logo`, src: logo, width: 100 }))));
|
|
787
|
-
};
|
|
788
|
-
const renderTopHeader = () => {
|
|
789
|
-
return (h("zonos-v-stack", null, renderLogo(), h("zonos-checkout-progress-tabs", { backgroundColor:
|
|
790
|
-
// only use different contrast color when the secondary color is too off with the background in mobile
|
|
791
|
-
this.isMobile ? '--zonos-elements-gray-0' : null }), filteredMessages.map(x => (h("zonos-custom-message", { icon: MessageIcon, message: x.message })))));
|
|
792
|
-
};
|
|
793
|
-
const renderContent = () => {
|
|
794
|
-
return (h("div", { class: 'zonos--content', style: {
|
|
795
|
-
'--border-radius': getBorderRadius({ overrideBorderStyle: style }),
|
|
796
|
-
} }, cartStore.step !== 'finish' && cartStore.step !== 'error' && (h(Fragment, null, h("div", { class: "zonos--left", "data-theme": leftSideTheme, style: {
|
|
797
|
-
'--primary-color': !this.isMobile ? colorPrimary : '',
|
|
798
|
-
} }, !this.isMobile && renderTopHeader(), cartStore.step === 'customer-info' && (h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, isMobile: this.isMobile, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'shipping' && (h("zonos-shipping", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'payment' && (h("zonos-checkout-payment", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleCheckoutPaymentContinue(), paymentError: this.paymentError, submitBtnColor: submitButtonColor }))), h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), !this.isLegacyCheckout && (h("zonos-button", { class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close checkout dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.closeDialogHandler() })), h("div", { class: "flex--wrapper" }, h("div", { class: "zonos--wrapper" }, h("zonos-review", { collapsed: this.collapseReviewMobile, mobile: this.isMobile, onClick: () => {
|
|
799
|
-
// do nothing if it's not mobile
|
|
800
|
-
if (!this.isMobile) {
|
|
801
|
-
return;
|
|
802
|
-
}
|
|
803
|
-
this.collapseReviewMobile = !this.collapseReviewMobile;
|
|
804
|
-
} }), h("zonos-collapse", {
|
|
805
|
-
// only collapsible on mobile
|
|
806
|
-
collapsed: this.collapseReviewMobile && this.isMobile
|
|
807
|
-
}, h("zonos-cart-items", null), this.isMobile && (h("zonos-v-stack", { spacing: 16 }, h("zonos-cart-subtotal", null), h("zonos-custom-message", { class: "zonos--checkout-default-message", icon: MessageIcon, message: defaultMessage }))))), h("zonos-cart-restricted-items", null), !this.isMobile && (h("zonos-v-stack", { spacing: 16 }, h("zonos-cart-subtotal", null), h("zonos-custom-message", { class: "zonos--checkout-default-message", icon: MessageIcon, message: defaultMessage }))))))), (cartStore.step === 'finish' || cartStore.step === 'error') && (h("div", { class: "zonos--done", "data-theme": rightSideTheme }, h("div", { class: "zonos--header" }, renderLogo(), h("zonos-button", { class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close checkout dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.handleFinishClick(), theme: rightSideTheme })), h("zonos-checkout-finish", { borderRadius: style, onCloseClick: () => this.handleFinishClick(), overrideNotification: cartStore.step === 'error' && !!cartStore.error
|
|
808
|
-
? Object.assign(Object.assign({}, cartStore.error), { type: 'error' }) : undefined, storybookForceStatus: this.storybookPaymentStatusOverride }))), h("zonos-checkout-footer", { "data-theme": rightSideTheme, mobile: this.isMobile,
|
|
809
|
-
/**
|
|
810
|
-
* For this component, use slot instead of passing JSX through prop of other component. Because
|
|
811
|
-
* the click outside event will be triggered on and targeted to whichever component that it's attached to.
|
|
812
|
-
* Move it into <slot /> would resolve the issue.
|
|
813
|
-
*/
|
|
814
|
-
slot: !this.isMobile ? 'dialog-footer' : undefined })));
|
|
815
|
-
};
|
|
816
|
-
return (h(Host, { class: classes([
|
|
817
|
-
'zonos--checkout zonos--elements',
|
|
818
|
-
hasFooter && 'has-footer',
|
|
819
|
-
this.preview && 'preview',
|
|
820
|
-
this.isMobile && 'mobile',
|
|
821
|
-
]) }, this.preview ? (renderContent()) : (h("zonos-dialog", { borderStyle: style, "data-theme": rightSideTheme, height: "980px", isLoading: dialogLoading, mobile: this.isMobile, noBodyPadding: true, noBorder: true, noClickOutside: true, noCloseButton: true, onCloseDialog: () => this.closeDialogHandler(), open: this.open, width: "1200px" }, renderContent())), h("zonos-confirm-dialog", { dialogCancelBtnText: translate("Don't close"), dialogConfirmBtnText: translate('Close'), dialogIntent: "warn", dialogOpen: this.confirmDialogOpen, dialogSubtitle: translate('Would you like to close checkout and return to the site?'), dialogTitle: translate('Are you sure?'), onCancelClicked: () => {
|
|
822
|
-
this.confirmDialogOpen = false;
|
|
823
|
-
},
|
|
824
|
-
// Mark user selected confirm to close the dialog
|
|
825
|
-
onConfirmClicked: () => this.closeDialogHandler({ confirmed: true }) })));
|
|
826
|
-
}
|
|
827
|
-
static get assetsDirs() { return ["assets"]; }
|
|
828
|
-
static get watchers() { return {
|
|
829
|
-
"appearanceSettingsOverride": ["appearanceSettingsOverrideChanged", "handleAppearanceSettingsOverrideChange"],
|
|
830
|
-
"mobile": ["handleMobileChange"]
|
|
831
|
-
}; }
|
|
832
|
-
static get style() { return ZonosCheckoutStyle0; }
|
|
833
|
-
}, [2, "zonos-checkout", {
|
|
834
|
-
"appearanceSettingsOverride": [16],
|
|
835
|
-
"preview": [4],
|
|
836
|
-
"mobile": [4],
|
|
837
|
-
"defaultAddress": [16],
|
|
838
|
-
"forceDialogOpen": [4, "force-dialog-open"],
|
|
839
|
-
"open": [32],
|
|
840
|
-
"stripe": [32],
|
|
841
|
-
"submitLoading": [32],
|
|
842
|
-
"paymentError": [32],
|
|
843
|
-
"collapseReviewMobile": [32],
|
|
844
|
-
"isAttachError": [32],
|
|
845
|
-
"isMobile": [32],
|
|
846
|
-
"zonosReviewRef": [32],
|
|
847
|
-
"storybookPaymentStatusOverride": [32],
|
|
848
|
-
"domesticRedirectedBtnSelector": [32],
|
|
849
|
-
"legacyCheckoutHiddenBtnSelector": [32],
|
|
850
|
-
"isLegacyCheckout": [32],
|
|
851
|
-
"confirmDialogOpen": [32],
|
|
852
|
-
"closeDialogHandler": [64],
|
|
853
|
-
"init": [64],
|
|
854
|
-
"setToFinishStep": [64]
|
|
855
|
-
}, [[16, "zonos--init-cart-info", "initCartInfoHandler"], [4, "keydown", "handleKeyPress"], [9, "resize", "handleWindowResize"]], {
|
|
856
|
-
"appearanceSettingsOverride": ["appearanceSettingsOverrideChanged", "handleAppearanceSettingsOverrideChange"],
|
|
857
|
-
"mobile": ["handleMobileChange"]
|
|
858
|
-
}]);
|
|
859
|
-
function defineCustomElement$1() {
|
|
860
|
-
if (typeof customElements === "undefined") {
|
|
861
|
-
return;
|
|
862
|
-
}
|
|
863
|
-
const components = ["zonos-checkout", "zonos-address", "zonos-address-display", "zonos-address-form", "zonos-address-update-dialog", "zonos-badge", "zonos-banner", "zonos-button", "zonos-card", "zonos-cart-items", "zonos-cart-restricted-items", "zonos-cart-subtotal", "zonos-checkbox", "zonos-checkout-finish", "zonos-checkout-footer", "zonos-checkout-payment", "zonos-checkout-progress-tabs", "zonos-collapse", "zonos-confirm-dialog", "zonos-country-flag", "zonos-custom-message", "zonos-customer-info", "zonos-dialog", "zonos-icon", "zonos-input", "zonos-language-select", "zonos-link-authentication", "zonos-payment", "zonos-review", "zonos-select-dialog-header", "zonos-shipping", "zonos-shipping-rich-radio", "zonos-spinner", "zonos-text", "zonos-tooltip", "zonos-v-stack"];
|
|
864
|
-
components.forEach(tagName => { switch (tagName) {
|
|
865
|
-
case "zonos-checkout":
|
|
866
|
-
if (!customElements.get(tagName)) {
|
|
867
|
-
customElements.define(tagName, ZonosCheckout$1);
|
|
868
|
-
}
|
|
869
|
-
break;
|
|
870
|
-
case "zonos-address":
|
|
871
|
-
if (!customElements.get(tagName)) {
|
|
872
|
-
defineCustomElement$A();
|
|
873
|
-
}
|
|
874
|
-
break;
|
|
875
|
-
case "zonos-address-display":
|
|
876
|
-
if (!customElements.get(tagName)) {
|
|
877
|
-
defineCustomElement$z();
|
|
878
|
-
}
|
|
879
|
-
break;
|
|
880
|
-
case "zonos-address-form":
|
|
881
|
-
if (!customElements.get(tagName)) {
|
|
882
|
-
defineCustomElement$y();
|
|
883
|
-
}
|
|
884
|
-
break;
|
|
885
|
-
case "zonos-address-update-dialog":
|
|
886
|
-
if (!customElements.get(tagName)) {
|
|
887
|
-
defineCustomElement$x();
|
|
888
|
-
}
|
|
889
|
-
break;
|
|
890
|
-
case "zonos-badge":
|
|
891
|
-
if (!customElements.get(tagName)) {
|
|
892
|
-
defineCustomElement$w();
|
|
893
|
-
}
|
|
894
|
-
break;
|
|
895
|
-
case "zonos-banner":
|
|
896
|
-
if (!customElements.get(tagName)) {
|
|
897
|
-
defineCustomElement$v();
|
|
898
|
-
}
|
|
899
|
-
break;
|
|
900
|
-
case "zonos-button":
|
|
901
|
-
if (!customElements.get(tagName)) {
|
|
902
|
-
defineCustomElement$u();
|
|
903
|
-
}
|
|
904
|
-
break;
|
|
905
|
-
case "zonos-card":
|
|
906
|
-
if (!customElements.get(tagName)) {
|
|
907
|
-
defineCustomElement$t();
|
|
908
|
-
}
|
|
909
|
-
break;
|
|
910
|
-
case "zonos-cart-items":
|
|
911
|
-
if (!customElements.get(tagName)) {
|
|
912
|
-
defineCustomElement$s();
|
|
913
|
-
}
|
|
914
|
-
break;
|
|
915
|
-
case "zonos-cart-restricted-items":
|
|
916
|
-
if (!customElements.get(tagName)) {
|
|
917
|
-
defineCustomElement$r();
|
|
918
|
-
}
|
|
919
|
-
break;
|
|
920
|
-
case "zonos-cart-subtotal":
|
|
921
|
-
if (!customElements.get(tagName)) {
|
|
922
|
-
defineCustomElement$q();
|
|
923
|
-
}
|
|
924
|
-
break;
|
|
925
|
-
case "zonos-checkbox":
|
|
926
|
-
if (!customElements.get(tagName)) {
|
|
927
|
-
defineCustomElement$p();
|
|
928
|
-
}
|
|
929
|
-
break;
|
|
930
|
-
case "zonos-checkout-finish":
|
|
931
|
-
if (!customElements.get(tagName)) {
|
|
932
|
-
defineCustomElement$o();
|
|
933
|
-
}
|
|
934
|
-
break;
|
|
935
|
-
case "zonos-checkout-footer":
|
|
936
|
-
if (!customElements.get(tagName)) {
|
|
937
|
-
defineCustomElement$n();
|
|
938
|
-
}
|
|
939
|
-
break;
|
|
940
|
-
case "zonos-checkout-payment":
|
|
941
|
-
if (!customElements.get(tagName)) {
|
|
942
|
-
defineCustomElement$m();
|
|
943
|
-
}
|
|
944
|
-
break;
|
|
945
|
-
case "zonos-checkout-progress-tabs":
|
|
946
|
-
if (!customElements.get(tagName)) {
|
|
947
|
-
defineCustomElement$l();
|
|
948
|
-
}
|
|
949
|
-
break;
|
|
950
|
-
case "zonos-collapse":
|
|
951
|
-
if (!customElements.get(tagName)) {
|
|
952
|
-
defineCustomElement$k();
|
|
953
|
-
}
|
|
954
|
-
break;
|
|
955
|
-
case "zonos-confirm-dialog":
|
|
956
|
-
if (!customElements.get(tagName)) {
|
|
957
|
-
defineCustomElement$j();
|
|
958
|
-
}
|
|
959
|
-
break;
|
|
960
|
-
case "zonos-country-flag":
|
|
961
|
-
if (!customElements.get(tagName)) {
|
|
962
|
-
defineCustomElement$i();
|
|
963
|
-
}
|
|
964
|
-
break;
|
|
965
|
-
case "zonos-custom-message":
|
|
966
|
-
if (!customElements.get(tagName)) {
|
|
967
|
-
defineCustomElement$h();
|
|
968
|
-
}
|
|
969
|
-
break;
|
|
970
|
-
case "zonos-customer-info":
|
|
971
|
-
if (!customElements.get(tagName)) {
|
|
972
|
-
defineCustomElement$g();
|
|
973
|
-
}
|
|
974
|
-
break;
|
|
975
|
-
case "zonos-dialog":
|
|
976
|
-
if (!customElements.get(tagName)) {
|
|
977
|
-
defineCustomElement$f();
|
|
978
|
-
}
|
|
979
|
-
break;
|
|
980
|
-
case "zonos-icon":
|
|
981
|
-
if (!customElements.get(tagName)) {
|
|
982
|
-
defineCustomElement$e();
|
|
983
|
-
}
|
|
984
|
-
break;
|
|
985
|
-
case "zonos-input":
|
|
986
|
-
if (!customElements.get(tagName)) {
|
|
987
|
-
defineCustomElement$d();
|
|
988
|
-
}
|
|
989
|
-
break;
|
|
990
|
-
case "zonos-language-select":
|
|
991
|
-
if (!customElements.get(tagName)) {
|
|
992
|
-
defineCustomElement$c();
|
|
993
|
-
}
|
|
994
|
-
break;
|
|
995
|
-
case "zonos-link-authentication":
|
|
996
|
-
if (!customElements.get(tagName)) {
|
|
997
|
-
defineCustomElement$b();
|
|
998
|
-
}
|
|
999
|
-
break;
|
|
1000
|
-
case "zonos-payment":
|
|
1001
|
-
if (!customElements.get(tagName)) {
|
|
1002
|
-
defineCustomElement$a();
|
|
1003
|
-
}
|
|
1004
|
-
break;
|
|
1005
|
-
case "zonos-review":
|
|
1006
|
-
if (!customElements.get(tagName)) {
|
|
1007
|
-
defineCustomElement$9();
|
|
1008
|
-
}
|
|
1009
|
-
break;
|
|
1010
|
-
case "zonos-select-dialog-header":
|
|
1011
|
-
if (!customElements.get(tagName)) {
|
|
1012
|
-
defineCustomElement$8();
|
|
1013
|
-
}
|
|
1014
|
-
break;
|
|
1015
|
-
case "zonos-shipping":
|
|
1016
|
-
if (!customElements.get(tagName)) {
|
|
1017
|
-
defineCustomElement$7();
|
|
1018
|
-
}
|
|
1019
|
-
break;
|
|
1020
|
-
case "zonos-shipping-rich-radio":
|
|
1021
|
-
if (!customElements.get(tagName)) {
|
|
1022
|
-
defineCustomElement$6();
|
|
1023
|
-
}
|
|
1024
|
-
break;
|
|
1025
|
-
case "zonos-spinner":
|
|
1026
|
-
if (!customElements.get(tagName)) {
|
|
1027
|
-
defineCustomElement$5();
|
|
1028
|
-
}
|
|
1029
|
-
break;
|
|
1030
|
-
case "zonos-text":
|
|
1031
|
-
if (!customElements.get(tagName)) {
|
|
1032
|
-
defineCustomElement$4();
|
|
1033
|
-
}
|
|
1034
|
-
break;
|
|
1035
|
-
case "zonos-tooltip":
|
|
1036
|
-
if (!customElements.get(tagName)) {
|
|
1037
|
-
defineCustomElement$3();
|
|
1038
|
-
}
|
|
1039
|
-
break;
|
|
1040
|
-
case "zonos-v-stack":
|
|
1041
|
-
if (!customElements.get(tagName)) {
|
|
1042
|
-
defineCustomElement$2();
|
|
1043
|
-
}
|
|
1044
|
-
break;
|
|
1045
|
-
} });
|
|
1046
|
-
}
|
|
1047
|
-
|
|
1048
|
-
const ZonosCheckout = ZonosCheckout$1;
|
|
1049
|
-
const defineCustomElement = defineCustomElement$1;
|
|
1050
|
-
|
|
1051
|
-
export { ZonosCheckout, defineCustomElement };
|