@zonos/elements 1.3.172 → 1.3.173

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 (104) hide show
  1. package/dist/cjs/{cart-d91d9507.js → cart-d9052930.js} +8 -0
  2. package/dist/cjs/index.cjs.js +7 -7
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{paypal-82841277.js → paypal-31477331.js} +5 -1
  5. package/dist/cjs/zonos-address_7.cjs.entry.js +12 -3
  6. package/dist/cjs/zonos-cart-items_13.cjs.entry.js +12 -8
  7. package/dist/cjs/zonos-checkout.cjs.entry.js +4 -4
  8. package/dist/cjs/zonos-controller.cjs.entry.js +1 -1
  9. package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
  10. package/dist/cjs/zonos-country-select_4.cjs.entry.js +1 -1
  11. package/dist/cjs/zonos-elements.cjs.js +1 -1
  12. package/dist/cjs/zonos-empty-state-payment_4.cjs.entry.js +19 -3
  13. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +1 -1
  14. package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
  15. package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
  16. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +10 -6
  17. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +2 -2
  18. package/dist/collection/components/store/checkout/paypal.js +5 -0
  19. package/dist/collection/components/store/checkout/stripe.js +7 -0
  20. package/dist/collection/components/stripe/zonos-address/zonos-address.js +12 -2
  21. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +22 -2
  22. package/dist/collection/components/utils/api/trackConversionEvent.js +1 -0
  23. package/dist/collection/types/generated/graphql.frontend.types.js +9 -0
  24. package/dist/collection/types/generated/graphql.internal.types.js +9 -0
  25. package/dist/esm/{cart-52e208cc.js → cart-fff4f4a4.js} +8 -0
  26. package/dist/esm/index.js +7 -7
  27. package/dist/esm/loader.js +1 -1
  28. package/dist/esm/{paypal-2e1c560e.js → paypal-087fbd16.js} +5 -1
  29. package/dist/esm/zonos-address_7.entry.js +12 -3
  30. package/dist/esm/zonos-cart-items_13.entry.js +12 -8
  31. package/dist/esm/zonos-checkout.entry.js +4 -4
  32. package/dist/esm/zonos-controller.entry.js +1 -1
  33. package/dist/esm/zonos-country-flag.entry.js +1 -1
  34. package/dist/esm/zonos-country-select_4.entry.js +1 -1
  35. package/dist/esm/zonos-elements.js +1 -1
  36. package/dist/esm/zonos-empty-state-payment_4.entry.js +19 -3
  37. package/dist/esm/zonos-hello-dialog.entry.js +1 -1
  38. package/dist/esm/zonos-hello.entry.js +1 -1
  39. package/dist/esm/zonos-language-select_2.entry.js +1 -1
  40. package/dist/esm-es5/{cart-52e208cc.js → cart-fff4f4a4.js} +1 -1
  41. package/dist/esm-es5/index.js +1 -1
  42. package/dist/esm-es5/loader.js +1 -1
  43. package/dist/esm-es5/{paypal-2e1c560e.js → paypal-087fbd16.js} +2 -2
  44. package/dist/esm-es5/zonos-address_7.entry.js +1 -1
  45. package/dist/esm-es5/zonos-cart-items_13.entry.js +1 -1
  46. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  47. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  48. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  49. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  50. package/dist/esm-es5/zonos-elements.js +1 -1
  51. package/dist/esm-es5/zonos-empty-state-payment_4.entry.js +1 -1
  52. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  53. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  54. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  55. package/dist/scripts/index.d.ts +1 -0
  56. package/dist/scripts/index.js +1 -1
  57. package/dist/scripts/loadZonos.js +1 -1
  58. package/dist/scripts/zonos.js +1 -1
  59. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +4 -0
  60. package/dist/types/components/stripe/zonos-payment/zonos-payment.d.ts +3 -0
  61. package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
  62. package/dist/types/types/ConversionEvent.d.ts +2 -1
  63. package/dist/types/types/generated/graphql.frontend.types.d.ts +93 -1
  64. package/dist/types/types/generated/graphql.frontend.types.ts +107 -1
  65. package/dist/types/types/generated/graphql.internal.types.d.ts +32 -0
  66. package/dist/types/types/generated/graphql.internal.types.ts +49 -0
  67. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  68. package/dist/zonos-elements/index.esm.js +1 -1
  69. package/dist/zonos-elements/{p-9a10a63b.system.entry.js → p-0078362c.system.entry.js} +1 -1
  70. package/dist/zonos-elements/{p-221d4f15.system.entry.js → p-033817e3.system.entry.js} +1 -1
  71. package/dist/zonos-elements/{p-1e3e4e22.entry.js → p-0db19b02.entry.js} +1 -1
  72. package/dist/zonos-elements/p-1b5a2714.system.entry.js +1 -0
  73. package/dist/zonos-elements/{p-eb716dcc.system.entry.js → p-1be7b435.system.entry.js} +1 -1
  74. package/dist/zonos-elements/{p-91a7ca64.system.entry.js → p-31ce9143.system.entry.js} +1 -1
  75. package/dist/zonos-elements/{p-36c35a07.system.js → p-38f6f6fd.system.js} +1 -1
  76. package/dist/zonos-elements/{p-68304407.entry.js → p-407a96d2.entry.js} +1 -1
  77. package/dist/zonos-elements/{p-ba604bc4.entry.js → p-427c2766.entry.js} +1 -1
  78. package/dist/zonos-elements/p-46f6e5e9.system.js +1 -1
  79. package/dist/zonos-elements/{p-aa754137.system.entry.js → p-514431e9.system.entry.js} +1 -1
  80. package/dist/zonos-elements/p-5275b7ca.system.entry.js +1 -0
  81. package/dist/zonos-elements/p-5edc11be.system.entry.js +1 -0
  82. package/dist/zonos-elements/{p-c719434a.entry.js → p-67ca7373.entry.js} +1 -1
  83. package/dist/zonos-elements/{p-14bd4766.entry.js → p-73a7b89b.entry.js} +1 -1
  84. package/dist/zonos-elements/{p-7de48475.system.js → p-759a654a.system.js} +1 -1
  85. package/dist/zonos-elements/{p-a61ef92f.entry.js → p-7862da71.entry.js} +1 -1
  86. package/dist/zonos-elements/p-78b81404.system.js +17 -0
  87. package/dist/zonos-elements/p-8b33c3b7.entry.js +1 -0
  88. package/dist/zonos-elements/{p-048e4b38.system.entry.js → p-a83370c6.system.entry.js} +1 -1
  89. package/dist/zonos-elements/{p-10a9edf6.entry.js → p-a9d7746a.entry.js} +1 -1
  90. package/dist/zonos-elements/{p-aea22783.system.entry.js → p-ada6e691.system.entry.js} +1 -1
  91. package/dist/zonos-elements/{p-2d2c70a3.js → p-bfd6e156.js} +1 -1
  92. package/dist/zonos-elements/p-cbd2bd33.js +17 -0
  93. package/dist/zonos-elements/p-ef9fdf45.entry.js +1 -0
  94. package/dist/zonos-elements/p-f6c0da8b.entry.js +1 -0
  95. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  96. package/package.json +1 -1
  97. package/dist/zonos-elements/p-0ee42be2.system.js +0 -17
  98. package/dist/zonos-elements/p-246c3b28.entry.js +0 -1
  99. package/dist/zonos-elements/p-2b8c5669.system.entry.js +0 -1
  100. package/dist/zonos-elements/p-588ac238.entry.js +0 -1
  101. package/dist/zonos-elements/p-85d2da79.system.entry.js +0 -1
  102. package/dist/zonos-elements/p-a08fad84.entry.js +0 -1
  103. package/dist/zonos-elements/p-bbf9dbe4.js +0 -17
  104. package/dist/zonos-elements/p-e34c0f83.system.entry.js +0 -1
@@ -6,6 +6,7 @@ import { translate } from "../translationStore";
6
6
  import { zonosStore } from "../zonosStore";
7
7
  import { paypalCaptureOrder } from "../../utils/api/paypalCaptureOrder";
8
8
  import { paypalCreateOrder } from "../../utils/api/paypalCreateOrder";
9
+ import { trackConversionEvent } from "../../utils/api/trackConversionEvent";
9
10
  import { isContrastColor } from "../../utils/isContrastColor";
10
11
  import { jsonParse } from "../../utils/jsonParse";
11
12
  import { log } from "../../utils/logging/log";
@@ -77,6 +78,10 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
77
78
  });
78
79
  return {
79
80
  createOrder: async () => {
81
+ // Clicking on the paypal button should trigger the paymentInfoCompleted event
82
+ void trackConversionEvent('checkout_paymentInfoCompleted', {
83
+ paymentMethod: 'paypal',
84
+ });
80
85
  const checkoutSessionStatus = await validateCheckoutSession();
81
86
  if (!checkoutSessionStatus.valid) {
82
87
  paypalStore.paypalErrorMessage = checkoutSessionStatus.errorMessage;
@@ -217,6 +217,10 @@ const stripeCalculateLandedCost = async () => {
217
217
  }
218
218
  return Object.assign(Object.assign({}, checkoutSession), { landedCost: foundLandedCost });
219
219
  }).filter(Boolean)) || [];
220
+ // Send event when we get the quote back after the customer clicked "Continue to shipping"
221
+ if (checkoutSessionWorkflow === null || checkoutSessionWorkflow === void 0 ? void 0 : checkoutSessionWorkflow.length) {
222
+ void trackConversionEvent('checkout_quoteReceived');
223
+ }
220
224
  // update adjustmentTotal
221
225
  // highlight promocode input error if promocode is applied but no adjustment applied in landed cost
222
226
  const isInvalidPromoCode = cartStore.promoCodeApplied &&
@@ -517,6 +521,9 @@ const stripeStoreConfirmPayment = async () => {
517
521
  paymentMethod: paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.payment_method,
518
522
  });
