@zonos/elements 1.2.4-alpha.4 → 1.2.4-alpha.6

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 (72) hide show
  1. package/dist/cjs/{cart-3ff38a09.js → cart-7ad04cdb.js} +1 -1
  2. package/dist/cjs/index.cjs.js +2 -2
  3. package/dist/cjs/{localization-dcd11e9d.js → localization-5069ab0b.js} +20 -0
  4. package/dist/cjs/{submitGtag-08527ddb.js → submitGtag-44e938ff.js} +1 -1
  5. package/dist/cjs/zonos-address_2.cjs.entry.js +2 -2
  6. package/dist/cjs/zonos-cart-items_10.cjs.entry.js +3 -3
  7. package/dist/cjs/zonos-checkout.cjs.entry.js +3 -3
  8. package/dist/cjs/zonos-controller.cjs.entry.js +2 -2
  9. package/dist/cjs/zonos-country-flag_4.cjs.entry.js +1 -1
  10. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +1 -1
  11. package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
  12. package/dist/cjs/zonos-payment.cjs.entry.js +2 -2
  13. package/dist/collection/components/utils/logging/log.js +20 -0
  14. package/dist/collection/scripts/zonos.js +53 -0
  15. package/dist/components/localization.js +20 -0
  16. package/dist/esm/{cart-54eab7ab.js → cart-face98c8.js} +1 -1
  17. package/dist/esm/index.js +2 -2
  18. package/dist/esm/{localization-9c80f0f5.js → localization-ed07b7f0.js} +20 -0
  19. package/dist/esm/{submitGtag-7affec95.js → submitGtag-5b553683.js} +1 -1
  20. package/dist/esm/zonos-address_2.entry.js +2 -2
  21. package/dist/esm/zonos-cart-items_10.entry.js +3 -3
  22. package/dist/esm/zonos-checkout.entry.js +3 -3
  23. package/dist/esm/zonos-controller.entry.js +2 -2
  24. package/dist/esm/zonos-country-flag_4.entry.js +1 -1
  25. package/dist/esm/zonos-hello-dialog.entry.js +1 -1
  26. package/dist/esm/zonos-hello.entry.js +1 -1
  27. package/dist/esm/zonos-payment.entry.js +2 -2
  28. package/dist/esm-es5/{cart-54eab7ab.js → cart-face98c8.js} +1 -1
  29. package/dist/esm-es5/index.js +1 -1
  30. package/dist/esm-es5/{localization-9c80f0f5.js → localization-ed07b7f0.js} +1 -1
  31. package/dist/esm-es5/{submitGtag-7affec95.js → submitGtag-5b553683.js} +1 -1
  32. package/dist/esm-es5/zonos-address_2.entry.js +1 -1
  33. package/dist/esm-es5/zonos-cart-items_10.entry.js +1 -1
  34. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  35. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  36. package/dist/esm-es5/zonos-country-flag_4.entry.js +1 -1
  37. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  38. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  39. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  40. package/dist/scripts/loadZonos.js +76 -3
  41. package/dist/scripts/zonos.js +76 -3
  42. package/dist/types/components/utils/changeDeepProperty.d.ts +1 -1
  43. package/dist/types/components/utils/changeDeepPropertyAtIndex.d.ts +1 -1
  44. package/dist/types/scripts/zonos.d.ts +1 -0
  45. package/dist/types/types/global.d.ts +12 -0
  46. package/dist/zonos-elements/index.esm.js +1 -1
  47. package/dist/zonos-elements/{p-0362c416.entry.js → p-03df1466.entry.js} +1 -1
  48. package/dist/zonos-elements/{p-07c900e2.entry.js → p-39dfc72b.entry.js} +1 -1
  49. package/dist/zonos-elements/{p-197e4528.entry.js → p-3c40bb08.entry.js} +1 -1
  50. package/dist/zonos-elements/{p-40e68452.system.entry.js → p-4138e220.system.entry.js} +1 -1
  51. package/dist/zonos-elements/{p-7aab4cf0.system.js → p-47c110a4.system.js} +1 -1
  52. package/dist/zonos-elements/{p-46d935ea.system.js → p-4db8bd2e.system.js} +1 -1
  53. package/dist/zonos-elements/{p-c8fcaddc.system.entry.js → p-507e1954.system.entry.js} +1 -1
  54. package/dist/zonos-elements/{p-9232db22.system.js → p-5aefdcdc.system.js} +1 -1
  55. package/dist/zonos-elements/{p-3ab985c6.entry.js → p-5e6be2a3.entry.js} +1 -1
  56. package/dist/zonos-elements/{p-1d4b6d59.system.js → p-94f03799.system.js} +1 -1
  57. package/dist/zonos-elements/{p-e3c617a4.js → p-99c9bd01.js} +1 -1
  58. package/dist/zonos-elements/{p-7c3ea8c6.system.entry.js → p-9e396855.system.entry.js} +1 -1
  59. package/dist/zonos-elements/{p-84447396.entry.js → p-9fa111f1.entry.js} +1 -1
  60. package/dist/zonos-elements/{p-c1f4349c.system.entry.js → p-aeeaaa7a.system.entry.js} +1 -1
  61. package/dist/zonos-elements/{p-de3db699.system.entry.js → p-b2984730.system.entry.js} +1 -1
  62. package/dist/zonos-elements/{p-887e2f9a.system.entry.js → p-b944303a.system.entry.js} +1 -1
  63. package/dist/zonos-elements/{p-8858537d.entry.js → p-bca3d02f.entry.js} +1 -1
  64. package/dist/zonos-elements/p-bec21999.system.js +1 -1
  65. package/dist/zonos-elements/{p-3379ee13.js → p-c6ed3777.js} +1 -1
  66. package/dist/zonos-elements/{p-426a5999.system.entry.js → p-d8daeec4.system.entry.js} +1 -1
  67. package/dist/zonos-elements/{p-35035961.entry.js → p-d9ed23ec.entry.js} +1 -1
  68. package/dist/zonos-elements/{p-472c97b6.entry.js → p-f09eb5c5.entry.js} +1 -1
  69. package/dist/zonos-elements/{p-17bc1266.js → p-f0f9c43a.js} +1 -1
  70. package/dist/zonos-elements/{p-81da740f.system.entry.js → p-f2ed98bb.system.entry.js} +1 -1
  71. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  72. package/package.json +1 -1
@@ -1,10 +1,30 @@
1
1
  'use strict';
2
2
 
3
3
  const log = (message, type, ...additionalInfo) => {
4
+ var _a;
4
5
  // if type is error and debug is false, do not log
5
6
  if (!window.Zonos.debug) {
6
7
  return;
7
8
  }
9
+ let loggingIframe = document.querySelector('iframe#zonos---debug-logging-iframe');
10
+ if (!loggingIframe) {
11
+ // add a hidden iframe
12
+ loggingIframe = document.createElement('iframe');
13
+ loggingIframe.id = 'zonos---debug-logging-iframe';
14
+ loggingIframe.style.display = 'none';
15
+ loggingIframe.style.opacity = '0';
16
+ loggingIframe.style.position = 'absolute';
17
+ loggingIframe.style.top = '-9999px';
18
+ loggingIframe.style.left = '-9999px';
19
+ loggingIframe.style.width = '1px';
20
+ loggingIframe.style.height = '1px';
21
+ loggingIframe.style.border = 'none';
22
+ loggingIframe.style.overflow = 'hidden';
23
+ loggingIframe.style.visibility = 'hidden';
24
+ document.body.appendChild(loggingIframe);
25
+ }
26
+ // use the logging iframe's console to log just in case the console is disabled (overriden) by the site owner
27
+ const console = ((_a = loggingIframe.contentWindow) === null || _a === void 0 ? void 0 : _a.window.console) || window.console;
8
28
  switch (type) {
9
29
  case 'warn':
10
30
  // eslint-disable-next-line no-console
@@ -198,8 +218,8 @@ const zonosQaUrl = (() => {
198
218
  });
199
219
  return fullUrl;
200
220
  })();
201
- const ZONOS_URL = zonosQaUrl || "https://v1.2.4-alpha.4.js.zonos.com";
202
- const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.4-alpha.4";
221
+ const ZONOS_URL = zonosQaUrl || "https://v1.2.4-alpha.6.js.zonos.com";
222
+ const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.4-alpha.6";
203
223
  const INTER_FONT_URL = 'https://rsms.me';
204
224
  const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
205
225
  const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
@@ -212,7 +232,7 @@ Zonos.debug = !!window.location.search.match(/\?.*(&*)zonosDebug=1/);
212
232
  Zonos.isBigCommerce = false;
213
233
  Zonos.internationalHideSelector = '';
214
234
  Zonos.zonosQaUrl = zonosQaUrl;
