@zonos/elements 1.3.264 → 1.3.266
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-d4486651.js → cart-efc42379.js} +2 -1
- package/dist/cjs/getContrastColor-ce80dbe7.js +54 -0
- package/dist/cjs/{hasInclusivePrice-40358cb1.js → hasInclusivePrice-400be1b2.js} +1 -1
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/{invoice-600fa2a4.js → invoice-9e4d479f.js} +2 -2
- package/dist/cjs/{isCollectMobileTablet-f56566ef.js → isCollectMobileTablet-630fcf87.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{localization-06cc0379.js → localization-4b17c530.js} +1 -1
- package/dist/cjs/{paypal-52c4a4d4.js → paypal-3bb55914.js} +2 -2
- package/dist/cjs/{placeTestOrder-7c88197a.js → placeTestOrder-313cbd78.js} +2 -2
- package/dist/cjs/{renderCheckoutCurrency-2ebeff09.js → renderCheckoutCurrency-e0436f1c.js} +2 -2
- package/dist/cjs/zonos-address-display_8.cjs.entry.js +19 -19
- package/dist/cjs/zonos-address_4.cjs.entry.js +6 -6
- package/dist/cjs/zonos-badge.cjs.entry.js +3 -3
- package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
- package/dist/cjs/zonos-card_5.cjs.entry.js +7 -7
- package/dist/cjs/zonos-cart-items_12.cjs.entry.js +101 -22
- package/dist/cjs/zonos-checkbox_2.cjs.entry.js +3 -3
- package/dist/cjs/zonos-checkout.cjs.entry.js +12 -3
- package/dist/cjs/zonos-collapse.cjs.entry.js +2 -2
- package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +6 -6
- package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +19 -19
- package/dist/cjs/zonos-collect.cjs.entry.js +4 -4
- package/dist/cjs/zonos-controller.cjs.entry.js +2 -2
- package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
- package/dist/cjs/zonos-country-select_4.cjs.entry.js +6 -6
- package/dist/cjs/zonos-elements.cjs.js +1 -1
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +2 -2
- package/dist/cjs/zonos-hello.cjs.entry.js +2 -2
- package/dist/cjs/zonos-input.cjs.entry.js +4 -4
- package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +8 -8
- package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +14 -14
- package/dist/cjs/zonos-invoice.cjs.entry.js +4 -4
- package/dist/cjs/zonos-language-select_2.cjs.entry.js +5 -5
- package/dist/cjs/zonos-link.cjs.entry.js +1 -1
- package/dist/cjs/zonos-logo.cjs.entry.js +2 -2
- package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +1 -1
- package/dist/cjs/zonos-store-credit.cjs.entry.js +3 -3
- package/dist/cjs/zonos-stripe-input.cjs.entry.js +4 -4
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-form/zonos-address-form.js +4 -4
- package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +1 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.css +9 -0
- package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +15 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +4 -4
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.js +2 -2
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +9 -0
- package/dist/collection/components/checkout/zonos-collect/zonos-collect-cart-items/zonos-collect-cart-items.js +1 -1
- package/dist/collection/components/checkout/zonos-collect/zonos-collect-finish/zonos-collect-finish.js +2 -2
- package/dist/collection/components/checkout/zonos-collect/zonos-collect-footer/zonos-collect-footer.js +3 -3
- package/dist/collection/components/checkout/zonos-collect/zonos-collect-review/zonos-collect-review.js +3 -3
- package/dist/collection/components/checkout/zonos-collect/zonos-collect-subtotal/zonos-collect-subtotal.js +5 -5
- package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-cart-items/zonos-invoice-cart-items.js +2 -2
- package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-finish/zonos-invoice-finish.js +2 -2
- package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-footer/zonos-invoice-footer.js +3 -3
- package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-review/zonos-invoice-review.js +3 -3
- package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-subtotal/zonos-invoice-subtotal.js +2 -2
- 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 +4 -4
- 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 +3 -3
- 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-h-stack/zonos-h-stack.js +2 -2
- 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/zonos-link/zonos-link.js +1 -1
- package/dist/collection/components/common/zonos-loading-overlay/zonos-loading-overlay.js +1 -1
- package/dist/collection/components/common/zonos-logo/zonos-logo.js +2 -2
- package/dist/collection/components/common/zonos-rest-state/zonos-rest-state.js +3 -3
- package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.js +2 -2
- package/dist/collection/components/common/zonos-skeleton/zonos-skeleton.js +1 -1
- package/dist/collection/components/common/zonos-stripe-input/zonos-stripe-input.js +4 -4
- package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js +5 -5
- package/dist/collection/components/common/zonos-stripe-select/zonos-stripe-select.js +8 -7
- package/dist/collection/components/hello/zonos-hello/zonos-hello.css +2 -0
- package/dist/collection/components/store/checkout/cart.js +1 -0
- package/dist/collection/components/utils/getContrastColor.js +27 -10
- package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +1 -1
- package/dist/collection/components/utils/parseLinkedText.js +65 -0
- package/dist/esm/{cart-41f41429.js → cart-62c166fc.js} +2 -1
- package/dist/esm/getContrastColor-0aa643c1.js +52 -0
- package/dist/esm/{hasInclusivePrice-afc0dd6e.js → hasInclusivePrice-a73f64b7.js} +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/{invoice-e6721745.js → invoice-fa4ff6fb.js} +2 -2
- package/dist/esm/{isCollectMobileTablet-d02bb448.js → isCollectMobileTablet-5f50ec81.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{localization-ee06df70.js → localization-d2631105.js} +1 -1
- package/dist/esm/{paypal-ac74241f.js → paypal-424d040d.js} +2 -2
- package/dist/esm/{placeTestOrder-0416d327.js → placeTestOrder-cf237d95.js} +2 -2
- package/dist/esm/{renderCheckoutCurrency-99da51f5.js → renderCheckoutCurrency-513ead96.js} +2 -2
- package/dist/esm/zonos-address-display_8.entry.js +19 -19
- package/dist/esm/zonos-address_4.entry.js +6 -6
- package/dist/esm/zonos-badge.entry.js +3 -3
- package/dist/esm/zonos-button_3.entry.js +3 -3
- package/dist/esm/zonos-card_5.entry.js +7 -7
- package/dist/esm/zonos-cart-items_12.entry.js +101 -22
- package/dist/esm/zonos-checkbox_2.entry.js +3 -3
- package/dist/esm/zonos-checkout.entry.js +12 -3
- package/dist/esm/zonos-collapse.entry.js +2 -2
- package/dist/esm/zonos-collect-cart-items_3.entry.js +6 -6
- package/dist/esm/zonos-collect-finish_6.entry.js +19 -19
- package/dist/esm/zonos-collect.entry.js +4 -4
- package/dist/esm/zonos-controller.entry.js +2 -2
- package/dist/esm/zonos-country-flag.entry.js +1 -1
- package/dist/esm/zonos-country-select_4.entry.js +6 -6
- package/dist/esm/zonos-elements.js +1 -1
- package/dist/esm/zonos-hello-dialog.entry.js +2 -2
- package/dist/esm/zonos-hello.entry.js +2 -2
- package/dist/esm/zonos-input.entry.js +4 -4
- package/dist/esm/zonos-invoice-cart-items_2.entry.js +8 -8
- package/dist/esm/zonos-invoice-finish_5.entry.js +14 -14
- package/dist/esm/zonos-invoice.entry.js +4 -4
- package/dist/esm/zonos-language-select_2.entry.js +5 -5
- package/dist/esm/zonos-link.entry.js +1 -1
- package/dist/esm/zonos-logo.entry.js +2 -2
- package/dist/esm/zonos-shipping-rich-radio.entry.js +1 -1
- package/dist/esm/zonos-store-credit.entry.js +3 -3
- package/dist/esm/zonos-stripe-input.entry.js +4 -4
- package/dist/esm-es5/{cart-41f41429.js → cart-62c166fc.js} +1 -1
- package/dist/esm-es5/getContrastColor-0aa643c1.js +1 -0
- package/dist/esm-es5/{hasInclusivePrice-afc0dd6e.js → hasInclusivePrice-a73f64b7.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{invoice-e6721745.js → invoice-fa4ff6fb.js} +1 -1
- package/dist/esm-es5/{isCollectMobileTablet-d02bb448.js → isCollectMobileTablet-5f50ec81.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{localization-ee06df70.js → localization-d2631105.js} +1 -1
- package/dist/esm-es5/{paypal-ac74241f.js → paypal-424d040d.js} +2 -2
- package/dist/esm-es5/{placeTestOrder-0416d327.js → placeTestOrder-cf237d95.js} +1 -1
- package/dist/esm-es5/{renderCheckoutCurrency-99da51f5.js → renderCheckoutCurrency-513ead96.js} +1 -1
- package/dist/esm-es5/zonos-address-display_8.entry.js +1 -1
- package/dist/esm-es5/zonos-address_4.entry.js +1 -1
- package/dist/esm-es5/zonos-badge.entry.js +1 -1
- package/dist/esm-es5/zonos-button_3.entry.js +1 -1
- package/dist/esm-es5/zonos-card_5.entry.js +1 -1
- package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
- package/dist/esm-es5/zonos-checkbox_2.entry.js +1 -1
- package/dist/esm-es5/zonos-checkout.entry.js +1 -1
- package/dist/esm-es5/zonos-collapse.entry.js +1 -1
- package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
- package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
- package/dist/esm-es5/zonos-collect.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_4.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-invoice-cart-items_2.entry.js +1 -1
- package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
- 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-link.entry.js +1 -1
- package/dist/esm-es5/zonos-logo.entry.js +1 -1
- package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
- package/dist/esm-es5/zonos-store-credit.entry.js +1 -1
- package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
- package/dist/scripts/index.d.ts +11 -0
- 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/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.d.ts +7 -0
- package/dist/types/components/common/zonos-stripe-select/zonos-stripe-select.d.ts +1 -2
- package/dist/types/components/store/checkout/cart.d.ts +5 -0
- package/dist/types/components/utils/parseLinkedText.d.ts +24 -0
- package/dist/types/components.d.ts +2 -0
- package/dist/types/types/checkout/CheckoutConfig.d.ts +6 -0
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/{p-ce855245.system.js → p-01384124.system.js} +1 -1
- package/dist/zonos-elements/{p-258c0551.entry.js → p-02d812c8.entry.js} +1 -1
- package/dist/zonos-elements/p-03e95598.entry.js +1 -0
- package/dist/zonos-elements/{p-24aae506.system.js → p-06c4d422.system.js} +1 -1
- package/dist/zonos-elements/{p-b0526805.system.entry.js → p-08934304.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-e6cc5a25.system.entry.js → p-0b46f3bd.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-d1ff24f5.entry.js → p-0e8c4a29.entry.js} +1 -1
- package/dist/zonos-elements/{p-9f18348f.system.entry.js → p-0ea16658.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-37f47658.js → p-0efd2d5a.js} +1 -1
- package/dist/zonos-elements/{p-0529a06b.system.entry.js → p-1957af5a.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-7564d199.entry.js → p-1a470353.entry.js} +1 -1
- package/dist/zonos-elements/{p-9eff0691.js → p-1d6f3ab9.js} +1 -1
- package/dist/zonos-elements/{p-c52bc5ad.system.entry.js → p-209d7728.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-d6b49830.entry.js → p-227ef22f.entry.js} +1 -1
- package/dist/zonos-elements/{p-07cdff18.entry.js → p-2431f95c.entry.js} +1 -1
- package/dist/zonos-elements/{p-32ecece3.entry.js → p-26c85188.entry.js} +1 -1
- package/dist/zonos-elements/{p-cc481c69.entry.js → p-27061873.entry.js} +1 -1
- package/dist/zonos-elements/{p-42518502.system.entry.js → p-27513bfe.system.entry.js} +1 -1
- package/dist/zonos-elements/p-27eeaf56.system.js +1 -0
- package/dist/zonos-elements/{p-59aa5785.entry.js → p-28e2ac3b.entry.js} +1 -1
- package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
- package/dist/zonos-elements/{p-8a21ed2d.entry.js → p-2a6be4a5.entry.js} +1 -1
- package/dist/zonos-elements/{p-98c53c77.system.js → p-2b30beea.system.js} +1 -1
- package/dist/zonos-elements/{p-db607fc3.system.js → p-305e2dd8.system.js} +1 -1
- package/dist/zonos-elements/{p-721069c3.system.js → p-37207963.system.js} +1 -1
- package/dist/zonos-elements/p-40284821.system.js +1 -0
- package/dist/zonos-elements/{p-15f70aae.system.entry.js → p-40a45837.system.entry.js} +1 -1
- package/dist/zonos-elements/p-4495f149.system.entry.js +1 -0
- package/dist/zonos-elements/{p-52077d7c.entry.js → p-456a600b.entry.js} +1 -1
- package/dist/zonos-elements/{p-66edcaa4.entry.js → p-46071125.entry.js} +1 -1
- package/dist/zonos-elements/{p-90a19f4c.system.entry.js → p-4d433020.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-3a23ec5f.system.entry.js → p-55fb4ea3.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-1ed2827f.entry.js → p-5ae695a3.entry.js} +1 -1
- package/dist/zonos-elements/{p-9da832b2.system.entry.js → p-5e10d4ff.system.entry.js} +1 -1
- package/dist/zonos-elements/p-61d73d69.js +1 -0
- package/dist/zonos-elements/{p-f9c715ad.entry.js → p-648f3ada.entry.js} +1 -1
- package/dist/zonos-elements/{p-8a01157e.system.entry.js → p-6ab742d9.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-a5f5993f.system.entry.js → p-6b682a6b.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-5678c044.system.entry.js → p-6b6cfc59.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-e5582c35.entry.js → p-71fb6126.entry.js} +1 -1
- package/dist/zonos-elements/{p-86ed51fd.entry.js → p-72187e00.entry.js} +1 -1
- package/dist/zonos-elements/{p-0914b8a1.system.entry.js → p-72efa5b7.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-ab73cbed.entry.js → p-7677c45a.entry.js} +1 -1
- package/dist/zonos-elements/{p-84c7cae6.system.entry.js → p-781cc8de.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-0f9a04fe.system.entry.js → p-79e5a629.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-6b9ad020.entry.js → p-7b640194.entry.js} +1 -1
- package/dist/zonos-elements/{p-e3bc3917.system.entry.js → p-7b74e5f2.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-88596f27.system.entry.js → p-7c101a92.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-b13d56b9.entry.js → p-889e5db0.entry.js} +1 -1
- package/dist/zonos-elements/p-8ccd6d3f.js +1 -0
- package/dist/zonos-elements/{p-2c027b67.system.entry.js → p-8cd0a098.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-1cc651e8.entry.js → p-928291e5.entry.js} +1 -1
- package/dist/zonos-elements/p-9aaa1d80.entry.js +1 -0
- package/dist/zonos-elements/{p-4220556e.js → p-9b660cd3.js} +1 -1
- package/dist/zonos-elements/{p-b65bca4b.system.js → p-a371f770.system.js} +1 -1
- package/dist/zonos-elements/{p-72833da8.system.entry.js → p-a49ba3ae.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-14ce8e3a.js → p-a75baf3e.js} +1 -1
- package/dist/zonos-elements/{p-dea75665.system.js → p-a9425900.system.js} +1 -1
- package/dist/zonos-elements/{p-41f2e301.entry.js → p-acf42bc1.entry.js} +1 -1
- package/dist/zonos-elements/p-b2d276e1.js +1 -0
- package/dist/zonos-elements/{p-274a7c0e.system.entry.js → p-b6df4cc2.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-34dc7755.entry.js → p-bb77b580.entry.js} +1 -1
- package/dist/zonos-elements/p-bbbbae9a.system.entry.js +1 -0
- package/dist/zonos-elements/{p-a2e9b2aa.system.entry.js → p-bce7bfcc.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-e98e4c0b.system.entry.js → p-bf5c3dd7.system.entry.js} +1 -1
- package/dist/zonos-elements/p-c7047a1c.js +1 -0
- package/dist/zonos-elements/{p-90d19cb6.js → p-cd88efdb.js} +1 -1
- package/dist/zonos-elements/{p-076ca381.system.js → p-ce44c942.system.js} +1 -1
- package/dist/zonos-elements/{p-92a14180.entry.js → p-d63e18a8.entry.js} +1 -1
- package/dist/zonos-elements/p-daeb57cb.entry.js +1 -0
- package/dist/zonos-elements/{p-2555ba6b.system.entry.js → p-deaf0e38.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-c0fffa75.system.entry.js → p-ea88f7f5.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-9288878f.entry.js → p-f1bbad73.entry.js} +1 -1
- package/dist/zonos-elements/{p-f546bd7d.entry.js → p-f76d5249.entry.js} +1 -1
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/getContrastColor-68058615.js +0 -37
- package/dist/esm/getContrastColor-2340485f.js +0 -35
- package/dist/esm-es5/getContrastColor-2340485f.js +0 -1
- package/dist/zonos-elements/p-20e0c24e.entry.js +0 -1
- package/dist/zonos-elements/p-2fc253b3.js +0 -1
- package/dist/zonos-elements/p-349bdc03.system.entry.js +0 -1
- package/dist/zonos-elements/p-3bc1adb7.entry.js +0 -1
- package/dist/zonos-elements/p-551dd2e0.js +0 -1
- package/dist/zonos-elements/p-9f7e7148.system.js +0 -1
- package/dist/zonos-elements/p-a901d002.js +0 -1
- package/dist/zonos-elements/p-b32cd0c5.system.js +0 -1
- package/dist/zonos-elements/p-ba7cf5e8.system.entry.js +0 -1
- package/dist/zonos-elements/p-c9a1f774.js +0 -1
- package/dist/zonos-elements/p-ccc4f69b.entry.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./p-7261e245.system.js","./p-3689821f.system.js","./p-23e7c655.system.js","./p-d938f42f.system.js"],(function(o){"use strict";var e,s,n,r,t;return{setters:[function(o){e=o.r;s=o.h;n=o.a},function(o){r=o.f},function(o){t=o.c},function(){}],execute:function(){var
|
|
1
|
+
System.register(["./p-7261e245.system.js","./p-3689821f.system.js","./p-23e7c655.system.js","./p-d938f42f.system.js"],(function(o){"use strict";var e,s,n,r,t;return{setters:[function(o){e=o.r;s=o.h;n=o.a},function(o){r=o.f},function(o){t=o.c},function(){}],execute:function(){var l='<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path fill-rule="evenodd" clip-rule="evenodd" d="M10.8282 5.17184C11.0235 5.3671 11.0235 5.68368 10.8282 5.87894L8.70688 8.00026L10.8282 10.1216C11.0235 10.3168 11.0235 10.6334 10.8282 10.8287C10.6329 11.024 10.3164 11.024 10.1211 10.8287L7.99978 8.70737L5.87846 10.8287C5.68319 11.024 5.36661 11.024 5.17135 10.8287C4.97609 10.6334 4.97609 10.3168 5.17135 10.1216L7.29267 8.00026L5.17135 5.87894C4.97609 5.68368 4.97609 5.3671 5.17135 5.17184C5.36661 4.97658 5.68319 4.97658 5.87846 5.17184L7.99978 7.29316L10.1211 5.17184C10.3164 4.97658 10.6329 4.97658 10.8282 5.17184Z" fill="var(--zonos-elements-gray-800)"/>\n</svg>\n';var a=":host{font-family:var(--zonos--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--zonos--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{display:-ms-inline-flexbox;display:inline-flex}:host .zonos--badge-content{display:-ms-flexbox;display:flex;gap:8px;font-size:var(--zonos-elements-font-size-s);padding:4px 8px;text-align:center;border-radius:var(--zonos-elements-radius-6);background-color:var(--zonos-elements-gray-100);color:var(--zonos-elements-gray-800);-ms-flex-align:center;align-items:center}:host p{font-weight:600;line-height:16px}:host .icon-right svg{-ms-flex-order:2;order:2}:host .small{padding:2px 8px}:host .rounded{border-radius:20px}:host .bold{background-color:var(--zonos-elements-gray-600);color:var(--zonos-elements-gray-100)}:host .blue{background-color:var(--zonos-elements-blue-100);color:var(--zonos-elements-blue-800)}:host .blue.bold{background-color:var(--zonos-elements-blue-600);color:var(--zonos-elements-blue-100)}:host .green{background-color:var(--zonos-elements-green-100);color:var(--zonos-elements-green-800)}:host .green.bold{background-color:var(--zonos-elements-green-600);color:var(--zonos-elements-green-100)}:host .red{background-color:var(--zonos-elements-red-100);color:var(--zonos-elements-red-800)}:host .red.bold{background-color:var(--zonos-elements-red-600);color:var(--zonos-elements-red-100)}:host .orange{background-color:var(--zonos-elements-orange-100);color:var(--zonos-elements-orange-800);border:1px solid var(--zonos-elements-orange-200)}:host .orange.bold{background-color:var(--zonos-elements-orange-600);color:var(--zonos-elements-orange-100)}:host .purple{background-color:var(--zonos-elements-purple-100);color:var(--zonos-elements-purple-800)}:host .purple.bold{background-color:var(--zonos-elements-purple-600);color:var(--zonos-elements-purple-100)}:host .cyan{background-color:var(--zonos-elements-cyan-100);color:var(--zonos-elements-cyan-800)}:host .cyan.bold{background-color:var(--zonos-elements-cyan-600);color:var(--zonos-elements-cyan-100)}:host .transparent{background-color:transparent;border:1px solid var(--zonos-elements-gray-200);color:var(--zonos-elements-gray-800)}:host .transparent.bold{background-color:var(--zonos-elements-glass-600);color:var(--zonos-elements-gray-100)}:host .zonos--badge-dismiss{cursor:pointer}";var c=a;var i=o("zonos_badge",function(){function o(o){e(this,o);this.bold=false;this.badgeColor="gray";this.iconRight=false;this.size="default";this.rounded=false;this.loading=false}o.prototype.render=function(){var o=this;return s(n,{key:"219feb5a48098f89db6f6f338b54404a0d5368c6",class:t(["zonos--elements zonos--badge"]),style:{"--zonos--font-family":r()}},s("div",{key:"9e37e1cdeef718fcdd8ee8243ef29bebd42bbc71",class:t(["zonos--badge-content",this.badgeColor,this.rounded&&"rounded",this.iconRight&&"icon-right",this.size,this.bold&&"bold"])},this.icon,s("zonos-text",{key:"9c538e2fe65246332655820eee13b10e7c50327b",textColor:"".concat(this.badgeColor,"-800")},s("slot",{key:"df06a399a7541a63703383b8340c594541cb8067"})),this.dismissHandler&&s("zonos-icon",{key:"bc972c68bb3eb511282bd8988b6602f4604d3e39","aria-label":"Remove action",class:"zonos--badge-dismiss",content:l,onClick:function(){var e;return(e=o.dismissHandler)===null||e===void 0?void 0:e.call(o)}})))};return o}());i.style=c}}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,d as e,h as o,a as i}from"./p-ce75b047.js";import{b as n}from"./p-9eff0691.js";import{e as s,i as r,h as c,s as l,a}from"./p-37f47658.js";import{z as d,e as h,f as u}from"./p-f3cfd8fa.js";import{g as p,i as f,a as m}from"./p-e7b0c156.js";import{h as w,l as v}from"./p-41dd1cb8.js";import{l as g}from"./p-0a377722.js";import{a as y}from"./p-4c89d04a.js";import"./p-d28be518.js";import"./p-db3b101a.js";const S=t=>{const e=document.querySelector(t);if(!document.querySelector("zonos-hello")&&e){const t=document.createElement("zonos-hello");return e.appendChild(t),!0}return!1},b=t=>{switch(t){case"BOTTOM_RIGHT":default:return"bottom-right";case"BOTTOM_LEFT":return"bottom-left";case"TOP_LEFT":return"top-left";case"TOP_RIGHT":return"top-right"}},z=({position:t="bottom-right"})=>{const e=".zonos--hello-mobile-wrapper";if(document.querySelector(e))return e;const o=document.createElement("div");return o.className="zonos--hello-mobile-wrapper",o.style.position="fixed","top-right"===t&&(o.style.top="72px",o.style.right="24px"),"top-left"===t&&(o.style.top="72px",o.style.left="24px"),"bottom-right"===t&&(o.style.bottom="72px",o.style.right="24px"),"bottom-left"===t&&(o.style.bottom="72px",o.style.left="24px"),o.style.zIndex="2147483647",document.body.appendChild(o),e},j=async t=>{if(window.Zonos.isLegacyCheckout)return void g("Hello is disabled when isLegacyCheckout","info");const{anchorElementSelector:e}=t;let o=e;if(!t.anchorElementSelector&&t.desktopLocation){const t=z({position:"bottom-right"});o=t}if(o&&r(o)){if(g("Hello init complete"),!S(o)){const e=new MutationObserver((()=>{S(o)&&e.disconnect()}));e.observe(document.body,{childList:!0,subtree:!0}),setTimeout((()=>{S(o)}),1e3),setTimeout((()=>{if(t.notFoundElementFallback){g(`Hello anchor selector ${t.anchorElementSelector} not found after 3 seconds, falling back to 'notFoundElementFallback': ${t.notFoundElementFallback}`,"info");const e=z({position:b(t.notFoundElementFallback)});S(e)}}),3e3)}}else v(`Selector anchorElementSelector "${t.anchorElementSelector}" is not a valid selector.`)};class I{constructor(t,e){this.targetId=t,this.allowedEvents=e,this.listeners=new Map,this.handleMessage=t=>{var e,o,i;const n=t.data,s=(null===(e=this.iframe)||void 0===e?void 0:e.contentWindow)||(null===(i=null===(o=this.iframe)||void 0===o?void 0:o.contentDocument)||void 0===i?void 0:i.defaultView);if(t.source!==s)return;if(!this.isValidMessage(n))return;const r=this.listeners.get(n.type);null==r||r.forEach((t=>{try{t(n.payload)}catch(t){v("Error in event listener:",t)}}))},this.initializeEventListeners(),this.iframe=document.getElementById(this.targetId)}initializeEventListeners(){window.addEventListener("message",this.handleMessage)}isValidMessage(t){if(!t||"object"!=typeof t)return!1;const e=t;return e.id===this.targetId&&"string"==typeof e.type&&this.allowedEvents.includes(e.type)&&void 0!==e.payload}on(t,e){this.listeners.has(t)||this.listeners.set(t,new Set),g(`[CheckoutAddressService] listening to ${t}`,"info");const o=e,i=this.listeners.get(t);return i&&i.add(o),()=>{const e=this.listeners.get(t);e&&e.delete(o)}}destroy(){window.removeEventListener("message",this.handleMessage),this.listeners.clear()}}class O extends I{constructor(){g("=== [Google Places Service] Initializing","info"),super(f.GOOGLE_PLACES,["fetchAutocompleteSuggestions","initializeGooglePlacesService","placeSelected","onFetchAutocompleteSuggestions","onInitializeGooglePlacesService","onPlaceSelected"])}sendMessage(t,e){var o;if(!(null===(o=this.iframe)||void 0===o?void 0:o.contentWindow))return;const i={id:this.targetId,logType:window.Zonos.iframeLogType,payload:e,type:t};g(`GooglePlacesService] parent --\x3e ${t}`,"info",e),this.iframe.contentWindow.postMessage(i,"*")}initialize(){this.sendMessage("initializeGooglePlacesService",{})}fetchSuggestions({country:t,query:e,type:o}){t&&this.sendMessage("fetchAutocompleteSuggestions",{request:{includedRegionCodes:[t],input:e},type:o})}selectPlace({placeId:t,type:e}){this.sendMessage("placeSelected",{placeId:t,type:e})}}class C{constructor(){this.googlePlaceInitialized=!1,g("=== [CheckoutAddressService] Initializing","info"),this.googlePlaces=new O,this.googlePlaces.on("onInitializeGooglePlacesService",(()=>{g("=== [CheckoutAddressService] parent <-- onInitializeGooglePlacesService","info"),this.googlePlaceInitialized=!0})),this.initialize()}initialize(){this.googlePlaces.initialize()}onInitializeGooglePlacesService(t){return this.googlePlaces.on("onInitializeGooglePlacesService",(()=>{g("[CheckoutAddressService] parent <-- onInitializeGooglePlacesService"),t()}))}isGooglePlaceInitialized(){return this.googlePlaceInitialized}onAddressSuggestions(t){return this.suggestionsCallback=t,this.googlePlaces.on("onFetchAutocompleteSuggestions",((...e)=>{g(`[CheckoutAddressService] parent <-- onFetchAutocompleteSuggestions ${e[0].type}`,"info",...e),t(...e)}))}onAddressSelected(t){return this.placeSelectedCallback=t,this.googlePlaces.on("onPlaceSelected",((...e)=>{g(`[CheckoutAddressService] parent <-- onPlaceSelected ${e[0].type}`,"info",...e),t(...e)}))}getAddressSuggestions({country:t,query:e,type:o}){this.googlePlaceInitialized&&this.googlePlaces.fetchSuggestions({country:t,query:e,type:o})}selectAddress({placeId:t,type:e}){this.googlePlaces.selectPlace({placeId:t,type:e})}destroy(){this.googlePlaces.destroy(),this.suggestionsCallback&&(this.suggestionsCallback=void 0),this.placeSelectedCallback&&(this.placeSelectedCallback=void 0)}}const k=class{constructor(o){t(this,o),this.paypalInitEvent=e(this,"paypalInitEvent",7),this.stripeInitEvent=e(this,"stripeInitEvent",7)}async initCheckoutElement(t){var e;t?(n.stripe=t,((e=d.checkoutSettings).placeOrderButtonSelector||e.alwaysTriggerInternationalCheckoutSelector||window.Zonos.cartData)&&(!e.placeOrderButtonSelector||r(e.placeOrderButtonSelector)?!e.alwaysTriggerInternationalCheckoutSelector||r(e.alwaysTriggerInternationalCheckoutSelector)?(()=>{if(!document.querySelector("zonos-checkout")){const t=document.createElement("zonos-checkout");document.body.appendChild(t)}})():v(`Selector alwaysTriggerInternationalCheckoutSelector "${e.alwaysTriggerInternationalCheckoutSelector}" is not a valid selector`):v(`Selector checkoutButtonAnchor "${e.placeOrderButtonSelector}" is not a valid selector`)),g("init checkout element")):g("Stripe is not loaded yet - cannot init checkout element","warn")}async initCollectElement(t){t?(n.stripe=t,window.Zonos.cartData&&(()=>{if(!document.querySelector("zonos-collect")){const t=document.createElement("zonos-collect");document.body.appendChild(t)}})(),g("init Collect element")):g("Stripe is not loaded yet - cannot init Collect element","warn")}async initInvoiceElement(t){t?(n.stripe=t,window.Zonos.cartData&&(()=>{if(!document.querySelector("zonos-invoice")){const t=document.createElement("zonos-invoice");document.body.appendChild(t)}})(),g("init Invoice element")):g("Stripe is not loaded yet - cannot init Invoice element","warn")}initZonosNotification(){if(document.querySelector("zonos-notification"))return;const t=document.createElement("zonos-notification");document.body.appendChild(t)}async setupGoogleFont(t){var e,o;const i=t||u();if("Inter"===i){if(!t)return;g("[FONT] Just applied Inter , but no need to inject since we already inject Inter on start","warn"),d.appearance=Object.assign(Object.assign({},d.appearance),{fontFamily:t})}const n=new URLSearchParams;n.set("family",i);const{errors:s,json:r}=await w(`/api/zonos-elements/get-font-detail?${n.toString()}`);if(s.length>0)return g(`Failed to load font ${i}`,"warn"),void(d.appearance=Object.assign(Object.assign({},d.appearance),{fontFamily:"Inter"}));const c=null==r?void 0:r.fontUrl;c&&(null===(o=(e=window.Zonos).injectSupportGoogleFont)||void 0===o||o.call(e,c)),t&&(g(`[FONT] ${t} font override applied`),d.appearance=Object.assign(Object.assign({},d.appearance),{fontFamily:t}))}handleLocationChange(){j(d.helloSettings)}initHistoryListener(){const t=history.pushState;history.pushState=function(){return window.dispatchEvent(new window.Event("pushstate")),window.dispatchEvent(new window.Event("locationchange")),t.apply(this,arguments)};const e=history.replaceState;history.replaceState=function(){return window.dispatchEvent(new window.Event("replacestate")),window.dispatchEvent(new window.Event("locationchange")),e.apply(this,arguments)}}injectCustomHTML(t){if(!t)return;if(!window.Zonos.isLegacyCheckout||window.Zonos.isCollect||window.Zonos.isInvoice)return void g("=== Skip injecting custom HTML for hosted checkout","info");g("=== Injecting custom HTML for hosted checkout");const e=document.createElement("template");e.innerHTML=t,e.content.querySelectorAll("script").forEach((t=>{const e=document.createElement("script");t.src?(e.src=t.src,e.async=t.async):e.textContent=t.innerHTML,document.body.appendChild(e)})),y()}async initGooglePlacesService(t){const e=null==t?void 0:t.genericSettings;if(!e)return;const o=e.signedTokenGooglePlaces;o&&m({id:f.GOOGLE_PLACES,onload:()=>{d.checkoutAddressService=new C},src:`https://route.elements.zonos.com/iframe/google-maps?signedToken=${o}`})}buildBaseConfig(t){var e,o;const i=Object.assign(Object.assign({},this.config.checkoutSettings),{allowedSettlementCurrencies:void 0,captureDelay:void 0,subscriptionStatus:void 0});if(window.Zonos.isCollect||window.Zonos.isInvoice)return Object.assign(Object.assign({},this.config),{checkoutSettings:i,helloSettings:Object.assign(Object.assign({},this.config.helloSettings),{visibilityStatus:"DISABLED"})});if(!this.config.checkoutSettings)return Object.assign(Object.assign({},this.config),{checkoutSettings:void 0});const n=window.Zonos.isLegacyCheckout&&!!window.Zonos.cartData&&"CLOSE_MODAL"===(null===(e=this.config.checkoutSettings)||void 0===e?void 0:e.successBehavior);return Object.assign(Object.assign({},this.config),{checkoutSettings:Object.assign(Object.assign({},i),{successBehavior:n?"ZONOS_SUCCESS_PAGE":this.config.checkoutSettings.successBehavior,successRedirectUrl:n?(null===(o=window.Zonos.cartData)||void 0===o?void 0:o.storeBaseUrl)||(null==t?void 0:t.onlineStoreSettings.url):this.config.checkoutSettings.successRedirectUrl})})}async componentWillLoad(){this.initHistoryListener(),d.zonosApiKey=this.zonosApiKey,(async()=>{var t,e,o,i;const{errors:n,json:r,zonosMode:l}=await(async()=>{if(window.Zonos.cartSettings)return g("Reusing cached zonos settings"),{errors:[],json:window.Zonos.cartSettings,zonosMode:window.Zonos.zonosMode};const t=p(),e=new URLSearchParams;t.overrideShouldEnabledCustomAddress&&e.set("overrideShouldEnabledCustomAddress",t.overrideShouldEnabledCustomAddress);const o=s();o&&e.set("zCountry",o);const{errors:i,json:n,zonosMode:r}=await w(`/api/zonos-elements/zonos-settings?${e.toString()}`);return i.length?(v("Error occurred when getting zonos settings. If this is not an unauthorized error, it will use user settings or default settings"),{errors:i,json:null,zonosMode:r}):{errors:[],json:n,zonosMode:r}})();if("403"===(null===(e=null===(t=n[0])||void 0===t?void 0:t.type)||void 0===e?void 0:e.toString()))return void g("Failed to load zonos settings. This domain may not have access","warn");const a=(null===(o=null==r?void 0:r.checkoutSettings)||void 0===o?void 0:o.customHTML)||"";this.injectCustomHTML(a),this.initZonosNotification();const u=this.buildBaseConfig(r),f=Object.assign(Object.assign(Object.assign({},this.config),{appearance:Object.assign(Object.assign({},this.config.appearance),{logoUrl:(()=>{var t,e,o;return window.Zonos.isLegacyCheckout?(null===(t=null==r?void 0:r.appearanceSettings)||void 0===t?void 0:t.logoUrl)||(null===(e=this.config.appearance)||void 0===e?void 0:e.logoUrl):null===(o=this.config.appearance)||void 0===o?void 0:o.logoUrl})()})}),u);h({overrideSettings:f,zonosSettings:r}),d.zonosMode=l,this.setupGoogleFont(),"DISABLED"===d.helloSettings.visibilityStatus&&g("=== Hello is disabled by store owner ===","warn"),d.helloSettings&&"ENABLED"===d.helloSettings.visibilityStatus&&(g("Initializing hello"),j(d.helloSettings)),await c();const m=(null===(i=null==r?void 0:r.checkoutSettings)||void 0===i?void 0:i.externalServiceTokens.find((t=>"STRIPE_PUBLISHABLE_TOKEN"===t.type)))||null;if(m&&this.stripeInitEvent){if(window.Zonos.isCollect||window.Zonos.isInvoice)return this.stripeInitEvent.emit({publishableKey:m.token}),void this.initGooglePlacesService(r);if("INACTIVE"===d.checkoutSettings.subscriptionStatus)return g('=== Checkout subscription is "INACTIVE" - Cancel initializing for Checkout ===',"warn"),void g("zonos controller loaded");if("DISABLED"===d.checkoutSettings.visibilityStatus)return g("=== Checkout is disabled by store owner ===","warn"),void g("zonos controller loaded");this.stripeInitEvent.emit({publishableKey:m.token}),this.initGooglePlacesService(r)}else g("Checkout failed to load -- missing publishable key","warn")})()}async showNotification(t){const e=document.querySelector("zonos-notification");e?e.showNotification(t):g("Failed to show notification - zonos-notification not found","warn")}async reset(){l.checkoutSessionId=null,n.clientSecret=""}async overrideConfig(t){h({overrideSettings:t,zonosSettings:null})}async overrideCountry(t){g(`Override country code to ${t}`),a({isInitializing:!1,newSelectedCountryCode:t})}async getAppearanceSetting(){return d.appearance}async updateOrganizationName(t){d.organizationName=t}render(){return o(i,{key:"681a81baa59bfe91e9fe0927aee49fa720fcb35b",class:"zonos--elements"})}};k.style=":host{font-family:var(--zonos--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--zonos--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{visibility:hidden;opacity:0;height:0}";export{k as zonos_controller}
|
|
1
|
+
import{r as t,d as e,h as o,a as i}from"./p-ce75b047.js";import{b as n}from"./p-1d6f3ab9.js";import{e as s,i as r,h as c,s as l,a}from"./p-0efd2d5a.js";import{z as d,e as h,f as u}from"./p-f3cfd8fa.js";import{g as p,i as f,a as m}from"./p-e7b0c156.js";import{h as w,l as v}from"./p-41dd1cb8.js";import{l as g}from"./p-0a377722.js";import{a as y}from"./p-4c89d04a.js";import"./p-d28be518.js";import"./p-db3b101a.js";const b=t=>{const e=document.querySelector(t);if(!document.querySelector("zonos-hello")&&e){const t=document.createElement("zonos-hello");return e.appendChild(t),!0}return!1},S=t=>{switch(t){case"BOTTOM_RIGHT":default:return"bottom-right";case"BOTTOM_LEFT":return"bottom-left";case"TOP_LEFT":return"top-left";case"TOP_RIGHT":return"top-right"}},z=({position:t="bottom-right"})=>{const e=".zonos--hello-mobile-wrapper";if(document.querySelector(e))return e;const o=document.createElement("div");return o.className="zonos--hello-mobile-wrapper",o.style.position="fixed","top-right"===t&&(o.style.top="72px",o.style.right="24px"),"top-left"===t&&(o.style.top="72px",o.style.left="24px"),"bottom-right"===t&&(o.style.bottom="72px",o.style.right="24px"),"bottom-left"===t&&(o.style.bottom="72px",o.style.left="24px"),o.style.zIndex="2147483647",document.body.appendChild(o),e},j=async t=>{if(window.Zonos.isLegacyCheckout)return void g("Hello is disabled when isLegacyCheckout","info");const{anchorElementSelector:e}=t;let o=e;if(!t.anchorElementSelector&&t.desktopLocation){const t=z({position:"bottom-right"});o=t}if(o&&r(o)){if(g("Hello init complete"),!b(o)){const e=new MutationObserver((()=>{b(o)&&e.disconnect()}));e.observe(document.body,{childList:!0,subtree:!0}),setTimeout((()=>{b(o)}),1e3),setTimeout((()=>{if(t.notFoundElementFallback){g(`Hello anchor selector ${t.anchorElementSelector} not found after 3 seconds, falling back to 'notFoundElementFallback': ${t.notFoundElementFallback}`,"info");const e=z({position:S(t.notFoundElementFallback)});b(e)}}),3e3)}}else v(`Selector anchorElementSelector "${t.anchorElementSelector}" is not a valid selector.`)};class I{constructor(t,e){this.targetId=t,this.allowedEvents=e,this.listeners=new Map,this.handleMessage=t=>{var e,o,i;const n=t.data,s=(null===(e=this.iframe)||void 0===e?void 0:e.contentWindow)||(null===(i=null===(o=this.iframe)||void 0===o?void 0:o.contentDocument)||void 0===i?void 0:i.defaultView);if(t.source!==s)return;if(!this.isValidMessage(n))return;const r=this.listeners.get(n.type);null==r||r.forEach((t=>{try{t(n.payload)}catch(t){v("Error in event listener:",t)}}))},this.initializeEventListeners(),this.iframe=document.getElementById(this.targetId)}initializeEventListeners(){window.addEventListener("message",this.handleMessage)}isValidMessage(t){if(!t||"object"!=typeof t)return!1;const e=t;return e.id===this.targetId&&"string"==typeof e.type&&this.allowedEvents.includes(e.type)&&void 0!==e.payload}on(t,e){this.listeners.has(t)||this.listeners.set(t,new Set),g(`[CheckoutAddressService] listening to ${t}`,"info");const o=e,i=this.listeners.get(t);return i&&i.add(o),()=>{const e=this.listeners.get(t);e&&e.delete(o)}}destroy(){window.removeEventListener("message",this.handleMessage),this.listeners.clear()}}class O extends I{constructor(){g("=== [Google Places Service] Initializing","info"),super(f.GOOGLE_PLACES,["fetchAutocompleteSuggestions","initializeGooglePlacesService","placeSelected","onFetchAutocompleteSuggestions","onInitializeGooglePlacesService","onPlaceSelected"])}sendMessage(t,e){var o;if(!(null===(o=this.iframe)||void 0===o?void 0:o.contentWindow))return;const i={id:this.targetId,logType:window.Zonos.iframeLogType,payload:e,type:t};g(`GooglePlacesService] parent --\x3e ${t}`,"info",e),this.iframe.contentWindow.postMessage(i,"*")}initialize(){this.sendMessage("initializeGooglePlacesService",{})}fetchSuggestions({country:t,query:e,type:o}){t&&this.sendMessage("fetchAutocompleteSuggestions",{request:{includedRegionCodes:[t],input:e},type:o})}selectPlace({placeId:t,type:e}){this.sendMessage("placeSelected",{placeId:t,type:e})}}class C{constructor(){this.googlePlaceInitialized=!1,g("=== [CheckoutAddressService] Initializing","info"),this.googlePlaces=new O,this.googlePlaces.on("onInitializeGooglePlacesService",(()=>{g("=== [CheckoutAddressService] parent <-- onInitializeGooglePlacesService","info"),this.googlePlaceInitialized=!0})),this.initialize()}initialize(){this.googlePlaces.initialize()}onInitializeGooglePlacesService(t){return this.googlePlaces.on("onInitializeGooglePlacesService",(()=>{g("[CheckoutAddressService] parent <-- onInitializeGooglePlacesService"),t()}))}isGooglePlaceInitialized(){return this.googlePlaceInitialized}onAddressSuggestions(t){return this.suggestionsCallback=t,this.googlePlaces.on("onFetchAutocompleteSuggestions",((...e)=>{g(`[CheckoutAddressService] parent <-- onFetchAutocompleteSuggestions ${e[0].type}`,"info",...e),t(...e)}))}onAddressSelected(t){return this.placeSelectedCallback=t,this.googlePlaces.on("onPlaceSelected",((...e)=>{g(`[CheckoutAddressService] parent <-- onPlaceSelected ${e[0].type}`,"info",...e),t(...e)}))}getAddressSuggestions({country:t,query:e,type:o}){this.googlePlaceInitialized&&this.googlePlaces.fetchSuggestions({country:t,query:e,type:o})}selectAddress({placeId:t,type:e}){this.googlePlaces.selectPlace({placeId:t,type:e})}destroy(){this.googlePlaces.destroy(),this.suggestionsCallback&&(this.suggestionsCallback=void 0),this.placeSelectedCallback&&(this.placeSelectedCallback=void 0)}}const k=class{constructor(o){t(this,o),this.paypalInitEvent=e(this,"paypalInitEvent",7),this.stripeInitEvent=e(this,"stripeInitEvent",7)}async initCheckoutElement(t){var e;t?(n.stripe=t,((e=d.checkoutSettings).placeOrderButtonSelector||e.alwaysTriggerInternationalCheckoutSelector||window.Zonos.cartData)&&(!e.placeOrderButtonSelector||r(e.placeOrderButtonSelector)?!e.alwaysTriggerInternationalCheckoutSelector||r(e.alwaysTriggerInternationalCheckoutSelector)?(()=>{if(!document.querySelector("zonos-checkout")){const t=document.createElement("zonos-checkout");document.body.appendChild(t)}})():v(`Selector alwaysTriggerInternationalCheckoutSelector "${e.alwaysTriggerInternationalCheckoutSelector}" is not a valid selector`):v(`Selector checkoutButtonAnchor "${e.placeOrderButtonSelector}" is not a valid selector`)),g("init checkout element")):g("Stripe is not loaded yet - cannot init checkout element","warn")}async initCollectElement(t){t?(n.stripe=t,window.Zonos.cartData&&(()=>{if(!document.querySelector("zonos-collect")){const t=document.createElement("zonos-collect");document.body.appendChild(t)}})(),g("init Collect element")):g("Stripe is not loaded yet - cannot init Collect element","warn")}async initInvoiceElement(t){t?(n.stripe=t,window.Zonos.cartData&&(()=>{if(!document.querySelector("zonos-invoice")){const t=document.createElement("zonos-invoice");document.body.appendChild(t)}})(),g("init Invoice element")):g("Stripe is not loaded yet - cannot init Invoice element","warn")}initZonosNotification(){if(document.querySelector("zonos-notification"))return;const t=document.createElement("zonos-notification");document.body.appendChild(t)}async setupGoogleFont(t){var e,o;const i=t||u();if("Inter"===i){if(!t)return;g("[FONT] Just applied Inter , but no need to inject since we already inject Inter on start","warn"),d.appearance=Object.assign(Object.assign({},d.appearance),{fontFamily:t})}const n=new URLSearchParams;n.set("family",i);const{errors:s,json:r}=await w(`/api/zonos-elements/get-font-detail?${n.toString()}`);if(s.length>0)return g(`Failed to load font ${i}`,"warn"),void(d.appearance=Object.assign(Object.assign({},d.appearance),{fontFamily:"Inter"}));const c=null==r?void 0:r.fontUrl;c&&(null===(o=(e=window.Zonos).injectSupportGoogleFont)||void 0===o||o.call(e,c)),t&&(g(`[FONT] ${t} font override applied`),d.appearance=Object.assign(Object.assign({},d.appearance),{fontFamily:t}))}handleLocationChange(){j(d.helloSettings)}initHistoryListener(){const t=history.pushState;history.pushState=function(){return window.dispatchEvent(new window.Event("pushstate")),window.dispatchEvent(new window.Event("locationchange")),t.apply(this,arguments)};const e=history.replaceState;history.replaceState=function(){return window.dispatchEvent(new window.Event("replacestate")),window.dispatchEvent(new window.Event("locationchange")),e.apply(this,arguments)}}injectCustomHTML(t){if(!t)return;if(!window.Zonos.isLegacyCheckout||window.Zonos.isCollect||window.Zonos.isInvoice)return void g("=== Skip injecting custom HTML for hosted checkout","info");g("=== Injecting custom HTML for hosted checkout");const e=document.createElement("template");e.innerHTML=t,e.content.querySelectorAll("script").forEach((t=>{const e=document.createElement("script");t.src?(e.src=t.src,e.async=t.async):e.textContent=t.innerHTML,document.body.appendChild(e)})),y()}async initGooglePlacesService(t){const e=null==t?void 0:t.genericSettings;if(!e)return;const o=e.signedTokenGooglePlaces;o&&m({id:f.GOOGLE_PLACES,onload:()=>{d.checkoutAddressService=new C},src:`https://route.elements.zonos.com/iframe/google-maps?signedToken=${o}`})}buildBaseConfig(t){var e,o;const i=Object.assign(Object.assign({},this.config.checkoutSettings),{allowedSettlementCurrencies:void 0,captureDelay:void 0,subscriptionStatus:void 0});if(window.Zonos.isCollect||window.Zonos.isInvoice)return Object.assign(Object.assign({},this.config),{checkoutSettings:i,helloSettings:Object.assign(Object.assign({},this.config.helloSettings),{visibilityStatus:"DISABLED"})});if(!this.config.checkoutSettings)return Object.assign(Object.assign({},this.config),{checkoutSettings:void 0});const n=window.Zonos.isLegacyCheckout&&!!window.Zonos.cartData&&"CLOSE_MODAL"===(null===(e=this.config.checkoutSettings)||void 0===e?void 0:e.successBehavior);return Object.assign(Object.assign({},this.config),{checkoutSettings:Object.assign(Object.assign({},i),{successBehavior:n?"ZONOS_SUCCESS_PAGE":this.config.checkoutSettings.successBehavior,successRedirectUrl:n?(null===(o=window.Zonos.cartData)||void 0===o?void 0:o.storeBaseUrl)||(null==t?void 0:t.onlineStoreSettings.url):this.config.checkoutSettings.successRedirectUrl})})}async componentWillLoad(){this.initHistoryListener(),d.zonosApiKey=this.zonosApiKey,(async()=>{var t,e,o,i;const{errors:n,json:r,zonosMode:l}=await(async()=>{if(window.Zonos.cartSettings)return g("Reusing cached zonos settings"),{errors:[],json:window.Zonos.cartSettings,zonosMode:window.Zonos.zonosMode};const t=p(),e=new URLSearchParams;t.overrideShouldEnabledCustomAddress&&e.set("overrideShouldEnabledCustomAddress",t.overrideShouldEnabledCustomAddress);const o=s();o&&e.set("zCountry",o);const{errors:i,json:n,zonosMode:r}=await w(`/api/zonos-elements/zonos-settings?${e.toString()}`);return i.length?(v("Error occurred when getting zonos settings. If this is not an unauthorized error, it will use user settings or default settings"),{errors:i,json:null,zonosMode:r}):{errors:[],json:n,zonosMode:r}})();if("403"===(null===(e=null===(t=n[0])||void 0===t?void 0:t.type)||void 0===e?void 0:e.toString()))return void g("Failed to load zonos settings. This domain may not have access","warn");const a=(null===(o=null==r?void 0:r.checkoutSettings)||void 0===o?void 0:o.customHTML)||"";this.injectCustomHTML(a),this.initZonosNotification();const u=this.buildBaseConfig(r),f=Object.assign(Object.assign(Object.assign({},this.config),{appearance:Object.assign(Object.assign({},this.config.appearance),{logoUrl:(()=>{var t,e,o;return window.Zonos.isLegacyCheckout?(null===(t=null==r?void 0:r.appearanceSettings)||void 0===t?void 0:t.logoUrl)||(null===(e=this.config.appearance)||void 0===e?void 0:e.logoUrl):null===(o=this.config.appearance)||void 0===o?void 0:o.logoUrl})()})}),u);h({overrideSettings:f,zonosSettings:r}),d.zonosMode=l,this.setupGoogleFont(),"DISABLED"===d.helloSettings.visibilityStatus&&g("=== Hello is disabled by store owner ===","warn"),d.helloSettings&&"ENABLED"===d.helloSettings.visibilityStatus&&(g("Initializing hello"),j(d.helloSettings)),await c();const m=(null===(i=null==r?void 0:r.checkoutSettings)||void 0===i?void 0:i.externalServiceTokens.find((t=>"STRIPE_PUBLISHABLE_TOKEN"===t.type)))||null;if(m&&this.stripeInitEvent){if(window.Zonos.isCollect||window.Zonos.isInvoice)return this.stripeInitEvent.emit({publishableKey:m.token}),void this.initGooglePlacesService(r);if("INACTIVE"===d.checkoutSettings.subscriptionStatus)return g('=== Checkout subscription is "INACTIVE" - Cancel initializing for Checkout ===',"warn"),void g("zonos controller loaded");if("DISABLED"===d.checkoutSettings.visibilityStatus)return g("=== Checkout is disabled by store owner ===","warn"),void g("zonos controller loaded");this.stripeInitEvent.emit({publishableKey:m.token}),this.initGooglePlacesService(r)}else g("Checkout failed to load -- missing publishable key","warn")})()}async showNotification(t){const e=document.querySelector("zonos-notification");e?e.showNotification(t):g("Failed to show notification - zonos-notification not found","warn")}async reset(){l.checkoutSessionId=null,n.clientSecret=""}async overrideConfig(t){h({overrideSettings:t,zonosSettings:null})}async overrideCountry(t){g(`Override country code to ${t}`),a({isInitializing:!1,newSelectedCountryCode:t})}async getAppearanceSetting(){return d.appearance}async updateOrganizationName(t){d.organizationName=t}render(){return o(i,{key:"681a81baa59bfe91e9fe0927aee49fa720fcb35b",class:"zonos--elements"})}};k.style=":host{font-family:var(--zonos--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--zonos--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{visibility:hidden;opacity:0;height:0}";export{k as zonos_controller}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,z as t}from"./p-f3cfd8fa.js";import{s as o,l as n,e as r,t as s,f as i,b as a}from"./p-37f47658.js";import{l as d,b as l}from"./p-0a377722.js";import{h as c,l as u,f as m,g as v,a as p,s as h,j as y}from"./p-41dd1cb8.js";import{i as f}from"./p-d28be518.js";import{g as w}from"./p-db3b101a.js";const g=async()=>{if(!o.checkoutSessionId)return{errors:[{message:"No checkout session id found"}],json:null};const e=new URLSearchParams;e.set("checkoutSessionId",o.checkoutSessionId);const{errors:t,json:n}=await c(`/api/zonos-elements/get-checkout-session?${e.toString()}`);return{errors:t,json:n}},{reset:b,state:S}=e((()=>({amountToApply:null,appliedAmount:null,availableBalance:null,error:null,isApplying:!1,isEnabled:!1,orderIdCreated:null,remainingBalance:null,useFullBalance:!0}))),C=()=>{b()},O=e=>{d("Store credit balance from session","info",e),S.availableBalance=e},A=async()=>{var e,t;const{errors:o,json:n}=await g();if(o.length||!n)return void u("Failed to refresh store credit balance");const r=null!==(t=null===(e=n.checkoutSession.customerProfile)||void 0===e?void 0:e.storeCreditBalance)&&void 0!==t?t:null;O(r)},I=async()=>{var e;const t=o.checkoutSessionId;if(!t){const e="No checkout session found";return u(e),S.error=e,{error:e,success:!1}}d("Applying store credit","info",{checkoutSessionId:t}),S.isApplying=!0,S.error=null;try{const{errors:o,json:n}=await c("/api/zonos-elements/store-credit/apply",{body:{checkoutSessionId:t},method:"POST"});if(o.length>0||!n){const t=(null===(e=o[0])||void 0===e?void 0:e.message)||"Failed to apply store credit";return u(t),S.error=t,S.isApplying=!1,{error:t,success:!1}}return S.appliedAmount=n.amountApplied,S.remainingBalance=n.remainingBalance,S.isApplying=!1,d("Store credit applied","info",{amountApplied:n.amountApplied,remainingBalance:n.remainingBalance}),{error:null,success:!0}}catch(e){const t=e instanceof Error?e.message:"Failed to apply store credit";return u(t),S.error=t,S.isApplying=!1,{error:t,success:!1}}},k=e=>{S.isEnabled=e,S.error=null,e||(S.amountToApply=null)},N=e=>{if(null===e)return S.amountToApply=null,void(S.error=null);e<=0?S.error="Amount must be greater than zero":null!==S.availableBalance&&e>S.availableBalance?S.error="Amount exceeds available balance":e>we.total+(we.storeCredit||0)?S.error="Amount exceeds order total":(S.error=null,S.amountToApply=e)},T=e=>{if(S.useFullBalance=e,S.error=null,e&&null!==S.availableBalance){const e=Math.min(S.availableBalance,we.total+(we.storeCredit||0));S.amountToApply=e}else e||(S.amountToApply=null)},j=()=>S.isEnabled&&null!==S.availableBalance?S.useFullBalance?Math.min(S.availableBalance,we.total+(we.storeCredit||0)):S.amountToApply||0:0,E=()=>null!==S.amountToApply&&S.amountToApply>0&&we.storeCredit>0&&we.total<=0,P=async()=>{var e,t,n;const r=o.checkoutSessionId;if(!r){const e="No checkout session found";return u(e),S.error=e,{error:e,orderId:null,success:!1}}d("Creating store credit order","info",{checkoutSessionId:r});try{const{errors:o,json:s}=await c("/api/zonos-elements/store-credit/order-create",{body:{checkoutSessionId:r},method:"POST"});if(o.length>0||!s){const t=(null===(e=o[0])||void 0===e?void 0:e.message)||"Failed to create store credit order";return u(t),S.error=t,{error:t,orderId:null,success:!1}}const i=(null===(n=null===(t=s.checkoutSessionStoreCreditOrderCreate)||void 0===t?void 0:t.order)||void 0===n?void 0:n.id)||null;return S.orderIdCreated=i,d("Store credit order created","info",{orderId:i}),{error:null,orderId:i,success:!0}}catch(e){const t=e instanceof Error?e.message:"Failed to create store credit order";return u(t),S.error=t,{error:t,orderId:null,success:!1}}},D=({firstName:e,lastName:t,name:o})=>{var n;if(!o&&!e&&!t)return{firstName:"",lastName:""};const r=(null==o?void 0:o.split(/\s+/))||[];return{firstName:(null==e?void 0:e.trim())||(null===(n=r[0])||void 0===n?void 0:n.trim())||"",lastName:(null==t?void 0:t.trim())||r.slice(1).join(" ").trim()||""}},L=({currentAddress:e,translatedAddress:t})=>{var o,n,r,s,i,a;const{city:d,country:l,line1:c,line2:u,postal_code:m,state:v}=e.value.address,p=e.value.name||[e.value.firstName,e.value.lastName].join(" ");return{city:(null===(o=t.city)||void 0===o?void 0:o[d])||d,country:l,line1:(null===(n=t.line1)||void 0===n?void 0:n[c])||c,line2:(null===(r=t.line2)||void 0===r?void 0:r[u||""])||u||"",name:(null===(s=t.name)||void 0===s?void 0:s[p])||p,phone:e.value.phone||"",postal_code:(null===(i=t.postal_code)||void 0===i?void 0:i[m])||m,state:(null===(a=t.state)||void 0===a?void 0:a[v])||v}},x=e=>{var t;const s="1"===new URLSearchParams(window.location.search).get("zonosE2ETest"),i=q.stripeLinkEventData,a=q.stripeAddressEventData,d=q.stripeShippingSameAsBilling?q.stripeAddressEventData:q.stripeBillingAddressEventData;if(!a||!d)throw new Error("Missing stripe address data");const l=L({currentAddress:a,translatedAddress:q.translatedAddress.address}),{firstName:c,lastName:u}=D({name:l.name}),m=L({currentAddress:d,translatedAddress:q.translatedAddress.address}),{firstName:v,lastName:p}=D({name:m.name}),h=r()||"US";return{billingAddress:{addressLine1:m.line1,addressLine2:m.line2||"",city:m.city,country:m.country,postalCode:m.postal_code,state:m.state},billingContact:{firstName:v,lastName:p,phone:m.phone},cartCurrencyCode:null===(t=we.items[0])||void 0===t?void 0:t.currencyCode,cartId:e,checkoutSessionCountry:h||n.selectedCountryCode||void 0,checkoutSessionId:o.checkoutSessionId||"",contact:{companyName:q.companyName,email:null==i?void 0:i.value.email,firstName:c,lastName:u,phone:l.phone},isTest:!!s,landedCostAdjustments:we.promoCode?[{amount:0,productId:null,promoCode:we.promoCode,sku:null,type:"PROMO_CODE"}]:[],shipToShortAddressCode:q.shortAddressCode,shipToTaxId:q.taxId,shippingAddress:{addressLine1:l.line1,addressLine2:l.line2,city:l.city,country:l.country,postalCode:l.postal_code,state:l.state}}},R=()=>{const e="1"===new URLSearchParams(window.location.search).get("zonosE2ETest"),t=q.stripeLinkEventData,n=q.stripeAddressEventData,r=q.stripeShippingSameAsBilling?q.stripeAddressEventData:q.stripeBillingAddressEventData;if(d({stripeAddressData:n,stripeBillingAddressData:r},"info"),!n||!r)throw new Error("Missing stripe address data");const s=L({currentAddress:n,translatedAddress:q.translatedAddress.address}),{firstName:i,lastName:a}=D({name:s.name}),l=L({currentAddress:r,translatedAddress:q.translatedAddress.address}),{firstName:c,lastName:u}=D({name:l.name}),m=we.adjustments.map((e=>({amount:e.amount,name:e.description||null,productId:e.productId,sku:e.sku,type:e.type}))),v=we.promoCode?[{amount:0,productId:null,promoCode:we.promoCode,sku:null,type:"PROMO_CODE"},...m]:m;return{billingAddress:{addressLine1:l.line1,addressLine2:l.line2||"",city:l.city,country:l.country,postalCode:l.postal_code,state:l.state},billingContact:{firstName:c,lastName:u,phone:l.phone},checkoutSessionId:o.checkoutSessionId||"",contact:{companyName:q.companyName,email:null==t?void 0:t.value.email,firstName:i,lastName:a,phone:s.phone},isTest:e,items:we.items,landedCostAdjustments:v,shipToShortAddressCode:q.shortAddressCode,shipToTaxId:q.taxId,shippingAddress:{addressLine1:s.line1,addressLine2:s.line2,city:s.city,country:s.country,postalCode:s.postal_code,state:s.state}}};const z=async e=>{const o=window.Zonos.cartId;if(!o)return await(async e=>{var o;const n=t.checkoutSettings.buildLandedCost;if(n){const e=await(async e=>{var t,o,n,r,s;const i=R(),a=await e({billingAddress:i.billingAddress,billingContact:i.billingContact,checkoutSessionId:i.checkoutSessionId,contact:i.contact,landedCostAdjustments:i.landedCostAdjustments,publicCredential:window.Zonos.zonosApiKey||"",shippingAddress:i.shippingAddress,zonosApiRoute:m.vercel},{promoCode:we.promoCode});if(!a||!(null===(t=a.checkoutSessionWorkflow)||void 0===t?void 0:t.length)&&(null===(o=a.errors)||void 0===o?void 0:o.length))throw new Error(`Failed to build landed cost: ${(null===(r=null===(n=null==a?void 0:a.errors)||void 0===n?void 0:n[0])||void 0===r?void 0:r.message)||"Unknown error"}`);const{errors:d,json:l}=await c("/api/zonos-elements/validate-landed-cost",{body:a,headers:{"Content-Type":"application/json"},method:"POST"});if(!l||d.length)throw new Error(`Invalid landed cost object: ${(null===(s=d.find(Boolean))||void 0===s?void 0:s.message)||"Unknown error"}`);return a})(n);return e}const{errors:r,json:s}=await c("/api/zonos-elements/calculate-landed-cost",{body:R(),method:"POST",signal:null==e?void 0:e.signal});if(r.length||!s){if("The user aborted a request."===(null===(o=r[0])||void 0===o?void 0:o.message))throw new Error("The landed cost calculation request was aborted to initiate a new one.");if(r.forEach((e=>{console.warn(`Error calculating landed cost: ${e.message}`)})),!s)throw new Error("Failed to calculate landed cost");return s}return s})(e);const n=await(async({abortController:e,cartId:t})=>{var o,n,r,s,i;const{errors:a,json:d}=await c("/api/zonos-elements/cart-calculate-landed-cost",{body:x(t),method:"POST",signal:null==e?void 0:e.signal});if(a.length||!d){const e="string"==typeof(null===(o=a[0])||void 0===o?void 0:o.message)&&("The user aborted a request."===(null===(n=a[0])||void 0===n?void 0:n.message)||(null===(r=a[0])||void 0===r?void 0:r.message.includes("signal is aborted"))||(null===(s=a[0])||void 0===s?void 0:s.message.includes("The operation was aborted"))||(null===(i=a[0])||void 0===i?void 0:i.message.includes("Fetch is aborted")));throw new Error(e?"The landed cost calculation request was aborted to initiate a new one.":"Failed to calculate landed cost")}return d})({abortController:e,cartId:o}),{cartWorkflow:r}=n,s=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]])}return o}(n,["cartWorkflow"]);return Object.assign(Object.assign({},s),{itemCreateWorkflow:r.items})},U=async({checkoutSessionId:e,eventName:o,metadata:r})=>{var s,i;const a=Date.now(),d=[...window.Zonos.trackEventLogs];window.Zonos.trackEventLogs.push({checkoutSessionId:e,eventCreated:a,eventName:o});const u=window.location.href.includes("zonos.com")&&!window.location.href.includes("checkout.zonos.com")||!!(null===(s=window.Zonos)||void 0===s?void 0:s.zonosQaUrl)||!!(null===(i=window.Zonos)||void 0===i?void 0:i.debug);if((v()||p()||u)&&!window.Zonos.zonosConversionTest)return;const m=n.selectedCountryCode,y=t.organizationId;if(!e)return void h({endpoint:"trackConversionEventMetric",errors:[`Event "${o}" - No checkout session id found`],metadata:{allLogs:l,checkoutSessionId:e,eventName:o,metadata:r,organizationId:y,trackEventLogs:d}});y||h({endpoint:"trackConversionEventMetric",errors:[`Event "${o}" - No organization id found`],metadata:{allLogs:l,checkoutSessionId:e,eventName:o,metadata:r,organizationId:y,trackEventLogs:d}});const f={checkoutSessionId:e,countryCode:m,eventCreated:a,eventName:o,metadata:Object.assign(Object.assign({},r),{trackEventLogs:d}),organizationId:y};await c("/api/zonos-elements/track-conversion-event",{body:f,method:"POST"})},_=({address:e,invalidAdddressList:t})=>{if(!e)return;if(!t)return;const o={};return t.city&&(o.city=e.city),t.line1&&(o.line1=e.line1),t.line2&&(o.line2=e.line2),t.postal_code&&(o.postal_code=e.postal_code),t.state&&(o.state=e.state),t.name&&(o.name=e.name),Object.keys(o).length?o:void 0},B=e=>e.sort(((e,t)=>e.amount-t.amount)),F=async()=>{var e;const{errors:t,json:o}=await g();return t.length||!o?(u("Failed to retrieve checkout session info before confirming payment ",t),h({endpoint:"validateCheckoutSession",errors:t.map((e=>e.message)),metadata:{allLogs:l}}),{errorMessage:s("Unable to retrieve the checkout session at the moment. Please try again or contact our support team."),valid:!1}):(null===(e=o.checkoutSession.landedCost)||void 0===e?void 0:e.id)?{errorMessage:"",valid:!0}:(u("Landed cost is not found in the checkout session before confirming payment."),h({endpoint:"validateCheckoutSession",errors:["No landed cost found before confirming payment"],metadata:{allLogs:l}}),{errorMessage:s('No shipment rating selected. Please go back to the "Shipping" step and select a shipment rating to proceed.'),valid:!1})},J=({theme:e})=>{const o={".AccordionItem":{color:"var(--colorText)"},".AccordionItem--selected":{color:"var(--colorText)"},".Action":{color:"var(--colorText)"},".Input":{boxShadow:"none",fontSize:t.appearance.fontSizeInputValue?`${t.appearance.fontSizeInputValue}px`:void 0,padding:"0",paddingBottom:"8px",paddingLeft:"16px",paddingRight:"8px",paddingTop:"6px"},".Label--resting":{fontSize:t.appearance.fontSizeInputLabel?`${t.appearance.fontSizeInputLabel}px`:void 0},".PickerItem--highlight":{boxShadow:"0 0 0 2px var(--colorBackground)"},".PickerItem--highlight:hover":{backgroundColor:"var(--colorBackground)",boxShadow:"none"},".PickerItem--new":{color:"var(--colorText)"},".Tab--selected":{borderStyle:"solid",borderWidth:"1px"}};return"DARK"===e?Object.assign(Object.assign({},o),{".Action":Object.assign(Object.assign({},o[".Action"]),{color:"white"}),".PickerItem--new":Object.assign(Object.assign({},o[".PickerItem--new"]),{color:"white"})}):o},M=({borderStyle:e,theme:t})=>"DARK"===t?{borderRadius:w({overrideBorderStyle:e}),colorBackground:"#101117",colorBackgroundText:"#C5C6CA",colorText:"#C5C6CA",colorTextPlaceholder:"#C5C6CA"}:{borderRadius:w({overrideBorderStyle:e}),iconMenuColor:"var(--colorText)",iconMenuHoverColor:"var(--colorText)"},{onChange:W,reset:$,state:q}=e((()=>({checkoutSettlementCurrency:"USD",clientSecret:sessionStorage.getItem("zonos--client-secret")||"",companyName:"",companyNameUsedWhenAsyncAddressUpdate:"",customAddressErrors:{city:"",firstName:"",lastName:"",line1:"",phone:"",postalCode:"",showError:!1,state:""},customBillingAddressErrors:{city:"",firstName:"",lastName:"",line1:"",phone:"",postalCode:"",showError:!1,state:""},customErrorMessage:null,customerProfile:null,fetchingLandedCostAbortController:null,hasPaymentError:!1,isFetchingLandedCost:!1,isFetchingSession:!1,partyBillingId:null,partyShippingId:null,shortAddressCode:"",shouldInventoryRefund:!1,shouldRenderPayInUsdButton:!1,skipPaymentIntent:"0"!==new URLSearchParams(window.location.search).get("skipPaymentIntent"),stripe:null,stripeAddressElement:null,stripeAddressEventData:null,stripeAddressUsedWhenAsyncAddressUpdate:null,stripeAddressUsedWhenFetchingLC:null,stripeAddressUsedWhenValidatingAddress:null,stripeBillingAddressElement:null,stripeBillingAddressEventData:null,stripeBillingAddressUsedWhenAsyncAddressUpdate:null,stripeBillingAddressUsedWhenFetchingLC:null,stripeBillingAddressUsedWhenValidatingAddress:null,stripeCustomerSessionClientSecret:null,stripeElements:null,stripeElementsForBillingAddress:null,stripeElementsOptions:null,stripeLinkElement:null,stripeLinkEventData:null,stripeLinkUsedWhenFetchingLC:null,stripePaymentElement:null,stripePaymentEventData:null,stripeShippingSameAsBilling:!0,taxId:"",taxIdUsedWhenAsyncAddressUpdate:"",translatedAddress:{address:{},billingAddress:{},firstName:{},lastName:{},name:{}}}))),Y=()=>{window.sessionStorage.removeItem("zonos--bigcommerce-domestic-checkout-shipping")},H=e=>{window.sessionStorage.setItem("zonos--bigcommerce-domestic-checkout-shipping",JSON.stringify(e))},K=()=>{const e=window.sessionStorage.getItem("zonos--bigcommerce-domestic-checkout-shipping");return y(e)},G=async e=>{var o,r;const s=q.clientSecret;if(!q.stripe)return void d("Skip. Stripe is not initialized");const i=(({clientSecret:e,overrideBorderRadius:o,overridePrimaryColor:r,overrideSecondaryColor:s,overrideTheme:i,paypalEnabled:a})=>{const d=r||t.appearance.colorPrimary,l=s||t.appearance.colorSecondary,c=(window.Zonos.isCollect||window.Zonos.isInvoice?"DARK"===t.appearance.theme:d&&f(d))?"night":"flat",u="DARK"===i?"night":"flat",m=a?["external_paypal"]:[];return{appearance:{labels:"floating",rules:Object.assign({},J({theme:i||"LIGHT"})),theme:i?u:c,variables:Object.assign(Object.assign({},M({borderStyle:o,theme:"LIGHT"})),{colorPrimary:l})},clientSecret:e||void 0,customerSessionClientSecret:q.stripeCustomerSessionClientSecret||void 0,externalPaymentMethodTypes:[...m],locale:n.selectedLocale}})({clientSecret:s,overrideBorderRadius:null==e?void 0:e.overrideBorderRadius,overridePrimaryColor:null==e?void 0:e.overridePrimaryColor,overrideSecondaryColor:null==e?void 0:e.overrideSecondaryColor,overrideTheme:null==e?void 0:e.overrideTheme,paypalEnabled:null==e?void 0:e.paypalEnabled}),a=JSON.stringify(i)===JSON.stringify(q.stripeElementsOptions);if(!q.stripeElements||!q.stripeElementsForBillingAddress)return q.stripeElementsForBillingAddress=null===(o=q.stripe)||void 0===o?void 0:o.elements(i),d("Stripe elements for billing address initialized"),q.stripeElements=null===(r=q.stripe)||void 0===r?void 0:r.elements(i),q.stripeElementsOptions=i,void d("Stripe elements initialized");a||(q.stripeElements.update(i),q.stripeElementsForBillingAddress.update(i),q.stripeElementsOptions=i,q.stripeElements.fetchUpdates()),d("Stripe elements updated")},V=()=>{sessionStorage.removeItem("zonos--client-secret"),$(),q.stripe=window.Zonos.stripe},Z=({address:e,firstName:t,lastName:n,name:r,phone:s})=>{const{firstName:i,lastName:a}=D({firstName:t,lastName:n,name:r});return i&&a||h({endpoint:"PARTY_CREATE_NO_NAME_FOUND",errors:["No name found"],metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId,firstName:t,lastName:n,name:r}}),s||h({endpoint:"PARTY_CREATE_NO_PHONE_FOUND",errors:["No phone found"],metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId,phone:s}}),{city:e.city,country:e.country,firstName:i,lastName:a,line1:e.line1,line2:e.line2,phone:s||"",postal_code:e.postal_code,state:e.state}},Q=async()=>{var e,t,n,r;if(!(null===(e=q.stripeAddressEventData)||void 0===e?void 0:e.complete)||!q.stripeShippingSameAsBilling&&!(null===(t=q.stripeBillingAddressEventData)||void 0===t?void 0:t.complete)||!q.stripeBillingAddressEventData)return{partiesCreated:!1};if(!we.landedCostData)return{partiesCreated:!1};const s=null===(n=we.landedCostData.find(Boolean))||void 0===n?void 0:n.landedCost.rootId;if(!s)return h({endpoint:"PF_NO_SELECTED_LANDED_COST",errors:["No selected landed cost"],metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId}}),{partiesCreated:!1};const i=(()=>{var e,t,o,n,r,s,i,a;const d=null===(e=we.partiesData.find((e=>"DESTINATION"===e.type)))||void 0===e?void 0:e.id,l=null===(t=we.partiesData.find((e=>"PAYOR"===e.type)))||void 0===t?void 0:t.id;if(!d||!l)return!1;if(q.partyShippingId!==d||q.partyBillingId!==l)return!0;const c=JSON.stringify(null===(o=q.stripeLinkUsedWhenFetchingLC)||void 0===o?void 0:o.value)!==JSON.stringify(null===(n=q.stripeLinkEventData)||void 0===n?void 0:n.value),u=JSON.stringify(null===(r=q.stripeAddressUsedWhenAsyncAddressUpdate)||void 0===r?void 0:r.value)!==JSON.stringify(null===(s=q.stripeAddressEventData)||void 0===s?void 0:s.value),m=!q.stripeShippingSameAsBilling&&JSON.stringify(null===(i=q.stripeBillingAddressUsedWhenAsyncAddressUpdate)||void 0===i?void 0:i.value)!==JSON.stringify(null===(a=q.stripeBillingAddressEventData)||void 0===a?void 0:a.value);return c||u||m||q.taxIdUsedWhenAsyncAddressUpdate!==q.taxId||q.companyNameUsedWhenAsyncAddressUpdate!==q.companyName})();if(!i)return{partiesCreated:!1};const a=Z({address:q.stripeAddressEventData.value.address,firstName:q.stripeAddressEventData.value.firstName,lastName:q.stripeAddressEventData.value.lastName,name:q.stripeAddressEventData.value.name,phone:q.stripeAddressEventData.value.phone}),d=q.stripeShippingSameAsBilling?a:Z({address:q.stripeBillingAddressEventData.value.address,firstName:q.stripeBillingAddressEventData.value.firstName,lastName:q.stripeBillingAddressEventData.value.lastName,name:q.stripeBillingAddressEventData.value.name,phone:q.stripeBillingAddressEventData.value.phone}),m="1"===new URLSearchParams(window.location.search).get("zonosE2ETest"),{errors:v,json:p}=await c("/api/zonos-elements/create-parties",{body:{address:a,billingAddress:d,companyName:q.companyName,email:(null===(r=q.stripeLinkEventData)||void 0===r?void 0:r.value.email)||"",isTest:m,rootId:s,shortAddressCode:q.shortAddressCode,taxId:q.taxId},method:"POST"});return v.length||!p?(u("Error occurs when creating parties",JSON.stringify(v,null,2)),h({endpoint:"PF_PARTY_CREATE_FAILED",errors:["Failed to create parties"],metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId,errors:v,json:p}}),{partiesCreated:!1}):(q.companyNameUsedWhenAsyncAddressUpdate=q.companyName,q.stripeAddressUsedWhenAsyncAddressUpdate=q.stripeAddressEventData,q.stripeBillingAddressUsedWhenAsyncAddressUpdate=q.stripeBillingAddressEventData,q.taxIdUsedWhenAsyncAddressUpdate=q.taxId,q.partyBillingId=p.billToPartyId,q.partyShippingId=p.shipToPartyId,we.partiesData=we.partiesData.map((e=>"DESTINATION"===e.type&&e.id!==p.shipToPartyId?Object.assign(Object.assign({},e),{id:p.shipToPartyId}):"PAYOR"===e.type&&e.id!==p.billToPartyId?Object.assign(Object.assign({},e),{id:p.billToPartyId}):e)),{partiesCreated:!0})},X=e=>({countryCode:e.address.country,postalCode:e.address.postal_code,state:e.address.state}),ee=async e=>{var n,r,s,i;const a=(null==e?void 0:e.retries)||0,l=!!(null==e?void 0:e.applyingPromocode),c=(()=>{var e;const t=we.landedCostData&&(null===(e=we.landedCostData.find(Boolean))||void 0===e?void 0:e.subtotals.items)!==we.subtotal,o=(()=>{var e,t;const o=JSON.stringify(null===(e=q.stripeLinkUsedWhenFetchingLC)||void 0===e?void 0:e.value)!==JSON.stringify(null===(t=q.stripeLinkEventData)||void 0===t?void 0:t.value),n=q.stripeAddressEventData&&JSON.stringify(X(q.stripeAddressEventData.value))!==JSON.stringify(q.stripeAddressUsedWhenFetchingLC),r=!q.stripeShippingSameAsBilling&&q.stripeBillingAddressEventData&&JSON.stringify(X(q.stripeBillingAddressEventData.value))!==JSON.stringify(q.stripeBillingAddressUsedWhenFetchingLC);return o||n||r})();return d("isPrefetchInfoOutdated","info",{isAddressOutdated:o}),!we.landedCostData&&!q.isFetchingLandedCost||o||t})();if(!(()=>{var e,o,n,r;const s=!!(null===(e=q.stripeLinkEventData)||void 0===e?void 0:e.complete),i=!!(null===(o=q.stripeAddressEventData)||void 0===o?void 0:o.complete),a=q.stripeShippingSameAsBilling?i:!!(null===(n=q.stripeBillingAddressEventData)||void 0===n?void 0:n.complete),d=(e=>{var o,n;const r=null===(o=t.genericSettings)||void 0===o?void 0:o.countryFields,s=null===(n=t.genericSettings)||void 0===n?void 0:n.stripeCountryFieldLabels;return"stripe"===we.addressFormRenderType&&(s&&e in s?s[e]:null)||(r&&e in r?r[e]:null)})((null===(r=q.stripeAddressEventData)||void 0===r?void 0:r.value.address.country)||"US");return!!(i&&a&&s)||(d&&q.stripeAddressEventData?s&&q.stripeAddressEventData.value.firstName&&q.stripeAddressEventData.value.lastName&&q.stripeAddressEventData.value.address.line1.length>0&&(!d.stateRequired||d.stateRequired&&q.stripeAddressEventData.value.address.state.length>0)&&(!d.zipRequired||d.zipRequired&&q.stripeAddressEventData.value.address.postal_code.length>=3)&&q.stripeAddressEventData.value.phone&&q.stripeAddressEventData.value.phone.length>0:i&&a&&s)})())return{isRequestNotReady:!0};if(c&&(null===(n=q.fetchingLandedCostAbortController)||void 0===n||n.abort(),q.fetchingLandedCostAbortController=null),!c&&!l)return{isRequestNotReady:!1};a?(q.isFetchingLandedCost=!1,setTimeout((()=>{q.isFetchingLandedCost=!0}),300)):q.isFetchingLandedCost=!0,q.stripeAddressEventData&&(q.stripeAddressUsedWhenFetchingLC={countryCode:q.stripeAddressEventData.value.address.country,postalCode:q.stripeAddressEventData.value.address.postal_code,state:q.stripeAddressEventData.value.address.state}),q.stripeBillingAddressEventData&&(q.stripeBillingAddressUsedWhenFetchingLC={countryCode:q.stripeBillingAddressEventData.value.address.country,postalCode:q.stripeBillingAddressEventData.value.address.postal_code,state:q.stripeBillingAddressEventData.value.address.state}),q.stripeLinkEventData&&(q.stripeLinkUsedWhenFetchingLC=Object.assign({},q.stripeLinkEventData));try{xe(),await(async()=>{var e;const t=new AbortController;q.fetchingLandedCostAbortController=t,xe();const{checkoutSessionWorkflow:n,errors:r,itemCreateWorkflow:s,landedCostCalculateWorkflow:i,partyCreateWorkflow:a,shipmentRatingCalculateWorkflow:d}=await z(t);we.customQuotingError=(null===(e=null==r?void 0:r.find((e=>{var t;return"CUSTOM"===(null===(t=e.extensions)||void 0===t?void 0:t.ruleMessageType)})))||void 0===e?void 0:e.message)||null,we.shippingData=B((null==d?void 0:d.filter(Boolean))||[]),Ce(s),q.fetchingLandedCostAbortController=null,we.partiesData=(null==a?void 0:a.filter(Boolean))||[],we.landedCostData=(null==n?void 0:n.map((e=>{const t=null==i?void 0:i.find((t=>(null==t?void 0:t.id)===e.landedCostId));return t?Object.assign(Object.assign({},e),{landedCost:t}):null})).filter(Boolean))||[],(null==n?void 0:n.length)&&U({checkoutSessionId:o.checkoutSessionId,eventName:"checkout_quoteReceived"});const l=we.promoCodeApplied&&!we.landedCostData.find((e=>{var t;return null===(t=e.landedCost.appliedAdjustments)||void 0===t?void 0:t.find((e=>"PROMO_CODE"===e.type))}));we.promoCodeError=l,l||sessionStorage.setItem("zonos--promo-code",we.promoCode)})();const e=null===(r=we.shippingData)||void 0===r?void 0:r.find(Boolean),t=null===(s=we.landedCostData)||void 0===s?void 0:s.find((t=>t.landedCost.shipmentRating.id===(null==e?void 0:e.id))),n=t?t.subtotals:null;n&&ke({method:(null==t?void 0:t.landedCost.method)||"DDP",subtotals:n})}catch(t){if(we.landedCostData=[],we.shippingData=[],t instanceof Error&&t.message&&!["The landed cost calculation request was aborted to initiate a new one."].includes(t.message)){if(a<1)return await ee(Object.assign(Object.assign({},e),{retries:(a||0)+1})),{isRequestNotReady:!1};const o=null===(i=q.stripeAddressEventData)||void 0===i?void 0:i.value;h({endpoint:`Failed to fetch landed cost (${a} retries)`,errors:[t.message],metadata:{cartId:window.Zonos.cartId,shipToAddress:o}})}u(t)}return q.isFetchingLandedCost=!1,{isRequestNotReady:!1}},te=async()=>{var e,t;await ee({applyingPromocode:!0}),"payment"===we.step&&ze(),await Q();const o=null===(e=we.shippingData)||void 0===e?void 0:e.find(Boolean),n=null===(t=we.landedCostData)||void 0===t?void 0:t.find((e=>e.landedCost.id===(null==o?void 0:o.id)));o&&n&&await Pe({applySubtotalsOnly:!1,landedCostId:n.landedCostId,selectedShippingOption:o})},oe=()=>{we.promoCode="",sessionStorage.removeItem("zonos--promo-code"),we.promoCodeError=!1,we.promoCodeApplied=!1},ne=async()=>{"payment"===we.step&&ze(),oe(),await te()},re=e=>{let t=[],o=!0;const n=window.Zonos.isCollect,r=window.Zonos.isInvoice;switch(e){case"succeeded":t=[s("Your payment went through successfully! Thank you for shopping with us! We hope you had an enjoyable experience and your support means the world to us."),"",s("We've sent an email confirmation of the order details for your review. And our team is carefully preparing your order so it arrives on time.")],(n||r)&&(t=[s("Thank you for submitting your payment. We appreciate your prompt attention."),"",s("A confirmation email with your payment details has been sent for your records. If you have any questions or need support, our team is here to help.")]),o=!1;break;case"requires_capture":case"processing":t=[s("Payment processing. We'll update you when payment is received.")],o=!1;break;case"requires_payment_method":t=[s("Payment failed. Please try another payment method.")],n&&(t=[s("Payment failed. Please reload the page and try another payment method.")]);break;case"requires_action":o=!1,t=[s("Your selected payment method requires additional verification. Please follow the instructions provided by your payment provider to complete the transaction.")];default:t=[s("Something went wrong.")]}return{isError:o,messages:t}},se=async()=>{var e,o;const{onInventoryCheck:n}=t.checkoutSettings,r=!!(null===(o=null===(e=window.Zonos.cartData)||void 0===e?void 0:e.metadata.find((e=>"referenceId"===e.key)))||void 0===o?void 0:o.value);if(window.Zonos.isLegacyCheckout&&window.Zonos.cartData&&r){const{errors:e,json:t}=await c("/api/zonos-elements/legacy/inventory-check",{body:{cartData:window.Zonos.cartData},method:"POST"});return e.length||!t?(u("Error occurs when handling inventory refund","warn",JSON.stringify(e)),null):t.available&&204!==t.status?t.available||200===t.status?(q.shouldInventoryRefund=!0,null):null:s("The item you're looking for is currently unavailable in our inventory. Please check back later or contact support for assistance with availability.")}if("function"!=typeof n)return null;try{return await n({items:we.items},{translate:s,zonosApiRoute:m.vercel})}catch(e){const t=e instanceof Error?e.message:"Unknown error";throw h({endpoint:"onInventoryCheck",errors:[`cartId: ${window.Zonos.cartId} - ${t}`],metadata:{cartId:window.Zonos.cartId,href:window.location.href,items:we.items}}),e}},ie=async()=>{var e,t;const o=!!(null===(t=null===(e=window.Zonos.cartData)||void 0===e?void 0:e.metadata.find((e=>"referenceId"===e.key)))||void 0===t?void 0:t.value);window.Zonos.isLegacyCheckout&&window.Zonos.cartData&&o&&await c("/api/zonos-elements/legacy/inventory-refund",{body:{cartData:window.Zonos.cartData},method:"POST"})},ae=async({clientSecret:e,storybookForceStatus:t})=>{if(t){const{isError:e,messages:o}=re(t);return{error:e,messages:o}}const o=e||q.clientSecret;if(!q.stripe||!o)return u("Failed to retrieve payment intent. Stripe is not initialized"),{error:!0,message:[s("Something went wrong.")]};const{paymentIntent:n}=await q.stripe.retrievePaymentIntent(o),r=null==n?void 0:n.status,{isError:i,messages:a}=re(r);return{amount:null==n?void 0:n.amount,currency:null==n?void 0:n.currency,error:i,messages:a,paymentIntentId:null==n?void 0:n.id,paymentMethod:null==n?void 0:n.payment_method,status:r}},de=async e=>{var t,n;const r=!!(null===(t=q.stripePaymentEventData)||void 0===t?void 0:t.complete),i=q.stripeElements,a=q.stripe,l=q.clientSecret;if(q.customErrorMessage=null,!(null===(n=we.selectedLandedCost)||void 0===n?void 0:n.landedCost.id)&&!(null==e?void 0:e.noLandedCostCheck))throw new Error("Attempted to confirm the payment when no landed cost is found in store");const c=await F();if(!c.valid)throw q.customErrorMessage=c.errorMessage,new Error(c.errorMessage);const u=o.checkoutSessionId;if(a&&i&&r&&l&&u){const e=new URL(window.location.href);e.searchParams.set("payment_intent_client_secret",l),e.searchParams.set("zonosCheckoutSessionId",u),U({checkoutSessionId:u,eventName:"checkout_paymentInfoCompleted"});const{error:t,paymentIntent:o}=await a.confirmPayment({confirmParams:{return_url:e.toString()},elements:i,redirect:"if_required"});if(d("Payment intent confirmed","info",{error:t,paymentIntent:o}),"requires_action"===(null==o?void 0:o.status))throw new Error(s("Your selected payment method requires additional verification. Please follow the instructions provided by your payment provider to complete the transaction."));if(t){if("card_error"===t.type||"validation_error"===t.type)throw new Error(t.message);if("invalid_request_error"===t.type&&"payment_intent_unexpected_state"===t.code)return;throw new Error("An unexpected error occurred.")}if("requires_payment_method"===o.status)throw new Error(s("Payment failed. Please try another payment method."))}},le=()=>{var e;const t=we.items.reduce(((e,t)=>e+t.amount*t.quantity),0),r=o.enabledVariantTestKeys||[];return{adjustmentsAmount:we.adjustments.reduce(((e,t)=>e+t.amount),0),cartId:window.Zonos.cartId,currency:(null===(e=we.items.find(Boolean))||void 0===e?void 0:e.currencyCode)||"",customerAuthenticationToken:we.customerAuthenticationToken||void 0,isCollect:!!window.Zonos.isCollect,isInvoice:!!window.Zonos.isInvoice,itemsAmount:t,metadata:[{key:"language",value:n.selectedLocale}],presentmentCountryCode:n.selectedCountryCode,skipPaymentIntent:q.skipPaymentIntent,varianceTestInput:r}},ce=async()=>{var e;if(!o.checkoutSessionId)return h({endpoint:"Error creating payment intent",errors:["No checkout session id found when retrieving payment intent"],metadata:{allLogs:l,cartId:window.Zonos.cartId}}),void Ie({messages:[s("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:s("Error creating Checkout")});const{errors:t,json:n}=await c("/api/zonos-elements/create-payment-intent",{body:{checkoutSessionId:o.checkoutSessionId},method:"POST"}),r=null===(e=null==n?void 0:n.checkoutSessionPaymentIntentCreate)||void 0===e?void 0:e.clientSecret;if(t.length||!r)return u("Error occurs when getting payment intent",JSON.stringify(t,null,2)),h({endpoint:"Error creating payment intent",errors:t.map((e=>e.message)),metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId,clientSecret:r}}),void Ie({messages:[s("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:s("Error creating Checkout")});Te(n.checkoutSessionPaymentIntentCreate)},ue=async()=>{var e,t;if(!n.targetCurrency)return u("Failed to create checkout session - missing localizationStore.targetCurrency"),!1;q.isFetchingSession=!0;const o=le();d("Checkout session body","info",o);const{errors:r,json:s}=await c("/api/zonos-elements/create-checkout-session",{body:o,method:"POST"});if(q.isFetchingSession=!1,r.length||!s){const t=null===(e=r.find((e=>e.message)))||void 0===e?void 0:e.message;if(Array.isArray(t)&&t.some((e=>"Cart is expired."===e.message)))throw new Error("Cart is expired.");return u("Error occurred when creating checkout session",JSON.stringify(r,null,2)),!1}const i=s.checkoutSessionCreate;return Te(i),ke({method:(null===(t=i.landedCost)||void 0===t?void 0:t.method)||"DDP",subtotals:i.subtotals}),d("Exchange rate updated for cart items (checkout session create)","info",we.exchangeRate),d("done-init-checkout-session"),!0},me=async()=>{const e=o.checkoutSessionId;if(!e)return u("Failed to update checkout session base currency"),!1;if("LOCAL"===t.checkoutSettings.allowedSettlementCurrencies)return d('allowedSettlementCurrencies: "LOCAL". Skip updating checkout session base currency'),!0;const{json:n}=await c("/api/zonos-elements/update-checkout-session-base-currency",{body:{checkoutSessionId:e,currencyCode:q.checkoutSettlementCurrency},method:"POST"}),r=null==n?void 0:n.checkoutSessionBaseCurrencyUpdate.subtotals.presentmentCurrencyCode;return n&&r===q.checkoutSettlementCurrency?(d(`Updated checkout session to settlement currency "${r}".`),!0):(u("Failed to update checkout session base currency"),!1)},ve=async({adjustmentsAmount:e,cartId:t,currency:r,id:s,itemsAmount:i,landedCostId:a,presentmentCountryCode:d,storeCreditApplication:l})=>{const m=o.enabledVariantTestKeys||[],{errors:v,json:p}=await c("/api/zonos-elements/update-checkout-session",{body:{adjustmentsAmount:e,billToPartyId:q.partyBillingId,cartId:t,currency:r,customerAuthenticationToken:we.customerAuthenticationToken||void 0,id:s,itemsAmount:i,landedCostId:a,metadata:[{key:"language",value:n.selectedLocale}],presentmentCountryCode:d,shipToPartyId:q.partyShippingId,skipPaymentIntent:q.skipPaymentIntent,storeCreditApplication:l,varianceTestInput:m},method:"POST"});return v.length||!p?(u("Error occurs when updating checkout session",JSON.stringify(v,null,2)),{errors:v,json:p}):{errors:[],json:p}},pe=({currentAddress:e,translatedAddressResult:t})=>{const o={};if(!t)return o;const{city:n,line1:r,line2:s,name:i,postal_code:a,state:d}=t;return e.city&&n&&(o.city={[e.city]:n}),e.line1&&r&&(o.line1={[e.line1]:r}),e.line2&&s&&(o.line2={[e.line2]:s}),e.postal_code&&a&&(o.postal_code={[e.postal_code]:a}),e.state&&d&&(o.state={[e.state]:d}),e.name&&i&&(o.name={[e.name]:i}),o},he=async({addressInvalidCharactersList:e,billingAddressInvalidCharactersList:t})=>{var o,n,r,s;const i=(({addressInvalidCharactersList:e,billingAddressInvalidCharactersList:t,stripeAddressEventData:o,stripeBillingAddressEventData:n,stripeShippingSameAsBilling:r})=>{const s=!!(null==o?void 0:o.complete);if(!s||!(r?s:null==n?void 0:n.complete))return null;if(!e&&!t)return null;const i=o.value,a=(null==n?void 0:n.value)||null,{firstName:d,lastName:l}=D({firstName:i.firstName,lastName:i.lastName,name:i.name}),c=`${d} ${l}`,{firstName:u,lastName:m}=D({firstName:null==a?void 0:a.firstName,lastName:null==a?void 0:a.lastName,name:(null==a?void 0:a.name)||""}),v=u&&m?`${u} ${m}`:"",p=i.address,h=null==a?void 0:a.address;return{address:_({address:Object.assign(Object.assign({},p),{name:c}),invalidAdddressList:e}),billingAddress:r?void 0:_({address:h?Object.assign(Object.assign({},h),{name:v}):null,invalidAdddressList:t}),destinationCountry:p.country}})({addressInvalidCharactersList:e,billingAddressInvalidCharactersList:t,stripeAddressEventData:q.stripeAddressEventData,stripeBillingAddressEventData:q.stripeBillingAddressEventData,stripeShippingSameAsBilling:q.stripeShippingSameAsBilling});if(!i)return void(q.translatedAddress={address:{},billingAddress:{}});const a=(()=>{var e,t,o,n;const r=JSON.stringify(null===(e=q.stripeAddressUsedWhenValidatingAddress)||void 0===e?void 0:e.value)!==JSON.stringify(null===(t=q.stripeAddressEventData)||void 0===t?void 0:t.value),s=!q.stripeShippingSameAsBilling&&JSON.stringify(null===(o=q.stripeBillingAddressEventData)||void 0===o?void 0:o.value)!==JSON.stringify(null===(n=q.stripeBillingAddressUsedWhenValidatingAddress)||void 0===n?void 0:n.value);return r||s})();if(!a)return;const{errors:d,json:l}=await c("/api/zonos-elements/validate-address",{body:i,method:"POST"});if(d.length||!l)return u("Error occurs when translating address to latin",JSON.stringify(d,null,2)),void(q.translatedAddress={address:{},billingAddress:{}});q.stripeAddressUsedWhenValidatingAddress=q.stripeAddressEventData,q.stripeBillingAddressUsedWhenValidatingAddress=q.stripeBillingAddressEventData;const m=null===(o=q.stripeAddressEventData)||void 0===o?void 0:o.value.address,v=null===(n=q.stripeBillingAddressEventData)||void 0===n?void 0:n.value.address;q.translatedAddress={address:m?pe({currentAddress:Object.assign(Object.assign({},m),{name:null===(r=q.stripeAddressEventData)||void 0===r?void 0:r.value.name}),translatedAddressResult:l.address||null}):{},billingAddress:q.stripeShippingSameAsBilling?{}:pe({currentAddress:Object.assign(Object.assign({},v),{name:null===(s=q.stripeBillingAddressEventData)||void 0===s?void 0:s.value.name}),translatedAddressResult:l.billingAddress||null})}};W("clientSecret",(e=>{e&&q.stripe&&sessionStorage.setItem("zonos--client-secret",e),e||sessionStorage.removeItem("zonos--client-secret")}));const{onChange:ye,reset:fe,state:we}=e((()=>({addressFormRenderType:"stripe",adjustmentTotal:0,adjustments:[],checkoutSession:null,checkoutSessionTimeoutShow:!1,checkoutTimeoutInterval:null,currency:"USD",customQuotingError:null,customerAuthenticationToken:null,displayBaseCurrency:!1,dutiesTaxesFees:null,dutiesTaxesFeesEstimate:null,error:null,exchangeRate:null,externalConfirmationPageURL:null,inventoryCheckErrorMessage:null,isSelectedShippingAboveDeminimis:!1,isSelectedShippingGuarantee:!1,isStagingMode:p(),items:[],landedCostData:null,landedCostMethod:"DDP",partiesData:[],promoCode:sessionStorage.getItem("zonos--promo-code")||"",promoCodeApplied:!!sessionStorage.getItem("zonos--promo-code"),promoCodeError:!1,restrictedItems:[],selectedLandedCost:null,selectedShippingOption:null,selectedShippingOptionExpectedDate:"",selectedShippingOptionTransitTime:"",shipping:0,shippingData:null,shouldHideDiscountInput:!1,step:"customer-info",storeCredit:0,subtotal:0,tabItems:{"customer-info":{index:1,isDone:!1,label:"Customer",value:"customer-info"},shipping:{index:2,isDone:!1,label:"Shipping",value:"shipping"},payment:{index:3,isDone:!1,label:"Payment",value:"payment"}},total:0}))),ge=e=>{switch(e){case"DAYS":return s("days");case"WEEKS":return s("weeks");default:return s("business days")}},be=e=>{var t;const o=null===(t=e.shippingProfile)||void 0===t?void 0:t.transitTime;return(null==o?void 0:o.min)&&(null==o?void 0:o.max)&&(null==o?void 0:o.type)?{maxTransit:o.max,minTransit:o.min,unit:ge(o.type)}:null},Se=({item1:e,item2:t})=>!(!e||!t)&&(t.sku&&e.sku&&e.sku===t.sku||t.description&&e.description&&e.description===t.description||e.name&&t.name&&e.name===t.name),Ce=e=>{d("Checking item restrictions");const t=e.map((e=>{if(!e.restriction)return null;const{restriction:t}=e,o=we.items.find((t=>Se({item1:t,item2:e})));return Object.assign(Object.assign({matchedItem:o},e),{restriction:t})})).filter(Boolean);return we.restrictedItems=t,we.items=we.items.map((e=>Object.assign(Object.assign({},e),{isRestricted:!!t.find((t=>Se({item1:t,item2:e})))}))),{cartItems:we.items,restrictedItems:t}};let Oe=null;const Ae=()=>{o.checkoutSessionId=null,Oe&&(clearTimeout(Oe),Oe=null),C(),fe()},Ie=({messages:e,title:t})=>{Ae(),V(),we.step="error",we.error={messages:e,title:t}},ke=({dutiesTaxesFeesEstimate:e,method:t,subtotals:o})=>{var n;we.exchangeRate=o.exchangeRate,we.adjustmentTotal=o.adjustments,we.dutiesTaxesFees="DAP"===t?null:o.landedCostTotal,we.storeCredit=null!==(n=o.storeCredit)&&void 0!==n?n:0,we.subtotal=o.items,we.total=o.total,we.currency=o.presentmentCurrencyCode,we.dutiesTaxesFeesEstimate=e||null},Ne=()=>!!we.items.filter((e=>e.amount>0)).find((e=>!e.isRestricted)),Te=e=>{var t,n,r,s,c,u,m;q.clientSecret=e.clientSecret,q.stripeCustomerSessionClientSecret=e.customerSessionClientSecret,q.customerProfile=e.customerProfile,we.checkoutSession=e,O(null!==(n=null===(t=e.customerProfile)||void 0===t?void 0:t.storeCreditBalance)&&void 0!==n?n:null),e.id||h({endpoint:"cartStoreSetCheckoutSession",errors:["Missing checkout session id in checkout session"],metadata:{allLogs:l,checkoutSession:e}}),e.id&&(o.checkoutSessionId=e.id);const v=i(e.varianceTestResults||[]);a(v);const p=(null===(c=null===(s=null===(r=we.checkoutSession)||void 0===r?void 0:r.metadata)||void 0===s?void 0:s.find((e=>"externalConfirmationPageURL"===(null==e?void 0:e.key))))||void 0===c?void 0:c.value)||(null===(m=null===(u=window.Zonos.cartData)||void 0===u?void 0:u.metadata.find((e=>"externalConfirmationPageURL"===(null==e?void 0:e.key))))||void 0===m?void 0:m.value)||null;p&&(d(`Found externalConfirmationPageURL: ${p}`),we.externalConfirmationPageURL=p)},je=async({adjustmentsAmount:e,cartId:t,currency:r,dutiesTaxesFeesEstimate:i,itemsAmount:a,landedCostId:l,shouldInitSessionOnFailure:c})=>{var m;if(l&&we.selectedLandedCost&&(ke({dutiesTaxesFeesEstimate:i,method:we.landedCostMethod,subtotals:we.selectedLandedCost.subtotals}),d("Exchange rate updated for cart items (landed cost subtotal)","info",we.exchangeRate)),!o.checkoutSessionId)return d("Could not update cart total without checkout session id","info"),!1;const{errors:v,json:p}=await ve({adjustmentsAmount:e,billToPartyId:q.partyBillingId,cartId:t,currency:r,id:o.checkoutSessionId,itemsAmount:a,landedCostId:l,presentmentCountryCode:n.selectedCountryCode,shipToPartyId:q.partyShippingId,varianceTestInput:o.enabledVariantTestKeys||[]});if(v.length>0||!p){if(u("Error occurs when updating checkout session."),c){d("Initiating checkout session on failure","info");const e=await ue();return d(`stripeStoreInitCheckoutSession: ${e}`),!!e||(Ie({messages:[s("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:s("Error creating Checkout")}),!1)}return!1}return l||(ke({method:(null===(m=p.checkoutSessionUpdate.landedCost)||void 0===m?void 0:m.method)||"DDP",subtotals:p.checkoutSessionUpdate.subtotals}),d("Exchange rate updated for cart items (checkout session update)","info",we.exchangeRate)),Te(p.checkoutSessionUpdate),!0},Ee=e=>{var o,n,r;return"DAP"===e.method&&(null===(n=null===(o=t.genericSettings)||void 0===o?void 0:o.domesticCountries)||void 0===n?void 0:n.includes((null===(r=q.stripeAddressEventData)||void 0===r?void 0:r.value.address.country)||"US"))||"DAP"===e.method&&e.remittance.length&&"ZONOS"===e.landedCostGuaranteeCode?"DDP":e.method},Pe=async({applySubtotalsOnly:e,landedCostId:n,selectedShippingOption:r})=>{var s,i,a,l,c,u,m,v,p,h,y;d("Updating selected shipping option","info",{landedCostId:n,selectedShippingOption:r}),we.selectedShippingOption=r;const f=be(we.selectedShippingOption);if(f){const{maxTransit:e,minTransit:t,unit:o}=f;we.selectedShippingOptionTransitTime=`${t}-${e} ${o}`}else we.selectedShippingOptionTransitTime="";const w=null===(s=we.landedCostData)||void 0===s?void 0:s.find((e=>e.landedCostId===n));if(we.selectedLandedCost=w||null,!w)return!1;const g=((null===(i=w.landedCost.amountSubtotals)||void 0===i?void 0:i.landedCostTotal)||0)*w.subtotals.exchangeRate.rate;g&&d(`DAP quote, using estimate: ${g}`,"info"),we.landedCostMethod=Ee(w.landedCost),we.shipping=w.subtotals.shipping;const b="ZONOS"===(null===(a=null==w?void 0:w.landedCost)||void 0===a?void 0:a.landedCostGuaranteeCode),S=!!(null===(c=null===(l=null==w?void 0:w.landedCost)||void 0===l?void 0:l.deMinimis)||void 0===c?void 0:c.find((e=>["DUTY","TAX"].includes(e.type)&&"ABOVE"===e.threshold)));we.isSelectedShippingAboveDeminimis=S,we.isSelectedShippingGuarantee=b;let C=!1;e?(ke({dutiesTaxesFeesEstimate:g,method:we.landedCostMethod,subtotals:w.subtotals}),d("Exchange rate updated for cart items (landed cost subtotal)","info",we.exchangeRate),C=!0):C=await je({adjustmentsAmount:we.adjustmentTotal,billToPartyId:q.partyBillingId,cartId:window.Zonos.cartId,dutiesTaxesFeesEstimate:g,landedCostId:null===(u=w.landedCost)||void 0===u?void 0:u.id,shipToPartyId:q.partyShippingId,varianceTestInput:o.enabledVariantTestKeys||[]});const O=null===(m=we.items.find(Boolean))||void 0===m?void 0:m.currencyCode,A=(null===(v=q.stripeAddressEventData)||void 0===v?void 0:v.value.address.country)||"US";return q.shouldRenderPayInUsdButton="USD"===O&&"LOCAL_AND_USD"===t.checkoutSettings.allowedSettlementCurrencies&&"USD"!==(null===(p=we.checkoutSession)||void 0===p?void 0:p.subtotals.presentmentCurrencyCode)&&!!(null===(y=null===(h=t.genericSettings)||void 0===h?void 0:h.usdSettlementCountryEnabled)||void 0===y?void 0:y.includes(A)),C},De=({isPreview:e,sessionTimeout:t})=>{if(e)return;const o=new URLSearchParams(window.location.search).get("zonosCheckoutTimeout"),n=o&&!isNaN(parseInt(o,10))?parseInt(o,10):t;d(`==START CHECKOUT TIMEOUT - ${n}==`),we.checkoutTimeoutInterval=setTimeout((()=>{we.checkoutSessionTimeoutShow=!0}),n)},Le=()=>{we.checkoutTimeoutInterval&&(clearTimeout(we.checkoutTimeoutInterval),we.checkoutTimeoutInterval=null)},xe=()=>{we.items=we.items.map((e=>Object.assign(Object.assign({},e),{isRestricted:!1}))),we.restrictedItems=[]},Re=async({adjustments:e,cartItems:t,landedCostId:n,shouldInitSessionOnFailure:r=!0})=>{var s;we.adjustments=e,we.items=t.map((e=>Object.assign(Object.assign({},e),{isRestricted:!1})));const i=null===(s=t.find(Boolean))||void 0===s?void 0:s.currencyCode,a=t.reduce(((e,t)=>e+t.amount*t.quantity),0),d=e.reduce(((e,t)=>e+t.amount),0);i&&a&&(we.currency=i,q.isFetchingSession=!0,await je({adjustmentsAmount:d,billToPartyId:q.partyBillingId,cartId:window.Zonos.cartId,currency:i,dutiesTaxesFeesEstimate:0,itemsAmount:a,landedCostId:n,shipToPartyId:q.partyShippingId,shouldInitSessionOnFailure:r,varianceTestInput:o.enabledVariantTestKeys||[]}),q.isFetchingSession=!1)},ze=()=>{"shipping"===we.step?(we.step="customer-info",we.tabItems=Object.assign(Object.assign({},we.tabItems),{"customer-info":Object.assign(Object.assign({},we.tabItems.shipping),{isDone:!1})})):"payment"===we.step?(we.step="shipping",we.tabItems=Object.assign(Object.assign({},we.tabItems),{shipping:Object.assign(Object.assign({},we.tabItems.shipping),{isDone:!1})})):"finish"===we.step&&(we.step="payment",we.tabItems=Object.assign(Object.assign({},we.tabItems),{payment:Object.assign(Object.assign({},we.tabItems.payment),{isDone:!1})}))},Ue=()=>{"customer-info"===we.step?(we.step="shipping",we.tabItems=Object.assign(Object.assign({},we.tabItems),{"customer-info":Object.assign(Object.assign({},we.tabItems["customer-info"]),{isDone:!0})})):"shipping"===we.step?(we.step="payment",we.tabItems=Object.assign(Object.assign({},we.tabItems),{shipping:Object.assign(Object.assign({},we.tabItems.shipping),{isDone:!0})})):"payment"===we.step&&(we.step="finish")},_e=()=>{we.step="customer-info",we.tabItems=Object.assign(Object.assign({},we.tabItems),{"customer-info":Object.assign(Object.assign({},we.tabItems["customer-info"]),{isDone:!1}),payment:Object.assign(Object.assign({},we.tabItems.payment),{isDone:!1}),shipping:Object.assign(Object.assign({},we.tabItems.shipping),{isDone:!1})}),we.selectedShippingOption=null,we.isSelectedShippingAboveDeminimis=!1,we.isSelectedShippingGuarantee=!1,we.selectedShippingOptionTransitTime="",we.dutiesTaxesFees=0,we.dutiesTaxesFeesEstimate=0,we.shipping=0,we.total=we.subtotal},Be=()=>{Oe&&clearTimeout(Oe),Oe=setTimeout((()=>{Oe=null,(async()=>{var e,t;if(!o.checkoutSessionId)return void d("Could not update store credit without checkout session id","info");const r=we.selectedLandedCost,s=we.currency||(null===(e=we.items.find(Boolean))||void 0===e?void 0:e.currencyCode)||"",i=we.adjustments.reduce(((e,t)=>e+t.amount),0),a=we.items.reduce(((e,t)=>e+t.amount*t.quantity),0),{errors:l,json:c}=await ve({adjustmentsAmount:i,cartId:window.Zonos.cartId,currency:s,id:o.checkoutSessionId,itemsAmount:a,landedCostId:null==r?void 0:r.landedCostId,presentmentCountryCode:n.selectedCountryCode,storeCreditApplication:S.isEnabled&&null!==S.amountToApply?S.useFullBalance?{mode:"FULL"}:{amount:S.amountToApply,mode:"PARTIAL"}:{mode:"NONE"}});l.length>0||!c?u("Error updating checkout session with store credit"):(ke({method:(null===(t=c.checkoutSessionUpdate.landedCost)||void 0===t?void 0:t.method)||"DDP",subtotals:c.checkoutSessionUpdate.subtotals}),Te(c.checkoutSessionUpdate))})()}),300)};export{de as A,ie as B,V as C,ye as D,W as E,j as F,Z as G,Pe as H,Ne as I,te as J,ne as K,oe as L,re as M,S as N,C as O,he as P,D as Q,Q as R,be as S,Ee as T,B as U,k as V,T as W,Be as X,N as Y,A as Z,H as a,q as b,ae as c,we as d,Re as e,Ae as f,_e as g,Le as h,G as i,ue as j,ce as k,De as l,le as m,Ie as n,Y as o,Te as p,ee as q,Ue as r,K as s,U as t,me as u,se as v,I as w,E as x,F as y,P as z}
|
|
1
|
+
import{c as e,z as t}from"./p-f3cfd8fa.js";import{s as o,l as n,e as r,t as s,f as i,b as a}from"./p-0efd2d5a.js";import{l as d,b as l}from"./p-0a377722.js";import{h as c,l as u,f as m,g as v,a as p,s as h,j as y}from"./p-41dd1cb8.js";import{i as f}from"./p-d28be518.js";import{g as w}from"./p-db3b101a.js";const g=async()=>{if(!o.checkoutSessionId)return{errors:[{message:"No checkout session id found"}],json:null};const e=new URLSearchParams;e.set("checkoutSessionId",o.checkoutSessionId);const{errors:t,json:n}=await c(`/api/zonos-elements/get-checkout-session?${e.toString()}`);return{errors:t,json:n}},{reset:b,state:S}=e((()=>({amountToApply:null,appliedAmount:null,availableBalance:null,error:null,isApplying:!1,isEnabled:!1,orderIdCreated:null,remainingBalance:null,useFullBalance:!0}))),C=()=>{b()},O=e=>{d("Store credit balance from session","info",e),S.availableBalance=e},A=async()=>{var e,t;const{errors:o,json:n}=await g();if(o.length||!n)return void u("Failed to refresh store credit balance");const r=null!==(t=null===(e=n.checkoutSession.customerProfile)||void 0===e?void 0:e.storeCreditBalance)&&void 0!==t?t:null;O(r)},I=async()=>{var e;const t=o.checkoutSessionId;if(!t){const e="No checkout session found";return u(e),S.error=e,{error:e,success:!1}}d("Applying store credit","info",{checkoutSessionId:t}),S.isApplying=!0,S.error=null;try{const{errors:o,json:n}=await c("/api/zonos-elements/store-credit/apply",{body:{checkoutSessionId:t},method:"POST"});if(o.length>0||!n){const t=(null===(e=o[0])||void 0===e?void 0:e.message)||"Failed to apply store credit";return u(t),S.error=t,S.isApplying=!1,{error:t,success:!1}}return S.appliedAmount=n.amountApplied,S.remainingBalance=n.remainingBalance,S.isApplying=!1,d("Store credit applied","info",{amountApplied:n.amountApplied,remainingBalance:n.remainingBalance}),{error:null,success:!0}}catch(e){const t=e instanceof Error?e.message:"Failed to apply store credit";return u(t),S.error=t,S.isApplying=!1,{error:t,success:!1}}},k=e=>{S.isEnabled=e,S.error=null,e||(S.amountToApply=null)},N=e=>{if(null===e)return S.amountToApply=null,void(S.error=null);e<=0?S.error="Amount must be greater than zero":null!==S.availableBalance&&e>S.availableBalance?S.error="Amount exceeds available balance":e>we.total+(we.storeCredit||0)?S.error="Amount exceeds order total":(S.error=null,S.amountToApply=e)},T=e=>{if(S.useFullBalance=e,S.error=null,e&&null!==S.availableBalance){const e=Math.min(S.availableBalance,we.total+(we.storeCredit||0));S.amountToApply=e}else e||(S.amountToApply=null)},j=()=>S.isEnabled&&null!==S.availableBalance?S.useFullBalance?Math.min(S.availableBalance,we.total+(we.storeCredit||0)):S.amountToApply||0:0,E=()=>null!==S.amountToApply&&S.amountToApply>0&&we.storeCredit>0&&we.total<=0,P=async()=>{var e,t,n;const r=o.checkoutSessionId;if(!r){const e="No checkout session found";return u(e),S.error=e,{error:e,orderId:null,success:!1}}d("Creating store credit order","info",{checkoutSessionId:r});try{const{errors:o,json:s}=await c("/api/zonos-elements/store-credit/order-create",{body:{checkoutSessionId:r},method:"POST"});if(o.length>0||!s){const t=(null===(e=o[0])||void 0===e?void 0:e.message)||"Failed to create store credit order";return u(t),S.error=t,{error:t,orderId:null,success:!1}}const i=(null===(n=null===(t=s.checkoutSessionStoreCreditOrderCreate)||void 0===t?void 0:t.order)||void 0===n?void 0:n.id)||null;return S.orderIdCreated=i,d("Store credit order created","info",{orderId:i}),{error:null,orderId:i,success:!0}}catch(e){const t=e instanceof Error?e.message:"Failed to create store credit order";return u(t),S.error=t,{error:t,orderId:null,success:!1}}},D=({firstName:e,lastName:t,name:o})=>{var n;if(!o&&!e&&!t)return{firstName:"",lastName:""};const r=(null==o?void 0:o.split(/\s+/))||[];return{firstName:(null==e?void 0:e.trim())||(null===(n=r[0])||void 0===n?void 0:n.trim())||"",lastName:(null==t?void 0:t.trim())||r.slice(1).join(" ").trim()||""}},L=({currentAddress:e,translatedAddress:t})=>{var o,n,r,s,i,a;const{city:d,country:l,line1:c,line2:u,postal_code:m,state:v}=e.value.address,p=e.value.name||[e.value.firstName,e.value.lastName].join(" ");return{city:(null===(o=t.city)||void 0===o?void 0:o[d])||d,country:l,line1:(null===(n=t.line1)||void 0===n?void 0:n[c])||c,line2:(null===(r=t.line2)||void 0===r?void 0:r[u||""])||u||"",name:(null===(s=t.name)||void 0===s?void 0:s[p])||p,phone:e.value.phone||"",postal_code:(null===(i=t.postal_code)||void 0===i?void 0:i[m])||m,state:(null===(a=t.state)||void 0===a?void 0:a[v])||v}},x=e=>{var t;const s="1"===new URLSearchParams(window.location.search).get("zonosE2ETest"),i=q.stripeLinkEventData,a=q.stripeAddressEventData,d=q.stripeShippingSameAsBilling?q.stripeAddressEventData:q.stripeBillingAddressEventData;if(!a||!d)throw new Error("Missing stripe address data");const l=L({currentAddress:a,translatedAddress:q.translatedAddress.address}),{firstName:c,lastName:u}=D({name:l.name}),m=L({currentAddress:d,translatedAddress:q.translatedAddress.address}),{firstName:v,lastName:p}=D({name:m.name}),h=r()||"US";return{billingAddress:{addressLine1:m.line1,addressLine2:m.line2||"",city:m.city,country:m.country,postalCode:m.postal_code,state:m.state},billingContact:{firstName:v,lastName:p,phone:m.phone},cartCurrencyCode:null===(t=we.items[0])||void 0===t?void 0:t.currencyCode,cartId:e,checkoutSessionCountry:h||n.selectedCountryCode||void 0,checkoutSessionId:o.checkoutSessionId||"",contact:{companyName:q.companyName,email:null==i?void 0:i.value.email,firstName:c,lastName:u,phone:l.phone},isTest:!!s,landedCostAdjustments:we.promoCode?[{amount:0,productId:null,promoCode:we.promoCode,sku:null,type:"PROMO_CODE"}]:[],shipToShortAddressCode:q.shortAddressCode,shipToTaxId:q.taxId,shippingAddress:{addressLine1:l.line1,addressLine2:l.line2,city:l.city,country:l.country,postalCode:l.postal_code,state:l.state}}},R=()=>{const e="1"===new URLSearchParams(window.location.search).get("zonosE2ETest"),t=q.stripeLinkEventData,n=q.stripeAddressEventData,r=q.stripeShippingSameAsBilling?q.stripeAddressEventData:q.stripeBillingAddressEventData;if(d({stripeAddressData:n,stripeBillingAddressData:r},"info"),!n||!r)throw new Error("Missing stripe address data");const s=L({currentAddress:n,translatedAddress:q.translatedAddress.address}),{firstName:i,lastName:a}=D({name:s.name}),l=L({currentAddress:r,translatedAddress:q.translatedAddress.address}),{firstName:c,lastName:u}=D({name:l.name}),m=we.adjustments.map((e=>({amount:e.amount,name:e.description||null,productId:e.productId,sku:e.sku,type:e.type}))),v=we.promoCode?[{amount:0,productId:null,promoCode:we.promoCode,sku:null,type:"PROMO_CODE"},...m]:m;return{billingAddress:{addressLine1:l.line1,addressLine2:l.line2||"",city:l.city,country:l.country,postalCode:l.postal_code,state:l.state},billingContact:{firstName:c,lastName:u,phone:l.phone},checkoutSessionId:o.checkoutSessionId||"",contact:{companyName:q.companyName,email:null==t?void 0:t.value.email,firstName:i,lastName:a,phone:s.phone},isTest:e,items:we.items,landedCostAdjustments:v,shipToShortAddressCode:q.shortAddressCode,shipToTaxId:q.taxId,shippingAddress:{addressLine1:s.line1,addressLine2:s.line2,city:s.city,country:s.country,postalCode:s.postal_code,state:s.state}}};const z=async e=>{const o=window.Zonos.cartId;if(!o)return await(async e=>{var o;const n=t.checkoutSettings.buildLandedCost;if(n){const e=await(async e=>{var t,o,n,r,s;const i=R(),a=await e({billingAddress:i.billingAddress,billingContact:i.billingContact,checkoutSessionId:i.checkoutSessionId,contact:i.contact,landedCostAdjustments:i.landedCostAdjustments,publicCredential:window.Zonos.zonosApiKey||"",shippingAddress:i.shippingAddress,zonosApiRoute:m.vercel},{promoCode:we.promoCode});if(!a||!(null===(t=a.checkoutSessionWorkflow)||void 0===t?void 0:t.length)&&(null===(o=a.errors)||void 0===o?void 0:o.length))throw new Error(`Failed to build landed cost: ${(null===(r=null===(n=null==a?void 0:a.errors)||void 0===n?void 0:n[0])||void 0===r?void 0:r.message)||"Unknown error"}`);const{errors:d,json:l}=await c("/api/zonos-elements/validate-landed-cost",{body:a,headers:{"Content-Type":"application/json"},method:"POST"});if(!l||d.length)throw new Error(`Invalid landed cost object: ${(null===(s=d.find(Boolean))||void 0===s?void 0:s.message)||"Unknown error"}`);return a})(n);return e}const{errors:r,json:s}=await c("/api/zonos-elements/calculate-landed-cost",{body:R(),method:"POST",signal:null==e?void 0:e.signal});if(r.length||!s){if("The user aborted a request."===(null===(o=r[0])||void 0===o?void 0:o.message))throw new Error("The landed cost calculation request was aborted to initiate a new one.");if(r.forEach((e=>{console.warn(`Error calculating landed cost: ${e.message}`)})),!s)throw new Error("Failed to calculate landed cost");return s}return s})(e);const n=await(async({abortController:e,cartId:t})=>{var o,n,r,s,i;const{errors:a,json:d}=await c("/api/zonos-elements/cart-calculate-landed-cost",{body:x(t),method:"POST",signal:null==e?void 0:e.signal});if(a.length||!d){const e="string"==typeof(null===(o=a[0])||void 0===o?void 0:o.message)&&("The user aborted a request."===(null===(n=a[0])||void 0===n?void 0:n.message)||(null===(r=a[0])||void 0===r?void 0:r.message.includes("signal is aborted"))||(null===(s=a[0])||void 0===s?void 0:s.message.includes("The operation was aborted"))||(null===(i=a[0])||void 0===i?void 0:i.message.includes("Fetch is aborted")));throw new Error(e?"The landed cost calculation request was aborted to initiate a new one.":"Failed to calculate landed cost")}return d})({abortController:e,cartId:o}),{cartWorkflow:r}=n,s=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]])}return o}(n,["cartWorkflow"]);return Object.assign(Object.assign({},s),{itemCreateWorkflow:r.items})},U=async({checkoutSessionId:e,eventName:o,metadata:r})=>{var s,i;const a=Date.now(),d=[...window.Zonos.trackEventLogs];window.Zonos.trackEventLogs.push({checkoutSessionId:e,eventCreated:a,eventName:o});const u=window.location.href.includes("zonos.com")&&!window.location.href.includes("checkout.zonos.com")||!!(null===(s=window.Zonos)||void 0===s?void 0:s.zonosQaUrl)||!!(null===(i=window.Zonos)||void 0===i?void 0:i.debug);if((v()||p()||u)&&!window.Zonos.zonosConversionTest)return;const m=n.selectedCountryCode,y=t.organizationId;if(!e)return void h({endpoint:"trackConversionEventMetric",errors:[`Event "${o}" - No checkout session id found`],metadata:{allLogs:l,checkoutSessionId:e,eventName:o,metadata:r,organizationId:y,trackEventLogs:d}});y||h({endpoint:"trackConversionEventMetric",errors:[`Event "${o}" - No organization id found`],metadata:{allLogs:l,checkoutSessionId:e,eventName:o,metadata:r,organizationId:y,trackEventLogs:d}});const f={checkoutSessionId:e,countryCode:m,eventCreated:a,eventName:o,metadata:Object.assign(Object.assign({},r),{trackEventLogs:d}),organizationId:y};await c("/api/zonos-elements/track-conversion-event",{body:f,method:"POST"})},_=({address:e,invalidAdddressList:t})=>{if(!e)return;if(!t)return;const o={};return t.city&&(o.city=e.city),t.line1&&(o.line1=e.line1),t.line2&&(o.line2=e.line2),t.postal_code&&(o.postal_code=e.postal_code),t.state&&(o.state=e.state),t.name&&(o.name=e.name),Object.keys(o).length?o:void 0},B=e=>e.sort(((e,t)=>e.amount-t.amount)),F=async()=>{var e;const{errors:t,json:o}=await g();return t.length||!o?(u("Failed to retrieve checkout session info before confirming payment ",t),h({endpoint:"validateCheckoutSession",errors:t.map((e=>e.message)),metadata:{allLogs:l}}),{errorMessage:s("Unable to retrieve the checkout session at the moment. Please try again or contact our support team."),valid:!1}):(null===(e=o.checkoutSession.landedCost)||void 0===e?void 0:e.id)?{errorMessage:"",valid:!0}:(u("Landed cost is not found in the checkout session before confirming payment."),h({endpoint:"validateCheckoutSession",errors:["No landed cost found before confirming payment"],metadata:{allLogs:l}}),{errorMessage:s('No shipment rating selected. Please go back to the "Shipping" step and select a shipment rating to proceed.'),valid:!1})},J=({theme:e})=>{const o={".AccordionItem":{color:"var(--colorText)"},".AccordionItem--selected":{color:"var(--colorText)"},".Action":{color:"var(--colorText)"},".Input":{boxShadow:"none",fontSize:t.appearance.fontSizeInputValue?`${t.appearance.fontSizeInputValue}px`:void 0,padding:"0",paddingBottom:"8px",paddingLeft:"16px",paddingRight:"8px",paddingTop:"6px"},".Label--resting":{fontSize:t.appearance.fontSizeInputLabel?`${t.appearance.fontSizeInputLabel}px`:void 0},".PickerItem--highlight":{boxShadow:"0 0 0 2px var(--colorBackground)"},".PickerItem--highlight:hover":{backgroundColor:"var(--colorBackground)",boxShadow:"none"},".PickerItem--new":{color:"var(--colorText)"},".Tab--selected":{borderStyle:"solid",borderWidth:"1px"}};return"DARK"===e?Object.assign(Object.assign({},o),{".Action":Object.assign(Object.assign({},o[".Action"]),{color:"white"}),".PickerItem--new":Object.assign(Object.assign({},o[".PickerItem--new"]),{color:"white"})}):o},M=({borderStyle:e,theme:t})=>"DARK"===t?{borderRadius:w({overrideBorderStyle:e}),colorBackground:"#101117",colorBackgroundText:"#C5C6CA",colorText:"#C5C6CA",colorTextPlaceholder:"#C5C6CA"}:{borderRadius:w({overrideBorderStyle:e}),iconMenuColor:"var(--colorText)",iconMenuHoverColor:"var(--colorText)"},{onChange:W,reset:$,state:q}=e((()=>({checkoutSettlementCurrency:"USD",clientSecret:sessionStorage.getItem("zonos--client-secret")||"",companyName:"",companyNameUsedWhenAsyncAddressUpdate:"",customAddressErrors:{city:"",firstName:"",lastName:"",line1:"",phone:"",postalCode:"",showError:!1,state:""},customBillingAddressErrors:{city:"",firstName:"",lastName:"",line1:"",phone:"",postalCode:"",showError:!1,state:""},customErrorMessage:null,customerProfile:null,fetchingLandedCostAbortController:null,hasPaymentError:!1,isFetchingLandedCost:!1,isFetchingSession:!1,partyBillingId:null,partyShippingId:null,shortAddressCode:"",shouldInventoryRefund:!1,shouldRenderPayInUsdButton:!1,skipPaymentIntent:"0"!==new URLSearchParams(window.location.search).get("skipPaymentIntent"),stripe:null,stripeAddressElement:null,stripeAddressEventData:null,stripeAddressUsedWhenAsyncAddressUpdate:null,stripeAddressUsedWhenFetchingLC:null,stripeAddressUsedWhenValidatingAddress:null,stripeBillingAddressElement:null,stripeBillingAddressEventData:null,stripeBillingAddressUsedWhenAsyncAddressUpdate:null,stripeBillingAddressUsedWhenFetchingLC:null,stripeBillingAddressUsedWhenValidatingAddress:null,stripeCustomerSessionClientSecret:null,stripeElements:null,stripeElementsForBillingAddress:null,stripeElementsOptions:null,stripeLinkElement:null,stripeLinkEventData:null,stripeLinkUsedWhenFetchingLC:null,stripePaymentElement:null,stripePaymentEventData:null,stripeShippingSameAsBilling:!0,taxId:"",taxIdUsedWhenAsyncAddressUpdate:"",translatedAddress:{address:{},billingAddress:{},firstName:{},lastName:{},name:{}}}))),Y=()=>{window.sessionStorage.removeItem("zonos--bigcommerce-domestic-checkout-shipping")},H=e=>{window.sessionStorage.setItem("zonos--bigcommerce-domestic-checkout-shipping",JSON.stringify(e))},K=()=>{const e=window.sessionStorage.getItem("zonos--bigcommerce-domestic-checkout-shipping");return y(e)},G=async e=>{var o,r;const s=q.clientSecret;if(!q.stripe)return void d("Skip. Stripe is not initialized");const i=(({clientSecret:e,overrideBorderRadius:o,overridePrimaryColor:r,overrideSecondaryColor:s,overrideTheme:i,paypalEnabled:a})=>{const d=r||t.appearance.colorPrimary,l=s||t.appearance.colorSecondary,c=(window.Zonos.isCollect||window.Zonos.isInvoice?"DARK"===t.appearance.theme:d&&f(d))?"night":"flat",u="DARK"===i?"night":"flat",m=a?["external_paypal"]:[];return{appearance:{labels:"floating",rules:Object.assign({},J({theme:i||"LIGHT"})),theme:i?u:c,variables:Object.assign(Object.assign({},M({borderStyle:o,theme:"LIGHT"})),{colorPrimary:l})},clientSecret:e||void 0,customerSessionClientSecret:q.stripeCustomerSessionClientSecret||void 0,externalPaymentMethodTypes:[...m],locale:n.selectedLocale}})({clientSecret:s,overrideBorderRadius:null==e?void 0:e.overrideBorderRadius,overridePrimaryColor:null==e?void 0:e.overridePrimaryColor,overrideSecondaryColor:null==e?void 0:e.overrideSecondaryColor,overrideTheme:null==e?void 0:e.overrideTheme,paypalEnabled:null==e?void 0:e.paypalEnabled}),a=JSON.stringify(i)===JSON.stringify(q.stripeElementsOptions);if(!q.stripeElements||!q.stripeElementsForBillingAddress)return q.stripeElementsForBillingAddress=null===(o=q.stripe)||void 0===o?void 0:o.elements(i),d("Stripe elements for billing address initialized"),q.stripeElements=null===(r=q.stripe)||void 0===r?void 0:r.elements(i),q.stripeElementsOptions=i,void d("Stripe elements initialized");a||(q.stripeElements.update(i),q.stripeElementsForBillingAddress.update(i),q.stripeElementsOptions=i,q.stripeElements.fetchUpdates()),d("Stripe elements updated")},V=()=>{sessionStorage.removeItem("zonos--client-secret"),$(),q.stripe=window.Zonos.stripe},Z=({address:e,firstName:t,lastName:n,name:r,phone:s})=>{const{firstName:i,lastName:a}=D({firstName:t,lastName:n,name:r});return i&&a||h({endpoint:"PARTY_CREATE_NO_NAME_FOUND",errors:["No name found"],metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId,firstName:t,lastName:n,name:r}}),s||h({endpoint:"PARTY_CREATE_NO_PHONE_FOUND",errors:["No phone found"],metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId,phone:s}}),{city:e.city,country:e.country,firstName:i,lastName:a,line1:e.line1,line2:e.line2,phone:s||"",postal_code:e.postal_code,state:e.state}},Q=async()=>{var e,t,n,r;if(!(null===(e=q.stripeAddressEventData)||void 0===e?void 0:e.complete)||!q.stripeShippingSameAsBilling&&!(null===(t=q.stripeBillingAddressEventData)||void 0===t?void 0:t.complete)||!q.stripeBillingAddressEventData)return{partiesCreated:!1};if(!we.landedCostData)return{partiesCreated:!1};const s=null===(n=we.landedCostData.find(Boolean))||void 0===n?void 0:n.landedCost.rootId;if(!s)return h({endpoint:"PF_NO_SELECTED_LANDED_COST",errors:["No selected landed cost"],metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId}}),{partiesCreated:!1};const i=(()=>{var e,t,o,n,r,s,i,a;const d=null===(e=we.partiesData.find((e=>"DESTINATION"===e.type)))||void 0===e?void 0:e.id,l=null===(t=we.partiesData.find((e=>"PAYOR"===e.type)))||void 0===t?void 0:t.id;if(!d||!l)return!1;if(q.partyShippingId!==d||q.partyBillingId!==l)return!0;const c=JSON.stringify(null===(o=q.stripeLinkUsedWhenFetchingLC)||void 0===o?void 0:o.value)!==JSON.stringify(null===(n=q.stripeLinkEventData)||void 0===n?void 0:n.value),u=JSON.stringify(null===(r=q.stripeAddressUsedWhenAsyncAddressUpdate)||void 0===r?void 0:r.value)!==JSON.stringify(null===(s=q.stripeAddressEventData)||void 0===s?void 0:s.value),m=!q.stripeShippingSameAsBilling&&JSON.stringify(null===(i=q.stripeBillingAddressUsedWhenAsyncAddressUpdate)||void 0===i?void 0:i.value)!==JSON.stringify(null===(a=q.stripeBillingAddressEventData)||void 0===a?void 0:a.value);return c||u||m||q.taxIdUsedWhenAsyncAddressUpdate!==q.taxId||q.companyNameUsedWhenAsyncAddressUpdate!==q.companyName})();if(!i)return{partiesCreated:!1};const a=Z({address:q.stripeAddressEventData.value.address,firstName:q.stripeAddressEventData.value.firstName,lastName:q.stripeAddressEventData.value.lastName,name:q.stripeAddressEventData.value.name,phone:q.stripeAddressEventData.value.phone}),d=q.stripeShippingSameAsBilling?a:Z({address:q.stripeBillingAddressEventData.value.address,firstName:q.stripeBillingAddressEventData.value.firstName,lastName:q.stripeBillingAddressEventData.value.lastName,name:q.stripeBillingAddressEventData.value.name,phone:q.stripeBillingAddressEventData.value.phone}),m="1"===new URLSearchParams(window.location.search).get("zonosE2ETest"),{errors:v,json:p}=await c("/api/zonos-elements/create-parties",{body:{address:a,billingAddress:d,companyName:q.companyName,email:(null===(r=q.stripeLinkEventData)||void 0===r?void 0:r.value.email)||"",isTest:m,rootId:s,shortAddressCode:q.shortAddressCode,taxId:q.taxId},method:"POST"});return v.length||!p?(u("Error occurs when creating parties",JSON.stringify(v,null,2)),h({endpoint:"PF_PARTY_CREATE_FAILED",errors:["Failed to create parties"],metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId,errors:v,json:p}}),{partiesCreated:!1}):(q.companyNameUsedWhenAsyncAddressUpdate=q.companyName,q.stripeAddressUsedWhenAsyncAddressUpdate=q.stripeAddressEventData,q.stripeBillingAddressUsedWhenAsyncAddressUpdate=q.stripeBillingAddressEventData,q.taxIdUsedWhenAsyncAddressUpdate=q.taxId,q.partyBillingId=p.billToPartyId,q.partyShippingId=p.shipToPartyId,we.partiesData=we.partiesData.map((e=>"DESTINATION"===e.type&&e.id!==p.shipToPartyId?Object.assign(Object.assign({},e),{id:p.shipToPartyId}):"PAYOR"===e.type&&e.id!==p.billToPartyId?Object.assign(Object.assign({},e),{id:p.billToPartyId}):e)),{partiesCreated:!0})},X=e=>({countryCode:e.address.country,postalCode:e.address.postal_code,state:e.address.state}),ee=async e=>{var n,r,s,i;const a=(null==e?void 0:e.retries)||0,l=!!(null==e?void 0:e.applyingPromocode),c=(()=>{var e;const t=we.landedCostData&&(null===(e=we.landedCostData.find(Boolean))||void 0===e?void 0:e.subtotals.items)!==we.subtotal,o=(()=>{var e,t;const o=JSON.stringify(null===(e=q.stripeLinkUsedWhenFetchingLC)||void 0===e?void 0:e.value)!==JSON.stringify(null===(t=q.stripeLinkEventData)||void 0===t?void 0:t.value),n=q.stripeAddressEventData&&JSON.stringify(X(q.stripeAddressEventData.value))!==JSON.stringify(q.stripeAddressUsedWhenFetchingLC),r=!q.stripeShippingSameAsBilling&&q.stripeBillingAddressEventData&&JSON.stringify(X(q.stripeBillingAddressEventData.value))!==JSON.stringify(q.stripeBillingAddressUsedWhenFetchingLC);return o||n||r})();return d("isPrefetchInfoOutdated","info",{isAddressOutdated:o}),!we.landedCostData&&!q.isFetchingLandedCost||o||t})();if(!(()=>{var e,o,n,r;const s=!!(null===(e=q.stripeLinkEventData)||void 0===e?void 0:e.complete),i=!!(null===(o=q.stripeAddressEventData)||void 0===o?void 0:o.complete),a=q.stripeShippingSameAsBilling?i:!!(null===(n=q.stripeBillingAddressEventData)||void 0===n?void 0:n.complete),d=(e=>{var o,n;const r=null===(o=t.genericSettings)||void 0===o?void 0:o.countryFields,s=null===(n=t.genericSettings)||void 0===n?void 0:n.stripeCountryFieldLabels;return"stripe"===we.addressFormRenderType&&(s&&e in s?s[e]:null)||(r&&e in r?r[e]:null)})((null===(r=q.stripeAddressEventData)||void 0===r?void 0:r.value.address.country)||"US");return!!(i&&a&&s)||(d&&q.stripeAddressEventData?s&&q.stripeAddressEventData.value.firstName&&q.stripeAddressEventData.value.lastName&&q.stripeAddressEventData.value.address.line1.length>0&&(!d.stateRequired||d.stateRequired&&q.stripeAddressEventData.value.address.state.length>0)&&(!d.zipRequired||d.zipRequired&&q.stripeAddressEventData.value.address.postal_code.length>=3)&&q.stripeAddressEventData.value.phone&&q.stripeAddressEventData.value.phone.length>0:i&&a&&s)})())return{isRequestNotReady:!0};if(c&&(null===(n=q.fetchingLandedCostAbortController)||void 0===n||n.abort(),q.fetchingLandedCostAbortController=null),!c&&!l)return{isRequestNotReady:!1};a?(q.isFetchingLandedCost=!1,setTimeout((()=>{q.isFetchingLandedCost=!0}),300)):q.isFetchingLandedCost=!0,q.stripeAddressEventData&&(q.stripeAddressUsedWhenFetchingLC={countryCode:q.stripeAddressEventData.value.address.country,postalCode:q.stripeAddressEventData.value.address.postal_code,state:q.stripeAddressEventData.value.address.state}),q.stripeBillingAddressEventData&&(q.stripeBillingAddressUsedWhenFetchingLC={countryCode:q.stripeBillingAddressEventData.value.address.country,postalCode:q.stripeBillingAddressEventData.value.address.postal_code,state:q.stripeBillingAddressEventData.value.address.state}),q.stripeLinkEventData&&(q.stripeLinkUsedWhenFetchingLC=Object.assign({},q.stripeLinkEventData));try{xe(),await(async()=>{var e;const t=new AbortController;q.fetchingLandedCostAbortController=t,xe();const{checkoutSessionWorkflow:n,errors:r,itemCreateWorkflow:s,landedCostCalculateWorkflow:i,partyCreateWorkflow:a,shipmentRatingCalculateWorkflow:d}=await z(t);we.customQuotingError=(null===(e=null==r?void 0:r.find((e=>{var t;return"CUSTOM"===(null===(t=e.extensions)||void 0===t?void 0:t.ruleMessageType)})))||void 0===e?void 0:e.message)||null,we.shippingData=B((null==d?void 0:d.filter(Boolean))||[]),Ce(s),q.fetchingLandedCostAbortController=null,we.partiesData=(null==a?void 0:a.filter(Boolean))||[],we.landedCostData=(null==n?void 0:n.map((e=>{const t=null==i?void 0:i.find((t=>(null==t?void 0:t.id)===e.landedCostId));return t?Object.assign(Object.assign({},e),{landedCost:t}):null})).filter(Boolean))||[],(null==n?void 0:n.length)&&U({checkoutSessionId:o.checkoutSessionId,eventName:"checkout_quoteReceived"});const l=we.promoCodeApplied&&!we.landedCostData.find((e=>{var t;return null===(t=e.landedCost.appliedAdjustments)||void 0===t?void 0:t.find((e=>"PROMO_CODE"===e.type))}));we.promoCodeError=l,l||sessionStorage.setItem("zonos--promo-code",we.promoCode)})();const e=null===(r=we.shippingData)||void 0===r?void 0:r.find(Boolean),t=null===(s=we.landedCostData)||void 0===s?void 0:s.find((t=>t.landedCost.shipmentRating.id===(null==e?void 0:e.id))),n=t?t.subtotals:null;n&&ke({method:(null==t?void 0:t.landedCost.method)||"DDP",subtotals:n})}catch(t){if(we.landedCostData=[],we.shippingData=[],t instanceof Error&&t.message&&!["The landed cost calculation request was aborted to initiate a new one."].includes(t.message)){if(a<1)return await ee(Object.assign(Object.assign({},e),{retries:(a||0)+1})),{isRequestNotReady:!1};const o=null===(i=q.stripeAddressEventData)||void 0===i?void 0:i.value;h({endpoint:`Failed to fetch landed cost (${a} retries)`,errors:[t.message],metadata:{cartId:window.Zonos.cartId,shipToAddress:o}})}u(t)}return q.isFetchingLandedCost=!1,{isRequestNotReady:!1}},te=async()=>{var e,t;await ee({applyingPromocode:!0}),"payment"===we.step&&ze(),await Q();const o=null===(e=we.shippingData)||void 0===e?void 0:e.find(Boolean),n=null===(t=we.landedCostData)||void 0===t?void 0:t.find((e=>e.landedCost.id===(null==o?void 0:o.id)));o&&n&&await Pe({applySubtotalsOnly:!1,landedCostId:n.landedCostId,selectedShippingOption:o})},oe=()=>{we.promoCode="",sessionStorage.removeItem("zonos--promo-code"),we.promoCodeError=!1,we.promoCodeApplied=!1},ne=async()=>{"payment"===we.step&&ze(),oe(),await te()},re=e=>{let t=[],o=!0;const n=window.Zonos.isCollect,r=window.Zonos.isInvoice;switch(e){case"succeeded":t=[s("Your payment went through successfully! Thank you for shopping with us! We hope you had an enjoyable experience and your support means the world to us."),"",s("We've sent an email confirmation of the order details for your review. And our team is carefully preparing your order so it arrives on time.")],(n||r)&&(t=[s("Thank you for submitting your payment. We appreciate your prompt attention."),"",s("A confirmation email with your payment details has been sent for your records. If you have any questions or need support, our team is here to help.")]),o=!1;break;case"requires_capture":case"processing":t=[s("Payment processing. We'll update you when payment is received.")],o=!1;break;case"requires_payment_method":t=[s("Payment failed. Please try another payment method.")],n&&(t=[s("Payment failed. Please reload the page and try another payment method.")]);break;case"requires_action":o=!1,t=[s("Your selected payment method requires additional verification. Please follow the instructions provided by your payment provider to complete the transaction.")];default:t=[s("Something went wrong.")]}return{isError:o,messages:t}},se=async()=>{var e,o;const{onInventoryCheck:n}=t.checkoutSettings,r=!!(null===(o=null===(e=window.Zonos.cartData)||void 0===e?void 0:e.metadata.find((e=>"referenceId"===e.key)))||void 0===o?void 0:o.value);if(window.Zonos.isLegacyCheckout&&window.Zonos.cartData&&r){const{errors:e,json:t}=await c("/api/zonos-elements/legacy/inventory-check",{body:{cartData:window.Zonos.cartData},method:"POST"});return e.length||!t?(u("Error occurs when handling inventory refund","warn",JSON.stringify(e)),null):t.available&&204!==t.status?t.available||200===t.status?(q.shouldInventoryRefund=!0,null):null:s("The item you're looking for is currently unavailable in our inventory. Please check back later or contact support for assistance with availability.")}if("function"!=typeof n)return null;try{return await n({items:we.items},{translate:s,zonosApiRoute:m.vercel})}catch(e){const t=e instanceof Error?e.message:"Unknown error";throw h({endpoint:"onInventoryCheck",errors:[`cartId: ${window.Zonos.cartId} - ${t}`],metadata:{cartId:window.Zonos.cartId,href:window.location.href,items:we.items}}),e}},ie=async()=>{var e,t;const o=!!(null===(t=null===(e=window.Zonos.cartData)||void 0===e?void 0:e.metadata.find((e=>"referenceId"===e.key)))||void 0===t?void 0:t.value);window.Zonos.isLegacyCheckout&&window.Zonos.cartData&&o&&await c("/api/zonos-elements/legacy/inventory-refund",{body:{cartData:window.Zonos.cartData},method:"POST"})},ae=async({clientSecret:e,storybookForceStatus:t})=>{if(t){const{isError:e,messages:o}=re(t);return{error:e,messages:o}}const o=e||q.clientSecret;if(!q.stripe||!o)return u("Failed to retrieve payment intent. Stripe is not initialized"),{error:!0,message:[s("Something went wrong.")]};const{paymentIntent:n}=await q.stripe.retrievePaymentIntent(o),r=null==n?void 0:n.status,{isError:i,messages:a}=re(r);return{amount:null==n?void 0:n.amount,currency:null==n?void 0:n.currency,error:i,messages:a,paymentIntentId:null==n?void 0:n.id,paymentMethod:null==n?void 0:n.payment_method,status:r}},de=async e=>{var t,n;const r=!!(null===(t=q.stripePaymentEventData)||void 0===t?void 0:t.complete),i=q.stripeElements,a=q.stripe,l=q.clientSecret;if(q.customErrorMessage=null,!(null===(n=we.selectedLandedCost)||void 0===n?void 0:n.landedCost.id)&&!(null==e?void 0:e.noLandedCostCheck))throw new Error("Attempted to confirm the payment when no landed cost is found in store");const c=await F();if(!c.valid)throw q.customErrorMessage=c.errorMessage,new Error(c.errorMessage);const u=o.checkoutSessionId;if(a&&i&&r&&l&&u){const e=new URL(window.location.href);e.searchParams.set("payment_intent_client_secret",l),e.searchParams.set("zonosCheckoutSessionId",u),U({checkoutSessionId:u,eventName:"checkout_paymentInfoCompleted"});const{error:t,paymentIntent:o}=await a.confirmPayment({confirmParams:{return_url:e.toString()},elements:i,redirect:"if_required"});if(d("Payment intent confirmed","info",{error:t,paymentIntent:o}),"requires_action"===(null==o?void 0:o.status))throw new Error(s("Your selected payment method requires additional verification. Please follow the instructions provided by your payment provider to complete the transaction."));if(t){if("card_error"===t.type||"validation_error"===t.type)throw new Error(t.message);if("invalid_request_error"===t.type&&"payment_intent_unexpected_state"===t.code)return;throw new Error("An unexpected error occurred.")}if("requires_payment_method"===o.status)throw new Error(s("Payment failed. Please try another payment method."))}},le=()=>{var e;const t=we.items.reduce(((e,t)=>e+t.amount*t.quantity),0),r=o.enabledVariantTestKeys||[];return{adjustmentsAmount:we.adjustments.reduce(((e,t)=>e+t.amount),0),cartId:window.Zonos.cartId,currency:(null===(e=we.items.find(Boolean))||void 0===e?void 0:e.currencyCode)||"",customerAuthenticationToken:we.customerAuthenticationToken||void 0,isCollect:!!window.Zonos.isCollect,isInvoice:!!window.Zonos.isInvoice,itemsAmount:t,metadata:[{key:"language",value:n.selectedLocale}],presentmentCountryCode:n.selectedCountryCode,skipPaymentIntent:q.skipPaymentIntent,varianceTestInput:r}},ce=async()=>{var e;if(!o.checkoutSessionId)return h({endpoint:"Error creating payment intent",errors:["No checkout session id found when retrieving payment intent"],metadata:{allLogs:l,cartId:window.Zonos.cartId}}),void Ie({messages:[s("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:s("Error creating Checkout")});const{errors:t,json:n}=await c("/api/zonos-elements/create-payment-intent",{body:{checkoutSessionId:o.checkoutSessionId},method:"POST"}),r=null===(e=null==n?void 0:n.checkoutSessionPaymentIntentCreate)||void 0===e?void 0:e.clientSecret;if(t.length||!r)return u("Error occurs when getting payment intent",JSON.stringify(t,null,2)),h({endpoint:"Error creating payment intent",errors:t.map((e=>e.message)),metadata:{allLogs:l,cartId:window.Zonos.cartId,checkoutSessionId:o.checkoutSessionId,clientSecret:r}}),void Ie({messages:[s("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:s("Error creating Checkout")});Te(n.checkoutSessionPaymentIntentCreate)},ue=async()=>{var e,t;if(!n.targetCurrency)return u("Failed to create checkout session - missing localizationStore.targetCurrency"),!1;q.isFetchingSession=!0;const o=le();d("Checkout session body","info",o);const{errors:r,json:s}=await c("/api/zonos-elements/create-checkout-session",{body:o,method:"POST"});if(q.isFetchingSession=!1,r.length||!s){const t=null===(e=r.find((e=>e.message)))||void 0===e?void 0:e.message;if(Array.isArray(t)&&t.some((e=>"Cart is expired."===e.message)))throw new Error("Cart is expired.");return u("Error occurred when creating checkout session",JSON.stringify(r,null,2)),!1}const i=s.checkoutSessionCreate;return Te(i),ke({method:(null===(t=i.landedCost)||void 0===t?void 0:t.method)||"DDP",subtotals:i.subtotals}),d("Exchange rate updated for cart items (checkout session create)","info",we.exchangeRate),d("done-init-checkout-session"),!0},me=async()=>{const e=o.checkoutSessionId;if(!e)return u("Failed to update checkout session base currency"),!1;if("LOCAL"===t.checkoutSettings.allowedSettlementCurrencies)return d('allowedSettlementCurrencies: "LOCAL". Skip updating checkout session base currency'),!0;const{json:n}=await c("/api/zonos-elements/update-checkout-session-base-currency",{body:{checkoutSessionId:e,currencyCode:q.checkoutSettlementCurrency},method:"POST"}),r=null==n?void 0:n.checkoutSessionBaseCurrencyUpdate.subtotals.presentmentCurrencyCode;return n&&r===q.checkoutSettlementCurrency?(d(`Updated checkout session to settlement currency "${r}".`),!0):(u("Failed to update checkout session base currency"),!1)},ve=async({adjustmentsAmount:e,cartId:t,currency:r,id:s,itemsAmount:i,landedCostId:a,presentmentCountryCode:d,storeCreditApplication:l})=>{const m=o.enabledVariantTestKeys||[],{errors:v,json:p}=await c("/api/zonos-elements/update-checkout-session",{body:{adjustmentsAmount:e,billToPartyId:q.partyBillingId,cartId:t,currency:r,customerAuthenticationToken:we.customerAuthenticationToken||void 0,id:s,itemsAmount:i,landedCostId:a,metadata:[{key:"language",value:n.selectedLocale}],presentmentCountryCode:d,shipToPartyId:q.partyShippingId,skipPaymentIntent:q.skipPaymentIntent,storeCreditApplication:l,varianceTestInput:m},method:"POST"});return v.length||!p?(u("Error occurs when updating checkout session",JSON.stringify(v,null,2)),{errors:v,json:p}):{errors:[],json:p}},pe=({currentAddress:e,translatedAddressResult:t})=>{const o={};if(!t)return o;const{city:n,line1:r,line2:s,name:i,postal_code:a,state:d}=t;return e.city&&n&&(o.city={[e.city]:n}),e.line1&&r&&(o.line1={[e.line1]:r}),e.line2&&s&&(o.line2={[e.line2]:s}),e.postal_code&&a&&(o.postal_code={[e.postal_code]:a}),e.state&&d&&(o.state={[e.state]:d}),e.name&&i&&(o.name={[e.name]:i}),o},he=async({addressInvalidCharactersList:e,billingAddressInvalidCharactersList:t})=>{var o,n,r,s;const i=(({addressInvalidCharactersList:e,billingAddressInvalidCharactersList:t,stripeAddressEventData:o,stripeBillingAddressEventData:n,stripeShippingSameAsBilling:r})=>{const s=!!(null==o?void 0:o.complete);if(!s||!(r?s:null==n?void 0:n.complete))return null;if(!e&&!t)return null;const i=o.value,a=(null==n?void 0:n.value)||null,{firstName:d,lastName:l}=D({firstName:i.firstName,lastName:i.lastName,name:i.name}),c=`${d} ${l}`,{firstName:u,lastName:m}=D({firstName:null==a?void 0:a.firstName,lastName:null==a?void 0:a.lastName,name:(null==a?void 0:a.name)||""}),v=u&&m?`${u} ${m}`:"",p=i.address,h=null==a?void 0:a.address;return{address:_({address:Object.assign(Object.assign({},p),{name:c}),invalidAdddressList:e}),billingAddress:r?void 0:_({address:h?Object.assign(Object.assign({},h),{name:v}):null,invalidAdddressList:t}),destinationCountry:p.country}})({addressInvalidCharactersList:e,billingAddressInvalidCharactersList:t,stripeAddressEventData:q.stripeAddressEventData,stripeBillingAddressEventData:q.stripeBillingAddressEventData,stripeShippingSameAsBilling:q.stripeShippingSameAsBilling});if(!i)return void(q.translatedAddress={address:{},billingAddress:{}});const a=(()=>{var e,t,o,n;const r=JSON.stringify(null===(e=q.stripeAddressUsedWhenValidatingAddress)||void 0===e?void 0:e.value)!==JSON.stringify(null===(t=q.stripeAddressEventData)||void 0===t?void 0:t.value),s=!q.stripeShippingSameAsBilling&&JSON.stringify(null===(o=q.stripeBillingAddressEventData)||void 0===o?void 0:o.value)!==JSON.stringify(null===(n=q.stripeBillingAddressUsedWhenValidatingAddress)||void 0===n?void 0:n.value);return r||s})();if(!a)return;const{errors:d,json:l}=await c("/api/zonos-elements/validate-address",{body:i,method:"POST"});if(d.length||!l)return u("Error occurs when translating address to latin",JSON.stringify(d,null,2)),void(q.translatedAddress={address:{},billingAddress:{}});q.stripeAddressUsedWhenValidatingAddress=q.stripeAddressEventData,q.stripeBillingAddressUsedWhenValidatingAddress=q.stripeBillingAddressEventData;const m=null===(o=q.stripeAddressEventData)||void 0===o?void 0:o.value.address,v=null===(n=q.stripeBillingAddressEventData)||void 0===n?void 0:n.value.address;q.translatedAddress={address:m?pe({currentAddress:Object.assign(Object.assign({},m),{name:null===(r=q.stripeAddressEventData)||void 0===r?void 0:r.value.name}),translatedAddressResult:l.address||null}):{},billingAddress:q.stripeShippingSameAsBilling?{}:pe({currentAddress:Object.assign(Object.assign({},v),{name:null===(s=q.stripeBillingAddressEventData)||void 0===s?void 0:s.value.name}),translatedAddressResult:l.billingAddress||null})}};W("clientSecret",(e=>{e&&q.stripe&&sessionStorage.setItem("zonos--client-secret",e),e||sessionStorage.removeItem("zonos--client-secret")}));const{onChange:ye,reset:fe,state:we}=e((()=>({addressFormRenderType:"stripe",adjustmentTotal:0,adjustments:[],checkoutSession:null,checkoutSessionTimeoutShow:!1,checkoutTimeoutInterval:null,currency:"USD",customMessage:[],customQuotingError:null,customerAuthenticationToken:null,displayBaseCurrency:!1,dutiesTaxesFees:null,dutiesTaxesFeesEstimate:null,error:null,exchangeRate:null,externalConfirmationPageURL:null,inventoryCheckErrorMessage:null,isSelectedShippingAboveDeminimis:!1,isSelectedShippingGuarantee:!1,isStagingMode:p(),items:[],landedCostData:null,landedCostMethod:"DDP",partiesData:[],promoCode:sessionStorage.getItem("zonos--promo-code")||"",promoCodeApplied:!!sessionStorage.getItem("zonos--promo-code"),promoCodeError:!1,restrictedItems:[],selectedLandedCost:null,selectedShippingOption:null,selectedShippingOptionExpectedDate:"",selectedShippingOptionTransitTime:"",shipping:0,shippingData:null,shouldHideDiscountInput:!1,step:"customer-info",storeCredit:0,subtotal:0,tabItems:{"customer-info":{index:1,isDone:!1,label:"Customer",value:"customer-info"},shipping:{index:2,isDone:!1,label:"Shipping",value:"shipping"},payment:{index:3,isDone:!1,label:"Payment",value:"payment"}},total:0}))),ge=e=>{switch(e){case"DAYS":return s("days");case"WEEKS":return s("weeks");default:return s("business days")}},be=e=>{var t;const o=null===(t=e.shippingProfile)||void 0===t?void 0:t.transitTime;return(null==o?void 0:o.min)&&(null==o?void 0:o.max)&&(null==o?void 0:o.type)?{maxTransit:o.max,minTransit:o.min,unit:ge(o.type)}:null},Se=({item1:e,item2:t})=>!(!e||!t)&&(t.sku&&e.sku&&e.sku===t.sku||t.description&&e.description&&e.description===t.description||e.name&&t.name&&e.name===t.name),Ce=e=>{d("Checking item restrictions");const t=e.map((e=>{if(!e.restriction)return null;const{restriction:t}=e,o=we.items.find((t=>Se({item1:t,item2:e})));return Object.assign(Object.assign({matchedItem:o},e),{restriction:t})})).filter(Boolean);return we.restrictedItems=t,we.items=we.items.map((e=>Object.assign(Object.assign({},e),{isRestricted:!!t.find((t=>Se({item1:t,item2:e})))}))),{cartItems:we.items,restrictedItems:t}};let Oe=null;const Ae=()=>{o.checkoutSessionId=null,Oe&&(clearTimeout(Oe),Oe=null),C(),fe()},Ie=({messages:e,title:t})=>{Ae(),V(),we.step="error",we.error={messages:e,title:t}},ke=({dutiesTaxesFeesEstimate:e,method:t,subtotals:o})=>{var n;we.exchangeRate=o.exchangeRate,we.adjustmentTotal=o.adjustments,we.dutiesTaxesFees="DAP"===t?null:o.landedCostTotal,we.storeCredit=null!==(n=o.storeCredit)&&void 0!==n?n:0,we.subtotal=o.items,we.total=o.total,we.currency=o.presentmentCurrencyCode,we.dutiesTaxesFeesEstimate=e||null},Ne=()=>!!we.items.filter((e=>e.amount>0)).find((e=>!e.isRestricted)),Te=e=>{var t,n,r,s,c,u,m;q.clientSecret=e.clientSecret,q.stripeCustomerSessionClientSecret=e.customerSessionClientSecret,q.customerProfile=e.customerProfile,we.checkoutSession=e,O(null!==(n=null===(t=e.customerProfile)||void 0===t?void 0:t.storeCreditBalance)&&void 0!==n?n:null),e.id||h({endpoint:"cartStoreSetCheckoutSession",errors:["Missing checkout session id in checkout session"],metadata:{allLogs:l,checkoutSession:e}}),e.id&&(o.checkoutSessionId=e.id);const v=i(e.varianceTestResults||[]);a(v);const p=(null===(c=null===(s=null===(r=we.checkoutSession)||void 0===r?void 0:r.metadata)||void 0===s?void 0:s.find((e=>"externalConfirmationPageURL"===(null==e?void 0:e.key))))||void 0===c?void 0:c.value)||(null===(m=null===(u=window.Zonos.cartData)||void 0===u?void 0:u.metadata.find((e=>"externalConfirmationPageURL"===(null==e?void 0:e.key))))||void 0===m?void 0:m.value)||null;p&&(d(`Found externalConfirmationPageURL: ${p}`),we.externalConfirmationPageURL=p)},je=async({adjustmentsAmount:e,cartId:t,currency:r,dutiesTaxesFeesEstimate:i,itemsAmount:a,landedCostId:l,shouldInitSessionOnFailure:c})=>{var m;if(l&&we.selectedLandedCost&&(ke({dutiesTaxesFeesEstimate:i,method:we.landedCostMethod,subtotals:we.selectedLandedCost.subtotals}),d("Exchange rate updated for cart items (landed cost subtotal)","info",we.exchangeRate)),!o.checkoutSessionId)return d("Could not update cart total without checkout session id","info"),!1;const{errors:v,json:p}=await ve({adjustmentsAmount:e,billToPartyId:q.partyBillingId,cartId:t,currency:r,id:o.checkoutSessionId,itemsAmount:a,landedCostId:l,presentmentCountryCode:n.selectedCountryCode,shipToPartyId:q.partyShippingId,varianceTestInput:o.enabledVariantTestKeys||[]});if(v.length>0||!p){if(u("Error occurs when updating checkout session."),c){d("Initiating checkout session on failure","info");const e=await ue();return d(`stripeStoreInitCheckoutSession: ${e}`),!!e||(Ie({messages:[s("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:s("Error creating Checkout")}),!1)}return!1}return l||(ke({method:(null===(m=p.checkoutSessionUpdate.landedCost)||void 0===m?void 0:m.method)||"DDP",subtotals:p.checkoutSessionUpdate.subtotals}),d("Exchange rate updated for cart items (checkout session update)","info",we.exchangeRate)),Te(p.checkoutSessionUpdate),!0},Ee=e=>{var o,n,r;return"DAP"===e.method&&(null===(n=null===(o=t.genericSettings)||void 0===o?void 0:o.domesticCountries)||void 0===n?void 0:n.includes((null===(r=q.stripeAddressEventData)||void 0===r?void 0:r.value.address.country)||"US"))||"DAP"===e.method&&e.remittance.length&&"ZONOS"===e.landedCostGuaranteeCode?"DDP":e.method},Pe=async({applySubtotalsOnly:e,landedCostId:n,selectedShippingOption:r})=>{var s,i,a,l,c,u,m,v,p,h,y;d("Updating selected shipping option","info",{landedCostId:n,selectedShippingOption:r}),we.selectedShippingOption=r;const f=be(we.selectedShippingOption);if(f){const{maxTransit:e,minTransit:t,unit:o}=f;we.selectedShippingOptionTransitTime=`${t}-${e} ${o}`}else we.selectedShippingOptionTransitTime="";const w=null===(s=we.landedCostData)||void 0===s?void 0:s.find((e=>e.landedCostId===n));if(we.selectedLandedCost=w||null,!w)return!1;const g=((null===(i=w.landedCost.amountSubtotals)||void 0===i?void 0:i.landedCostTotal)||0)*w.subtotals.exchangeRate.rate;g&&d(`DAP quote, using estimate: ${g}`,"info"),we.landedCostMethod=Ee(w.landedCost),we.shipping=w.subtotals.shipping;const b="ZONOS"===(null===(a=null==w?void 0:w.landedCost)||void 0===a?void 0:a.landedCostGuaranteeCode),S=!!(null===(c=null===(l=null==w?void 0:w.landedCost)||void 0===l?void 0:l.deMinimis)||void 0===c?void 0:c.find((e=>["DUTY","TAX"].includes(e.type)&&"ABOVE"===e.threshold)));we.isSelectedShippingAboveDeminimis=S,we.isSelectedShippingGuarantee=b;let C=!1;e?(ke({dutiesTaxesFeesEstimate:g,method:we.landedCostMethod,subtotals:w.subtotals}),d("Exchange rate updated for cart items (landed cost subtotal)","info",we.exchangeRate),C=!0):C=await je({adjustmentsAmount:we.adjustmentTotal,billToPartyId:q.partyBillingId,cartId:window.Zonos.cartId,dutiesTaxesFeesEstimate:g,landedCostId:null===(u=w.landedCost)||void 0===u?void 0:u.id,shipToPartyId:q.partyShippingId,varianceTestInput:o.enabledVariantTestKeys||[]});const O=null===(m=we.items.find(Boolean))||void 0===m?void 0:m.currencyCode,A=(null===(v=q.stripeAddressEventData)||void 0===v?void 0:v.value.address.country)||"US";return q.shouldRenderPayInUsdButton="USD"===O&&"LOCAL_AND_USD"===t.checkoutSettings.allowedSettlementCurrencies&&"USD"!==(null===(p=we.checkoutSession)||void 0===p?void 0:p.subtotals.presentmentCurrencyCode)&&!!(null===(y=null===(h=t.genericSettings)||void 0===h?void 0:h.usdSettlementCountryEnabled)||void 0===y?void 0:y.includes(A)),C},De=({isPreview:e,sessionTimeout:t})=>{if(e)return;const o=new URLSearchParams(window.location.search).get("zonosCheckoutTimeout"),n=o&&!isNaN(parseInt(o,10))?parseInt(o,10):t;d(`==START CHECKOUT TIMEOUT - ${n}==`),we.checkoutTimeoutInterval=setTimeout((()=>{we.checkoutSessionTimeoutShow=!0}),n)},Le=()=>{we.checkoutTimeoutInterval&&(clearTimeout(we.checkoutTimeoutInterval),we.checkoutTimeoutInterval=null)},xe=()=>{we.items=we.items.map((e=>Object.assign(Object.assign({},e),{isRestricted:!1}))),we.restrictedItems=[]},Re=async({adjustments:e,cartItems:t,landedCostId:n,shouldInitSessionOnFailure:r=!0})=>{var s;we.adjustments=e,we.items=t.map((e=>Object.assign(Object.assign({},e),{isRestricted:!1})));const i=null===(s=t.find(Boolean))||void 0===s?void 0:s.currencyCode,a=t.reduce(((e,t)=>e+t.amount*t.quantity),0),d=e.reduce(((e,t)=>e+t.amount),0);i&&a&&(we.currency=i,q.isFetchingSession=!0,await je({adjustmentsAmount:d,billToPartyId:q.partyBillingId,cartId:window.Zonos.cartId,currency:i,dutiesTaxesFeesEstimate:0,itemsAmount:a,landedCostId:n,shipToPartyId:q.partyShippingId,shouldInitSessionOnFailure:r,varianceTestInput:o.enabledVariantTestKeys||[]}),q.isFetchingSession=!1)},ze=()=>{"shipping"===we.step?(we.step="customer-info",we.tabItems=Object.assign(Object.assign({},we.tabItems),{"customer-info":Object.assign(Object.assign({},we.tabItems.shipping),{isDone:!1})})):"payment"===we.step?(we.step="shipping",we.tabItems=Object.assign(Object.assign({},we.tabItems),{shipping:Object.assign(Object.assign({},we.tabItems.shipping),{isDone:!1})})):"finish"===we.step&&(we.step="payment",we.tabItems=Object.assign(Object.assign({},we.tabItems),{payment:Object.assign(Object.assign({},we.tabItems.payment),{isDone:!1})}))},Ue=()=>{"customer-info"===we.step?(we.step="shipping",we.tabItems=Object.assign(Object.assign({},we.tabItems),{"customer-info":Object.assign(Object.assign({},we.tabItems["customer-info"]),{isDone:!0})})):"shipping"===we.step?(we.step="payment",we.tabItems=Object.assign(Object.assign({},we.tabItems),{shipping:Object.assign(Object.assign({},we.tabItems.shipping),{isDone:!0})})):"payment"===we.step&&(we.step="finish")},_e=()=>{we.step="customer-info",we.tabItems=Object.assign(Object.assign({},we.tabItems),{"customer-info":Object.assign(Object.assign({},we.tabItems["customer-info"]),{isDone:!1}),payment:Object.assign(Object.assign({},we.tabItems.payment),{isDone:!1}),shipping:Object.assign(Object.assign({},we.tabItems.shipping),{isDone:!1})}),we.selectedShippingOption=null,we.isSelectedShippingAboveDeminimis=!1,we.isSelectedShippingGuarantee=!1,we.selectedShippingOptionTransitTime="",we.dutiesTaxesFees=0,we.dutiesTaxesFeesEstimate=0,we.shipping=0,we.total=we.subtotal},Be=()=>{Oe&&clearTimeout(Oe),Oe=setTimeout((()=>{Oe=null,(async()=>{var e,t;if(!o.checkoutSessionId)return void d("Could not update store credit without checkout session id","info");const r=we.selectedLandedCost,s=we.currency||(null===(e=we.items.find(Boolean))||void 0===e?void 0:e.currencyCode)||"",i=we.adjustments.reduce(((e,t)=>e+t.amount),0),a=we.items.reduce(((e,t)=>e+t.amount*t.quantity),0),{errors:l,json:c}=await ve({adjustmentsAmount:i,cartId:window.Zonos.cartId,currency:s,id:o.checkoutSessionId,itemsAmount:a,landedCostId:null==r?void 0:r.landedCostId,presentmentCountryCode:n.selectedCountryCode,storeCreditApplication:S.isEnabled&&null!==S.amountToApply?S.useFullBalance?{mode:"FULL"}:{amount:S.amountToApply,mode:"PARTIAL"}:{mode:"NONE"}});l.length>0||!c?u("Error updating checkout session with store credit"):(ke({method:(null===(t=c.checkoutSessionUpdate.landedCost)||void 0===t?void 0:t.method)||"DDP",subtotals:c.checkoutSessionUpdate.subtotals}),Te(c.checkoutSessionUpdate))})()}),300)};export{de as A,ie as B,V as C,ye as D,W as E,j as F,Z as G,Pe as H,Ne as I,te as J,ne as K,oe as L,re as M,S as N,C as O,he as P,D as Q,Q as R,be as S,Ee as T,B as U,k as V,T as W,Be as X,N as Y,A as Z,H as a,q as b,ae as c,we as d,Re as e,Ae as f,_e as g,Le as h,G as i,ue as j,ce as k,De as l,le as m,Ie as n,Y as o,Te as p,ee as q,Ue as r,K as s,U as t,me as u,se as v,I as w,E as x,F as y,P as z}
|