@zonos/elements 1.3.276 → 1.3.278

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.
Files changed (122) hide show
  1. package/dist/cjs/{cart-65e8da66.js → cart-e8bc11a3.js} +7 -2
  2. package/dist/cjs/{collect-37c177ab.js → collect-e6485168.js} +1 -1
  3. package/dist/cjs/index.cjs.js +32 -9
  4. package/dist/cjs/{invoice-96f5c802.js → invoice-dff7ec81.js} +1 -1
  5. package/dist/cjs/{paypal-1952f6ec.js → paypal-77bd640c.js} +1 -1
  6. package/dist/cjs/{placeTestOrder-30191a8f.js → placeTestOrder-7767d119.js} +1 -1
  7. package/dist/cjs/{renderCheckoutCurrency-fd35b4ef.js → renderCheckoutCurrency-66377cf5.js} +1 -1
  8. package/dist/cjs/zonos-address-display_8.cjs.entry.js +1 -1
  9. package/dist/cjs/zonos-address_4.cjs.entry.js +1 -1
  10. package/dist/cjs/zonos-airwallex-payment.cjs.entry.js +2 -2
  11. package/dist/cjs/zonos-card_5.cjs.entry.js +2 -2
  12. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +4 -4
  13. package/dist/cjs/zonos-checkout.cjs.entry.js +2 -2
  14. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +1 -1
  15. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +5 -5
  16. package/dist/cjs/zonos-collect.cjs.entry.js +3 -3
  17. package/dist/cjs/zonos-controller.cjs.entry.js +16 -3
  18. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +3 -3
  19. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +5 -5
  20. package/dist/cjs/zonos-invoice.cjs.entry.js +3 -3
  21. package/dist/cjs/zonos-policy-consent_2.cjs.entry.js +2 -2
  22. package/dist/collection/components/main/zonos-controller.js +15 -2
  23. package/dist/collection/components/store/checkout/stripe.js +7 -2
  24. package/dist/collection/scripts/_loadStripe.js +20 -2
  25. package/dist/collection/scripts/_zonosBase.js +5 -0
  26. package/dist/esm/{cart-402dcde5.js → cart-8b8dc79f.js} +7 -2
  27. package/dist/esm/{collect-b88fe4ca.js → collect-f4965586.js} +1 -1
  28. package/dist/esm/index.js +32 -9
  29. package/dist/esm/{invoice-5eb27944.js → invoice-b7a1fb14.js} +1 -1
  30. package/dist/esm/{paypal-2d4c9d01.js → paypal-da551105.js} +1 -1
  31. package/dist/esm/{placeTestOrder-2ba7c3f2.js → placeTestOrder-4309b170.js} +1 -1
  32. package/dist/esm/{renderCheckoutCurrency-ef71083e.js → renderCheckoutCurrency-0ed221ac.js} +1 -1
  33. package/dist/esm/zonos-address-display_8.entry.js +1 -1
  34. package/dist/esm/zonos-address_4.entry.js +1 -1
  35. package/dist/esm/zonos-airwallex-payment.entry.js +2 -2
  36. package/dist/esm/zonos-card_5.entry.js +2 -2
  37. package/dist/esm/zonos-cart-items_12.entry.js +4 -4
  38. package/dist/esm/zonos-checkout.entry.js +2 -2
  39. package/dist/esm/zonos-collect-cart-items_3.entry.js +1 -1
  40. package/dist/esm/zonos-collect-finish_6.entry.js +5 -5
  41. package/dist/esm/zonos-collect.entry.js +3 -3
  42. package/dist/esm/zonos-controller.entry.js +16 -3
  43. package/dist/esm/zonos-invoice-cart-items_2.entry.js +3 -3
  44. package/dist/esm/zonos-invoice-finish_5.entry.js +5 -5
  45. package/dist/esm/zonos-invoice.entry.js +3 -3
  46. package/dist/esm/zonos-policy-consent_2.entry.js +2 -2
  47. package/dist/esm-es5/cart-8b8dc79f.js +1 -0
  48. package/dist/esm-es5/{collect-b88fe4ca.js → collect-f4965586.js} +1 -1
  49. package/dist/esm-es5/index.js +1 -1
  50. package/dist/esm-es5/{invoice-5eb27944.js → invoice-b7a1fb14.js} +1 -1
  51. package/dist/esm-es5/{paypal-2d4c9d01.js → paypal-da551105.js} +1 -1
  52. package/dist/esm-es5/{placeTestOrder-2ba7c3f2.js → placeTestOrder-4309b170.js} +1 -1
  53. package/dist/esm-es5/{renderCheckoutCurrency-ef71083e.js → renderCheckoutCurrency-0ed221ac.js} +1 -1
  54. package/dist/esm-es5/zonos-address-display_8.entry.js +1 -1
  55. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  56. package/dist/esm-es5/zonos-airwallex-payment.entry.js +1 -1
  57. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  58. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  59. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  60. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  61. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  62. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  63. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  64. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
  65. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  66. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  67. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -1
  68. package/dist/scripts/index.d.ts +14 -0
  69. package/dist/scripts/index.js +1 -1
  70. package/dist/scripts/loadZonos.js +1 -1
  71. package/dist/scripts/zonos.js +1 -1
  72. package/dist/types/scripts/_zonosBase.d.ts +12 -0
  73. package/dist/types/types/checkout/api/CalculateLandedCost.d.ts +2 -0
  74. package/dist/zonos-elements/index.esm.js +1 -1
  75. package/dist/zonos-elements/{p-f2d50796.system.js → p-02065a08.system.js} +1 -1
  76. package/dist/zonos-elements/{p-3feff726.entry.js → p-0402af0d.entry.js} +1 -1
  77. package/dist/zonos-elements/{p-864525b4.system.entry.js → p-12a08423.system.entry.js} +1 -1
  78. package/dist/zonos-elements/{p-18135660.entry.js → p-21d925d7.entry.js} +1 -1
  79. package/dist/zonos-elements/p-2654556b.js +1 -0
  80. package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
  81. package/dist/zonos-elements/{p-4a1c9fa1.entry.js → p-2aecc055.entry.js} +1 -1
  82. package/dist/zonos-elements/{p-2ea73ca2.system.js → p-32278945.system.js} +1 -1
  83. package/dist/zonos-elements/{p-45535a81.js → p-32704baa.js} +1 -1
  84. package/dist/zonos-elements/{p-6ad0f720.system.js → p-3f380c8f.system.js} +2 -2
  85. package/dist/zonos-elements/{p-c750a2e0.system.entry.js → p-43815edd.system.entry.js} +1 -1
  86. package/dist/zonos-elements/p-45e1c33b.entry.js +1 -0
  87. package/dist/zonos-elements/{p-ac9b9f7d.entry.js → p-5827c868.entry.js} +1 -1
  88. package/dist/zonos-elements/{p-48627415.system.entry.js → p-5afea02c.system.entry.js} +1 -1
  89. package/dist/zonos-elements/{p-67dac4e5.system.entry.js → p-5bc43687.system.entry.js} +1 -1
  90. package/dist/zonos-elements/{p-a3bc7e97.js → p-5c76ef2a.js} +1 -1
  91. package/dist/zonos-elements/{p-2e0d813f.system.js → p-5e09c22d.system.js} +1 -1
  92. package/dist/zonos-elements/{p-58b56c69.entry.js → p-6b4ef7e0.entry.js} +1 -1
  93. package/dist/zonos-elements/{p-10715fee.system.entry.js → p-6fae9835.system.entry.js} +1 -1
  94. package/dist/zonos-elements/{p-f2768c92.system.js → p-7365e22c.system.js} +1 -1
  95. package/dist/zonos-elements/{p-82341c15.entry.js → p-73d3fa61.entry.js} +1 -1
  96. package/dist/zonos-elements/{p-b1c86a5b.js → p-74ebd766.js} +1 -1
  97. package/dist/zonos-elements/{p-3cfa4880.js → p-7522ec43.js} +1 -1
  98. package/dist/zonos-elements/{p-89befc63.system.entry.js → p-7614ea6f.system.entry.js} +1 -1
  99. package/dist/zonos-elements/{p-4d29dcc8.entry.js → p-77fa437c.entry.js} +1 -1
  100. package/dist/zonos-elements/{p-a7050d1e.system.entry.js → p-7e8aba66.system.entry.js} +1 -1
  101. package/dist/zonos-elements/{p-1e4dcd29.entry.js → p-8b42245d.entry.js} +1 -1
  102. package/dist/zonos-elements/{p-b7e4f1f5.entry.js → p-8bd37d3b.entry.js} +1 -1
  103. package/dist/zonos-elements/{p-77ac8bfe.entry.js → p-8d87e748.entry.js} +1 -1
  104. package/dist/zonos-elements/{p-144a380d.entry.js → p-9beb2624.entry.js} +1 -1
  105. package/dist/zonos-elements/{p-a02ff788.js → p-a8c79850.js} +1 -1
  106. package/dist/zonos-elements/{p-ac1b60c8.system.entry.js → p-abf61f6f.system.entry.js} +1 -1
  107. package/dist/zonos-elements/{p-4a6f9c5e.system.entry.js → p-ac59f5c1.system.entry.js} +1 -1
  108. package/dist/zonos-elements/{p-55195dab.entry.js → p-b36205f4.entry.js} +1 -1
  109. package/dist/zonos-elements/p-bf0148ae.system.js +1 -0
  110. package/dist/zonos-elements/{p-0b321037.system.entry.js → p-cd41b16b.system.entry.js} +1 -1
  111. package/dist/zonos-elements/{p-628fe742.system.entry.js → p-d7cb9ef6.system.entry.js} +1 -1
  112. package/dist/zonos-elements/{p-534057ad.system.entry.js → p-d93991c3.system.entry.js} +1 -1
  113. package/dist/zonos-elements/{p-684e27da.system.js → p-e6165cc2.system.js} +1 -1
  114. package/dist/zonos-elements/{p-42ba4da5.system.entry.js → p-eb9369b9.system.entry.js} +1 -1
  115. package/dist/zonos-elements/{p-5ce88ef3.system.entry.js → p-ed676ad1.system.entry.js} +1 -1
  116. package/dist/zonos-elements/{p-521cbeea.entry.js → p-f44a3338.entry.js} +1 -1
  117. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  118. package/package.json +1 -1
  119. package/dist/esm-es5/cart-402dcde5.js +0 -1
  120. package/dist/zonos-elements/p-4b06044f.js +0 -1
  121. package/dist/zonos-elements/p-5e3b0ef4.entry.js +0 -1
  122. package/dist/zonos-elements/p-6f324051.system.js +0 -1
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.278.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.278.js.zonos.com";
401
+ const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.278";
402
+ const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.278";
403
+ const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.278";
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 = "1783025257357";
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.278"}`;
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;
@@ -1,5 +1,5 @@
1
1
  import { c as createStore, z as zonosStore } from './zonosStore-b7d3f9b0.js';
2
- import { b as stripeStore, K as stripeStoreBuildAddressForPartyCreate, d as cartStore, L as cartStoreUpdateSelectedShippingOption } from './cart-402dcde5.js';
2
+ import { b as stripeStore, K as stripeStoreBuildAddressForPartyCreate, d as cartStore, L as cartStoreUpdateSelectedShippingOption } from './cart-8b8dc79f.js';
3
3
  import { s as storageStore } from './localization-d49867ed.js';
4
4
  import { h as handleFetch, s as sendErrorLog, l as logError } from './handleFetch-a844cac1.js';
5
5
  import { b as allLogs } from './VarianceTest-572cecf5.js';
@@ -1,5 +1,5 @@
1
1
  import { z as zonosStore, c as createStore } from './zonosStore-b7d3f9b0.js';
2
- import { t as trackConversionEvent, v as isPolicyConsentRequired, E as policyConsentStore, A as validateCheckoutSession, b as stripeStore, d as cartStore, x as stripeStoreHandleInventoryCheck, y as storeCreditStoreApplyCredit, J as stripeStoreRecordPolicyConsent, z as storeCreditStoreCoversFullAmount, B as storeCreditStoreCreateOrder, u as cartStoreNextStep, h as cartStoreClearCheckoutInterval, I as storeCreditStoreGetEffectiveAmount } from './cart-402dcde5.js';
2
+ import { t as trackConversionEvent, v as isPolicyConsentRequired, E as policyConsentStore, A as validateCheckoutSession, b as stripeStore, d as cartStore, x as stripeStoreHandleInventoryCheck, y as storeCreditStoreApplyCredit, J as stripeStoreRecordPolicyConsent, z as storeCreditStoreCoversFullAmount, B as storeCreditStoreCreateOrder, u as cartStoreNextStep, h as cartStoreClearCheckoutInterval, I as storeCreditStoreGetEffectiveAmount } from './cart-8b8dc79f.js';
3
3
  import { t as translate, s as storageStore } from './localization-d49867ed.js';
4
4
  import { h as handleFetch, g as getIsTestMode, l as logError, j as jsonParse } from './handleFetch-a844cac1.js';
5
5
  import { i as isContrastColor } from './isContrastColor-089de6ac.js';
@@ -1,4 +1,4 @@
1
- import { d as cartStore } from './cart-402dcde5.js';
1
+ import { d as cartStore } from './cart-8b8dc79f.js';
2
2
  import { s as storageStore } from './localization-d49867ed.js';
3
3
  import { l as logError, h as handleFetch } from './handleFetch-a844cac1.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { d as cartStore } from './cart-402dcde5.js';
1
+ import { d as cartStore } from './cart-8b8dc79f.js';
2
2
  import { w as applyInclusiveEffectiveRate, h as currencyFormat } from './localization-d49867ed.js';
3
3
 
4
4
  const getDisplayCurrency = () => {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, a as Host, d as createEvent, g as getElement } from './index-cfd394c8.js';
2
2
  import { t as translate, l as localizationStore, s as storageStore, y as storageStoreOnChange } from './localization-d49867ed.js';
3
3
  import { i as isTextContainsNonLatinChars, c as containsNonLatinChars } from './containsNonLatinChars-2d8810c3.js';
4
- import { V as extractName, b as stripeStore, r as stripeStorePrefetchLandedCost, t as trackConversionEvent } from './cart-402dcde5.js';
4
+ import { V as extractName, b as stripeStore, r as stripeStorePrefetchLandedCost, t as trackConversionEvent } from './cart-8b8dc79f.js';
5
5
  import { c as classes } from './classes-0d95c529.js';
6
6
  import { g as getBorderRadius } from './getBorderRadius-dc982fe6.js';
7
7
  import { z as zonosStore, f as zonosStoreFontFamily } from './zonosStore-b7d3f9b0.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, d as createEvent, h, a as Host, g as getElement } from './index-cfd394c8.js';
2
2
  import { t as throttle_1 } from './throttle-44bfb6b5.js';
3
- import { b as stripeStore, t as trackConversionEvent, V as extractName, H as stripeStoreOnChange, r as stripeStorePrefetchLandedCost, d as cartStore } from './cart-402dcde5.js';
3
+ import { b as stripeStore, t as trackConversionEvent, V as extractName, H as stripeStoreOnChange, r as stripeStorePrefetchLandedCost, d as cartStore } from './cart-8b8dc79f.js';
4
4
  import { s as storageStore, z as getFallbackDefaultCountryCode, t as translate, y as storageStoreOnChange, l as localizationStore } from './localization-d49867ed.js';
5
5
  import { z as zonosStore, g as getZonosStoreTheme, f as zonosStoreFontFamily } from './zonosStore-b7d3f9b0.js';