215
- Zonos.version = `v${"1.2.4-alpha.4"}`;
235
+ Zonos.version = `v${"1.2.4-alpha.6"}`;
216
236
  Zonos.modeAlerted = false;
217
237
  Zonos.getCurrentTimestamp = () => new Date().getTime();
218
238
  Zonos.zonosController = null;
@@ -228,6 +248,8 @@ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSett
228
248
  }
229
249
  _a.zonosApiKey = zonosApiKey;
230
250
  log('init zonos');
251
+ // add sentry to the project
252
+ _a.injectSentryScript();
231
253
  // inject zonos cdn
232
254
  _a.injectZonosCdn();
233
255
  // inject css for zonos elements
@@ -325,6 +347,56 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
325
347
  _a.zonosController = zonosController;
326
348
  log('Zonos controller injected!');
327
349
  };
350
+ Zonos.injectSentryScript = () => {
351
+ const scriptUrl = 'https://browser.sentry-cdn.com/7.88.0/bundle.tracing.min.js';
352
+ const findScript = () => {
353
+ const script = document.querySelector(`script[src="${scriptUrl}"]`);
354
+ return !!script;
355
+ };
356
+ if (findScript()) {
357
+ // eslint-disable-next-line no-console
358
+ log('Sentry script already exists in the document', 'warn');
359
+ return;
360
+ }
361
+ const headOrBody = document.head || document.body;
362
+ // init zonos elements when the zonosKey is valid
363
+ // inject esmodule cdn for zonos elements
364
+ const script = document.createElement('script');
365
+ script.crossOrigin = 'anonymous';
366
+ script.src = scriptUrl;
367
+ script.integrity =
368
+ 'sha384-z/aQww1Fr6Mes0MO/2wlzQd2nXBCdDcKPXDTsMDMNPgTGRPqii3a4bzH79I+Vo8l';
369
+ script.setAttribute('data-lazy', 'no');
370
+ script.onerror = () => {
371
+ logError(`Failed to load ${script.src}`);
372
+ };
373
+ script.onload = () => {
374
+ var _b;
375
+ (_b = window.Sentry) === null || _b === void 0 ? void 0 : _b.init({
376
+ denyUrls: [
377
+ // Facebook flakiness
378
+ /graph\.facebook\.com/i,
379
+ // Facebook blocked
380
+ /connect\.facebook\.net\/en_US\/all\.js/i,
381
+ // Woopra flakiness
382
+ /eatdifferent\.com\.woopra-ns\.com/i,
383
+ /static\.woopra\.com\/js\/woopra\.js/i,
384
+ // Chrome extensions
385
+ /extensions\//i,
386
+ /^chrome:\/\//i,
387
+ /^chrome-extension:\/\//i,
388
+ // Other plugins
389
+ /webappstoolbarba\.texthelp\.com\//i,
390
+ /metrics\.itunes\.apple\.com\.edgesuite\.net\//i,
391
+ /dev.elements.zonos.com/i,
392
+ /js.zonos.com/,
393
+ ],
394
+ dsn: 'https://19168bd05af0e2e0e7520ad58953e4f2@o446983.ingest.sentry.io/4506400622837760',
395
+ release: `zonos-elements@${_a.version}`,
396
+ });
397
+ };
398
+ headOrBody.appendChild(script);
399
+ };
328
400
  Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) => {
329
401
  const fullScriptUrl = `${scriptDomain}/${theRestUrl}`;
330
402
  const findScript = () => {
@@ -347,6 +419,7 @@ Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) =
347
419
  script.noModule = true;
348
420
  }
349
421
  script.src = fullScriptUrl;
422
+ script.crossOrigin = 'anonymous';
350
423
  script.onerror = () => {
351
424
  // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
352
425
  const isVersioned = /\/\/v\d+\./g.test(scriptDomain);
@@ -1,10 +1,30 @@
1
1
  'use strict';
2
2
 
3
3
  const log = (message, type, ...additionalInfo) => {
4
+ var _a;
4
5
  // if type is error and debug is false, do not log
5
6
  if (!window.Zonos.debug) {
6
7
  return;
7
8
  }
9
+ let loggingIframe = document.querySelector('iframe#zonos---debug-logging-iframe');
10
+ if (!loggingIframe) {
11
+ // add a hidden iframe
12
+ loggingIframe = document.createElement('iframe');
13
+ loggingIframe.id = 'zonos---debug-logging-iframe';
14
+ loggingIframe.style.display = 'none';
15
+ loggingIframe.style.opacity = '0';
16
+ loggingIframe.style.position = 'absolute';
17
+ loggingIframe.style.top = '-9999px';
18
+ loggingIframe.style.left = '-9999px';
19
+ loggingIframe.style.width = '1px';
20
+ loggingIframe.style.height = '1px';
21
+ loggingIframe.style.border = 'none';
22
+ loggingIframe.style.overflow = 'hidden';
23
+ loggingIframe.style.visibility = 'hidden';
24
+ document.body.appendChild(loggingIframe);
25
+ }
26
+ // use the logging iframe's console to log just in case the console is disabled (overriden) by the site owner
27
+ const console = ((_a = loggingIframe.contentWindow) === null || _a === void 0 ? void 0 : _a.window.console) || window.console;
8
28
  switch (type) {
9
29
  case 'warn':
10
30
  // eslint-disable-next-line no-console
@@ -198,8 +218,8 @@ const zonosQaUrl = (() => {
198
218
  });
199
219
  return fullUrl;
200
220
  })();
201
- const ZONOS_URL = zonosQaUrl || "https://v1.2.4-alpha.4.js.zonos.com";
202
- const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.4-alpha.4";
221
+ const ZONOS_URL = zonosQaUrl || "https://v1.2.4-alpha.6.js.zonos.com";
222
+ const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.4-alpha.6";
203
223
  const INTER_FONT_URL = 'https://rsms.me';
204
224
  const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
205
225
  const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
@@ -212,7 +232,7 @@ Zonos.debug = !!window.location.search.match(/\?.*(&*)zonosDebug=1/);
212
232
  Zonos.isBigCommerce = false;
213
233
  Zonos.internationalHideSelector = '';
214
234
  Zonos.zonosQaUrl = zonosQaUrl;
215
- Zonos.version = `v${"1.2.4-alpha.4"}`;
235
+ Zonos.version = `v${"1.2.4-alpha.6"}`;
216
236
  Zonos.modeAlerted = false;
217
237
  Zonos.getCurrentTimestamp = () => new Date().getTime();
218
238
  Zonos.zonosController = null;
@@ -228,6 +248,8 @@ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSett
228
248
  }
229
249
  _a.zonosApiKey = zonosApiKey;
230
250
  log('init zonos');
251
+ // add sentry to the project
252
+ _a.injectSentryScript();
231
253
  // inject zonos cdn
232
254
  _a.injectZonosCdn();
233
255
  // inject css for zonos elements
@@ -325,6 +347,56 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
325
347
  _a.zonosController = zonosController;
326
348
  log('Zonos controller injected!');
327
349
  };
350
+ Zonos.injectSentryScript = () => {
351
+ const scriptUrl = 'https://browser.sentry-cdn.com/7.88.0/bundle.tracing.min.js';
352
+ const findScript = () => {
353
+ const script = document.querySelector(`script[src="${scriptUrl}"]`);
354
+ return !!script;
355
+ };
356
+ if (findScript()) {
357
+ // eslint-disable-next-line no-console
358
+ log('Sentry script already exists in the document', 'warn');
359
+ return;
360
+ }
361
+ const headOrBody = document.head || document.body;
362
+ // init zonos elements when the zonosKey is valid
363
+ // inject esmodule cdn for zonos elements
364
+ const script = document.createElement('script');
365
+ script.crossOrigin = 'anonymous';
366
+ script.src = scriptUrl;
367
+ script.integrity =
368
+ 'sha384-z/aQww1Fr6Mes0MO/2wlzQd2nXBCdDcKPXDTsMDMNPgTGRPqii3a4bzH79I+Vo8l';
369
+ script.setAttribute('data-lazy', 'no');
370
+ script.onerror = () => {
371
+ logError(`Failed to load ${script.src}`);
372
+ };
373
+ script.onload = () => {
374
+ var _b;
375
+ (_b = window.Sentry) === null || _b === void 0 ? void 0 : _b.init({
376
+ denyUrls: [
377
+ // Facebook flakiness
378
+ /graph\.facebook\.com/i,
379
+ // Facebook blocked
380
+ /connect\.facebook\.net\/en_US\/all\.js/i,
381
+ // Woopra flakiness
382
+ /eatdifferent\.com\.woopra-ns\.com/i,
383
+ /static\.woopra\.com\/js\/woopra\.js/i,
384
+ // Chrome extensions
385
+ /extensions\//i,
386
+ /^chrome:\/\//i,
387
+ /^chrome-extension:\/\//i,
388
+ // Other plugins
389
+ /webappstoolbarba\.texthelp\.com\//i,
390
+ /metrics\.itunes\.apple\.com\.edgesuite\.net\//i,
391
+ /dev.elements.zonos.com/i,
392
+ /js.zonos.com/,
393
+ ],
394
+ dsn: 'https://19168bd05af0e2e0e7520ad58953e4f2@o446983.ingest.sentry.io/4506400622837760',
395
+ release: `zonos-elements@${_a.version}`,
396
+ });
397
+ };
398
+ headOrBody.appendChild(script);
399
+ };
328
400
  Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) => {
329
401
  const fullScriptUrl = `${scriptDomain}/${theRestUrl}`;
330
402
  const findScript = () => {
@@ -347,6 +419,7 @@ Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) =
347
419
  script.noModule = true;
348
420
  }
