@zonos/elements 1.3.276 → 1.3.277
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 +32 -9
- package/dist/cjs/zonos-controller.cjs.entry.js +15 -2
- package/dist/collection/components/main/zonos-controller.js +15 -2
- package/dist/collection/scripts/_loadStripe.js +20 -2
- package/dist/collection/scripts/_zonosBase.js +5 -0
- package/dist/esm/index.js +32 -9
- package/dist/esm/zonos-controller.entry.js +15 -2
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/zonos-controller.entry.js +1 -1
- package/dist/scripts/index.d.ts +12 -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/scripts/_zonosBase.d.ts +12 -0
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
- package/dist/zonos-elements/{p-67dac4e5.system.entry.js → p-4596bdca.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-82341c15.entry.js → p-b79989a6.entry.js} +1 -1
- package/dist/zonos-elements/p-d90e79e4.system.js +1 -0
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +1 -1
- package/dist/zonos-elements/p-6f324051.system.js +0 -1
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -133,7 +133,7 @@ const getZonosQaUrl = () => {
|
|
|
133
133
|
return null;
|
|
134
134
|
}
|
|
135
135
|
const qaUrl = extractZonosQaUrl(window.location.href);
|
|
136
|
-
const cdnUrl = "https://v1.3.
|
|
136
|
+
const cdnUrl = "https://v1.3.277.js.zonos.com";
|
|
137
137
|
// when the qaUrl is not set and the built URL is from the test domain, use the test domain for testing
|
|
138
138
|
if (!qaUrl &&
|
|
139
139
|
(cdnUrl.includes('test.') ||
|
|
@@ -280,7 +280,20 @@ const initStripe = (maybeStripe, args, startTime) => {
|
|
|
280
280
|
|
|
281
281
|
// Execute our own script injection after a tick to give users time to do their
|
|
282
282
|
// own script injection.
|
|
283
|
-
const
|
|
283
|
+
const hasCheckoutCartCallback = () => {
|
|
284
|
+
var _a, _b;
|
|
285
|
+
return typeof window !== 'undefined' &&
|
|
286
|
+
(typeof ((_a = window.Zonos) === null || _a === void 0 ? void 0 : _a.createCartId) === 'function' ||
|
|
287
|
+
typeof ((_b = window.Zonos) === null || _b === void 0 ? void 0 : _b.buildCartDetail) === 'function');
|
|
288
|
+
};
|
|
289
|
+
const stripePromise = Promise.resolve().then(() => {
|
|
290
|
+
// Skip eagerly loading Stripe when no checkout cart callback is configured
|
|
291
|
+
// (e.g. a Hello-only integration). Stripe is loaded on demand instead.
|
|
292
|
+
if (!hasCheckoutCartCallback()) {
|
|
293
|
+
return null;
|
|
294
|
+
}
|
|
295
|
+
return zonosStripeLoadScript(null);
|
|
296
|
+
});
|
|
284
297
|
let loadCalled = false;
|
|
285
298
|
stripePromise.catch((err) => {
|
|
286
299
|
if (!loadCalled) {
|
|
@@ -289,9 +302,14 @@ stripePromise.catch((err) => {
|
|
|
289
302
|
}
|
|
290
303
|
});
|
|
291
304
|
const zonosLoadStripe = async (...args) => {
|
|
305
|
+
var _a;
|
|
292
306
|
loadCalled = true;
|
|
293
307
|
const startTime = Date.now();
|
|
294
|
-
|
|
308
|
+
// Fall back to loading Stripe on demand if the eager preload was skipped
|
|
309
|
+
// (callbacks set after the microtask, or Collect/Invoice flows that don't
|
|
310
|
+
// use cart callbacks). `zonosStripeLoadScript` is idempotent.
|
|
311
|
+
const maybeStripe = (_a = (await stripePromise)) !== null && _a !== void 0 ? _a : (await zonosStripeLoadScript(null));
|
|
312
|
+
return initStripe(maybeStripe, args, startTime);
|
|
295
313
|
};
|
|
296
314
|
|
|
297
315
|
const TEMP_CART_ID_QUERY_PARAM = 'tempCartUUID';
|
|
@@ -381,10 +399,10 @@ const zonosLoadUrl = (() => {
|
|
|
381
399
|
return null;
|
|
382
400
|
})();
|
|
383
401
|
const startLoadTime = Date.now();
|
|
384
|
-
const ZONOS_URL = "https://v1.3.
|
|
385
|
-
const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.
|
|
386
|
-
const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.
|
|
387
|
-
const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.
|
|
402
|
+
const ZONOS_URL = "https://v1.3.277.js.zonos.com";
|
|
403
|
+
const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.277";
|
|
404
|
+
const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.277";
|
|
405
|
+
const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.277";
|
|
388
406
|
const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
|
|
389
407
|
const GOOGLE_FONT_REGEX = /^https:\/\/fonts\.googleapis\.com/;
|
|
390
408
|
class Zonos {
|
|
@@ -402,7 +420,7 @@ Zonos.iframeLogType = typeof window !== 'undefined'
|
|
|
402
420
|
? new URLSearchParams(window.location.search).get('iframeLogType')
|
|
403
421
|
: null;
|
|
404
422
|
Zonos.isBigCommerce = false;
|
|
405
|
-
Zonos.releaseDate = "
|
|
423
|
+
Zonos.releaseDate = "1782835765706";
|
|
406
424
|
Zonos.isLegacyCheckout = false;
|
|
407
425
|
Zonos.googleAnalyticId = null;
|
|
408
426
|
Zonos.googleAnalyticReady = false;
|
|
@@ -427,7 +445,7 @@ Zonos.isNpm = true;
|
|
|
427
445
|
Zonos.zonosQaUrl = null;
|
|
428
446
|
Zonos.zonosQaUrlApi = null;
|
|
429
447
|
Zonos.trackEventLogs = [];
|
|
430
|
-
Zonos.version = `v${"1.3.
|
|
448
|
+
Zonos.version = `v${"1.3.277"}`;
|
|
431
449
|
Zonos.modeAlerted = false;
|
|
432
450
|
Zonos.cartData = null;
|
|
433
451
|
Zonos.paypal = null;
|
|
@@ -440,6 +458,11 @@ Zonos.logIntervalId = null;
|
|
|
440
458
|
Zonos.init = async (params) => {
|
|
441
459
|
const { appearance, checkoutSettings, currencyConverter, helloSettings, onCountryChange, overrideCurrencyFormat, storeId, zonosApiKey, } = params;
|
|
442
460
|
_a.cartId = getCartIdFromQueryParam();
|
|
461
|
+
// Expose the checkout cart callbacks on the global so Stripe loading can be
|
|
462
|
+
// gated on whether at least one of them is configured.
|
|
463
|
+
_a.createCartId = checkoutSettings === null || checkoutSettings === void 0 ? void 0 : checkoutSettings.createCartId;
|
|
464
|
+
// eslint-disable-next-line deprecation/deprecation -- intentionally mirror the (deprecated) callback so Stripe loading can be gated on it
|
|
465
|
+
_a.buildCartDetail = checkoutSettings === null || checkoutSettings === void 0 ? void 0 : checkoutSettings.buildCartDetail;
|
|
443
466
|
if (_a.doneInit) {
|
|
444
467
|
// do nothing if zonos is already initialized
|
|
445
468
|
return;
|
|
@@ -722,7 +722,7 @@ const ZonosController = class {
|
|
|
722
722
|
zonosStore.zonosStore.zonosApiKey = this.zonosApiKey;
|
|
723
723
|
// running with scope async function to avoid blocking the main thread
|
|
724
724
|
(async () => {
|
|
725
|
-
var _a, _b, _c, _d;
|
|
725
|
+
var _a, _b, _c, _d, _e, _f;
|
|
726
726
|
const { errors, json, zonosMode } = await getZonosSettings();
|
|
727
727
|
if (((_b = (_a = errors[0]) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.toString()) === '403') {
|
|
728
728
|
VarianceTest.log('Failed to load zonos settings. This domain may not have access', 'warn');
|
|
@@ -791,6 +791,19 @@ const ZonosController = class {
|
|
|
791
791
|
VarianceTest.log('zonos controller loaded');
|
|
792
792
|
return;
|
|
793
793
|
}
|
|
794
|
+
const hasCartCallback =
|
|
795
|
+
// eslint-disable-next-line deprecation/deprecation -- gating Stripe load also honors the legacy callback
|
|
796
|
+
typeof ((_e = zonosStore.zonosStore.checkoutSettings) === null || _e === void 0 ? void 0 : _e.buildCartDetail) === 'function' ||
|
|
797
|
+
typeof ((_f = zonosStore.zonosStore.checkoutSettings) === null || _f === void 0 ? void 0 : _f.createCartId) === 'function';
|
|
798
|
+
// Checkout also runs without merchant cart callbacks when a cart is
|
|
799
|
+
// prefetched (e.g. `tempCartUUID` -> `cartData`) or when resuming a
|
|
800
|
+
// payment via the Stripe client secret. Stripe must still load for those.
|
|
801
|
+
const clientSecret = new URL(window.location.href).searchParams.get('payment_intent_client_secret') || sessionStorage.getItem('zonos--client-secret');
|
|
802
|
+
const hasPrefetchedCheckoutContext = !!(window.Zonos.cartId && window.Zonos.cartData) || !!clientSecret;
|
|
803
|
+
if (!hasCartCallback && !hasPrefetchedCheckoutContext) {
|
|
804
|
+
VarianceTest.log(`Skip loading Stripe because no cart callback (buildCartDetail/createCartId), prefetched cart, or payment client secret is present`, 'warn');
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
794
807
|
// send publishable key out to load stripe
|
|
795
808
|
this.stripeInitEvent.emit({
|
|
796
809
|
publishableKey: publishableKey.token,
|
|
@@ -850,7 +863,7 @@ const ZonosController = class {
|
|
|
850
863
|
zonosStore.zonosStore.organizationName = organizationName;
|
|
851
864
|
}
|
|
852
865
|
render() {
|
|
853
|
-
return index.h(index.Host, { key: '
|
|
866
|
+
return index.h(index.Host, { key: '925af89a63419b44e6372de48c66e0898d039ae0', class: "zonos--elements" });
|
|
854
867
|
}
|
|
855
868
|
};
|
|
856
869
|
ZonosController.style = ZonosControllerStyle0;
|
|
@@ -207,7 +207,7 @@ export class ZonosController {
|
|
|
207
207
|
zonosStore.zonosApiKey = this.zonosApiKey;
|
|
208
208
|
// running with scope async function to avoid blocking the main thread
|
|
209
209
|
(async () => {
|
|
210
|
-
var _a, _b, _c, _d;
|
|
210
|
+
var _a, _b, _c, _d, _e, _f;
|
|
211
211
|
const { errors, json, zonosMode } = await getZonosSettings();
|
|
212
212
|
if (((_b = (_a = errors[0]) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.toString()) === '403') {
|
|
213
213
|
log('Failed to load zonos settings. This domain may not have access', 'warn');
|
|
@@ -276,6 +276,19 @@ export class ZonosController {
|
|
|
276
276
|
log('zonos controller loaded');
|
|
277
277
|
return;
|
|
278
278
|
}
|
|
279
|
+
const hasCartCallback =
|
|
280
|
+
// eslint-disable-next-line deprecation/deprecation -- gating Stripe load also honors the legacy callback
|
|
281
|
+
typeof ((_e = zonosStore.checkoutSettings) === null || _e === void 0 ? void 0 : _e.buildCartDetail) === 'function' ||
|
|
282
|
+
typeof ((_f = zonosStore.checkoutSettings) === null || _f === void 0 ? void 0 : _f.createCartId) === 'function';
|
|
283
|
+
// Checkout also runs without merchant cart callbacks when a cart is
|
|
284
|
+
// prefetched (e.g. `tempCartUUID` -> `cartData`) or when resuming a
|
|
285
|
+
// payment via the Stripe client secret. Stripe must still load for those.
|
|
286
|
+
const clientSecret = new URL(window.location.href).searchParams.get('payment_intent_client_secret') || sessionStorage.getItem('zonos--client-secret');
|
|
287
|
+
const hasPrefetchedCheckoutContext = !!(window.Zonos.cartId && window.Zonos.cartData) || !!clientSecret;
|
|
288
|
+
if (!hasCartCallback && !hasPrefetchedCheckoutContext) {
|
|
289
|
+
log(`Skip loading Stripe because no cart callback (buildCartDetail/createCartId), prefetched cart, or payment client secret is present`, 'warn');
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
279
292
|
// send publishable key out to load stripe
|
|
280
293
|
this.stripeInitEvent.emit({
|
|
281
294
|
publishableKey: publishableKey.token,
|
|
@@ -335,7 +348,7 @@ export class ZonosController {
|
|
|
335
348
|
zonosStore.organizationName = organizationName;
|
|
336
349
|
}
|
|
337
350
|
render() {
|
|
338
|
-
return h(Host, { key: '
|
|
351
|
+
return h(Host, { key: '925af89a63419b44e6372de48c66e0898d039ae0', class: "zonos--elements" });
|
|
339
352
|
}
|
|
340
353
|
static get is() { return "zonos-controller"; }
|
|
341
354
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
// Execute our own script injection after a tick to give users time to do their
|
|
2
2
|
import { initStripe, zonosStripeLoadScript, } from "./_stripe";
|
|
3
3
|
// own script injection.
|
|
4
|
-
const
|
|
4
|
+
const hasCheckoutCartCallback = () => {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
return typeof window !== 'undefined' &&
|
|
7
|
+
(typeof ((_a = window.Zonos) === null || _a === void 0 ? void 0 : _a.createCartId) === 'function' ||
|
|
8
|
+
typeof ((_b = window.Zonos) === null || _b === void 0 ? void 0 : _b.buildCartDetail) === 'function');
|
|
9
|
+
};
|
|
10
|
+
const stripePromise = Promise.resolve().then(() => {
|
|
11
|
+
// Skip eagerly loading Stripe when no checkout cart callback is configured
|
|
12
|
+
// (e.g. a Hello-only integration). Stripe is loaded on demand instead.
|
|
13
|
+
if (!hasCheckoutCartCallback()) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return zonosStripeLoadScript(null);
|
|
17
|
+
});
|
|
5
18
|
let loadCalled = false;
|
|
6
19
|
stripePromise.catch((err) => {
|
|
7
20
|
if (!loadCalled) {
|
|
@@ -10,7 +23,12 @@ stripePromise.catch((err) => {
|
|
|
10
23
|
}
|
|
11
24
|
});
|
|
12
25
|
export const zonosLoadStripe = async (...args) => {
|
|
26
|
+
var _a;
|
|
13
27
|
loadCalled = true;
|
|
14
28
|
const startTime = Date.now();
|
|
15
|
-
|
|
29
|
+
// Fall back to loading Stripe on demand if the eager preload was skipped
|
|
30
|
+
// (callbacks set after the microtask, or Collect/Invoice flows that don't
|
|
31
|
+
// use cart callbacks). `zonosStripeLoadScript` is idempotent.
|
|
32
|
+
const maybeStripe = (_a = (await stripePromise)) !== null && _a !== void 0 ? _a : (await zonosStripeLoadScript(null));
|
|
33
|
+
return initStripe(maybeStripe, args, startTime);
|
|
16
34
|
};
|
|
@@ -87,6 +87,11 @@ Zonos.logIntervalId = null;
|
|
|
87
87
|
Zonos.init = async (params) => {
|
|
88
88
|
const { appearance, checkoutSettings, currencyConverter, helloSettings, onCountryChange, overrideCurrencyFormat, storeId, zonosApiKey, } = params;
|
|
89
89
|
_a.cartId = getCartIdFromQueryParam();
|
|
90
|
+
// Expose the checkout cart callbacks on the global so Stripe loading can be
|
|
91
|
+
// gated on whether at least one of them is configured.
|
|
92
|
+
_a.createCartId = checkoutSettings === null || checkoutSettings === void 0 ? void 0 : checkoutSettings.createCartId;
|
|
93
|
+
// eslint-disable-next-line deprecation/deprecation -- intentionally mirror the (deprecated) callback so Stripe loading can be gated on it
|
|
94
|
+
_a.buildCartDetail = checkoutSettings === null || checkoutSettings === void 0 ? void 0 : checkoutSettings.buildCartDetail;
|
|
90
95
|
if (_a.doneInit) {
|
|
91
96
|
// do nothing if zonos is already initialized
|
|
92
97
|
return;
|
package/dist/esm/index.js
CHANGED
|
@@ -131,7 +131,7 @@ const getZonosQaUrl = () => {
|
|
|
131
131
|
return null;
|
|
132
132
|
}
|
|
133
133
|
const qaUrl = extractZonosQaUrl(window.location.href);
|
|
134
|
-
const cdnUrl = "https://v1.3.
|
|
134
|
+
const cdnUrl = "https://v1.3.277.js.zonos.com";
|
|
135
135
|
// when the qaUrl is not set and the built URL is from the test domain, use the test domain for testing
|
|
136
136
|
if (!qaUrl &&
|
|
137
137
|
(cdnUrl.includes('test.') ||
|
|
@@ -278,7 +278,20 @@ const initStripe = (maybeStripe, args, startTime) => {
|
|
|
278
278
|
|
|
279
279
|
// Execute our own script injection after a tick to give users time to do their
|
|
280
280
|
// own script injection.
|
|
281
|
-
const
|
|
281
|
+
const hasCheckoutCartCallback = () => {
|
|
282
|
+
var _a, _b;
|
|
283
|
+
return typeof window !== 'undefined' &&
|
|
284
|
+
(typeof ((_a = window.Zonos) === null || _a === void 0 ? void 0 : _a.createCartId) === 'function' ||
|
|
285
|
+
typeof ((_b = window.Zonos) === null || _b === void 0 ? void 0 : _b.buildCartDetail) === 'function');
|
|
286
|
+
};
|
|
287
|
+
const stripePromise = Promise.resolve().then(() => {
|
|
288
|
+
// Skip eagerly loading Stripe when no checkout cart callback is configured
|
|
289
|
+
// (e.g. a Hello-only integration). Stripe is loaded on demand instead.
|
|
290
|
+
if (!hasCheckoutCartCallback()) {
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
return zonosStripeLoadScript(null);
|
|
294
|
+
});
|
|
282
295
|
let loadCalled = false;
|
|
283
296
|
stripePromise.catch((err) => {
|
|
284
297
|
if (!loadCalled) {
|
|
@@ -287,9 +300,14 @@ stripePromise.catch((err) => {
|
|
|
287
300
|
}
|
|
288
301
|
});
|
|
289
302
|
const zonosLoadStripe = async (...args) => {
|
|
303
|
+
var _a;
|
|
290
304
|
loadCalled = true;
|
|
291
305
|
const startTime = Date.now();
|
|
292
|
-
|
|
306
|
+
// Fall back to loading Stripe on demand if the eager preload was skipped
|
|
307
|
+
// (callbacks set after the microtask, or Collect/Invoice flows that don't
|
|
308
|
+
// use cart callbacks). `zonosStripeLoadScript` is idempotent.
|
|
309
|
+
const maybeStripe = (_a = (await stripePromise)) !== null && _a !== void 0 ? _a : (await zonosStripeLoadScript(null));
|
|
310
|
+
return initStripe(maybeStripe, args, startTime);
|
|
293
311
|
};
|
|
294
312
|
|
|
295
313
|
const TEMP_CART_ID_QUERY_PARAM = 'tempCartUUID';
|
|
@@ -379,10 +397,10 @@ const zonosLoadUrl = (() => {
|
|
|
379
397
|
return null;
|
|
380
398
|
})();
|
|
381
399
|
const startLoadTime = Date.now();
|
|
382
|
-
const ZONOS_URL = "https://v1.3.
|
|
383
|
-
const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.
|
|
384
|
-
const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.
|
|
385
|
-
const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.
|
|
400
|
+
const ZONOS_URL = "https://v1.3.277.js.zonos.com";
|
|
401
|
+
const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.277";
|
|
402
|
+
const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.277";
|
|
403
|
+
const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.277";
|
|
386
404
|
const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
|
|
387
405
|
const GOOGLE_FONT_REGEX = /^https:\/\/fonts\.googleapis\.com/;
|
|
388
406
|
class Zonos {
|
|
@@ -400,7 +418,7 @@ Zonos.iframeLogType = typeof window !== 'undefined'
|
|
|
400
418
|
? new URLSearchParams(window.location.search).get('iframeLogType')
|
|
401
419
|
: null;
|
|
402
420
|
Zonos.isBigCommerce = false;
|
|
403
|
-
Zonos.releaseDate = "
|
|
421
|
+
Zonos.releaseDate = "1782835765706";
|
|
404
422
|
Zonos.isLegacyCheckout = false;
|
|
405
423
|
Zonos.googleAnalyticId = null;
|
|
406
424
|
Zonos.googleAnalyticReady = false;
|
|
@@ -425,7 +443,7 @@ Zonos.isNpm = true;
|
|
|
425
443
|
Zonos.zonosQaUrl = null;
|
|
426
444
|
Zonos.zonosQaUrlApi = null;
|
|
427
445
|
Zonos.trackEventLogs = [];
|
|
428
|
-
Zonos.version = `v${"1.3.
|
|
446
|
+
Zonos.version = `v${"1.3.277"}`;
|
|
429
447
|
Zonos.modeAlerted = false;
|
|
430
448
|
Zonos.cartData = null;
|
|
431
449
|
Zonos.paypal = null;
|
|
@@ -438,6 +456,11 @@ Zonos.logIntervalId = null;
|
|
|
438
456
|
Zonos.init = async (params) => {
|
|
439
457
|
const { appearance, checkoutSettings, currencyConverter, helloSettings, onCountryChange, overrideCurrencyFormat, storeId, zonosApiKey, } = params;
|
|
440
458
|
_a.cartId = getCartIdFromQueryParam();
|
|
459
|
+
// Expose the checkout cart callbacks on the global so Stripe loading can be
|
|
460
|
+
// gated on whether at least one of them is configured.
|
|
461
|
+
_a.createCartId = checkoutSettings === null || checkoutSettings === void 0 ? void 0 : checkoutSettings.createCartId;
|
|
462
|
+
// eslint-disable-next-line deprecation/deprecation -- intentionally mirror the (deprecated) callback so Stripe loading can be gated on it
|
|
463
|
+
_a.buildCartDetail = checkoutSettings === null || checkoutSettings === void 0 ? void 0 : checkoutSettings.buildCartDetail;
|
|
441
464
|
if (_a.doneInit) {
|
|
442
465
|
// do nothing if zonos is already initialized
|
|
443
466
|
return;
|
|
@@ -718,7 +718,7 @@ const ZonosController = class {
|
|
|
718
718
|
zonosStore.zonosApiKey = this.zonosApiKey;
|
|
719
719
|
// running with scope async function to avoid blocking the main thread
|
|
720
720
|
(async () => {
|
|
721
|
-
var _a, _b, _c, _d;
|
|
721
|
+
var _a, _b, _c, _d, _e, _f;
|
|
722
722
|
const { errors, json, zonosMode } = await getZonosSettings();
|
|
723
723
|
if (((_b = (_a = errors[0]) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.toString()) === '403') {
|
|
724
724
|
log('Failed to load zonos settings. This domain may not have access', 'warn');
|
|
@@ -787,6 +787,19 @@ const ZonosController = class {
|
|
|
787
787
|
log('zonos controller loaded');
|
|
788
788
|
return;
|
|
789
789
|
}
|
|
790
|
+
const hasCartCallback =
|
|
791
|
+
// eslint-disable-next-line deprecation/deprecation -- gating Stripe load also honors the legacy callback
|
|
792
|
+
typeof ((_e = zonosStore.checkoutSettings) === null || _e === void 0 ? void 0 : _e.buildCartDetail) === 'function' ||
|
|
793
|
+
typeof ((_f = zonosStore.checkoutSettings) === null || _f === void 0 ? void 0 : _f.createCartId) === 'function';
|
|
794
|
+
// Checkout also runs without merchant cart callbacks when a cart is
|
|
795
|
+
// prefetched (e.g. `tempCartUUID` -> `cartData`) or when resuming a
|
|
796
|
+
// payment via the Stripe client secret. Stripe must still load for those.
|
|
797
|
+
const clientSecret = new URL(window.location.href).searchParams.get('payment_intent_client_secret') || sessionStorage.getItem('zonos--client-secret');
|
|
798
|
+
const hasPrefetchedCheckoutContext = !!(window.Zonos.cartId && window.Zonos.cartData) || !!clientSecret;
|
|
799
|
+
if (!hasCartCallback && !hasPrefetchedCheckoutContext) {
|
|
800
|
+
log(`Skip loading Stripe because no cart callback (buildCartDetail/createCartId), prefetched cart, or payment client secret is present`, 'warn');
|
|
801
|
+
return;
|
|
802
|
+
}
|
|
790
803
|
// send publishable key out to load stripe
|
|
791
804
|
this.stripeInitEvent.emit({
|
|
792
805
|
publishableKey: publishableKey.token,
|
|
@@ -846,7 +859,7 @@ const ZonosController = class {
|
|
|
846
859
|
zonosStore.organizationName = organizationName;
|
|
847
860
|
}
|
|
848
861
|
render() {
|
|
849
|
-
return h(Host, { key: '
|
|
862
|
+
return h(Host, { key: '925af89a63419b44e6372de48c66e0898d039ae0', class: "zonos--elements" });
|
|
850
863
|
}
|
|
851
864
|
};
|
|
852
865
|
ZonosController.style = ZonosControllerStyle0;
|
package/dist/esm-es5/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,n,o,t){function r(e){return e instanceof o?e:new o((function(n){n(e)}))}return new(o||(o=Promise))((function(o,i){function a(e){try{c(t.next(e))}catch(e){i(e)}}function s(e){try{c(t["throw"](e))}catch(e){i(e)}}function c(e){e.done?o(e.value):r(e.value).then(a,s)}c((t=t.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var o={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},t,r,i,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(n){return c([e,n])}}function c(s){if(t)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(o=0)),o)try{if(t=1,r&&(i=s[0]&2?r["return"]:s[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;if(r=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:o.label++;return{value:s[1],done:false};case 5:o.label++;r=s[1];s=[0];continue;case 7:s=o.ops.pop();o.trys.pop();continue;default:if(!(i=o.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){o=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(s[0]===6&&o.label<i[1]){o.label=i[1];i=s;break}if(i&&o.label<i[2]){o.label=i[2];o.ops.push(s);break}if(i[2])o.ops.pop();o.trys.pop();continue}s=n.call(e,o)}catch(e){s=[6,e];r=0}finally{t=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,n,o){if(o||arguments.length===2)for(var t=0,r=n.length,i;t<r;t++){if(i||!(t in n)){if(!i)i=Array.prototype.slice.call(n,0,t);i[t]=n[t]}}return e.concat(i||Array.prototype.slice.call(n))};import{c as createCustomEvent}from"./createCustomEvent-58159025.js";import{g as getGenericSettingsOverride,I as IframeService}from"./getGenericSettingsOverride-0bc3e118.js";import{l as log}from"./VarianceTest-572cecf5.js";export{a as availableTestKeys}from"./VarianceTest-572cecf5.js";import{g as getIsTestMode,a as getIsStagingMode,h as handleFetch,l as logError}from"./handleFetch-a844cac1.js";import{g as getAbandonedCartRenewTokenValue,_ as _getIsValidCartId,c as checkoutHiddenBtnSelector,a as checkoutHiddenInternationalBtnSelector}from"./CheckoutConfig-724d7bae.js";export{c as checkoutHiddenBtnSelector,a as checkoutHiddenInternationalBtnSelector,d as domesticRedirectedBtnSelector}from"./CheckoutConfig-724d7bae.js";export{c as countryRequireShortAddressCode}from"./ShortAddressCode-7620e622.js";export{c as countryRequireTaxId,e as euCountryCodes,s as shipToTaxIdLabels}from"./TaxId-50d72254.js";var checkIfLoadVersionDomain=function(e){var n=e.loadScriptSrc;if(!n){return{currentLoadScriptUrl:"",isForceLoadVersionDomain:false,isWhiteListed:false}}var o=["dev.elements.zonos.com","dev.assets-checkout.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"];var t=["qa.js.zonos.com"];var r=new URL(n).origin;var i=o.some((function(e){return r.includes(e)}));var a=t.some((function(e){return r.includes(e)}));return{currentLoadScriptUrl:r,isForceLoadVersionDomain:a,isWhiteListed:i}};var fallbackList=["jsdelivr","cdnjs","unpkg","vercel"];var MAIN_LOAD_CDN_TYPE="jsdelivr";var getNextFallbackUrl=function(e){var n=fallbackList.indexOf(e);var o=fallbackList[n+1];return o||null};var getWithTestPublicCredential=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,n,o,t,r,i;return __generator(this,(function(a){switch(a.label){case 0:e=getIsTestMode();n=getIsStagingMode();if(!e&&!n||!window.Zonos.zonosApiKey){return[2,null]}log("[ZONOS - loadZonos] Attempt test public credential","info");if(!!window.Zonos.zonosApiKey.includes("credential_test")){log("[ZONOS - loadZonos] Test mode is enabled but the API key is already a test key","info");return[2,null]}return[4,handleFetch("/api/get-test-public-credential")];case 1:o=a.sent(),t=o.errors,r=o.json;if(t.length||!r){logError("[ZONOS - loadZonos] Failed to get test public credential. Keep using production key",t);return[2,null]}i=r.publicCredential;if(!i){logError("[ZONOS - loadZonos] No test public key credential. Keep using production key");return[2,null]}log("[ZONOS - loadZonos] Retrieve new test public token ".concat(i),"info");return[2,i]}}))}))};var extractZonosQaUrl=function(e){if(!e){return null}var n=new URL(e).searchParams;var o=n.get("zonosQaUrl");if(!o){return null}var t=/[^a-zA-Z0-9-_]+/.test(o);if(!!t){return null}return o};var getZonosQaUrl=function(){var e=window&&window.location.href.includes("forceLoadCdn");if(typeof window==="undefined"||e){return null}var n=extractZonosQaUrl(window.location.href);var o="https://v1.3.276.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","dev.storybook.elements.zonos.com"].includes(window.location.hostname)){return"https://dev.elements.zonos.com"}if(!n){return null}if(n==="dev-elements"){return"https://dev.elements.zonos.com"}var t="preview.js.zonos.com";var r="https://".concat(n,".").concat(t);log("[ZONOS-WARNING] using '".concat(r,"' for loading elements script"),"warn");void fetch(r).then((function(){window.sessionStorage.removeItem("zonos--checkout-session-id");window.sessionStorage.removeItem("zonos--client-secret")})).catch((function(){alert("[ZONOS-WARNING] '".concat(r,"' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE"));var e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");var n=window.location.pathname;var o="".concat(n,"?").concat(e.toString());window.history.replaceState(window.history.state,"",o);window.location.reload();return null}));return r};var V3_URL="https://js.stripe.com/v3";var V3_URL_REGEX=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;var EXISTING_SCRIPT_MESSAGE="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used";var zonosStripeFindScript=function(){var e=document.querySelectorAll('script[src^="'.concat(V3_URL,'"]'));for(var n=0;n<e.length;n++){var o=e[n];if(!o){continue}if(!V3_URL_REGEX.test(o.src)){continue}return o}return null};var stripePromise$1=null;var injectScript=function(e){var n=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"";var o=document.createElement("script");o.src="".concat(V3_URL).concat(n);var t=document.head||document.body;if(!t){logError("Expected document.body not to be null. Stripe.js requires a <body> element.");return null}t.appendChild(o);return o};var zonosStripeLoadScript=function(e){if(stripePromise$1!==null){return stripePromise$1}stripePromise$1=new Promise((function(n,o){if(typeof window==="undefined"||typeof document==="undefined"){n(null);return}if(window.Stripe&&e){console.warn(EXISTING_SCRIPT_MESSAGE)}if(window.Stripe){n(window.Stripe);return}try{var t=zonosStripeFindScript();if(t&&e){console.warn(EXISTING_SCRIPT_MESSAGE)}else if(!t){t=injectScript(e)}t===null||t===void 0?void 0:t.addEventListener("load",(function(){if(window.Stripe){n(window.Stripe)}else{o(new Error("Stripe.js not available"))}}));t===null||t===void 0?void 0:t.addEventListener("error",(function(){o(new Error("Failed to load Stripe.js"))}))}catch(e){o(e);return}}));return stripePromise$1};var registerWrapper=function(e,n){if(!e||!e._registerWrapper){return}e._registerWrapper({name:"stripe-js",startTime:n})};var initStripe=function(e,n,o){if(e===null){return null}var t=e.apply(undefined,n);registerWrapper(t,o);return t};var stripePromise=Promise.resolve().then((function(){return zonosStripeLoadScript(null)}));var loadCalled=false;stripePromise.catch((function(e){if(!loadCalled){console.warn(e)}}));var zonosLoadStripe=function(){var e=[];for(var n=0;n<arguments.length;n++){e[n]=arguments[n]}return __awaiter(void 0,void 0,void 0,(function(){var n;return __generator(this,(function(o){loadCalled=true;n=Date.now();return[2,stripePromise.then((function(o){return initStripe(o,e,n)}))]}))}))};var TEMP_CART_ID_QUERY_PARAM="tempCartUUID";var getCartIdFromQueryParam=function(){var e=new URLSearchParams(window.location.search);var n=e.get(TEMP_CART_ID_QUERY_PARAM);return n};var getCartInfoById=function(e){return __awaiter(void 0,[e],void 0,(function(e){var n,o,t,r,i,a,s,c,u;var d=e.cartId,l=e.retries;return __generator(this,(function(e){switch(e.label){case 0:n=getIsTestMode();o=getGenericSettingsOverride();t=getAbandonedCartRenewTokenValue()||undefined;r=new URLSearchParams;if(o.overrideShouldEnabledCustomAddress){r.set("overrideShouldEnabledCustomAddress",o.overrideShouldEnabledCustomAddress)}return[4,handleFetch("/api/zonos-elements/get-cart?".concat(r.toString()),{body:{isTestMode:n,renewCartExpirationToken:t,tempCartUUID:d},headers:{"Content-Type":"application/json"},method:"POST"})];case 1:i=e.sent(),a=i.errors,s=i.json,c=i.zonosMode;u=!s||a.length;if(!(u&&l))return[3,3];log("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:l});return[4,new Promise((function(e){return setTimeout(e,500)}))];case 2:e.sent();return[2,getCartInfoById({cartId:d,retries:l-1})];case 3:if(u){return[2,null]}return[2,Object.assign(Object.assign({},s),{zonosMode:c})]}}))}))};var setupCartDataWithSettings=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,o,t,r;return __generator(this,(function(i){switch(i.label){case 0:n=_getIsValidCartId(e),o=n.isDgsCartId,t=n.isLegacyCartId;if(!t&&!o){logError("[ZONOS - loadZonos] invalid cart id");return[2,null]}return[4,getCartInfoById({cartId:e,retries:5})];case 1:r=i.sent();log("[ZONOS - loadZonos] getting temp cart data","info",r);if(!r){logError("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process.");return[2,null]}window.Zonos.storeId=r.cartData.storeId;window.Zonos.zonosApiKey=r.cartData.credentialToken;window.Zonos.zonosMode=r.zonosMode;return[2,{cartData:r.cartData,settings:r.settings,storeFavicon:r.storeFaviconUrl,storeId:r.cartData.storeId,storeLogo:r.storeLogoUrl,zonosApiKey:r.cartData.credentialToken}]}}))}))};var _a;var zonosLoadUrl=function(){if(typeof document==="undefined"){return null}var e=document.querySelector('script[src*="/zonos.js"]');var n=checkIfLoadVersionDomain({loadScriptSrc:e===null||e===void 0?void 0:e.src}),o=n.currentLoadScriptUrl,t=n.isWhiteListed;if(t){return o}return null}();var startLoadTime=Date.now();var ZONOS_URL="https://v1.3.276.js.zonos.com";var JS_DELIVR_ZONOS_URL=zonosLoadUrl||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.276";var UNPKG_ZONOS_URL="https://unpkg.com/@zonos/elements@1.3.276";var CDNJS_ZONOS_URL="https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.276";var GOOGLE_FONT_URL="https://fonts.googleapis.com";var GOOGLE_FONT_REGEX=/^https:\/\/fonts\.googleapis\.com/;var Zonos=function(){function e(){}return e}();_a=Zonos;Zonos.doneInit=false;Zonos.cartSettings=null;Zonos.debug=typeof window!=="undefined"&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/);Zonos.zonosConversionTest=typeof window!=="undefined"&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/);Zonos._paypalMockResponse=null;Zonos.iframeLogType=typeof window!=="undefined"?new URLSearchParams(window.location.search).get("iframeLogType"):null;Zonos.isBigCommerce=false;Zonos.releaseDate="1782615830331";Zonos.isLegacyCheckout=false;Zonos.googleAnalyticId=null;Zonos.googleAnalyticReady=false;Zonos.facebookPixelId=null;Zonos.facebookPixelReady=false;Zonos.startLoadTime=startLoadTime;Zonos.domain=typeof window!=="undefined"?window.location!=window.parent.location&&document.referrer||document.location.hostname:"";Zonos.showBaseForeign=typeof window!=="undefined"&&window.location.search.includes("zonosShowBaseForeign");Zonos.overrideUseCustomAddressForm=false;Zonos.isCollect=false;Zonos.isInvoice=false;Zonos.isNpm=true;Zonos.zonosQaUrl=null;Zonos.zonosQaUrlApi=null;Zonos.trackEventLogs=[];Zonos.version="v".concat("1.3.276");Zonos.modeAlerted=false;Zonos.cartData=null;Zonos.paypal=null;Zonos.zonosMode=null;Zonos.IframeService=IframeService;Zonos.getCurrentTimestamp=function(){return(new Date).getTime()};Zonos.zonosController=null;Zonos.loadTimeApiInfoList=[];Zonos.logIntervalId=null;Zonos.init=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,o,t,r,i,a,s,c,u,d,l,f,v,m,_;return __generator(this,(function(p){switch(p.label){case 0:n=e.appearance,o=e.checkoutSettings,t=e.currencyConverter,r=e.helloSettings,i=e.onCountryChange,a=e.overrideCurrencyFormat,s=e.storeId,c=e.zonosApiKey;_a.cartId=getCartIdFromQueryParam();if(_a.doneInit){return[2]}log("====== ZONOS DEBUG MODE: on (".concat(_a.version,") ======"));_a.zonosApiKey=c;_a.storeId=s;if(typeof window!=="undefined"&&window.parent===window){_a.googleAnalyticReady=true;_a.facebookPixelReady=true}if(!_a.isNpm)return[3,4];log("====== ZONOS LOADING FROM NPM ======");u=getZonosQaUrl();if(u&&!window.isZonosPreview){log('====== RE-INJECT "zonos.js" FROM PRVIEW: '.concat(u," ======"),"info");d=document.createElement("script");d.src="".concat(u,"/dist/scripts/zonos.js");document.head.appendChild(d);d.addEventListener("load",(function(){window.Zonos.isNpm=_a.isNpm;window.Zonos.isBigCommerce=_a.isBigCommerce;window.Zonos.isLegacyCheckout=_a.isLegacyCheckout;window.Zonos.zonosMode=_a.zonosMode;void window.Zonos.init(e)}));d.addEventListener("error",(function(){alert('[ZONOS - loadZonos] Failed to load "loadZonos.js" from zonosQaUrl: '.concat(u))}));window.isZonosPreview=true;return[2]}if(!c&&!_a.cartId){logError("Zonos API key is required unless `tempCartUUID` is provided in url query params.");return[2]}if(!(!_a.cartData&&_a.cartId))return[3,2];log("Initialize cart data");return[4,setupCartDataWithSettings(_a.cartId)];case 1:l=p.sent();if(!l){logError("Failed to get cart data");return[2]}_a.cartData=l.cartData;_a.zonosApiKey=l.zonosApiKey;_a.cartSettings=l.settings;p.label=2;case 2:return[4,getWithTestPublicCredential()];case 3:f=p.sent();if(f){_a.zonosApiKey=f}p.label=4;case 4:v=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");m=_a.cartId&&_a.cartData||!!v;if(m){log("Cart data or stripe client secret is available, inject hidden button and trigger checkout");_=document.createElement("button");_.style.display="none";_.id="".concat(checkoutHiddenBtnSelector);document.body.appendChild(_)}log("init zonos");_a.restoreNativeBrowserFunctions();_a.injectCustomScriptForHostedCheckout();_a.injectZonosCdn();_a.injectZonosCss();_a.injectFonts();_a.injectCheckoutInternationalButton();_a.injectController({config:{appearance:n,checkoutSettings:o,currencyConverter:t,helloSettings:r,onCountryChange:i,overrideCurrencyFormat:a}});_a.doneInit=true;return[2]}}))}))};Zonos.injectCheckoutInternationalButton=function(){if(!document.querySelector("#".concat(checkoutHiddenInternationalBtnSelector))){var e=document.createElement("button");e.id=checkoutHiddenInternationalBtnSelector;e.style.display="none";document.body.appendChild(e)}};Zonos.injectCustomScriptForHostedCheckout=function(){var e=_a.cartData;var n=(e===null||e===void 0?void 0:e.metadata)||[];var o=n.find((function(e){return e.key==="customHeaderScript"}));var t=n.find((function(e){return e.key==="customFooterScript"}));if(!window.Zonos.isLegacyCheckout||!o&&!t){log("Skip injecting custom script for hosted checkout","info",{footerScript:t,headerScript:o,isLegacyCheckout:window.Zonos.isLegacyCheckout});return}if(o){log("Injecting custom header script");var r=document.createElement("script");r.textContent=o.value;document.head.appendChild(r)}if(t){log("Injecting custom footer script");var r=document.createElement("script");r.textContent=t.value;document.body.appendChild(r)}};Zonos.displayCurrency=function(){var e=document.querySelector("zonos-hello");if(e){void e.displayCurrency()}};Zonos.triggerCheckoutInternational=function(){return __awaiter(void 0,void 0,void 0,(function(){var e;return __generator(this,(function(n){e=document.querySelector("#".concat(checkoutHiddenInternationalBtnSelector));setTimeout((function(){if(e){e.dispatchEvent(createCustomEvent("click"))}}),10);return[2]}))}))};Zonos.openHelloDialog=function(e){var n=document.querySelector("zonos-hello");if(n){void n.openHelloDialog(e!==null&&e!==void 0?e:true)}};Zonos.showNotification=function(e){var n;void((n=_a.zonosController)===null||n===void 0?void 0:n.showNotification(e))};Zonos.updateOrganizationName=function(e){var n;void((n=_a.zonosController)===null||n===void 0?void 0:n.updateOrganizationName(e))};Zonos.disablePlaceOrderButtons=function(e){var n=e.autoEnable,o=n===void 0?true:n,t=e.config,r=e.disable,i=e.placeOrderButtonSelector;var a;if((a=t.checkoutSettings)===null||a===void 0?void 0:a.disablePlaceOrderButtonActivation){return}if(i){var s=document.querySelectorAll(i);var c=function(e){var n=e.target;if(n.getAttribute("disabled")){e.preventDefault();e.stopPropagation()}};s.forEach((function(e){var n=e.getAttribute("data-zonos-checkout-attached");if(n){return}if(r){e.setAttribute("disabled","true");e.addEventListener("click",c)}else{e.removeAttribute("disabled");e.removeEventListener("click",c)}}));if(o&&r){setTimeout((function(){s.forEach((function(e){e.removeAttribute("disabled");e.removeEventListener("click",c)}))}),5e3)}}};Zonos.restoreNativeBrowserFunctions=function(){var e;var n=new URL(window.location.href).searchParams.get("useMerchantPolyfill")==="1";if(n){return}var o="zonos---native-browser";var t=document.querySelector("iframe#".concat(o));if(!t){t=document.createElement("iframe");t.id=o;t.style.display="none";t.style.opacity="0";t.style.position="absolute";t.style.top="-9999px";t.style.left="-9999px";t.style.width="1px";t.style.height="1px";t.style.border="none";t.style.overflow="hidden";t.style.visibility="hidden";document.body.appendChild(t)}var r=((e=t.contentWindow)===null||e===void 0?void 0:e.window.Array.from)||Array.from;Array.from=r;document.body.removeChild(t)};Zonos.injectController=function(e){var n=e.config;var o,t;if(document.querySelector("zonos-controller")){return}if((o=n.checkoutSettings)===null||o===void 0?void 0:o.placeOrderButtonSelector){var r=n.checkoutSettings.placeOrderButtonSelector;_a.disablePlaceOrderButtons({config:n,disable:true,placeOrderButtonSelector:r});var i=new MutationObserver((function(){_a.disablePlaceOrderButtons({config:n,disable:true,placeOrderButtonSelector:r})}));i.observe(document.body,{childList:true,subtree:true})}if((t=n.checkoutSettings)===null||t===void 0?void 0:t.alwaysTriggerInternationalCheckoutSelector){var a=n.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;_a.disablePlaceOrderButtons({config:n,disable:true,placeOrderButtonSelector:a});var i=new MutationObserver((function(){_a.disablePlaceOrderButtons({config:n,disable:true,placeOrderButtonSelector:a})}));i.observe(document.body,{childList:true,subtree:true})}var s=document.createElement("zonos-controller");s.config=n;s.zonosApiKey=_a.zonosApiKey||"";s.addEventListener("stripeInitEvent",(function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,o;return __generator(this,(function(t){switch(t.label){case 0:n=e.detail;log("loading Stripe");return[4,zonosLoadStripe(n.publishableKey)];case 1:o=t.sent();if(!o){logError("API seems to be invalid or missing. Failed to load Stripe");return[2]}window.Zonos.stripe=o;if(window.Zonos.isCollect){void s.initCollectElement(o)}else if(window.Zonos.isInvoice){void s.initInvoiceElement(o)}else{void s.initCheckoutElement(o)}return[2]}}))}))}));document.body.appendChild(s);_a.zonosController=s;log("Zonos controller injected!")};Zonos.injectScript=function(e){var n=e.cdnType,o=e.isModule,t=e.theRestUrl;var r=_a.getZonosUrl(n);var i="".concat(r,"/").concat(t);var a=function(){var e=document.querySelector('script[src="'.concat(i,'"]'));return!!e};if(a()){log('Zonos script "'.concat(i,'" already exists in the document'),"warn");return}var s=document.head||document.body;var c=document.createElement("script");if(!!o){c.type="module"}else{c.noModule=true}c.src=i;c.crossOrigin="anonymous";c.onerror=function(){logError("Failed to load ".concat(c.src));var e=getNextFallbackUrl(n);if(!e){return}_a.injectScript({cdnType:e,isModule:o,theRestUrl:t})};s.appendChild(c)};Zonos.getZonosUrl=function(e){var n=function(){switch(e){case"jsdelivr":return JS_DELIVR_ZONOS_URL;case"unpkg":return UNPKG_ZONOS_URL;case"cdnjs":return CDNJS_ZONOS_URL;case"vercel":return ZONOS_URL}};if(_a.isNpm){var o=getZonosQaUrl();return o||n()}return n()};Zonos.injectZonosCdn=function(){_a.injectScript({cdnType:MAIN_LOAD_CDN_TYPE,isModule:true,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"});_a.injectScript({cdnType:MAIN_LOAD_CDN_TYPE,isModule:false,theRestUrl:"dist/zonos-elements/zonos-elements.js"});log("Zonos cdn script injected!")};Zonos.injectStylesheet=function(e){var n=e.cdnType,o=e.theRestUrl;var t=_a.getZonosUrl(n);var r=document.head||document.body;var i=document.createElement("link");i.rel="preconnect";i.href="".concat(ZONOS_URL,"/");r.appendChild(i);var a=document.createElement("link");a.rel="stylesheet";a.href="".concat(t,"/").concat(o);a.onerror=function(){logError("Failed to load ".concat(a.href));var e=getNextFallbackUrl(n);if(!e){return}_a.injectStylesheet({cdnType:e,theRestUrl:o})};r.appendChild(a)};Zonos.injectZonosCss=function(){var e=function(){return!!document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')};if(e()){log("Zonos style links already injected","warn");return}_a.injectStylesheet({cdnType:MAIN_LOAD_CDN_TYPE,theRestUrl:"dist/zonos-elements/zonos-elements.css"});log("Zonos style css injected!")};Zonos.injectFonts=function(){var e=function(){var e=document.fonts.check("1em Inter");if(e){log("Inter font already loaded","warn");return}var n=document.querySelectorAll('link[rel="stylesheet"][href^="'.concat(GOOGLE_FONT_URL,'"]'));for(var o=0;o<n.length;o++){var t=n[o];if(!t){continue}if(GOOGLE_FONT_REGEX.test(t.href)){continue}return t}return null};if(e()){log("Inter font already injected","warn");return}var n=document.head||document.body;var o=document.createElement("link");o.rel="preconnect";o.href=GOOGLE_FONT_URL;n.appendChild(o);var t=document.createElement("link");t.rel="stylesheet";t.href="".concat(GOOGLE_FONT_URL,"/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");n.appendChild(t);log("Zonos font injected!")};Zonos.setupGoogleFont=function(e){var n;void((n=_a.zonosController)===null||n===void 0?void 0:n.setupGoogleFont(e))};Zonos.injectSupportGoogleFont=function(e){var n;log("[FONT] injecting ".concat(e));var o=(n=e.match(/family=(.*?):/))===null||n===void 0?void 0:n[1];var t=document.head||document.body;if(!document.querySelector('link[rel="preconnect"][href^="'.concat(GOOGLE_FONT_URL,'"]'))){var r=document.createElement("link");r.rel="preconnect";r.href=GOOGLE_FONT_URL;t.appendChild(r)}if(document.querySelector('link[rel="stylesheet"][href="'.concat(e,'"]'))){log("[FONT] ".concat(o," font already injected"),"warn");return}var i=document.createElement("link");i.rel="stylesheet";i.href=e;t.appendChild(i);log("[FONT] ".concat(o," font injected!"))};var checkoutSessionMutableAttributeKeys=["ZONOS_FORM_TYPE_USING","APP_VERSION","APP_VERSION_NPM_INTEGRATION","LEGACY_CHECKOUT_FACADE"];var checkoutSessionImmutableAttributeKeys=["ORDER_DUPLICATION_CONSENT","WITH_ABANDONED_CART_TOKEN"];var checkoutSessionAttributeKeys=__spreadArray(__spreadArray([],checkoutSessionMutableAttributeKeys,true),checkoutSessionImmutableAttributeKeys,true);export{Zonos,checkoutSessionAttributeKeys,checkoutSessionImmutableAttributeKeys,checkoutSessionMutableAttributeKeys};
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,n,o,t){function r(e){return e instanceof o?e:new o((function(n){n(e)}))}return new(o||(o=Promise))((function(o,i){function a(e){try{c(t.next(e))}catch(e){i(e)}}function s(e){try{c(t["throw"](e))}catch(e){i(e)}}function c(e){e.done?o(e.value):r(e.value).then(a,s)}c((t=t.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var o={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},t,r,i,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(n){return c([e,n])}}function c(s){if(t)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(o=0)),o)try{if(t=1,r&&(i=s[0]&2?r["return"]:s[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;if(r=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:o.label++;return{value:s[1],done:false};case 5:o.label++;r=s[1];s=[0];continue;case 7:s=o.ops.pop();o.trys.pop();continue;default:if(!(i=o.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){o=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(s[0]===6&&o.label<i[1]){o.label=i[1];i=s;break}if(i&&o.label<i[2]){o.label=i[2];o.ops.push(s);break}if(i[2])o.ops.pop();o.trys.pop();continue}s=n.call(e,o)}catch(e){s=[6,e];r=0}finally{t=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,n,o){if(o||arguments.length===2)for(var t=0,r=n.length,i;t<r;t++){if(i||!(t in n)){if(!i)i=Array.prototype.slice.call(n,0,t);i[t]=n[t]}}return e.concat(i||Array.prototype.slice.call(n))};import{c as createCustomEvent}from"./createCustomEvent-58159025.js";import{g as getGenericSettingsOverride,I as IframeService}from"./getGenericSettingsOverride-0bc3e118.js";import{l as log}from"./VarianceTest-572cecf5.js";export{a as availableTestKeys}from"./VarianceTest-572cecf5.js";import{g as getIsTestMode,a as getIsStagingMode,h as handleFetch,l as logError}from"./handleFetch-a844cac1.js";import{g as getAbandonedCartRenewTokenValue,_ as _getIsValidCartId,c as checkoutHiddenBtnSelector,a as checkoutHiddenInternationalBtnSelector}from"./CheckoutConfig-724d7bae.js";export{c as checkoutHiddenBtnSelector,a as checkoutHiddenInternationalBtnSelector,d as domesticRedirectedBtnSelector}from"./CheckoutConfig-724d7bae.js";export{c as countryRequireShortAddressCode}from"./ShortAddressCode-7620e622.js";export{c as countryRequireTaxId,e as euCountryCodes,s as shipToTaxIdLabels}from"./TaxId-50d72254.js";var checkIfLoadVersionDomain=function(e){var n=e.loadScriptSrc;if(!n){return{currentLoadScriptUrl:"",isForceLoadVersionDomain:false,isWhiteListed:false}}var o=["dev.elements.zonos.com","dev.assets-checkout.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"];var t=["qa.js.zonos.com"];var r=new URL(n).origin;var i=o.some((function(e){return r.includes(e)}));var a=t.some((function(e){return r.includes(e)}));return{currentLoadScriptUrl:r,isForceLoadVersionDomain:a,isWhiteListed:i}};var fallbackList=["jsdelivr","cdnjs","unpkg","vercel"];var MAIN_LOAD_CDN_TYPE="jsdelivr";var getNextFallbackUrl=function(e){var n=fallbackList.indexOf(e);var o=fallbackList[n+1];return o||null};var getWithTestPublicCredential=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,n,o,t,r,i;return __generator(this,(function(a){switch(a.label){case 0:e=getIsTestMode();n=getIsStagingMode();if(!e&&!n||!window.Zonos.zonosApiKey){return[2,null]}log("[ZONOS - loadZonos] Attempt test public credential","info");if(!!window.Zonos.zonosApiKey.includes("credential_test")){log("[ZONOS - loadZonos] Test mode is enabled but the API key is already a test key","info");return[2,null]}return[4,handleFetch("/api/get-test-public-credential")];case 1:o=a.sent(),t=o.errors,r=o.json;if(t.length||!r){logError("[ZONOS - loadZonos] Failed to get test public credential. Keep using production key",t);return[2,null]}i=r.publicCredential;if(!i){logError("[ZONOS - loadZonos] No test public key credential. Keep using production key");return[2,null]}log("[ZONOS - loadZonos] Retrieve new test public token ".concat(i),"info");return[2,i]}}))}))};var extractZonosQaUrl=function(e){if(!e){return null}var n=new URL(e).searchParams;var o=n.get("zonosQaUrl");if(!o){return null}var t=/[^a-zA-Z0-9-_]+/.test(o);if(!!t){return null}return o};var getZonosQaUrl=function(){var e=window&&window.location.href.includes("forceLoadCdn");if(typeof window==="undefined"||e){return null}var n=extractZonosQaUrl(window.location.href);var o="https://v1.3.277.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","dev.storybook.elements.zonos.com"].includes(window.location.hostname)){return"https://dev.elements.zonos.com"}if(!n){return null}if(n==="dev-elements"){return"https://dev.elements.zonos.com"}var t="preview.js.zonos.com";var r="https://".concat(n,".").concat(t);log("[ZONOS-WARNING] using '".concat(r,"' for loading elements script"),"warn");void fetch(r).then((function(){window.sessionStorage.removeItem("zonos--checkout-session-id");window.sessionStorage.removeItem("zonos--client-secret")})).catch((function(){alert("[ZONOS-WARNING] '".concat(r,"' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE"));var e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");var n=window.location.pathname;var o="".concat(n,"?").concat(e.toString());window.history.replaceState(window.history.state,"",o);window.location.reload();return null}));return r};var V3_URL="https://js.stripe.com/v3";var V3_URL_REGEX=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;var EXISTING_SCRIPT_MESSAGE="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used";var zonosStripeFindScript=function(){var e=document.querySelectorAll('script[src^="'.concat(V3_URL,'"]'));for(var n=0;n<e.length;n++){var o=e[n];if(!o){continue}if(!V3_URL_REGEX.test(o.src)){continue}return o}return null};var stripePromise$1=null;var injectScript=function(e){var n=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"";var o=document.createElement("script");o.src="".concat(V3_URL).concat(n);var t=document.head||document.body;if(!t){logError("Expected document.body not to be null. Stripe.js requires a <body> element.");return null}t.appendChild(o);return o};var zonosStripeLoadScript=function(e){if(stripePromise$1!==null){return stripePromise$1}stripePromise$1=new Promise((function(n,o){if(typeof window==="undefined"||typeof document==="undefined"){n(null);return}if(window.Stripe&&e){console.warn(EXISTING_SCRIPT_MESSAGE)}if(window.Stripe){n(window.Stripe);return}try{var t=zonosStripeFindScript();if(t&&e){console.warn(EXISTING_SCRIPT_MESSAGE)}else if(!t){t=injectScript(e)}t===null||t===void 0?void 0:t.addEventListener("load",(function(){if(window.Stripe){n(window.Stripe)}else{o(new Error("Stripe.js not available"))}}));t===null||t===void 0?void 0:t.addEventListener("error",(function(){o(new Error("Failed to load Stripe.js"))}))}catch(e){o(e);return}}));return stripePromise$1};var registerWrapper=function(e,n){if(!e||!e._registerWrapper){return}e._registerWrapper({name:"stripe-js",startTime:n})};var initStripe=function(e,n,o){if(e===null){return null}var t=e.apply(undefined,n);registerWrapper(t,o);return t};var hasCheckoutCartCallback=function(){var e,n;return typeof window!=="undefined"&&(typeof((e=window.Zonos)===null||e===void 0?void 0:e.createCartId)==="function"||typeof((n=window.Zonos)===null||n===void 0?void 0:n.buildCartDetail)==="function")};var stripePromise=Promise.resolve().then((function(){if(!hasCheckoutCartCallback()){return null}return zonosStripeLoadScript(null)}));var loadCalled=false;stripePromise.catch((function(e){if(!loadCalled){console.warn(e)}}));var zonosLoadStripe=function(){var e=[];for(var n=0;n<arguments.length;n++){e[n]=arguments[n]}return __awaiter(void 0,void 0,void 0,(function(){var n,o,t,r;return __generator(this,(function(i){switch(i.label){case 0:loadCalled=true;o=Date.now();return[4,stripePromise];case 1:if(!((n=i.sent())!==null&&n!==void 0))return[3,2];r=n;return[3,4];case 2:return[4,zonosStripeLoadScript(null)];case 3:r=i.sent();i.label=4;case 4:t=r;return[2,initStripe(t,e,o)]}}))}))};var TEMP_CART_ID_QUERY_PARAM="tempCartUUID";var getCartIdFromQueryParam=function(){var e=new URLSearchParams(window.location.search);var n=e.get(TEMP_CART_ID_QUERY_PARAM);return n};var getCartInfoById=function(e){return __awaiter(void 0,[e],void 0,(function(e){var n,o,t,r,i,a,s,c,u;var d=e.cartId,l=e.retries;return __generator(this,(function(e){switch(e.label){case 0:n=getIsTestMode();o=getGenericSettingsOverride();t=getAbandonedCartRenewTokenValue()||undefined;r=new URLSearchParams;if(o.overrideShouldEnabledCustomAddress){r.set("overrideShouldEnabledCustomAddress",o.overrideShouldEnabledCustomAddress)}return[4,handleFetch("/api/zonos-elements/get-cart?".concat(r.toString()),{body:{isTestMode:n,renewCartExpirationToken:t,tempCartUUID:d},headers:{"Content-Type":"application/json"},method:"POST"})];case 1:i=e.sent(),a=i.errors,s=i.json,c=i.zonosMode;u=!s||a.length;if(!(u&&l))return[3,3];log("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:l});return[4,new Promise((function(e){return setTimeout(e,500)}))];case 2:e.sent();return[2,getCartInfoById({cartId:d,retries:l-1})];case 3:if(u){return[2,null]}return[2,Object.assign(Object.assign({},s),{zonosMode:c})]}}))}))};var setupCartDataWithSettings=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,o,t,r;return __generator(this,(function(i){switch(i.label){case 0:n=_getIsValidCartId(e),o=n.isDgsCartId,t=n.isLegacyCartId;if(!t&&!o){logError("[ZONOS - loadZonos] invalid cart id");return[2,null]}return[4,getCartInfoById({cartId:e,retries:5})];case 1:r=i.sent();log("[ZONOS - loadZonos] getting temp cart data","info",r);if(!r){logError("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process.");return[2,null]}window.Zonos.storeId=r.cartData.storeId;window.Zonos.zonosApiKey=r.cartData.credentialToken;window.Zonos.zonosMode=r.zonosMode;return[2,{cartData:r.cartData,settings:r.settings,storeFavicon:r.storeFaviconUrl,storeId:r.cartData.storeId,storeLogo:r.storeLogoUrl,zonosApiKey:r.cartData.credentialToken}]}}))}))};var _a;var zonosLoadUrl=function(){if(typeof document==="undefined"){return null}var e=document.querySelector('script[src*="/zonos.js"]');var n=checkIfLoadVersionDomain({loadScriptSrc:e===null||e===void 0?void 0:e.src}),o=n.currentLoadScriptUrl,t=n.isWhiteListed;if(t){return o}return null}();var startLoadTime=Date.now();var ZONOS_URL="https://v1.3.277.js.zonos.com";var JS_DELIVR_ZONOS_URL=zonosLoadUrl||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.277";var UNPKG_ZONOS_URL="https://unpkg.com/@zonos/elements@1.3.277";var CDNJS_ZONOS_URL="https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.277";var GOOGLE_FONT_URL="https://fonts.googleapis.com";var GOOGLE_FONT_REGEX=/^https:\/\/fonts\.googleapis\.com/;var Zonos=function(){function e(){}return e}();_a=Zonos;Zonos.doneInit=false;Zonos.cartSettings=null;Zonos.debug=typeof window!=="undefined"&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/);Zonos.zonosConversionTest=typeof window!=="undefined"&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/);Zonos._paypalMockResponse=null;Zonos.iframeLogType=typeof window!=="undefined"?new URLSearchParams(window.location.search).get("iframeLogType"):null;Zonos.isBigCommerce=false;Zonos.releaseDate="1782835765706";Zonos.isLegacyCheckout=false;Zonos.googleAnalyticId=null;Zonos.googleAnalyticReady=false;Zonos.facebookPixelId=null;Zonos.facebookPixelReady=false;Zonos.startLoadTime=startLoadTime;Zonos.domain=typeof window!=="undefined"?window.location!=window.parent.location&&document.referrer||document.location.hostname:"";Zonos.showBaseForeign=typeof window!=="undefined"&&window.location.search.includes("zonosShowBaseForeign");Zonos.overrideUseCustomAddressForm=false;Zonos.isCollect=false;Zonos.isInvoice=false;Zonos.isNpm=true;Zonos.zonosQaUrl=null;Zonos.zonosQaUrlApi=null;Zonos.trackEventLogs=[];Zonos.version="v".concat("1.3.277");Zonos.modeAlerted=false;Zonos.cartData=null;Zonos.paypal=null;Zonos.zonosMode=null;Zonos.IframeService=IframeService;Zonos.getCurrentTimestamp=function(){return(new Date).getTime()};Zonos.zonosController=null;Zonos.loadTimeApiInfoList=[];Zonos.logIntervalId=null;Zonos.init=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,o,t,r,i,a,s,c,u,d,l,f,v,m,_;return __generator(this,(function(p){switch(p.label){case 0:n=e.appearance,o=e.checkoutSettings,t=e.currencyConverter,r=e.helloSettings,i=e.onCountryChange,a=e.overrideCurrencyFormat,s=e.storeId,c=e.zonosApiKey;_a.cartId=getCartIdFromQueryParam();_a.createCartId=o===null||o===void 0?void 0:o.createCartId;_a.buildCartDetail=o===null||o===void 0?void 0:o.buildCartDetail;if(_a.doneInit){return[2]}log("====== ZONOS DEBUG MODE: on (".concat(_a.version,") ======"));_a.zonosApiKey=c;_a.storeId=s;if(typeof window!=="undefined"&&window.parent===window){_a.googleAnalyticReady=true;_a.facebookPixelReady=true}if(!_a.isNpm)return[3,4];log("====== ZONOS LOADING FROM NPM ======");u=getZonosQaUrl();if(u&&!window.isZonosPreview){log('====== RE-INJECT "zonos.js" FROM PRVIEW: '.concat(u," ======"),"info");d=document.createElement("script");d.src="".concat(u,"/dist/scripts/zonos.js");document.head.appendChild(d);d.addEventListener("load",(function(){window.Zonos.isNpm=_a.isNpm;window.Zonos.isBigCommerce=_a.isBigCommerce;window.Zonos.isLegacyCheckout=_a.isLegacyCheckout;window.Zonos.zonosMode=_a.zonosMode;void window.Zonos.init(e)}));d.addEventListener("error",(function(){alert('[ZONOS - loadZonos] Failed to load "loadZonos.js" from zonosQaUrl: '.concat(u))}));window.isZonosPreview=true;return[2]}if(!c&&!_a.cartId){logError("Zonos API key is required unless `tempCartUUID` is provided in url query params.");return[2]}if(!(!_a.cartData&&_a.cartId))return[3,2];log("Initialize cart data");return[4,setupCartDataWithSettings(_a.cartId)];case 1:l=p.sent();if(!l){logError("Failed to get cart data");return[2]}_a.cartData=l.cartData;_a.zonosApiKey=l.zonosApiKey;_a.cartSettings=l.settings;p.label=2;case 2:return[4,getWithTestPublicCredential()];case 3:f=p.sent();if(f){_a.zonosApiKey=f}p.label=4;case 4:v=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");m=_a.cartId&&_a.cartData||!!v;if(m){log("Cart data or stripe client secret is available, inject hidden button and trigger checkout");_=document.createElement("button");_.style.display="none";_.id="".concat(checkoutHiddenBtnSelector);document.body.appendChild(_)}log("init zonos");_a.restoreNativeBrowserFunctions();_a.injectCustomScriptForHostedCheckout();_a.injectZonosCdn();_a.injectZonosCss();_a.injectFonts();_a.injectCheckoutInternationalButton();_a.injectController({config:{appearance:n,checkoutSettings:o,currencyConverter:t,helloSettings:r,onCountryChange:i,overrideCurrencyFormat:a}});_a.doneInit=true;return[2]}}))}))};Zonos.injectCheckoutInternationalButton=function(){if(!document.querySelector("#".concat(checkoutHiddenInternationalBtnSelector))){var e=document.createElement("button");e.id=checkoutHiddenInternationalBtnSelector;e.style.display="none";document.body.appendChild(e)}};Zonos.injectCustomScriptForHostedCheckout=function(){var e=_a.cartData;var n=(e===null||e===void 0?void 0:e.metadata)||[];var o=n.find((function(e){return e.key==="customHeaderScript"}));var t=n.find((function(e){return e.key==="customFooterScript"}));if(!window.Zonos.isLegacyCheckout||!o&&!t){log("Skip injecting custom script for hosted checkout","info",{footerScript:t,headerScript:o,isLegacyCheckout:window.Zonos.isLegacyCheckout});return}if(o){log("Injecting custom header script");var r=document.createElement("script");r.textContent=o.value;document.head.appendChild(r)}if(t){log("Injecting custom footer script");var r=document.createElement("script");r.textContent=t.value;document.body.appendChild(r)}};Zonos.displayCurrency=function(){var e=document.querySelector("zonos-hello");if(e){void e.displayCurrency()}};Zonos.triggerCheckoutInternational=function(){return __awaiter(void 0,void 0,void 0,(function(){var e;return __generator(this,(function(n){e=document.querySelector("#".concat(checkoutHiddenInternationalBtnSelector));setTimeout((function(){if(e){e.dispatchEvent(createCustomEvent("click"))}}),10);return[2]}))}))};Zonos.openHelloDialog=function(e){var n=document.querySelector("zonos-hello");if(n){void n.openHelloDialog(e!==null&&e!==void 0?e:true)}};Zonos.showNotification=function(e){var n;void((n=_a.zonosController)===null||n===void 0?void 0:n.showNotification(e))};Zonos.updateOrganizationName=function(e){var n;void((n=_a.zonosController)===null||n===void 0?void 0:n.updateOrganizationName(e))};Zonos.disablePlaceOrderButtons=function(e){var n=e.autoEnable,o=n===void 0?true:n,t=e.config,r=e.disable,i=e.placeOrderButtonSelector;var a;if((a=t.checkoutSettings)===null||a===void 0?void 0:a.disablePlaceOrderButtonActivation){return}if(i){var s=document.querySelectorAll(i);var c=function(e){var n=e.target;if(n.getAttribute("disabled")){e.preventDefault();e.stopPropagation()}};s.forEach((function(e){var n=e.getAttribute("data-zonos-checkout-attached");if(n){return}if(r){e.setAttribute("disabled","true");e.addEventListener("click",c)}else{e.removeAttribute("disabled");e.removeEventListener("click",c)}}));if(o&&r){setTimeout((function(){s.forEach((function(e){e.removeAttribute("disabled");e.removeEventListener("click",c)}))}),5e3)}}};Zonos.restoreNativeBrowserFunctions=function(){var e;var n=new URL(window.location.href).searchParams.get("useMerchantPolyfill")==="1";if(n){return}var o="zonos---native-browser";var t=document.querySelector("iframe#".concat(o));if(!t){t=document.createElement("iframe");t.id=o;t.style.display="none";t.style.opacity="0";t.style.position="absolute";t.style.top="-9999px";t.style.left="-9999px";t.style.width="1px";t.style.height="1px";t.style.border="none";t.style.overflow="hidden";t.style.visibility="hidden";document.body.appendChild(t)}var r=((e=t.contentWindow)===null||e===void 0?void 0:e.window.Array.from)||Array.from;Array.from=r;document.body.removeChild(t)};Zonos.injectController=function(e){var n=e.config;var o,t;if(document.querySelector("zonos-controller")){return}if((o=n.checkoutSettings)===null||o===void 0?void 0:o.placeOrderButtonSelector){var r=n.checkoutSettings.placeOrderButtonSelector;_a.disablePlaceOrderButtons({config:n,disable:true,placeOrderButtonSelector:r});var i=new MutationObserver((function(){_a.disablePlaceOrderButtons({config:n,disable:true,placeOrderButtonSelector:r})}));i.observe(document.body,{childList:true,subtree:true})}if((t=n.checkoutSettings)===null||t===void 0?void 0:t.alwaysTriggerInternationalCheckoutSelector){var a=n.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;_a.disablePlaceOrderButtons({config:n,disable:true,placeOrderButtonSelector:a});var i=new MutationObserver((function(){_a.disablePlaceOrderButtons({config:n,disable:true,placeOrderButtonSelector:a})}));i.observe(document.body,{childList:true,subtree:true})}var s=document.createElement("zonos-controller");s.config=n;s.zonosApiKey=_a.zonosApiKey||"";s.addEventListener("stripeInitEvent",(function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,o;return __generator(this,(function(t){switch(t.label){case 0:n=e.detail;log("loading Stripe");return[4,zonosLoadStripe(n.publishableKey)];case 1:o=t.sent();if(!o){logError("API seems to be invalid or missing. Failed to load Stripe");return[2]}window.Zonos.stripe=o;if(window.Zonos.isCollect){void s.initCollectElement(o)}else if(window.Zonos.isInvoice){void s.initInvoiceElement(o)}else{void s.initCheckoutElement(o)}return[2]}}))}))}));document.body.appendChild(s);_a.zonosController=s;log("Zonos controller injected!")};Zonos.injectScript=function(e){var n=e.cdnType,o=e.isModule,t=e.theRestUrl;var r=_a.getZonosUrl(n);var i="".concat(r,"/").concat(t);var a=function(){var e=document.querySelector('script[src="'.concat(i,'"]'));return!!e};if(a()){log('Zonos script "'.concat(i,'" already exists in the document'),"warn");return}var s=document.head||document.body;var c=document.createElement("script");if(!!o){c.type="module"}else{c.noModule=true}c.src=i;c.crossOrigin="anonymous";c.onerror=function(){logError("Failed to load ".concat(c.src));var e=getNextFallbackUrl(n);if(!e){return}_a.injectScript({cdnType:e,isModule:o,theRestUrl:t})};s.appendChild(c)};Zonos.getZonosUrl=function(e){var n=function(){switch(e){case"jsdelivr":return JS_DELIVR_ZONOS_URL;case"unpkg":return UNPKG_ZONOS_URL;case"cdnjs":return CDNJS_ZONOS_URL;case"vercel":return ZONOS_URL}};if(_a.isNpm){var o=getZonosQaUrl();return o||n()}return n()};Zonos.injectZonosCdn=function(){_a.injectScript({cdnType:MAIN_LOAD_CDN_TYPE,isModule:true,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"});_a.injectScript({cdnType:MAIN_LOAD_CDN_TYPE,isModule:false,theRestUrl:"dist/zonos-elements/zonos-elements.js"});log("Zonos cdn script injected!")};Zonos.injectStylesheet=function(e){var n=e.cdnType,o=e.theRestUrl;var t=_a.getZonosUrl(n);var r=document.head||document.body;var i=document.createElement("link");i.rel="preconnect";i.href="".concat(ZONOS_URL,"/");r.appendChild(i);var a=document.createElement("link");a.rel="stylesheet";a.href="".concat(t,"/").concat(o);a.onerror=function(){logError("Failed to load ".concat(a.href));var e=getNextFallbackUrl(n);if(!e){return}_a.injectStylesheet({cdnType:e,theRestUrl:o})};r.appendChild(a)};Zonos.injectZonosCss=function(){var e=function(){return!!document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')};if(e()){log("Zonos style links already injected","warn");return}_a.injectStylesheet({cdnType:MAIN_LOAD_CDN_TYPE,theRestUrl:"dist/zonos-elements/zonos-elements.css"});log("Zonos style css injected!")};Zonos.injectFonts=function(){var e=function(){var e=document.fonts.check("1em Inter");if(e){log("Inter font already loaded","warn");return}var n=document.querySelectorAll('link[rel="stylesheet"][href^="'.concat(GOOGLE_FONT_URL,'"]'));for(var o=0;o<n.length;o++){var t=n[o];if(!t){continue}if(GOOGLE_FONT_REGEX.test(t.href)){continue}return t}return null};if(e()){log("Inter font already injected","warn");return}var n=document.head||document.body;var o=document.createElement("link");o.rel="preconnect";o.href=GOOGLE_FONT_URL;n.appendChild(o);var t=document.createElement("link");t.rel="stylesheet";t.href="".concat(GOOGLE_FONT_URL,"/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");n.appendChild(t);log("Zonos font injected!")};Zonos.setupGoogleFont=function(e){var n;void((n=_a.zonosController)===null||n===void 0?void 0:n.setupGoogleFont(e))};Zonos.injectSupportGoogleFont=function(e){var n;log("[FONT] injecting ".concat(e));var o=(n=e.match(/family=(.*?):/))===null||n===void 0?void 0:n[1];var t=document.head||document.body;if(!document.querySelector('link[rel="preconnect"][href^="'.concat(GOOGLE_FONT_URL,'"]'))){var r=document.createElement("link");r.rel="preconnect";r.href=GOOGLE_FONT_URL;t.appendChild(r)}if(document.querySelector('link[rel="stylesheet"][href="'.concat(e,'"]'))){log("[FONT] ".concat(o," font already injected"),"warn");return}var i=document.createElement("link");i.rel="stylesheet";i.href=e;t.appendChild(i);log("[FONT] ".concat(o," font injected!"))};var checkoutSessionMutableAttributeKeys=["ZONOS_FORM_TYPE_USING","APP_VERSION","APP_VERSION_NPM_INTEGRATION","LEGACY_CHECKOUT_FACADE"];var checkoutSessionImmutableAttributeKeys=["ORDER_DUPLICATION_CONSENT","WITH_ABANDONED_CART_TOKEN"];var checkoutSessionAttributeKeys=__spreadArray(__spreadArray([],checkoutSessionMutableAttributeKeys,true),checkoutSessionImmutableAttributeKeys,true);export{Zonos,checkoutSessionAttributeKeys,checkoutSessionImmutableAttributeKeys,checkoutSessionMutableAttributeKeys};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var __extends=this&&this.__extends||function(){var t=function(e,o){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[o]=e[o]};return t(e,o)};return function(e,o){if(typeof o!=="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");t(e,o);function n(){this.constructor=e}e.prototype=o===null?Object.create(o):(n.prototype=o.prototype,new n)}}();var __awaiter=this&&this.__awaiter||function(t,e,o,n){function i(t){return t instanceof o?t:new o((function(e){e(t)}))}return new(o||(o=Promise))((function(o,r){function s(t){try{a(n.next(t))}catch(t){r(t)}}function c(t){try{a(n["throw"](t))}catch(t){r(t)}}function a(t){t.done?o(t.value):i(t.value).then(s,c)}a((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var o={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},n,i,r,s;return s={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function c(t){return function(e){return a([t,e])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,c[0]&&(o=0)),o)try{if(n=1,i&&(r=c[0]&2?i["return"]:c[0]?i["throw"]||((r=i["return"])&&r.call(i),0):i.next)&&!(r=r.call(i,c[1])).done)return r;if(i=0,r)c=[c[0]&2,r.value];switch(c[0]){case 0:case 1:r=c;break;case 4:o.label++;return{value:c[1],done:false};case 5:o.label++;i=c[1];c=[0];continue;case 7:c=o.ops.pop();o.trys.pop();continue;default:if(!(r=o.trys,r=r.length>0&&r[r.length-1])&&(c[0]===6||c[0]===2)){o=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]<r[3])){o.label=c[1];break}if(c[0]===6&&o.label<r[1]){o.label=r[1];r=c;break}if(r&&o.label<r[2]){o.label=r[2];o.ops.push(c);break}if(r[2])o.ops.pop();o.trys.pop();continue}c=e.call(t,o)}catch(t){c=[6,t];i=0}finally{n=r=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(t,e,o){if(o||arguments.length===2)for(var n=0,i=e.length,r;n<i;n++){if(r||!(n in e)){if(!r)r=Array.prototype.slice.call(e,0,n);r[n]=e[n]}}return t.concat(r||Array.prototype.slice.call(e))};import{r as registerInstance,d as createEvent,h,a as Host}from"./index-cfd394c8.js";import{b as stripeStore}from"./cart-402dcde5.js";import{j as getOverridenZCountry,k as isValidSelector,m as initLocalizationStore,s as storageStore,c as localizationStoreUpdateSelectedCountryCode}from"./localization-d49867ed.js";import{z as zonosStore,e as zonosStoreInitSetting,f as zonosStoreFontFamily}from"./zonosStore-b7d3f9b0.js";import{g as getGenericSettingsOverride,i as iframeServices,a as injectPrivateIframe}from"./getGenericSettingsOverride-0bc3e118.js";import{h as handleFetch,l as logError}from"./handleFetch-a844cac1.js";import{l as log}from"./VarianceTest-572cecf5.js";import{a as ensureAnalyticsRelayPing}from"./submitGtag-dc54f5b9.js";import"./isDarkColor-039ef212.js";import"./getBorderRadius-dc982fe6.js";import"./TaxId-50d72254.js";var getZonosSettings=function(){return __awaiter(void 0,void 0,void 0,(function(){var t,e,o,n,i,r,s;return __generator(this,(function(c){switch(c.label){case 0:if(window.Zonos.cartSettings){log("Reusing cached zonos settings");return[2,{errors:[],json:window.Zonos.cartSettings,zonosMode:window.Zonos.zonosMode}]}t=getGenericSettingsOverride();e=new URLSearchParams;if(t.overrideShouldEnabledCustomAddress){e.set("overrideShouldEnabledCustomAddress",t.overrideShouldEnabledCustomAddress)}o=getOverridenZCountry();if(o){e.set("zCountry",o)}return[4,handleFetch("/api/zonos-elements/zonos-settings?".concat(e.toString()))];case 1:n=c.sent(),i=n.errors,r=n.json,s=n.zonosMode;if(i.length){logError("Error occurred when getting zonos settings. If this is not an unauthorized error, it will use user settings or default settings");return[2,{errors:i,json:null,zonosMode:s}]}return[2,{errors:[],json:r,zonosMode:s}]}}))}))};var injectCheckoutElement$2=function(){var t=document.querySelector("zonos-checkout");if(!t){var e=document.createElement("zonos-checkout");document.body.appendChild(e)}};var initCheckout=function(t){if(!t.placeOrderButtonSelector&&!t.alwaysTriggerInternationalCheckoutSelector&&!window.Zonos.cartData){return}if(t.placeOrderButtonSelector&&!isValidSelector(t.placeOrderButtonSelector)){logError('Selector checkoutButtonAnchor "'.concat(t.placeOrderButtonSelector,'" is not a valid selector'));return}if(t.alwaysTriggerInternationalCheckoutSelector&&!isValidSelector(t.alwaysTriggerInternationalCheckoutSelector)){logError('Selector alwaysTriggerInternationalCheckoutSelector "'.concat(t.alwaysTriggerInternationalCheckoutSelector,'" is not a valid selector'));return}injectCheckoutElement$2()};var injectCheckoutElement$1=function(){var t=document.querySelector("zonos-collect");if(!t){var e=document.createElement("zonos-collect");document.body.appendChild(e)}};var initCollect=function(){if(!window.Zonos.cartData){return}injectCheckoutElement$1()};var injectCheckoutElement=function(){var t=document.querySelector("zonos-invoice");if(!t){var e=document.createElement("zonos-invoice");document.body.appendChild(e)}};var initInvoice=function(){if(!window.Zonos.cartData){return}injectCheckoutElement()};var STYLE_ID="zonos-domestic-element-hide-style";var supportsIsSelector=typeof document!=="undefined"&&function(){try{document.querySelector(":is(.zonos-is-probe)");return true}catch(t){return false}}();var splitTopLevelCommas=function(t){var e=[];var o=0;var n=0;var i="";for(var r=0;r<t.length;r++){var s=t[r];if(s==="("){o++}else if(s===")"){o--}else if(s==="["){n++}else if(s==="]"){n--}if(s===","&&o===0&&n===0){var c=i.trim();if(c){e.push(c)}i=""}else{i+=s}}var a=i.trim();if(a){e.push(a)}return e};var buildDomesticHideSelector=function(t){var e=t.merchantSelector,o=t.supportsIs;if(o){return"body.z-intl :is(".concat(e,")")}return splitTopLevelCommas(e).map((function(t){return"body.z-intl ".concat(t)})).join(", ")};var injectDomesticElementHideStyle=function(t){if(typeof document==="undefined"||!t){return}var e=buildDomesticHideSelector({merchantSelector:t,supportsIs:supportsIsSelector});try{document.querySelector(e)}catch(o){log('Skip domesticElementSelector injection: "'.concat(t,'" produced an invalid CSS selector ("').concat(e,'")'),"warn");return}if(document.getElementById(STYLE_ID)){return}var o=document.createElement("style");o.id=STYLE_ID;o.textContent="".concat(e," { display: none !important; }");(document.head||document.body).appendChild(o);log("Zonos domestic element hide style injected")};var injectHelloComponent=function(t){var e=document.querySelector(t);var o=document.querySelector("zonos-hello");if(!o&&e){var n=document.createElement("zonos-hello");e.appendChild(n);return true}return false};var convertPosition=function(t){switch(t){case"BOTTOM_RIGHT":return"bottom-right";case"BOTTOM_LEFT":return"bottom-left";case"TOP_LEFT":return"top-left";case"TOP_RIGHT":return"top-right";default:return"bottom-right"}};var injectDefaultWrapper=function(t){var e=t.position,o=e===void 0?"bottom-right":e;var n=".zonos--hello-mobile-wrapper";var i=document.querySelector(n);if(i){return n}var r=document.createElement("div");r.className="zonos--hello-mobile-wrapper";r.style.position="fixed";if(o==="top-right"){r.style.top="72px";r.style.right="24px"}if(o==="top-left"){r.style.top="72px";r.style.left="24px"}if(o==="bottom-right"){r.style.bottom="72px";r.style.right="24px"}if(o==="bottom-left"){r.style.bottom="72px";r.style.left="24px"}r.style.zIndex="2147483647";document.body.appendChild(r);return n};var initHello=function(t){return __awaiter(void 0,void 0,void 0,(function(){var e,o,n,i,r;return __generator(this,(function(s){if(window.Zonos.isLegacyCheckout){log("Hello is disabled when isLegacyCheckout","info");return[2]}e=t.anchorElementSelector;o=e;if(!t.anchorElementSelector&&t.desktopLocation){n=injectDefaultWrapper({position:"bottom-right"});o=n}if(!o||!isValidSelector(o)){logError('Selector anchorElementSelector "'.concat(t.anchorElementSelector,'" is not a valid selector.'));return[2]}log("Hello init complete");i=injectHelloComponent(o);if(!i){r=new MutationObserver((function(){var t=injectHelloComponent(o);if(t){r.disconnect()}}));r.observe(document.body,{childList:true,subtree:true});setTimeout((function(){injectHelloComponent(o)}),1e3);setTimeout((function(){if(t.notFoundElementFallback){log("Hello anchor selector ".concat(t.anchorElementSelector," not found after 3 seconds, falling back to 'notFoundElementFallback': ").concat(t.notFoundElementFallback),"info");var e=injectDefaultWrapper({position:convertPosition(t.notFoundElementFallback)});injectHelloComponent(e)}}),3e3)}return[2]}))}))};var IframeCommunicator=function(){function t(t,e){var o=this;this.targetId=t;this.allowedEvents=e;this.listeners=new Map;this.handleMessage=function(t){var e,n,i;var r=t.data;var s=((e=o.iframe)===null||e===void 0?void 0:e.contentWindow)||((i=(n=o.iframe)===null||n===void 0?void 0:n.contentDocument)===null||i===void 0?void 0:i.defaultView);if(t.source!==s){return}if(!o.isValidMessage(r)){return}var c=o.listeners.get(r.type);c===null||c===void 0?void 0:c.forEach((function(t){try{t(r.payload)}catch(t){logError("Error in event listener:",t)}}))};this.initializeEventListeners();this.iframe=document.getElementById(this.targetId)}t.prototype.initializeEventListeners=function(){window.addEventListener("message",this.handleMessage)};t.prototype.isValidMessage=function(t){if(!t||typeof t!=="object")return false;var e=t;return e.id===this.targetId&&typeof e.type==="string"&&this.allowedEvents.includes(e.type)&&e.payload!==undefined};t.prototype.on=function(t,e){var o=this;if(!this.listeners.has(t)){this.listeners.set(t,new Set)}log("[CheckoutAddressService] listening to ".concat(t),"info");var n=e;var i=this.listeners.get(t);if(i){i.add(n)}return function(){var e=o.listeners.get(t);if(e){e.delete(n)}}};t.prototype.destroy=function(){window.removeEventListener("message",this.handleMessage);this.listeners.clear()};return t}();var GooglePlacesService=function(t){__extends(e,t);function e(){log("=== [Google Places Service] Initializing","info");return t.call(this,iframeServices.GOOGLE_PLACES,["fetchAutocompleteSuggestions","initializeGooglePlacesService","placeSelected","onFetchAutocompleteSuggestions","onInitializeGooglePlacesService","onPlaceSelected"])||this}e.prototype.sendMessage=function(t,e){var o;if(!((o=this.iframe)===null||o===void 0?void 0:o.contentWindow)){return}var n={id:this.targetId,logType:window.Zonos.iframeLogType,payload:e,type:t};log("GooglePlacesService] parent --\x3e ".concat(t),"info",e);this.iframe.contentWindow.postMessage(n,"*")};e.prototype.initialize=function(){this.sendMessage("initializeGooglePlacesService",{})};e.prototype.fetchSuggestions=function(t){var e=t.country,o=t.query,n=t.type;if(!e){return}this.sendMessage("fetchAutocompleteSuggestions",{request:{includedRegionCodes:[e],input:o},type:n})};e.prototype.selectPlace=function(t){var e=t.placeId,o=t.type;this.sendMessage("placeSelected",{placeId:e,type:o})};return e}(IframeCommunicator);var CheckoutAddressService=function(){function t(){var t=this;this.googlePlaceInitialized=false;log("=== [CheckoutAddressService] Initializing","info");this.googlePlaces=new GooglePlacesService;this.googlePlaces.on("onInitializeGooglePlacesService",(function(){log("=== [CheckoutAddressService] parent <-- onInitializeGooglePlacesService","info");t.googlePlaceInitialized=true}));this.initialize()}t.prototype.initialize=function(){this.googlePlaces.initialize()};t.prototype.onInitializeGooglePlacesService=function(t){return this.googlePlaces.on("onInitializeGooglePlacesService",(function(){log("[CheckoutAddressService] parent <-- onInitializeGooglePlacesService");t()}))};t.prototype.isGooglePlaceInitialized=function(){return this.googlePlaceInitialized};t.prototype.onAddressSuggestions=function(t){this.suggestionsCallback=t;return this.googlePlaces.on("onFetchAutocompleteSuggestions",(function(){var e=[];for(var o=0;o<arguments.length;o++){e[o]=arguments[o]}log.apply(void 0,__spreadArray(["[CheckoutAddressService] parent <-- onFetchAutocompleteSuggestions ".concat(e[0].type),"info"],e,false));t.apply(void 0,e)}))};t.prototype.onAddressSelected=function(t){this.placeSelectedCallback=t;return this.googlePlaces.on("onPlaceSelected",(function(){var e=[];for(var o=0;o<arguments.length;o++){e[o]=arguments[o]}log.apply(void 0,__spreadArray(["[CheckoutAddressService] parent <-- onPlaceSelected ".concat(e[0].type),"info"],e,false));t.apply(void 0,e)}))};t.prototype.getAddressSuggestions=function(t){var e=t.country,o=t.query,n=t.type;if(!this.googlePlaceInitialized){return}this.googlePlaces.fetchSuggestions({country:e,query:o,type:n})};t.prototype.selectAddress=function(t){var e=t.placeId,o=t.type;this.googlePlaces.selectPlace({placeId:e,type:o})};t.prototype.destroy=function(){this.googlePlaces.destroy();if(this.suggestionsCallback){this.suggestionsCallback=undefined}if(this.placeSelectedCallback){this.placeSelectedCallback=undefined}};return t}();var zonosControllerCss=":host{font-family:var(--zonos--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--zonos--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{visibility:hidden;opacity:0;height:0}";var ZonosControllerStyle0=zonosControllerCss;var ZonosController=function(){function t(t){registerInstance(this,t);this.paypalInitEvent=createEvent(this,"paypalInitEvent",7);this.stripeInitEvent=createEvent(this,"stripeInitEvent",7)}t.prototype.initCheckoutElement=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!t){log("Stripe is not loaded yet - cannot init checkout element","warn");return[2]}stripeStore.stripe=t;void initCheckout(zonosStore.checkoutSettings);log("init checkout element");return[2]}))}))};t.prototype.initCollectElement=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!t){log("Stripe is not loaded yet - cannot init Collect element","warn");return[2]}stripeStore.stripe=t;void initCollect();log("init Collect element");return[2]}))}))};t.prototype.initInvoiceElement=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!t){log("Stripe is not loaded yet - cannot init Invoice element","warn");return[2]}stripeStore.stripe=t;void initInvoice();log("init Invoice element");return[2]}))}))};t.prototype.initZonosNotification=function(){var t=document.querySelector("zonos-notification");if(t){return}var e=document.createElement("zonos-notification");document.body.appendChild(e)};t.prototype.setupGoogleFont=function(t){return __awaiter(this,void 0,void 0,(function(){var e,o,n,i,r,s,c,a;return __generator(this,(function(u){switch(u.label){case 0:n=t||zonosStoreFontFamily();if(n==="Inter"){if(!t){return[2]}log("[FONT] Just applied Inter , but no need to inject since we already inject Inter on start","warn");zonosStore.appearance=Object.assign(Object.assign({},zonosStore.appearance),{fontFamily:t})}i=new URLSearchParams;i.set("family",n);return[4,handleFetch("/api/zonos-elements/get-font-detail?".concat(i.toString()))];case 1:r=u.sent(),s=r.errors,c=r.json;if(s.length>0){log("Failed to load font ".concat(n),"warn");zonosStore.appearance=Object.assign(Object.assign({},zonosStore.appearance),{fontFamily:"Inter"});return[2]}a=c===null||c===void 0?void 0:c.fontUrl;if(a){(o=(e=window.Zonos).injectSupportGoogleFont)===null||o===void 0?void 0:o.call(e,a)}if(!t){return[2]}log("[FONT] ".concat(t," font override applied"));zonosStore.appearance=Object.assign(Object.assign({},zonosStore.appearance),{fontFamily:t});return[2]}}))}))};t.prototype.handleLocationChange=function(){void initHello(zonosStore.helloSettings)};t.prototype.initHistoryListener=function(){var t=history.pushState;history.pushState=function e(){window.dispatchEvent(new window.Event("pushstate"));window.dispatchEvent(new window.Event("locationchange"));return t.apply(this,arguments)};var e=history.replaceState;history.replaceState=function t(){window.dispatchEvent(new window.Event("replacestate"));window.dispatchEvent(new window.Event("locationchange"));return e.apply(this,arguments)}};t.prototype.injectCustomHTML=function(t){if(!t){return}if(!window.Zonos.isLegacyCheckout||window.Zonos.isCollect||window.Zonos.isInvoice){log("=== Skip injecting custom HTML for hosted checkout","info");return}log("=== Injecting custom HTML for hosted checkout");var e=document.createElement("template");e.innerHTML=t;var o=e.content.querySelectorAll("script");o.forEach((function(t){var e=document.createElement("script");if(t.src){e.src=t.src;e.async=t.async}else{e.textContent=t.innerHTML}document.body.appendChild(e)}));ensureAnalyticsRelayPing()};t.prototype.initGooglePlacesService=function(t){return __awaiter(this,void 0,void 0,(function(){var e,o;return __generator(this,(function(n){e=t===null||t===void 0?void 0:t.genericSettings;if(!e){return[2]}o=e.signedTokenGooglePlaces;if(!o){return[2]}injectPrivateIframe({id:iframeServices.GOOGLE_PLACES,onload:function(){zonosStore.checkoutAddressService=new CheckoutAddressService},src:"".concat("https://route.elements.zonos.com","/iframe/google-maps?signedToken=").concat(o)});return[2]}))}))};t.prototype.buildBaseConfig=function(t){var e,o;var n=Object.assign(Object.assign({},this.config.checkoutSettings),{allowedSettlementCurrencies:undefined,captureDelay:undefined,subscriptionStatus:undefined});if(window.Zonos.isCollect||window.Zonos.isInvoice){return Object.assign(Object.assign({},this.config),{checkoutSettings:n,helloSettings:Object.assign(Object.assign({},this.config.helloSettings),{visibilityStatus:"DISABLED"})})}if(!this.config.checkoutSettings){return Object.assign(Object.assign({},this.config),{checkoutSettings:undefined})}var i=window.Zonos.isLegacyCheckout&&!!window.Zonos.cartData&&((e=this.config.checkoutSettings)===null||e===void 0?void 0:e.successBehavior)==="CLOSE_MODAL";return Object.assign(Object.assign({},this.config),{checkoutSettings:Object.assign(Object.assign({},n),{successBehavior:i?"ZONOS_SUCCESS_PAGE":this.config.checkoutSettings.successBehavior,successRedirectUrl:i?((o=window.Zonos.cartData)===null||o===void 0?void 0:o.storeBaseUrl)||(t===null||t===void 0?void 0:t.onlineStoreSettings.url):this.config.checkoutSettings.successRedirectUrl})})};t.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var t=this;return __generator(this,(function(e){this.initHistoryListener();zonosStore.zonosApiKey=this.zonosApiKey;(function(){return __awaiter(t,void 0,void 0,(function(){var t,e,o,n,i,r,s,c,a,u,l,d,f;var h=this;return __generator(this,(function(v){switch(v.label){case 0:return[4,getZonosSettings()];case 1:i=v.sent(),r=i.errors,s=i.json,c=i.zonosMode;if(((e=(t=r[0])===null||t===void 0?void 0:t.type)===null||e===void 0?void 0:e.toString())==="403"){log("Failed to load zonos settings. This domain may not have access","warn");return[2]}a=((o=s===null||s===void 0?void 0:s.checkoutSettings)===null||o===void 0?void 0:o.customHTML)||"";this.injectCustomHTML(a);this.initZonosNotification();u=function(){var t,e,o;if(window.Zonos.isLegacyCheckout){return((t=s===null||s===void 0?void 0:s.appearanceSettings)===null||t===void 0?void 0:t.logoUrl)||((e=h.config.appearance)===null||e===void 0?void 0:e.logoUrl)}return(o=h.config.appearance)===null||o===void 0?void 0:o.logoUrl};l=this.buildBaseConfig(s);d=Object.assign(Object.assign(Object.assign({},this.config),{appearance:Object.assign(Object.assign({},this.config.appearance),{logoUrl:u()})}),l);zonosStoreInitSetting({overrideSettings:d,zonosSettings:s});zonosStore.zonosMode=c;injectDomesticElementHideStyle(zonosStore.checkoutSettings.domesticElementSelector);void this.setupGoogleFont();if(zonosStore.helloSettings.visibilityStatus==="DISABLED"){log("=== Hello is disabled by store owner ===","warn")}if(zonosStore.helloSettings&&zonosStore.helloSettings.visibilityStatus==="ENABLED"){log("Initializing hello");void initHello(zonosStore.helloSettings)}return[4,initLocalizationStore()];case 2:v.sent();f=((n=s===null||s===void 0?void 0:s.checkoutSettings)===null||n===void 0?void 0:n.externalServiceTokens.find((function(t){return t.type==="STRIPE_PUBLISHABLE_TOKEN"})))||null;if(!f||!this.stripeInitEvent){log("Checkout failed to load -- missing publishable key","warn");return[2]}if(window.Zonos.isCollect||window.Zonos.isInvoice){this.stripeInitEvent.emit({publishableKey:f.token});void this.initGooglePlacesService(s);return[2]}if(zonosStore.checkoutSettings.subscriptionStatus==="INACTIVE"){log('=== Checkout subscription is "INACTIVE" - Cancel initializing for Checkout ===',"warn");log("zonos controller loaded");return[2]}if(zonosStore.checkoutSettings.visibilityStatus==="DISABLED"){log("=== Checkout is disabled by store owner ===","warn");log("zonos controller loaded");return[2]}this.stripeInitEvent.emit({publishableKey:f.token});void this.initGooglePlacesService(s);return[2]}}))}))})();return[2]}))}))};t.prototype.showNotification=function(t){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(o){e=document.querySelector("zonos-notification");if(!e){log("Failed to show notification - zonos-notification not found","warn");return[2]}void e.showNotification(t);return[2]}))}))};t.prototype.reset=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){storageStore.checkoutSessionId=null;stripeStore.clientSecret="";return[2]}))}))};t.prototype.overrideConfig=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){zonosStoreInitSetting({overrideSettings:t,zonosSettings:null});return[2]}))}))};t.prototype.overrideCountry=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){log("Override country code to ".concat(t));void localizationStoreUpdateSelectedCountryCode({isInitializing:false,newSelectedCountryCode:t});return[2]}))}))};t.prototype.getAppearanceSetting=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,zonosStore.appearance]}))}))};t.prototype.updateOrganizationName=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){zonosStore.organizationName=t;return[2]}))}))};t.prototype.render=function(){return h(Host,{key:"172f5c893940145cc2eb84c721783bc64332d3dc",class:"zonos--elements"})};return t}();ZonosController.style=ZonosControllerStyle0;export{ZonosController as zonos_controller};
|
|
1
|
+
var __extends=this&&this.__extends||function(){var t=function(e,o){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[o]=e[o]};return t(e,o)};return function(e,o){if(typeof o!=="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");t(e,o);function n(){this.constructor=e}e.prototype=o===null?Object.create(o):(n.prototype=o.prototype,new n)}}();var __awaiter=this&&this.__awaiter||function(t,e,o,n){function i(t){return t instanceof o?t:new o((function(e){e(t)}))}return new(o||(o=Promise))((function(o,r){function s(t){try{a(n.next(t))}catch(t){r(t)}}function c(t){try{a(n["throw"](t))}catch(t){r(t)}}function a(t){t.done?o(t.value):i(t.value).then(s,c)}a((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var o={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},n,i,r,s;return s={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function c(t){return function(e){return a([t,e])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,c[0]&&(o=0)),o)try{if(n=1,i&&(r=c[0]&2?i["return"]:c[0]?i["throw"]||((r=i["return"])&&r.call(i),0):i.next)&&!(r=r.call(i,c[1])).done)return r;if(i=0,r)c=[c[0]&2,r.value];switch(c[0]){case 0:case 1:r=c;break;case 4:o.label++;return{value:c[1],done:false};case 5:o.label++;i=c[1];c=[0];continue;case 7:c=o.ops.pop();o.trys.pop();continue;default:if(!(r=o.trys,r=r.length>0&&r[r.length-1])&&(c[0]===6||c[0]===2)){o=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]<r[3])){o.label=c[1];break}if(c[0]===6&&o.label<r[1]){o.label=r[1];r=c;break}if(r&&o.label<r[2]){o.label=r[2];o.ops.push(c);break}if(r[2])o.ops.pop();o.trys.pop();continue}c=e.call(t,o)}catch(t){c=[6,t];i=0}finally{n=r=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(t,e,o){if(o||arguments.length===2)for(var n=0,i=e.length,r;n<i;n++){if(r||!(n in e)){if(!r)r=Array.prototype.slice.call(e,0,n);r[n]=e[n]}}return t.concat(r||Array.prototype.slice.call(e))};import{r as registerInstance,d as createEvent,h,a as Host}from"./index-cfd394c8.js";import{b as stripeStore}from"./cart-402dcde5.js";import{j as getOverridenZCountry,k as isValidSelector,m as initLocalizationStore,s as storageStore,c as localizationStoreUpdateSelectedCountryCode}from"./localization-d49867ed.js";import{z as zonosStore,e as zonosStoreInitSetting,f as zonosStoreFontFamily}from"./zonosStore-b7d3f9b0.js";import{g as getGenericSettingsOverride,i as iframeServices,a as injectPrivateIframe}from"./getGenericSettingsOverride-0bc3e118.js";import{h as handleFetch,l as logError}from"./handleFetch-a844cac1.js";import{l as log}from"./VarianceTest-572cecf5.js";import{a as ensureAnalyticsRelayPing}from"./submitGtag-dc54f5b9.js";import"./isDarkColor-039ef212.js";import"./getBorderRadius-dc982fe6.js";import"./TaxId-50d72254.js";var getZonosSettings=function(){return __awaiter(void 0,void 0,void 0,(function(){var t,e,o,n,i,r,s;return __generator(this,(function(c){switch(c.label){case 0:if(window.Zonos.cartSettings){log("Reusing cached zonos settings");return[2,{errors:[],json:window.Zonos.cartSettings,zonosMode:window.Zonos.zonosMode}]}t=getGenericSettingsOverride();e=new URLSearchParams;if(t.overrideShouldEnabledCustomAddress){e.set("overrideShouldEnabledCustomAddress",t.overrideShouldEnabledCustomAddress)}o=getOverridenZCountry();if(o){e.set("zCountry",o)}return[4,handleFetch("/api/zonos-elements/zonos-settings?".concat(e.toString()))];case 1:n=c.sent(),i=n.errors,r=n.json,s=n.zonosMode;if(i.length){logError("Error occurred when getting zonos settings. If this is not an unauthorized error, it will use user settings or default settings");return[2,{errors:i,json:null,zonosMode:s}]}return[2,{errors:[],json:r,zonosMode:s}]}}))}))};var injectCheckoutElement$2=function(){var t=document.querySelector("zonos-checkout");if(!t){var e=document.createElement("zonos-checkout");document.body.appendChild(e)}};var initCheckout=function(t){if(!t.placeOrderButtonSelector&&!t.alwaysTriggerInternationalCheckoutSelector&&!window.Zonos.cartData){return}if(t.placeOrderButtonSelector&&!isValidSelector(t.placeOrderButtonSelector)){logError('Selector checkoutButtonAnchor "'.concat(t.placeOrderButtonSelector,'" is not a valid selector'));return}if(t.alwaysTriggerInternationalCheckoutSelector&&!isValidSelector(t.alwaysTriggerInternationalCheckoutSelector)){logError('Selector alwaysTriggerInternationalCheckoutSelector "'.concat(t.alwaysTriggerInternationalCheckoutSelector,'" is not a valid selector'));return}injectCheckoutElement$2()};var injectCheckoutElement$1=function(){var t=document.querySelector("zonos-collect");if(!t){var e=document.createElement("zonos-collect");document.body.appendChild(e)}};var initCollect=function(){if(!window.Zonos.cartData){return}injectCheckoutElement$1()};var injectCheckoutElement=function(){var t=document.querySelector("zonos-invoice");if(!t){var e=document.createElement("zonos-invoice");document.body.appendChild(e)}};var initInvoice=function(){if(!window.Zonos.cartData){return}injectCheckoutElement()};var STYLE_ID="zonos-domestic-element-hide-style";var supportsIsSelector=typeof document!=="undefined"&&function(){try{document.querySelector(":is(.zonos-is-probe)");return true}catch(t){return false}}();var splitTopLevelCommas=function(t){var e=[];var o=0;var n=0;var i="";for(var r=0;r<t.length;r++){var s=t[r];if(s==="("){o++}else if(s===")"){o--}else if(s==="["){n++}else if(s==="]"){n--}if(s===","&&o===0&&n===0){var c=i.trim();if(c){e.push(c)}i=""}else{i+=s}}var a=i.trim();if(a){e.push(a)}return e};var buildDomesticHideSelector=function(t){var e=t.merchantSelector,o=t.supportsIs;if(o){return"body.z-intl :is(".concat(e,")")}return splitTopLevelCommas(e).map((function(t){return"body.z-intl ".concat(t)})).join(", ")};var injectDomesticElementHideStyle=function(t){if(typeof document==="undefined"||!t){return}var e=buildDomesticHideSelector({merchantSelector:t,supportsIs:supportsIsSelector});try{document.querySelector(e)}catch(o){log('Skip domesticElementSelector injection: "'.concat(t,'" produced an invalid CSS selector ("').concat(e,'")'),"warn");return}if(document.getElementById(STYLE_ID)){return}var o=document.createElement("style");o.id=STYLE_ID;o.textContent="".concat(e," { display: none !important; }");(document.head||document.body).appendChild(o);log("Zonos domestic element hide style injected")};var injectHelloComponent=function(t){var e=document.querySelector(t);var o=document.querySelector("zonos-hello");if(!o&&e){var n=document.createElement("zonos-hello");e.appendChild(n);return true}return false};var convertPosition=function(t){switch(t){case"BOTTOM_RIGHT":return"bottom-right";case"BOTTOM_LEFT":return"bottom-left";case"TOP_LEFT":return"top-left";case"TOP_RIGHT":return"top-right";default:return"bottom-right"}};var injectDefaultWrapper=function(t){var e=t.position,o=e===void 0?"bottom-right":e;var n=".zonos--hello-mobile-wrapper";var i=document.querySelector(n);if(i){return n}var r=document.createElement("div");r.className="zonos--hello-mobile-wrapper";r.style.position="fixed";if(o==="top-right"){r.style.top="72px";r.style.right="24px"}if(o==="top-left"){r.style.top="72px";r.style.left="24px"}if(o==="bottom-right"){r.style.bottom="72px";r.style.right="24px"}if(o==="bottom-left"){r.style.bottom="72px";r.style.left="24px"}r.style.zIndex="2147483647";document.body.appendChild(r);return n};var initHello=function(t){return __awaiter(void 0,void 0,void 0,(function(){var e,o,n,i,r;return __generator(this,(function(s){if(window.Zonos.isLegacyCheckout){log("Hello is disabled when isLegacyCheckout","info");return[2]}e=t.anchorElementSelector;o=e;if(!t.anchorElementSelector&&t.desktopLocation){n=injectDefaultWrapper({position:"bottom-right"});o=n}if(!o||!isValidSelector(o)){logError('Selector anchorElementSelector "'.concat(t.anchorElementSelector,'" is not a valid selector.'));return[2]}log("Hello init complete");i=injectHelloComponent(o);if(!i){r=new MutationObserver((function(){var t=injectHelloComponent(o);if(t){r.disconnect()}}));r.observe(document.body,{childList:true,subtree:true});setTimeout((function(){injectHelloComponent(o)}),1e3);setTimeout((function(){if(t.notFoundElementFallback){log("Hello anchor selector ".concat(t.anchorElementSelector," not found after 3 seconds, falling back to 'notFoundElementFallback': ").concat(t.notFoundElementFallback),"info");var e=injectDefaultWrapper({position:convertPosition(t.notFoundElementFallback)});injectHelloComponent(e)}}),3e3)}return[2]}))}))};var IframeCommunicator=function(){function t(t,e){var o=this;this.targetId=t;this.allowedEvents=e;this.listeners=new Map;this.handleMessage=function(t){var e,n,i;var r=t.data;var s=((e=o.iframe)===null||e===void 0?void 0:e.contentWindow)||((i=(n=o.iframe)===null||n===void 0?void 0:n.contentDocument)===null||i===void 0?void 0:i.defaultView);if(t.source!==s){return}if(!o.isValidMessage(r)){return}var c=o.listeners.get(r.type);c===null||c===void 0?void 0:c.forEach((function(t){try{t(r.payload)}catch(t){logError("Error in event listener:",t)}}))};this.initializeEventListeners();this.iframe=document.getElementById(this.targetId)}t.prototype.initializeEventListeners=function(){window.addEventListener("message",this.handleMessage)};t.prototype.isValidMessage=function(t){if(!t||typeof t!=="object")return false;var e=t;return e.id===this.targetId&&typeof e.type==="string"&&this.allowedEvents.includes(e.type)&&e.payload!==undefined};t.prototype.on=function(t,e){var o=this;if(!this.listeners.has(t)){this.listeners.set(t,new Set)}log("[CheckoutAddressService] listening to ".concat(t),"info");var n=e;var i=this.listeners.get(t);if(i){i.add(n)}return function(){var e=o.listeners.get(t);if(e){e.delete(n)}}};t.prototype.destroy=function(){window.removeEventListener("message",this.handleMessage);this.listeners.clear()};return t}();var GooglePlacesService=function(t){__extends(e,t);function e(){log("=== [Google Places Service] Initializing","info");return t.call(this,iframeServices.GOOGLE_PLACES,["fetchAutocompleteSuggestions","initializeGooglePlacesService","placeSelected","onFetchAutocompleteSuggestions","onInitializeGooglePlacesService","onPlaceSelected"])||this}e.prototype.sendMessage=function(t,e){var o;if(!((o=this.iframe)===null||o===void 0?void 0:o.contentWindow)){return}var n={id:this.targetId,logType:window.Zonos.iframeLogType,payload:e,type:t};log("GooglePlacesService] parent --\x3e ".concat(t),"info",e);this.iframe.contentWindow.postMessage(n,"*")};e.prototype.initialize=function(){this.sendMessage("initializeGooglePlacesService",{})};e.prototype.fetchSuggestions=function(t){var e=t.country,o=t.query,n=t.type;if(!e){return}this.sendMessage("fetchAutocompleteSuggestions",{request:{includedRegionCodes:[e],input:o},type:n})};e.prototype.selectPlace=function(t){var e=t.placeId,o=t.type;this.sendMessage("placeSelected",{placeId:e,type:o})};return e}(IframeCommunicator);var CheckoutAddressService=function(){function t(){var t=this;this.googlePlaceInitialized=false;log("=== [CheckoutAddressService] Initializing","info");this.googlePlaces=new GooglePlacesService;this.googlePlaces.on("onInitializeGooglePlacesService",(function(){log("=== [CheckoutAddressService] parent <-- onInitializeGooglePlacesService","info");t.googlePlaceInitialized=true}));this.initialize()}t.prototype.initialize=function(){this.googlePlaces.initialize()};t.prototype.onInitializeGooglePlacesService=function(t){return this.googlePlaces.on("onInitializeGooglePlacesService",(function(){log("[CheckoutAddressService] parent <-- onInitializeGooglePlacesService");t()}))};t.prototype.isGooglePlaceInitialized=function(){return this.googlePlaceInitialized};t.prototype.onAddressSuggestions=function(t){this.suggestionsCallback=t;return this.googlePlaces.on("onFetchAutocompleteSuggestions",(function(){var e=[];for(var o=0;o<arguments.length;o++){e[o]=arguments[o]}log.apply(void 0,__spreadArray(["[CheckoutAddressService] parent <-- onFetchAutocompleteSuggestions ".concat(e[0].type),"info"],e,false));t.apply(void 0,e)}))};t.prototype.onAddressSelected=function(t){this.placeSelectedCallback=t;return this.googlePlaces.on("onPlaceSelected",(function(){var e=[];for(var o=0;o<arguments.length;o++){e[o]=arguments[o]}log.apply(void 0,__spreadArray(["[CheckoutAddressService] parent <-- onPlaceSelected ".concat(e[0].type),"info"],e,false));t.apply(void 0,e)}))};t.prototype.getAddressSuggestions=function(t){var e=t.country,o=t.query,n=t.type;if(!this.googlePlaceInitialized){return}this.googlePlaces.fetchSuggestions({country:e,query:o,type:n})};t.prototype.selectAddress=function(t){var e=t.placeId,o=t.type;this.googlePlaces.selectPlace({placeId:e,type:o})};t.prototype.destroy=function(){this.googlePlaces.destroy();if(this.suggestionsCallback){this.suggestionsCallback=undefined}if(this.placeSelectedCallback){this.placeSelectedCallback=undefined}};return t}();var zonosControllerCss=":host{font-family:var(--zonos--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--zonos--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{visibility:hidden;opacity:0;height:0}";var ZonosControllerStyle0=zonosControllerCss;var ZonosController=function(){function t(t){registerInstance(this,t);this.paypalInitEvent=createEvent(this,"paypalInitEvent",7);this.stripeInitEvent=createEvent(this,"stripeInitEvent",7)}t.prototype.initCheckoutElement=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!t){log("Stripe is not loaded yet - cannot init checkout element","warn");return[2]}stripeStore.stripe=t;void initCheckout(zonosStore.checkoutSettings);log("init checkout element");return[2]}))}))};t.prototype.initCollectElement=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!t){log("Stripe is not loaded yet - cannot init Collect element","warn");return[2]}stripeStore.stripe=t;void initCollect();log("init Collect element");return[2]}))}))};t.prototype.initInvoiceElement=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!t){log("Stripe is not loaded yet - cannot init Invoice element","warn");return[2]}stripeStore.stripe=t;void initInvoice();log("init Invoice element");return[2]}))}))};t.prototype.initZonosNotification=function(){var t=document.querySelector("zonos-notification");if(t){return}var e=document.createElement("zonos-notification");document.body.appendChild(e)};t.prototype.setupGoogleFont=function(t){return __awaiter(this,void 0,void 0,(function(){var e,o,n,i,r,s,c,a;return __generator(this,(function(u){switch(u.label){case 0:n=t||zonosStoreFontFamily();if(n==="Inter"){if(!t){return[2]}log("[FONT] Just applied Inter , but no need to inject since we already inject Inter on start","warn");zonosStore.appearance=Object.assign(Object.assign({},zonosStore.appearance),{fontFamily:t})}i=new URLSearchParams;i.set("family",n);return[4,handleFetch("/api/zonos-elements/get-font-detail?".concat(i.toString()))];case 1:r=u.sent(),s=r.errors,c=r.json;if(s.length>0){log("Failed to load font ".concat(n),"warn");zonosStore.appearance=Object.assign(Object.assign({},zonosStore.appearance),{fontFamily:"Inter"});return[2]}a=c===null||c===void 0?void 0:c.fontUrl;if(a){(o=(e=window.Zonos).injectSupportGoogleFont)===null||o===void 0?void 0:o.call(e,a)}if(!t){return[2]}log("[FONT] ".concat(t," font override applied"));zonosStore.appearance=Object.assign(Object.assign({},zonosStore.appearance),{fontFamily:t});return[2]}}))}))};t.prototype.handleLocationChange=function(){void initHello(zonosStore.helloSettings)};t.prototype.initHistoryListener=function(){var t=history.pushState;history.pushState=function e(){window.dispatchEvent(new window.Event("pushstate"));window.dispatchEvent(new window.Event("locationchange"));return t.apply(this,arguments)};var e=history.replaceState;history.replaceState=function t(){window.dispatchEvent(new window.Event("replacestate"));window.dispatchEvent(new window.Event("locationchange"));return e.apply(this,arguments)}};t.prototype.injectCustomHTML=function(t){if(!t){return}if(!window.Zonos.isLegacyCheckout||window.Zonos.isCollect||window.Zonos.isInvoice){log("=== Skip injecting custom HTML for hosted checkout","info");return}log("=== Injecting custom HTML for hosted checkout");var e=document.createElement("template");e.innerHTML=t;var o=e.content.querySelectorAll("script");o.forEach((function(t){var e=document.createElement("script");if(t.src){e.src=t.src;e.async=t.async}else{e.textContent=t.innerHTML}document.body.appendChild(e)}));ensureAnalyticsRelayPing()};t.prototype.initGooglePlacesService=function(t){return __awaiter(this,void 0,void 0,(function(){var e,o;return __generator(this,(function(n){e=t===null||t===void 0?void 0:t.genericSettings;if(!e){return[2]}o=e.signedTokenGooglePlaces;if(!o){return[2]}injectPrivateIframe({id:iframeServices.GOOGLE_PLACES,onload:function(){zonosStore.checkoutAddressService=new CheckoutAddressService},src:"".concat("https://route.elements.zonos.com","/iframe/google-maps?signedToken=").concat(o)});return[2]}))}))};t.prototype.buildBaseConfig=function(t){var e,o;var n=Object.assign(Object.assign({},this.config.checkoutSettings),{allowedSettlementCurrencies:undefined,captureDelay:undefined,subscriptionStatus:undefined});if(window.Zonos.isCollect||window.Zonos.isInvoice){return Object.assign(Object.assign({},this.config),{checkoutSettings:n,helloSettings:Object.assign(Object.assign({},this.config.helloSettings),{visibilityStatus:"DISABLED"})})}if(!this.config.checkoutSettings){return Object.assign(Object.assign({},this.config),{checkoutSettings:undefined})}var i=window.Zonos.isLegacyCheckout&&!!window.Zonos.cartData&&((e=this.config.checkoutSettings)===null||e===void 0?void 0:e.successBehavior)==="CLOSE_MODAL";return Object.assign(Object.assign({},this.config),{checkoutSettings:Object.assign(Object.assign({},n),{successBehavior:i?"ZONOS_SUCCESS_PAGE":this.config.checkoutSettings.successBehavior,successRedirectUrl:i?((o=window.Zonos.cartData)===null||o===void 0?void 0:o.storeBaseUrl)||(t===null||t===void 0?void 0:t.onlineStoreSettings.url):this.config.checkoutSettings.successRedirectUrl})})};t.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var t=this;return __generator(this,(function(e){this.initHistoryListener();zonosStore.zonosApiKey=this.zonosApiKey;(function(){return __awaiter(t,void 0,void 0,(function(){var t,e,o,n,i,r,s,c,a,u,l,d,f,h,v,g,m,S;var p=this;return __generator(this,(function(w){switch(w.label){case 0:return[4,getZonosSettings()];case 1:s=w.sent(),c=s.errors,a=s.json,u=s.zonosMode;if(((e=(t=c[0])===null||t===void 0?void 0:t.type)===null||e===void 0?void 0:e.toString())==="403"){log("Failed to load zonos settings. This domain may not have access","warn");return[2]}l=((o=a===null||a===void 0?void 0:a.checkoutSettings)===null||o===void 0?void 0:o.customHTML)||"";this.injectCustomHTML(l);this.initZonosNotification();d=function(){var t,e,o;if(window.Zonos.isLegacyCheckout){return((t=a===null||a===void 0?void 0:a.appearanceSettings)===null||t===void 0?void 0:t.logoUrl)||((e=p.config.appearance)===null||e===void 0?void 0:e.logoUrl)}return(o=p.config.appearance)===null||o===void 0?void 0:o.logoUrl};f=this.buildBaseConfig(a);h=Object.assign(Object.assign(Object.assign({},this.config),{appearance:Object.assign(Object.assign({},this.config.appearance),{logoUrl:d()})}),f);zonosStoreInitSetting({overrideSettings:h,zonosSettings:a});zonosStore.zonosMode=u;injectDomesticElementHideStyle(zonosStore.checkoutSettings.domesticElementSelector);void this.setupGoogleFont();if(zonosStore.helloSettings.visibilityStatus==="DISABLED"){log("=== Hello is disabled by store owner ===","warn")}if(zonosStore.helloSettings&&zonosStore.helloSettings.visibilityStatus==="ENABLED"){log("Initializing hello");void initHello(zonosStore.helloSettings)}return[4,initLocalizationStore()];case 2:w.sent();v=((n=a===null||a===void 0?void 0:a.checkoutSettings)===null||n===void 0?void 0:n.externalServiceTokens.find((function(t){return t.type==="STRIPE_PUBLISHABLE_TOKEN"})))||null;if(!v||!this.stripeInitEvent){log("Checkout failed to load -- missing publishable key","warn");return[2]}if(window.Zonos.isCollect||window.Zonos.isInvoice){this.stripeInitEvent.emit({publishableKey:v.token});void this.initGooglePlacesService(a);return[2]}if(zonosStore.checkoutSettings.subscriptionStatus==="INACTIVE"){log('=== Checkout subscription is "INACTIVE" - Cancel initializing for Checkout ===',"warn");log("zonos controller loaded");return[2]}if(zonosStore.checkoutSettings.visibilityStatus==="DISABLED"){log("=== Checkout is disabled by store owner ===","warn");log("zonos controller loaded");return[2]}g=typeof((i=zonosStore.checkoutSettings)===null||i===void 0?void 0:i.buildCartDetail)==="function"||typeof((r=zonosStore.checkoutSettings)===null||r===void 0?void 0:r.createCartId)==="function";m=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");S=!!(window.Zonos.cartId&&window.Zonos.cartData)||!!m;if(!g&&!S){log("Skip loading Stripe because no cart callback (buildCartDetail/createCartId), prefetched cart, or payment client secret is present","warn");return[2]}this.stripeInitEvent.emit({publishableKey:v.token});void this.initGooglePlacesService(a);return[2]}}))}))})();return[2]}))}))};t.prototype.showNotification=function(t){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(o){e=document.querySelector("zonos-notification");if(!e){log("Failed to show notification - zonos-notification not found","warn");return[2]}void e.showNotification(t);return[2]}))}))};t.prototype.reset=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){storageStore.checkoutSessionId=null;stripeStore.clientSecret="";return[2]}))}))};t.prototype.overrideConfig=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){zonosStoreInitSetting({overrideSettings:t,zonosSettings:null});return[2]}))}))};t.prototype.overrideCountry=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){log("Override country code to ".concat(t));void localizationStoreUpdateSelectedCountryCode({isInitializing:false,newSelectedCountryCode:t});return[2]}))}))};t.prototype.getAppearanceSetting=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,zonosStore.appearance]}))}))};t.prototype.updateOrganizationName=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){zonosStore.organizationName=t;return[2]}))}))};t.prototype.render=function(){return h(Host,{key:"925af89a63419b44e6372de48c66e0898d039ae0",class:"zonos--elements"})};return t}();ZonosController.style=ZonosControllerStyle0;export{ZonosController as zonos_controller};
|