519
523
  log('Payment intent confirmed', 'info', { error, paymentIntent });
524
+ if ((paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status) === 'requires_action') {
525
+ throw new Error(translate('Your selected payment method requires additional verification. Please follow the instructions provided by your payment provider to complete the transaction.'));
526
+ }
520
527
  if (error) {
521
528
  if (error.type === 'card_error' || error.type === 'validation_error') {
522
529
  throw new Error(error.message);
@@ -3,6 +3,7 @@ import { stripeStore } from "../../store/checkout/stripe";
3
3
  import { getFallbackDefaultCountryCode, localizationStore, } from "../../store/hello/localization";
4
4
  import { translate } from "../../store/translationStore";
5
5
  import { zonosStore } from "../../store/zonosStore";
6
+ import { trackConversionEvent } from "../../utils/api/trackConversionEvent";
6
7
  import { isCheckoutMobile } from "../../utils/checkout/isCheckoutMobile";
7
8
  import { log } from "../../utils/logging/log";
8
9
  import { logError } from "../../utils/logging/logError";
@@ -15,6 +16,10 @@ export class ZonosAddress {
15
16
  * Google autocomplete overlay is conflict with our button, this is to adjust z index of the autocomplete
16
17
  */
17
18
  this.isAutoCompleteAdjusted = false;
19
+ /**
20
+ * Check if the tracking event is sent
21
+ */
22
+ this.trackingSent = false;
18
23
  this.type = undefined;
19
24
  this.titleText = undefined;
20
25
  this.defaultAddress = [];
@@ -40,9 +45,14 @@ export class ZonosAddress {
40
45
  case 'billing':
41
46
  stripeStore.stripeBillingAddressEventData = event;
42
47
  break;
43
- default:
48
+ default: {
49
+ if (event.complete && !this.trackingSent) {
50
+ void trackConversionEvent('checkout_customerInfoFilled');
51
+ this.trackingSent = true;
52
+ }
44
53
  stripeStore.stripeAddressEventData = event;
45
54
  break;
55
+ }
46
56
  }
47
57
  }
48
58
  updateAddressElement({ stripeAddressElement, type, }) {
@@ -188,7 +198,7 @@ export class ZonosAddress {
188
198
  }
189
199
  render() {
190
200
  // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here
191
- return (h(Host, { key: '455356fe5ca9910fe34df12eb02b499316167bc7', class: "zonos--address zonos--elements" }, h("zonos-text", { key: '44ae4b872ca4aea9e9d8e1cfa0de5e421e4ea524', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), this.renderCompanyNameInput(), h("div", { key: '188976d8eef8c23b41c1b82fc7d5c4d2069fc92b', class: "zonos--address-component" })));
201
+ return (h(Host, { key: '9fd8e0ac4b86c10004c24e9d33f40ec577bd2a73', class: "zonos--address zonos--elements" }, h("zonos-text", { key: 'e7c3cbcab6f175354f26a8426d0dbf01afca736d', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), this.renderCompanyNameInput(), h("div", { key: '48ccbb019255c5362adf4c7954a7c2e3b015bfa5', class: "zonos--address-component" })));
192
202
  }
193
203
  static get is() { return "zonos-address"; }
194
204
  static get encapsulation() { return "scoped"; }
@@ -1,14 +1,27 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { stripeStore } from "../../store/checkout/stripe";
3
+ import { trackConversionEvent } from "../../utils/api/trackConversionEvent";
3
4
  import { logError } from "../../utils/logging/logError";
4
5
  /**
5
6
  * This component is a wrapper for the stripe authentication element that would render default style object
6
7
  */
7
8
  export class ZonosPayment {
8
9
  constructor() {
10
+ this.trackingSent = false;
9
11
  this.titleText = undefined;
10
12
  this.stripe = stripeStore.stripe;
11
13
  this.stripeElements = stripeStore.stripeElements;
14
+ this.isPaymentInfoFilled = false;
15
+ }
16
+ watchIsPaymentInfoFilled() {
17
+ var _a;
18
+ // Only send event once when payment info is filled
19
+ if (this.isPaymentInfoFilled && !this.trackingSent) {
20
+ void trackConversionEvent('checkout_paymentInfoFilled', {
21
+ paymentMethod: (_a = stripeStore.stripePaymentEventData) === null || _a === void 0 ? void 0 : _a.value.type,
22
+ });
23
+ this.trackingSent = true;
24
+ }
12
25
  }
13
26
  watchInitStripe() {
14
27
  if (!this.stripeElements) {
@@ -26,6 +39,9 @@ export class ZonosPayment {
26
39
  }
27
40
  paymentElement.mount(paymentElementContainer);
28
41
  paymentElement.on('change', event => {
42
+ if (event.complete) {
43
+ this.isPaymentInfoFilled = true;
44
+ }
29
45
  stripeStore.stripePaymentEventData = event;
30
46
  });
31
47
  stripeStore.stripePaymentElement = paymentElement;
@@ -36,7 +52,7 @@ export class ZonosPayment {
36
52
  }
37
53
  render() {
38
54
  // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here
39
- return (h(Host, { key: '2d664521944c4f02f34fe3130f8ebb853e562476', class: "zonos--payment zonos--elements" }, this.titleText && (h("zonos-text", { key: '11f683a0f6094d801103a9f04054d038b405718f', class: "zonos--title", type: "semiBoldLabel" }, this.titleText)), h("div", { key: '0c962441697499b3a7eb279175ce025d76d4c0fa', class: "zonos--payment-component" }), h("div", { key: 'a96af74f05521fcccc1912c0ec1dcbe64cfc1ae7', class: "zonos--payment-paypal-container" })));
55
+ return (h(Host, { key: '3e9f3439e139f6d040bcf8fc101f19d011debdc8', class: "zonos--payment zonos--elements" }, this.titleText && (h("zonos-text", { key: '2f22806f4f9380e610899a997ce9ed2bfe997be4', class: "zonos--title", type: "semiBoldLabel" }, this.titleText)), h("div", { key: '4d5dbd7828b3037d69adb50d4fee4ea9abf3b59b', class: "zonos--payment-component" }), h("div", { key: '32ee62f62a028da8481d95781a7368c60ae42614', class: "zonos--payment-paypal-container" })));
40
56
  }
41
57
  static get is() { return "zonos-payment"; }
42
58
  static get encapsulation() { return "scoped"; }
@@ -76,12 +92,16 @@ export class ZonosPayment {
76
92
  static get states() {
77
93
  return {
78
94
  "stripe": {},
79
- "stripeElements": {}
95
+ "stripeElements": {},
96
+ "isPaymentInfoFilled": {}
80
97
  };
81
98
  }
82
99
  static get elementRef() { return "el"; }
83
100
  static get watchers() {
84
101
  return [{
102
+ "propName": "isPaymentInfoFilled",
103
+ "methodName": "watchIsPaymentInfoFilled"
104
+ }, {
85
105
  "propName": "stripeElements",
86
106
  "methodName": "watchInitStripe"
87
107
  }, {
@@ -22,6 +22,7 @@ export const trackConversionEvent = async (eventName, metadata) => {
22
22
  const body = {
23
23
  checkoutSessionId,
24
24
  countryCode,
25
+ eventCreated: Date.now(),
25
26
  eventName,
26
27
  metadata,
27
28
  organizationId,
@@ -462,6 +462,9 @@ export function getSdk(client, withWrapper = defaultWrapper) {
462
462
  allSettings(variables, requestHeaders) {
463
463
  return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'allSettings', 'query');
464
464
  },
465
+ analyticConversionEvent(variables, requestHeaders) {
466
+ return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'analyticConversionEvent', 'query');
467
+ },
465
468
  cleanupTestErrors(variables, requestHeaders) {
466
469
  return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'cleanupTestErrors', 'mutation');
467
470
  },
@@ -531,6 +534,12 @@ export function getSdk(client, withWrapper = defaultWrapper) {
531
534
  localeCountryMessages(variables, requestHeaders) {
532
535
  return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'localeCountryMessages', 'query');
533
536
  },
537
+ metricAllApiPaths(variables, requestHeaders) {
538
+ return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'metricAllApiPaths', 'query');
539
+ },
540
+ metricApiPathSpeed(variables, requestHeaders) {
541
+ return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'metricApiPathSpeed', 'query');
542
+ },
534
543
  storeVersionSetting(variables, requestHeaders) {
535
544
  return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'storeVersionSetting', 'query');
536
545
  },
@@ -1570,6 +1570,7 @@ export const invoiceStatus = {
1570
1570
  export const itemAmountTargetType = {
1571
1571
  MerchantBase: 'MERCHANT_BASE',
1572
1572
  MerchantProvided: 'MERCHANT_PROVIDED',
1573
+ ShopperPresented: 'SHOPPER_PRESENTED',
1573
1574
  ZonosBase: 'ZONOS_BASE',
1574
1575
  };
1575
1576
  export const itemKeyPreference = {
@@ -1721,6 +1722,7 @@ export const labelTermType = {
1721
1722
  export const landedCostAdjustmentType = {
1722
1723
  CartTotal: 'CART_TOTAL',
1723
1724
  Item: 'ITEM',
1725
+ OrderTotal: 'ORDER_TOTAL',
1724
1726
  PromoCode: 'PROMO_CODE',
1725
1727
  Shipping: 'SHIPPING',
1726
1728
  };
@@ -2316,6 +2318,7 @@ export const shipmentConsolidationStatus = {
2316
2318
  export const shipmentRatingAmountTargetType = {
2317
2319
  MerchantBase: 'MERCHANT_BASE',
2318
2320
  MerchantProvided: 'MERCHANT_PROVIDED',
2321
+ ShopperPresented: 'SHOPPER_PRESENTED',
2319
2322
  ZonosBase: 'ZONOS_BASE',
2320
2323
  };
2321
2324
  export const shipmentRatingBatteryMaterialType = {
@@ -2741,6 +2744,12 @@ export function getSdk(client, withWrapper = defaultWrapper) {
2741
2744
  organization(variables, requestHeaders) {
2742
2745
  return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'organization', 'query');
2743
2746
  },
2747
+ organizationByStoreId(variables, requestHeaders) {
2748
+ return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'organizationByStoreId', 'query');
2749
+ },
2750
+ organizations(variables, requestHeaders) {
2751
+ return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'organizations', 'query');
2752
+ },
2744
2753
  partyInfo(variables, requestHeaders) {
2745
2754
  return withWrapper(wrappedRequestHeaders => client.request('', variables, Object.assign(Object.assign({}, requestHeaders), wrappedRequestHeaders)), 'partyInfo', 'query');
2746
2755
  },
@@ -10707,6 +10707,7 @@ const trackConversionEvent = async (eventName, metadata) => {
10707
10707
  const body = {
10708
10708
  checkoutSessionId,
10709
10709
  countryCode,
10710
+ eventCreated: Date.now(),
10710
10711
  eventName,
10711
10712
  metadata,
10712
10713
  organizationId,
@@ -11146,6 +11147,10 @@ const stripeCalculateLandedCost = async () => {
11146
11147
  }
11147
11148
  return Object.assign(Object.assign({}, checkoutSession), { landedCost: foundLandedCost });
11148
11149
  }).filter(Boolean)) || [];
11150
+ // Send event when we get the quote back after the customer clicked "Continue to shipping"
11151
+ if (checkoutSessionWorkflow === null || checkoutSessionWorkflow === void 0 ? void 0 : checkoutSessionWorkflow.length) {
11152
+ void trackConversionEvent('checkout_quoteReceived');
11153
+ }
11149
11154
  // update adjustmentTotal
11150
11155
  // highlight promocode input error if promocode is applied but no adjustment applied in landed cost
11151
11156
  const isInvalidPromoCode = cartStore.promoCodeApplied &&
@@ -11446,6 +11451,9 @@ const stripeStoreConfirmPayment = async () => {
11446
11451
  paymentMethod: paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.payment_method,
11447
11452
  });
11448
11453
  log('Payment intent confirmed', 'info', { error, paymentIntent });
11454
+ if ((paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status) === 'requires_action') {
11455
+ throw new Error(translate('Your selected payment method requires additional verification. Please follow the instructions provided by your payment provider to complete the transaction.'));
11456
+ }
11449
11457
  if (error) {
11450
11458
  if (error.type === 'card_error' || error.type === 'validation_error') {
11451
11459
  throw new Error(error.message);
package/dist/esm/index.js CHANGED
@@ -126,7 +126,7 @@ const getZonosQaUrl = () => {
126
126
  return null;
127
127
  }
128
128
  const qaUrl = extractZonosQaUrl(window.location.href);
129
- const cdnUrl = "https://v1.3.172.js.zonos.com";
129
+ const cdnUrl = "https://v1.3.173.js.zonos.com";
130
130
  // when the qaUrl is not set and the built URL is from the test domain, use the test domain for testing
131
131
  if (!qaUrl &&
132
132
  (cdnUrl.includes('test.') ||
@@ -310,10 +310,10 @@ const zonosLoadUrl = (() => {
310
310
  }
311
311
  return null;
312
312
  })();
313
- const ZONOS_URL = "https://v1.3.172.js.zonos.com";
314
- const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.172";
315
- const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.172";
316
- const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.172";
313
+ const ZONOS_URL = "https://v1.3.173.js.zonos.com";
314
+ const JS_DELIVR_ZONOS_URL = zonosLoadUrl || "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.173";
315
+ const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.3.173";
316
+ const CDNJS_ZONOS_URL = "https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.173";
317
317
  const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
318
318
  const GOOGLE_FONT_REGEX = /^https:\/\/fonts\.googleapis\.com/;
319
319
  class Zonos {
@@ -327,7 +327,7 @@ Zonos.zonosConversionTest = typeof window !== 'undefined' &&
327
327
  !!window.location.search.match(/\?.*(&*)zonosConversionTest/);
328
328
  Zonos._paypalMockResponse = null;
329
329
  Zonos.isBigCommerce = false;
330
- Zonos.releaseDate = "1742308902831";
330
+ Zonos.releaseDate = "1742573632605";
331
331
  Zonos.isLegacyCheckout = false;
332
332
  Zonos.domain = typeof window !== 'undefined'
333
333
  ? // domain that embeds the iframe
@@ -343,7 +343,7 @@ Zonos.showBaseForeign = typeof window !== 'undefined' &&
343
343
  Zonos.isNpm = true;
344
344
  Zonos.zonosQaUrl = null;
345
345
  Zonos.zonosQaUrlApi = null;
346
- Zonos.version = `v${"1.3.172"}`;
346
+ Zonos.version = `v${"1.3.173"}`;
347
347
  Zonos.modeAlerted = false;
348
348
  Zonos.cartData = null;
349
349
  Zonos.paypal = null;
@@ -5,7 +5,7 @@ import { g as globalScripts } from './app-globals-0f993ce5.js';
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy(JSON.parse("[[\"zonos-checkout\",[[2,\"zonos-checkout\",{\"appearanceSettingsOverride\":[16],\"preview\":[4],\"mobile\":[4],\"overrideStagingMode\":[4,\"override-staging-mode\"],\"defaultAddress\":[16],\"forceDialogOpen\":[4,\"force-dialog-open\"],\"defaultAddressParams\":[32],\"defaultCustomerProfileAddress\":[32],\"customerProfile\":[32],\"open\":[32],\"stripe\":[32],\"submitLoading\":[32],\"collapseReviewMobile\":[32],\"isAttachError\":[32],\"isMobile\":[32],\"isIframed\":[32],\"zonosReviewRef\":[32],\"storybookPaymentStatusOverride\":[32],\"isLegacyCheckout\":[32],\"confirmDialogOpen\":[32],\"isCartExpired\":[32],\"payInUsdConfirmDialogOpen\":[32],\"inventoryCheckErrorMessage\":[32],\"placedOrderInfo\":[32],\"clientSecret\":[32],\"stripeCustomerSessionClientSecret\":[32],\"closeDialogHandler\":[64],\"init\":[64],\"setToFinishStep\":[64],\"mockCheckoutSession\":[64]},[[16,\"zonos--init-cart-info\",\"initCartInfoHandler\"],[4,\"keydown\",\"handleKeyPress\"],[9,\"resize\",\"handleWindowResize\"]],{\"appearanceSettingsOverride\":[\"appearanceSettingsOverrideChanged\",\"handleAppearanceSettingsOverrideChange\"],\"overrideStagingMode\":[\"overrideStagingModeChanged\"],\"mobile\":[\"handleMobileChange\"],\"defaultAddress\":[\"handleAddressChange\"],\"customerProfile\":[\"handleCustomerProfileChange\"],\"clientSecret\":[\"handleClientSecretChange\"],\"stripeCustomerSessionClientSecret\":[\"handleClientSecretChange\"],\"open\":[\"handleOpenChange\"]}]]],[\"zonos-hello\",[[1,\"zonos-hello\",{\"mobileLocationOverride\":[1,\"mobile-location-override\"],\"animateFromLeftOverride\":[4,\"animate-from-left-override\"],\"appearanceSettingsOverride\":[16],\"showPeekMessage\":[32],\"zonosStoreHelloSettings\":[32],\"showDialog\":[32],\"peekMessage\":[32],\"initialUrl\":[32],\"allRestrictedItems\":[32],\"allFoundProducts\":[32],\"productsOnPage\":[32],\"isHelloWidgetRendered\":[32],\"isMobile\":[32],\"getCountryList\":[64],\"displayCurrency\":[64],\"convertAndFormat\":[64],\"convert\":[64],\"format\":[64],\"openHelloDialog\":[64]},[[9,\"resize\",\"handleResize\"]],{\"appearanceSettingsOverride\":[\"handleAppearanceSettingsOverrideChange\"]}]]],[\"zonos-controller\",[[1,\"zonos-controller\",{\"config\":[16],\"zonosApiKey\":[1,\"zonos-api-key\"],\"initCheckoutElement\":[64],\"setupGoogleFont\":[64],\"showNotification\":[64],\"reset\":[64],\"overrideConfig\":[64],\"overrideCountry\":[64],\"getAppearanceSetting\":[64],\"updateOrganizationName\":[64]},[[8,\"locationchange\",\"handleLocationChange\"]]]]],[\"zonos-tooltip\",[[1,\"zonos-tooltip\",{\"label\":[1],\"subtitle\":[1],\"showTooltip\":[32]}]]],[\"zonos-component\",[[1,\"zonos-component\",{\"first\":[1],\"middle\":[1],\"last\":[1]}]]],[\"zonos-link\",[[1,\"zonos-link\",{\"href\":[1],\"rel\":[1],\"target\":[1],\"linkTitle\":[1,\"link-title\"]}]]],[\"zonos-logo\",[[1,\"zonos-logo\",{\"theme\":[1],\"width\":[1]}]]],[\"zonos-hello-dialog\",[[1,\"zonos-hello-dialog\",{\"isOpen\":[4,\"is-open\"],\"setIsOpen\":[16],\"mobileLocationOverride\":[1,\"mobile-location-override\"],\"animateFromLeftOverride\":[4,\"animate-from-left-override\"],\"appearanceSettings\":[16],\"restrictedItems\":[16],\"welcomeMessage\":[32],\"showCountrySelect\":[32],\"showLanguageSelect\":[32]},[[4,\"click\",\"globalClickHandler\"]],{\"isOpen\":[\"isOpenHandler\"]}]]],[\"zonos-badge\",[[1,\"zonos-badge\",{\"bold\":[4],\"badgeColor\":[1,\"badge-color\"],\"icon\":[16],\"iconRight\":[4,\"icon-right\"],\"size\":[1],\"rounded\":[4],\"loading\":[4],\"dismissHandler\":[16]}]]],[\"zonos-shipping-rich-radio\",[[1,\"zonos-shipping-rich-radio\",{\"items\":[16],\"borderColor\":[1,\"border-color\"],\"borderStyle\":[1,\"border-style\"],\"theme\":[1],\"selectedItem\":[16]}]]],[\"zonos-toggle\",[[1,\"zonos-toggle\",{\"options\":[16],\"value\":[1]}]]],[\"zonos-collapse\",[[1,\"zonos-collapse\",{\"collapsed\":[4],\"collapseSize\":[2,\"collapse-size\"],\"height\":[32],\"iframe\":[32]}]]],[\"zonos-stripe-input\",[[1,\"zonos-stripe-input\",{\"inputValue\":[1,\"input-value\"],\"inputLabel\":[1,\"input-label\"],\"overridePrimaryColor\":[1,\"override-primary-color\"],\"overrideSecondaryColor\":[1,\"override-secondary-color\"],\"isDisabled\":[4,\"is-disabled\"],\"isError\":[4,\"is-error\"],\"inputPlaceholder\":[1,\"input-placeholder\"],\"value\":[1025],\"internalValue\":[32]},null,{\"inputValue\":[\"onInputValueChange\"],\"value\":[\"onValueChange\"]}]]],[\"zonos-card\",[[1,\"zonos-card\",{\"actions\":[16],\"backgroundColor\":[1,\"background-color\"],\"borderRadius\":[2,\"border-radius\"],\"footerActions\":[16],\"footerContent\":[16],\"footerHeight\":[2,\"footer-height\"],\"label\":[16],\"spacing\":[1]}]]],[\"zonos-input\",[[1,\"zonos-input\",{\"inputValue\":[1,\"input-value\"],\"inputLabel\":[1,\"input-label\"],\"inputSize\":[1,\"input-size\"],\"isDisabled\":[4,\"is-disabled\"],\"isError\":[4,\"is-error\"],\"inputPlaceholder\":[1,\"input-placeholder\"],\"value\":[32]},null,{\"inputValue\":[\"onInputValueChange\"]}]]],[\"zonos-text\",[[1,\"zonos-text\",{\"textColor\":[1,\"text-color\"],\"size\":[1],\"type\":[1],\"weight\":[2],\"ready\":[32]}]]],[\"zonos-banner\",[[1,\"zonos-banner\",{\"bannerTitle\":[1,\"banner-title\"],\"intent\":[1],\"hasContent\":[32]}]]],[\"zonos-country-flag\",[[1,\"zonos-country-flag\",{\"countryCode\":[1,\"country-code\"],\"size\":[2]}]]],[\"zonos-v-stack\",[[1,\"zonos-v-stack\",{\"spacing\":[2]}]]],[\"zonos-empty-state-payment_4\",[[1,\"zonos-empty-state-payment\",{\"emptyStateText\":[1,\"empty-state-text\"],\"theme\":[1]}],[2,\"zonos-payment\",{\"titleText\":[1,\"title-text\"],\"stripe\":[32],\"stripeElements\":[32]},null,{\"stripeElements\":[\"watchInitStripe\"],\"stripe\":[\"watchInitStripe\"]}],[2,\"zonos-paypal-payment\"],[1,\"zonos-notification\",{\"notificationArray\":[32],\"showNotification\":[64]}]]],[\"zonos-button_3\",[[17,\"zonos-button\",{\"buttonColor\":[1,\"button-color\"],\"backgroundColor\":[1,\"background-color\"],\"borderStyle\":[1,\"border-style\"],\"isDisabled\":[4,\"is-disabled\"],\"icon\":[16],\"iconRight\":[4,\"icon-right\"],\"size\":[1],\"variant\":[1],\"noBackground\":[4,\"no-background\"],\"withBoxShadow\":[4,\"with-box-shadow\"],\"noPaddingLeft\":[4,\"no-padding-left\"],\"noPaddingRight\":[4,\"no-padding-right\"],\"loading\":[4],\"justifyContent\":[1,\"justify-content\"],\"bold\":[4],\"theme\":[1],\"hasIcon\":[32],\"hasContent\":[32]},[[2,\"click\",\"clickHandler\"]],{\"icon\":[\"iconChangeHandler\"]}],[1,\"zonos-spinner\",{\"size\":[2],\"spinnerColor\":[1,\"spinner-color\"]}],[1,\"zonos-icon\",{\"autoHeight\":[4,\"auto-height\"],\"iconColor\":[1,\"icon-color\"],\"content\":[1],\"size\":[2]}]]],[\"zonos-language-select_2\",[[1,\"zonos-language-select\",{\"handleOnClose\":[16]}],[1,\"zonos-select-dialog-header\",{\"handleOnClose\":[16],\"label\":[1]}]]],[\"zonos-country-select_4\",[[1,\"zonos-country-select\",{\"handleOnClose\":[16],\"inputValue\":[32]}],[1,\"zonos-hello-dialog-footer\",{\"appearanceSettings\":[16],\"setShowCountrySelect\":[16],\"setShowLanguageSelect\":[16]}],[1,\"zonos-custom-message\",{\"icon\":[1],\"message\":[1]}],[2,\"zonos-virtual-scroll\",{\"renderItem\":[16],\"itemWidth\":[2,\"item-width\"],\"fallbackItemHeight\":[2,\"fallback-item-height\"],\"itemHeights\":[16],\"container\":[32],\"scrollTop\":[32],\"totalHeight\":[32]},null,{\"itemHeights\":[\"updateTotalHeight\"],\"fallbackItemHeight\":[\"updateTotalHeight\"]}]]],[\"zonos-address_7\",[[1,\"zonos-address-update-dialog\",{\"continueLoading\":[4,\"continue-loading\"],\"dialogLoading\":[4,\"dialog-loading\"],\"dialogOpen\":[4,\"dialog-open\"],\"submitBtnType\":[1,\"submit-btn-type\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"isMobile\":[4,\"is-mobile\"],\"shippingAddress\":[16],\"billingAddress\":[16],\"translatedShippingAddress\":[16],\"translatedBillingAddress\":[16],\"showErrorBanner\":[32],\"translatedShippingAddressState\":[32],\"translatedBillingAddressState\":[32]},null,{\"translatedShippingAddress\":[\"watchTranslatedShippingAddress\"],\"translatedBillingAddress\":[\"watchTranslatedBillingAddress\"]}],[2,\"zonos-address\",{\"type\":[1],\"titleText\":[1,\"title-text\"],\"defaultAddress\":[16],\"stripe\":[32],\"isDirtyAddress\":[32]},null,{\"stripe\":[\"watchInitStripe\"],\"defaultAddress\":[\"defaultAddressChanged\"]}],[2,\"zonos-link-authentication\",{\"titleText\":[1,\"title-text\"],\"defaultEmail\":[1,\"default-email\"],\"isEmailError\":[4,\"is-email-error\"],\"stripe\":[32],\"isStagingMode\":[32],\"clientSecret\":[32]},null,{\"isStagingMode\":[\"watchIsStagingMode\"],\"stripe\":[\"watchInitStripe\"],\"clientSecret\":[\"watchInitStripe\"],\"defaultEmail\":[\"watchDefaultEmail\"]}],[1,\"zonos-checkbox\",{\"backgroundColor\":[1,\"background-color\"],\"label\":[1],\"isChecked\":[4,\"is-checked\"],\"isDisabled\":[4,\"is-disabled\"],\"size\":[2],\"fontSize\":[1,\"font-size\"],\"borderStyle\":[1,\"border-style\"]},[[1,\"click\",\"onClick\"]]],[1,\"zonos-dialog\",{\"open\":[4],\"headerText\":[1,\"header-text\"],\"width\":[1],\"height\":[1],\"minHeight\":[1,\"min-height\"],\"noHeader\":[4,\"no-header\"],\"noBodyPadding\":[4,\"no-body-padding\"],\"noBorder\":[4,\"no-border\"],\"borderStyle\":[1,\"border-style\"],\"noCloseButton\":[4,\"no-close-button\"],\"noClickOutside\":[4,\"no-click-outside\"],\"mobile\":[4],\"isLoading\":[4,\"is-loading\"],\"isMobile\":[32]},[[9,\"resize\",\"handleWindowResize\"],[4,\"keydown\",\"handleKeyDown\"]]],[1,\"zonos-address-display\",{\"currentAddress\":[16],\"addressType\":[1,\"address-type\"]}],[1,\"zonos-address-form\",{\"currentAddress\":[16],\"translatedAddress\":[16],\"addressType\":[1,\"address-type\"],\"localAddress\":[32]},null,{\"translatedAddress\":[\"watchCurrentAddress\"]}]]],[\"zonos-cart-items_13\",[[2,\"zonos-customer-info\",{\"continueLoading\":[4,\"continue-loading\"],\"submitBtnType\":[1,\"submit-btn-type\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"isMobile\":[4,\"is-mobile\"],\"defaultAddress\":[16],\"showErrorBanner\":[32],\"shippingCountry\":[32],\"isCheckingForRestrictedItems\":[32],\"isValidatingAddress\":[32],\"isTaxIdError\":[32],\"invalidShippingCharacterList\":[32],\"invalidBillingCharacterList\":[32],\"openAddressValidationDialog\":[32],\"isEmailError\":[32]}],[2,\"zonos-checkout-payment\",{\"submitBtnType\":[1,\"submit-btn-type\"],\"continueLoading\":[4,\"continue-loading\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"isMobile\":[4,\"is-mobile\"],\"overridePrimaryColor\":[1,\"override-primary-color\"],\"showErrorBanner\":[32],\"hasStripePaymentError\":[32],\"stagingOrderCreateErrorMessage\":[32],\"internalContinueLoading\":[32]},null,{\"continueLoading\":[\"continueLoadingWatcher\"],\"hasStripePaymentError\":[\"stripePaymentErrorWatcher\"]}],[1,\"zonos-checkout-footer\",{\"mobile\":[4],\"dataTheme\":[1,\"data-theme\"],\"showLanguageDialog\":[32],\"isMobile\":[32]},[[4,\"click\",\"handleGlobalClick\"]],{\"mobile\":[\"handleMobileChange\"]}],[2,\"zonos-shipping\",{\"continueLoading\":[4,\"continue-loading\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"submitBtnType\":[1,\"submit-btn-type\"],\"selectedShippingMethod\":[32],\"collapsedDAPOptions\":[32],\"isSelecting\":[32],\"showErrorBanner\":[32],\"serviceLevelsDDP\":[32],\"serviceLevelsDAP\":[32],\"serviceLevelsOther\":[32],\"serviceLevelsAll\":[32],\"displayBaseCurrency\":[32]}],[1,\"zonos-cart-subtotal\",{\"submitBtnType\":[1,\"submit-btn-type\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"loading\":[32]}],[1,\"zonos-cart-restricted-items\",{\"hide\":[4],\"errorImages\":[32],\"internalCollapsed\":[32],\"firstRender\":[32]}],[1,\"zonos-checkout-finish\",{\"borderRadius\":[1,\"border-radius\"],\"storybookForceStatus\":[1,\"storybook-force-status\"],\"overrideNotification\":[16],\"isLoading\":[32],\"notificationType\":[32],\"notificationTitle\":[32],\"notificationMessages\":[32],\"notificationActionText\":[32],\"order\":[32],\"isWaitingToRedirect\":[32]}],[1,\"zonos-confirm-dialog\",{\"dialogTitle\":[1,\"dialog-title\"],\"dialogIntent\":[1,\"dialog-intent\"],\"dialogSubtitle\":[1,\"dialog-subtitle\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"dialogConfirmBtnText\":[1,\"dialog-confirm-btn-text\"],\"dialogWidth\":[2,\"dialog-width\"],\"dialogCancelBtnText\":[1,\"dialog-cancel-btn-text\"],\"dialogType\":[1,\"dialog-type\"],\"isMobile\":[4,\"is-mobile\"],\"dialogOpen\":[4,\"dialog-open\"],\"noClickOutside\":[4,\"no-click-outside\"]},[[4,\"keydown\",\"handleKeyDown\"]]],[1,\"zonos-checkout-progress-tabs\",{\"tabColor\":[1,\"tab-color\"],\"backgroundColor\":[1,\"background-color\"],\"setTabItems\":[64],\"setTabSelected\":[64]}],[1,\"zonos-review\",{\"mobile\":[4],\"collapsed\":[4],\"isMobile\":[32]},[[9,\"resize\",\"handleWindowResize\"]]],[1,\"zonos-cart-items\",{\"errorImages\":[32]}],[1,\"zonos-currency-toggle\",{\"errorImages\":[32]}],[1,\"zonos-rest-state\",{\"restStateSubtitle\":[1,\"rest-state-subtitle\"],\"restStateTitle\":[1,\"rest-state-title\"],\"restStateType\":[1,\"rest-state-type\"],\"isErrorImageLoad\":[32]}]]]]"), options);
8
+ return bootstrapLazy(JSON.parse("[[\"zonos-checkout\",[[2,\"zonos-checkout\",{\"appearanceSettingsOverride\":[16],\"preview\":[4],\"mobile\":[4],\"overrideStagingMode\":[4,\"override-staging-mode\"],\"defaultAddress\":[16],\"forceDialogOpen\":[4,\"force-dialog-open\"],\"defaultAddressParams\":[32],\"defaultCustomerProfileAddress\":[32],\"customerProfile\":[32],\"open\":[32],\"stripe\":[32],\"submitLoading\":[32],\"collapseReviewMobile\":[32],\"isAttachError\":[32],\"isMobile\":[32],\"isIframed\":[32],\"zonosReviewRef\":[32],\"storybookPaymentStatusOverride\":[32],\"isLegacyCheckout\":[32],\"confirmDialogOpen\":[32],\"isCartExpired\":[32],\"payInUsdConfirmDialogOpen\":[32],\"inventoryCheckErrorMessage\":[32],\"placedOrderInfo\":[32],\"clientSecret\":[32],\"stripeCustomerSessionClientSecret\":[32],\"closeDialogHandler\":[64],\"init\":[64],\"setToFinishStep\":[64],\"mockCheckoutSession\":[64]},[[16,\"zonos--init-cart-info\",\"initCartInfoHandler\"],[4,\"keydown\",\"handleKeyPress\"],[9,\"resize\",\"handleWindowResize\"]],{\"appearanceSettingsOverride\":[\"appearanceSettingsOverrideChanged\",\"handleAppearanceSettingsOverrideChange\"],\"overrideStagingMode\":[\"overrideStagingModeChanged\"],\"mobile\":[\"handleMobileChange\"],\"defaultAddress\":[\"handleAddressChange\"],\"customerProfile\":[\"handleCustomerProfileChange\"],\"clientSecret\":[\"handleClientSecretChange\"],\"stripeCustomerSessionClientSecret\":[\"handleClientSecretChange\"],\"open\":[\"handleOpenChange\"]}]]],[\"zonos-hello\",[[1,\"zonos-hello\",{\"mobileLocationOverride\":[1,\"mobile-location-override\"],\"animateFromLeftOverride\":[4,\"animate-from-left-override\"],\"appearanceSettingsOverride\":[16],\"showPeekMessage\":[32],\"zonosStoreHelloSettings\":[32],\"showDialog\":[32],\"peekMessage\":[32],\"initialUrl\":[32],\"allRestrictedItems\":[32],\"allFoundProducts\":[32],\"productsOnPage\":[32],\"isHelloWidgetRendered\":[32],\"isMobile\":[32],\"getCountryList\":[64],\"displayCurrency\":[64],\"convertAndFormat\":[64],\"convert\":[64],\"format\":[64],\"openHelloDialog\":[64]},[[9,\"resize\",\"handleResize\"]],{\"appearanceSettingsOverride\":[\"handleAppearanceSettingsOverrideChange\"]}]]],[\"zonos-controller\",[[1,\"zonos-controller\",{\"config\":[16],\"zonosApiKey\":[1,\"zonos-api-key\"],\"initCheckoutElement\":[64],\"setupGoogleFont\":[64],\"showNotification\":[64],\"reset\":[64],\"overrideConfig\":[64],\"overrideCountry\":[64],\"getAppearanceSetting\":[64],\"updateOrganizationName\":[64]},[[8,\"locationchange\",\"handleLocationChange\"]]]]],[\"zonos-tooltip\",[[1,\"zonos-tooltip\",{\"label\":[1],\"subtitle\":[1],\"showTooltip\":[32]}]]],[\"zonos-component\",[[1,\"zonos-component\",{\"first\":[1],\"middle\":[1],\"last\":[1]}]]],[\"zonos-link\",[[1,\"zonos-link\",{\"href\":[1],\"rel\":[1],\"target\":[1],\"linkTitle\":[1,\"link-title\"]}]]],[\"zonos-logo\",[[1,\"zonos-logo\",{\"theme\":[1],\"width\":[1]}]]],[\"zonos-hello-dialog\",[[1,\"zonos-hello-dialog\",{\"isOpen\":[4,\"is-open\"],\"setIsOpen\":[16],\"mobileLocationOverride\":[1,\"mobile-location-override\"],\"animateFromLeftOverride\":[4,\"animate-from-left-override\"],\"appearanceSettings\":[16],\"restrictedItems\":[16],\"welcomeMessage\":[32],\"showCountrySelect\":[32],\"showLanguageSelect\":[32]},[[4,\"click\",\"globalClickHandler\"]],{\"isOpen\":[\"isOpenHandler\"]}]]],[\"zonos-badge\",[[1,\"zonos-badge\",{\"bold\":[4],\"badgeColor\":[1,\"badge-color\"],\"icon\":[16],\"iconRight\":[4,\"icon-right\"],\"size\":[1],\"rounded\":[4],\"loading\":[4],\"dismissHandler\":[16]}]]],[\"zonos-shipping-rich-radio\",[[1,\"zonos-shipping-rich-radio\",{\"items\":[16],\"borderColor\":[1,\"border-color\"],\"borderStyle\":[1,\"border-style\"],\"theme\":[1],\"selectedItem\":[16]}]]],[\"zonos-toggle\",[[1,\"zonos-toggle\",{\"options\":[16],\"value\":[1]}]]],[\"zonos-collapse\",[[1,\"zonos-collapse\",{\"collapsed\":[4],\"collapseSize\":[2,\"collapse-size\"],\"height\":[32],\"iframe\":[32]}]]],[\"zonos-stripe-input\",[[1,\"zonos-stripe-input\",{\"inputValue\":[1,\"input-value\"],\"inputLabel\":[1,\"input-label\"],\"overridePrimaryColor\":[1,\"override-primary-color\"],\"overrideSecondaryColor\":[1,\"override-secondary-color\"],\"isDisabled\":[4,\"is-disabled\"],\"isError\":[4,\"is-error\"],\"inputPlaceholder\":[1,\"input-placeholder\"],\"value\":[1025],\"internalValue\":[32]},null,{\"inputValue\":[\"onInputValueChange\"],\"value\":[\"onValueChange\"]}]]],[\"zonos-card\",[[1,\"zonos-card\",{\"actions\":[16],\"backgroundColor\":[1,\"background-color\"],\"borderRadius\":[2,\"border-radius\"],\"footerActions\":[16],\"footerContent\":[16],\"footerHeight\":[2,\"footer-height\"],\"label\":[16],\"spacing\":[1]}]]],[\"zonos-input\",[[1,\"zonos-input\",{\"inputValue\":[1,\"input-value\"],\"inputLabel\":[1,\"input-label\"],\"inputSize\":[1,\"input-size\"],\"isDisabled\":[4,\"is-disabled\"],\"isError\":[4,\"is-error\"],\"inputPlaceholder\":[1,\"input-placeholder\"],\"value\":[32]},null,{\"inputValue\":[\"onInputValueChange\"]}]]],[\"zonos-text\",[[1,\"zonos-text\",{\"textColor\":[1,\"text-color\"],\"size\":[1],\"type\":[1],\"weight\":[2],\"ready\":[32]}]]],[\"zonos-banner\",[[1,\"zonos-banner\",{\"bannerTitle\":[1,\"banner-title\"],\"intent\":[1],\"hasContent\":[32]}]]],[\"zonos-country-flag\",[[1,\"zonos-country-flag\",{\"countryCode\":[1,\"country-code\"],\"size\":[2]}]]],[\"zonos-v-stack\",[[1,\"zonos-v-stack\",{\"spacing\":[2]}]]],[\"zonos-empty-state-payment_4\",[[1,\"zonos-empty-state-payment\",{\"emptyStateText\":[1,\"empty-state-text\"],\"theme\":[1]}],[2,\"zonos-payment\",{\"titleText\":[1,\"title-text\"],\"stripe\":[32],\"stripeElements\":[32],\"isPaymentInfoFilled\":[32]},null,{\"isPaymentInfoFilled\":[\"watchIsPaymentInfoFilled\"],\"stripeElements\":[\"watchInitStripe\"],\"stripe\":[\"watchInitStripe\"]}],[2,\"zonos-paypal-payment\"],[1,\"zonos-notification\",{\"notificationArray\":[32],\"showNotification\":[64]}]]],[\"zonos-button_3\",[[17,\"zonos-button\",{\"buttonColor\":[1,\"button-color\"],\"backgroundColor\":[1,\"background-color\"],\"borderStyle\":[1,\"border-style\"],\"isDisabled\":[4,\"is-disabled\"],\"icon\":[16],\"iconRight\":[4,\"icon-right\"],\"size\":[1],\"variant\":[1],\"noBackground\":[4,\"no-background\"],\"withBoxShadow\":[4,\"with-box-shadow\"],\"noPaddingLeft\":[4,\"no-padding-left\"],\"noPaddingRight\":[4,\"no-padding-right\"],\"loading\":[4],\"justifyContent\":[1,\"justify-content\"],\"bold\":[4],\"theme\":[1],\"hasIcon\":[32],\"hasContent\":[32]},[[2,\"click\",\"clickHandler\"]],{\"icon\":[\"iconChangeHandler\"]}],[1,\"zonos-spinner\",{\"size\":[2],\"spinnerColor\":[1,\"spinner-color\"]}],[1,\"zonos-icon\",{\"autoHeight\":[4,\"auto-height\"],\"iconColor\":[1,\"icon-color\"],\"content\":[1],\"size\":[2]}]]],[\"zonos-language-select_2\",[[1,\"zonos-language-select\",{\"handleOnClose\":[16]}],[1,\"zonos-select-dialog-header\",{\"handleOnClose\":[16],\"label\":[1]}]]],[\"zonos-country-select_4\",[[1,\"zonos-country-select\",{\"handleOnClose\":[16],\"inputValue\":[32]}],[1,\"zonos-hello-dialog-footer\",{\"appearanceSettings\":[16],\"setShowCountrySelect\":[16],\"setShowLanguageSelect\":[16]}],[1,\"zonos-custom-message\",{\"icon\":[1],\"message\":[1]}],[2,\"zonos-virtual-scroll\",{\"renderItem\":[16],\"itemWidth\":[2,\"item-width\"],\"fallbackItemHeight\":[2,\"fallback-item-height\"],\"itemHeights\":[16],\"container\":[32],\"scrollTop\":[32],\"totalHeight\":[32]},null,{\"itemHeights\":[\"updateTotalHeight\"],\"fallbackItemHeight\":[\"updateTotalHeight\"]}]]],[\"zonos-address_7\",[[1,\"zonos-address-update-dialog\",{\"continueLoading\":[4,\"continue-loading\"],\"dialogLoading\":[4,\"dialog-loading\"],\"dialogOpen\":[4,\"dialog-open\"],\"submitBtnType\":[1,\"submit-btn-type\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"isMobile\":[4,\"is-mobile\"],\"shippingAddress\":[16],\"billingAddress\":[16],\"translatedShippingAddress\":[16],\"translatedBillingAddress\":[16],\"showErrorBanner\":[32],\"translatedShippingAddressState\":[32],\"translatedBillingAddressState\":[32]},null,{\"translatedShippingAddress\":[\"watchTranslatedShippingAddress\"],\"translatedBillingAddress\":[\"watchTranslatedBillingAddress\"]}],[2,\"zonos-address\",{\"type\":[1],\"titleText\":[1,\"title-text\"],\"defaultAddress\":[16],\"stripe\":[32],\"isDirtyAddress\":[32]},null,{\"stripe\":[\"watchInitStripe\"],\"defaultAddress\":[\"defaultAddressChanged\"]}],[2,\"zonos-link-authentication\",{\"titleText\":[1,\"title-text\"],\"defaultEmail\":[1,\"default-email\"],\"isEmailError\":[4,\"is-email-error\"],\"stripe\":[32],\"isStagingMode\":[32],\"clientSecret\":[32]},null,{\"isStagingMode\":[\"watchIsStagingMode\"],\"stripe\":[\"watchInitStripe\"],\"clientSecret\":[\"watchInitStripe\"],\"defaultEmail\":[\"watchDefaultEmail\"]}],[1,\"zonos-checkbox\",{\"backgroundColor\":[1,\"background-color\"],\"label\":[1],\"isChecked\":[4,\"is-checked\"],\"isDisabled\":[4,\"is-disabled\"],\"size\":[2],\"fontSize\":[1,\"font-size\"],\"borderStyle\":[1,\"border-style\"]},[[1,\"click\",\"onClick\"]]],[1,\"zonos-dialog\",{\"open\":[4],\"headerText\":[1,\"header-text\"],\"width\":[1],\"height\":[1],\"minHeight\":[1,\"min-height\"],\"noHeader\":[4,\"no-header\"],\"noBodyPadding\":[4,\"no-body-padding\"],\"noBorder\":[4,\"no-border\"],\"borderStyle\":[1,\"border-style\"],\"noCloseButton\":[4,\"no-close-button\"],\"noClickOutside\":[4,\"no-click-outside\"],\"mobile\":[4],\"isLoading\":[4,\"is-loading\"],\"isMobile\":[32]},[[9,\"resize\",\"handleWindowResize\"],[4,\"keydown\",\"handleKeyDown\"]]],[1,\"zonos-address-display\",{\"currentAddress\":[16],\"addressType\":[1,\"address-type\"]}],[1,\"zonos-address-form\",{\"currentAddress\":[16],\"translatedAddress\":[16],\"addressType\":[1,\"address-type\"],\"localAddress\":[32]},null,{\"translatedAddress\":[\"watchCurrentAddress\"]}]]],[\"zonos-cart-items_13\",[[2,\"zonos-customer-info\",{\"continueLoading\":[4,\"continue-loading\"],\"submitBtnType\":[1,\"submit-btn-type\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"isMobile\":[4,\"is-mobile\"],\"defaultAddress\":[16],\"showErrorBanner\":[32],\"shippingCountry\":[32],\"isCheckingForRestrictedItems\":[32],\"isValidatingAddress\":[32],\"isTaxIdError\":[32],\"invalidShippingCharacterList\":[32],\"invalidBillingCharacterList\":[32],\"openAddressValidationDialog\":[32],\"isEmailError\":[32]}],[2,\"zonos-checkout-payment\",{\"submitBtnType\":[1,\"submit-btn-type\"],\"continueLoading\":[4,\"continue-loading\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"isMobile\":[4,\"is-mobile\"],\"overridePrimaryColor\":[1,\"override-primary-color\"],\"showErrorBanner\":[32],\"hasStripePaymentError\":[32],\"stagingOrderCreateErrorMessage\":[32],\"internalContinueLoading\":[32]},null,{\"continueLoading\":[\"continueLoadingWatcher\"],\"hasStripePaymentError\":[\"stripePaymentErrorWatcher\"]}],[1,\"zonos-checkout-footer\",{\"mobile\":[4],\"dataTheme\":[1,\"data-theme\"],\"showLanguageDialog\":[32],\"isMobile\":[32]},[[4,\"click\",\"handleGlobalClick\"]],{\"mobile\":[\"handleMobileChange\"]}],[2,\"zonos-shipping\",{\"continueLoading\":[4,\"continue-loading\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"submitBtnType\":[1,\"submit-btn-type\"],\"selectedShippingMethod\":[32],\"collapsedDAPOptions\":[32],\"isSelecting\":[32],\"showErrorBanner\":[32],\"serviceLevelsDDP\":[32],\"serviceLevelsDAP\":[32],\"serviceLevelsOther\":[32],\"serviceLevelsAll\":[32],\"displayBaseCurrency\":[32]}],[1,\"zonos-cart-subtotal\",{\"submitBtnType\":[1,\"submit-btn-type\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"loading\":[32]}],[1,\"zonos-cart-restricted-items\",{\"hide\":[4],\"errorImages\":[32],\"internalCollapsed\":[32],\"firstRender\":[32]}],[1,\"zonos-checkout-finish\",{\"borderRadius\":[1,\"border-radius\"],\"storybookForceStatus\":[1,\"storybook-force-status\"],\"overrideNotification\":[16],\"isLoading\":[32],\"notificationType\":[32],\"notificationTitle\":[32],\"notificationMessages\":[32],\"notificationActionText\":[32],\"order\":[32],\"isWaitingToRedirect\":[32]}],[1,\"zonos-confirm-dialog\",{\"dialogTitle\":[1,\"dialog-title\"],\"dialogIntent\":[1,\"dialog-intent\"],\"dialogSubtitle\":[1,\"dialog-subtitle\"],\"submitBtnColor\":[1,\"submit-btn-color\"],\"dialogConfirmBtnText\":[1,\"dialog-confirm-btn-text\"],\"dialogWidth\":[2,\"dialog-width\"],\"dialogCancelBtnText\":[1,\"dialog-cancel-btn-text\"],\"dialogType\":[1,\"dialog-type\"],\"isMobile\":[4,\"is-mobile\"],\"dialogOpen\":[4,\"dialog-open\"],\"noClickOutside\":[4,\"no-click-outside\"]},[[4,\"keydown\",\"handleKeyDown\"]]],[1,\"zonos-checkout-progress-tabs\",{\"tabColor\":[1,\"tab-color\"],\"backgroundColor\":[1,\"background-color\"],\"setTabItems\":[64],\"setTabSelected\":[64]}],[1,\"zonos-review\",{\"mobile\":[4],\"collapsed\":[4],\"isMobile\":[32]},[[9,\"resize\",\"handleWindowResize\"]]],[1,\"zonos-cart-items\",{\"errorImages\":[32]}],[1,\"zonos-currency-toggle\",{\"errorImages\":[32]}],[1,\"zonos-rest-state\",{\"restStateSubtitle\":[1,\"rest-state-subtitle\"],\"restStateTitle\":[1,\"rest-state-title\"],\"restStateType\":[1,\"rest-state-type\"],\"isErrorImageLoad\":[32]}]]]]"), options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -1,5 +1,5 @@
1
1
  import { z as zonosStore, c as createStore } from './zonosStore-d3c5a0a5.js';
2
- import { F as validateCheckoutSession, f as stripeStore, e as cartStore, z as stripeStoreHandleInventoryCheck, r as translate, x as cartStoreNextStep, k as cartStoreClearCheckoutInterval } from './cart-52e208cc.js';
2
+ import { t as trackConversionEvent, F as validateCheckoutSession, f as stripeStore, e as cartStore, z as stripeStoreHandleInventoryCheck, r as translate, x as cartStoreNextStep, k as cartStoreClearCheckoutInterval } from './cart-fff4f4a4.js';
3
3
  import { h as handleFetch, l as log, b as logError, j as jsonParse } from './handleFetch-0109fb78.js';
4
4
  import { t as tinycolor } from './isDarkColor-446fccb7.js';
5
5
 
@@ -309,6 +309,10 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
309
309
  });
310
310
  return {
311
311
  createOrder: async () => {
312
+ // Clicking on the paypal button should trigger the paymentInfoCompleted event
313
+ void trackConversionEvent('checkout_paymentInfoCompleted', {
314
+ paymentMethod: 'paypal',
315
+ });
312
316
  const checkoutSessionStatus = await validateCheckoutSession();
313
317
  if (!checkoutSessionStatus.valid) {
314
318
  paypalStore.paypalErrorMessage = checkoutSessionStatus.errorMessage;
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, d as getElement } from './index-d82f06f2.js';
2
- import { f as stripeStore, V as getFallbackDefaultCountryCode, r as translate, l as localizationStore, e as cartStore } from './cart-52e208cc.js';
2
+ import { f as stripeStore, t as trackConversionEvent, V as getFallbackDefaultCountryCode, r as translate, l as localizationStore, e as cartStore } from './cart-fff4f4a4.js';
3
3
  import { z as zonosStore, d as zonosStoreFontFamily } from './zonosStore-d3c5a0a5.js';
4
4
  import { i as isCheckoutMobile } from './isCheckoutMobile-8846dccb.js';
5
5
  import { b as logError, l as log } from './handleFetch-0109fb78.js';
@@ -20,6 +20,10 @@ const ZonosAddress = class {
20
20
  * Google autocomplete overlay is conflict with our button, this is to adjust z index of the autocomplete
21
21
  */
22
22
  this.isAutoCompleteAdjusted = false;
23
+ /**
24
+ * Check if the tracking event is sent
25
+ */
26
+ this.trackingSent = false;
23
27
  this.type = undefined;
24
28
  this.titleText = undefined;
25
29
  this.defaultAddress = [];
@@ -45,9 +49,14 @@ const ZonosAddress = class {
45
49
  case 'billing':
46
50
  stripeStore.stripeBillingAddressEventData = event;
47
51
  break;
48
- default:
52
+ default: {
53
+ if (event.complete && !this.trackingSent) {
54
+ void trackConversionEvent('checkout_customerInfoFilled');
55
+ this.trackingSent = true;
56
+ }
49
57
  stripeStore.stripeAddressEventData = event;
50
58
  break;
59
+ }
51
60
  }
52
61
  }
53
62
  updateAddressElement({ stripeAddressElement, type, }) {
@@ -193,7 +202,7 @@ const ZonosAddress = class {
193
202
  }
194
203
  render() {
195
204
  // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here
196
- return (h(Host, { key: '455356fe5ca9910fe34df12eb02b499316167bc7', class: "zonos--address zonos--elements" }, h("zonos-text", { key: '44ae4b872ca4aea9e9d8e1cfa0de5e421e4ea524', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), this.renderCompanyNameInput(), h("div", { key: '188976d8eef8c23b41c1b82fc7d5c4d2069fc92b', class: "zonos--address-component" })));
205
+ return (h(Host, { key: '9fd8e0ac4b86c10004c24e9d33f40ec577bd2a73', class: "zonos--address zonos--elements" }, h("zonos-text", { key: 'e7c3cbcab6f175354f26a8426d0dbf01afca736d', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), this.renderCompanyNameInput(), h("div", { key: '48ccbb019255c5362adf4c7954a7c2e3b015bfa5', class: "zonos--address-component" })));
197
206
  }
198
207
  get el() { return getElement(this); }
199
208
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, a as getAssetPath, h, H as Host, F as Fragment, c as createEvent, d as getElement } from './index-d82f06f2.js';
2
- import { e as cartStore, E as currencyFormat, r as translate, M as cartStoreHasOneEligibleItem, N as stripeStoreApplyPromoCode, O as stripeStoreRemovePromoCode, f as stripeStore, C as stripeStoreReset, d as stripeStoreRetrievePayment, t as trackConversionEvent, P as stripeStoreResetPromoCode, Q as stripeStoreMessageBasedOnStatus, l as localizationStore, x as cartStoreNextStep, R as stripeStoreTranslateAddressToLatin, S as cartStoreUpdateSelectedShippingOption, T as cartStoreGetShippingTransitInfo, U as sortServiceLevelOptionsByAmount } from './cart-52e208cc.js';
2
+ import { e as cartStore, E as currencyFormat, r as translate, M as cartStoreHasOneEligibleItem, N as stripeStoreApplyPromoCode, O as stripeStoreRemovePromoCode, f as stripeStore, C as stripeStoreReset, d as stripeStoreRetrievePayment, t as trackConversionEvent, P as stripeStoreResetPromoCode, Q as stripeStoreMessageBasedOnStatus, l as localizationStore, x as cartStoreNextStep, R as stripeStoreTranslateAddressToLatin, S as cartStoreUpdateSelectedShippingOption, T as cartStoreGetShippingTransitInfo, U as sortServiceLevelOptionsByAmount } from './cart-fff4f4a4.js';
3
3
  import { c as classes } from './classes-0d95c529.js';
4
- import { s as submitGtag, c as paypalStoreReset, b as paypalStore, i as isContrastColor } from './paypal-2e1c560e.js';
4
+ import { s as submitGtag, c as paypalStoreReset, b as paypalStore, i as isContrastColor } from './paypal-087fbd16.js';
5
5
  import { z as zonosStore, g as getZonosStoreTheme, d as zonosStoreFontFamily } from './zonosStore-d3c5a0a5.js';
6
6
  import { h as handleFetch, l as log, s as sendErrorLog, j as jsonParse, g as getIsTestMode, d as allLogs, b as logError, a as getIsStagingMode } from './handleFetch-0109fb78.js';
7
7
  import { c as createCustomEvent } from './createCustomEvent-58159025.js';
@@ -1483,9 +1483,10 @@ const ZonosCheckoutFinish = class {
1483
1483
  clientSecret,
1484
1484
  storybookForceStatus: this.storybookForceStatus,
1485
1485
  });
1486
- this.notificationType = error ? 'error' : 'success';
1486
+ const isError = status === 'requires_action' || error;
1487
+ this.notificationType = isError ? 'error' : 'success';
1487
1488
  this.notificationMessages = messages || [];
1488
- this.notificationTitle = error
1489
+ this.notificationTitle = isError
1489
1490
  ? translate('Payment failed')
1490
1491
  : translate("You're all set!");
1491
1492
  log('=== Payment intent retrieve status', 'info', {
@@ -1562,6 +1563,9 @@ const ZonosCheckoutFinish = class {
1562
1563
  // show success message right away when order id is already created
1563
1564
  this.isLoading = false;
1564
1565
  if (paypalStore.orderIdCreated) {
1566
+ submitGtag('zonos-checkout-success');
1567
+ // Make sure to send the event when order is completed
1568
+ await trackConversionEvent('checkout_orderCompleted');
1565
1569
  this.notificationType = 'success';
1566
1570
  this.notificationTitle = translate("You're all set!");
1567
1571
  this.notificationMessages =
@@ -1628,11 +1632,11 @@ const ZonosCheckoutFinish = class {
1628
1632
  }
1629
1633
  render() {
1630
1634
  const isTestMode = getIsTestMode();
1631
- return (h(Host, { key: 'afcb0314658af4d53e7d453415dd73fb01a8f162', class: "zonos--checkout-finish zonos--elements", style: {
1635
+ return (h(Host, { key: '4bb26161ad400a7bbd7b7e9f0568ac5de8f18004', class: "zonos--checkout-finish zonos--elements", style: {
1632
1636
  '--zonos--border-radius': getBorderRadius({
1633
1637
  overrideBorderStyle: this.borderRadius,
1634
1638
  }),
1635
- } }, !this.isLoading && (h("div", { key: '99b7b6c9dd0e0545d770e4d9ed54207f5c13fdfd', class: "zonos--finish-details" }, h("div", { key: '11d249514d0eef2f8419e66b1070a20e745b84fd', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: 'c8f52780e8ea76b5951aa4ad3dfc87c19acbfd1d', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), h("zonos-text", { key: '459d7c1a9bd6fd77cfda25e9500a89061874b58f', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.shouldRenderCloseButtonForRedirectBehavior() && (h("zonos-button", { key: '4e34926ba96975ceff18016eb6bcad1906f1c773',
1639
+ } }, !this.isLoading && (h("div", { key: '85d3bf11c73dfd2b18d0a6d996f2c1f4a01a2288', class: "zonos--finish-details" }, h("div", { key: '0e4fb2b7cd03a4464dde3cce69932b8482da0d02', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: '0ced9d9d83576979ae785be52c0ae07dca0fd5de', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), h("zonos-text", { key: 'd14a6fbe02dc836512b41859cc8de573653c4884', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.shouldRenderCloseButtonForRedirectBehavior() && (h("zonos-button", { key: '5a80853fd1374fc72ccc2b416b62f6c52e4916dd',
1636
1640
  // Only show loading spinner if it's not an error notification
1637
1641
  loading: this.isWaitingToRedirect &&
1638
1642
  this.notificationType !== 'error', onClick: () => {
@@ -1644,9 +1648,9 @@ const ZonosCheckoutFinish = class {
1644
1648
  }
1645
1649
  this.closeClickHandler();
1646
1650
  }, size: "md", variant: "primary" }, translate('Close'))), !window.Zonos.isLegacyCheckout &&
1647
- this.shouldRenderKeepShoppingButton() && (h("zonos-button", { key: '836907a2a325d615d897e5292f086bf9111226ae', onClick: () => this.closeClickHandler(), size: "md", variant: "primary" }, this.notificationActionText))), isTestMode &&
1651
+ this.shouldRenderKeepShoppingButton() && (h("zonos-button", { key: 'ba2fca63de8f04c76fa4d1bc96d06863fbad78cf', onClick: () => this.closeClickHandler(), size: "md", variant: "primary" }, this.notificationActionText))), isTestMode &&
1648
1652
  cartStore.step === 'finish' &&
1649
- this.notificationType === 'success' && (h("div", { key: 'ea1b4dd65f89d3eaec6391b6e440ae8ca20d5bdb', class: "zonos--finish-button-wrapper" }, h("zonos-button", { key: '350ee6b7fe58ff5e7a1584989e2df13ce5d243c6', backgroundColor: "gray-0", buttonColor: "gray-1000", onClick: () => this.closeClickHandler(), size: "lg", variant: "outline" }, "New test cart"), h("zonos-button", { key: 'd3578cef9a3f6cc69fff48ee412f7010d526c284', onClick: () => {
1653
+ this.notificationType === 'success' && (h("div", { key: '1e3cb2f2f5874b93886247af585566dbaad9a45f', class: "zonos--finish-button-wrapper" }, h("zonos-button", { key: 'f8603ae4e116da9f8adabe648a6f626b994f208a', backgroundColor: "gray-0", buttonColor: "gray-1000", onClick: () => this.closeClickHandler(), size: "lg", variant: "outline" }, "New test cart"), h("zonos-button", { key: '91df622529ff650464b3694780e65d2d929548f9', onClick: () => {
1650
1654
  const isZonosDashboard = window.location.hostname.includes('dashboard.zonos.com');
1651
1655
  this.redirectToUrl(isZonosDashboard
1652
1656
  ? '/orders/all'
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host, F as Fragment } from './index-d82f06f2.js';
2
- import { l as localizationStore, s as stripeStoreGetDomesticShippingSession, a as localizationStoreUpdateSelectedCountryCode, b as stripeStoreCleanupDomesticShippingSession, c as stripeStoreSaveDomesticShippingSession, i as initStripeElements, d as stripeStoreRetrievePayment, e as cartStore, f as stripeStore, g as cartStoreUpdateItems, h as cartStoreReset, j as cartStoreResetTabItems, k as cartStoreClearCheckoutInterval, m as stripeStoreInitCheckoutSession, n as stripeStoreGetPaymentIntent, o as cartStoreStartCheckoutInterval, t as trackConversionEvent, p as getCheckoutSessionBody, q as cartStoreUpdateToErrorState, r as translate, u as getZCountryUrlParam, v as cartStoreSetCheckoutSession, w as stripeStorePrefetchLandedCost, x as cartStoreNextStep, y as stripeStoreUpdateCheckoutSessionBaseCurrency, z as stripeStoreHandleInventoryCheck, A as stripeStoreConfirmPayment, B as stripeStoreHandleInventoryRefund, C as stripeStoreReset, D as localizationStoreOnUpdate, E as currencyFormat } from './cart-52e208cc.js';
3
- import { p as paypalStoreHasPaypalEnabled, s as submitGtag, a as paypalInitScript, b as paypalStore } from './paypal-2e1c560e.js';
2
+ import { l as localizationStore, s as stripeStoreGetDomesticShippingSession, a as localizationStoreUpdateSelectedCountryCode, b as stripeStoreCleanupDomesticShippingSession, c as stripeStoreSaveDomesticShippingSession, i as initStripeElements, d as stripeStoreRetrievePayment, e as cartStore, f as stripeStore, g as cartStoreUpdateItems, h as cartStoreReset, j as cartStoreResetTabItems, k as cartStoreClearCheckoutInterval, m as stripeStoreInitCheckoutSession, n as stripeStoreGetPaymentIntent, o as cartStoreStartCheckoutInterval, t as trackConversionEvent, p as getCheckoutSessionBody, q as cartStoreUpdateToErrorState, r as translate, u as getZCountryUrlParam, v as cartStoreSetCheckoutSession, w as stripeStorePrefetchLandedCost, x as cartStoreNextStep, y as stripeStoreUpdateCheckoutSessionBaseCurrency, z as stripeStoreHandleInventoryCheck, A as stripeStoreConfirmPayment, B as stripeStoreHandleInventoryRefund, C as stripeStoreReset, D as localizationStoreOnUpdate, E as currencyFormat } from './cart-fff4f4a4.js';
3
+ import { p as paypalStoreHasPaypalEnabled, s as submitGtag, a as paypalInitScript, b as paypalStore } from './paypal-087fbd16.js';
4
4
  import { z as zonosStore, g as getZonosStoreTheme, m as mergeConfig } from './zonosStore-d3c5a0a5.js';
5
5
  import { h as handleFetch, l as log, b as logError, s as sendErrorLog, c as getElapsedTime, d as allLogs, e as getAdditionalLogMetadata, g as getIsTestMode, j as jsonParse, a as getIsStagingMode } from './handleFetch-0109fb78.js';
6
6
  import { i as isCheckoutMobile } from './isCheckoutMobile-8846dccb.js';
@@ -712,11 +712,11 @@ const ZonosCheckout = class {
712
712
  isPreview: this.preview,
713
713
  sessionTimeout: CHECKOUT_SESSION_TIMEOUT,
714
714
  });
715
+ submitGtag('zonos-checkout-start');
716
+ void trackConversionEvent('checkout_open');
715
717
  const { enabled } = await isStoreDiscountEnabled();
716
718
  // Hide discount input if there's no active discount configured for the store
717
719
  cartStore.shouldHideDiscountInput = !enabled;
718
- submitGtag('zonos-checkout-start');
719
- void trackConversionEvent('checkout_open');
720
720
  this.handleOrderDuplication();
721
721
  if (window.Zonos.isLegacyCheckout) {
722
722
  void sendLoadCheckoutFacadeLog();
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-d82f06f2.js';
2
- import { G as isValidSelector, f as stripeStore, H as initLocalizationStore, e as cartStore, a as localizationStoreUpdateSelectedCountryCode } from './cart-52e208cc.js';
2
+ import { G as isValidSelector, f as stripeStore, H as initLocalizationStore, e as cartStore, a as localizationStoreUpdateSelectedCountryCode } from './cart-fff4f4a4.js';
3
3
  import { z as zonosStore, b as zonosStoreInitSetting, d as zonosStoreFontFamily } from './zonosStore-d3c5a0a5.js';
4
4
  import { h as handleFetch, b as logError, l as log } from './handleFetch-0109fb78.js';
5
5
  import './isDarkColor-446fccb7.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, d as getElement } from './index-d82f06f2.js';
2
- import { l as localizationStore } from './cart-52e208cc.js';
2
+ import { l as localizationStore } from './cart-fff4f4a4.js';
3
3
  import { d as zonosStoreFontFamily } from './zonosStore-d3c5a0a5.js';
4
4
  import { c as classes } from './classes-0d95c529.js';
5
5
  import './handleFetch-0109fb78.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, d as getElement } from './index-d82f06f2.js';
2
- import { a as localizationStoreUpdateSelectedCountryCode, r as translate, l as localizationStore } from './cart-52e208cc.js';
2
+ import { a as localizationStoreUpdateSelectedCountryCode, r as translate, l as localizationStore } from './cart-fff4f4a4.js';
3
3
  import { d as zonosStoreFontFamily } from './zonosStore-d3c5a0a5.js';
4
4
  import { f as formatStringWithLinks } from './formatStringWithLinks-9e819405.js';
5
5
  import { i as isDarkColor } from './isDarkColor-446fccb7.js';