349
421
  script.src = fullScriptUrl;
422
+ script.crossOrigin = 'anonymous';
350
423
  script.onerror = () => {
351
424
  // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
352
425
  const isVersioned = /\/\/v\d+\./g.test(scriptDomain);
@@ -37,7 +37,7 @@ import type { IDeepKeyof, IDeepPropertyType } from "../../types/index";
37
37
  },
38
38
  };
39
39
  */
40
- export declare const changeDeepProperty: <T extends Record<string, unknown>, P extends IDeepKeyof<T, Depth>, Depth extends 0 | 8 | 1 | 2 | 6 | 5 | 3 | 4 | 7 | 9 = 4>({ obj, propertyPath, value, }: {
40
+ export declare const changeDeepProperty: <T extends Record<string, unknown>, P extends IDeepKeyof<T, Depth>, Depth extends 0 | 8 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 = 4>({ obj, propertyPath, value, }: {
41
41
  obj: T;
42
42
  propertyPath: P;
43
43
  value: IDeepPropertyType<T, P, Depth>;
@@ -60,7 +60,7 @@ import type { IDeepKeyofAtIndex, IDeepPropertyTypeAtIndex } from "../../types/in
60
60
  },
61
61
  };
62
62
  */
63
- export declare const changeDeepPropertyAtIndex: <T extends object, P extends IDeepKeyofAtIndex<T, Depth>, Depth extends 0 | 8 | 1 | 2 | 6 | 5 | 3 | 4 | 7 | 9 = 4>({ index, obj, propertyPath, value, }: {
63
+ export declare const changeDeepPropertyAtIndex: <T extends object, P extends IDeepKeyofAtIndex<T, Depth>, Depth extends 0 | 8 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 = 4>({ index, obj, propertyPath, value, }: {
64
64
  index: number;
65
65
  obj: T;
66
66
  propertyPath: P;
@@ -53,6 +53,7 @@ export declare abstract class Zonos {
53
53
  static showNotification: (notification: NotificationInit) => void;
54
54
  private static disablePlaceOrderButtons;
55
55
  private static injectController;
56
+ private static injectSentryScript;
56
57
  private static injectScript;
57
58
  private static injectZonosCdn;
58
59
  private static injectStylesheet;
@@ -8,8 +8,20 @@ import type { Zonos } from '../scripts/zonos';
8
8
  declare global {
9
9
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
10
10
  interface Window {
11
+ Sentry?: {
12
+ init: (config: {
13
+ allowyUrls?: (string | RegExp)[];
14
+ denyUrls?: (string | RegExp)[];
15
+ dsn: string;
16
+ environment?: string;
17
+ integrations?: string[];
18
+ release: string;
19
+ tracesSampleRate?: number;
20
+ }) => void;
21
+ };
11
22
  Stripe?: StripeConstructor;
12
23
  Zonos: Zonos;
24
+ sentryOnLoad?: () => void;
13
25
  }
14
26
 
15
27
  namespace NodeJS {
@@ -1 +1 @@
1
- export{c as cartStore,a as cartStoreApplySubtotals,b as cartStoreGetShippingTransitInfo,d as cartStoreNextStep,e as cartStorePreviousStep,f as cartStoreReCalculateTotal,g as cartStoreReset,h as cartStoreUpdateItems,i as cartStoreUpdateSelectedShippingOption,j as cartStoreUpdateToErrorState}from"./p-3379ee13.js";import"./p-77a7929b.js";import"./p-cf8aaa17.js";import"./p-e3c617a4.js";import"./p-8bbad467.js";import"./p-e1de2a1f.js";
1
+ export{c as cartStore,a as cartStoreApplySubtotals,b as cartStoreGetShippingTransitInfo,d as cartStoreNextStep,e as cartStorePreviousStep,f as cartStoreReCalculateTotal,g as cartStoreReset,h as cartStoreUpdateItems,i as cartStoreUpdateSelectedShippingOption,j as cartStoreUpdateToErrorState}from"./p-c6ed3777.js";import"./p-77a7929b.js";import"./p-cf8aaa17.js";import"./p-99c9bd01.js";import"./p-8bbad467.js";import"./p-e1de2a1f.js";
@@ -1 +1 @@
1
- import{r as o,h as n,H as s,d as t}from"./p-cf8aaa17.js";import{s as e}from"./p-3379ee13.js";import"./p-77a7929b.js";import"./p-e3c617a4.js";import"./p-8bbad467.js";import"./p-e1de2a1f.js";const a=class{constructor(n){o(this,n),this.titleText=void 0,this.stripe=e.stripe,this.stripeElements=e.stripeElements}watchInitStripe(){if(!this.stripeElements)return;const o=e.stripePaymentElement||this.stripeElements.create("payment",{layout:"tabs"}),n=this.el.querySelector(".zonos--payment-component");n?(o.mount(n),o.on("change",(o=>{e.stripePaymentEventData=o})),e.stripePaymentElement=o):console.error("Cannot find container element for paymentElement")}componentDidLoad(){this.watchInitStripe()}render(){return n(s,{class:"zonos--payment zonos--elements"},this.titleText&&n("zonos-text",{class:"zonos--title",type:"semiBoldLabel"},this.titleText),n("div",{class:"zonos--payment-component"}))}get el(){return t(this)}static get watchers(){return{stripeElements:["watchInitStripe"],stripe:["watchInitStripe"]}}};a.style=".sc-zonos-payment-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-payment-h *.sc-zonos-payment{font-family:var(--font-family, Inter), Inter}.sc-zonos-payment-h img.sc-zonos-payment{max-width:100%}.sc-zonos-payment-h dl.sc-zonos-payment,.sc-zonos-payment-h dd.sc-zonos-payment,.sc-zonos-payment-h h1.sc-zonos-payment,.sc-zonos-payment-h h2.sc-zonos-payment,.sc-zonos-payment-h h3.sc-zonos-payment,.sc-zonos-payment-h h4.sc-zonos-payment,.sc-zonos-payment-h h5.sc-zonos-payment,.sc-zonos-payment-h h6.sc-zonos-payment,.sc-zonos-payment-h hr.sc-zonos-payment,.sc-zonos-payment-h figure.sc-zonos-payment,.sc-zonos-payment-h p.sc-zonos-payment,.sc-zonos-payment-h pre.sc-zonos-payment{margin:0}.sc-zonos-payment-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-payment-h .zonos--title.sc-zonos-payment{margin-bottom:var(--amino-space-16)}";export{a as zonos_payment}
1
+ import{r as o,h as n,H as s,d as t}from"./p-cf8aaa17.js";import{s as e}from"./p-c6ed3777.js";import"./p-77a7929b.js";import"./p-99c9bd01.js";import"./p-8bbad467.js";import"./p-e1de2a1f.js";const a=class{constructor(n){o(this,n),this.titleText=void 0,this.stripe=e.stripe,this.stripeElements=e.stripeElements}watchInitStripe(){if(!this.stripeElements)return;const o=e.stripePaymentElement||this.stripeElements.create("payment",{layout:"tabs"}),n=this.el.querySelector(".zonos--payment-component");n?(o.mount(n),o.on("change",(o=>{e.stripePaymentEventData=o})),e.stripePaymentElement=o):console.error("Cannot find container element for paymentElement")}componentDidLoad(){this.watchInitStripe()}render(){return n(s,{class:"zonos--payment zonos--elements"},this.titleText&&n("zonos-text",{class:"zonos--title",type:"semiBoldLabel"},this.titleText),n("div",{class:"zonos--payment-component"}))}get el(){return t(this)}static get watchers(){return{stripeElements:["watchInitStripe"],stripe:["watchInitStripe"]}}};a.style=".sc-zonos-payment-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-payment-h *.sc-zonos-payment{font-family:var(--font-family, Inter), Inter}.sc-zonos-payment-h img.sc-zonos-payment{max-width:100%}.sc-zonos-payment-h dl.sc-zonos-payment,.sc-zonos-payment-h dd.sc-zonos-payment,.sc-zonos-payment-h h1.sc-zonos-payment,.sc-zonos-payment-h h2.sc-zonos-payment,.sc-zonos-payment-h h3.sc-zonos-payment,.sc-zonos-payment-h h4.sc-zonos-payment,.sc-zonos-payment-h h5.sc-zonos-payment,.sc-zonos-payment-h h6.sc-zonos-payment,.sc-zonos-payment-h hr.sc-zonos-payment,.sc-zonos-payment-h figure.sc-zonos-payment,.sc-zonos-payment-h p.sc-zonos-payment,.sc-zonos-payment-h pre.sc-zonos-payment{margin:0}.sc-zonos-payment-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-payment-h .zonos--title.sc-zonos-payment{margin-bottom:var(--amino-space-16)}";export{a as zonos_payment}
@@ -1 +1 @@
1
- import{r as o,h as s,F as t,H as c}from"./p-cf8aaa17.js";import{k as e,c as n,h as i,g as a,s as h,l as r,j as l,m as u,d,n as z,o as m,e as k}from"./p-3379ee13.js";import{a as p,l as g,t as f}from"./p-e3c617a4.js";import{z as v,m as b}from"./p-77a7929b.js";import{s as w,i as y}from"./p-17bc1266.js";import{c as x}from"./p-b4b7f705.js";import{g as C}from"./p-e1de2a1f.js";import{i as B}from"./p-8bbad467.js";const I='<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="https://www.w3.org/2000/svg">\n<path fill-rule="evenodd" clip-rule="evenodd" d="M2.25 4.5C2.25 3.25736 3.25736 2.25 4.5 2.25H13.5C14.7426 2.25 15.75 3.25736 15.75 4.5V10.5C15.75 11.7426 14.7426 12.75 13.5 12.75H8.25C8.01393 12.75 7.79164 12.8611 7.65 13.05L6.3 14.85C5.87508 15.4166 5.2082 15.75 4.5 15.75C3.25736 15.75 2.25 14.7426 2.25 13.5V4.5ZM4.5 3.75C4.08579 3.75 3.75 4.08579 3.75 4.5V13.5C3.75 13.9142 4.08579 14.25 4.5 14.25C4.73607 14.25 4.95836 14.1389 5.1 13.95L6.45 12.15C6.87492 11.5834 7.5418 11.25 8.25 11.25H13.5C13.9142 11.25 14.25 10.9142 14.25 10.5V4.5C14.25 4.08579 13.9142 3.75 13.5 3.75H4.5ZM5.25 6C5.25 5.58579 5.58579 5.25 6 5.25H12C12.4142 5.25 12.75 5.58579 12.75 6C12.75 6.41421 12.4142 6.75 12 6.75H6C5.58579 6.75 5.25 6.41421 5.25 6ZM5.25 9C5.25 8.58579 5.58579 8.25 6 8.25H8.25C8.66421 8.25 9 8.58579 9 9C9 9.41421 8.66421 9.75 8.25 9.75H6C5.58579 9.75 5.25 9.41421 5.25 9Z" fill="#4D505A"/>\n</svg>\n',j='<svg color="var(--amino-gray-800)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z" data-is-secondary-color="true" fill="var(--amino-gray-200)" fill-rule="evenodd"></path><path clip-rule="evenodd" d="M8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>',L=class{constructor(s){o(this,s),this.applyStripeTheme=async()=>{var o,s,t;const c=(null===(o=this.appearanceSettingsOverride)||void 0===o?void 0:o.theme)||v.appearance.theme;await e({overrideBorderRaidus:null===(s=this.appearanceSettingsOverride)||void 0===s?void 0:s.style,overridePrimaryColor:null===(t=this.appearanceSettingsOverride)||void 0===t?void 0:t.colorPrimary,overrideTheme:this.isMobile?c:void 0})},this.isShippableCountry=(o=!0)=>!(!p.localizationLoaded||!p.isShippableCountry&&(o&&g("Checkout: not shippable country"),1)),this.getCurrentLocalePageEnum=()=>{switch(n.step){case"customer-info":return"checkout_customer_info";case"shipping":return"checkout_shipping_info";case"payment":return"checkout_payment_info";default:return null}},this.appearanceSettingsOverride=void 0,this.preview=!1,this.mobile=!1,this.defaultAddress=null,this.forceDialogOpen=!1,this.open=this.forceDialogOpen,this.stripe=window.Zonos.stripe,this.submitLoading=!1,this.paymentError=!1,this.collapseReviewMobile=!1,this.isAttachError=!1,this.isMobile=!1,this.zonosReviewRef=void 0,this.storybookPaymentStatusOverride=void 0}async initCartInfoHandler(o){i(o.detail)}async closeDialogHandler(){w("zonos-checkout-close"),this.open=this.forceDialogOpen||!1,this.preview||"finish"!==n.step||a(),n.step="customer-info"}async buildCartAndInit(){if(v.checkoutSettings.buildCartDetail){g("build cart detail");const o=await v.checkoutSettings.buildCartDetail();await i(o)}if(!h.clientSecret){const o=await r();if(g(`stripeStoreInitCheckoutSession: ${o}`),!o)return!1}return await this.applyStripeTheme(),!0}attachCheckout(){const o=v.checkoutSettings.placeOrderButtonSelector;o&&document.querySelectorAll(o).forEach((o=>{o.getAttribute("data-zonos-checkout-attached")||(o.addEventListener("click",(async o=>{if(this.isShippableCountry()){o.preventDefault(),o.stopPropagation(),g("zonos checkout button clicked"),h.isFetchingSession=!0,this.open=!0;try{if(!await this.buildCartAndInit())throw new Error("Error building cart");w("zonos-checkout-start")}catch(o){h.isFetchingSession=!1,l({messages:[f("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:f("Error creating Checkout")})}}})),o.setAttribute("data-zonos-checkout-attached","true"))}))}appearanceSettingsOverrideChanged(){this.appearanceSettingsOverride&&this.applyStripeTheme()}async init(){h.stripe=window.Zonos.stripe,this.stripe=window.Zonos.stripe;const o=setInterval((()=>{const s=window.Zonos.internationalHideSelector;if(!s)return void clearInterval(o);const t=this.isShippableCountry(!1),c=document.querySelectorAll(s);t?null==c||c.forEach((o=>{const s=o;s.setAttribute("data-zonos-checkout-original-display",s.style.display),s.style.display="none"})):null==c||c.forEach((o=>{const s=o,t=s.getAttribute("data-zonos-checkout-original-display")||getComputedStyle(s).display;s.style.display=t||"initial"}))}),100),s=setInterval((()=>{h.stripe=window.Zonos.stripe,this.stripe=window.Zonos.stripe,this.stripe?(this.storybookPaymentStatusOverride||(g("init checkout"),this.preview||this.forceDialogOpen?this.buildCartAndInit():(this.attachCheckout(),setInterval((()=>{this.attachCheckout()}),50))),clearInterval(s)):g("waiting for stripe to be loaded")}),50);setTimeout((()=>{clearInterval(s)}),1e4)}async setToFinishStep(o){n.step="finish",this.storybookPaymentStatusOverride=o}async handleCustomerInfoContinue(){this.submitLoading=!0,await u();const o=setInterval((()=>{!n.landedCostData&&h.isFetchingLandedCost||(n.landedCostData&&d(),this.submitLoading=!1,clearInterval(o))}),500)}async handleShippingContinue(){this.submitLoading=!0,setTimeout((()=>{d(),this.submitLoading=!1}),500)}async handleCheckoutPaymentContinue(){this.paymentError=!1,this.submitLoading=!0;try{await z(),d()}catch(o){console.error(o),this.paymentError=!0}this.submitLoading=!1}async handleFinishClick(){if(m(),this.preview)return n.step="customer-info",void await this.init();a();const o=window.location.href.split("?")[0];window.history.replaceState({},document.title,o),this.open=!1}async handleBackClick(){"customer-info"!==n.step?k():await this.closeDialogHandler()}handleWindowResize(){this.isMobile=y(this.mobile),this.applyStripeTheme(),g(`mobile: ${this.isMobile}`)}handleMobileChange(){this.isMobile=y(this.mobile),this.applyStripeTheme(),g(`mobile: ${this.isMobile}`)}componentWillLoad(){this.init(),this.isMobile=y(this.mobile),g(`mobile: ${this.isMobile}`)}disconnectedCallback(){m(),a()}render(){var o;const e="finish"!==n.step&&"error"!==n.step&&!h.stripeElements||h.isFetchingSession,{colorPrimary:i,colorSecondary:a,logoUrl:r,style:l}=b(v.appearance,this.appearanceSettingsOverride),u="ENABLED"===v.appearance.zonosAttribution,d=v.appearance.theme,z=i&&B(i)?"DARK":"LIGHT",m=this.isMobile?d:z,k=this.isMobile?void 0:a,{customMessages:g}=p,w=(null===(o=g.find((o=>"checkout_default"===o.pageName)))||void 0===o?void 0:o.message)||"Know about duties and taxes before you buy. Shop with confidence!",y=this.getCurrentLocalePageEnum(),L=g.filter((o=>o.pageName===y)),H=()=>s("div",{class:"zonos--logo"},r&&s("img",{alt:`${v.organizationName} logo`,src:r,width:100})),S=()=>s("zonos-v-stack",null,H(),L.map((o=>s("zonos-custom-message",{icon:I,message:o.message}))),s("div",null,s("zonos-button",{class:"zonos--back-button",icon:s("zonos-icon",{content:'<svg color="var(--amino-gray-800)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M9.707 16.707a1 1 0 0 1-1.414 0l-3.647-3.646a1.5 1.5 0 0 1 0-2.122l3.647-3.646a1 1 0 0 1 1.414 1.414L7.414 11H19a1 1 0 1 1 0 2H7.414l2.293 2.293a1 1 0 0 1 0 1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>'}),noBackground:!0,noPaddingLeft:!0,noPaddingRight:!0,onClick:()=>this.handleBackClick(),theme:m},f("Back")))),M=()=>u&&s("div",{class:"zonos--footer","data-theme":d},s("zonos-text",{type:"hintText"},f("Powered by")),s("zonos-logo",{theme:d,width:"100px"})),T=()=>{var o;const c=this.isMobile?"primary":void 0,e=null===(o=this.zonosReviewRef)||void 0===o?void 0:o.scrollHeight;return s("div",{class:"zonos--content",style:{"--border-radius":C(l)}},"finish"!==n.step&&"error"!==n.step&&s(t,null,s("div",{class:"zonos--left","data-theme":m,style:{"--primary-color":this.isMobile?"":i}},!this.isMobile&&S(),"customer-info"===n.step&&s("zonos-customer-info",{continueLoading:this.submitLoading,defaultAddress:this.defaultAddress,onContinueClicked:()=>this.handleCustomerInfoContinue(),submitBtnColor:k,submitBtnType:c}),"shipping"===n.step&&s("zonos-shipping",{continueLoading:this.submitLoading,onContinueClicked:()=>this.handleShippingContinue(),submitBtnColor:k,submitBtnType:c}),"payment"===n.step&&s("zonos-checkout-payment",{continueLoading:this.submitLoading,onContinueClicked:()=>this.handleCheckoutPaymentContinue(),paymentError:this.paymentError,submitBtnColor:k,submitBtnType:c})),s("div",{class:"zonos--right","data-theme":d},this.isMobile&&S(),!this.isMobile&&s("zonos-button",{class:"zonos--close-button",icon:s("zonos-icon",{content:j}),noBackground:!0,onClick:()=>this.closeDialogHandler()}),s("div",{class:"flex--wrapper"},s("div",{class:"zonos--wrapper"},s("zonos-collapse",{collapseSize:e,collapsed:this.collapseReviewMobile&&this.isMobile},s("zonos-review",{collapsed:this.collapseReviewMobile,mobile:this.isMobile,onClick:()=>{this.isMobile&&(this.collapseReviewMobile=!this.collapseReviewMobile)},ref:o=>this.zonosReviewRef=o}),s("zonos-cart-items",null))),s("zonos-v-stack",{spacing:16},s("zonos-cart-subtotal",null),s("zonos-custom-message",{class:"zonos--checkout-default-message",icon:I,message:w}))),!this.isMobile&&M()),this.isMobile&&M()),("finish"===n.step||"error"===n.step)&&s("div",{class:"zonos--done","data-theme":d},s("div",{class:"zonos--header"},H(),s("zonos-button",{class:"zonos--close-button",icon:s("zonos-icon",{content:j}),noBackground:!0,onClick:()=>this.handleFinishClick(),theme:d})),s("zonos-checkout-finish",{borderRadius:l,onCloseClick:()=>this.handleFinishClick(),overrideNotification:"error"===n.step&&n.error?Object.assign(Object.assign({},n.error),{type:"error"}):void 0,storybookForceStatus:this.storybookPaymentStatusOverride})))};return s(c,{class:x(["zonos--checkout zonos--elements",u&&"has-footer",this.preview&&"preview",this.isMobile&&"mobile"])},this.preview?T():s("zonos-dialog",{borderStyle:l,"data-theme":d,height:"980px",isLoading:e,mobile:this.isMobile,noBodyPadding:!0,noBorder:!0,noClickOutside:!0,noCloseButton:!0,onCloseDialog:()=>this.closeDialogHandler(),open:this.open,width:"1200px"},T()))}static get assetsDirs(){return["assets"]}static get watchers(){return{appearanceSettingsOverride:["appearanceSettingsOverrideChanged"],mobile:["handleMobileChange"]}}};L.style=".sc-zonos-checkout-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-h *.sc-zonos-checkout{font-family:var(--font-family, Inter), Inter}.sc-zonos-checkout-h img.sc-zonos-checkout{max-width:100%}.sc-zonos-checkout-h dl.sc-zonos-checkout,.sc-zonos-checkout-h dd.sc-zonos-checkout,.sc-zonos-checkout-h h1.sc-zonos-checkout,.sc-zonos-checkout-h h2.sc-zonos-checkout,.sc-zonos-checkout-h h3.sc-zonos-checkout,.sc-zonos-checkout-h h4.sc-zonos-checkout,.sc-zonos-checkout-h h5.sc-zonos-checkout,.sc-zonos-checkout-h h6.sc-zonos-checkout,.sc-zonos-checkout-h hr.sc-zonos-checkout,.sc-zonos-checkout-h figure.sc-zonos-checkout,.sc-zonos-checkout-h p.sc-zonos-checkout,.sc-zonos-checkout-h pre.sc-zonos-checkout{margin:0}.sc-zonos-checkout-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar{width:10px}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-track{background:var(--amino-gray-50)}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;height:100%;overflow:hidden;border-radius:var(--border-radius, var(--amino-radius-10))}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex:1;flex:1;padding:var(--amino-space-48) var(--amino-space-56)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{background-color:var(--primary-color, var(--amino-gray-0));border-right:1px solid var(--amino-gray-200)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{background-color:var(--amino-gray-0);padding-bottom:var(--amino-space-80)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:100%;max-height:100%;height:100%;overflow:auto;-ms-flex-direction:column;flex-direction:column;background-color:var(--amino-gray-0);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:var(--amino-space-24);padding-bottom:50px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;width:100%}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout img.sc-zonos-checkout{width:150px;min-width:150px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--logo.sc-zonos-checkout{margin-bottom:0}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout zonos-checkout-finish.sc-zonos-checkout{-ms-flex:1;flex:1}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--back-button.sc-zonos-checkout{margin-bottom:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{padding:0 var(--amino-space-8) var(--amino-space-8)}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--payment-error-banner.sc-zonos-checkout{margin-top:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout{position:relative}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout .zonos--close-button.sc-zonos-checkout{position:absolute;right:var(--amino-space-24);top:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--footer.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;position:absolute;bottom:var(--amino-space-32);right:var(--amino-space-56);gap:var(--amino-space-8)}.sc-zonos-checkout-h .zonos--wrapper.sc-zonos-checkout{overflow:auto;max-height:100%;position:relative}.sc-zonos-checkout-h .flex--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:100%}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:var(--amino-space-76);margin-bottom:var(--amino-space-8)}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{border:var(--amino-border)}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{padding:var(--amino-space-32)}.mobile.sc-zonos-checkout-h{min-width:auto}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;border-radius:0;max-height:100%;height:100%;border:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding:var(--amino-space-12)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{-ms-flex-order:2;order:2}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex-order:1;order:1;padding-top:var(--amino-space-16)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--amino-space-16);margin-top:var(--amino-space-24);border:var(--amino-border);border-radius:var(--border-radius, var(--amino-radius-10));background-color:var(--amino-gray-50);padding:var(--amino-space-12);margin-top:var(--amino-space-32)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{max-height:100%}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:auto}.mobile.sc-zonos-checkout-h .zonos--cart-subtotal.sc-zonos-checkout{margin:0}.mobile.sc-zonos-checkout-h .zonos--footer.sc-zonos-checkout{bottom:0;left:0;padding:var(--amino-space-12);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:var(--amino-gray-0)}";export{L as zonos_checkout}
1
+ import{r as o,h as s,F as t,H as c}from"./p-cf8aaa17.js";import{k as e,c as n,h as i,g as a,s as h,l as r,j as l,m as u,d,n as z,o as m,e as k}from"./p-c6ed3777.js";import{a as p,l as g,t as f}from"./p-99c9bd01.js";import{z as v,m as b}from"./p-77a7929b.js";import{s as w,i as y}from"./p-f0f9c43a.js";import{c as x}from"./p-b4b7f705.js";import{g as C}from"./p-e1de2a1f.js";import{i as B}from"./p-8bbad467.js";const I='<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="https://www.w3.org/2000/svg">\n<path fill-rule="evenodd" clip-rule="evenodd" d="M2.25 4.5C2.25 3.25736 3.25736 2.25 4.5 2.25H13.5C14.7426 2.25 15.75 3.25736 15.75 4.5V10.5C15.75 11.7426 14.7426 12.75 13.5 12.75H8.25C8.01393 12.75 7.79164 12.8611 7.65 13.05L6.3 14.85C5.87508 15.4166 5.2082 15.75 4.5 15.75C3.25736 15.75 2.25 14.7426 2.25 13.5V4.5ZM4.5 3.75C4.08579 3.75 3.75 4.08579 3.75 4.5V13.5C3.75 13.9142 4.08579 14.25 4.5 14.25C4.73607 14.25 4.95836 14.1389 5.1 13.95L6.45 12.15C6.87492 11.5834 7.5418 11.25 8.25 11.25H13.5C13.9142 11.25 14.25 10.9142 14.25 10.5V4.5C14.25 4.08579 13.9142 3.75 13.5 3.75H4.5ZM5.25 6C5.25 5.58579 5.58579 5.25 6 5.25H12C12.4142 5.25 12.75 5.58579 12.75 6C12.75 6.41421 12.4142 6.75 12 6.75H6C5.58579 6.75 5.25 6.41421 5.25 6ZM5.25 9C5.25 8.58579 5.58579 8.25 6 8.25H8.25C8.66421 8.25 9 8.58579 9 9C9 9.41421 8.66421 9.75 8.25 9.75H6C5.58579 9.75 5.25 9.41421 5.25 9Z" fill="#4D505A"/>\n</svg>\n',j='<svg color="var(--amino-gray-800)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z" data-is-secondary-color="true" fill="var(--amino-gray-200)" fill-rule="evenodd"></path><path clip-rule="evenodd" d="M8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>',L=class{constructor(s){o(this,s),this.applyStripeTheme=async()=>{var o,s,t;const c=(null===(o=this.appearanceSettingsOverride)||void 0===o?void 0:o.theme)||v.appearance.theme;await e({overrideBorderRaidus:null===(s=this.appearanceSettingsOverride)||void 0===s?void 0:s.style,overridePrimaryColor:null===(t=this.appearanceSettingsOverride)||void 0===t?void 0:t.colorPrimary,overrideTheme:this.isMobile?c:void 0})},this.isShippableCountry=(o=!0)=>!(!p.localizationLoaded||!p.isShippableCountry&&(o&&g("Checkout: not shippable country"),1)),this.getCurrentLocalePageEnum=()=>{switch(n.step){case"customer-info":return"checkout_customer_info";case"shipping":return"checkout_shipping_info";case"payment":return"checkout_payment_info";default:return null}},this.appearanceSettingsOverride=void 0,this.preview=!1,this.mobile=!1,this.defaultAddress=null,this.forceDialogOpen=!1,this.open=this.forceDialogOpen,this.stripe=window.Zonos.stripe,this.submitLoading=!1,this.paymentError=!1,this.collapseReviewMobile=!1,this.isAttachError=!1,this.isMobile=!1,this.zonosReviewRef=void 0,this.storybookPaymentStatusOverride=void 0}async initCartInfoHandler(o){i(o.detail)}async closeDialogHandler(){w("zonos-checkout-close"),this.open=this.forceDialogOpen||!1,this.preview||"finish"!==n.step||a(),n.step="customer-info"}async buildCartAndInit(){if(v.checkoutSettings.buildCartDetail){g("build cart detail");const o=await v.checkoutSettings.buildCartDetail();await i(o)}if(!h.clientSecret){const o=await r();if(g(`stripeStoreInitCheckoutSession: ${o}`),!o)return!1}return await this.applyStripeTheme(),!0}attachCheckout(){const o=v.checkoutSettings.placeOrderButtonSelector;o&&document.querySelectorAll(o).forEach((o=>{o.getAttribute("data-zonos-checkout-attached")||(o.addEventListener("click",(async o=>{if(this.isShippableCountry()){o.preventDefault(),o.stopPropagation(),g("zonos checkout button clicked"),h.isFetchingSession=!0,this.open=!0;try{if(!await this.buildCartAndInit())throw new Error("Error building cart");w("zonos-checkout-start")}catch(o){h.isFetchingSession=!1,l({messages:[f("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists")],title:f("Error creating Checkout")})}}})),o.setAttribute("data-zonos-checkout-attached","true"))}))}appearanceSettingsOverrideChanged(){this.appearanceSettingsOverride&&this.applyStripeTheme()}async init(){h.stripe=window.Zonos.stripe,this.stripe=window.Zonos.stripe;const o=setInterval((()=>{const s=window.Zonos.internationalHideSelector;if(!s)return void clearInterval(o);const t=this.isShippableCountry(!1),c=document.querySelectorAll(s);t?null==c||c.forEach((o=>{const s=o;s.setAttribute("data-zonos-checkout-original-display",s.style.display),s.style.display="none"})):null==c||c.forEach((o=>{const s=o,t=s.getAttribute("data-zonos-checkout-original-display")||getComputedStyle(s).display;s.style.display=t||"initial"}))}),100),s=setInterval((()=>{h.stripe=window.Zonos.stripe,this.stripe=window.Zonos.stripe,this.stripe?(this.storybookPaymentStatusOverride||(g("init checkout"),this.preview||this.forceDialogOpen?this.buildCartAndInit():(this.attachCheckout(),setInterval((()=>{this.attachCheckout()}),50))),clearInterval(s)):g("waiting for stripe to be loaded")}),50);setTimeout((()=>{clearInterval(s)}),1e4)}async setToFinishStep(o){n.step="finish",this.storybookPaymentStatusOverride=o}async handleCustomerInfoContinue(){this.submitLoading=!0,await u();const o=setInterval((()=>{!n.landedCostData&&h.isFetchingLandedCost||(n.landedCostData&&d(),this.submitLoading=!1,clearInterval(o))}),500)}async handleShippingContinue(){this.submitLoading=!0,setTimeout((()=>{d(),this.submitLoading=!1}),500)}async handleCheckoutPaymentContinue(){this.paymentError=!1,this.submitLoading=!0;try{await z(),d()}catch(o){console.error(o),this.paymentError=!0}this.submitLoading=!1}async handleFinishClick(){if(m(),this.preview)return n.step="customer-info",void await this.init();a();const o=window.location.href.split("?")[0];window.history.replaceState({},document.title,o),this.open=!1}async handleBackClick(){"customer-info"!==n.step?k():await this.closeDialogHandler()}handleWindowResize(){this.isMobile=y(this.mobile),this.applyStripeTheme(),g(`mobile: ${this.isMobile}`)}handleMobileChange(){this.isMobile=y(this.mobile),this.applyStripeTheme(),g(`mobile: ${this.isMobile}`)}componentWillLoad(){this.init(),this.isMobile=y(this.mobile),g(`mobile: ${this.isMobile}`)}disconnectedCallback(){m(),a()}render(){var o;const e="finish"!==n.step&&"error"!==n.step&&!h.stripeElements||h.isFetchingSession,{colorPrimary:i,colorSecondary:a,logoUrl:r,style:l}=b(v.appearance,this.appearanceSettingsOverride),u="ENABLED"===v.appearance.zonosAttribution,d=v.appearance.theme,z=i&&B(i)?"DARK":"LIGHT",m=this.isMobile?d:z,k=this.isMobile?void 0:a,{customMessages:g}=p,w=(null===(o=g.find((o=>"checkout_default"===o.pageName)))||void 0===o?void 0:o.message)||"Know about duties and taxes before you buy. Shop with confidence!",y=this.getCurrentLocalePageEnum(),L=g.filter((o=>o.pageName===y)),H=()=>s("div",{class:"zonos--logo"},r&&s("img",{alt:`${v.organizationName} logo`,src:r,width:100})),S=()=>s("zonos-v-stack",null,H(),L.map((o=>s("zonos-custom-message",{icon:I,message:o.message}))),s("div",null,s("zonos-button",{class:"zonos--back-button",icon:s("zonos-icon",{content:'<svg color="var(--amino-gray-800)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M9.707 16.707a1 1 0 0 1-1.414 0l-3.647-3.646a1.5 1.5 0 0 1 0-2.122l3.647-3.646a1 1 0 0 1 1.414 1.414L7.414 11H19a1 1 0 1 1 0 2H7.414l2.293 2.293a1 1 0 0 1 0 1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>'}),noBackground:!0,noPaddingLeft:!0,noPaddingRight:!0,onClick:()=>this.handleBackClick(),theme:m},f("Back")))),M=()=>u&&s("div",{class:"zonos--footer","data-theme":d},s("zonos-text",{type:"hintText"},f("Powered by")),s("zonos-logo",{theme:d,width:"100px"})),T=()=>{var o;const c=this.isMobile?"primary":void 0,e=null===(o=this.zonosReviewRef)||void 0===o?void 0:o.scrollHeight;return s("div",{class:"zonos--content",style:{"--border-radius":C(l)}},"finish"!==n.step&&"error"!==n.step&&s(t,null,s("div",{class:"zonos--left","data-theme":m,style:{"--primary-color":this.isMobile?"":i}},!this.isMobile&&S(),"customer-info"===n.step&&s("zonos-customer-info",{continueLoading:this.submitLoading,defaultAddress:this.defaultAddress,onContinueClicked:()=>this.handleCustomerInfoContinue(),submitBtnColor:k,submitBtnType:c}),"shipping"===n.step&&s("zonos-shipping",{continueLoading:this.submitLoading,onContinueClicked:()=>this.handleShippingContinue(),submitBtnColor:k,submitBtnType:c}),"payment"===n.step&&s("zonos-checkout-payment",{continueLoading:this.submitLoading,onContinueClicked:()=>this.handleCheckoutPaymentContinue(),paymentError:this.paymentError,submitBtnColor:k,submitBtnType:c})),s("div",{class:"zonos--right","data-theme":d},this.isMobile&&S(),!this.isMobile&&s("zonos-button",{class:"zonos--close-button",icon:s("zonos-icon",{content:j}),noBackground:!0,onClick:()=>this.closeDialogHandler()}),s("div",{class:"flex--wrapper"},s("div",{class:"zonos--wrapper"},s("zonos-collapse",{collapseSize:e,collapsed:this.collapseReviewMobile&&this.isMobile},s("zonos-review",{collapsed:this.collapseReviewMobile,mobile:this.isMobile,onClick:()=>{this.isMobile&&(this.collapseReviewMobile=!this.collapseReviewMobile)},ref:o=>this.zonosReviewRef=o}),s("zonos-cart-items",null))),s("zonos-v-stack",{spacing:16},s("zonos-cart-subtotal",null),s("zonos-custom-message",{class:"zonos--checkout-default-message",icon:I,message:w}))),!this.isMobile&&M()),this.isMobile&&M()),("finish"===n.step||"error"===n.step)&&s("div",{class:"zonos--done","data-theme":d},s("div",{class:"zonos--header"},H(),s("zonos-button",{class:"zonos--close-button",icon:s("zonos-icon",{content:j}),noBackground:!0,onClick:()=>this.handleFinishClick(),theme:d})),s("zonos-checkout-finish",{borderRadius:l,onCloseClick:()=>this.handleFinishClick(),overrideNotification:"error"===n.step&&n.error?Object.assign(Object.assign({},n.error),{type:"error"}):void 0,storybookForceStatus:this.storybookPaymentStatusOverride})))};return s(c,{class:x(["zonos--checkout zonos--elements",u&&"has-footer",this.preview&&"preview",this.isMobile&&"mobile"])},this.preview?T():s("zonos-dialog",{borderStyle:l,"data-theme":d,height:"980px",isLoading:e,mobile:this.isMobile,noBodyPadding:!0,noBorder:!0,noClickOutside:!0,noCloseButton:!0,onCloseDialog:()=>this.closeDialogHandler(),open:this.open,width:"1200px"},T()))}static get assetsDirs(){return["assets"]}static get watchers(){return{appearanceSettingsOverride:["appearanceSettingsOverrideChanged"],mobile:["handleMobileChange"]}}};L.style=".sc-zonos-checkout-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-h *.sc-zonos-checkout{font-family:var(--font-family, Inter), Inter}.sc-zonos-checkout-h img.sc-zonos-checkout{max-width:100%}.sc-zonos-checkout-h dl.sc-zonos-checkout,.sc-zonos-checkout-h dd.sc-zonos-checkout,.sc-zonos-checkout-h h1.sc-zonos-checkout,.sc-zonos-checkout-h h2.sc-zonos-checkout,.sc-zonos-checkout-h h3.sc-zonos-checkout,.sc-zonos-checkout-h h4.sc-zonos-checkout,.sc-zonos-checkout-h h5.sc-zonos-checkout,.sc-zonos-checkout-h h6.sc-zonos-checkout,.sc-zonos-checkout-h hr.sc-zonos-checkout,.sc-zonos-checkout-h figure.sc-zonos-checkout,.sc-zonos-checkout-h p.sc-zonos-checkout,.sc-zonos-checkout-h pre.sc-zonos-checkout{margin:0}.sc-zonos-checkout-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar{width:10px}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-track{background:var(--amino-gray-50)}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;height:100%;overflow:hidden;border-radius:var(--border-radius, var(--amino-radius-10))}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex:1;flex:1;padding:var(--amino-space-48) var(--amino-space-56)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{background-color:var(--primary-color, var(--amino-gray-0));border-right:1px solid var(--amino-gray-200)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{background-color:var(--amino-gray-0);padding-bottom:var(--amino-space-80)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:100%;max-height:100%;height:100%;overflow:auto;-ms-flex-direction:column;flex-direction:column;background-color:var(--amino-gray-0);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:var(--amino-space-24);padding-bottom:50px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;width:100%}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout img.sc-zonos-checkout{width:150px;min-width:150px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--logo.sc-zonos-checkout{margin-bottom:0}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout zonos-checkout-finish.sc-zonos-checkout{-ms-flex:1;flex:1}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--back-button.sc-zonos-checkout{margin-bottom:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{padding:0 var(--amino-space-8) var(--amino-space-8)}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--payment-error-banner.sc-zonos-checkout{margin-top:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout{position:relative}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout .zonos--close-button.sc-zonos-checkout{position:absolute;right:var(--amino-space-24);top:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--footer.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;position:absolute;bottom:var(--amino-space-32);right:var(--amino-space-56);gap:var(--amino-space-8)}.sc-zonos-checkout-h .zonos--wrapper.sc-zonos-checkout{overflow:auto;max-height:100%;position:relative}.sc-zonos-checkout-h .flex--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:100%}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:var(--amino-space-76);margin-bottom:var(--amino-space-8)}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{border:var(--amino-border)}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{padding:var(--amino-space-32)}.mobile.sc-zonos-checkout-h{min-width:auto}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;border-radius:0;max-height:100%;height:100%;border:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding:var(--amino-space-12)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{-ms-flex-order:2;order:2}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex-order:1;order:1;padding-top:var(--amino-space-16)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--amino-space-16);margin-top:var(--amino-space-24);border:var(--amino-border);border-radius:var(--border-radius, var(--amino-radius-10));background-color:var(--amino-gray-50);padding:var(--amino-space-12);margin-top:var(--amino-space-32)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{max-height:100%}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:auto}.mobile.sc-zonos-checkout-h .zonos--cart-subtotal.sc-zonos-checkout{margin:0}.mobile.sc-zonos-checkout-h .zonos--footer.sc-zonos-checkout{bottom:0;left:0;padding:var(--amino-space-12);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:var(--amino-gray-0)}";export{L as zonos_checkout}
@@ -1 +1 @@
1
- import{r as o,c as t,h as n,H as e}from"./p-cf8aaa17.js";import{s as i}from"./p-3379ee13.js";import{h as s,b as a,i as r,l as c,c as l,d}from"./p-e3c617a4.js";import{z as h,d as u,e as m}from"./p-77a7929b.js";import"./p-8bbad467.js";import"./p-e1de2a1f.js";const f=class{constructor(n){o(this,n),this.stripeInitEvent=t(this,"stripeInitEvent",7),this.disablePlaceOrderButtons=({disable:o})=>{const t=h.checkoutSettings.placeOrderButtonSelector;if(!t)return;const n=o=>{o.target.getAttribute("disabled")&&(o.preventDefault(),o.stopPropagation())},e=document.querySelectorAll(t);e.forEach((t=>{o?(t.setAttribute("disabled","true"),t.addEventListener("click",n)):(t.removeAttribute("disabled"),t.removeEventListener("click",n))})),o&&setTimeout((()=>{e.forEach((o=>{o.removeAttribute("disabled"),o.removeEventListener("click",n)}))}),5e3)},this.config=void 0,this.zonosApiKey=void 0}async initCheckoutElement(o){var t;o?(i.stripe=o,(t=h.checkoutSettings).placeOrderButtonSelector&&(r(t.placeOrderButtonSelector)?(()=>{if(!document.querySelector("zonos-checkout")){const o=document.createElement("zonos-checkout");document.body.appendChild(o)}})():a(`Selector checkoutButtonAnchor "${t.placeOrderButtonSelector}" is not a valid selector`)),c("init checkout element"),this.disablePlaceOrderButtons({disable:!1})):c("Stripe is not loaded yet - cannot init checkout element","warn")}initZonosNotification(){if(document.querySelector("zonos-notification"))return;const o=document.createElement("zonos-notification");document.body.appendChild(o)}async setupGoogleFont(o){var t,n;const e=o||m();if("Inter"===e){if(!o)return;c("[FONT] Just applied Inter , but no need to inject since we already inject Inter on start","warn"),h.appearance=Object.assign(Object.assign({},h.appearance),{fontFamily:o})}const{errors:i,json:a}=await s(`https://v1.route.js.zonos.com/api/get-font-detail?family=${e}`);i.length>0||!a?c(`Failed to load font ${e}`,"warn"):(null===(n=(t=window.Zonos).injectSupportGoogleFont)||void 0===n||n.call(t,a.fontUrl),o&&(c(`[FONT] ${o} font override applied`),h.appearance=Object.assign(Object.assign({},h.appearance),{fontFamily:o})))}async componentWillLoad(){h.zonosApiKey=this.zonosApiKey,(async()=>{var o,t;const{errors:n,json:e}=await(async()=>{const{errors:o,json:t}=await s("https://v1.route.js.zonos.com/api/zonos-setting");return o.length?(a("Error occurs when getting zonos settings. If this is not an unauthorized error, it will use user setting or default setting"),{errors:o,json:null}):{errors:[],json:t}})();if("403"===(null===(o=n[0])||void 0===o?void 0:o.type.toString()))return void c("Failed to load zonos settings. This domain may not have access","warn");this.disablePlaceOrderButtons({disable:!0}),this.initZonosNotification(),u({overrideSettings:this.config,zonosSettings:e}),this.setupGoogleFont(),h.helloSettings&&(async o=>{const{anchorElementSelector:t}=o;if(!t||!r(t))return void a(`Selector anchorElementSelector "${o.anchorElementSelector}" is not a valid selector.`);const n=document.querySelector(t);c("Hello init complete"),(o=>{if(!document.querySelector("zonos-hello")&&o){const t=document.createElement("zonos-hello");o.appendChild(t)}})(n)})(h.helloSettings),await l();const i=(null===(t=null==e?void 0:e.checkoutSettings)||void 0===t?void 0:t.externalServiceTokens.find((o=>"STRIPE_PUBLISHABLE_TOKEN"===o.type)))||null;if(i&&this.stripeInitEvent){if("INACTIVE"===h.checkoutSettings.subscriptionStatus)return c('=== Checkout subscription is "INACTIVE" - Cancel initializing for Checkout ===',"warn"),void c("zonos controller loaded");if("DISABLED"===h.checkoutSettings.visibilityStatus)return c("=== Checkout is disabled by store owner ===","warn"),void c("zonos controller loaded");this.stripeInitEvent.emit({publishableKey:i.token}),c("zonos controller loaded")}else c("Checkout failed to load -- missing publishable key","warn")})()}async showNotification(o){const t=document.querySelector("zonos-notification");t?t.showNotification(o):c("Failed to show notification - zonos-notification not found","warn")}async overrideConfig(o){u({overrideSettings:o,zonosSettings:null})}async overrideCountry(o){d(o)}async getAppearanceSetting(){return h.appearance}render(){return n(e,{class:"zonos--elements"})}};f.style=":host{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{visibility:hidden;opacity:0;height:0}";export{f as zonos_controller}
1
+ import{r as o,c as t,h as n,H as e}from"./p-cf8aaa17.js";import{s as i}from"./p-c6ed3777.js";import{h as s,b as r,i as a,l as c,c as l,d}from"./p-99c9bd01.js";import{z as h,d as u,e as m}from"./p-77a7929b.js";import"./p-8bbad467.js";import"./p-e1de2a1f.js";const f=class{constructor(n){o(this,n),this.stripeInitEvent=t(this,"stripeInitEvent",7),this.disablePlaceOrderButtons=({disable:o})=>{const t=h.checkoutSettings.placeOrderButtonSelector;if(!t)return;const n=o=>{o.target.getAttribute("disabled")&&(o.preventDefault(),o.stopPropagation())},e=document.querySelectorAll(t);e.forEach((t=>{o?(t.setAttribute("disabled","true"),t.addEventListener("click",n)):(t.removeAttribute("disabled"),t.removeEventListener("click",n))})),o&&setTimeout((()=>{e.forEach((o=>{o.removeAttribute("disabled"),o.removeEventListener("click",n)}))}),5e3)},this.config=void 0,this.zonosApiKey=void 0}async initCheckoutElement(o){var t;o?(i.stripe=o,(t=h.checkoutSettings).placeOrderButtonSelector&&(a(t.placeOrderButtonSelector)?(()=>{if(!document.querySelector("zonos-checkout")){const o=document.createElement("zonos-checkout");document.body.appendChild(o)}})():r(`Selector checkoutButtonAnchor "${t.placeOrderButtonSelector}" is not a valid selector`)),c("init checkout element"),this.disablePlaceOrderButtons({disable:!1})):c("Stripe is not loaded yet - cannot init checkout element","warn")}initZonosNotification(){if(document.querySelector("zonos-notification"))return;const o=document.createElement("zonos-notification");document.body.appendChild(o)}async setupGoogleFont(o){var t,n;const e=o||m();if("Inter"===e){if(!o)return;c("[FONT] Just applied Inter , but no need to inject since we already inject Inter on start","warn"),h.appearance=Object.assign(Object.assign({},h.appearance),{fontFamily:o})}const{errors:i,json:r}=await s(`https://v1.route.js.zonos.com/api/get-font-detail?family=${e}`);i.length>0||!r?c(`Failed to load font ${e}`,"warn"):(null===(n=(t=window.Zonos).injectSupportGoogleFont)||void 0===n||n.call(t,r.fontUrl),o&&(c(`[FONT] ${o} font override applied`),h.appearance=Object.assign(Object.assign({},h.appearance),{fontFamily:o})))}async componentWillLoad(){h.zonosApiKey=this.zonosApiKey,(async()=>{var o,t;const{errors:n,json:e}=await(async()=>{const{errors:o,json:t}=await s("https://v1.route.js.zonos.com/api/zonos-setting");return o.length?(r("Error occurs when getting zonos settings. If this is not an unauthorized error, it will use user setting or default setting"),{errors:o,json:null}):{errors:[],json:t}})();if("403"===(null===(o=n[0])||void 0===o?void 0:o.type.toString()))return void c("Failed to load zonos settings. This domain may not have access","warn");this.disablePlaceOrderButtons({disable:!0}),this.initZonosNotification(),u({overrideSettings:this.config,zonosSettings:e}),this.setupGoogleFont(),h.helloSettings&&(async o=>{const{anchorElementSelector:t}=o;if(!t||!a(t))return void r(`Selector anchorElementSelector "${o.anchorElementSelector}" is not a valid selector.`);const n=document.querySelector(t);c("Hello init complete"),(o=>{if(!document.querySelector("zonos-hello")&&o){const t=document.createElement("zonos-hello");o.appendChild(t)}})(n)})(h.helloSettings),await l();const i=(null===(t=null==e?void 0:e.checkoutSettings)||void 0===t?void 0:t.externalServiceTokens.find((o=>"STRIPE_PUBLISHABLE_TOKEN"===o.type)))||null;if(i&&this.stripeInitEvent){if("INACTIVE"===h.checkoutSettings.subscriptionStatus)return c('=== Checkout subscription is "INACTIVE" - Cancel initializing for Checkout ===',"warn"),void c("zonos controller loaded");if("DISABLED"===h.checkoutSettings.visibilityStatus)return c("=== Checkout is disabled by store owner ===","warn"),void c("zonos controller loaded");this.stripeInitEvent.emit({publishableKey:i.token}),c("zonos controller loaded")}else c("Checkout failed to load -- missing publishable key","warn")})()}async showNotification(o){const t=document.querySelector("zonos-notification");t?t.showNotification(o):c("Failed to show notification - zonos-notification not found","warn")}async overrideConfig(o){u({overrideSettings:o,zonosSettings:null})}async overrideCountry(o){d(o)}async getAppearanceSetting(){return h.appearance}render(){return n(e,{class:"zonos--elements"})}};f.style=":host{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{visibility:hidden;opacity:0;height:0}";export{f as zonos_controller}