6
6
  import { l as logError, i as isCheckoutMobile, s as sendErrorLog } from './handleFetch-a844cac1.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, d as createEvent, h, a as Host, g as getElement } from './index-cfd394c8.js';
2
- import { b as airwallexStore, c as collectStore, f as airwallexStoreInitSdk, l as createElement, m as airwallexStoreGetLocale, n as airwallexStoreOnChange } from './collect-b88fe4ca.js';
3
- import { d as cartStore } from './cart-402dcde5.js';
2
+ import { b as airwallexStore, c as collectStore, f as airwallexStoreInitSdk, l as createElement, m as airwallexStoreGetLocale, n as airwallexStoreOnChange } from './collect-f4965586.js';
3
+ import { d as cartStore } from './cart-8b8dc79f.js';
4
4
  import { e as localizationStoreOnChange, t as translate, l as localizationStore } from './localization-d49867ed.js';
5
5
  import { z as zonosStore } from './zonosStore-b7d3f9b0.js';
6
6
  import { l as log } from './VarianceTest-572cecf5.js';
@@ -2,10 +2,10 @@ import { r as registerInstance, h, a as Host, g as getElement, d as createEvent
2
2
  import { f as zonosStoreFontFamily } from './zonosStore-b7d3f9b0.js';
3
3
  import { c as classes } from './classes-0d95c529.js';
4
4
  import { g as getBorderRadius } from './getBorderRadius-dc982fe6.js';
5
- import { b as stripeStore, t as trackConversionEvent } from './cart-402dcde5.js';
5
+ import { b as stripeStore, t as trackConversionEvent } from './cart-8b8dc79f.js';
6
6
  import { s as storageStore } from './localization-d49867ed.js';
7
7
  import { l as logError } from './handleFetch-a844cac1.js';
8
- import { d as paypalStoreInitButtons, e as paypalStoreOnChange } from './paypal-2d4c9d01.js';
8
+ import { d as paypalStoreInitButtons, e as paypalStoreOnChange } from './paypal-da551105.js';
9
9
  import { l as log } from './VarianceTest-572cecf5.js';
10
10
  import './isDarkColor-039ef212.js';
11
11
  import './TaxId-50d72254.js';
@@ -1,18 +1,18 @@
1
1
  import { r as registerInstance, e as getAssetPath, h, a as Host, F as Fragment, d as createEvent, g as getElement } from './index-cfd394c8.js';
2
- import { d as cartStore, M as cartStoreHasOneEligibleItem, N as isEuDapRemittance, b as stripeStore, O as stripeStoreApplyPromoCode, P as stripeStoreRemovePromoCode, F as stripeStoreReset, c as stripeStoreRetrievePayment, t as trackConversionEvent, Q as stripeStoreResetPromoCode, R as stripeStoreMessageBasedOnStatus, S as storeCreditStore, T as storeCreditStoreReset, z as storeCreditStoreCoversFullAmount, v as isPolicyConsentRequired, E as policyConsentStore, J as stripeStoreRecordPolicyConsent, u as cartStoreNextStep, U as stripeStoreTranslateAddressToLatin, V as extractName, G as cartStoreOnChange, W as stripeStoreAsyncAddressUpdate, L as cartStoreUpdateSelectedShippingOption, X as cartStoreGetShippingTransitInfo, Y as cartStoreGetMethod, Z as sortServiceLevelOptionsByAmount } from './cart-402dcde5.js';
2
+ import { d as cartStore, M as cartStoreHasOneEligibleItem, N as isEuDapRemittance, b as stripeStore, O as stripeStoreApplyPromoCode, P as stripeStoreRemovePromoCode, F as stripeStoreReset, c as stripeStoreRetrievePayment, t as trackConversionEvent, Q as stripeStoreResetPromoCode, R as stripeStoreMessageBasedOnStatus, S as storeCreditStore, T as storeCreditStoreReset, z as storeCreditStoreCoversFullAmount, v as isPolicyConsentRequired, E as policyConsentStore, J as stripeStoreRecordPolicyConsent, u as cartStoreNextStep, U as stripeStoreTranslateAddressToLatin, V as extractName, G as cartStoreOnChange, W as stripeStoreAsyncAddressUpdate, L as cartStoreUpdateSelectedShippingOption, X as cartStoreGetShippingTransitInfo, Y as cartStoreGetMethod, Z as sortServiceLevelOptionsByAmount } from './cart-8b8dc79f.js';
3
3
  import { t as translate, l as localizationStore, s as storageStore, u as getExchangeRate, v as numberFormat, e as localizationStoreOnChange } from './localization-d49867ed.js';
4
- import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-ef71083e.js';
4
+ import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-0ed221ac.js';
5
5
  import { c as cleanHtmlMarkdown } from './cleanHtmlMarkdown-87d195f6.js';
6
6
  import { c as classes } from './classes-0d95c529.js';
7
7
  import { z as zonosStore, c as createStore, h as zonosStoreOnChange, g as getZonosStoreTheme, f as zonosStoreFontFamily } from './zonosStore-b7d3f9b0.js';
8
8
  import { D as DUTY_KEY, T as TAXES_KEY, h as hasInclusivePrice } from './hasInclusivePrice-1589fef9.js';
9
- import { s as submitAnalytics, c as paypalStoreReset, a as paypalStore } from './paypal-2d4c9d01.js';
9
+ import { s as submitAnalytics, c as paypalStoreReset, a as paypalStore } from './paypal-da551105.js';
10
10
  import { h as handleFetch, s as sendErrorLog, j as jsonParse, g as getIsTestMode, i as isCheckoutMobile, a as getIsStagingMode } from './handleFetch-a844cac1.js';
11
11
  import { c as createCustomEvent } from './createCustomEvent-58159025.js';
12
12
  import { g as getBorderRadius } from './getBorderRadius-dc982fe6.js';
13
13
  import { l as log, b as allLogs } from './VarianceTest-572cecf5.js';
14
14
  import { l as languages } from './ILanguage-cd6acb72.js';
15
- import { p as placeTestOrder } from './placeTestOrder-2ba7c3f2.js';
15
+ import { p as placeTestOrder } from './placeTestOrder-4309b170.js';
16
16
  import { i as isDarkColor } from './isDarkColor-039ef212.js';
17
17
  import { g as getContrastColor } from './getContrastColor-af895b60.js';
18
18
  import { i as isColorVariable } from './isColorVariable-0a94004f.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, F as Fragment, a as Host } from './index-cfd394c8.js';
2
- import { s as stripeStoreGetDomesticShippingSession, a as stripeStoreSaveDomesticShippingSession, b as stripeStore, i as initStripeElements, c as stripeStoreRetrievePayment, d as cartStore, e as cartStoreUpdateItems, f as cartStoreReset, p as policyConsentStoreReset, g as cartStoreResetTabItems, h as cartStoreClearCheckoutInterval, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, l as cartStoreStartCheckoutInterval, t as trackConversionEvent, m as getCheckoutSessionBody, n as cartStoreUpdateToErrorState, o as stripeStoreCleanupDomesticShippingSession, q as cartStoreSetCheckoutSession, r as stripeStorePrefetchLandedCost, u as cartStoreNextStep, v as isPolicyConsentRequired, w as stripeStoreUpdateCheckoutSessionBaseCurrency, x as stripeStoreHandleInventoryCheck, y as storeCreditStoreApplyCredit, z as storeCreditStoreCoversFullAmount, A as validateCheckoutSession, B as storeCreditStoreCreateOrder, C as stripeStoreConfirmPayment, D as stripeStoreHandleInventoryRefund, E as policyConsentStore, F as stripeStoreReset, G as cartStoreOnChange, H as stripeStoreOnChange, I as storeCreditStoreGetEffectiveAmount } from './cart-402dcde5.js';
3
- import { p as paypalStoreHasPaypalEnabled, s as submitAnalytics, a as paypalStore, b as paypalInitScript } from './paypal-2d4c9d01.js';
2
+ import { s as stripeStoreGetDomesticShippingSession, a as stripeStoreSaveDomesticShippingSession, b as stripeStore, i as initStripeElements, c as stripeStoreRetrievePayment, d as cartStore, e as cartStoreUpdateItems, f as cartStoreReset, p as policyConsentStoreReset, g as cartStoreResetTabItems, h as cartStoreClearCheckoutInterval, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, l as cartStoreStartCheckoutInterval, t as trackConversionEvent, m as getCheckoutSessionBody, n as cartStoreUpdateToErrorState, o as stripeStoreCleanupDomesticShippingSession, q as cartStoreSetCheckoutSession, r as stripeStorePrefetchLandedCost, u as cartStoreNextStep, v as isPolicyConsentRequired, w as stripeStoreUpdateCheckoutSessionBaseCurrency, x as stripeStoreHandleInventoryCheck, y as storeCreditStoreApplyCredit, z as storeCreditStoreCoversFullAmount, A as validateCheckoutSession, B as storeCreditStoreCreateOrder, C as stripeStoreConfirmPayment, D as stripeStoreHandleInventoryRefund, E as policyConsentStore, F as stripeStoreReset, G as cartStoreOnChange, H as stripeStoreOnChange, I as storeCreditStoreGetEffectiveAmount } from './cart-8b8dc79f.js';
3
+ import { p as paypalStoreHasPaypalEnabled, s as submitAnalytics, a as paypalStore, b as paypalInitScript } from './paypal-da551105.js';
4
4
  import { f as filterValidTests, a as fetchCheckoutId, b as fetchBigCommerceCheckout, i as isBigCommerceCustomerLoggedIn, l as localizationStore, c as localizationStoreUpdateSelectedCountryCode, g as getZCountryUrlParam, s as storageStore, V as VARIANT_TEST_KEY_EXPIRATION, d as storageStoreSetEnabledVariantTestKeys, t as translate, e as localizationStoreOnChange, h as currencyFormat } from './localization-d49867ed.js';
5
5
  import { z as zonosStore, g as getZonosStoreTheme, m as mergeConfig } from './zonosStore-b7d3f9b0.js';
6
6
  import { b as buildCartItemsByTempCart } from './buildCartItemsByTempCart-a117f75d.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, e as getAssetPath, h, a as Host } from './index-cfd394c8.js';
2
- import { d as cartStore } from './cart-402dcde5.js';
2
+ import { d as cartStore } from './cart-8b8dc79f.js';
3
3
  import { c as cleanHtmlMarkdown } from './cleanHtmlMarkdown-87d195f6.js';
4
4
  import { f as zonosStoreFontFamily } from './zonosStore-b7d3f9b0.js';
5
5
  import { c as classes } from './classes-0d95c529.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, d as createEvent, h, F as Fragment, a as Host, g as getElement } from './index-cfd394c8.js';
2
- import { b as airwallexStore, d as airwallexStoreRetrievePaymentIntent, j as airwallexStoreMessageBasedOnStatus, k as airwallexStoreReset, c as collectStore, e as airwallexStoreIsPaidStatus } from './collect-b88fe4ca.js';
3
- import { b as stripeStore, c as stripeStoreRetrievePayment, t as trackConversionEvent, Q as stripeStoreResetPromoCode, F as stripeStoreReset, R as stripeStoreMessageBasedOnStatus, d as cartStore, u as cartStoreNextStep, G as cartStoreOnChange } from './cart-402dcde5.js';
4
- import { s as submitAnalytics, c as paypalStoreReset, a as paypalStore, b as paypalInitScript } from './paypal-2d4c9d01.js';
2
+ import { b as airwallexStore, d as airwallexStoreRetrievePaymentIntent, j as airwallexStoreMessageBasedOnStatus, k as airwallexStoreReset, c as collectStore, e as airwallexStoreIsPaidStatus } from './collect-f4965586.js';
3
+ import { b as stripeStore, c as stripeStoreRetrievePayment, t as trackConversionEvent, Q as stripeStoreResetPromoCode, F as stripeStoreReset, R as stripeStoreMessageBasedOnStatus, d as cartStore, u as cartStoreNextStep, G as cartStoreOnChange } from './cart-8b8dc79f.js';
4
+ import { s as submitAnalytics, c as paypalStoreReset, a as paypalStore, b as paypalInitScript } from './paypal-da551105.js';
5
5
  import { t as translate, s as storageStore, l as localizationStore, x as translationStoreOnChange } from './localization-d49867ed.js';
6
6
  import { z as zonosStore } from './zonosStore-b7d3f9b0.js';
7
7
  import { h as handleFetch, s as sendErrorLog, g as getIsTestMode, i as isCheckoutMobile, a as getIsStagingMode } from './handleFetch-a844cac1.js';
@@ -11,8 +11,8 @@ import { l as log, b as allLogs } from './VarianceTest-572cecf5.js';
11
11
  import { i as isCollectMobile, a as isCollectTablet } from './isCollectMobileTablet-111b0dd7.js';
12
12
  import { c as classes } from './classes-0d95c529.js';
13
13
  import { l as languages } from './ILanguage-cd6acb72.js';
14
- import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-ef71083e.js';
15
- import { p as placeTestOrder } from './placeTestOrder-2ba7c3f2.js';
14
+ import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-0ed221ac.js';
15
+ import { p as placeTestOrder } from './placeTestOrder-4309b170.js';
16
16
  import { r as renderFallback } from './renderFallback-b250f4e9.js';
17
17
  import './isDarkColor-039ef212.js';
18
18
  import './TaxId-50d72254.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, a as Host, F as Fragment } from './index-cfd394c8.js';
2
- import { c as collectStore, a as airwallexStoreSetFromSession, b as airwallexStore, d as airwallexStoreRetrievePaymentIntent, e as airwallexStoreIsPaidStatus, f as airwallexStoreInitSdk, g as collectStoreUpdateSelectedShippingOption, h as collectStoreInitShippingInfo, i as collectStoreAsyncAddressUpdate } from './collect-b88fe4ca.js';
3
- import { b as stripeStore, i as initStripeElements, d as cartStore, c as stripeStoreRetrievePayment, n as cartStoreUpdateToErrorState, e as cartStoreUpdateItems, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, w as stripeStoreUpdateCheckoutSessionBaseCurrency, C as stripeStoreConfirmPayment, H as stripeStoreOnChange, F as stripeStoreReset, f as cartStoreReset } from './cart-402dcde5.js';
4
- import { p as paypalStoreHasPaypalEnabled, a as paypalStore } from './paypal-2d4c9d01.js';
2
+ import { c as collectStore, a as airwallexStoreSetFromSession, b as airwallexStore, d as airwallexStoreRetrievePaymentIntent, e as airwallexStoreIsPaidStatus, f as airwallexStoreInitSdk, g as collectStoreUpdateSelectedShippingOption, h as collectStoreInitShippingInfo, i as collectStoreAsyncAddressUpdate } from './collect-f4965586.js';
3
+ import { b as stripeStore, i as initStripeElements, d as cartStore, c as stripeStoreRetrievePayment, n as cartStoreUpdateToErrorState, e as cartStoreUpdateItems, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, w as stripeStoreUpdateCheckoutSessionBaseCurrency, C as stripeStoreConfirmPayment, H as stripeStoreOnChange, F as stripeStoreReset, f as cartStoreReset } from './cart-8b8dc79f.js';
4
+ import { p as paypalStoreHasPaypalEnabled, a as paypalStore } from './paypal-da551105.js';
5
5
  import { s as storageStore, t as translate, e as localizationStoreOnChange, h as currencyFormat, l as localizationStore } from './localization-d49867ed.js';
6
6
  import { z as zonosStore } from './zonosStore-b7d3f9b0.js';
7
7
  import { b as buildCartItemsByTempCart } from './buildCartItemsByTempCart-a117f75d.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, d as createEvent, h, a as Host } from './index-cfd394c8.js';
2
- import { b as stripeStore } from './cart-402dcde5.js';
2
+ import { b as stripeStore } from './cart-8b8dc79f.js';
3
3
  import { j as getOverridenZCountry, k as isValidSelector, m as initLocalizationStore, s as storageStore, c as localizationStoreUpdateSelectedCountryCode } from './localization-d49867ed.js';
4
4
  import { z as zonosStore, e as zonosStoreInitSetting, f as zonosStoreFontFamily } from './zonosStore-b7d3f9b0.js';
5
5
  import { g as getGenericSettingsOverride, i as iframeServices, a as injectPrivateIframe } from './getGenericSettingsOverride-0bc3e118.js';
@@ -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,9 +1,9 @@
1
1
  import { r as registerInstance, h, a as Host } from './index-cfd394c8.js';
2
- import { d as cartStore } from './cart-402dcde5.js';
2
+ import { d as cartStore } from './cart-8b8dc79f.js';
3
3
  import { t as translate } from './localization-d49867ed.js';
4
- import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-ef71083e.js';
4
+ import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-0ed221ac.js';
5
5
  import { c as classes } from './classes-0d95c529.js';
6
- import { c as invoiceStore } from './invoice-5eb27944.js';
6
+ import { c as invoiceStore } from './invoice-b7a1fb14.js';
7
7
  import { r as renderFallback } from './renderFallback-b250f4e9.js';
8
8
  import './zonosStore-b7d3f9b0.js';
9
9
  import './VarianceTest-572cecf5.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, d as createEvent, h, F as Fragment, a as Host, g as getElement } from './index-cfd394c8.js';
2
- import { b as stripeStore, c as stripeStoreRetrievePayment, t as trackConversionEvent, Q as stripeStoreResetPromoCode, F as stripeStoreReset, R as stripeStoreMessageBasedOnStatus, d as cartStore, u as cartStoreNextStep, G as cartStoreOnChange } from './cart-402dcde5.js';
3
- import { s as submitAnalytics, c as paypalStoreReset, a as paypalStore, b as paypalInitScript } from './paypal-2d4c9d01.js';
2
+ import { b as stripeStore, c as stripeStoreRetrievePayment, t as trackConversionEvent, Q as stripeStoreResetPromoCode, F as stripeStoreReset, R as stripeStoreMessageBasedOnStatus, d as cartStore, u as cartStoreNextStep, G as cartStoreOnChange } from './cart-8b8dc79f.js';
3
+ import { s as submitAnalytics, c as paypalStoreReset, a as paypalStore, b as paypalInitScript } from './paypal-da551105.js';
4
4
  import { t as translate, s as storageStore, l as localizationStore } from './localization-d49867ed.js';
5
5
  import { z as zonosStore } from './zonosStore-b7d3f9b0.js';
6
6
  import { h as handleFetch, s as sendErrorLog, g as getIsTestMode, i as isCheckoutMobile, a as getIsStagingMode } from './handleFetch-a844cac1.js';
@@ -10,9 +10,9 @@ import { l as log, b as allLogs } from './VarianceTest-572cecf5.js';
10
10
  import { i as isInvoiceMobile, a as isInvoiceTablet } from './isInvoiceMobileTablet-1f7b614e.js';
11
11
  import { c as classes } from './classes-0d95c529.js';
12
12
  import { l as languages } from './ILanguage-cd6acb72.js';
13
- import { c as invoiceStore } from './invoice-5eb27944.js';
14
- import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-ef71083e.js';
15
- import { p as placeTestOrder } from './placeTestOrder-2ba7c3f2.js';
13
+ import { c as invoiceStore } from './invoice-b7a1fb14.js';
14
+ import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-0ed221ac.js';
15
+ import { p as placeTestOrder } from './placeTestOrder-4309b170.js';
16
16
  import { r as renderFallback } from './renderFallback-b250f4e9.js';
17
17
  import './isDarkColor-039ef212.js';
18
18
  import './TaxId-50d72254.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, a as Host, F as Fragment } from './index-cfd394c8.js';
2
- import { b as stripeStore, i as initStripeElements, c as stripeStoreRetrievePayment, d as cartStore, n as cartStoreUpdateToErrorState, e as cartStoreUpdateItems, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, w as stripeStoreUpdateCheckoutSessionBaseCurrency, C as stripeStoreConfirmPayment, H as stripeStoreOnChange, F as stripeStoreReset, f as cartStoreReset } from './cart-402dcde5.js';
3
- import { i as invoiceStoreUpdateSelectedShippingOption, a as invoiceStoreInitShippingInfo, b as invoiceStoreAsyncAddressUpdate, c as invoiceStore } from './invoice-5eb27944.js';
4
- import { p as paypalStoreHasPaypalEnabled, a as paypalStore } from './paypal-2d4c9d01.js';
2
+ import { b as stripeStore, i as initStripeElements, c as stripeStoreRetrievePayment, d as cartStore, n as cartStoreUpdateToErrorState, e as cartStoreUpdateItems, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, w as stripeStoreUpdateCheckoutSessionBaseCurrency, C as stripeStoreConfirmPayment, H as stripeStoreOnChange, F as stripeStoreReset, f as cartStoreReset } from './cart-8b8dc79f.js';
3
+ import { i as invoiceStoreUpdateSelectedShippingOption, a as invoiceStoreInitShippingInfo, b as invoiceStoreAsyncAddressUpdate, c as invoiceStore } from './invoice-b7a1fb14.js';
4
+ import { p as paypalStoreHasPaypalEnabled, a as paypalStore } from './paypal-da551105.js';
5
5
  import { s as storageStore, t as translate, e as localizationStoreOnChange, h as currencyFormat, l as localizationStore } from './localization-d49867ed.js';
6
6
  import { z as zonosStore } from './zonosStore-b7d3f9b0.js';
7
7
  import { b as buildCartItemsByTempCart } from './buildCartItemsByTempCart-a117f75d.js';
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, h, F as Fragment, a as Host, g as getElement } from './index-cfd394c8.js';
2
- import { _ as getEnabledPolicies, E as policyConsentStore, $ as storeCreditStoreSetEnabled, a0 as storeCreditStoreSetUseFullBalance, a1 as cartStoreUpdateStoreCredit, S as storeCreditStore, a2 as storeCreditStoreSetAmount, a3 as storeCreditStoreRefreshBalance, I as storeCreditStoreGetEffectiveAmount } from './cart-402dcde5.js';
2
+ import { _ as getEnabledPolicies, E as policyConsentStore, $ as storeCreditStoreSetEnabled, a0 as storeCreditStoreSetUseFullBalance, a1 as cartStoreUpdateStoreCredit, S as storeCreditStore, a2 as storeCreditStoreSetAmount, a3 as storeCreditStoreRefreshBalance, I as storeCreditStoreGetEffectiveAmount } from './cart-8b8dc79f.js';
3
3
  import { l as localizationStore, t as translate } from './localization-d49867ed.js';
