@zonos/elements 1.3.208 → 1.3.210
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-47c17ebf.js → cart-313bd2ff.js} +288 -40
- package/dist/cjs/{debounce-0b9c0f8a.js → debounce-465a4328.js} +1 -1
- package/dist/cjs/{getBorderRadius-c424eb05.js → getBorderRadius-1b5e33cf.js} +1 -1
- package/dist/cjs/{handleFetch-969d05d8.js → handleFetch-05227713.js} +2 -6
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/{isDarkColor-35e8daec.js → isDarkColor-428965f4.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{localization-e9089be5.js → localization-9b43376c.js} +2 -2
- package/dist/cjs/{paypal-3a803d21.js → paypal-67c96668.js} +5 -5
- package/dist/cjs/{updateCheckoutSessionAttributes-d0332530.js → updateCheckoutSessionAttributes-a31bb681.js} +2 -2
- package/dist/cjs/zonos-address_11.cjs.entry.js +104 -84
- package/dist/cjs/zonos-badge.cjs.entry.js +1 -1
- package/dist/cjs/zonos-banner.cjs.entry.js +1 -1
- package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
- package/dist/cjs/zonos-card.cjs.entry.js +2 -2
- package/dist/cjs/zonos-cart-items_14.cjs.entry.js +91 -41
- package/dist/cjs/zonos-checkout.cjs.entry.js +45 -21
- package/dist/cjs/zonos-collapse.cjs.entry.js +1 -1
- package/dist/cjs/zonos-controller.cjs.entry.js +6 -6
- package/dist/cjs/zonos-country-flag.cjs.entry.js +3 -3
- package/dist/cjs/zonos-country-select_4.cjs.entry.js +13 -9
- package/dist/cjs/zonos-elements.cjs.js +1 -1
- package/dist/cjs/zonos-empty-state-payment_4.cjs.entry.js +7 -7
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +3 -3
- package/dist/cjs/zonos-hello.cjs.entry.js +4 -4
- package/dist/cjs/zonos-input.cjs.entry.js +2 -2
- package/dist/cjs/zonos-language-select_2.cjs.entry.js +3 -3
- package/dist/cjs/zonos-logo.cjs.entry.js +1 -1
- package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +2 -2
- package/dist/cjs/zonos-stripe-input.cjs.entry.js +3 -3
- package/dist/cjs/zonos-text.cjs.entry.js +1 -1
- package/dist/cjs/zonos-toggle.cjs.entry.js +1 -1
- package/dist/cjs/zonos-v-stack.cjs.entry.js +1 -1
- package/dist/cjs/{zonosStore-7c1e1bc1.js → zonosStore-f8ee56aa.js} +1 -0
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +36 -12
- package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +63 -25
- package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +33 -11
- package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.js +2 -2
- package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +9 -5
- package/dist/collection/components/store/checkout/cart.js +9 -2
- package/dist/collection/components/store/checkout/stripe.js +269 -31
- package/dist/collection/components/stripe/zonos-address/zonos-address.css +2 -1
- package/dist/collection/components/stripe/zonos-address/zonos-address.js +24 -3
- package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.css +2 -1
- package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +7 -5
- package/dist/collection/components/utils/api/cartCalculateLandedCost.js +3 -2
- package/dist/collection/components/utils/api/prepCalculateLandedCost.js +2 -2
- package/dist/collection/components/utils/handleFetch.js +2 -1
- package/dist/collection/components/utils/logging/log.js +0 -5
- package/dist/collection/types/checkout/api/CreateParty.js +1 -0
- package/dist/collection/types/generated/graphql.internal.types.js +3 -0
- package/dist/collection/types/index.js +1 -0
- package/dist/esm/{cart-5b417c0d.js → cart-e0703306.js} +287 -41
- package/dist/esm/{debounce-7ebfa15b.js → debounce-0e42da22.js} +1 -1
- package/dist/esm/{getBorderRadius-174305ff.js → getBorderRadius-71b3b8ab.js} +1 -1
- package/dist/esm/{handleFetch-621e45bc.js → handleFetch-7dd4622b.js} +2 -6
- package/dist/esm/index.js +8 -8
- package/dist/esm/{isDarkColor-915b06b8.js → isDarkColor-3a9d6108.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{localization-669a1714.js → localization-e17c211b.js} +2 -2
- package/dist/esm/{paypal-3a0cf86b.js → paypal-dbaf76fd.js} +6 -6
- package/dist/esm/{updateCheckoutSessionAttributes-183ca6c1.js → updateCheckoutSessionAttributes-5097e715.js} +2 -2
- package/dist/esm/zonos-address_11.entry.js +104 -84
- package/dist/esm/zonos-badge.entry.js +1 -1
- package/dist/esm/zonos-banner.entry.js +1 -1
- package/dist/esm/zonos-button_3.entry.js +3 -3
- package/dist/esm/zonos-card.entry.js +2 -2
- package/dist/esm/zonos-cart-items_14.entry.js +91 -41
- package/dist/esm/zonos-checkout.entry.js +45 -21
- package/dist/esm/zonos-collapse.entry.js +1 -1
- package/dist/esm/zonos-controller.entry.js +6 -6
- package/dist/esm/zonos-country-flag.entry.js +3 -3
- package/dist/esm/zonos-country-select_4.entry.js +13 -9
- package/dist/esm/zonos-elements.js +1 -1
- package/dist/esm/zonos-empty-state-payment_4.entry.js +7 -7
- package/dist/esm/zonos-hello-dialog.entry.js +3 -3
- package/dist/esm/zonos-hello.entry.js +4 -4
- package/dist/esm/zonos-input.entry.js +2 -2
- package/dist/esm/zonos-language-select_2.entry.js +3 -3
- package/dist/esm/zonos-logo.entry.js +1 -1
- package/dist/esm/zonos-shipping-rich-radio.entry.js +2 -2
- package/dist/esm/zonos-stripe-input.entry.js +3 -3
- package/dist/esm/zonos-text.entry.js +1 -1
- package/dist/esm/zonos-toggle.entry.js +1 -1
- package/dist/esm/zonos-v-stack.entry.js +1 -1
- package/dist/esm/{zonosStore-504a7030.js → zonosStore-00975763.js} +1 -1
- package/dist/esm-es5/cart-e0703306.js +1 -0
- package/dist/esm-es5/{debounce-7ebfa15b.js → debounce-0e42da22.js} +1 -1
- package/dist/esm-es5/{getBorderRadius-174305ff.js → getBorderRadius-71b3b8ab.js} +1 -1
- package/dist/esm-es5/handleFetch-7dd4622b.js +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{isDarkColor-915b06b8.js → isDarkColor-3a9d6108.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{localization-669a1714.js → localization-e17c211b.js} +1 -1
- package/dist/esm-es5/{paypal-3a0cf86b.js → paypal-dbaf76fd.js} +2 -2
- package/dist/esm-es5/{updateCheckoutSessionAttributes-183ca6c1.js → updateCheckoutSessionAttributes-5097e715.js} +1 -1
- package/dist/esm-es5/zonos-address_11.entry.js +1 -1
- package/dist/esm-es5/zonos-badge.entry.js +1 -1
- package/dist/esm-es5/zonos-banner.entry.js +1 -1
- package/dist/esm-es5/zonos-button_3.entry.js +1 -1
- package/dist/esm-es5/zonos-card.entry.js +1 -1
- package/dist/esm-es5/zonos-cart-items_14.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-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-empty-state-payment_4.entry.js +1 -1
- package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
- package/dist/esm-es5/zonos-hello.entry.js +1 -1
- package/dist/esm-es5/zonos-input.entry.js +1 -1
- package/dist/esm-es5/zonos-language-select_2.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-stripe-input.entry.js +1 -1
- package/dist/esm-es5/zonos-text.entry.js +1 -1
- package/dist/esm-es5/zonos-toggle.entry.js +1 -1
- package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
- package/dist/esm-es5/{zonosStore-504a7030.js → zonosStore-00975763.js} +1 -1
- package/dist/scripts/index.d.ts +8 -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-customer-info/zonos-customer-info.d.ts +8 -4
- package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +3 -0
- package/dist/types/components/common/zonos-country-select/zonos-country-select.d.ts +1 -0
- package/dist/types/components/store/checkout/cart.d.ts +6 -2
- package/dist/types/components/store/checkout/stripe.d.ts +33 -6
- package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +6 -0
- package/dist/types/types/checkout/api/CheckoutSession.d.ts +2 -0
- package/dist/types/types/checkout/api/CreateParty.d.ts +34 -0
- package/dist/types/types/generated/graphql.internal.types.d.ts +21 -5
- package/dist/types/types/generated/graphql.internal.types.ts +26 -3
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/utils/ZonosSettings.d.ts +6 -0
- package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/p-03c060d3.entry.js +1 -0
- package/dist/zonos-elements/{p-c5455a34.system.js → p-0751b878.system.js} +1 -1
- package/dist/zonos-elements/{p-0731fbba.entry.js → p-0ca1d6dd.entry.js} +1 -1
- package/dist/zonos-elements/{p-e1c2b8f8.entry.js → p-144b5006.entry.js} +1 -1
- package/dist/zonos-elements/{p-d5bdbbb3.system.js → p-19182dc7.system.js} +1 -1
- package/dist/zonos-elements/{p-066afca1.system.entry.js → p-1dc78af3.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-5f2a2ca7.js → p-207bd04a.js} +1 -1
- package/dist/zonos-elements/p-20839c46.js +1 -0
- package/dist/zonos-elements/p-20b702a7.system.entry.js +1 -0
- package/dist/zonos-elements/{p-63ca1242.system.entry.js → p-2122d2cc.system.entry.js} +1 -1
- package/dist/zonos-elements/p-23142862.entry.js +1 -0
- package/dist/zonos-elements/{p-a09bdd20.system.entry.js → p-239695e8.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-6b406abd.entry.js → p-23fe7661.entry.js} +1 -1
- package/dist/zonos-elements/p-2652198d.js +1 -0
- package/dist/zonos-elements/{p-4451a598.system.js → p-3633a952.system.js} +1 -1
- package/dist/zonos-elements/{p-6be43ba8.entry.js → p-36b686b6.entry.js} +1 -1
- package/dist/zonos-elements/p-37058486.system.entry.js +1 -0
- package/dist/zonos-elements/{p-081fa4a8.entry.js → p-3934b38a.entry.js} +1 -1
- package/dist/zonos-elements/p-3ee44728.system.js +1 -1
- package/dist/zonos-elements/{p-cd376c7a.system.entry.js → p-45a2f9b1.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-0d908c15.system.js → p-4a1b4a2d.system.js} +1 -1
- package/dist/zonos-elements/p-4c70fd75.entry.js +1 -0
- package/dist/zonos-elements/{p-07905246.entry.js → p-4d62f3de.entry.js} +1 -1
- package/dist/zonos-elements/{p-bb850bb7.entry.js → p-4dbaa2c2.entry.js} +1 -1
- package/dist/zonos-elements/{p-c607d026.entry.js → p-5956a9e0.entry.js} +1 -1
- package/dist/zonos-elements/{p-b7a5b367.js → p-5b3b58ef.js} +2 -2
- package/dist/zonos-elements/{p-d096d7f2.entry.js → p-5b7686f8.entry.js} +1 -1
- package/dist/zonos-elements/{p-67f807bc.entry.js → p-63a4dac5.entry.js} +1 -1
- package/dist/zonos-elements/{p-7f568108.system.js → p-68650f1e.system.js} +2 -2
- package/dist/zonos-elements/{p-51d596a0.system.entry.js → p-695bf400.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-d35d17f3.js → p-6aa728f2.js} +1 -1
- package/dist/zonos-elements/{p-4bf54953.js → p-71c6bdc3.js} +1 -1
- package/dist/zonos-elements/{p-39039ab7.system.entry.js → p-7211cb9f.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-0f368368.system.js → p-738a49c0.system.js} +1 -1
- package/dist/zonos-elements/{p-ef594c0c.entry.js → p-73ff25d8.entry.js} +1 -1
- package/dist/zonos-elements/{p-7e346632.system.entry.js → p-74276b82.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-d1a31577.entry.js → p-77e22be4.entry.js} +1 -1
- package/dist/zonos-elements/{p-a3a8ba10.entry.js → p-78dd1c53.entry.js} +1 -1
- package/dist/zonos-elements/{p-0fb14108.entry.js → p-7b02b1f6.entry.js} +1 -1
- package/dist/zonos-elements/p-7ec1fecb.system.js +1 -0
- package/dist/zonos-elements/{p-3d6f6367.system.entry.js → p-7f9bbbb3.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-a4d995a2.system.js → p-8d0e116f.system.js} +1 -1
- package/dist/zonos-elements/{p-a63bac79.system.entry.js → p-8f41d864.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-1f706fc9.system.entry.js → p-964e2587.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-1530f958.system.entry.js → p-97831744.system.entry.js} +1 -1
- package/dist/zonos-elements/p-992f0b96.js +1 -0
- package/dist/zonos-elements/{p-160da12a.system.entry.js → p-9d95c896.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-5d909d3d.entry.js → p-a1137930.entry.js} +1 -1
- package/dist/zonos-elements/{p-4f04b499.entry.js → p-a24870af.entry.js} +1 -1
- package/dist/zonos-elements/p-a411ce2a.system.js +1 -0
- package/dist/zonos-elements/{p-5c772fab.system.entry.js → p-a4686344.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-a158b406.js → p-a6f77d44.js} +1 -1
- package/dist/zonos-elements/{p-fc3a6495.entry.js → p-a8f421ac.entry.js} +1 -1
- package/dist/zonos-elements/{p-da304b78.entry.js → p-aa40d402.entry.js} +1 -1
- package/dist/zonos-elements/{p-6c991320.entry.js → p-ad1e1dbc.entry.js} +1 -1
- package/dist/zonos-elements/{p-ab6efb03.system.entry.js → p-baa88176.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-02463cc1.system.entry.js → p-bf364990.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-963fa567.system.entry.js → p-bf9cb85f.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-803e59d2.system.entry.js → p-c345b306.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-ea30d92d.system.entry.js → p-cf999a15.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-a958c4f0.system.entry.js → p-d1697144.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-b3fa7f19.js → p-d6a53ea6.js} +1 -1
- package/dist/zonos-elements/{p-39428328.system.js → p-eb77c0bf.system.js} +1 -1
- package/dist/zonos-elements/{p-f49834d4.system.entry.js → p-ef1ccec6.system.entry.js} +1 -1
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +1 -1
- package/dist/esm-es5/cart-5b417c0d.js +0 -1
- package/dist/esm-es5/handleFetch-621e45bc.js +0 -1
- package/dist/zonos-elements/p-0794c530.entry.js +0 -1
- package/dist/zonos-elements/p-0fc02cde.js +0 -1
- package/dist/zonos-elements/p-1b3e92ea.system.entry.js +0 -1
- package/dist/zonos-elements/p-1b75aa35.system.js +0 -1
- package/dist/zonos-elements/p-2d4e0280.entry.js +0 -1
- package/dist/zonos-elements/p-40a2a649.js +0 -1
- package/dist/zonos-elements/p-5539386e.system.entry.js +0 -1
- package/dist/zonos-elements/p-91553cf0.system.js +0 -1
- package/dist/zonos-elements/p-c740353c.js +0 -1
- package/dist/zonos-elements/p-f1f3a846.entry.js +0 -1
package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ import { type EventEmitter } from '../../../../stencil-public-runtime';
|
|
|
2
2
|
import type { StripeAddressElementChangeEvent } from '@stripe/stripe-js';
|
|
3
3
|
import { type StripeStoreContactOption } from "../../../store/checkout/stripe";
|
|
4
4
|
import { containsNonLatinChars } from "../../../utils/containsNonLatinChars";
|
|
5
|
+
import type { CountryCode } from "../../../../types/generated/graphql.internal.types";
|
|
5
6
|
export declare class ZonosCustomerInfo {
|
|
7
|
+
private storeUnsubscribeList;
|
|
6
8
|
el: HTMLZonosCustomerInfoElement;
|
|
7
9
|
/**
|
|
8
10
|
* Whether or not the continue button is loading
|
|
@@ -70,10 +72,6 @@ export declare class ZonosCustomerInfo {
|
|
|
70
72
|
* Handler for the dialog close button
|
|
71
73
|
*/
|
|
72
74
|
openAddressValidationDialog: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Whether or not the custom address form is enabled
|
|
75
|
-
*/
|
|
76
|
-
shouldEnabledCustomAddress: boolean;
|
|
77
75
|
/**
|
|
78
76
|
* Handler for the email error state
|
|
79
77
|
*/
|
|
@@ -82,6 +80,9 @@ export declare class ZonosCustomerInfo {
|
|
|
82
80
|
* Whether or not the custom address form is used
|
|
83
81
|
*/
|
|
84
82
|
recordedFormTypeUsed: boolean;
|
|
83
|
+
selectedCountryCode: CountryCode | null;
|
|
84
|
+
genericSettings: import("../../../..").GenericZonosSettings | undefined;
|
|
85
|
+
addressFormRenderType: "stripe" | "zonos";
|
|
85
86
|
watchShowErrorBanner(): void;
|
|
86
87
|
private checkInvalidCharacters;
|
|
87
88
|
/**
|
|
@@ -101,5 +102,8 @@ export declare class ZonosCustomerInfo {
|
|
|
101
102
|
private handleEmailValidation;
|
|
102
103
|
private prepareAddressObject;
|
|
103
104
|
private renderAddressComponent;
|
|
105
|
+
watchShouldEnabledCustomAddress(): void;
|
|
106
|
+
disconnectedCallback(): void;
|
|
107
|
+
componentWillLoad(): void;
|
|
104
108
|
render(): any;
|
|
105
109
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type EventEmitter } from '../../../../stencil-public-runtime';
|
|
2
2
|
import type { ShippingRichRadioItem } from "../../../common/zonos-shipping-rich-radio/zonos-shipping-rich-radio";
|
|
3
3
|
export declare class ZonosShipping {
|
|
4
|
+
private storeUnsubscribeList;
|
|
4
5
|
/**
|
|
5
6
|
* Whether or not the continue button is loading
|
|
6
7
|
*/
|
|
@@ -33,6 +34,7 @@ export declare class ZonosShipping {
|
|
|
33
34
|
serviceLevelsOther: ShippingRichRadioItem[];
|
|
34
35
|
serviceLevelsAll: ShippingRichRadioItem[];
|
|
35
36
|
displayBaseCurrency: boolean;
|
|
37
|
+
shippingData: ShippingRichRadioItem[];
|
|
36
38
|
private handleRadioSelected;
|
|
37
39
|
private handleValidate;
|
|
38
40
|
private isOutdatedShippingData;
|
|
@@ -44,6 +46,7 @@ export declare class ZonosShipping {
|
|
|
44
46
|
private initServiceLevels;
|
|
45
47
|
private isCurrencyToggled;
|
|
46
48
|
private preselectFirstShippingMethod;
|
|
49
|
+
disconnectedCallback(): void;
|
|
47
50
|
componentWillLoad(): void;
|
|
48
51
|
render(): any;
|
|
49
52
|
}
|
|
@@ -50,6 +50,10 @@ type CartItemToUse = CartItem & {
|
|
|
50
50
|
isRestricted: boolean;
|
|
51
51
|
};
|
|
52
52
|
type CartStore = {
|
|
53
|
+
/**
|
|
54
|
+
* Address form that's using to render address form in checkout page
|
|
55
|
+
*/
|
|
56
|
+
addressFormRenderType: 'stripe' | 'zonos';
|
|
53
57
|
adjustmentTotal: number;
|
|
54
58
|
/**
|
|
55
59
|
* Adjustments from cart
|
|
@@ -126,7 +130,7 @@ type CartStore = {
|
|
|
126
130
|
tabItems: TabItems;
|
|
127
131
|
total: number;
|
|
128
132
|
};
|
|
129
|
-
declare const cartStore: CartStore;
|
|
133
|
+
declare const cartStoreOnChange: import("@stencil/store/dist/types").OnChangeHandler<CartStore>, cartStore: CartStore;
|
|
130
134
|
/**
|
|
131
135
|
* Format shipping transit info to be displayed on UI
|
|
132
136
|
* @returns
|
|
@@ -215,4 +219,4 @@ declare const cartStoreUpdateItems: ({ adjustments, cartItems, }: {
|
|
|
215
219
|
declare const cartStorePreviousStep: () => void;
|
|
216
220
|
declare const cartStoreNextStep: () => void;
|
|
217
221
|
declare const cartStoreResetTabItems: () => void;
|
|
218
|
-
export { cartStore, cartStoreApplySubtotals, cartStoreCheckItemRestrictions, cartStoreClearCheckoutInterval, cartStoreGetMethod, cartStoreGetShippingTransitInfo, cartStoreHasOneEligibleItem, cartStoreNextStep, cartStorePreviousStep, cartStoreReset, cartStoreResetCartItems, cartStoreResetTabItems, cartStoreSetCheckoutSession, cartStoreStartCheckoutInterval, cartStoreUpdateItems, cartStoreUpdateSelectedShippingOption, cartStoreUpdateToErrorState, };
|
|
222
|
+
export { cartStore, cartStoreApplySubtotals, cartStoreCheckItemRestrictions, cartStoreClearCheckoutInterval, cartStoreGetMethod, cartStoreGetShippingTransitInfo, cartStoreHasOneEligibleItem, cartStoreNextStep, cartStoreOnChange, cartStorePreviousStep, cartStoreReset, cartStoreResetCartItems, cartStoreResetTabItems, cartStoreSetCheckoutSession, cartStoreStartCheckoutInterval, cartStoreUpdateItems, cartStoreUpdateSelectedShippingOption, cartStoreUpdateToErrorState, };
|
|
@@ -18,6 +18,14 @@ export type StripeStoreContactOption = {
|
|
|
18
18
|
phone?: string;
|
|
19
19
|
};
|
|
20
20
|
export type CustomerProfile = CheckoutSessionDetailsFragment['customerProfile'];
|
|
21
|
+
/**
|
|
22
|
+
* If any of these values are changed, we need to refetch landed cost since the landed cost accuracy depends on these values
|
|
23
|
+
*/
|
|
24
|
+
type AddressUsedWhenFetchingLC = {
|
|
25
|
+
countryCode: string;
|
|
26
|
+
postalCode: string;
|
|
27
|
+
state: string;
|
|
28
|
+
};
|
|
21
29
|
type StripeStore = {
|
|
22
30
|
/**
|
|
23
31
|
* Currency that will be used to checkout, currency should always be Destination if "allowedSettlementCurrencies" in checkoutSettings is "LOCAL", and value might be either USD or Destination currency if "allowedSettlementCurrencies" is "LOCAL_AND_USD"
|
|
@@ -29,6 +37,10 @@ type StripeStore = {
|
|
|
29
37
|
* Optional company name
|
|
30
38
|
*/
|
|
31
39
|
companyName: string;
|
|
40
|
+
/**
|
|
41
|
+
* Optional company name
|
|
42
|
+
*/
|
|
43
|
+
companyNameUsedWhenAsyncAddressUpdate: string;
|
|
32
44
|
/**
|
|
33
45
|
* Custom error message for address fields. Will be set when Submit button is clicked
|
|
34
46
|
*/
|
|
@@ -49,6 +61,14 @@ type StripeStore = {
|
|
|
49
61
|
hasPaymentError: boolean;
|
|
50
62
|
isFetchingLandedCost: boolean;
|
|
51
63
|
isFetchingSession: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Billing party id (used for async address update)
|
|
66
|
+
*/
|
|
67
|
+
partyBillingId: string | null;
|
|
68
|
+
/**
|
|
69
|
+
* Shipping party id (used for async address update)
|
|
70
|
+
*/
|
|
71
|
+
partyShippingId: string | null;
|
|
52
72
|
/**
|
|
53
73
|
* Toggle to indicate if we should refund the inventory when the payment is failed
|
|
54
74
|
*/
|
|
@@ -62,11 +82,13 @@ type StripeStore = {
|
|
|
62
82
|
stripe: Stripe | null;
|
|
63
83
|
stripeAddressElement: StripeAddressElement | null;
|
|
64
84
|
stripeAddressEventData: StripeAddressElementChangeEvent | null;
|
|
65
|
-
|
|
85
|
+
stripeAddressUsedWhenAsyncAddressUpdate: StripeAddressElementChangeEvent | null;
|
|
86
|
+
stripeAddressUsedWhenFetchingLC: AddressUsedWhenFetchingLC | null;
|
|
66
87
|
stripeAddressUsedWhenValidatingAddress: StripeAddressElementChangeEvent | null;
|
|
67
88
|
stripeBillingAddressElement: StripeAddressElement | null;
|
|
68
89
|
stripeBillingAddressEventData: StripeAddressElementChangeEvent | null;
|
|
69
|
-
|
|
90
|
+
stripeBillingAddressUsedWhenAsyncAddressUpdate: StripeAddressElementChangeEvent | null;
|
|
91
|
+
stripeBillingAddressUsedWhenFetchingLC: AddressUsedWhenFetchingLC | null;
|
|
70
92
|
stripeBillingAddressUsedWhenValidatingAddress: StripeAddressElementChangeEvent | null;
|
|
71
93
|
/**
|
|
72
94
|
* Stripe client secret for customer session
|
|
@@ -90,9 +112,9 @@ type StripeStore = {
|
|
|
90
112
|
*/
|
|
91
113
|
taxId: string;
|
|
92
114
|
/**
|
|
93
|
-
* Tax id used when
|
|
115
|
+
* Tax id used when async address update
|
|
94
116
|
*/
|
|
95
|
-
|
|
117
|
+
taxIdUsedWhenAsyncAddressUpdate: string;
|
|
96
118
|
translatedAddress: {
|
|
97
119
|
address: TranslatedAddressObject;
|
|
98
120
|
billingAddress: TranslatedAddressObject;
|
|
@@ -121,6 +143,9 @@ declare const initStripeElements: (props?: {
|
|
|
121
143
|
paypalEnabled?: boolean;
|
|
122
144
|
}) => Promise<void>;
|
|
123
145
|
declare const stripeStoreReset: () => void;
|
|
146
|
+
declare const stripeStoreAsyncAddressUpdate: () => Promise<{
|
|
147
|
+
partiesCreated: boolean;
|
|
148
|
+
}>;
|
|
124
149
|
declare const stripeCalculateLandedCost: () => Promise<void>;
|
|
125
150
|
declare const stripeStorePrefetchLandedCost: (params?: {
|
|
126
151
|
/**
|
|
@@ -129,7 +154,9 @@ declare const stripeStorePrefetchLandedCost: (params?: {
|
|
|
129
154
|
**/
|
|
130
155
|
applyingPromocode?: boolean;
|
|
131
156
|
retries?: number;
|
|
132
|
-
}) => Promise<
|
|
157
|
+
}) => Promise<{
|
|
158
|
+
isRequestNotReady: boolean;
|
|
159
|
+
}>;
|
|
133
160
|
declare const stripeStoreApplyPromoCode: () => Promise<void>;
|
|
134
161
|
declare const stripeStoreResetPromoCode: () => void;
|
|
135
162
|
declare const stripeStoreRemovePromoCode: () => Promise<void>;
|
|
@@ -201,4 +228,4 @@ declare const stripeStoreTranslateAddressToLatin: ({ addressInvalidCharactersLis
|
|
|
201
228
|
addressInvalidCharactersList: ReturnType<typeof containsNonLatinChars> | null;
|
|
202
229
|
billingAddressInvalidCharactersList: ReturnType<typeof containsNonLatinChars> | null;
|
|
203
230
|
}) => Promise<void>;
|
|
204
|
-
export { initStripeElements, stripeCalculateLandedCost, stripeStore, stripeStoreApplyPromoCode, stripeStoreCleanupDomesticShippingSession, stripeStoreConfirmPayment, stripeStoreGetDomesticShippingSession, stripeStoreGetPaymentIntent, stripeStoreHandleInventoryCheck, stripeStoreHandleInventoryRefund, stripeStoreInitCheckoutSession, stripeStoreMessageBasedOnStatus, stripeStoreOnChange, stripeStorePrefetchLandedCost, stripeStoreRemovePromoCode, stripeStoreReset, stripeStoreResetPromoCode, stripeStoreRetrievePayment, stripeStoreSaveDomesticShippingSession, stripeStoreTranslateAddressToLatin, stripeStoreUpdateCheckoutSession, stripeStoreUpdateCheckoutSessionBaseCurrency, };
|
|
231
|
+
export { initStripeElements, stripeCalculateLandedCost, stripeStore, stripeStoreApplyPromoCode, stripeStoreAsyncAddressUpdate, stripeStoreCleanupDomesticShippingSession, stripeStoreConfirmPayment, stripeStoreGetDomesticShippingSession, stripeStoreGetPaymentIntent, stripeStoreHandleInventoryCheck, stripeStoreHandleInventoryRefund, stripeStoreInitCheckoutSession, stripeStoreMessageBasedOnStatus, stripeStoreOnChange, stripeStorePrefetchLandedCost, stripeStoreRemovePromoCode, stripeStoreReset, stripeStoreResetPromoCode, stripeStoreRetrievePayment, stripeStoreSaveDomesticShippingSession, stripeStoreTranslateAddressToLatin, stripeStoreUpdateCheckoutSession, stripeStoreUpdateCheckoutSessionBaseCurrency, };
|
|
@@ -39,6 +39,11 @@ export declare class ZonosAddress {
|
|
|
39
39
|
* Local checkout session id to check if the address is filled after checkout is loaded
|
|
40
40
|
*/
|
|
41
41
|
checkoutSessionId: string | null;
|
|
42
|
+
/**
|
|
43
|
+
* Track previous country and postal code to detect changes
|
|
44
|
+
*/
|
|
45
|
+
prevCountry: string | null;
|
|
46
|
+
prevPostalCode: string | null;
|
|
42
47
|
/**
|
|
43
48
|
* Event to emit when tax id is changed
|
|
44
49
|
*/
|
|
@@ -48,6 +53,7 @@ export declare class ZonosAddress {
|
|
|
48
53
|
*/
|
|
49
54
|
private trackingSent;
|
|
50
55
|
el: HTMLZonosAddressElement;
|
|
56
|
+
private prefetchLandedCost;
|
|
51
57
|
private getStripeAddressInstance;
|
|
52
58
|
private updateAddressEventData;
|
|
53
59
|
isAddressFilledChanged(): void;
|
|
@@ -9,6 +9,7 @@ type CheckoutSessionVariantTest = {
|
|
|
9
9
|
};
|
|
10
10
|
export type CheckoutSessionUpdateRequest = {
|
|
11
11
|
adjustmentsAmount: number;
|
|
12
|
+
billToPartyId?: string | null;
|
|
12
13
|
cartId: string | null;
|
|
13
14
|
currency?: string;
|
|
14
15
|
/**
|
|
@@ -23,6 +24,7 @@ export type CheckoutSessionUpdateRequest = {
|
|
|
23
24
|
value: string;
|
|
24
25
|
}[];
|
|
25
26
|
presentmentCountryCode: CountryCode | null;
|
|
27
|
+
shipToPartyId?: string | null;
|
|
26
28
|
skipPaymentIntent?: boolean;
|
|
27
29
|
varianceTestInput?: CheckoutSessionVariantTest[];
|
|
28
30
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { CountryCode } from "../../generated/graphql.internal.types";
|
|
2
|
+
export type CreatePartyRequest = {
|
|
3
|
+
address: {
|
|
4
|
+
city: string;
|
|
5
|
+
country: CountryCode;
|
|
6
|
+
firstName: string;
|
|
7
|
+
lastName: string;
|
|
8
|
+
line1: string;
|
|
9
|
+
line2?: string | null;
|
|
10
|
+
phone: string;
|
|
11
|
+
postal_code?: string;
|
|
12
|
+
state?: string;
|
|
13
|
+
};
|
|
14
|
+
billingAddress: {
|
|
15
|
+
city: string;
|
|
16
|
+
country: CountryCode;
|
|
17
|
+
firstName: string;
|
|
18
|
+
lastName: string;
|
|
19
|
+
line1: string;
|
|
20
|
+
line2?: string | null;
|
|
21
|
+
phone: string;
|
|
22
|
+
postal_code?: string;
|
|
23
|
+
state?: string;
|
|
24
|
+
};
|
|
25
|
+
companyName: string;
|
|
26
|
+
email: string;
|
|
27
|
+
isTest: boolean;
|
|
28
|
+
rootId: string;
|
|
29
|
+
taxId?: string;
|
|
30
|
+
};
|
|
31
|
+
export type CreatePartyResponse = {
|
|
32
|
+
billToPartyId: string;
|
|
33
|
+
shipToPartyId: string;
|
|
34
|
+
};
|
|
@@ -3538,17 +3538,18 @@ export type CartCalculateLandedCostMutation = {
|
|
|
3538
3538
|
note: string;
|
|
3539
3539
|
type: DeMinimisType;
|
|
3540
3540
|
}>;
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
description: string;
|
|
3544
|
-
}>;
|
|
3541
|
+
rootId: string;
|
|
3542
|
+
id: string;
|
|
3545
3543
|
fees: Array<{
|
|
3546
3544
|
amount: number;
|
|
3547
3545
|
currencyCode: CurrencyCode;
|
|
3548
3546
|
}>;
|
|
3549
|
-
id: string;
|
|
3550
3547
|
landedCostGuaranteeCode: LandedCostGuaranteeCode;
|
|
3551
3548
|
method: IncotermCode;
|
|
3549
|
+
remittance: Array<{
|
|
3550
|
+
amount: number;
|
|
3551
|
+
description: string;
|
|
3552
|
+
}>;
|
|
3552
3553
|
duties: Array<{
|
|
3553
3554
|
amount: number;
|
|
3554
3555
|
currencyCode: CurrencyCode;
|
|
@@ -3670,6 +3671,7 @@ export type CalculateLandedCostMutation = {
|
|
|
3670
3671
|
amount: number;
|
|
3671
3672
|
description: string;
|
|
3672
3673
|
}>;
|
|
3674
|
+
rootId: string;
|
|
3673
3675
|
shipmentRating: {
|
|
3674
3676
|
id: string;
|
|
3675
3677
|
};
|
|
@@ -3777,6 +3779,7 @@ export type LandedCostFragment = {
|
|
|
3777
3779
|
amount: number;
|
|
3778
3780
|
description: string;
|
|
3779
3781
|
}>;
|
|
3782
|
+
rootId: string;
|
|
3780
3783
|
shipmentRating: {
|
|
3781
3784
|
id: string;
|
|
3782
3785
|
};
|
|
@@ -3972,6 +3975,11 @@ export type CheckoutSessionCreateMutation = {
|
|
|
3972
3975
|
}> | null;
|
|
3973
3976
|
};
|
|
3974
3977
|
};
|
|
3978
|
+
export type PartyCreateMutation = {
|
|
3979
|
+
partyCreate: {
|
|
3980
|
+
id: string;
|
|
3981
|
+
};
|
|
3982
|
+
};
|
|
3975
3983
|
export type CheckoutSessionPaymentIntentCreateMutation = {
|
|
3976
3984
|
checkoutSessionPaymentIntentCreate: {
|
|
3977
3985
|
cartId: string | null;
|
|
@@ -4237,6 +4245,10 @@ export type GetCheckoutSessionQuery = {
|
|
|
4237
4245
|
} | null;
|
|
4238
4246
|
order: {
|
|
4239
4247
|
id: string;
|
|
4248
|
+
parties: Array<{
|
|
4249
|
+
id: string;
|
|
4250
|
+
type: PartyType | null;
|
|
4251
|
+
}> | null;
|
|
4240
4252
|
} | null;
|
|
4241
4253
|
subtotals: {
|
|
4242
4254
|
presentmentCurrencyCode: CurrencyCode;
|
|
@@ -4879,6 +4891,7 @@ export type GetOrderQuery = {
|
|
|
4879
4891
|
} | null> | null;
|
|
4880
4892
|
mode: Mode;
|
|
4881
4893
|
parties: Array<{
|
|
4894
|
+
id: string;
|
|
4882
4895
|
location: {
|
|
4883
4896
|
administrativeArea: string | null;
|
|
4884
4897
|
administrativeAreaCode: string | null;
|
|
@@ -5171,6 +5184,9 @@ export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionW
|
|
|
5171
5184
|
organizations(variables?: {
|
|
5172
5185
|
[x: string]: never;
|
|
5173
5186
|
}, requestHeaders?: GraphQLClientRequestHeaders): Promise<OrganizationsQuery>;
|
|
5187
|
+
partyCreate(variables?: {
|
|
5188
|
+
[x: string]: never;
|
|
5189
|
+
}, requestHeaders?: GraphQLClientRequestHeaders): Promise<PartyCreateMutation>;
|
|
5174
5190
|
partyInfo(variables?: {
|
|
5175
5191
|
[x: string]: never;
|
|
5176
5192
|
}, requestHeaders?: GraphQLClientRequestHeaders): Promise<PartyInfoQuery>;
|
|
@@ -4244,11 +4244,12 @@ export type CartCalculateLandedCostMutation = {
|
|
|
4244
4244
|
note: string;
|
|
4245
4245
|
type: DeMinimisType;
|
|
4246
4246
|
}>;
|
|
4247
|
-
|
|
4248
|
-
fees: Array<{ amount: number; currencyCode: CurrencyCode }>;
|
|
4247
|
+
rootId: string;
|
|
4249
4248
|
id: string;
|
|
4249
|
+
fees: Array<{ amount: number; currencyCode: CurrencyCode }>;
|
|
4250
4250
|
landedCostGuaranteeCode: LandedCostGuaranteeCode;
|
|
4251
4251
|
method: IncotermCode;
|
|
4252
|
+
remittance: Array<{ amount: number; description: string }>;
|
|
4252
4253
|
duties: Array<{ amount: number; currencyCode: CurrencyCode }>;
|
|
4253
4254
|
shipmentRating: { id: string };
|
|
4254
4255
|
taxes: Array<{ amount: number; currencyCode: CurrencyCode }>;
|
|
@@ -4345,6 +4346,7 @@ export type CalculateLandedCostMutation = {
|
|
|
4345
4346
|
landedCostGuaranteeCode: LandedCostGuaranteeCode;
|
|
4346
4347
|
method: IncotermCode;
|
|
4347
4348
|
remittance: Array<{ amount: number; description: string }>;
|
|
4349
|
+
rootId: string;
|
|
4348
4350
|
shipmentRating: { id: string };
|
|
4349
4351
|
taxes: Array<{ amount: number; currencyCode: CurrencyCode }>;
|
|
4350
4352
|
} | null> | null;
|
|
@@ -4430,6 +4432,7 @@ export type LandedCostFragment = {
|
|
|
4430
4432
|
landedCostGuaranteeCode: LandedCostGuaranteeCode;
|
|
4431
4433
|
method: IncotermCode;
|
|
4432
4434
|
remittance: Array<{ amount: number; description: string }>;
|
|
4435
|
+
rootId: string;
|
|
4433
4436
|
shipmentRating: { id: string };
|
|
4434
4437
|
taxes: Array<{ amount: number; currencyCode: CurrencyCode }>;
|
|
4435
4438
|
};
|
|
@@ -4616,6 +4619,8 @@ export type CheckoutSessionCreateMutation = {
|
|
|
4616
4619
|
};
|
|
4617
4620
|
};
|
|
4618
4621
|
|
|
4622
|
+
export type PartyCreateMutation = { partyCreate: { id: string } };
|
|
4623
|
+
|
|
4619
4624
|
export type CheckoutSessionPaymentIntentCreateMutation = {
|
|
4620
4625
|
checkoutSessionPaymentIntentCreate: {
|
|
4621
4626
|
cartId: string | null;
|
|
@@ -4860,7 +4865,10 @@ export type GetCheckoutSessionQuery = {
|
|
|
4860
4865
|
id: string;
|
|
4861
4866
|
root: { parties: Array<{ id: string } | null> | null } | null;
|
|
4862
4867
|
} | null;
|
|
4863
|
-
order: {
|
|
4868
|
+
order: {
|
|
4869
|
+
id: string;
|
|
4870
|
+
parties: Array<{ id: string; type: PartyType | null }> | null;
|
|
4871
|
+
} | null;
|
|
4864
4872
|
subtotals: { presentmentCurrencyCode: CurrencyCode };
|
|
4865
4873
|
};
|
|
4866
4874
|
};
|
|
@@ -5447,6 +5455,7 @@ export type GetOrderQuery = {
|
|
|
5447
5455
|
metadata: Array<{ key: string; value: string } | null> | null;
|
|
5448
5456
|
mode: Mode;
|
|
5449
5457
|
parties: Array<{
|
|
5458
|
+
id: string;
|
|
5450
5459
|
location: {
|
|
5451
5460
|
administrativeArea: string | null;
|
|
5452
5461
|
administrativeAreaCode: string | null;
|
|
@@ -6203,6 +6212,20 @@ export function getSdk(
|
|
|
6203
6212
|
'query',
|
|
6204
6213
|
);
|
|
6205
6214
|
},
|
|
6215
|
+
partyCreate(
|
|
6216
|
+
variables?: { [x: string]: never },
|
|
6217
|
+
requestHeaders?: GraphQLClientRequestHeaders,
|
|
6218
|
+
): Promise<PartyCreateMutation> {
|
|
6219
|
+
return withWrapper(
|
|
6220
|
+
wrappedRequestHeaders =>
|
|
6221
|
+
client.request<PartyCreateMutation>('', variables, {
|
|
6222
|
+
...requestHeaders,
|
|
6223
|
+
...wrappedRequestHeaders,
|
|
6224
|
+
}),
|
|
6225
|
+
'partyCreate',
|
|
6226
|
+
'mutation',
|
|
6227
|
+
);
|
|
6228
|
+
},
|
|
6206
6229
|
partyInfo(
|
|
6207
6230
|
variables?: { [x: string]: never },
|
|
6208
6231
|
requestHeaders?: GraphQLClientRequestHeaders,
|
|
@@ -4,6 +4,7 @@ export type { CartItem, ItemMeasurement, } from '../components/store/checkout/ca
|
|
|
4
4
|
export type { CountryLandedCost } from '../components/utils/api/getCountryLandedCost';
|
|
5
5
|
export * from './checkout/api/CalculateLandedCost';
|
|
6
6
|
export * from './checkout/api/CheckoutSession';
|
|
7
|
+
export * from './checkout/api/CreateParty';
|
|
7
8
|
export * from './checkout/api/legacy/InventoryCheck';
|
|
8
9
|
export * from './checkout/api/NormalizedTempCart';
|
|
9
10
|
export * from './checkout/api/Paypal';
|
|
@@ -21,6 +21,12 @@ export type GenericZonosSettings = {
|
|
|
21
21
|
* Signed token for Google Places API iframe access.
|
|
22
22
|
*/
|
|
23
23
|
signedTokenGooglePlaces?: string;
|
|
24
|
+
stripeCountryFieldLabels?: {
|
|
25
|
+
[_key in CountryCode]?: {
|
|
26
|
+
stateRequired: boolean;
|
|
27
|
+
zipRequired: boolean;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
24
30
|
/**
|
|
25
31
|
* List of countries that are allowed to use USD denominated cards for settlement.
|
|
26
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg color="var(--zonos-elements-
|
|
1
|
+
<svg color="var(--zonos-elements-gray-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-gray-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>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as n}from"./p-595f5dd2.js";import{g as o,I as t}from"./p-e7b0c156.js";import{g as r,a as i,l,h as u,b as m}from"./p-0fc02cde.js";import{g as p,_ as w,c as f,a as h}from"./p-b2d81c98.js";export{c as checkoutHiddenBtnSelector,a as checkoutHiddenInternationalBtnSelector,d as domesticRedirectedBtnSelector}from"./p-b2d81c98.js";export{a as availableTestKeys}from"./p-04a01cb1.js";export{c as countryRequireTaxId,e as euCountryCodes,s as shipToTaxIdLabels}from"./p-6b361d2b.js";const y=["jsdelivr","cdnjs","unpkg","vercel"],v="jsdelivr",O=e=>{const n=y.indexOf(e);return y[n+1]||null},S=()=>{const e=window&&window.location.href.includes("forceLoadCdn");if("undefined"==typeof window||e)return null;const n=(e=>{if(!e)return null;const n=new URL(e).searchParams.get("zonosQaUrl");return n?/[^a-zA-Z0-9-_]+/.test(n)?null:n:null})(window.location.href),o="https://v1.3.208.js.zonos.com";if(!n&&(o.includes("test.")||o.includes("test-")))return o;if(!n&&["dev.demo.elements.zonos.com","dev.checkout.elements.zonos.com"].includes(window.location.hostname))return"https://dev.elements.zonos.com";if(!n)return null;if("dev-elements"===n)return"https://dev.elements.zonos.com";const t=`https://${n}.preview.js.zonos.com`;return l(`[ZONOS-WARNING] using '${t}' for loading elements script`,"warn"),fetch(t).then((()=>{window.sessionStorage.removeItem("zonos--checkout-session-id"),window.sessionStorage.removeItem("zonos--client-secret")})).catch((()=>{alert(`[ZONOS-WARNING] '${t}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);const e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");const{pathname:n}=window.location,o=`${n}?${e.toString()}`;return window.history.replaceState(window.history.state,"",o),window.location.reload(),null})),t},g="https://js.stripe.com/v3",z=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,j="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used";let b=null;const N=Promise.resolve().then((()=>{return e=null,null!==b||(b=new Promise(((n,o)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&e&&console.warn(j),window.Stripe)n(window.Stripe);else try{let t=(()=>{const e=document.querySelectorAll(`script[src^="${g}"]`);for(let n=0;n<e.length;n++){const o=e[n];if(o&&z.test(o.src))return o}return null})();t&&e?console.warn(j):t||(t=(e=>{const n=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",o=document.createElement("script");o.src=`${g}${n}`;const t=document.head||document.body;return t?(t.appendChild(o),o):(m("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})(e)),null==t||t.addEventListener("load",(()=>{window.Stripe?n(window.Stripe):o(new Error("Stripe.js not available"))})),null==t||t.addEventListener("error",(()=>{o(new Error("Failed to load Stripe.js"))}))}catch(e){return void o(e)}else n(null)}))),b;var e}));let I=!1;N.catch((e=>{I||console.warn(e)}));const k=async({cartId:e,retries:n})=>{const t=r(),s=o(),i=p()||void 0,c=new URLSearchParams;s.overrideShouldEnabledCustomAddress&&c.set("overrideShouldEnabledCustomAddress",s.overrideShouldEnabledCustomAddress);const{errors:d,json:a,zonosMode:m}=await u(`/api/zonos-elements/get-cart?${c.toString()}`,{body:{isTestMode:t,renewCartExpirationToken:i,tempCartUUID:e},headers:{"Content-Type":"application/json"},method:"POST"}),w=!a||d.length;return w&&n?(l("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:n}),await new Promise((e=>setTimeout(e,500))),k({cartId:e,retries:n-1})):w?null:Object.assign(Object.assign({},a),{zonosMode:m})};var T;const R=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:n,isWhiteListed:o}=(({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const n=new URL(e).origin,o=["dev.elements.zonos.com","dev.assets-checkout.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some((e=>n.includes(e))),t=["qa.js.zonos.com"].some((e=>n.includes(e)));return{currentLoadScriptUrl:n,isForceLoadVersionDomain:t,isWhiteListed:o}})({loadScriptSrc:null==e?void 0:e.src});return o?n:null})(),$="https://v1.3.208.js.zonos.com",Z=R||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.208",L="https://fonts.googleapis.com",U=/^https:\/\/fonts\.googleapis\.com/;class A{}T=A,A.doneInit=!1,A.cartSettings=null,A.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),A.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),A._paypalMockResponse=null,A.iframeLogType="undefined"!=typeof window?new URLSearchParams(window.location.search).get("iframeLogType"):null,A.isBigCommerce=!1,A.releaseDate="1748878470643",A.isLegacyCheckout=!1,A.domain="undefined"!=typeof window?window.location!=window.parent.location&&document.referrer||document.location.hostname:"",A.showBaseForeign="undefined"!=typeof window&&window.location.search.includes("zonosShowBaseForeign"),A.overrideUseCustomAddressForm=!1,A.isNpm=!0,A.zonosQaUrl=null,A.zonosQaUrlApi=null,A.trackEventLogs=[],A.version="v1.3.208",A.modeAlerted=!1,A.cartData=null,A.paypal=null,A.zonosMode=null,A.IframeService=t,A.getCurrentTimestamp=()=>(new Date).getTime(),A.zonosController=null,A.loadTimeApiInfoList=[],A.logIntervalId=null,A.init=async e=>{const{appearance:n,checkoutSettings:o,currencyConverter:t,helloSettings:s,onCountryChange:c,overrideCurrencyFormat:d,storeId:a,zonosApiKey:p}=e;if(T.cartId=new URLSearchParams(window.location.search).get("tempCartUUID"),T.doneInit)return;if(l(`====== ZONOS DEBUG MODE: on (${T.version}) ======`),T.zonosApiKey=p,T.storeId=a,T.isNpm){l("====== ZONOS LOADING FROM NPM ======");const n=S();if(n&&!window.isZonosPreview){l(`====== RE-INJECT "zonos.js" FROM PRVIEW: ${n} ======`,"info");const o=document.createElement("script");return o.src=`${n}/dist/scripts/zonos.js`,document.head.appendChild(o),o.addEventListener("load",(()=>{window.Zonos.isNpm=T.isNpm,window.Zonos.isBigCommerce=T.isBigCommerce,window.Zonos.isLegacyCheckout=T.isLegacyCheckout,window.Zonos.init(e)})),o.addEventListener("error",(()=>{alert(`[ZONOS - loadZonos] Failed to load "loadZonos.js" from zonosQaUrl: ${n}`)})),void(window.isZonosPreview=!0)}if(!p&&!T.cartId)return void m("Zonos API key is required unless `tempCartUUID` is provided in url query params.");if(!T.cartData&&T.cartId){l("Initialize cart data");const e=await(async e=>{const{isDgsCartId:n,isLegacyCartId:o}=w(e);if(!o&&!n)return m("[ZONOS - loadZonos] invalid cart id"),null;const t=await k({cartId:e,retries:5});return l("[ZONOS - loadZonos] getting temp cart data","info",t),t?(window.Zonos.storeId=t.cartData.storeId,window.Zonos.zonosApiKey=t.cartData.credentialToken,window.Zonos.zonosMode=t.zonosMode,{cartData:t.cartData,settings:t.settings,storeFavicon:t.storeFaviconUrl,storeId:t.cartData.storeId,storeLogo:t.storeLogoUrl,zonosApiKey:t.cartData.credentialToken}):(m("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process."),null)})(T.cartId);if(!e)return void m("Failed to get cart data");T.cartData=e.cartData,T.zonosApiKey=e.zonosApiKey,T.cartSettings=e.settings}const o=await(async()=>{const e=r(),n=i();if(!e&&!n||!window.Zonos.zonosApiKey)return null;if(l("[ZONOS - loadZonos] Attempt test public credential","info"),window.Zonos.zonosApiKey.includes("credential_test"))return l("[ZONOS - loadZonos] Test mode is enabled but the API key is already a test key","info"),null;const{errors:o,json:t}=await u("/api/get-test-public-credential");if(o.length||!t)return m("[ZONOS - loadZonos] Failed to get test public credential. Keep using production key",o),null;const s=t.publicCredential;return s?(l(`[ZONOS - loadZonos] Retrieve new test public token ${s}`,"info"),s):(m("[ZONOS - loadZonos] No test public key credential. Keep using production key"),null)})();o&&(T.zonosApiKey=o)}const h=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");if(T.cartId&&T.cartData||h){l("Cart data or stripe client secret is available, inject hidden button and trigger checkout");const e=document.createElement("button");e.style.display="none",e.id=`${f}`,document.body.appendChild(e)}l("init zonos"),T.restoreNativeBrowserFunctions(),T.injectCustomScriptForHostedCheckout(),T.injectZonosCdn(),T.injectZonosCss(),T.injectFonts(),T.injectCheckoutInternationalButton(),T.injectController({config:{appearance:n,checkoutSettings:o,currencyConverter:t,helloSettings:s,onCountryChange:c,overrideCurrencyFormat:d}}),T.doneInit=!0},A.injectCheckoutInternationalButton=()=>{if(!document.querySelector(`#${h}`)){const e=document.createElement("button");e.id=h,e.style.display="none",document.body.appendChild(e)}},A.injectCustomScriptForHostedCheckout=()=>{const e=T.cartData,n=(null==e?void 0:e.metadata)||[],o=n.find((e=>"customHeaderScript"===e.key)),t=n.find((e=>"customFooterScript"===e.key));if(window.Zonos.isLegacyCheckout&&(o||t)){if(o){l("Injecting custom header script");const e=document.createElement("script");e.textContent=o.value,document.head.appendChild(e)}if(t){l("Injecting custom footer script");const e=document.createElement("script");e.textContent=t.value,document.body.appendChild(e)}}else l("Skip injecting custom script for hosted checkout","info",{footerScript:t,headerScript:o,isLegacyCheckout:window.Zonos.isLegacyCheckout})},A.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},A.triggerCheckoutInternational=async()=>{const e=document.querySelector(`#${h}`);setTimeout((()=>{e&&e.dispatchEvent(n("click"))}),10)},A.openHelloDialog=e=>{const n=document.querySelector("zonos-hello");n&&n.openHelloDialog(null==e||e)},A.showNotification=e=>{var n;null===(n=T.zonosController)||void 0===n||n.showNotification(e)},A.updateOrganizationName=e=>{var n;null===(n=T.zonosController)||void 0===n||n.updateOrganizationName(e)},A.disablePlaceOrderButtons=({autoEnable:e=!0,config:n,disable:o,placeOrderButtonSelector:t})=>{var s;if(!(null===(s=n.checkoutSettings)||void 0===s?void 0:s.disablePlaceOrderButtonActivation)&&t){const n=document.querySelectorAll(t),s=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};n.forEach((e=>{e.getAttribute("data-zonos-checkout-attached")||(o?(e.setAttribute("disabled","true"),e.addEventListener("click",s)):(e.removeAttribute("disabled"),e.removeEventListener("click",s)))})),e&&o&&setTimeout((()=>{n.forEach((e=>{e.removeAttribute("disabled"),e.removeEventListener("click",s)}))}),5e3)}},A.restoreNativeBrowserFunctions=()=>{var e;if("1"===new URL(window.location.href).searchParams.get("useMerchantPolyfill"))return;const n="zonos---native-browser";let o=document.querySelector(`iframe#${n}`);o||(o=document.createElement("iframe"),o.id=n,o.style.display="none",o.style.opacity="0",o.style.position="absolute",o.style.top="-9999px",o.style.left="-9999px",o.style.width="1px",o.style.height="1px",o.style.border="none",o.style.overflow="hidden",o.style.visibility="hidden",document.body.appendChild(o));const t=(null===(e=o.contentWindow)||void 0===e?void 0:e.window.Array.from)||Array.from;Array.from=t,document.body.removeChild(o)},A.injectController=({config:e})=>{var n,o;if(document.querySelector("zonos-controller"))return;if(null===(n=e.checkoutSettings)||void 0===n?void 0:n.placeOrderButtonSelector){const n=e.checkoutSettings.placeOrderButtonSelector;T.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:n}),new MutationObserver((()=>{T.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:n})})).observe(document.body,{childList:!0,subtree:!0})}if(null===(o=e.checkoutSettings)||void 0===o?void 0:o.alwaysTriggerInternationalCheckoutSelector){const n=e.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;T.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:n}),new MutationObserver((()=>{T.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:n})})).observe(document.body,{childList:!0,subtree:!0})}const t=document.createElement("zonos-controller");t.config=e,t.zonosApiKey=T.zonosApiKey||"",t.addEventListener("stripeInitEvent",(async e=>{const{detail:n}=e;l("loading Stripe");const o=await(async(...e)=>{I=!0;const n=Date.now();return N.then((o=>((e,n,o)=>{if(null===e)return null;const t=e.apply(void 0,n);return((e,n)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:n})})(t,o),t})(o,e,n)))})(n.publishableKey);o?(window.Zonos.stripe=o,t.initCheckoutElement(o)):m("API seems to be invalid or missing. Failed to load Stripe")})),document.body.appendChild(t),T.zonosController=t,l("Zonos controller injected!")},A.injectScript=({cdnType:e,isModule:n,theRestUrl:o})=>{const t=`${T.getZonosUrl(e)}/${o}`;if(document.querySelector(`script[src="${t}"]`))return void l(`Zonos script "${t}" already exists in the document`,"warn");const s=document.head||document.body,r=document.createElement("script");n?r.type="module":r.noModule=!0,r.src=t,r.crossOrigin="anonymous",r.onerror=()=>{m(`Failed to load ${r.src}`);const t=O(e);t&&T.injectScript({cdnType:t,isModule:n,theRestUrl:o})},s.appendChild(r)},A.getZonosUrl=e=>{const n=()=>{switch(e){case"jsdelivr":return Z;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.208";case"cdnjs":return"https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.208";case"vercel":return $}};return T.isNpm&&S()||n()},A.injectZonosCdn=()=>{T.injectScript({cdnType:v,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),T.injectScript({cdnType:v,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),l("Zonos cdn script injected!")},A.injectStylesheet=({cdnType:e,theRestUrl:n})=>{const o=T.getZonosUrl(e),t=document.head||document.body,s=document.createElement("link");s.rel="preconnect",s.href=`${$}/`,t.appendChild(s);const r=document.createElement("link");r.rel="stylesheet",r.href=`${o}/${n}`,r.onerror=()=>{m(`Failed to load ${r.href}`);const o=O(e);o&&T.injectStylesheet({cdnType:o,theRestUrl:n})},t.appendChild(r)},A.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?l("Zonos style links already injected","warn"):(T.injectStylesheet({cdnType:v,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),l("Zonos style css injected!"))},A.injectFonts=()=>{if((()=>{if(document.fonts.check("1em Inter"))return void l("Inter font already loaded","warn");const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${L}"]`);for(let n=0;n<e.length;n++){const o=e[n];if(o&&!U.test(o.href))return o}return null})())return void l("Inter font already injected","warn");const e=document.head||document.body,n=document.createElement("link");n.rel="preconnect",n.href=L,e.appendChild(n);const o=document.createElement("link");o.rel="stylesheet",o.href=`${L}/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap`,e.appendChild(o),l("Zonos font injected!")},A.setupGoogleFont=e=>{var n;null===(n=T.zonosController)||void 0===n||n.setupGoogleFont(e)},A.injectSupportGoogleFont=e=>{var n;l(`[FONT] injecting ${e}`);const o=null===(n=e.match(/family=(.*?):/))||void 0===n?void 0:n[1],t=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${L}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=L,t.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${e}"]`))return void l(`[FONT] ${o} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=e,t.appendChild(s),l(`[FONT] ${o} font injected!`)};const C=["ZONOS_FORM_TYPE_USING","APP_VERSION","APP_VERSION_NPM_INTEGRATION","LEGACY_CHECKOUT_FACADE"],E=["ORDER_DUPLICATION_CONSENT","WITH_ABANDONED_CART_TOKEN"],P=[...C,...E];export{A as Zonos,P as checkoutSessionAttributeKeys,E as checkoutSessionImmutableAttributeKeys,C as checkoutSessionMutableAttributeKeys}
|
|
1
|
+
import{c as n}from"./p-595f5dd2.js";import{g as o,I as t}from"./p-e7b0c156.js";import{g as r,a as i,l,h as u,b as m}from"./p-20839c46.js";import{g as p,_ as w,c as f,a as h}from"./p-b2d81c98.js";export{c as checkoutHiddenBtnSelector,a as checkoutHiddenInternationalBtnSelector,d as domesticRedirectedBtnSelector}from"./p-b2d81c98.js";export{a as availableTestKeys}from"./p-04a01cb1.js";export{c as countryRequireTaxId,e as euCountryCodes,s as shipToTaxIdLabels}from"./p-6b361d2b.js";const y=["jsdelivr","cdnjs","unpkg","vercel"],v="jsdelivr",O=e=>{const n=y.indexOf(e);return y[n+1]||null},S=()=>{const e=window&&window.location.href.includes("forceLoadCdn");if("undefined"==typeof window||e)return null;const n=(e=>{if(!e)return null;const n=new URL(e).searchParams.get("zonosQaUrl");return n?/[^a-zA-Z0-9-_]+/.test(n)?null:n:null})(window.location.href),o="https://v1.3.210.js.zonos.com";if(!n&&(o.includes("test.")||o.includes("test-")))return o;if(!n&&["dev.demo.elements.zonos.com","dev.checkout.elements.zonos.com"].includes(window.location.hostname))return"https://dev.elements.zonos.com";if(!n)return null;if("dev-elements"===n)return"https://dev.elements.zonos.com";const t=`https://${n}.preview.js.zonos.com`;return l(`[ZONOS-WARNING] using '${t}' for loading elements script`,"warn"),fetch(t).then((()=>{window.sessionStorage.removeItem("zonos--checkout-session-id"),window.sessionStorage.removeItem("zonos--client-secret")})).catch((()=>{alert(`[ZONOS-WARNING] '${t}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);const e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");const{pathname:n}=window.location,o=`${n}?${e.toString()}`;return window.history.replaceState(window.history.state,"",o),window.location.reload(),null})),t},g="https://js.stripe.com/v3",z=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,j="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used";let b=null;const N=Promise.resolve().then((()=>{return e=null,null!==b||(b=new Promise(((n,o)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&e&&console.warn(j),window.Stripe)n(window.Stripe);else try{let t=(()=>{const e=document.querySelectorAll(`script[src^="${g}"]`);for(let n=0;n<e.length;n++){const o=e[n];if(o&&z.test(o.src))return o}return null})();t&&e?console.warn(j):t||(t=(e=>{const n=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",o=document.createElement("script");o.src=`${g}${n}`;const t=document.head||document.body;return t?(t.appendChild(o),o):(m("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})(e)),null==t||t.addEventListener("load",(()=>{window.Stripe?n(window.Stripe):o(new Error("Stripe.js not available"))})),null==t||t.addEventListener("error",(()=>{o(new Error("Failed to load Stripe.js"))}))}catch(e){return void o(e)}else n(null)}))),b;var e}));let I=!1;N.catch((e=>{I||console.warn(e)}));const k=async({cartId:e,retries:n})=>{const t=r(),s=o(),i=p()||void 0,c=new URLSearchParams;s.overrideShouldEnabledCustomAddress&&c.set("overrideShouldEnabledCustomAddress",s.overrideShouldEnabledCustomAddress);const{errors:d,json:a,zonosMode:m}=await u(`/api/zonos-elements/get-cart?${c.toString()}`,{body:{isTestMode:t,renewCartExpirationToken:i,tempCartUUID:e},headers:{"Content-Type":"application/json"},method:"POST"}),w=!a||d.length;return w&&n?(l("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:n}),await new Promise((e=>setTimeout(e,500))),k({cartId:e,retries:n-1})):w?null:Object.assign(Object.assign({},a),{zonosMode:m})};var T;const R=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:n,isWhiteListed:o}=(({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const n=new URL(e).origin,o=["dev.elements.zonos.com","dev.assets-checkout.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some((e=>n.includes(e))),t=["qa.js.zonos.com"].some((e=>n.includes(e)));return{currentLoadScriptUrl:n,isForceLoadVersionDomain:t,isWhiteListed:o}})({loadScriptSrc:null==e?void 0:e.src});return o?n:null})(),$="https://v1.3.210.js.zonos.com",Z=R||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.210",L="https://fonts.googleapis.com",U=/^https:\/\/fonts\.googleapis\.com/;class A{}T=A,A.doneInit=!1,A.cartSettings=null,A.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),A.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),A._paypalMockResponse=null,A.iframeLogType="undefined"!=typeof window?new URLSearchParams(window.location.search).get("iframeLogType"):null,A.isBigCommerce=!1,A.releaseDate="1749136579531",A.isLegacyCheckout=!1,A.domain="undefined"!=typeof window?window.location!=window.parent.location&&document.referrer||document.location.hostname:"",A.showBaseForeign="undefined"!=typeof window&&window.location.search.includes("zonosShowBaseForeign"),A.overrideUseCustomAddressForm=!1,A.isNpm=!0,A.zonosQaUrl=null,A.zonosQaUrlApi=null,A.trackEventLogs=[],A.version="v1.3.210",A.modeAlerted=!1,A.cartData=null,A.paypal=null,A.zonosMode=null,A.IframeService=t,A.getCurrentTimestamp=()=>(new Date).getTime(),A.zonosController=null,A.loadTimeApiInfoList=[],A.logIntervalId=null,A.init=async e=>{const{appearance:n,checkoutSettings:o,currencyConverter:t,helloSettings:s,onCountryChange:c,overrideCurrencyFormat:d,storeId:a,zonosApiKey:p}=e;if(T.cartId=new URLSearchParams(window.location.search).get("tempCartUUID"),T.doneInit)return;if(l(`====== ZONOS DEBUG MODE: on (${T.version}) ======`),T.zonosApiKey=p,T.storeId=a,T.isNpm){l("====== ZONOS LOADING FROM NPM ======");const n=S();if(n&&!window.isZonosPreview){l(`====== RE-INJECT "zonos.js" FROM PRVIEW: ${n} ======`,"info");const o=document.createElement("script");return o.src=`${n}/dist/scripts/zonos.js`,document.head.appendChild(o),o.addEventListener("load",(()=>{window.Zonos.isNpm=T.isNpm,window.Zonos.isBigCommerce=T.isBigCommerce,window.Zonos.isLegacyCheckout=T.isLegacyCheckout,window.Zonos.init(e)})),o.addEventListener("error",(()=>{alert(`[ZONOS - loadZonos] Failed to load "loadZonos.js" from zonosQaUrl: ${n}`)})),void(window.isZonosPreview=!0)}if(!p&&!T.cartId)return void m("Zonos API key is required unless `tempCartUUID` is provided in url query params.");if(!T.cartData&&T.cartId){l("Initialize cart data");const e=await(async e=>{const{isDgsCartId:n,isLegacyCartId:o}=w(e);if(!o&&!n)return m("[ZONOS - loadZonos] invalid cart id"),null;const t=await k({cartId:e,retries:5});return l("[ZONOS - loadZonos] getting temp cart data","info",t),t?(window.Zonos.storeId=t.cartData.storeId,window.Zonos.zonosApiKey=t.cartData.credentialToken,window.Zonos.zonosMode=t.zonosMode,{cartData:t.cartData,settings:t.settings,storeFavicon:t.storeFaviconUrl,storeId:t.cartData.storeId,storeLogo:t.storeLogoUrl,zonosApiKey:t.cartData.credentialToken}):(m("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process."),null)})(T.cartId);if(!e)return void m("Failed to get cart data");T.cartData=e.cartData,T.zonosApiKey=e.zonosApiKey,T.cartSettings=e.settings}const o=await(async()=>{const e=r(),n=i();if(!e&&!n||!window.Zonos.zonosApiKey)return null;if(l("[ZONOS - loadZonos] Attempt test public credential","info"),window.Zonos.zonosApiKey.includes("credential_test"))return l("[ZONOS - loadZonos] Test mode is enabled but the API key is already a test key","info"),null;const{errors:o,json:t}=await u("/api/get-test-public-credential");if(o.length||!t)return m("[ZONOS - loadZonos] Failed to get test public credential. Keep using production key",o),null;const s=t.publicCredential;return s?(l(`[ZONOS - loadZonos] Retrieve new test public token ${s}`,"info"),s):(m("[ZONOS - loadZonos] No test public key credential. Keep using production key"),null)})();o&&(T.zonosApiKey=o)}const h=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");if(T.cartId&&T.cartData||h){l("Cart data or stripe client secret is available, inject hidden button and trigger checkout");const e=document.createElement("button");e.style.display="none",e.id=`${f}`,document.body.appendChild(e)}l("init zonos"),T.restoreNativeBrowserFunctions(),T.injectCustomScriptForHostedCheckout(),T.injectZonosCdn(),T.injectZonosCss(),T.injectFonts(),T.injectCheckoutInternationalButton(),T.injectController({config:{appearance:n,checkoutSettings:o,currencyConverter:t,helloSettings:s,onCountryChange:c,overrideCurrencyFormat:d}}),T.doneInit=!0},A.injectCheckoutInternationalButton=()=>{if(!document.querySelector(`#${h}`)){const e=document.createElement("button");e.id=h,e.style.display="none",document.body.appendChild(e)}},A.injectCustomScriptForHostedCheckout=()=>{const e=T.cartData,n=(null==e?void 0:e.metadata)||[],o=n.find((e=>"customHeaderScript"===e.key)),t=n.find((e=>"customFooterScript"===e.key));if(window.Zonos.isLegacyCheckout&&(o||t)){if(o){l("Injecting custom header script");const e=document.createElement("script");e.textContent=o.value,document.head.appendChild(e)}if(t){l("Injecting custom footer script");const e=document.createElement("script");e.textContent=t.value,document.body.appendChild(e)}}else l("Skip injecting custom script for hosted checkout","info",{footerScript:t,headerScript:o,isLegacyCheckout:window.Zonos.isLegacyCheckout})},A.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},A.triggerCheckoutInternational=async()=>{const e=document.querySelector(`#${h}`);setTimeout((()=>{e&&e.dispatchEvent(n("click"))}),10)},A.openHelloDialog=e=>{const n=document.querySelector("zonos-hello");n&&n.openHelloDialog(null==e||e)},A.showNotification=e=>{var n;null===(n=T.zonosController)||void 0===n||n.showNotification(e)},A.updateOrganizationName=e=>{var n;null===(n=T.zonosController)||void 0===n||n.updateOrganizationName(e)},A.disablePlaceOrderButtons=({autoEnable:e=!0,config:n,disable:o,placeOrderButtonSelector:t})=>{var s;if(!(null===(s=n.checkoutSettings)||void 0===s?void 0:s.disablePlaceOrderButtonActivation)&&t){const n=document.querySelectorAll(t),s=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};n.forEach((e=>{e.getAttribute("data-zonos-checkout-attached")||(o?(e.setAttribute("disabled","true"),e.addEventListener("click",s)):(e.removeAttribute("disabled"),e.removeEventListener("click",s)))})),e&&o&&setTimeout((()=>{n.forEach((e=>{e.removeAttribute("disabled"),e.removeEventListener("click",s)}))}),5e3)}},A.restoreNativeBrowserFunctions=()=>{var e;if("1"===new URL(window.location.href).searchParams.get("useMerchantPolyfill"))return;const n="zonos---native-browser";let o=document.querySelector(`iframe#${n}`);o||(o=document.createElement("iframe"),o.id=n,o.style.display="none",o.style.opacity="0",o.style.position="absolute",o.style.top="-9999px",o.style.left="-9999px",o.style.width="1px",o.style.height="1px",o.style.border="none",o.style.overflow="hidden",o.style.visibility="hidden",document.body.appendChild(o));const t=(null===(e=o.contentWindow)||void 0===e?void 0:e.window.Array.from)||Array.from;Array.from=t,document.body.removeChild(o)},A.injectController=({config:e})=>{var n,o;if(document.querySelector("zonos-controller"))return;if(null===(n=e.checkoutSettings)||void 0===n?void 0:n.placeOrderButtonSelector){const n=e.checkoutSettings.placeOrderButtonSelector;T.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:n}),new MutationObserver((()=>{T.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:n})})).observe(document.body,{childList:!0,subtree:!0})}if(null===(o=e.checkoutSettings)||void 0===o?void 0:o.alwaysTriggerInternationalCheckoutSelector){const n=e.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;T.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:n}),new MutationObserver((()=>{T.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:n})})).observe(document.body,{childList:!0,subtree:!0})}const t=document.createElement("zonos-controller");t.config=e,t.zonosApiKey=T.zonosApiKey||"",t.addEventListener("stripeInitEvent",(async e=>{const{detail:n}=e;l("loading Stripe");const o=await(async(...e)=>{I=!0;const n=Date.now();return N.then((o=>((e,n,o)=>{if(null===e)return null;const t=e.apply(void 0,n);return((e,n)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:n})})(t,o),t})(o,e,n)))})(n.publishableKey);o?(window.Zonos.stripe=o,t.initCheckoutElement(o)):m("API seems to be invalid or missing. Failed to load Stripe")})),document.body.appendChild(t),T.zonosController=t,l("Zonos controller injected!")},A.injectScript=({cdnType:e,isModule:n,theRestUrl:o})=>{const t=`${T.getZonosUrl(e)}/${o}`;if(document.querySelector(`script[src="${t}"]`))return void l(`Zonos script "${t}" already exists in the document`,"warn");const s=document.head||document.body,r=document.createElement("script");n?r.type="module":r.noModule=!0,r.src=t,r.crossOrigin="anonymous",r.onerror=()=>{m(`Failed to load ${r.src}`);const t=O(e);t&&T.injectScript({cdnType:t,isModule:n,theRestUrl:o})},s.appendChild(r)},A.getZonosUrl=e=>{const n=()=>{switch(e){case"jsdelivr":return Z;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.210";case"cdnjs":return"https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.210";case"vercel":return $}};return T.isNpm&&S()||n()},A.injectZonosCdn=()=>{T.injectScript({cdnType:v,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),T.injectScript({cdnType:v,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),l("Zonos cdn script injected!")},A.injectStylesheet=({cdnType:e,theRestUrl:n})=>{const o=T.getZonosUrl(e),t=document.head||document.body,s=document.createElement("link");s.rel="preconnect",s.href=`${$}/`,t.appendChild(s);const r=document.createElement("link");r.rel="stylesheet",r.href=`${o}/${n}`,r.onerror=()=>{m(`Failed to load ${r.href}`);const o=O(e);o&&T.injectStylesheet({cdnType:o,theRestUrl:n})},t.appendChild(r)},A.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?l("Zonos style links already injected","warn"):(T.injectStylesheet({cdnType:v,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),l("Zonos style css injected!"))},A.injectFonts=()=>{if((()=>{if(document.fonts.check("1em Inter"))return void l("Inter font already loaded","warn");const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${L}"]`);for(let n=0;n<e.length;n++){const o=e[n];if(o&&!U.test(o.href))return o}return null})())return void l("Inter font already injected","warn");const e=document.head||document.body,n=document.createElement("link");n.rel="preconnect",n.href=L,e.appendChild(n);const o=document.createElement("link");o.rel="stylesheet",o.href=`${L}/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap`,e.appendChild(o),l("Zonos font injected!")},A.setupGoogleFont=e=>{var n;null===(n=T.zonosController)||void 0===n||n.setupGoogleFont(e)},A.injectSupportGoogleFont=e=>{var n;l(`[FONT] injecting ${e}`);const o=null===(n=e.match(/family=(.*?):/))||void 0===n?void 0:n[1],t=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${L}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=L,t.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${e}"]`))return void l(`[FONT] ${o} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=e,t.appendChild(s),l(`[FONT] ${o} font injected!`)};const C=["ZONOS_FORM_TYPE_USING","APP_VERSION","APP_VERSION_NPM_INTEGRATION","LEGACY_CHECKOUT_FACADE"],E=["ORDER_DUPLICATION_CONSENT","WITH_ABANDONED_CART_TOKEN"],P=[...C,...E];export{A as Zonos,P as checkoutSessionAttributeKeys,E as checkoutSessionImmutableAttributeKeys,C as checkoutSessionMutableAttributeKeys}
|