@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.
@@ -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.276.js.zonos.com";
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 stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
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
- return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
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.276.js.zonos.com";
385
- const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.276";
386
- const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.276";
387
- const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.276";
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 = "1782615830331";
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.276"}`;
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: '172f5c893940145cc2eb84c721783bc64332d3dc', class: "zonos--elements" });
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: '172f5c893940145cc2eb84c721783bc64332d3dc', class: "zonos--elements" });
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 stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
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
- return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
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.276.js.zonos.com";
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 stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
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
- return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
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.276.js.zonos.com";
383
- const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.276";
384
- const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.276";
385
- const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.276";
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 = "1782615830331";
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.276"}`;
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: '172f5c893940145cc2eb84c721783bc64332d3dc', class: "zonos--elements" });
862
+ return h(Host, { key: '925af89a63419b44e6372de48c66e0898d039ae0', class: "zonos--elements" });
850
863
  }
851
864
  };
852
865
  ZonosController.style = ZonosControllerStyle0;
@@ -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};