4
4
  import { z as zonosStore, f as zonosStoreFontFamily } from './zonosStore-b7d3f9b0.js';
5
- import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-ef71083e.js';
5
+ import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-0ed221ac.js';
6
6
  import { g as getBorderRadius } from './getBorderRadius-dc982fe6.js';
7
7
  import './VarianceTest-572cecf5.js';
8
8
  import './handleFetch-a844cac1.js';
@@ -0,0 +1 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,r,o){function n(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function a(e){try{d(o.next(e))}catch(e){i(e)}}function s(e){try{d(o["throw"](e))}catch(e){i(e)}}function d(e){e.done?r(e.value):n(e.value).then(a,s)}d((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,n,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(t){return d([e,t])}}function d(s){if(o)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(r=0)),r)try{if(o=1,n&&(i=s[0]&2?n["return"]:s[0]?n["throw"]||((i=n["return"])&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;if(n=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;n=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){r.label=s[1];break}if(s[0]===6&&r.label<i[1]){r.label=i[1];i=s;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(s);break}if(i[2])r.ops.pop();r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e];n=0}finally{o=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,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o<n;o++){if(i||!(o in t)){if(!i)i=Array.prototype.slice.call(t,0,o);i[o]=t[o]}}return e.concat(i||Array.prototype.slice.call(t))};import{c as createStore,z as zonosStore}from"./zonosStore-b7d3f9b0.js";import{s as storageStore,t as translate,l as localizationStore,j as getOverridenZCountry,f as filterValidTests,d as storageStoreSetEnabledVariantTestKeys}from"./localization-d49867ed.js";import{l as log,b as allLogs}from"./VarianceTest-572cecf5.js";import{h as handleFetch,l as logError,f as fallbackApiList,g as getIsTestMode,a as getIsStagingMode,s as sendErrorLog,j as jsonParse}from"./handleFetch-a844cac1.js";import{i as isDarkColor}from"./isDarkColor-039ef212.js";import{g as getBorderRadius}from"./getBorderRadius-dc982fe6.js";import{e as euCountryCodes}from"./TaxId-50d72254.js";var getCheckoutSession=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(n){switch(n.label){case 0:if(!storageStore.checkoutSessionId){return[2,{errors:[{message:"No checkout session id found"}],json:null}]}e=new URLSearchParams;e.set("checkoutSessionId",storageStore.checkoutSessionId);return[4,handleFetch("/api/zonos-elements/get-checkout-session?".concat(e.toString()))];case 1:t=n.sent(),r=t.errors,o=t.json;return[2,{errors:r,json:o}]}}))}))};var _o=createStore((function(){return{amountToApply:null,appliedAmount:null,availableBalance:null,error:null,isApplying:false,isEnabled:false,orderIdCreated:null,remainingBalance:null,useFullBalance:true}})),storeCreditStoreOnChange=_o.onChange,reset$2=_o.reset,storeCreditStore=_o.state;var storeCreditStoreReset=function(){reset$2()};var storeCreditStoreSetBalanceFromSession=function(e){log("Store credit balance from session","info",e);storeCreditStore.availableBalance=e};var storeCreditStoreRefreshBalance=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n,i;return __generator(this,(function(a){switch(a.label){case 0:return[4,getCheckoutSession()];case 1:r=a.sent(),o=r.errors,n=r.json;if(o.length||!n){logError("Failed to refresh store credit balance");return[2]}i=(t=(e=n.checkoutSession.customerProfile)===null||e===void 0?void 0:e.storeCreditBalance)!==null&&t!==void 0?t:null;storeCreditStoreSetBalanceFromSession(i);return[2]}}))}))};var storeCreditStoreApplyCredit=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n,i,a,s,a;return __generator(this,(function(d){switch(d.label){case 0:t=storageStore.checkoutSessionId;if(!t){r="No checkout session found";logError(r);storeCreditStore.error=r;return[2,{error:r,success:false}]}log("Applying store credit","info",{checkoutSessionId:t});storeCreditStore.isApplying=true;storeCreditStore.error=null;d.label=1;case 1:d.trys.push([1,3,,4]);return[4,handleFetch("/api/zonos-elements/store-credit/apply",{body:{checkoutSessionId:t},method:"POST"})];case 2:o=d.sent(),n=o.errors,i=o.json;if(n.length>0||!i){a=((e=n[0])===null||e===void 0?void 0:e.message)||"Failed to apply store credit";logError(a);storeCreditStore.error=a;storeCreditStore.isApplying=false;return[2,{error:a,success:false}]}storeCreditStore.appliedAmount=i.amountApplied;storeCreditStore.remainingBalance=i.remainingBalance;storeCreditStore.isApplying=false;log("Store credit applied","info",{amountApplied:i.amountApplied,remainingBalance:i.remainingBalance});return[2,{error:null,success:true}];case 3:s=d.sent();a=s instanceof Error?s.message:"Failed to apply store credit";logError(a);storeCreditStore.error=a;storeCreditStore.isApplying=false;return[2,{error:a,success:false}];case 4:return[2]}}))}))};var storeCreditStoreSetEnabled=function(e){storeCreditStore.isEnabled=e;storeCreditStore.error=null;if(!e){storeCreditStore.amountToApply=null}};var storeCreditStoreSetAmount=function(e){if(e===null){storeCreditStore.amountToApply=null;storeCreditStore.error=null;return}if(e<=0){storeCreditStore.error="Amount must be greater than zero";return}if(storeCreditStore.availableBalance!==null&&e>storeCreditStore.availableBalance){storeCreditStore.error="Amount exceeds available balance";return}var t=cartStore.total+(cartStore.storeCredit||0);if(e>t){storeCreditStore.error="Amount exceeds order total";return}storeCreditStore.error=null;storeCreditStore.amountToApply=e};var storeCreditStoreSetUseFullBalance=function(e){storeCreditStore.useFullBalance=e;storeCreditStore.error=null;if(e&&storeCreditStore.availableBalance!==null){var t=cartStore.total+(cartStore.storeCredit||0);var r=Math.min(storeCreditStore.availableBalance,t);storeCreditStore.amountToApply=r}else if(!e){storeCreditStore.amountToApply=null}};var storeCreditStoreGetInput=function(){if(!storeCreditStore.isEnabled||storeCreditStore.amountToApply===null){return{mode:"NONE"}}if(storeCreditStore.useFullBalance){return{mode:"FULL"}}return{amount:storeCreditStore.amountToApply,mode:"PARTIAL"}};var storeCreditStoreGetEffectiveAmount=function(){if(!storeCreditStore.isEnabled||storeCreditStore.availableBalance===null){return 0}if(storeCreditStore.useFullBalance){return Math.min(storeCreditStore.availableBalance,cartStore.total+(cartStore.storeCredit||0))}return storeCreditStore.amountToApply||0};var storeCreditStoreCoversFullAmount=function(){return storeCreditStore.amountToApply!==null&&storeCreditStore.amountToApply>0&&cartStore.storeCredit>0&&cartStore.total<=0};var storeCreditStoreCreateOrder=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n,i,a,s,d,c,l,d;return __generator(this,(function(u){switch(u.label){case 0:o=storageStore.checkoutSessionId;if(!o){n="No checkout session found";logError(n);storeCreditStore.error=n;return[2,{error:n,orderId:null,success:false}]}log("Creating store credit order","info",{checkoutSessionId:o});u.label=1;case 1:u.trys.push([1,3,,4]);return[4,handleFetch("/api/zonos-elements/store-credit/order-create",{body:{checkoutSessionId:o},method:"POST"})];case 2:i=u.sent(),a=i.errors,s=i.json;if(a.length>0||!s){d=((e=a[0])===null||e===void 0?void 0:e.message)||"Failed to create store credit order";logError(d);storeCreditStore.error=d;return[2,{error:d,orderId:null,success:false}]}c=((r=(t=s.checkoutSessionStoreCreditOrderCreate)===null||t===void 0?void 0:t.order)===null||r===void 0?void 0:r.id)||null;storeCreditStore.orderIdCreated=c;log("Store credit order created","info",{orderId:c});return[2,{error:null,orderId:c,success:true}];case 3:l=u.sent();d=l instanceof Error?l.message:"Failed to create store credit order";logError(d);storeCreditStore.error=d;return[2,{error:d,orderId:null,success:false}];case 4:return[2]}}))}))};var POLICY_ORDER=["termsAndConditions","privacyPolicy","refundPolicy","shippingPolicy","warrantyPolicy"];var POLICY_NAME_KEY={privacyPolicy:"Privacy policy",refundPolicy:"Refund policy",shippingPolicy:"Shipping policy",termsAndConditions:"Terms and conditions",warrantyPolicy:"Warranty policy"};var _p=createStore({accepted:false,acceptedAt:null,locked:false,showError:false}),policyConsentStoreReset=_p.reset,policyConsentStore=_p.state;var getEnabledPolicies=function(){var e=zonosStore.checkoutSettings.merchantPolicyLinks;if(!e){return[]}return POLICY_ORDER.reduce((function(t,r){var o,n;var i=(n=(o=e[r])===null||o===void 0?void 0:o.link)===null||n===void 0?void 0:n.trim();if(!i||!/^https?:\/\//i.test(i)){return t}t.push({key:r,name:translate(POLICY_NAME_KEY[r]),url:i});return t}),[])};var isPolicyConsentRequired=function(){return getEnabledPolicies().length>0};var extractName=function(e){var t=e.firstName,r=e.lastName,o=e.name;var n;if(!o&&!t&&!r){return{firstName:"",lastName:""}}var i=(o===null||o===void 0?void 0:o.split(/\s+/))||[];var a=(t===null||t===void 0?void 0:t.trim())||((n=i[0])===null||n===void 0?void 0:n.trim())||"";var s=(r===null||r===void 0?void 0:r.trim())||i.slice(1).join(" ").trim()||"";return{firstName:a,lastName:s}};var getTranslatedAddress=function(e){var t=e.currentAddress,r=e.translatedAddress;var o,n,i,a,s,d;var c=t.value.address,l=c.city,u=c.country,S=c.line1,v=c.line2,p=c.postal_code,f=c.state;var h=t.value.name||[t.value.firstName,t.value.lastName].join(" ");return{city:((o=r.city)===null||o===void 0?void 0:o[l])||l,country:u,line1:((n=r.line1)===null||n===void 0?void 0:n[S])||S,line2:((i=r.line2)===null||i===void 0?void 0:i[v||""])||v||"",name:((a=r.name)===null||a===void 0?void 0:a[h])||h,phone:t.value.phone||"",postal_code:((s=r.postal_code)===null||s===void 0?void 0:s[p])||p,state:((d=r.state)===null||d===void 0?void 0:d[f])||f}};var prepCartCalculateLandedCost=function(e){var t;var r=new URLSearchParams(window.location.search).get("zonosE2ETest")==="1";var o=stripeStore.stripeLinkEventData;var n=stripeStore.stripeAddressEventData;var i=stripeStore.stripeShippingSameAsBilling?stripeStore.stripeAddressEventData:stripeStore.stripeBillingAddressEventData;if(!n||!i){throw new Error("Missing stripe address data")}var a=getTranslatedAddress({currentAddress:n,translatedAddress:stripeStore.translatedAddress.address});var s=extractName({name:a.name}),d=s.firstName,c=s.lastName;var l=getTranslatedAddress({currentAddress:i,translatedAddress:stripeStore.translatedAddress.address});var u=extractName({name:l.name}),S=u.firstName,v=u.lastName;var p=getOverridenZCountry()||"US";return{billingAddress:{addressLine1:l.line1,addressLine2:l.line2||"",city:l.city,country:l.country,postalCode:l.postal_code,state:l.state},billingContact:{firstName:S,lastName:v,phone:l.phone},cartCurrencyCode:(t=cartStore.items[0])===null||t===void 0?void 0:t.currencyCode,cartId:e,checkoutSessionCountry:p||localizationStore.selectedCountryCode||undefined,checkoutSessionId:storageStore.checkoutSessionId||"",contact:{companyName:stripeStore.companyName,email:o===null||o===void 0?void 0:o.value.email,firstName:d,lastName:c,phone:a.phone},isTest:!!r,landedCostAdjustments:cartStore.promoCode?[{amount:0,productId:null,promoCode:cartStore.promoCode,sku:null,type:"PROMO_CODE"}]:[],shipToShortAddressCode:stripeStore.shortAddressCode,shipToTaxId:stripeStore.taxId,shippingAddress:{addressLine1:a.line1,addressLine2:a.line2,city:a.city,country:a.country,postalCode:a.postal_code,state:a.state}}};var prepCalculateLandedCost=function(){var e=new URLSearchParams(window.location.search).get("zonosE2ETest")==="1";var t=stripeStore.stripeLinkEventData;var r=stripeStore.stripeAddressEventData;var o=stripeStore.stripeShippingSameAsBilling?stripeStore.stripeAddressEventData:stripeStore.stripeBillingAddressEventData;log({stripeAddressData:r,stripeBillingAddressData:o},"info");if(!r||!o){throw new Error("Missing stripe address data")}var n=getTranslatedAddress({currentAddress:r,translatedAddress:stripeStore.translatedAddress.address});var i=extractName({name:n.name}),a=i.firstName,s=i.lastName;var d=getTranslatedAddress({currentAddress:o,translatedAddress:stripeStore.translatedAddress.address});var c=extractName({name:d.name}),l=c.firstName,u=c.lastName;var S=cartStore.adjustments.map((function(e){return{amount:e.amount,name:e.description||null,productId:e.productId,sku:e.sku,type:e.type}}));var v=cartStore.promoCode?__spreadArray([{amount:0,productId:null,promoCode:cartStore.promoCode,sku:null,type:"PROMO_CODE"}],S,true):S;return{billingAddress:{addressLine1:d.line1,addressLine2:d.line2||"",city:d.city,country:d.country,postalCode:d.postal_code,state:d.state},billingContact:{firstName:l,lastName:u,phone:d.phone},checkoutSessionId:storageStore.checkoutSessionId||"",contact:{companyName:stripeStore.companyName,email:t===null||t===void 0?void 0:t.value.email,firstName:a,lastName:s,phone:n.phone},isTest:e,items:cartStore.items,landedCostAdjustments:v,shipToShortAddressCode:stripeStore.shortAddressCode,shipToTaxId:stripeStore.taxId,shippingAddress:{addressLine1:n.line1,addressLine2:n.line2,city:n.city,country:n.country,postalCode:n.postal_code,state:n.state}}};var triggerBuildLandedCost=function(e){return __awaiter(void 0,void 0,void 0,(function(){var t,r,o,n,i,a,s,d,c,l;return __generator(this,(function(u){switch(u.label){case 0:a=prepCalculateLandedCost();return[4,e({billingAddress:a.billingAddress,billingContact:a.billingContact,checkoutSessionId:a.checkoutSessionId,contact:a.contact,landedCostAdjustments:a.landedCostAdjustments,publicCredential:window.Zonos.zonosApiKey||"",shippingAddress:a.shippingAddress,zonosApiRoute:fallbackApiList["vercel"]},{promoCode:cartStore.promoCode})];case 1:s=u.sent();if(!s||!((t=s.checkoutSessionWorkflow)===null||t===void 0?void 0:t.length)&&((r=s.errors)===null||r===void 0?void 0:r.length)){throw new Error("Failed to build landed cost: ".concat(((n=(o=s===null||s===void 0?void 0:s.errors)===null||o===void 0?void 0:o[0])===null||n===void 0?void 0:n.message)||"Unknown error"))}return[4,handleFetch("/api/zonos-elements/validate-landed-cost",{body:s,headers:{"Content-Type":"application/json"},method:"POST"})];case 2:d=u.sent(),c=d.errors,l=d.json;if(!l||c.length){throw new Error("Invalid landed cost object: ".concat(((i=c.find(Boolean))===null||i===void 0?void 0:i.message)||"Unknown error"))}return[2,s]}}))}))};var calculateLandedCost=function(e){return __awaiter(void 0,void 0,void 0,(function(){var t,r,o,n,i,a,s;return __generator(this,(function(d){switch(d.label){case 0:r=zonosStore.checkoutSettings.buildLandedCost;if(!r)return[3,2];return[4,triggerBuildLandedCost(r)];case 1:o=d.sent();return[2,o];case 2:return[4,handleFetch("/api/zonos-elements/calculate-landed-cost",{body:prepCalculateLandedCost(),method:"POST",signal:e===null||e===void 0?void 0:e.signal})];case 3:n=d.sent(),i=n.errors,a=n.json;if(i.length||!a){s=((t=i[0])===null||t===void 0?void 0:t.message)==="The user aborted a request.";if(s){throw new Error("The landed cost calculation request was aborted to initiate a new one.")}i.forEach((function(e){console.warn("Error calculating landed cost: ".concat(e.message))}));if(!a){throw new Error("Failed to calculate landed cost")}return[2,a]}return[2,a]}}))}))};var cartCalculateLandedCost=function(e){return __awaiter(void 0,[e],void 0,(function(e){var t,r,o,n,i,a,s,d,c,l;var u=e.abortController,S=e.cartId;return __generator(this,(function(e){switch(e.label){case 0:return[4,handleFetch("/api/zonos-elements/cart-calculate-landed-cost",{body:prepCartCalculateLandedCost(S),method:"POST",signal:u===null||u===void 0?void 0:u.signal})];case 1:a=e.sent(),s=a.errors,d=a.json;if(s.length||!d){c=typeof((t=s[0])===null||t===void 0?void 0:t.message)==="string"&&(((r=s[0])===null||r===void 0?void 0:r.message)==="The user aborted a request."||((o=s[0])===null||o===void 0?void 0:o.message.includes("signal is aborted"))||((n=s[0])===null||n===void 0?void 0:n.message.includes("The operation was aborted"))||((i=s[0])===null||i===void 0?void 0:i.message.includes("Fetch is aborted")));l=c?"The landed cost calculation request was aborted to initiate a new one.":"Failed to calculate landed cost";throw new Error(l)}return[2,d]}}))}))};var __rest=undefined&&undefined.__rest||function(e,t){var r={};for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0)r[o]=e[o];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var n=0,o=Object.getOwnPropertySymbols(e);n<o.length;n++){if(t.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n]))r[o[n]]=e[o[n]]}return r};var calculateLandedCostNormalized=function(e){return __awaiter(void 0,void 0,void 0,(function(){var t,r,o,n,i;return __generator(this,(function(a){switch(a.label){case 0:t=window.Zonos.cartId;if(!!t)return[3,2];return[4,calculateLandedCost(e)];case 1:r=a.sent();return[2,r];case 2:return[4,cartCalculateLandedCost({abortController:e,cartId:t})];case 3:o=a.sent(),n=o.cartWorkflow,i=__rest(o,["cartWorkflow"]);return[2,Object.assign(Object.assign({},i),{itemCreateWorkflow:n.items})]}}))}))};var trackConversionEvent=function(e){return __awaiter(void 0,[e],void 0,(function(e){var t,r,o,n,i,a,s,d,c;var l=e.checkoutSessionId,u=e.eventName,S=e.metadata;return __generator(this,(function(e){switch(e.label){case 0:o=Date.now();n=__spreadArray([],window.Zonos.trackEventLogs,true);window.Zonos.trackEventLogs.push({checkoutSessionId:l,eventCreated:o,eventName:u});i=window.location.href.includes("zonos.com")&&!window.location.href.includes("checkout.zonos.com")||!!((t=window.Zonos)===null||t===void 0?void 0:t.zonosQaUrl)||!!((r=window.Zonos)===null||r===void 0?void 0:r.debug);a=getIsTestMode()||getIsStagingMode();if((a||i)&&!window.Zonos.zonosConversionTest){return[2]}s=localizationStore.selectedCountryCode;d=zonosStore.organizationId;if(!l){void sendErrorLog({endpoint:"trackConversionEventMetric",errors:['Event "'.concat(u,'" - No checkout session id found')],metadata:{allLogs:allLogs,checkoutSessionId:l,eventName:u,metadata:S,organizationId:d,trackEventLogs:n}});return[2]}if(!d){void sendErrorLog({endpoint:"trackConversionEventMetric",errors:['Event "'.concat(u,'" - No organization id found')],metadata:{allLogs:allLogs,checkoutSessionId:l,eventName:u,metadata:S,organizationId:d,trackEventLogs:n}})}c={checkoutSessionId:l,countryCode:s,eventCreated:o,eventName:u,metadata:Object.assign(Object.assign({},S),{trackEventLogs:n}),organizationId:d};return[4,handleFetch("/api/zonos-elements/track-conversion-event",{body:c,method:"POST"})];case 1:e.sent();return[2]}}))}))};var getExcludeAddressFieldsObject=function(e){var t=e.address,r=e.invalidAdddressList;if(!t){return}if(!r){return}var o={};if(r.city){o.city=t.city}if(r.line1){o.line1=t.line1}if(r.line2){o.line2=t.line2}if(r.postal_code){o.postal_code=t.postal_code}if(r.state){o.state=t.state}if(r.name){o.name=t.name}return Object.keys(o).length?o:undefined};var buildTranslateRequest=function(e){var t=e.addressInvalidCharactersList,r=e.billingAddressInvalidCharactersList,o=e.stripeAddressEventData,n=e.stripeBillingAddressEventData,i=e.stripeShippingSameAsBilling;var a=!!(o===null||o===void 0?void 0:o.complete);var s=i?a:!!(n===null||n===void 0?void 0:n.complete);if(!a||!s){return null}if(!t&&!r){return null}var d=o.value;var c=(n===null||n===void 0?void 0:n.value)||null;var l=extractName({firstName:d.firstName,lastName:d.lastName,name:d.name}),u=l.firstName,S=l.lastName;var v="".concat(u," ").concat(S);var p=extractName({firstName:c===null||c===void 0?void 0:c.firstName,lastName:c===null||c===void 0?void 0:c.lastName,name:(c===null||c===void 0?void 0:c.name)||""}),f=p.firstName,h=p.lastName;var m=f&&h?"".concat(f," ").concat(h):"";var g=d.address;var C=c===null||c===void 0?void 0:c.address;return{address:getExcludeAddressFieldsObject({address:Object.assign(Object.assign({},g),{name:v}),invalidAdddressList:t}),billingAddress:!i?getExcludeAddressFieldsObject({address:C?Object.assign(Object.assign({},C),{name:m}):null,invalidAdddressList:r}):undefined,destinationCountry:g.country}};var sortServiceLevelOptionsByAmount=function(e){var t=e.sort((function(e,t){return e.amount-t.amount}));return t};var validateCheckoutSession=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(n){switch(n.label){case 0:return[4,getCheckoutSession()];case 1:t=n.sent(),r=t.errors,o=t.json;if(r.length||!o){logError("Failed to retrieve checkout session info before confirming payment ",r);void sendErrorLog({endpoint:"validateCheckoutSession",errors:r.map((function(e){return e.message})),metadata:{allLogs:allLogs}});return[2,{errorMessage:translate("Unable to retrieve the checkout session at the moment. Please try again or contact our support team."),valid:false}]}if(!((e=o.checkoutSession.landedCost)===null||e===void 0?void 0:e.id)){logError("Landed cost is not found in the checkout session before confirming payment.");void sendErrorLog({endpoint:"validateCheckoutSession",errors:["No landed cost found before confirming payment"],metadata:{allLogs:allLogs}});return[2,{errorMessage:translate('No shipment rating selected. Please go back to the "Shipping" step and select a shipment rating to proceed.'),valid:false}]}return[2,{errorMessage:"",valid:true}]}}))}))};var addressRuleStyle=function(e){var t=e.theme;var r={".AccordionItem":{color:"var(--colorText)"},".AccordionItem--selected":{color:"var(--colorText)"},".Action":{color:"var(--colorText)"},".Input":{boxShadow:"none",fontSize:zonosStore.appearance.fontSizeInputValue?"".concat(zonosStore.appearance.fontSizeInputValue,"px"):undefined,padding:"0",paddingBottom:"8px",paddingLeft:"16px",paddingRight:"8px",paddingTop:"6px"},".Label--resting":{fontSize:zonosStore.appearance.fontSizeInputLabel?"".concat(zonosStore.appearance.fontSizeInputLabel,"px"):undefined},".PickerItem--highlight":{boxShadow:"0 0 0 2px var(--colorBackground)"},".PickerItem--highlight:hover":{backgroundColor:"var(--colorBackground)",boxShadow:"none"},".PickerItem--new":{color:"var(--colorText)"},".Tab--selected":{borderStyle:"solid",borderWidth:"1px"}};switch(t){case"DARK":{return Object.assign(Object.assign({},r),{".Action":Object.assign(Object.assign({},r[".Action"]),{color:"white"}),".PickerItem--new":Object.assign(Object.assign({},r[".PickerItem--new"]),{color:"white"})})}default:return r}};var defaultVariable=function(e){var t=e.borderStyle,r=e.theme;switch(r){case"DARK":return{borderRadius:getBorderRadius({overrideBorderStyle:t}),colorBackground:"#101117",colorBackgroundText:"#C5C6CA",colorText:"#C5C6CA",colorTextPlaceholder:"#C5C6CA"};default:return{borderRadius:getBorderRadius({overrideBorderStyle:t}),iconMenuColor:"var(--colorText)",iconMenuHoverColor:"var(--colorText)"}}};var checkoutPaymentProcessorType={Airwallex:"AIRWALLEX",Paypal:"PAYPAL",Stripe:"STRIPE"};var _q=createStore((function(){return{checkoutSettlementCurrency:"USD",clientSecret:sessionStorage.getItem("zonos--client-secret")||"",companyName:"",companyNameUsedWhenAsyncAddressUpdate:"",customAddressErrors:{city:"",firstName:"",lastName:"",line1:"",phone:"",postalCode:"",showError:false,state:""},customBillingAddressErrors:{city:"",firstName:"",lastName:"",line1:"",phone:"",postalCode:"",showError:false,state:""},customErrorMessage:null,customerProfile:null,fetchingLandedCostAbortController:null,hasPaymentError:false,isFetchingLandedCost:false,isFetchingSession:false,partyBillingId:null,partyShippingId:null,shortAddressCode:"",shouldInventoryRefund:false,shouldRenderPayInUsdButton:false,skipPaymentIntent:new URLSearchParams(window.location.search).get("skipPaymentIntent")==="0"?false:true,stripe:null,stripeAddressElement:null,stripeAddressEventData:null,stripeAddressUsedWhenAsyncAddressUpdate:null,stripeAddressUsedWhenFetchingLC:null,stripeAddressUsedWhenValidatingAddress:null,stripeBillingAddressElement:null,stripeBillingAddressEventData:null,stripeBillingAddressUsedWhenAsyncAddressUpdate:null,stripeBillingAddressUsedWhenFetchingLC:null,stripeBillingAddressUsedWhenValidatingAddress:null,stripeCustomerSessionClientSecret:null,stripeElements:null,stripeElementsForBillingAddress:null,stripeElementsOptions:null,stripeLinkElement:null,stripeLinkEventData:null,stripeLinkUsedWhenFetchingLC:null,stripePaymentElement:null,stripePaymentEventData:null,stripeShippingSameAsBilling:true,taxId:"",taxIdUsedWhenAsyncAddressUpdate:"",translatedAddress:{address:{},billingAddress:{},firstName:{},lastName:{},name:{}}}})),stripeStoreOnChange=_q.onChange,reset$1=_q.reset,stripeStore=_q.state;var getStripeOptions=function(e){var t=e.clientSecret,r=e.overrideBorderRadius,o=e.overridePrimaryColor,n=e.overrideSecondaryColor,i=e.overrideTheme,a=e.paypalEnabled;var s=o||zonosStore.appearance.colorPrimary;var d=n||zonosStore.appearance.colorSecondary;var c=window.Zonos.isCollect||window.Zonos.isInvoice?zonosStore.appearance.theme==="DARK":s&&isDarkColor(s);var l=c?"night":"flat";var u=i==="DARK"?"night":"flat";var S=a?["external_paypal"]:[];var v=(t===null||t===void 0?void 0:t.includes("_secret_"))?t:undefined;return{appearance:{labels:"floating",rules:Object.assign({},addressRuleStyle({theme:i||"LIGHT"})),theme:i?u:l,variables:Object.assign(Object.assign({},defaultVariable({borderStyle:r,theme:"LIGHT"})),{colorPrimary:d})},clientSecret:v,customerSessionClientSecret:stripeStore.stripeCustomerSessionClientSecret||undefined,externalPaymentMethodTypes:__spreadArray([],S,true),locale:localizationStore.selectedLocale}};var stripeStoreCleanupDomesticShippingSession=function(){window.sessionStorage.removeItem("zonos--bigcommerce-domestic-checkout-shipping")};var stripeStoreSaveDomesticShippingSession=function(e){window.sessionStorage.setItem("zonos--bigcommerce-domestic-checkout-shipping",JSON.stringify(e))};var stripeStoreGetDomesticShippingSession=function(){var e=window.sessionStorage.getItem("zonos--bigcommerce-domestic-checkout-shipping");return jsonParse(e)};var initStripeElements=function(e){return __awaiter(void 0,void 0,void 0,(function(){var t,r,o,n,i;return __generator(this,(function(a){o=stripeStore.clientSecret;if(!stripeStore.stripe){log("Skip. Stripe is not initialized");return[2]}n=getStripeOptions({clientSecret:o,overrideBorderRadius:e===null||e===void 0?void 0:e.overrideBorderRadius,overridePrimaryColor:e===null||e===void 0?void 0:e.overridePrimaryColor,overrideSecondaryColor:e===null||e===void 0?void 0:e.overrideSecondaryColor,overrideTheme:e===null||e===void 0?void 0:e.overrideTheme,paypalEnabled:e===null||e===void 0?void 0:e.paypalEnabled});i=JSON.stringify(n)===JSON.stringify(stripeStore.stripeElementsOptions);if(!stripeStore.stripeElements||!stripeStore.stripeElementsForBillingAddress){stripeStore.stripeElementsForBillingAddress=(t=stripeStore.stripe)===null||t===void 0?void 0:t.elements(n);log("Stripe elements for billing address initialized");stripeStore.stripeElements=(r=stripeStore.stripe)===null||r===void 0?void 0:r.elements(n);stripeStore.stripeElementsOptions=n;log("Stripe elements initialized");return[2]}if(!i){stripeStore.stripeElements.update(n);stripeStore.stripeElementsForBillingAddress.update(n);stripeStore.stripeElementsOptions=n;void stripeStore.stripeElements.fetchUpdates()}log("Stripe elements updated");return[2]}))}))};var stripeStoreReset=function(){sessionStorage.removeItem("zonos--client-secret");reset$1();stripeStore.stripe=window.Zonos.stripe};var checkIsAddressOutdatedForValidation=function(){var e,t,r,o;var n=JSON.stringify((e=stripeStore.stripeAddressUsedWhenValidatingAddress)===null||e===void 0?void 0:e.value)!==JSON.stringify((t=stripeStore.stripeAddressEventData)===null||t===void 0?void 0:t.value);var i=!stripeStore.stripeShippingSameAsBilling&&JSON.stringify((r=stripeStore.stripeBillingAddressEventData)===null||r===void 0?void 0:r.value)!==JSON.stringify((o=stripeStore.stripeBillingAddressUsedWhenValidatingAddress)===null||o===void 0?void 0:o.value);return n||i};var checkIsAddressOutdatedForAsyncAddressUpdate=function(){var e,t,r,o,n,i,a,s;var d=(e=cartStore.partiesData.find((function(e){return e.type==="DESTINATION"})))===null||e===void 0?void 0:e.id;var c=(t=cartStore.partiesData.find((function(e){return e.type==="PAYOR"})))===null||t===void 0?void 0:t.id;if(!d||!c){return false}if(stripeStore.partyShippingId!==d||stripeStore.partyBillingId!==c){return true}var l=JSON.stringify((r=stripeStore.stripeLinkUsedWhenFetchingLC)===null||r===void 0?void 0:r.value)!==JSON.stringify((o=stripeStore.stripeLinkEventData)===null||o===void 0?void 0:o.value);var u=JSON.stringify((n=stripeStore.stripeAddressUsedWhenAsyncAddressUpdate)===null||n===void 0?void 0:n.value)!==JSON.stringify((i=stripeStore.stripeAddressEventData)===null||i===void 0?void 0:i.value);var S=!stripeStore.stripeShippingSameAsBilling&&JSON.stringify((a=stripeStore.stripeBillingAddressUsedWhenAsyncAddressUpdate)===null||a===void 0?void 0:a.value)!==JSON.stringify((s=stripeStore.stripeBillingAddressEventData)===null||s===void 0?void 0:s.value);var v=stripeStore.taxIdUsedWhenAsyncAddressUpdate!==stripeStore.taxId;var p=stripeStore.companyNameUsedWhenAsyncAddressUpdate!==stripeStore.companyName;return l||u||S||v||p};var stripeStoreBuildAddressForPartyCreate=function(e){var t=e.address,r=e.firstName,o=e.lastName,n=e.name,i=e.phone;var a=extractName({firstName:r,lastName:o,name:n}),s=a.firstName,d=a.lastName;if(!s||!d){void sendErrorLog({endpoint:"PARTY_CREATE_NO_NAME_FOUND",errors:["No name found"],metadata:{allLogs:allLogs,cartId:window.Zonos.cartId,checkoutSessionId:storageStore.checkoutSessionId,firstName:r,lastName:o,name:n}})}if(!i){void sendErrorLog({endpoint:"PARTY_CREATE_NO_PHONE_FOUND",errors:["No phone found"],metadata:{allLogs:allLogs,cartId:window.Zonos.cartId,checkoutSessionId:storageStore.checkoutSessionId,phone:i}})}return{city:t.city,country:t.country,firstName:s,lastName:d,line1:t.line1,line2:t.line2,phone:i||"",postal_code:t.postal_code,state:t.state}};var stripeStoreAsyncAddressUpdate=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n,i,a,s,d,c,l,u;return __generator(this,(function(S){switch(S.label){case 0:if(!((e=stripeStore.stripeAddressEventData)===null||e===void 0?void 0:e.complete)||!stripeStore.stripeShippingSameAsBilling&&!((t=stripeStore.stripeBillingAddressEventData)===null||t===void 0?void 0:t.complete)||!stripeStore.stripeBillingAddressEventData){return[2,{partiesCreated:false}]}if(!cartStore.landedCostData){return[2,{partiesCreated:false}]}n=(r=cartStore.landedCostData.find(Boolean))===null||r===void 0?void 0:r.landedCost.rootId;if(!n){void sendErrorLog({endpoint:"PF_NO_SELECTED_LANDED_COST",errors:["No selected landed cost"],metadata:{allLogs:allLogs,cartId:window.Zonos.cartId,checkoutSessionId:storageStore.checkoutSessionId}});return[2,{partiesCreated:false}]}i=checkIsAddressOutdatedForAsyncAddressUpdate();if(!i){return[2,{partiesCreated:false}]}a=stripeStoreBuildAddressForPartyCreate({address:stripeStore.stripeAddressEventData.value.address,firstName:stripeStore.stripeAddressEventData.value.firstName,lastName:stripeStore.stripeAddressEventData.value.lastName,name:stripeStore.stripeAddressEventData.value.name,phone:stripeStore.stripeAddressEventData.value.phone});s=stripeStore.stripeShippingSameAsBilling?a:stripeStoreBuildAddressForPartyCreate({address:stripeStore.stripeBillingAddressEventData.value.address,firstName:stripeStore.stripeBillingAddressEventData.value.firstName,lastName:stripeStore.stripeBillingAddressEventData.value.lastName,name:stripeStore.stripeBillingAddressEventData.value.name,phone:stripeStore.stripeBillingAddressEventData.value.phone});d=new URLSearchParams(window.location.search).get("zonosE2ETest")==="1";return[4,handleFetch("/api/zonos-elements/create-parties",{body:{address:a,billingAddress:s,companyName:stripeStore.companyName,email:((o=stripeStore.stripeLinkEventData)===null||o===void 0?void 0:o.value.email)||"",isTest:d,rootId:n,shortAddressCode:stripeStore.shortAddressCode,taxId:stripeStore.taxId},method:"POST"})];case 1:c=S.sent(),l=c.errors,u=c.json;if(l.length||!u){logError("Error occurs when creating parties",JSON.stringify(l,null,2));void sendErrorLog({endpoint:"PF_PARTY_CREATE_FAILED",errors:["Failed to create parties"],metadata:{allLogs:allLogs,cartId:window.Zonos.cartId,checkoutSessionId:storageStore.checkoutSessionId,errors:l,json:u}});return[2,{partiesCreated:false}]}stripeStore.companyNameUsedWhenAsyncAddressUpdate=stripeStore.companyName;stripeStore.stripeAddressUsedWhenAsyncAddressUpdate=stripeStore.stripeAddressEventData;stripeStore.stripeBillingAddressUsedWhenAsyncAddressUpdate=stripeStore.stripeBillingAddressEventData;stripeStore.taxIdUsedWhenAsyncAddressUpdate=stripeStore.taxId;stripeStore.partyBillingId=u.billToPartyId;stripeStore.partyShippingId=u.shipToPartyId;cartStore.partiesData=cartStore.partiesData.map((function(e){if(e.type==="DESTINATION"&&e.id!==u.shipToPartyId){return Object.assign(Object.assign({},e),{id:u.shipToPartyId})}if(e.type==="PAYOR"&&e.id!==u.billToPartyId){return Object.assign(Object.assign({},e),{id:u.billToPartyId})}return e}));return[2,{partiesCreated:true}]}}))}))};var buildAddressForLCPrefetch=function(e){return{countryCode:e.address.country,postalCode:e.address.postal_code,state:e.address.state}};var checkIsAddressOutdatedForLCPrefetch=function(){var e,t;var r=JSON.stringify((e=stripeStore.stripeLinkUsedWhenFetchingLC)===null||e===void 0?void 0:e.value)!==JSON.stringify((t=stripeStore.stripeLinkEventData)===null||t===void 0?void 0:t.value);var o=stripeStore.stripeAddressEventData&&JSON.stringify(buildAddressForLCPrefetch(stripeStore.stripeAddressEventData.value))!==JSON.stringify(stripeStore.stripeAddressUsedWhenFetchingLC);var n=!stripeStore.stripeShippingSameAsBilling&&stripeStore.stripeBillingAddressEventData&&JSON.stringify(buildAddressForLCPrefetch(stripeStore.stripeBillingAddressEventData.value))!==JSON.stringify(stripeStore.stripeBillingAddressUsedWhenFetchingLC);return r||o||n};var isPrefetchInfoOutdated=function(){var e;var t=cartStore.landedCostData&&((e=cartStore.landedCostData.find(Boolean))===null||e===void 0?void 0:e.subtotals.items)!==cartStore.subtotal;var r=checkIsAddressOutdatedForLCPrefetch();log("isPrefetchInfoOutdated","info",{isAddressOutdated:r});return!cartStore.landedCostData&&!stripeStore.isFetchingLandedCost||r||t};var getCountryField=function(e){var t,r;var o=(t=zonosStore.genericSettings)===null||t===void 0?void 0:t.countryFields;var n=(r=zonosStore.genericSettings)===null||r===void 0?void 0:r.stripeCountryFieldLabels;var i=n&&e in n?n[e]:null;var a=o&&e in o?o[e]:null;if(cartStore.addressFormRenderType==="stripe"){return i||a}return a};var isAddressReadyToRequestLandedCost=function(){var e,t,r,o;var n=!!((e=stripeStore.stripeLinkEventData)===null||e===void 0?void 0:e.complete);var i=!!((t=stripeStore.stripeAddressEventData)===null||t===void 0?void 0:t.complete);var a=stripeStore.stripeShippingSameAsBilling?i:!!((r=stripeStore.stripeBillingAddressEventData)===null||r===void 0?void 0:r.complete);var s=((o=stripeStore.stripeAddressEventData)===null||o===void 0?void 0:o.value.address.country)||"US";var d=getCountryField(s);if(i&&a&&n){return true}if(!d||!stripeStore.stripeAddressEventData){return i&&a&&n}var c=stripeStore.stripeAddressEventData.value.address.line1.length>0;var l=stripeStore.stripeAddressEventData.value.firstName&&stripeStore.stripeAddressEventData.value.lastName;var u=!d.stateRequired||d.stateRequired&&stripeStore.stripeAddressEventData.value.address.state.length>0;var S=!d.zipRequired||d.zipRequired&&stripeStore.stripeAddressEventData.value.address.postal_code.length>=3;var v=stripeStore.stripeAddressEventData.value.phone&&stripeStore.stripeAddressEventData.value.phone.length>0;return n&&l&&c&&u&&S&&v};var stripeCalculateLandedCost=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n,i,a,s,d,c,l;return __generator(this,(function(u){switch(u.label){case 0:t=new AbortController;stripeStore.fetchingLandedCostAbortController=t;cartStoreResetCartItems();return[4,calculateLandedCostNormalized(t)];case 1:r=u.sent(),o=r.checkoutSessionWorkflow,n=r.errors,i=r.itemCreateWorkflow,a=r.landedCostCalculateWorkflow,s=r.partyCreateWorkflow,d=r.shipmentRatingCalculateWorkflow;cartStore.customQuotingError=((e=n===null||n===void 0?void 0:n.find((function(e){var t,r;return((t=e.extensions)===null||t===void 0?void 0:t.ruleMessageType)==="CUSTOM"||((r=e.extensions)===null||r===void 0?void 0:r.source)==="COUNTRY_CONSTRAINT"})))===null||e===void 0?void 0:e.message)||null;cartStore.shippingData=sortServiceLevelOptionsByAmount((d===null||d===void 0?void 0:d.filter(Boolean))||[]);cartStoreCheckItemRestrictions(i);stripeStore.fetchingLandedCostAbortController=null;cartStore.partiesData=(s===null||s===void 0?void 0:s.filter(Boolean))||[];cartStore.landedCostData=(o===null||o===void 0?void 0:o.map((function(e){var t=a===null||a===void 0?void 0:a.find((function(t){return(t===null||t===void 0?void 0:t.id)===e.landedCostId}));if(!t){return null}return Object.assign(Object.assign({},e),{landedCost:t})})).filter(Boolean))||[];c=storageStore.checkoutSessionId;if(o===null||o===void 0?void 0:o.length){void trackConversionEvent({checkoutSessionId:c,eventName:"checkout_quoteReceived"})}l=cartStore.promoCodeApplied&&!cartStore.landedCostData.find((function(e){var t;return(t=e.landedCost.appliedAdjustments)===null||t===void 0?void 0:t.find((function(e){return e.type==="PROMO_CODE"}))}));cartStore.promoCodeError=l;if(!l){sessionStorage.setItem("zonos--promo-code",cartStore.promoCode)}return[2]}}))}))};var stripeStorePrefetchLandedCost=function(e){return __awaiter(void 0,void 0,void 0,(function(){var t,r,o,n,i,a,s,d,c,l,u,S,v,p;return __generator(this,(function(f){switch(f.label){case 0:i=(e===null||e===void 0?void 0:e.retries)||0;a=!!(e===null||e===void 0?void 0:e.applyingPromocode);s=isPrefetchInfoOutdated();d=isAddressReadyToRequestLandedCost();if(!d){return[2,{isRequestNotReady:true}]}if(s){(t=stripeStore.fetchingLandedCostAbortController)===null||t===void 0?void 0:t.abort();stripeStore.fetchingLandedCostAbortController=null}if(!s&&!a){return[2,{isRequestNotReady:false}]}if(i){stripeStore.isFetchingLandedCost=false;setTimeout((function(){stripeStore.isFetchingLandedCost=true}),300)}else{stripeStore.isFetchingLandedCost=true}if(stripeStore.stripeAddressEventData){stripeStore.stripeAddressUsedWhenFetchingLC={countryCode:stripeStore.stripeAddressEventData.value.address.country,postalCode:stripeStore.stripeAddressEventData.value.address.postal_code,state:stripeStore.stripeAddressEventData.value.address.state}}if(stripeStore.stripeBillingAddressEventData){stripeStore.stripeBillingAddressUsedWhenFetchingLC={countryCode:stripeStore.stripeBillingAddressEventData.value.address.country,postalCode:stripeStore.stripeBillingAddressEventData.value.address.postal_code,state:stripeStore.stripeBillingAddressEventData.value.address.state}}if(stripeStore.stripeLinkEventData){stripeStore.stripeLinkUsedWhenFetchingLC=Object.assign({},stripeStore.stripeLinkEventData)}f.label=1;case 1:f.trys.push([1,3,,7]);cartStoreResetCartItems();return[4,stripeCalculateLandedCost()];case 2:f.sent();c=(r=cartStore.shippingData)===null||r===void 0?void 0:r.find(Boolean);l=(o=cartStore.landedCostData)===null||o===void 0?void 0:o.find((function(e){return e.landedCost.shipmentRating.id===(c===null||c===void 0?void 0:c.id)}));u=!!l?l.subtotals:null;if(u){cartStoreApplySubtotals({method:(l===null||l===void 0?void 0:l.landedCost.method)||"DDP",subtotals:u})}return[3,7];case 3:S=f.sent();cartStore.landedCostData=[];cartStore.shippingData=[];v=["The landed cost calculation request was aborted to initiate a new one."];if(!(S instanceof Error&&S.message&&!v.includes(S.message)))return[3,6];if(!(i<1))return[3,5];return[4,stripeStorePrefetchLandedCost(Object.assign(Object.assign({},e),{retries:(i||0)+1}))];case 4:f.sent();return[2,{isRequestNotReady:false}];case 5:p=(n=stripeStore.stripeAddressEventData)===null||n===void 0?void 0:n.value;void sendErrorLog({endpoint:"Failed to fetch landed cost (".concat(i," retries)"),errors:[S.message],metadata:{cartId:window.Zonos.cartId,shipToAddress:p}});f.label=6;case 6:logError(S);return[3,7];case 7:stripeStore.isFetchingLandedCost=false;return[2,{isRequestNotReady:false}]}}))}))};var stripeStoreApplyPromoCode=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o;return __generator(this,(function(n){switch(n.label){case 0:return[4,stripeStorePrefetchLandedCost({applyingPromocode:true})];case 1:n.sent();if(cartStore.step==="payment"){cartStorePreviousStep()}return[4,stripeStoreAsyncAddressUpdate()];case 2:n.sent();r=(e=cartStore.shippingData)===null||e===void 0?void 0:e.find(Boolean);o=(t=cartStore.landedCostData)===null||t===void 0?void 0:t.find((function(e){return e.landedCost.id===(r===null||r===void 0?void 0:r.id)}));if(!r||!o){return[2]}return[4,cartStoreUpdateSelectedShippingOption({applySubtotalsOnly:false,landedCostId:o.landedCostId,selectedShippingOption:r})];case 3:n.sent();return[2]}}))}))};var stripeStoreResetPromoCode=function(){cartStore.promoCode="";sessionStorage.removeItem("zonos--promo-code");cartStore.promoCodeError=false;cartStore.promoCodeApplied=false};var stripeStoreRemovePromoCode=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:if(cartStore.step==="payment"){cartStorePreviousStep()}stripeStoreResetPromoCode();return[4,stripeStoreApplyPromoCode()];case 1:e.sent();return[2]}}))}))};var stripeStoreMessageBasedOnStatus=function(e){var t=[];var r=true;var o=window.Zonos.isCollect;var n=window.Zonos.isInvoice;switch(e){case"succeeded":{t=[translate("Your payment went through successfully! Thank you for shopping with us! We hope you had an enjoyable experience and your support means the world to us."),"",translate("We've sent an email confirmation of the order details for your review. And our team is carefully preparing your order so it arrives on time.")];if(o||n){t=[translate("Thank you for submitting your payment. We appreciate your prompt attention."),"",translate("A confirmation email with your payment details has been sent for your records. If you have any questions or need support, our team is here to help.")]}r=false;break}case"requires_capture":case"processing":{t=[translate("Payment processing. We'll update you when payment is received.")];r=false;break}case"requires_payment_method":{t=[translate("Payment failed. Please try another payment method.")];if(o){t=[translate("Payment failed. Please reload the page and try another payment method.")]}break}case"requires_action":{r=false;t=[translate("Your selected payment method requires additional verification. Please follow the instructions provided by your payment provider to complete the transaction.")]}default:{t=[translate("Something went wrong.")];break}}return{isError:r,messages:t}};var stripeStoreHandleInventoryCheck=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n,i,a,s,d,s;return __generator(this,(function(c){switch(c.label){case 0:r=zonosStore.checkoutSettings.onInventoryCheck;o=!!((t=(e=window.Zonos.cartData)===null||e===void 0?void 0:e.metadata.find((function(e){return e.key==="referenceId"})))===null||t===void 0?void 0:t.value);if(!(window.Zonos.isLegacyCheckout&&window.Zonos.cartData&&o))return[3,2];return[4,handleFetch("/api/zonos-elements/legacy/inventory-check",{body:{cartData:window.Zonos.cartData},method:"POST"})];case 1:n=c.sent(),i=n.errors,a=n.json;if(i.length||!a){logError("Error occurs when handling inventory refund","warn",JSON.stringify(i));return[2,null]}if(!a.available||a.status===204){return[2,translate("The item you're looking for is currently unavailable in our inventory. Please check back later or contact support for assistance with availability.")]}if(a.available||a.status===200){stripeStore.shouldInventoryRefund=true;return[2,null]}return[2,null];case 2:if(typeof r!=="function"){return[2,null]}c.label=3;case 3:c.trys.push([3,5,,6]);return[4,r({items:cartStore.items},{translate:translate,zonosApiRoute:fallbackApiList["vercel"]})];case 4:s=c.sent();return[2,s];case 5:d=c.sent();s=d instanceof Error?d.message:"Unknown error";void sendErrorLog({endpoint:"onInventoryCheck",errors:["cartId: ".concat(window.Zonos.cartId," - ").concat(s)],metadata:{cartId:window.Zonos.cartId,href:window.location.href,items:cartStore.items}});throw d;case 6:return[2]}}))}))};var stripeStoreHandleInventoryRefund=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r;return __generator(this,(function(o){switch(o.label){case 0:r=!!((t=(e=window.Zonos.cartData)===null||e===void 0?void 0:e.metadata.find((function(e){return e.key==="referenceId"})))===null||t===void 0?void 0:t.value);if(!window.Zonos.isLegacyCheckout||!window.Zonos.cartData||!r){return[2]}return[4,handleFetch("/api/zonos-elements/legacy/inventory-refund",{body:{cartData:window.Zonos.cartData},method:"POST"})];case 1:o.sent();return[2]}}))}))};var stripeStoreRetrievePayment=function(e){return __awaiter(void 0,[e],void 0,(function(e){var t,r,o,n,i,a,s,d,c;var l=e.clientSecret,u=e.storybookForceStatus;return __generator(this,(function(e){switch(e.label){case 0:if(u){t=stripeStoreMessageBasedOnStatus(u),r=t.isError,o=t.messages;return[2,{error:r,messages:o}]}n=l||stripeStore.clientSecret;if(!stripeStore.stripe||!n){logError("Failed to retrieve payment intent. Stripe is not initialized");return[2,{error:true,message:[translate("Something went wrong.")]}]}if(!n.includes("_secret_")){return[2,{error:true,messages:[translate("Something went wrong.")]}]}return[4,stripeStore.stripe.retrievePaymentIntent(n)];case 1:i=e.sent().paymentIntent;a=i===null||i===void 0?void 0:i.status;s=stripeStoreMessageBasedOnStatus(a),d=s.isError,c=s.messages;return[2,{amount:i===null||i===void 0?void 0:i.amount,currency:i===null||i===void 0?void 0:i.currency,error:d,messages:c,paymentIntentId:i===null||i===void 0?void 0:i.id,paymentMethod:i===null||i===void 0?void 0:i.payment_method,status:a}]}}))}))};var stripeStoreConfirmPayment=function(e){return __awaiter(void 0,void 0,void 0,(function(){var t,r,o,n,i,a,s,d,c,l,u,S;return __generator(this,(function(v){switch(v.label){case 0:o=!!((t=stripeStore.stripePaymentEventData)===null||t===void 0?void 0:t.complete);n=stripeStore.stripeElements;i=stripeStore.stripe;a=stripeStore.clientSecret;stripeStore.customErrorMessage=null;if(!((r=cartStore.selectedLandedCost)===null||r===void 0?void 0:r.landedCost.id)&&!(e===null||e===void 0?void 0:e.noLandedCostCheck)){throw new Error("Attempted to confirm the payment when no landed cost is found in store")}return[4,validateCheckoutSession()];case 1:s=v.sent();if(!s.valid){stripeStore.customErrorMessage=s.errorMessage;throw new Error(s.errorMessage)}d=storageStore.checkoutSessionId;if(!(i&&n&&o&&a&&d))return[3,3];c=new URL(window.location.href);c.searchParams.set("payment_intent_client_secret",a);c.searchParams.set("zonosCheckoutSessionId",d);void trackConversionEvent({checkoutSessionId:d,eventName:"checkout_paymentInfoCompleted"});return[4,i.confirmPayment({confirmParams:{return_url:c.toString()},elements:n,redirect:"if_required"})];case 2:l=v.sent(),u=l.error,S=l.paymentIntent;log("Payment intent confirmed","info",{error:u,paymentIntent:S});if((S===null||S===void 0?void 0:S.status)==="requires_action"){throw new Error(translate("Your selected payment method requires additional verification. Please follow the instructions provided by your payment provider to complete the transaction."))}if(u){if(u.type==="card_error"||u.type==="validation_error"){throw new Error(u.message)}if(u.type==="invalid_request_error"){if(u.code==="payment_intent_unexpected_state"){return[2]}}throw new Error("An unexpected error occurred.")}if(S.status==="requires_payment_method"){throw new Error(translate("Payment failed. Please try another payment method."))}v.label=3;case 3:return[2]}}))}))};var buildPolicyConsentMetadataEntry=function(){if(!policyConsentStore.accepted){return null}var e=getEnabledPolicies();if(!e.length){return null}return{key:"merchantPolicyConsent",value:JSON.stringify({acceptedAt:policyConsentStore.acceptedAt||(new Date).toISOString(),locale:localizationStore.selectedLocale,policies:e.reduce((function(e,t){e[t.key]=t.url;return e}),{})})}};var getPaymentProcessorFromUrl=function(){var e=new URLSearchParams(window.location.search).get("paymentProcessor");var t=function(e){return Object.values(checkoutPaymentProcessorType).some((function(t){return t===e}))};return e&&t(e)?e:undefined};var getCheckoutSessionBody=function(){var e;var t=cartStore.items.reduce((function(e,t){return e+t.amount*t.quantity}),0);var r=storageStore.enabledVariantTestKeys||[];var o={adjustmentsAmount:cartStore.adjustments.reduce((function(e,t){return e+t.amount}),0),cartId:window.Zonos.cartId,currency:((e=cartStore.items.find(Boolean))===null||e===void 0?void 0:e.currencyCode)||"",customerAuthenticationToken:cartStore.customerAuthenticationToken||undefined,isCollect:!!window.Zonos.isCollect,isInvoice:!!window.Zonos.isInvoice,itemsAmount:t,metadata:[{key:"language",value:localizationStore.selectedLocale}],paymentProcessor:getPaymentProcessorFromUrl(),presentmentCountryCode:localizationStore.selectedCountryCode,skipPaymentIntent:stripeStore.skipPaymentIntent,varianceTestInput:r};return o};var stripeStoreGetPaymentIntent=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n;return __generator(this,(function(i){switch(i.label){case 0:if(!storageStore.checkoutSessionId){void sendErrorLog({endpoint:"Error creating payment intent",errors:["No checkout session id found when retrieving payment intent"],metadata:{allLogs:allLogs,cartId:window.Zonos.cartId}});cartStoreUpdateToErrorState({messages:[translate("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:translate("Error creating Checkout")});return[2]}return[4,handleFetch("/api/zonos-elements/create-payment-intent",{body:{checkoutSessionId:storageStore.checkoutSessionId},method:"POST"})];case 1:t=i.sent(),r=t.errors,o=t.json;n=(e=o===null||o===void 0?void 0:o.checkoutSessionPaymentIntentCreate)===null||e===void 0?void 0:e.clientSecret;if(r.length||!n){logError("Error occurs when getting payment intent",JSON.stringify(r,null,2));void sendErrorLog({endpoint:"Error creating payment intent",errors:r.map((function(e){return e.message})),metadata:{allLogs:allLogs,cartId:window.Zonos.cartId,checkoutSessionId:storageStore.checkoutSessionId,clientSecret:n}});cartStoreUpdateToErrorState({messages:[translate("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:translate("Error creating Checkout")});return[2]}cartStoreSetCheckoutSession(o.checkoutSessionPaymentIntentCreate);return[2]}}))}))};var stripeStoreInitCheckoutSession=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n,i,a,s;return __generator(this,(function(d){switch(d.label){case 0:if(!localizationStore.targetCurrency){logError("Failed to create checkout session - missing localizationStore.targetCurrency");return[2,false]}stripeStore.isFetchingSession=true;r=getCheckoutSessionBody();log("Checkout session body","info",r);return[4,handleFetch("/api/zonos-elements/create-checkout-session",{body:r,method:"POST"})];case 1:o=d.sent(),n=o.errors,i=o.json;stripeStore.isFetchingSession=false;if(n.length||!i){a=(e=n.find((function(e){return e.message})))===null||e===void 0?void 0:e.message;if(Array.isArray(a)&&a.some((function(e){return e.message==="Cart is expired."}))){throw new Error("Cart is expired.")}logError("Error occurred when creating checkout session",JSON.stringify(n,null,2));return[2,false]}s=i.checkoutSessionCreate;cartStoreSetCheckoutSession(s);cartStoreApplySubtotals({method:((t=s.landedCost)===null||t===void 0?void 0:t.method)||"DDP",subtotals:s.subtotals});log("Exchange rate updated for cart items (checkout session create)","info",cartStore.exchangeRate);log("done-init-checkout-session");return[2,true]}}))}))};var stripeStoreUpdateCheckoutSessionBaseCurrency=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r;return __generator(this,(function(o){switch(o.label){case 0:e=storageStore.checkoutSessionId;if(!e){logError("Failed to update checkout session base currency");return[2,false]}if(zonosStore.checkoutSettings.allowedSettlementCurrencies==="LOCAL"){log('allowedSettlementCurrencies: "LOCAL". Skip updating checkout session base currency');return[2,true]}return[4,handleFetch("/api/zonos-elements/update-checkout-session-base-currency",{body:{checkoutSessionId:e,currencyCode:stripeStore.checkoutSettlementCurrency},method:"POST"})];case 1:t=o.sent().json;r=t===null||t===void 0?void 0:t.checkoutSessionBaseCurrencyUpdate.subtotals.presentmentCurrencyCode;if(!t||r!==stripeStore.checkoutSettlementCurrency){logError("Failed to update checkout session base currency");return[2,false]}log('Updated checkout session to settlement currency "'.concat(r,'".'));return[2,true]}}))}))};var stripeStoreUpdateCheckoutSession=function(e){return __awaiter(void 0,[e],void 0,(function(e){var t,r,o,n;var i=e.adjustmentsAmount,a=e.cartId,s=e.currency,d=e.id,c=e.itemsAmount,l=e.landedCostId,u=e.presentmentCountryCode,S=e.storeCreditApplication;return __generator(this,(function(e){switch(e.label){case 0:t=storageStore.enabledVariantTestKeys||[];return[4,handleFetch("/api/zonos-elements/update-checkout-session",{body:{adjustmentsAmount:i,billToPartyId:stripeStore.partyBillingId,cartId:a,currency:s,customerAuthenticationToken:cartStore.customerAuthenticationToken||undefined,id:d,itemsAmount:c,landedCostId:l,metadata:[{key:"language",value:localizationStore.selectedLocale}],presentmentCountryCode:u,shipToPartyId:stripeStore.partyShippingId,skipPaymentIntent:stripeStore.skipPaymentIntent,storeCreditApplication:S,varianceTestInput:t},method:"POST"})];case 1:r=e.sent(),o=r.errors,n=r.json;if(o.length||!n){logError("Error occurs when updating checkout session",JSON.stringify(o,null,2));return[2,{errors:o,json:n}]}return[2,{errors:[],json:n}]}}))}))};var stripeStoreRecordPolicyConsent=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t;return __generator(this,(function(r){switch(r.label){case 0:e=buildPolicyConsentMetadataEntry();if(!e){return[2,{errors:[]}]}if(!storageStore.checkoutSessionId){return[2,{errors:[]}]}return[4,handleFetch("/api/zonos-elements/update-checkout-session-metadata",{body:{id:storageStore.checkoutSessionId,metadata:[e]},method:"POST"})];case 1:t=r.sent().errors;if(t.length){logError("Failed to record merchant policy consent on checkout session",JSON.stringify(t,null,2));return[2,{errors:t.map((function(e){return e.message||"Unknown error"}))}]}return[2,{errors:[]}]}}))}))};var buildTranslatedAddress=function(e){var t,r,o,n,i,a;var s=e.currentAddress,d=e.translatedAddressResult;var c={};if(!d){return c}var l=d.city,u=d.line1,S=d.line2,v=d.name,p=d.postal_code,f=d.state;if(s.city&&l){c.city=(t={},t[s.city]=l,t)}if(s.line1&&u){c.line1=(r={},r[s.line1]=u,r)}if(s.line2&&S){c.line2=(o={},o[s.line2]=S,o)}if(s.postal_code&&p){c.postal_code=(n={},n[s.postal_code]=p,n)}if(s.state&&f){c.state=(i={},i[s.state]=f,i)}if(s.name&&v){c.name=(a={},a[s.name]=v,a)}return c};var stripeStoreTranslateAddressToLatin=function(e){return __awaiter(void 0,[e],void 0,(function(e){var t,r,o,n,i,a,s,d,c,l,u;var S=e.addressInvalidCharactersList,v=e.billingAddressInvalidCharactersList;return __generator(this,(function(e){switch(e.label){case 0:i=buildTranslateRequest({addressInvalidCharactersList:S,billingAddressInvalidCharactersList:v,stripeAddressEventData:stripeStore.stripeAddressEventData,stripeBillingAddressEventData:stripeStore.stripeBillingAddressEventData,stripeShippingSameAsBilling:stripeStore.stripeShippingSameAsBilling});if(!i){stripeStore.translatedAddress={address:{},billingAddress:{}};return[2]}a=checkIsAddressOutdatedForValidation();if(!a){return[2]}return[4,handleFetch("/api/zonos-elements/validate-address",{body:i,method:"POST"})];case 1:s=e.sent(),d=s.errors,c=s.json;if(d.length||!c){logError("Error occurs when translating address to latin",JSON.stringify(d,null,2));stripeStore.translatedAddress={address:{},billingAddress:{}};return[2]}stripeStore.stripeAddressUsedWhenValidatingAddress=stripeStore.stripeAddressEventData;stripeStore.stripeBillingAddressUsedWhenValidatingAddress=stripeStore.stripeBillingAddressEventData;l=(t=stripeStore.stripeAddressEventData)===null||t===void 0?void 0:t.value.address;u=(r=stripeStore.stripeBillingAddressEventData)===null||r===void 0?void 0:r.value.address;stripeStore.translatedAddress={address:l?buildTranslatedAddress({currentAddress:Object.assign(Object.assign({},l),{name:(o=stripeStore.stripeAddressEventData)===null||o===void 0?void 0:o.value.name}),translatedAddressResult:c.address||null}):{},billingAddress:!stripeStore.stripeShippingSameAsBilling?buildTranslatedAddress({currentAddress:Object.assign(Object.assign({},u),{name:(n=stripeStore.stripeBillingAddressEventData)===null||n===void 0?void 0:n.value.name}),translatedAddressResult:c.billingAddress||null}):{}};return[2]}}))}))};stripeStoreOnChange("clientSecret",(function(e){if(e&&stripeStore.stripe){sessionStorage.setItem("zonos--client-secret",e)}if(!e){sessionStorage.removeItem("zonos--client-secret")}}));var isEuDapRemittance=function(e){var t=e.deliveryType,r=e.landedCost,o=e.shipToCountry;return r.method==="DAP"&&t==="POSTAL"&&r.remittance.length>0&&!!o&&euCountryCodes.includes(o)};var _r=createStore((function(){return{addressFormRenderType:"stripe",adjustmentTotal:0,adjustments:[],checkoutSession:null,checkoutSessionTimeoutShow:false,checkoutTimeoutInterval:null,currency:"USD",customMessage:[],customQuotingError:null,customerAuthenticationToken:null,displayBaseCurrency:false,dutiesTaxesFees:null,dutiesTaxesFeesEstimate:null,error:null,exchangeRate:null,externalConfirmationPageURL:null,inventoryCheckErrorMessage:null,isSelectedShippingAboveDeminimis:false,isSelectedShippingGuarantee:false,isStagingMode:getIsStagingMode(),items:[],landedCostData:null,landedCostMethod:"DDP",partiesData:[],promoCode:sessionStorage.getItem("zonos--promo-code")||"",promoCodeApplied:!!sessionStorage.getItem("zonos--promo-code"),promoCodeError:false,restrictedItems:[],selectedLandedCost:null,selectedShippingOption:null,selectedShippingOptionExpectedDate:"",selectedShippingOptionTransitTime:"",shipping:0,shippingData:null,shouldHideDiscountInput:false,step:"customer-info",storeCredit:0,subtotal:0,tabItems:{"customer-info":{index:1,isDone:false,label:"Customer",value:"customer-info"},shipping:{index:2,isDone:false,label:"Shipping",value:"shipping"},payment:{index:3,isDone:false,label:"Payment",value:"payment"}},total:0}})),cartStoreOnChange=_r.onChange,reset=_r.reset,cartStore=_r.state;var getTransitUnit=function(e){switch(e){case"DAYS":return translate("days");case"WEEKS":return translate("weeks");case"BUSINESS_DAYS":default:return translate("business days")}};var cartStoreGetShippingTransitInfo=function(e){var t;var r=(t=e.shippingProfile)===null||t===void 0?void 0:t.transitTime;if(!(r===null||r===void 0?void 0:r.min)||!(r===null||r===void 0?void 0:r.max)||!(r===null||r===void 0?void 0:r.type)){return null}return{maxTransit:r.max,minTransit:r.min,unit:getTransitUnit(r.type)}};var getMatchItem=function(e){var t=e.item1,r=e.item2;if(!t||!r){return false}return r.sku&&t.sku&&t.sku===r.sku||r.description&&t.description&&t.description===r.description||t.name&&r.name&&t.name===r.name};var cartStoreCheckItemRestrictions=function(e){log("Checking item restrictions");var t=e.map((function(e){if(!e.restriction){return null}var t=e.restriction;var r=cartStore.items.find((function(t){return getMatchItem({item1:t,item2:e})}));return Object.assign(Object.assign({matchedItem:r},e),{restriction:t})})).filter(Boolean);cartStore.restrictedItems=t;cartStore.items=cartStore.items.map((function(e){return Object.assign(Object.assign({},e),{isRestricted:!!t.find((function(t){return getMatchItem({item1:t,item2:e})}))})}));return{cartItems:cartStore.items,restrictedItems:t}};var storeCreditUpdateTimeout=null;var cartStoreReset=function(){storageStore.checkoutSessionId=null;if(storeCreditUpdateTimeout){clearTimeout(storeCreditUpdateTimeout);storeCreditUpdateTimeout=null}storeCreditStoreReset();reset()};var cartStoreUpdateToErrorState=function(e){var t=e.messages,r=e.title;cartStoreReset();stripeStoreReset();cartStore.step="error";cartStore.error={messages:t,title:r}};var cartStoreApplySubtotals=function(e){var t=e.dutiesTaxesFeesEstimate,r=e.method,o=e.subtotals;var n;cartStore.exchangeRate=o.exchangeRate;cartStore.adjustmentTotal=o.adjustments;cartStore.dutiesTaxesFees=r==="DAP"?null:o.landedCostTotal;cartStore.storeCredit=(n=o.storeCredit)!==null&&n!==void 0?n:0;cartStore.subtotal=o.items;cartStore.total=o.total;cartStore.currency=o.presentmentCurrencyCode;cartStore.dutiesTaxesFeesEstimate=t||null};var cartStoreHasOneEligibleItem=function(){var e=cartStore.items.filter((function(e){return e.amount>0}));return!!e.find((function(e){return!e.isRestricted}))};var cartStoreSetCheckoutSession=function(e){var t,r,o,n,i,a,s;stripeStore.clientSecret=e.clientSecret;stripeStore.stripeCustomerSessionClientSecret=e.customerSessionClientSecret;stripeStore.customerProfile=e.customerProfile;cartStore.checkoutSession=e;storeCreditStoreSetBalanceFromSession((r=(t=e.customerProfile)===null||t===void 0?void 0:t.storeCreditBalance)!==null&&r!==void 0?r:null);if(!e.id){void sendErrorLog({endpoint:"cartStoreSetCheckoutSession",errors:["Missing checkout session id in checkout session"],metadata:{allLogs:allLogs,checkoutSession:e}})}if(e.id){storageStore.checkoutSessionId=e.id}var d=filterValidTests(e.varianceTestResults||[]);storageStoreSetEnabledVariantTestKeys(d);var c=((i=(n=(o=cartStore.checkoutSession)===null||o===void 0?void 0:o.metadata)===null||n===void 0?void 0:n.find((function(e){return(e===null||e===void 0?void 0:e.key)==="externalConfirmationPageURL"})))===null||i===void 0?void 0:i.value)||((s=(a=window.Zonos.cartData)===null||a===void 0?void 0:a.metadata.find((function(e){return(e===null||e===void 0?void 0:e.key)==="externalConfirmationPageURL"})))===null||s===void 0?void 0:s.value)||null;if(c){log("Found externalConfirmationPageURL: ".concat(c));cartStore.externalConfirmationPageURL=c}};var cartStoreReCalculateTotal=function(e){return __awaiter(void 0,[e],void 0,(function(e){var t,r,o,n,i,a;var s=e.adjustmentsAmount,d=e.cartId,c=e.currency,l=e.dutiesTaxesFeesEstimate,u=e.itemsAmount,S=e.landedCostId,v=e.shouldInitSessionOnFailure;return __generator(this,(function(e){switch(e.label){case 0:if(S&&cartStore.selectedLandedCost){r=cartStore.selectedLandedCost.subtotals;cartStoreApplySubtotals({dutiesTaxesFeesEstimate:l,method:cartStore.landedCostMethod,subtotals:r});log("Exchange rate updated for cart items (landed cost subtotal)","info",cartStore.exchangeRate)}if(!storageStore.checkoutSessionId){log("Could not update cart total without checkout session id","info");return[2,false]}return[4,stripeStoreUpdateCheckoutSession({adjustmentsAmount:s,billToPartyId:stripeStore.partyBillingId,cartId:d,currency:c,id:storageStore.checkoutSessionId,itemsAmount:u,landedCostId:S,presentmentCountryCode:localizationStore.selectedCountryCode,shipToPartyId:stripeStore.partyShippingId,varianceTestInput:storageStore.enabledVariantTestKeys||[]})];case 1:o=e.sent(),n=o.errors,i=o.json;if(!(n.length>0||!i))return[3,4];logError("Error occurs when updating checkout session.");if(!v)return[3,3];log("Initiating checkout session on failure","info");return[4,stripeStoreInitCheckoutSession()];case 2:a=e.sent();log("stripeStoreInitCheckoutSession: ".concat(a));if(!a){cartStoreUpdateToErrorState({messages:[translate("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:translate("Error creating Checkout")});return[2,false]}return[2,true];case 3:return[2,false];case 4:if(!S){cartStoreApplySubtotals({method:((t=i.checkoutSessionUpdate.landedCost)===null||t===void 0?void 0:t.method)||"DDP",subtotals:i.checkoutSessionUpdate.subtotals});log("Exchange rate updated for cart items (checkout session update)","info",cartStore.exchangeRate)}cartStoreSetCheckoutSession(i.checkoutSessionUpdate);return[2,true]}}))}))};var cartStoreGetMethod=function(e,t){var r,o,n,i;if(e.method==="DAP"&&((o=(r=zonosStore.genericSettings)===null||r===void 0?void 0:r.domesticCountries)===null||o===void 0?void 0:o.includes(((n=stripeStore.stripeAddressEventData)===null||n===void 0?void 0:n.value.address.country)||"US"))){return"DDP"}if(isEuDapRemittance({deliveryType:t,landedCost:e,shipToCountry:(i=stripeStore.stripeAddressEventData)===null||i===void 0?void 0:i.value.address.country})){return"DAP"}if(e.method==="DAP"&&e.remittance.length&&e.landedCostGuaranteeCode==="ZONOS"){return"DDP"}return e.method};var cartStoreUpdateSelectedShippingOption=function(e){return __awaiter(void 0,[e],void 0,(function(e){var t,r,o,n,i,a,s,d,c,l,u,S,v,p,f,h,m,g,C,y,w,b,A,_,O,k;var E=e.applySubtotalsOnly,I=e.landedCostId,T=e.selectedShippingOption;return __generator(this,(function(e){switch(e.label){case 0:log("Updating selected shipping option","info",{landedCostId:I,selectedShippingOption:T});cartStore.selectedShippingOption=T;v=cartStoreGetShippingTransitInfo(cartStore.selectedShippingOption);if(v){p=v.maxTransit,f=v.minTransit,h=v.unit;cartStore.selectedShippingOptionTransitTime="".concat(f,"-").concat(p," ").concat(h)}else{cartStore.selectedShippingOptionTransitTime=""}m=(t=cartStore.landedCostData)===null||t===void 0?void 0:t.find((function(e){return e.landedCostId===I}));cartStore.selectedLandedCost=m||null;if(!m){return[2,false]}g=((r=m.landedCost.amountSubtotals)===null||r===void 0?void 0:r.landedCostTotal)||0;C=m.subtotals.exchangeRate.rate;y=g*C;if(y){log("DAP quote, using estimate: ".concat(y),"info")}cartStore.landedCostMethod=cartStoreGetMethod(m.landedCost,(o=T.shippingProfile)===null||o===void 0?void 0:o.serviceLevel.deliveryType);cartStore.shipping=m.subtotals.shipping;w=((n=m===null||m===void 0?void 0:m.landedCost)===null||n===void 0?void 0:n.landedCostGuaranteeCode)==="ZONOS";b=!!((a=(i=m===null||m===void 0?void 0:m.landedCost)===null||i===void 0?void 0:i.deMinimis)===null||a===void 0?void 0:a.find((function(e){return["DUTY","TAX"].includes(e.type)&&e.threshold==="ABOVE"})));cartStore.isSelectedShippingAboveDeminimis=b;cartStore.isSelectedShippingGuarantee=w;A=false;if(!E)return[3,1];_=m.subtotals;cartStoreApplySubtotals({dutiesTaxesFeesEstimate:y,method:cartStore.landedCostMethod,subtotals:_});log("Exchange rate updated for cart items (landed cost subtotal)","info",cartStore.exchangeRate);A=true;return[3,3];case 1:return[4,cartStoreReCalculateTotal({adjustmentsAmount:cartStore.adjustmentTotal,billToPartyId:stripeStore.partyBillingId,cartId:window.Zonos.cartId,dutiesTaxesFeesEstimate:y,landedCostId:(s=m.landedCost)===null||s===void 0?void 0:s.id,shipToPartyId:stripeStore.partyShippingId,varianceTestInput:storageStore.enabledVariantTestKeys||[]})];case 2:A=e.sent();e.label=3;case 3:O=(d=cartStore.items.find(Boolean))===null||d===void 0?void 0:d.currencyCode;k=((c=stripeStore.stripeAddressEventData)===null||c===void 0?void 0:c.value.address.country)||"US";stripeStore.shouldRenderPayInUsdButton=O==="USD"&&zonosStore.checkoutSettings.allowedSettlementCurrencies==="LOCAL_AND_USD"&&((l=cartStore.checkoutSession)===null||l===void 0?void 0:l.subtotals.presentmentCurrencyCode)!=="USD"&&!!((S=(u=zonosStore.genericSettings)===null||u===void 0?void 0:u.usdSettlementCountryEnabled)===null||S===void 0?void 0:S.includes(k));return[2,A]}}))}))};var cartStoreStartCheckoutInterval=function(e){var t=e.isPreview,r=e.sessionTimeout;if(t){return}var o=new URLSearchParams(window.location.search).get("zonosCheckoutTimeout");var n=o&&!isNaN(parseInt(o,10))?parseInt(o,10):r;log("==START CHECKOUT TIMEOUT - ".concat(n,"=="));cartStore.checkoutTimeoutInterval=setTimeout((function(){cartStore.checkoutSessionTimeoutShow=true}),n)};var cartStoreClearCheckoutInterval=function(){if(cartStore.checkoutTimeoutInterval){clearTimeout(cartStore.checkoutTimeoutInterval);cartStore.checkoutTimeoutInterval=null}};var getCartItemToUse=function(e){return e.map((function(e){return Object.assign(Object.assign({},e),{isRestricted:false})}))};var cartStoreResetCartItems=function(){cartStore.items=cartStore.items.map((function(e){return Object.assign(Object.assign({},e),{isRestricted:false})}));cartStore.restrictedItems=[]};var cartStoreUpdateItems=function(e){return __awaiter(void 0,[e],void 0,(function(e){var t,r,o,n;var i=e.adjustments,a=e.cartItems,s=e.landedCostId,d=e.shouldInitSessionOnFailure,c=d===void 0?true:d;return __generator(this,(function(e){switch(e.label){case 0:cartStore.adjustments=i;cartStore.items=getCartItemToUse(a);r=(t=a.find(Boolean))===null||t===void 0?void 0:t.currencyCode;o=a.reduce((function(e,t){return e+t.amount*t.quantity}),0);n=i.reduce((function(e,t){return e+t.amount}),0);if(!r||!o){return[2]}cartStore.currency=r;stripeStore.isFetchingSession=true;return[4,cartStoreReCalculateTotal({adjustmentsAmount:n,billToPartyId:stripeStore.partyBillingId,cartId:window.Zonos.cartId,currency:r,dutiesTaxesFeesEstimate:0,itemsAmount:o,landedCostId:s,shipToPartyId:stripeStore.partyShippingId,shouldInitSessionOnFailure:c,varianceTestInput:storageStore.enabledVariantTestKeys||[]})];case 1:e.sent();stripeStore.isFetchingSession=false;return[2]}}))}))};var cartStoreResetSelectedShippingOption=function(){cartStore.selectedShippingOption=null;cartStore.isSelectedShippingAboveDeminimis=false;cartStore.isSelectedShippingGuarantee=false;cartStore.selectedShippingOptionTransitTime="";cartStore.dutiesTaxesFees=0;cartStore.dutiesTaxesFeesEstimate=0;cartStore.shipping=0;cartStore.total=cartStore.subtotal};var cartStorePreviousStep=function(){if(cartStore.step==="shipping"){cartStore.step="customer-info";cartStore.tabItems=Object.assign(Object.assign({},cartStore.tabItems),{"customer-info":Object.assign(Object.assign({},cartStore.tabItems.shipping),{isDone:false})})}else if(cartStore.step==="payment"){cartStore.step="shipping";cartStore.tabItems=Object.assign(Object.assign({},cartStore.tabItems),{shipping:Object.assign(Object.assign({},cartStore.tabItems.shipping),{isDone:false})})}else if(cartStore.step==="finish"){cartStore.step="payment";cartStore.tabItems=Object.assign(Object.assign({},cartStore.tabItems),{payment:Object.assign(Object.assign({},cartStore.tabItems.payment),{isDone:false})})}};var cartStoreNextStep=function(){if(cartStore.step==="customer-info"){cartStore.step="shipping";cartStore.tabItems=Object.assign(Object.assign({},cartStore.tabItems),{"customer-info":Object.assign(Object.assign({},cartStore.tabItems["customer-info"]),{isDone:true})})}else if(cartStore.step==="shipping"){cartStore.step="payment";cartStore.tabItems=Object.assign(Object.assign({},cartStore.tabItems),{shipping:Object.assign(Object.assign({},cartStore.tabItems.shipping),{isDone:true})})}else if(cartStore.step==="payment"){cartStore.step="finish"}};var cartStoreResetTabItems=function(){cartStore.step="customer-info";cartStore.tabItems=Object.assign(Object.assign({},cartStore.tabItems),{"customer-info":Object.assign(Object.assign({},cartStore.tabItems["customer-info"]),{isDone:false}),payment:Object.assign(Object.assign({},cartStore.tabItems.payment),{isDone:false}),shipping:Object.assign(Object.assign({},cartStore.tabItems.shipping),{isDone:false})});cartStoreResetSelectedShippingOption()};var cartStoreUpdateStoreCreditImmediate=function(){return __awaiter(void 0,void 0,void 0,(function(){var e,t,r,o,n,i,a,s,d;return __generator(this,(function(c){switch(c.label){case 0:if(!storageStore.checkoutSessionId){log("Could not update store credit without checkout session id","info");return[2]}r=cartStore.selectedLandedCost;o=cartStore.currency||((e=cartStore.items.find(Boolean))===null||e===void 0?void 0:e.currencyCode)||"";n=cartStore.adjustments.reduce((function(e,t){return e+t.amount}),0);i=cartStore.items.reduce((function(e,t){return e+t.amount*t.quantity}),0);return[4,stripeStoreUpdateCheckoutSession({adjustmentsAmount:n,cartId:window.Zonos.cartId,currency:o,id:storageStore.checkoutSessionId,itemsAmount:i,landedCostId:r===null||r===void 0?void 0:r.landedCostId,presentmentCountryCode:localizationStore.selectedCountryCode,storeCreditApplication:storeCreditStoreGetInput()})];case 1:a=c.sent(),s=a.errors,d=a.json;if(s.length>0||!d){logError("Error updating checkout session with store credit");return[2]}cartStoreApplySubtotals({method:((t=d.checkoutSessionUpdate.landedCost)===null||t===void 0?void 0:t.method)||"DDP",subtotals:d.checkoutSessionUpdate.subtotals});cartStoreSetCheckoutSession(d.checkoutSessionUpdate);return[2]}}))}))};var cartStoreUpdateStoreCredit=function(){if(storeCreditUpdateTimeout){clearTimeout(storeCreditUpdateTimeout)}storeCreditUpdateTimeout=setTimeout((function(){storeCreditUpdateTimeout=null;void cartStoreUpdateStoreCreditImmediate()}),300)};export{storeCreditStoreSetEnabled as $,validateCheckoutSession as A,storeCreditStoreCreateOrder as B,stripeStoreConfirmPayment as C,stripeStoreHandleInventoryRefund as D,policyConsentStore as E,stripeStoreReset as F,cartStoreOnChange as G,stripeStoreOnChange as H,storeCreditStoreGetEffectiveAmount as I,stripeStoreRecordPolicyConsent as J,stripeStoreBuildAddressForPartyCreate as K,cartStoreUpdateSelectedShippingOption as L,cartStoreHasOneEligibleItem as M,isEuDapRemittance as N,stripeStoreApplyPromoCode as O,stripeStoreRemovePromoCode as P,stripeStoreResetPromoCode as Q,stripeStoreMessageBasedOnStatus as R,storeCreditStore as S,storeCreditStoreReset as T,stripeStoreTranslateAddressToLatin as U,extractName as V,stripeStoreAsyncAddressUpdate as W,cartStoreGetShippingTransitInfo as X,cartStoreGetMethod as Y,sortServiceLevelOptionsByAmount as Z,getEnabledPolicies as _,stripeStoreSaveDomesticShippingSession as a,storeCreditStoreSetUseFullBalance as a0,cartStoreUpdateStoreCredit as a1,storeCreditStoreSetAmount as a2,storeCreditStoreRefreshBalance as a3,stripeStore as b,stripeStoreRetrievePayment as c,cartStore as d,cartStoreUpdateItems as e,cartStoreReset as f,cartStoreResetTabItems as g,cartStoreClearCheckoutInterval as h,initStripeElements as i,stripeStoreInitCheckoutSession as j,stripeStoreGetPaymentIntent as k,cartStoreStartCheckoutInterval as l,getCheckoutSessionBody as m,cartStoreUpdateToErrorState as n,stripeStoreCleanupDomesticShippingSession as o,policyConsentStoreReset as p,cartStoreSetCheckoutSession as q,stripeStorePrefetchLandedCost as r,stripeStoreGetDomesticShippingSession as s,trackConversionEvent as t,cartStoreNextStep as u,isPolicyConsentRequired as v,stripeStoreUpdateCheckoutSessionBaseCurrency as w,stripeStoreHandleInventoryCheck as x,storeCreditStoreApplyCredit as y,storeCreditStoreCoversFullAmount as z};