@zonos/elements 1.3.260 → 1.3.262
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/index.cjs.js +12 -9
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{paypal-73a542cb.js → paypal-e278f405.js} +140 -6
- package/dist/cjs/submitGtag-4241212b.js +167 -0
- package/dist/cjs/zonos-address-display_8.cjs.entry.js +17 -17
- 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 +8 -8
- package/dist/cjs/zonos-cart-items_12.cjs.entry.js +106 -31
- package/dist/cjs/zonos-checkbox_2.cjs.entry.js +5 -5
- package/dist/cjs/zonos-checkout.cjs.entry.js +20 -10
- package/dist/cjs/zonos-collapse.cjs.entry.js +2 -2
- package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +4 -4
- package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +19 -19
- package/dist/cjs/zonos-collect.cjs.entry.js +2 -2
- package/dist/cjs/zonos-component.cjs.entry.js +1 -1
- package/dist/cjs/zonos-controller.cjs.entry.js +3 -3
- package/dist/cjs/zonos-country-select_4.cjs.entry.js +9 -9
- package/dist/cjs/zonos-elements.cjs.js +1 -1
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +4 -4
- package/dist/cjs/zonos-input.cjs.entry.js +4 -4
- package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +4 -4
- package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +14 -14
- package/dist/cjs/zonos-invoice.cjs.entry.js +2 -2
- package/dist/cjs/zonos-language-select_2.cjs.entry.js +4 -4
- package/dist/cjs/zonos-link.cjs.entry.js +1 -1
- package/dist/cjs/zonos-logo.cjs.entry.js +2 -2
- package/dist/cjs/zonos-stripe-input.cjs.entry.js +4 -4
- package/dist/cjs/zonos-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/zonos-v-stack.cjs.entry.js +2 -2
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +82 -15
- 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-payment/zonos-checkout-payment.css +7 -0
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +7 -3
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +19 -9
- package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +7 -0
- package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +5 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +7 -0
- package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +6 -3
- 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 +6 -6
- 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-payment/zonos-collect-payment.js +2 -2
- 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 +6 -6
- 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-payment/zonos-invoice-payment.js +2 -2
- 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 +5 -5
- package/dist/collection/components/common/zonos-toggle/zonos-toggle.js +2 -2
- package/dist/collection/components/common/zonos-tooltip/zonos-tooltip.js +2 -2
- package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +2 -2
- package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.js +2 -2
- package/dist/collection/components/component-template/zonos-component/zonos-component.js +1 -1
- package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +2 -2
- package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +4 -4
- package/dist/collection/components/main/zonos-controller.js +2 -2
- package/dist/collection/components/paypal/zonos-paypal-payment.js +1 -1
- package/dist/collection/components/store/checkout/paypal.js +4 -4
- package/dist/collection/components/stripe/zonos-address/zonos-address.js +2 -2
- package/dist/collection/components/stripe/zonos-custom-address/zonos-address-suggestions/zonos-address-suggestions.js +2 -2
- package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +2 -2
- package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +1 -1
- package/dist/collection/components/utils/analytics/analyticsRelayState.js +112 -0
- package/dist/collection/components/utils/analytics/mapToFbEvent.js +66 -0
- package/dist/collection/components/utils/submitAnalytics.js +16 -0
- package/dist/collection/components/utils/submitFbq.js +56 -0
- package/dist/collection/components/utils/submitGtag.js +15 -78
- package/dist/collection/scripts/_zonosBase.js +5 -2
- package/dist/collection/types/analyticsRelay.js +2 -2
- package/dist/esm/index.js +12 -9
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{paypal-38ca5d21.js → paypal-d8804da5.js} +142 -9
- package/dist/esm/submitGtag-7f5c5bb5.js +162 -0
- package/dist/esm/zonos-address-display_8.entry.js +17 -17
- 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 +8 -8
- package/dist/esm/zonos-cart-items_12.entry.js +106 -31
- package/dist/esm/zonos-checkbox_2.entry.js +5 -5
- package/dist/esm/zonos-checkout.entry.js +20 -10
- package/dist/esm/zonos-collapse.entry.js +2 -2
- package/dist/esm/zonos-collect-cart-items_3.entry.js +4 -4
- package/dist/esm/zonos-collect-finish_6.entry.js +19 -19
- package/dist/esm/zonos-collect.entry.js +2 -2
- package/dist/esm/zonos-component.entry.js +1 -1
- package/dist/esm/zonos-controller.entry.js +3 -3
- package/dist/esm/zonos-country-select_4.entry.js +9 -9
- package/dist/esm/zonos-elements.js +1 -1
- package/dist/esm/zonos-hello-dialog.entry.js +4 -4
- package/dist/esm/zonos-input.entry.js +4 -4
- package/dist/esm/zonos-invoice-cart-items_2.entry.js +4 -4
- package/dist/esm/zonos-invoice-finish_5.entry.js +14 -14
- package/dist/esm/zonos-invoice.entry.js +2 -2
- package/dist/esm/zonos-language-select_2.entry.js +4 -4
- package/dist/esm/zonos-link.entry.js +1 -1
- package/dist/esm/zonos-logo.entry.js +2 -2
- package/dist/esm/zonos-stripe-input.entry.js +4 -4
- package/dist/esm/zonos-tooltip.entry.js +2 -2
- package/dist/esm/zonos-v-stack.entry.js +2 -2
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/paypal-d8804da5.js +17 -0
- package/dist/esm-es5/submitGtag-7f5c5bb5.js +1 -0
- 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-component.entry.js +1 -1
- package/dist/esm-es5/zonos-controller.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-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-stripe-input.entry.js +1 -1
- package/dist/esm-es5/zonos-tooltip.entry.js +1 -1
- package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
- package/dist/scripts/analyticsRelayOnInit.js +1 -1
- package/dist/scripts/index.d.ts +18 -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-checkout-finish/zonos-checkout-finish.d.ts +15 -0
- package/dist/types/components/utils/analytics/analyticsRelayState.d.ts +43 -0
- package/dist/types/components/utils/analytics/mapToFbEvent.d.ts +11 -0
- package/dist/types/components/utils/submitAnalytics.d.ts +12 -0
- package/dist/types/components/utils/submitFbq.d.ts +14 -0
- package/dist/types/components/utils/submitGtag.d.ts +4 -9
- package/dist/types/scripts/_zonosBase.d.ts +11 -0
- package/dist/types/types/analyticsRelay.d.ts +19 -3
- package/dist/types/types/checkout/CheckoutConfig.d.ts +7 -0
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/{p-bb6e7e9e.entry.js → p-00bd7e5d.entry.js} +1 -1
- package/dist/zonos-elements/p-022ddd4a.system.entry.js +1 -0
- package/dist/zonos-elements/{p-da5a35a6.entry.js → p-06ef4d79.entry.js} +1 -1
- package/dist/zonos-elements/{p-874ccf1c.system.entry.js → p-072c5e07.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-f7ddd288.system.entry.js → p-14f156c6.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-66d72216.entry.js → p-155b4425.entry.js} +1 -1
- package/dist/zonos-elements/{p-9161f10d.system.entry.js → p-17476a30.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-9dc671f4.entry.js → p-1916c2b0.entry.js} +1 -1
- package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
- package/dist/zonos-elements/{p-c09540bc.entry.js → p-34fc45e5.entry.js} +1 -1
- package/dist/zonos-elements/{p-e684e68f.entry.js → p-3deb91cb.entry.js} +1 -1
- package/dist/zonos-elements/{p-1368dce7.system.entry.js → p-4a227683.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-bcbbe867.entry.js → p-4cee62fb.entry.js} +1 -1
- package/dist/zonos-elements/{p-c1ab70d2.entry.js → p-4d776228.entry.js} +1 -1
- package/dist/zonos-elements/{p-bdaf94a4.system.entry.js → p-50a15e3d.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-d30e8c3a.entry.js → p-55742c52.entry.js} +1 -1
- package/dist/zonos-elements/{p-20842d8c.system.entry.js → p-56c11359.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-d12fa775.entry.js → p-5a79e1f4.entry.js} +1 -1
- package/dist/zonos-elements/{p-df240101.system.entry.js → p-5db00bfa.system.entry.js} +1 -1
- package/dist/zonos-elements/p-5dd78b4b.js +1 -0
- package/dist/zonos-elements/{p-d2ef0416.system.entry.js → p-66934a78.system.entry.js} +1 -1
- package/dist/zonos-elements/p-7237f43b.system.entry.js +1 -0
- package/dist/zonos-elements/p-72a181b5.entry.js +1 -0
- package/dist/zonos-elements/p-75a27c68.entry.js +1 -0
- package/dist/zonos-elements/{p-6f19845a.system.entry.js → p-7dbac3ae.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-2ac0fcb8.system.entry.js → p-7df3e44b.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-5be87ae0.entry.js → p-80e7cab5.entry.js} +1 -1
- package/dist/zonos-elements/p-838e335c.entry.js +1 -0
- package/dist/zonos-elements/{p-dfb4360d.system.entry.js → p-9262a57c.system.entry.js} +1 -1
- package/dist/zonos-elements/p-947f5092.js +17 -0
- package/dist/zonos-elements/{p-3e7dbe9c.system.entry.js → p-9de27162.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-bb785f33.entry.js → p-9e761130.entry.js} +1 -1
- package/dist/zonos-elements/{p-c908a7a3.entry.js → p-a1142a95.entry.js} +1 -1
- package/dist/zonos-elements/{p-d4f9e464.system.entry.js → p-a2b3c1ef.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-8d52ac69.system.entry.js → p-a661dd45.system.entry.js} +1 -1
- package/dist/zonos-elements/p-a98b8b68.system.js +18 -0
- package/dist/zonos-elements/{p-365d4481.system.entry.js → p-aa74b61a.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-2fa41e93.entry.js → p-ade15fd2.entry.js} +1 -1
- package/dist/zonos-elements/{p-87d89870.system.entry.js → p-b1c76c38.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-770d414a.system.entry.js → p-b2cd18b4.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-0fc5a2cc.system.entry.js → p-b47fcd8c.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-c308c5bc.entry.js → p-c263f95f.entry.js} +1 -1
- package/dist/zonos-elements/p-ca411d97.entry.js +1 -0
- package/dist/zonos-elements/p-cab6bd98.system.js +1 -0
- package/dist/zonos-elements/{p-266a86d4.system.entry.js → p-d50fef06.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-7a379538.entry.js → p-d983d472.entry.js} +1 -1
- package/dist/zonos-elements/{p-df578aa9.system.entry.js → p-dc4e867e.system.entry.js} +1 -1
- package/dist/zonos-elements/p-dee6adff.system.js +1 -0
- package/dist/zonos-elements/{p-2c9714e8.system.entry.js → p-e36e724b.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-8df3c6a0.entry.js → p-e673a4d9.entry.js} +1 -1
- package/dist/zonos-elements/{p-d004565d.system.entry.js → p-e76dc266.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-3576d900.entry.js → p-ed827ca3.entry.js} +1 -1
- package/dist/zonos-elements/{p-8dae0f0b.entry.js → p-ef12af4b.entry.js} +1 -1
- package/dist/zonos-elements/{p-3a198386.entry.js → p-f0046c48.entry.js} +1 -1
- package/dist/zonos-elements/{p-62dbc5f8.system.entry.js → p-f00a56be.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-4416fe27.entry.js → p-f2909fb8.entry.js} +1 -1
- package/dist/zonos-elements/{p-fbc274a8.system.entry.js → p-f7d24382.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-12459b59.entry.js → p-fb87172c.entry.js} +1 -1
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/submitGtag-9ac5a42e.js +0 -116
- package/dist/esm/submitGtag-543058f9.js +0 -113
- package/dist/esm-es5/paypal-38ca5d21.js +0 -17
- package/dist/esm-es5/submitGtag-543058f9.js +0 -1
- package/dist/zonos-elements/p-0ad75f38.entry.js +0 -1
- package/dist/zonos-elements/p-0f89fc76.system.entry.js +0 -1
- package/dist/zonos-elements/p-17a8a514.system.js +0 -1
- package/dist/zonos-elements/p-24407504.js +0 -17
- package/dist/zonos-elements/p-387f6a4d.js +0 -1
- package/dist/zonos-elements/p-47bde0ba.system.js +0 -18
- package/dist/zonos-elements/p-4aa5f5db.entry.js +0 -1
- package/dist/zonos-elements/p-70e2f9f9.system.entry.js +0 -1
- package/dist/zonos-elements/p-720ae42c.system.js +0 -1
- package/dist/zonos-elements/p-87eef44c.entry.js +0 -1
- package/dist/zonos-elements/p-f2a74e43.entry.js +0 -1
|
@@ -4,14 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-b1f95d96.js');
|
|
6
6
|
const cart = require('./cart-d08c87e2.js');
|
|
7
|
-
const paypal = require('./paypal-
|
|
7
|
+
const paypal = require('./paypal-e278f405.js');
|
|
8
8
|
const localization = require('./localization-a7fac4b4.js');
|
|
9
9
|
const zonosStore = require('./zonosStore-1c517e55.js');
|
|
10
10
|
const handleFetch = require('./handleFetch-954f30e1.js');
|
|
11
11
|
const createCustomEvent = require('./createCustomEvent-7b6fad95.js');
|
|
12
12
|
const getBorderRadius = require('./getBorderRadius-db55a464.js');
|
|
13
13
|
const VarianceTest = require('./VarianceTest-bec00ea8.js');
|
|
14
|
-
const submitGtag = require('./submitGtag-9ac5a42e.js');
|
|
15
14
|
const isInvoiceMobileTablet = require('./isInvoiceMobileTablet-dde41e4e.js');
|
|
16
15
|
const classes = require('./classes-b7918f56.js');
|
|
17
16
|
const ILanguage = require('./ILanguage-98b04442.js');
|
|
@@ -21,6 +20,7 @@ const placeTestOrder = require('./placeTestOrder-aefd31e8.js');
|
|
|
21
20
|
const renderFallback = require('./renderFallback-bc20ee20.js');
|
|
22
21
|
require('./isDarkColor-bfe6d1eb.js');
|
|
23
22
|
require('./isContrastColor-6a17f408.js');
|
|
23
|
+
require('./submitGtag-4241212b.js');
|
|
24
24
|
|
|
25
25
|
const RemoveIcon = `<svg color="var(--zonos-elements-red-800)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z" data-is-secondary-color="true" fill="var(--zonos-elements-red-200)" fill-rule="evenodd"></path><path clip-rule="evenodd" d="M8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>`;
|
|
26
26
|
|
|
@@ -159,7 +159,7 @@ const ZonosInvoiceFinish = class {
|
|
|
159
159
|
window.history.replaceState({}, '', url.toString());
|
|
160
160
|
// Payment doesn't go through
|
|
161
161
|
if (error && (messages === null || messages === void 0 ? void 0 : messages.length)) {
|
|
162
|
-
|
|
162
|
+
paypal.submitAnalytics({ event: 'zonos-checkout-payment-fail' });
|
|
163
163
|
void handleFetch.sendErrorLog({
|
|
164
164
|
endpoint: 'Stripe payment failed',
|
|
165
165
|
errors: [
|
|
@@ -172,7 +172,7 @@ const ZonosInvoiceFinish = class {
|
|
|
172
172
|
});
|
|
173
173
|
}
|
|
174
174
|
else {
|
|
175
|
-
|
|
175
|
+
paypal.submitAnalytics({ event: 'zonos-checkout-success' });
|
|
176
176
|
const checkoutSessionId = localization.storageStore.checkoutSessionId;
|
|
177
177
|
void cart.trackConversionEvent({
|
|
178
178
|
checkoutSessionId,
|
|
@@ -217,7 +217,7 @@ const ZonosInvoiceFinish = class {
|
|
|
217
217
|
// show success message right away when order id is already created
|
|
218
218
|
this.isLoading = false;
|
|
219
219
|
if (paypal.paypalStore.orderIdCreated) {
|
|
220
|
-
|
|
220
|
+
paypal.submitAnalytics({ event: 'zonos-checkout-success' });
|
|
221
221
|
const checkoutSessionId = localization.storageStore.checkoutSessionId;
|
|
222
222
|
void cart.trackConversionEvent({
|
|
223
223
|
checkoutSessionId,
|
|
@@ -273,11 +273,11 @@ const ZonosInvoiceFinish = class {
|
|
|
273
273
|
}
|
|
274
274
|
render() {
|
|
275
275
|
const cartId = window.Zonos.cartId;
|
|
276
|
-
return (index.h(index.Host, { key: '
|
|
276
|
+
return (index.h(index.Host, { key: '6c0363334a9e6602b93e83a0dfeb733285db7683', class: "zonos--checkout-finish zonos--elements", style: {
|
|
277
277
|
'--zonos--border-radius': getBorderRadius.getBorderRadius({
|
|
278
278
|
overrideBorderStyle: this.borderRadius,
|
|
279
279
|
}),
|
|
280
|
-
} }, !this.isLoading && (index.h("div", { key: '
|
|
280
|
+
} }, !this.isLoading && (index.h("div", { key: '299a9afc37f5e1bbe828f2b68569a686b82baff1', class: "zonos--finish-details" }, index.h("div", { key: '24a827b96c4a74066b7701c70f6cdf980ff060f5', class: "zonos--group" }, this.notificationType === 'success' ? (index.h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (index.h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), index.h("zonos-text", { key: '74bfa9e0126ea8b0a693fdc2e034cdd6ef352dcb', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), this.confirmationId && (index.h("zonos-badge", { key: '5cc0089225fac166cfa13cc11e72efeb34ad8567', badgeColor: "gray" }, this.confirmationId)), index.h("zonos-text", { key: 'fb101b1058adeafe38a03d2a915b6b7f80c44061', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (index.h(index.Fragment, null, message, index.h("br", null))))), this.order && cartId && (index.h("div", { key: '2ecc8d45967ccd720f0ec4d532aa266ac42acc14', class: "zonos--button-container" }, index.h("zonos-button", { key: '3f04711341f273a767d5109274f92eec424b1675', onClick: () => {
|
|
281
281
|
window.open(this.getReceiptUrl({ cartId }), '_blank');
|
|
282
282
|
}, size: "lg", variant: "primary" }, localization.translate('View receipt')))))))));
|
|
283
283
|
}
|
|
@@ -340,15 +340,15 @@ const ZonosInvoiceFooter = class {
|
|
|
340
340
|
const languageLabel = (_a = ILanguage.languages.find(x => x.code === localization.localizationStore.selectedLocale)) === null || _a === void 0 ? void 0 : _a.label;
|
|
341
341
|
// reverse color when on desktop. With the coversheet backdrop, the color should be white
|
|
342
342
|
const colorDesktop = 'gray-1000';
|
|
343
|
-
return (index.h(index.Host, { key: '
|
|
343
|
+
return (index.h(index.Host, { key: 'a48dfe3c11d200e085864ed513cfb647c9ef3b5c', class: classes.classes([
|
|
344
344
|
'zonos--elements',
|
|
345
345
|
this.isMobile && 'mobile',
|
|
346
346
|
this.isTablet && 'tablet',
|
|
347
|
-
]) }, index.h("div", { key: '
|
|
347
|
+
]) }, index.h("div", { key: 'de1f450a548eabe7bb1da9c9f2e23837a55827fc', class: "zonos--invoice-footer" }, index.h("div", { key: 'b30d47a885beaca3ec0dbdeff8e8facae994ef88', class: "zonos--invoice-locale-wrapper" }, index.h("zonos-button", { key: 'a0bece32119cbc5eddd8f99298ba7274f286cb6f', buttonColor: colorDesktop, class: "zonos--invoice-footer-language-button", icon: index.h("zonos-icon", { "aria-label": "Language select", content: Globe, iconColor: colorDesktop }), onClick: () => this.toggleLanguageDialog(), variant: "subtle" }, languageLabel), index.h("div", { key: '7ceb0c79d25f640bf23ac37a22c6c37292538d8f', class: classes.classes([
|
|
348
348
|
'zonos--invoice-language-dialog',
|
|
349
349
|
this.showLanguageDialog &&
|
|
350
350
|
'zonos--invoice-language-dialog-open',
|
|
351
|
-
]) }, index.h("zonos-language-select", { key: '
|
|
351
|
+
]) }, index.h("zonos-language-select", { key: '5c2d4164f38caecc7f3f99b98d1d504ee292b6bd', handleOnClose: () => this.toggleLanguageDialog() }))), index.h("div", { key: 'c255dabaf4a129b1d9074af3e7512a86859c4d81', class: "zonos--invoice-footer-icon-wrapper" }, index.h("div", { key: 'bc16e675a824ad6730e823226bdb872ad04d5b2e', class: "zonos--invoice-footer-logo" }, index.h("zonos-text", { key: '6292e7f1fce3325c7d264a946e1d8a6a4ec768c4', textColor: colorDesktop }, localization.translate('Powered by')), index.h("a", { key: '526f598cdb342f7816d78f7d1b24923d79be72fe', href: "https://zonos.com", target: "_blank", title: "Zonos website" }, index.h("zonos-icon", { key: '8f96ac507a2250df8234dc9d0075dcac433b9630', autoHeight: true, content: ZonosWordmark, size: 42 }))), index.h("div", { key: 'd3fa74852d4bc1e679af3fe141a885f833d3aaef', class: "dot" }), index.h("a", { key: '30b4825365c55a31a1140ababfe3d2c88faa3b04', href: "https://zonos.com/docs/legal/zonos-privacy-policy", target: "_blank" }, index.h("zonos-text", { key: '42cbae5d1a6350844947210493f3945ee2085cd9', textColor: colorDesktop }, localization.translate('Privacy policy')))))));
|
|
352
352
|
}
|
|
353
353
|
get el() { return index.getElement(this); }
|
|
354
354
|
static get watchers() { return {
|
|
@@ -479,7 +479,7 @@ const ZonosInvoicePayment = class {
|
|
|
479
479
|
}
|
|
480
480
|
cart.stripeStore.checkoutSettlementCurrency = currencyCode;
|
|
481
481
|
// submit google tag when the form is complete
|
|
482
|
-
|
|
482
|
+
paypal.submitAnalytics({ event: 'zonos-checkout-payment-info' });
|
|
483
483
|
this.continueClicked.emit();
|
|
484
484
|
};
|
|
485
485
|
this.copyCardToClipboard = async (cardNumber) => {
|
|
@@ -661,13 +661,13 @@ const ZonosInvoiceReview = class {
|
|
|
661
661
|
}
|
|
662
662
|
render() {
|
|
663
663
|
const titleTextColor = this.isMobile ? 'gray-1000' : 'gray-800';
|
|
664
|
-
return (index.h(index.Host, { key: '
|
|
664
|
+
return (index.h(index.Host, { key: 'dba979c1f8bb9f4ac5207eb2bc97296523c62fc1', class: classes.classes([
|
|
665
665
|
'zonos--invoice-review zonos--elements',
|
|
666
666
|
this.isMobile && 'mobile',
|
|
667
667
|
this.isTablet && 'tablet',
|
|
668
|
-
]) }, index.h("div", { key: '
|
|
668
|
+
]) }, index.h("div", { key: 'd9bbd435775f58d3934b9cc5d8658acf781d5090', class: "zonos--title" }, index.h("zonos-text", { key: '103859ee74d37fadd854d59cc852d71b8e23fe11', textColor: titleTextColor, type: 'semiBoldLabel' }, localization.translate('Pay [organizationName]', {
|
|
669
669
|
organizationName: zonosStore.zonosStore.organizationName,
|
|
670
|
-
}))), index.h("div", { key: '
|
|
670
|
+
}))), index.h("div", { key: 'fcc9ade2fc63e53307659134a1763909ad66cc30', class: "zonos--total-pay" }, renderFallback.renderFallback({
|
|
671
671
|
content: (index.h("zonos-text", { type: 'secondaryPageHeader' }, renderCheckoutCurrency.renderCheckoutCurrency({
|
|
672
672
|
amount: invoice.invoiceStore.amountTotalDue || 0,
|
|
673
673
|
isForeign: true,
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-b1f95d96.js');
|
|
6
6
|
const cart = require('./cart-d08c87e2.js');
|
|
7
7
|
const invoice = require('./invoice-e64f97c6.js');
|
|
8
|
-
const paypal = require('./paypal-
|
|
8
|
+
const paypal = require('./paypal-e278f405.js');
|
|
9
9
|
const localization = require('./localization-a7fac4b4.js');
|
|
10
10
|
const zonosStore = require('./zonosStore-1c517e55.js');
|
|
11
11
|
const buildCartItemsByTempCart = require('./buildCartItemsByTempCart-edddbf4b.js');
|
|
@@ -17,7 +17,7 @@ const ILanguage = require('./ILanguage-98b04442.js');
|
|
|
17
17
|
require('./isDarkColor-bfe6d1eb.js');
|
|
18
18
|
require('./getBorderRadius-db55a464.js');
|
|
19
19
|
require('./isContrastColor-6a17f408.js');
|
|
20
|
-
require('./submitGtag-
|
|
20
|
+
require('./submitGtag-4241212b.js');
|
|
21
21
|
|
|
22
22
|
const ChevronDownIcon = `<svg color="var(--zonos-elements-gray-400)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M6.293 9.293a1 1 0 0 1 1.414 0L12 13.586l4.293-4.293a1 1 0 0 1 1.414 1.414l-4.93 4.93a1.1 1.1 0 0 1-1.555 0l-4.93-4.93a1 1 0 0 1 0-1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>`;
|
|
23
23
|
|
|
@@ -34,9 +34,9 @@ const ZonosLanguageSelect = class {
|
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
36
|
const { selectedLocale } = localization.localizationStore;
|
|
37
|
-
return (index.h(index.Host, { key: '
|
|
37
|
+
return (index.h(index.Host, { key: 'ebe7e47d37019b9aa6e2a5ed77d9c82c71b3fa6c', class: "zonos--elements", style: {
|
|
38
38
|
'--zonos--font-family': zonosStore.zonosStoreFontFamily(),
|
|
39
|
-
} }, index.h("div", { key: '
|
|
39
|
+
} }, index.h("div", { key: '532b2664add5948ae9687049afc1fdaed8cc0890', class: "zonos--language-select" }, index.h("zonos-select-dialog-header", { key: '650adad0103c42f27e98bb3c2c6c8e2a122339df', handleOnClose: () => this.handleOnClose(), label: localization.translate('Select a language') }), index.h("div", { key: '84af0288f9911d4739c93388723230b165466908', class: "zonos--language-select-content" }, ILanguage.languages.map(language => (index.h("button", { class: "zonos--language-select-button", onClick: () => this.languageSelected(language.code) }, index.h("zonos-text", { textColor: "gray-800" }, language.translatedLabel), language.code === selectedLocale && (index.h("zonos-icon", { content: GreenCheckDuotoneIcon, size: 16 })))))))));
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
ZonosLanguageSelect.style = ZonosLanguageSelectStyle0;
|
|
@@ -60,9 +60,9 @@ const ZonosSelectDialogHeader = class {
|
|
|
60
60
|
this.label = '';
|
|
61
61
|
}
|
|
62
62
|
render() {
|
|
63
|
-
return (index.h(index.Host, { key: '
|
|
63
|
+
return (index.h(index.Host, { key: '6a667ac343eccf7298cbca49b58ccbca0ca6509d', class: "zonos--elements", style: {
|
|
64
64
|
'--zonos--font-family': zonosStore.zonosStoreFontFamily(),
|
|
65
|
-
} }, index.h("zonos-v-stack", { key: '
|
|
65
|
+
} }, index.h("zonos-v-stack", { key: '4f3958ab4700f1f6d1bfff92cf3c5593c97c536e', class: "zonos--select-dialog-header-wrapper", spacing: 8 }, index.h("div", { key: '44d690590c6727b7d17ea96967a6929ea5d60a51', class: "zonos--select-dialog-header" }, index.h("zonos-text", { key: 'cd45b4d292f3487a442510918afe7c828cbdb939', type: "boldLabel" }, this.label), index.h("zonos-button", { key: '43e7887d8f11185ec7d6ff0895f922e8a5719865', class: "zonos--close-button", icon: index.h("zonos-icon", { "aria-label": "Close select dialog", content: RemoveIcon, size: 20 }), noBackground: true, onClick: () => this.handleOnClose() })), index.h("slot", { key: '2c6e66b98bfbc8d4c3fd1d8459d703a8006324d3' }))));
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
ZonosSelectDialogHeader.style = ZonosSelectDialogHeaderStyle0;
|
|
@@ -16,7 +16,7 @@ const ZonosLink = class {
|
|
|
16
16
|
this.href = '';
|
|
17
17
|
}
|
|
18
18
|
render() {
|
|
19
|
-
return (index.h(index.Host, { key: '
|
|
19
|
+
return (index.h(index.Host, { key: 'b6d1debcb25cc43d1b4eb9fe41183a3190a4f6be', class: "zonos--elements" }, index.h("a", { key: '9c81e327e3021215a78bd7ce2a619f5764c012ac', href: this.href, rel: this.rel, target: this.target, title: this.linkTitle }, index.h("slot", { key: '59c6fbbc8cf9b5e44e76a52dd6472bd6a28a852f' }))));
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
ZonosLink.style = ZonosLinkStyle0;
|
|
@@ -26,11 +26,11 @@ const ZonosLogo = class {
|
|
|
26
26
|
const filterColor = this.theme === 'DARK'
|
|
27
27
|
? 'invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%)'
|
|
28
28
|
: 'whiteinvert(0%) sepia(100%) saturate(32%) hue-rotate(92deg) brightness(107%) contrast(107%)';
|
|
29
|
-
return (index.h(index.Host, { key: '
|
|
29
|
+
return (index.h(index.Host, { key: 'd45302a20adc0f2c9ad19a37c1c9e4578f129ddf', class: classes.classes(['zonos--elements zonos--logo']), style: {
|
|
30
30
|
'--zonos--filter-color': filterColor,
|
|
31
31
|
'--zonos--font-family': zonosStore.zonosStoreFontFamily(),
|
|
32
32
|
'--zonos--width': this.width,
|
|
33
|
-
} }, index.h("img", { key: '
|
|
33
|
+
} }, index.h("img", { key: 'e82b14ece643a9037e57b6ce561f1eff3c3bd8fa', alt: "Zonos Logo", src: index.getAssetPath('./assets/ZonosLogo.png') })));
|
|
34
34
|
}
|
|
35
35
|
static get assetsDirs() { return ["assets"]; }
|
|
36
36
|
};
|
|
@@ -77,7 +77,7 @@ const ZonosStripeInput = class {
|
|
|
77
77
|
? zonosStore.zonosStore.appearance.theme === 'DARK'
|
|
78
78
|
: primaryColor && isDarkColor.isDarkColor(primaryColor);
|
|
79
79
|
const fontSize = zonosStore.zonosStore.appearance.fontSizeInputValue || 16;
|
|
80
|
-
return (index.h(index.Host, { key: '
|
|
80
|
+
return (index.h(index.Host, { key: '90f2916175c8512bf24c235885dba82c8a82bc6d', class: classes.classes([
|
|
81
81
|
'zonos--input zonos--elements',
|
|
82
82
|
isDark && 'dark',
|
|
83
83
|
(this.isError || !!this.error) && 'has-error',
|
|
@@ -86,10 +86,10 @@ const ZonosStripeInput = class {
|
|
|
86
86
|
'--zonos--font-family': zonosStore.zonosStoreFontFamily(),
|
|
87
87
|
'--zonos--font-size': `${fontSize}px`,
|
|
88
88
|
'--zonos--primary-color': secondaryColor,
|
|
89
|
-
} }, index.h("div", { key: '
|
|
89
|
+
} }, index.h("div", { key: '95a6eeecfb1c8935ab5289b10a6d4330ba69d780', class: classes.classes([
|
|
90
90
|
'zonos--label-wrapper',
|
|
91
91
|
this.isDisabled && 'disabled',
|
|
92
|
-
]) }, index.h("input", Object.assign({ key: '
|
|
92
|
+
]) }, index.h("input", Object.assign({ key: 'ebafe0cd341d3717914d1731c67aa961df1ed25b' }, this.inheritedAttributes, { autoComplete: this.autoComplete, class: classes.classes([
|
|
93
93
|
'zonos--floated-input',
|
|
94
94
|
!!this.inputLabel && 'has-label',
|
|
95
95
|
this.internalValue && 'has-content',
|
|
@@ -99,7 +99,7 @@ const ZonosStripeInput = class {
|
|
|
99
99
|
this.inputChange.emit(input.value);
|
|
100
100
|
this.el.inputValue = input.value;
|
|
101
101
|
this.el.dispatchEvent(new Event('change'));
|
|
102
|
-
}, placeholder: this.inputPlaceholder || '', required: this.required, type: "text", value: this.internalValue })), index.h("div", { key: '
|
|
102
|
+
}, placeholder: this.inputPlaceholder || '', required: this.required, type: "text", value: this.internalValue })), index.h("div", { key: '4f9a9d698d64a16b20a9d2392c975f7ef7cefb43', class: "zonos--floated-label" }, index.h("label", { key: '8e90d3a8721703ca616dee5c8238ff01fcc7b631', htmlFor: this.inputId }, this.inputLabel))), this.error && (index.h("zonos-text", { key: '2fdbfa01afa0baa58a900d7303a82fac78483af9', textColor: "red-600", type: "caption" }, this.error))));
|
|
103
103
|
}
|
|
104
104
|
get el() { return index.getElement(this); }
|
|
105
105
|
static get watchers() { return {
|
|
@@ -22,10 +22,10 @@ const ZonosTooltip = class {
|
|
|
22
22
|
this.showTooltip = false;
|
|
23
23
|
}
|
|
24
24
|
render() {
|
|
25
|
-
return (index.h(index.Host, { key: '
|
|
25
|
+
return (index.h(index.Host, { key: '3014faf5b26490a23b7735087dd69b05f785a2eb', class: "zonos--elements" }, index.h("div", { key: 'b7117e69a0f6f4ec28a7ccaf898567aeb886b418', class: "zonos--tooltip", onMouseEnter: () => (this.showTooltip = true), onMouseLeave: () => (this.showTooltip = false) }, index.h("slot", { key: 'bf995bf9de4497d32fd825e6a1382dc5eeb768e6' }), index.h("div", { key: '15c134b8aeed57ec2ad313c4316b2f5aa2c98dd0', class: classes.classes([
|
|
26
26
|
this.showTooltip && 'zonos--show-tooltip',
|
|
27
27
|
'zonos--tooltip-content',
|
|
28
|
-
]) }, index.h("zonos-text", { key: '
|
|
28
|
+
]) }, index.h("zonos-text", { key: '6d6a135a75e9cfa8f4c921755da4bd476dddf83e', size: "s", textColor: "gray-0", type: "boldLabel" }, this.label), index.h("zonos-text", { key: 'b166deb4b050d9a18699e1e3858449215d141726', size: "xs", textColor: "gray-0" }, this.subtitle)))));
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
ZonosTooltip.style = ZonosTooltipStyle0;
|
|
@@ -20,9 +20,9 @@ const VStack = class {
|
|
|
20
20
|
this.spacing = 24;
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
return (index.h(index.Host, { key: '
|
|
23
|
+
return (index.h(index.Host, { key: 'ddc85068e0fb28356f75caef81829f2820326701', style: {
|
|
24
24
|
'--zonos--font-family': zonosStore.zonosStoreFontFamily(),
|
|
25
|
-
} }, index.h("div", { key: '
|
|
25
|
+
} }, index.h("div", { key: '6fd038cf714612f64aa2164ebac11ad0cd8acc77', class: classes.classes(['vstack']), style: { 'grid-row-gap': `${this.spacing}px` } }, index.h("slot", { key: 'e6519671bd7ac4742306d2d702d15c25d9c69af7' }))));
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
VStack.style = ZonosVStackStyle0;
|
|
@@ -14,7 +14,7 @@ import { handleFetch } from "../../../utils/handleFetch";
|
|
|
14
14
|
import { jsonParse } from "../../../utils/jsonParse";
|
|
15
15
|
import { allLogs, log } from "../../../utils/logging/log";
|
|
16
16
|
import { sendErrorLog } from "../../../utils/logging/sendErrorLog";
|
|
17
|
-
import {
|
|
17
|
+
import { submitAnalytics } from "../../../utils/submitAnalytics";
|
|
18
18
|
// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
|
|
19
19
|
import RemoveIcon from "./assets/RemoveIcon.svg";
|
|
20
20
|
/* Need to use relative import because inline-svg-stencil couldn't resolve absolute path */
|
|
@@ -40,6 +40,13 @@ export class ZonosCheckoutFinish {
|
|
|
40
40
|
* Is waiting to redirect to a different page
|
|
41
41
|
*/
|
|
42
42
|
this.isWaitingToRedirect = true;
|
|
43
|
+
/**
|
|
44
|
+
* True when we are about to immediately redirect to the merchant's
|
|
45
|
+
* successRedirectUrl (CLOSE_MODAL + successRedirectUrl). Used by the
|
|
46
|
+
* render method to keep the dialog in a loading state instead of briefly
|
|
47
|
+
* showing the success notification before navigation.
|
|
48
|
+
*/
|
|
49
|
+
this.isImmediateRedirecting = false;
|
|
43
50
|
this.pullOrder = async () => {
|
|
44
51
|
var _a, _b;
|
|
45
52
|
const checkoutSessionId = storageStore.checkoutSessionId;
|
|
@@ -123,8 +130,9 @@ export class ZonosCheckoutFinish {
|
|
|
123
130
|
window.location.href = url;
|
|
124
131
|
};
|
|
125
132
|
this.isRedirectBehavior = () => {
|
|
126
|
-
const { successBehavior } = zonosStore.checkoutSettings;
|
|
133
|
+
const { successBehavior, successRedirectUrl } = zonosStore.checkoutSettings;
|
|
127
134
|
return (successBehavior === 'REDIRECT_TO_SUCCESS_PAGE' ||
|
|
135
|
+
(successBehavior === 'CLOSE_MODAL' && !!successRedirectUrl) ||
|
|
128
136
|
!!cartStore.externalConfirmationPageURL);
|
|
129
137
|
};
|
|
130
138
|
/**
|
|
@@ -161,13 +169,71 @@ export class ZonosCheckoutFinish {
|
|
|
161
169
|
`${redirectUrl}${hasQueryString ? '&' : '?'}${queryString}`
|
|
162
170
|
: redirectUrl);
|
|
163
171
|
};
|
|
172
|
+
/**
|
|
173
|
+
* Immediately redirect to the merchant's successRedirectUrl with the
|
|
174
|
+
* zonosCheckoutSessionId query param, without polling for the order. Used
|
|
175
|
+
* by CLOSE_MODAL when a successRedirectUrl is provided, so the merchant
|
|
176
|
+
* can look up the order themselves using that query param. The
|
|
177
|
+
* `zonos` prefix avoids colliding with merchant query params.
|
|
178
|
+
*/
|
|
179
|
+
this.redirectToCloseModalSuccessPage = () => {
|
|
180
|
+
const redirectUrl = zonosStore.checkoutSettings.successRedirectUrl;
|
|
181
|
+
const checkoutSessionId = storageStore.checkoutSessionId;
|
|
182
|
+
this.isWaitingToRedirect = true;
|
|
183
|
+
if (!checkoutSessionId) {
|
|
184
|
+
this.redirectToUrl(redirectUrl);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
// Use the URL API so that an existing query string is preserved and a
|
|
188
|
+
// `#fragment` (if any) keeps `zonosCheckoutSessionId` in the query
|
|
189
|
+
// rather than appending it after the fragment marker.
|
|
190
|
+
try {
|
|
191
|
+
const url = new URL(redirectUrl);
|
|
192
|
+
url.searchParams.set('zonosCheckoutSessionId', checkoutSessionId);
|
|
193
|
+
this.redirectToUrl(url.toString());
|
|
194
|
+
}
|
|
195
|
+
catch (_a) {
|
|
196
|
+
// Fallback for relative URLs (which `new URL(...)` rejects without a
|
|
197
|
+
// base): split on `#` first so the fragment stays at the end.
|
|
198
|
+
const fragmentIndex = redirectUrl.indexOf('#');
|
|
199
|
+
const base = fragmentIndex === -1
|
|
200
|
+
? redirectUrl
|
|
201
|
+
: redirectUrl.slice(0, fragmentIndex);
|
|
202
|
+
const fragment = fragmentIndex === -1 ? '' : redirectUrl.slice(fragmentIndex);
|
|
203
|
+
const separator = base.includes('?') ? '&' : '?';
|
|
204
|
+
const query = `zonosCheckoutSessionId=${encodeURIComponent(checkoutSessionId)}`;
|
|
205
|
+
this.redirectToUrl(`${base}${separator}${query}${fragment}`);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
164
208
|
this.handleSuccessBehavior = async () => {
|
|
165
209
|
/**
|
|
166
210
|
* Save placed order info so we can show order info if they try to place the order again
|
|
167
211
|
*/
|
|
168
212
|
this.saveOrderIdForDuplicationIssue();
|
|
169
|
-
const { successBehavior } = zonosStore.checkoutSettings;
|
|
213
|
+
const { successBehavior, successRedirectUrl } = zonosStore.checkoutSettings;
|
|
170
214
|
switch (true) {
|
|
215
|
+
// CLOSE_MODAL + successRedirectUrl: redirect immediately with
|
|
216
|
+
// `zonosCheckoutSessionId`, without polling for the order — merchants
|
|
217
|
+
// look up the order on their success page using the query param.
|
|
218
|
+
// `externalConfirmationPageURL` (set per-cart on legacy facade flows)
|
|
219
|
+
// continues to take precedence and falls through to the polling-based
|
|
220
|
+
// REDIRECT branch below.
|
|
221
|
+
case successBehavior === 'CLOSE_MODAL' &&
|
|
222
|
+
!!successRedirectUrl &&
|
|
223
|
+
!cartStore.externalConfirmationPageURL:
|
|
224
|
+
{
|
|
225
|
+
// Keep the dialog in a steady loading state instead of briefly
|
|
226
|
+
// flashing the success/finish screen — navigation happens
|
|
227
|
+
// immediately, so flashing "Order complete!" for a few hundred ms
|
|
228
|
+
// before the page changes is more confusing than a spinner. The
|
|
229
|
+
// outer caller (`checkStripePaymentStatus` etc.) unconditionally
|
|
230
|
+
// resets `isLoading` after this returns, so the render method keys
|
|
231
|
+
// off `isImmediateRedirecting` instead.
|
|
232
|
+
this.isWaitingToRedirect = true;
|
|
233
|
+
this.isImmediateRedirecting = true;
|
|
234
|
+
this.redirectToCloseModalSuccessPage();
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
171
237
|
// If the merchant wants to redirect to a different page
|
|
172
238
|
case successBehavior === 'REDIRECT_TO_SUCCESS_PAGE':
|
|
173
239
|
case !!cartStore.externalConfirmationPageURL: {
|
|
@@ -320,7 +386,7 @@ export class ZonosCheckoutFinish {
|
|
|
320
386
|
window.history.replaceState({}, '', url.toString());
|
|
321
387
|
// Payment doesn't go through
|
|
322
388
|
if (error && (messages === null || messages === void 0 ? void 0 : messages.length)) {
|
|
323
|
-
|
|
389
|
+
submitAnalytics({
|
|
324
390
|
event: 'zonos-checkout-payment-fail',
|
|
325
391
|
metadata: {
|
|
326
392
|
checkoutSessionId: storageStore.checkoutSessionId,
|
|
@@ -341,14 +407,14 @@ export class ZonosCheckoutFinish {
|
|
|
341
407
|
// Save new order info in case the user reloads before we get order info
|
|
342
408
|
this.saveOrderIdForDuplicationIssue();
|
|
343
409
|
const checkoutSessionId = storageStore.checkoutSessionId;
|
|
344
|
-
|
|
410
|
+
submitAnalytics({
|
|
345
411
|
event: 'zonos-checkout-success',
|
|
346
412
|
metadata: this.buildPurchaseMetadata({
|
|
347
413
|
checkoutSessionId: checkoutSessionId || '',
|
|
348
414
|
currency: currency === null || currency === void 0 ? void 0 : currency.toUpperCase(),
|
|
349
415
|
}),
|
|
350
416
|
});
|
|
351
|
-
|
|
417
|
+
submitAnalytics({
|
|
352
418
|
event: 'purchase',
|
|
353
419
|
metadata: this.buildPurchaseMetadata({
|
|
354
420
|
checkoutSessionId: checkoutSessionId || '',
|
|
@@ -400,13 +466,13 @@ export class ZonosCheckoutFinish {
|
|
|
400
466
|
// show success message right away when order id is already created
|
|
401
467
|
this.isLoading = false;
|
|
402
468
|
if (paypalStore.orderIdCreated) {
|
|
403
|
-
|
|
469
|
+
submitAnalytics({
|
|
404
470
|
event: 'zonos-checkout-success',
|
|
405
471
|
metadata: this.buildPurchaseMetadata({
|
|
406
472
|
checkoutSessionId: storageStore.checkoutSessionId || '',
|
|
407
473
|
}),
|
|
408
474
|
});
|
|
409
|
-
|
|
475
|
+
submitAnalytics({
|
|
410
476
|
event: 'purchase',
|
|
411
477
|
metadata: this.buildPurchaseMetadata({
|
|
412
478
|
checkoutSessionId: storageStore.checkoutSessionId || '',
|
|
@@ -437,13 +503,13 @@ export class ZonosCheckoutFinish {
|
|
|
437
503
|
this.isLoading = false;
|
|
438
504
|
if (storeCreditStore.orderIdCreated) {
|
|
439
505
|
const checkoutSessionId = storageStore.checkoutSessionId;
|
|
440
|
-
|
|
506
|
+
submitAnalytics({
|
|
441
507
|
event: 'zonos-checkout-success',
|
|
442
508
|
metadata: this.buildPurchaseMetadata({
|
|
443
509
|
checkoutSessionId: checkoutSessionId || '',
|
|
444
510
|
}),
|
|
445
511
|
});
|
|
446
|
-
|
|
512
|
+
submitAnalytics({
|
|
447
513
|
event: 'purchase',
|
|
448
514
|
metadata: this.buildPurchaseMetadata({
|
|
449
515
|
checkoutSessionId: checkoutSessionId || '',
|
|
@@ -517,11 +583,11 @@ export class ZonosCheckoutFinish {
|
|
|
517
583
|
}
|
|
518
584
|
render() {
|
|
519
585
|
const isTestMode = getIsTestMode();
|
|
520
|
-
return (h(Host, { key: '
|
|
586
|
+
return (h(Host, { key: '97291e81aef62884ec0519d93dcc7ff184b2913d', class: "zonos--checkout-finish zonos--elements", style: {
|
|
521
587
|
'--zonos--border-radius': getBorderRadius({
|
|
522
588
|
overrideBorderStyle: this.borderRadius,
|
|
523
589
|
}),
|
|
524
|
-
} }, !this.isLoading && (h("div", { key: '
|
|
590
|
+
} }, this.isImmediateRedirecting && (h("div", { key: '40569271fb67acb22a4a0fa3c0fc8e1c0c641061', class: "loading-wrapper" }, h("zonos-spinner", { key: '8b431c7751e5e32fe97f4244151ece7de3c6d9bc', size: 48 }))), !this.isLoading && !this.isImmediateRedirecting && (h("div", { key: '0f5c89c285acf8c4f79e058c69cde9011df7e1a2', class: "zonos--finish-details" }, h("div", { key: '7491b15a90941476338ec6b1738312ffd4ebd2c0', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: '87e0d022014596b02d813ee510917b7ec9b55e09', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), h("zonos-text", { key: '456bd678d5ba6f5b74da34f906bbe9f4bed870ac', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.shouldRenderCloseButtonForRedirectBehavior() && (h("zonos-button", { key: 'ebde02a73e71ad88d7d68629f2cd8a34d961aa63',
|
|
525
591
|
// Only show loading spinner if it's not an error notification
|
|
526
592
|
loading: this.isWaitingToRedirect &&
|
|
527
593
|
this.notificationType !== 'error', onClick: () => {
|
|
@@ -533,9 +599,9 @@ export class ZonosCheckoutFinish {
|
|
|
533
599
|
}
|
|
534
600
|
this.closeClickHandler();
|
|
535
601
|
}, size: "md", variant: "primary" }, translate('Close'))), !window.Zonos.isLegacyCheckout &&
|
|
536
|
-
this.shouldRenderKeepShoppingButton() && (h("zonos-button", { key: '
|
|
602
|
+
this.shouldRenderKeepShoppingButton() && (h("zonos-button", { key: '2b86a3d9fb705ad080af532e645fd26aa844a14a', onClick: () => this.closeClickHandler(), size: "md", variant: "primary" }, this.notificationActionText))), isTestMode &&
|
|
537
603
|
cartStore.step === 'finish' &&
|
|
538
|
-
this.notificationType === 'success' && (h("div", { key: '
|
|
604
|
+
this.notificationType === 'success' && (h("div", { key: '83a9dc9fb81baaf9e223dfa9fe0fc0fc4c106635', class: "zonos--finish-button-wrapper" }, h("zonos-button", { key: 'edf8057b0430e3e4bb8fd675554659781e1724ae', backgroundColor: "gray-0", buttonColor: "gray-1000", onClick: () => this.closeClickHandler(), size: "lg", variant: "outline" }, "New test cart"), h("zonos-button", { key: '3c40eee58d8a2ad5951dfdfc7c8d485052b6ba73', onClick: () => {
|
|
539
605
|
const isZonosDashboard = window.location.hostname.includes('dashboard.zonos.com');
|
|
540
606
|
this.redirectToUrl(isZonosDashboard
|
|
541
607
|
? '/orders/all'
|
|
@@ -635,7 +701,8 @@ export class ZonosCheckoutFinish {
|
|
|
635
701
|
"notificationMessages": {},
|
|
636
702
|
"notificationActionText": {},
|
|
637
703
|
"order": {},
|
|
638
|
-
"isWaitingToRedirect": {}
|
|
704
|
+
"isWaitingToRedirect": {},
|
|
705
|
+
"isImmediateRedirecting": {}
|
|
639
706
|
};
|
|
640
707
|
}
|
|
641
708
|
static get events() {
|
|
@@ -35,10 +35,10 @@ export class ZonosCheckoutFooter {
|
|
|
35
35
|
const languageLabel = (_a = languages.find(x => x.code === localizationStore.selectedLocale)) === null || _a === void 0 ? void 0 : _a.label;
|
|
36
36
|
// reverse color when on desktop. With the coversheet backdrop, the color should be white
|
|
37
37
|
const colorDesktop = this.dataTheme === 'LIGHT' && !this.mobile ? 'gray-0' : 'gray-1000';
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: '2200a14517d5d1dd81b68ecfb60ab6a691ebe581', class: classes(['zonos--elements', this.isMobile && 'mobile']) }, h("div", { key: 'bc77f1ea299fa151ba9d4628653d6a3800856e85', class: "zonos--checkout-footer" }, h("div", { key: 'e2e9f901e3546a48ba88aca9c0f422785d32f78d', class: "zonos--checkout-locale-wrapper" }, h("zonos-button", { key: '60df35f860aa3c59bfa6f470adab3c882301c529', buttonColor: colorDesktop, class: "zonos--checkout-footer-language-button", icon: h("zonos-icon", { "aria-label": "Language select", content: Globe, iconColor: colorDesktop }), onClick: () => this.toggleLanguageDialog(), variant: "subtle" }, languageLabel), h("div", { key: '3d4acf669d35fcbf4364fb56f7a18bb3a8f61e1b', class: classes([
|
|
39
39
|
'zonos--checkout-footer-dialog',
|
|
40
40
|
this.showLanguageDialog && 'zonos--checkout-footer-dialog-open',
|
|
41
|
-
]) }, h("zonos-language-select", { key: '
|
|
41
|
+
]) }, h("zonos-language-select", { key: '5b32a3d11a725c7af0c358acf9a15c6ec17201ac', handleOnClose: () => this.toggleLanguageDialog() }))), h("div", { key: 'f678c6d76ad122ccbd3e18e6fa9deacd9ec76b93', class: "zonos--checkout-footer-icon-wrapper" }, h("a", { key: '08cc72da5cbc00bd927828ae1df960a80604519c', href: "https://zonos.com/docs/legal/zonos-privacy-policy", target: "_blank" }, h("zonos-text", { key: 'df8d1727117c28c694c8450d5268895f67b23dff', textColor: colorDesktop }, "Privacy policy")), h("div", { key: 'c75b73f3bd573aa2bdd60b7fd05e6b06c8ee8d62', class: "zonos--checkout-footer-logo" }, h("zonos-text", { key: 'b57bf8ed2b6498f9cd64d7ab066625376642abda', textColor: colorDesktop }, "Powered by"), h("a", { key: 'cd12e10b1e4acd43fea371aad6d74ee8a89f1fbe', href: "https://zonos.com", target: "_blank", title: "Zonos website" }, h("zonos-icon", { key: '06465fba84c0c05e330779f522fdcabed817d5de', autoHeight: true, content: ZonosIconDark, size: 108 })))))));
|
|
42
42
|
}
|
|
43
43
|
static get is() { return "zonos-checkout-footer"; }
|
|
44
44
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,9 +10,10 @@ import { placeTestOrder } from "../../../utils/api/placeTestOrder";
|
|
|
10
10
|
import { getIsStagingMode } from "../../../utils/checkout/getIsStagingMode";
|
|
11
11
|
import { getIsTestMode } from "../../../utils/checkout/getIsTestMode";
|
|
12
12
|
import { renderCheckoutCurrency } from "../../../utils/checkout/renderCheckoutCurrency";
|
|
13
|
+
import { classes } from "../../../utils/classes";
|
|
13
14
|
import { isDarkColor } from "../../../utils/isDarkColor";
|
|
14
15
|
import { log } from "../../../utils/logging/log";
|
|
15
|
-
import {
|
|
16
|
+
import { submitAnalytics } from "../../../utils/submitAnalytics";
|
|
16
17
|
// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
|
|
17
18
|
import CheckmarkLineIcon from "./assets/CheckmarkLineIcon.svg";
|
|
18
19
|
// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
|
|
@@ -68,7 +69,7 @@ export class ZonosCheckoutPayment {
|
|
|
68
69
|
}
|
|
69
70
|
stripeStore.checkoutSettlementCurrency = currencyCode;
|
|
70
71
|
// submit google tag when the form is complete
|
|
71
|
-
|
|
72
|
+
submitAnalytics({
|
|
72
73
|
event: 'zonos-checkout-payment-info',
|
|
73
74
|
metadata: {
|
|
74
75
|
checkoutSessionId: storageStore.checkoutSessionId,
|
|
@@ -196,7 +197,10 @@ export class ZonosCheckoutPayment {
|
|
|
196
197
|
display: isPaypalTabSelected ? 'block' : 'none',
|
|
197
198
|
} }))), isTestMode && (h("zonos-card", { backgroundColor: "gray-100", borderRadius: 12, class: "zonos--test-cards" }, h("zonos-v-stack", { spacing: 16 }, h("div", null, h("zonos-text", { type: "semiBoldLabel" }, translate('Test cards')), h("zonos-text", { textColor: "gray-700" }, translate('Click to copy the card number. Use any future expiration date and three number CVC.'))), h("zonos-button", { icon: h("zonos-icon", { content: CheckmarkLineIcon }), justifyContent: "flex-start", onClick: () => this.copyCardToClipboard('4242424242424242') }, translate('Success'), " (****4242)"), h("zonos-button", { icon: h("zonos-icon", { content: RemoveLineIcon }), justifyContent: "flex-start", onClick: () => this.copyCardToClipboard('4000000000000002') }, translate('Failure'), " (****0002)")), h("zonos-notification", null)))));
|
|
198
199
|
};
|
|
199
|
-
return (h(Host, { class:
|
|
200
|
+
return (h(Host, { class: classes([
|
|
201
|
+
'zonos--checkout-payment zonos--elements',
|
|
202
|
+
this.isMobile && 'mobile',
|
|
203
|
+
]) }, h("div", { class: "zonos--group" }, h("zonos-text", { class: "zonos--title", type: "semiBoldSubheader" }, translate('Payment method')), renderPayment())));
|
|
200
204
|
}
|
|
201
205
|
static get is() { return "zonos-checkout-payment"; }
|
|
202
206
|
static get encapsulation() { return "scoped"; }
|