@zonos/elements 1.3.41 → 1.3.43

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 (150) hide show
  1. package/dist/cjs/{cart-497bb434.js → cart-558e4d21.js} +409 -52
  2. package/dist/cjs/index.cjs.js +21 -7
  3. package/dist/cjs/{paypal-e65a287a.js → paypal-276d8f92.js} +1 -1
  4. package/dist/cjs/{sendErrorLog-c3c315a9.js → sendErrorLog-f914a34b.js} +1 -1
  5. package/dist/cjs/zonos-address_8.cjs.entry.js +1 -1
  6. package/dist/cjs/zonos-cart-items_12.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 +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 +4 -4
  11. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +43 -9
  12. package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
  13. package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
  14. package/dist/cjs/zonos-notification_3.cjs.entry.js +2 -2
  15. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +3 -3
  16. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +6 -1
  17. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +42 -8
  18. package/dist/collection/components/store/hello/localization.js +5 -5
  19. package/dist/collection/components/store/translationStore/strings.arabic.js +20 -2
  20. package/dist/collection/components/store/translationStore/strings.base.js +20 -2
  21. package/dist/collection/components/store/translationStore/strings.chinese.js +20 -2
  22. package/dist/collection/components/store/translationStore/strings.danish.js +20 -2
  23. package/dist/collection/components/store/translationStore/strings.dutch.js +20 -2
  24. package/dist/collection/components/store/translationStore/strings.french.js +20 -2
  25. package/dist/collection/components/store/translationStore/strings.german.js +20 -2
  26. package/dist/collection/components/store/translationStore/strings.hebrew.js +20 -2
  27. package/dist/collection/components/store/translationStore/strings.indonesian.js +20 -2
  28. package/dist/collection/components/store/translationStore/strings.italian.js +20 -2
  29. package/dist/collection/components/store/translationStore/strings.japanese.js +20 -2
  30. package/dist/collection/components/store/translationStore/strings.korean.js +20 -2
  31. package/dist/collection/components/store/translationStore/strings.norwegian.js +20 -2
  32. package/dist/collection/components/store/translationStore/strings.polish.js +20 -2
  33. package/dist/collection/components/store/translationStore/strings.portuguese.js +20 -2
  34. package/dist/collection/components/store/translationStore/strings.russian.js +20 -2
  35. package/dist/collection/components/store/translationStore/strings.spanish.js +20 -2
  36. package/dist/collection/components/store/translationStore/strings.swedish.js +20 -2
  37. package/dist/collection/components/store/translationStore/strings.turkish.js +20 -2
  38. package/dist/collection/components/store/translationStore/strings.vietnamese.js +20 -2
  39. package/dist/collection/components/utils/handleFetch.js +0 -6
  40. package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +4 -1
  41. package/dist/collection/environment.js +6 -0
  42. package/dist/collection/scripts/_getNextFallbackUrl.js +1 -1
  43. package/dist/collection/scripts/_getZonosQaUrl.js +12 -1
  44. package/dist/collection/scripts/_zonosBase.js +4 -1
  45. package/dist/collection/types/generated/graphql.customer.types.js +19 -10
  46. package/dist/esm/{cart-f53c9f90.js → cart-c62e41b5.js} +409 -52
  47. package/dist/esm/index.js +21 -7
  48. package/dist/esm/{paypal-72296ae6.js → paypal-28d21865.js} +1 -1
  49. package/dist/esm/{sendErrorLog-f8d3ec4b.js → sendErrorLog-af1cd4bd.js} +1 -1
  50. package/dist/esm/zonos-address_8.entry.js +1 -1
  51. package/dist/esm/zonos-cart-items_12.entry.js +3 -3
  52. package/dist/esm/zonos-checkout.entry.js +3 -3
  53. package/dist/esm/zonos-controller.entry.js +1 -1
  54. package/dist/esm/zonos-country-flag.entry.js +1 -1
  55. package/dist/esm/zonos-country-select_4.entry.js +4 -4
  56. package/dist/esm/zonos-hello-dialog.entry.js +43 -9
  57. package/dist/esm/zonos-hello.entry.js +1 -1
  58. package/dist/esm/zonos-language-select_2.entry.js +1 -1
  59. package/dist/esm/zonos-notification_3.entry.js +2 -2
  60. package/dist/esm-es5/cart-c62e41b5.js +1 -0
  61. package/dist/esm-es5/index.js +1 -1
  62. package/dist/esm-es5/{paypal-72296ae6.js → paypal-28d21865.js} +1 -1
  63. package/dist/esm-es5/{sendErrorLog-f8d3ec4b.js → sendErrorLog-af1cd4bd.js} +1 -1
  64. package/dist/esm-es5/zonos-address_8.entry.js +1 -1
  65. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  66. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  67. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  68. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  69. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  70. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  71. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  72. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  73. package/dist/esm-es5/zonos-notification_3.entry.js +1 -1
  74. package/dist/scripts/index.d.ts +62 -52
  75. package/dist/scripts/index.js +1 -1
  76. package/dist/scripts/loadZonos.js +1 -1
  77. package/dist/scripts/zonos.js +1 -1
  78. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +2 -1
  79. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +1 -0
  80. package/dist/types/components/store/hello/localization.d.ts +2 -2
  81. package/dist/types/components/store/translationStore/strings.arabic.d.ts +19 -1
  82. package/dist/types/components/store/translationStore/strings.base.d.ts +19 -1
  83. package/dist/types/components/store/translationStore/strings.chinese.d.ts +19 -1
  84. package/dist/types/components/store/translationStore/strings.danish.d.ts +19 -1
  85. package/dist/types/components/store/translationStore/strings.dutch.d.ts +19 -1
  86. package/dist/types/components/store/translationStore/strings.french.d.ts +19 -1
  87. package/dist/types/components/store/translationStore/strings.german.d.ts +19 -1
  88. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +19 -1
  89. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +19 -1
  90. package/dist/types/components/store/translationStore/strings.italian.d.ts +19 -1
  91. package/dist/types/components/store/translationStore/strings.japanese.d.ts +19 -1
  92. package/dist/types/components/store/translationStore/strings.korean.d.ts +19 -1
  93. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +19 -1
  94. package/dist/types/components/store/translationStore/strings.polish.d.ts +19 -1
  95. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +19 -1
  96. package/dist/types/components/store/translationStore/strings.russian.d.ts +19 -1
  97. package/dist/types/components/store/translationStore/strings.spanish.d.ts +19 -1
  98. package/dist/types/components/store/translationStore/strings.swedish.d.ts +19 -1
  99. package/dist/types/components/store/translationStore/strings.turkish.d.ts +19 -1
  100. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +19 -1
  101. package/dist/types/components/store/translationStore.d.ts +1 -1
  102. package/dist/types/components/utils/api/getInclusivePricing.d.ts +2 -4
  103. package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
  104. package/dist/types/components.d.ts +3 -1
  105. package/dist/types/environment.d.ts +4 -0
  106. package/dist/types/scripts/_getNextFallbackUrl.d.ts +3 -3
  107. package/dist/types/types/LogLoadScriptRequestBody.d.ts +1 -1
  108. package/dist/types/types/generated/graphql.customer.types.d.ts +45 -13
  109. package/dist/types/types/generated/graphql.customer.types.ts +47 -18
  110. package/dist/types/types/generated/graphql.frontend.types.d.ts +1 -1
  111. package/dist/types/types/generated/graphql.frontend.types.ts +1 -1
  112. package/dist/zonos-elements/index.esm.js +1 -1
  113. package/dist/zonos-elements/{p-fd54fbb9.system.entry.js → p-01961795.system.entry.js} +1 -1
  114. package/dist/zonos-elements/p-0e9ca72b.system.js +1 -0
  115. package/dist/zonos-elements/p-0edd8829.system.js +1 -0
  116. package/dist/zonos-elements/p-21b38377.entry.js +1 -0
  117. package/dist/zonos-elements/{p-de53d9c3.entry.js → p-2a655e55.entry.js} +1 -1
  118. package/dist/zonos-elements/{p-5fe10991.system.entry.js → p-3754f86b.system.entry.js} +1 -1
  119. package/dist/zonos-elements/{p-4db5be24.system.entry.js → p-387bc4f0.system.entry.js} +1 -1
  120. package/dist/zonos-elements/{p-ab11cca6.system.entry.js → p-437fd543.system.entry.js} +1 -1
  121. package/dist/zonos-elements/{p-df69fa38.system.entry.js → p-4d5cafb1.system.entry.js} +1 -1
  122. package/dist/zonos-elements/{p-52fa9aab.entry.js → p-4fb3cbad.entry.js} +1 -1
  123. package/dist/zonos-elements/{p-f35ee203.entry.js → p-622cd68a.entry.js} +1 -1
  124. package/dist/zonos-elements/{p-c4617501.entry.js → p-695fdbca.entry.js} +1 -1
  125. package/dist/zonos-elements/{p-67f22fbf.system.entry.js → p-6a3e8101.system.entry.js} +1 -1
  126. package/dist/zonos-elements/{p-d86c89e3.entry.js → p-71815183.entry.js} +1 -1
  127. package/dist/zonos-elements/p-75a6d31d.entry.js +1 -0
  128. package/dist/zonos-elements/{p-1ee2fa70.system.entry.js → p-77de5f08.system.entry.js} +1 -1
  129. package/dist/zonos-elements/{p-b3e825dc.system.js → p-7ab0cfbf.system.js} +1 -1
  130. package/dist/zonos-elements/{p-5922c099.entry.js → p-8855805d.entry.js} +1 -1
  131. package/dist/zonos-elements/{p-b689309d.system.entry.js → p-89c9cd2d.system.entry.js} +1 -1
  132. package/dist/zonos-elements/p-c78dd680.system.js +1 -1
  133. package/dist/zonos-elements/{p-05cdd3b4.js → p-c887765b.js} +1 -1
  134. package/dist/zonos-elements/{p-6de1c78a.entry.js → p-ceb9be2b.entry.js} +1 -1
  135. package/dist/zonos-elements/{p-6fbb4565.system.entry.js → p-d027eef2.system.entry.js} +1 -1
  136. package/dist/zonos-elements/{p-12266c9e.js → p-dba42d88.js} +1 -1
  137. package/dist/zonos-elements/p-e68503df.js +1 -0
  138. package/dist/zonos-elements/p-e88d33a6.system.js +1 -0
  139. package/dist/zonos-elements/{p-7833fa53.system.entry.js → p-eadd9525.system.entry.js} +1 -1
  140. package/dist/zonos-elements/{p-fdb4347f.entry.js → p-f97d6d55.entry.js} +1 -1
  141. package/dist/zonos-elements/zonos-elements.css +1 -1
  142. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  143. package/package.json +9 -2
  144. package/dist/esm-es5/cart-f53c9f90.js +0 -1
  145. package/dist/zonos-elements/p-0f9804e3.entry.js +0 -1
  146. package/dist/zonos-elements/p-1a89c54a.js +0 -1
  147. package/dist/zonos-elements/p-678f1888.entry.js +0 -1
  148. package/dist/zonos-elements/p-79fd4f3c.system.js +0 -1
  149. package/dist/zonos-elements/p-9525cc44.system.js +0 -1
  150. package/dist/zonos-elements/p-c460665d.system.js +0 -1
@@ -1 +1 @@
1
- (function(){"use strict";"function"==typeof SuppressedError&&SuppressedError;const e=async({response:e,shouldLog:o=!0,shouldThrow:t=!1})=>{try{return await e.json()}catch(e){if(t)throw e;return o&&console.error(e),null}};const o=async(o,t)=>{const n=(function(e,o){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&o.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)o.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(t[n[r]]=e[n[r]])}return t})(t||{},[]),r=n.body?JSON.stringify(n.body):void 0,s=n.method||"GET",i=new URL(o);i.searchParams.set("zToken",(function(e){try{return btoa(e).replace(/=/g,"")}catch(o){return e.replace(/[^A-Za-z0-9]/g,"").split("").reverse().join("")}})(window.location.hostname));const a=Object.assign({"Content-Type":"application/json","Zonos-Is-BigCommerce":window.Zonos.isBigCommerce.toString(),"Zonos-Referer":window.location.hostname,"Zonos-Version":window.Zonos.version,credentialtoken:window.Zonos.zonosApiKey||"Empty credential token from zonos-elements"},n.headers),l=Object.assign(Object.assign({},n),{body:"GET"===s?void 0:r,headers:a,method:s});return(async(o,t)=>{let n;try{n=await fetch(o,t)}catch(e){return e instanceof Error?{errors:[{message:e.message,type:"unknown"}],json:null,response:null,zonosMode:null}:{errors:[{message:"Fail to fetch",type:"unknown"}],json:null,response:null,zonosMode:null}}const r=n.headers.get("Zonos-Mode"),s=window.Zonos.zonosQaUrl;if(!window.Zonos.modeAlerted&&r&&s&&("production"===r&&alert("Please be aware that you are currently operating in the production environment. Any interactions with the customer store, including payments, will be processed as real transactions!"),"test"===r&&alert("For testing payments, you can utilize the test payment information provided at this link: https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements#web-test-the-integration"),window.Zonos.modeAlerted=!0),n.ok)return{errors:[],json:await e({response:n}),response:n,zonosMode:r};const i=n.status.toString();try{const o=await e({response:n,shouldThrow:!0});return{errors:[{message:JSON.stringify(o),type:i}],json:null,response:n,zonosMode:r}}catch(e){return{errors:[{message:`${i}: Unknown error`,type:i}],json:null,response:null,zonosMode:r}}})(i.toString(),l)},t=(e,o,...t)=>{var n,r;if(!(!!(null===(n=window.Zonos)||void 0===n?void 0:n.debug)||!!window.location.search.match(/\?.*(&*)zonosDebug=1/)))return void("error"===o&&console.error(e,...t));let s=document.querySelector("iframe#zonos---debug-logging-iframe");s||(s=document.createElement("iframe"),s.id="zonos---debug-logging-iframe",s.style.display="none",s.style.opacity="0",s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.width="1px",s.style.height="1px",s.style.border="none",s.style.overflow="hidden",s.style.visibility="hidden",document.body.appendChild(s));const i=(null===(r=s.contentWindow)||void 0===r?void 0:r.window.console)||window.console;switch(o){case"warn":i.warn(e,...t);break;case"info":i.info(e,...t);break;case"error":i.error(e,...t);break;default:i.groupCollapsed(e,...t),i.trace(),i.groupEnd()}},n=(e,...o)=>{t(e,"error",...o)},r=async({endpoint:e,errors:t,metadata:n})=>{const r="userAgentData"in window.navigator?window.navigator.userAgentData:null,s={endpoint:e,errors:t,metadata:Object.assign({href:window.location.href,userAgent:r&&r.brands.length>0?r:window.navigator.userAgent},n)};o("https://v1.route.js.zonos.com/api/zonos-elements/log-error",{body:s,method:"POST"})},s=({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const o=new URL(e).origin,t=["dev.elements.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some((e=>o.includes(e))),n=["qa.js.zonos.com"].some((e=>o.includes(e)));return{currentLoadScriptUrl:o,isForceLoadVersionDomain:n,isWhiteListed:t}},i=["jsdelivr","unpkg","vercel"],a=e=>{const o=i.indexOf(e);return i[o+1]||null},l=()=>{if("undefined"==typeof window)return null;const e=(e=>{if(!e)return null;const o=new URL(e).searchParams.get("zonosQaUrl");return o?/[^a-zA-Z0-9-_]+/.test(o)?null:o:null})(window.location.href);if(!e&&"dev.demo.elements.zonos.com"===window.location.hostname)return"https://dev.elements.zonos.com";if(!e)return null;if("dev-elements"===e)return"https://dev.elements.zonos.com";const o=`https://${e}.preview.js.zonos.com`;return t(`[ZONOS-WARNING] using '${o}' for loading script`,"warn"),fetch(o).then((()=>{window.sessionStorage.removeItem("zonos--checkout-session-id"),window.sessionStorage.removeItem("zonos--client-secret")})).catch((()=>{alert(`[ZONOS-WARNING] '${o}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);const e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");const{pathname:t}=window.location,n=`${t}?${e.toString()}`;return window.history.replaceState(window.history.state,"",n),window.location.reload(),null})),o},c="https://js.stripe.com/v3",d=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,p="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used";let u=null;const m=e=>(null!==u||(u=new Promise(((o,t)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&e&&console.warn(p),window.Stripe)o(window.Stripe);else try{let r=(()=>{const e=document.querySelectorAll(`script[src^="${c}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&d.test(t.src))return t}return null})();r&&e?console.warn(p):r||(r=(e=>{const o=document.createElement("script");o.src=`${c}`;const t=document.head||document.body;return t?(t.appendChild(o),o):(n("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})()),null==r||r.addEventListener("load",(()=>{window.Stripe?o(window.Stripe):t(new Error("Stripe.js not available"))})),null==r||r.addEventListener("error",(()=>{t(new Error("Failed to load Stripe.js"))}))}catch(e){return void t(e)}else o(null)}))),u),h=Promise.resolve().then((()=>m(null)));let y=!1;h.catch((e=>{y||console.warn(e)}));var g;const w=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:o,isWhiteListed:t}=s({loadScriptSrc:null==e?void 0:e.src});return t?o:null})(),f="https://v1.3.41.js.zonos.com",v=w||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.41",S="jsdelivr",z="https://rsms.me",b="https://fonts.googleapis.com",C=/^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;let j=class{};var L;g=j,j.doneInit=!1,j.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),j.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),j._paypalMockResponse=null,j.isBigCommerce=!1,j.isNpm=!0,j.zonosQaUrl=null,j.version="v1.3.41",j.modeAlerted=!1,j.tempCartData=null,j.paypal=null,j.getCurrentTimestamp=()=>(new Date).getTime(),j.zonosController=null,j.init=async({appearance:e,checkoutSettings:o,currencyConverter:r,helloSettings:s,onCountryChange:i,overrideCurrencyFormat:a,storeId:l,zonosApiKey:c})=>{g.doneInit||(t(`====== ZONOS DEBUG MODE: on (${g.version}) ======`),c?(g.zonosApiKey=c,g.storeId=l,t("init zonos"),g.injectZonosCdn(),g.injectZonosCss(),g.injectFonts(),g.injectController({config:{appearance:e,checkoutSettings:o,currencyConverter:r,helloSettings:s,onCountryChange:i,overrideCurrencyFormat:a},zonosApiKey:c}),g.doneInit=!0):n("Missing Zonos API key"))},j.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},j.openHelloDialog=e=>{const o=document.querySelector("zonos-hello");o&&o.openHelloDialog(null==e||e)},j.showNotification=e=>{var o;null===(o=g.zonosController)||void 0===o||o.showNotification(e)},j.updateOrganizationName=e=>{var o;null===(o=g.zonosController)||void 0===o||o.updateOrganizationName(e)},j.disablePlaceOrderButtons=({autoEnable:e=!0,config:o,disable:t,placeOrderButtonSelector:n})=>{var r;if(!(null===(r=o.checkoutSettings)||void 0===r?void 0:r.disablePlaceOrderButtonActivation)&&n){const o=document.querySelectorAll(n),r=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};o.forEach((e=>{e.getAttribute("data-zonos-checkout-attached")||(t?(e.setAttribute("disabled","true"),e.addEventListener("click",r)):(e.removeAttribute("disabled"),e.removeEventListener("click",r)))})),e&&t&&setTimeout((()=>{o.forEach((e=>{e.removeAttribute("disabled"),e.removeEventListener("click",r)}))}),5e3)}},j.injectController=({config:e,zonosApiKey:o})=>{var r;if(document.querySelector("zonos-controller"))return;if(null===(r=e.checkoutSettings)||void 0===r?void 0:r.placeOrderButtonSelector){const o=e.checkoutSettings.placeOrderButtonSelector;g.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o});new MutationObserver((()=>{g.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o})})).observe(document.body,{childList:!0,subtree:!0})}const s=document.createElement("zonos-controller");s.config=e,s.zonosApiKey=o,s.addEventListener("stripeInitEvent",(async e=>{const{detail:o}=e;t("loading Stripe");const r=await(async(...e)=>{y=!0;const o=Date.now();return h.then((t=>((e,o,t)=>{if(null===e)return null;const n=e.apply(void 0,o);return((e,o)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:o})})(n,t),n})(t,e,o)))})(o.publishableKey);r?(window.Zonos.stripe=r,s.initCheckoutElement(r)):n("API seems to be invalid or missing. Failed to load Stripe")})),document.body.appendChild(s),g.zonosController=s,t("Zonos controller injected!")},j.injectScript=({cdnType:e,isModule:o,theRestUrl:r})=>{const s=`${g.getZonosUrl(e)}/${r}`;if(document.querySelector(`script[src="${s}"]`))return void t(`Zonos script "${s}" already exists in the document`,"warn");const i=document.head||document.body,l=document.createElement("script");o?l.type="module":l.noModule=!0,l.src=s,l.crossOrigin="anonymous",l.onerror=()=>{n(`Failed to load ${l.src}`);const t=a(e);t&&g.injectScript({cdnType:t,isModule:o,theRestUrl:r})},i.appendChild(l)},j.getZonosUrl=e=>{const o=()=>{switch(e){case"jsdelivr":return v;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.41";default:return f}};if(g.isNpm){return l()||o()}return o()},j.injectZonosCdn=()=>{g.injectScript({cdnType:S,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),g.injectScript({cdnType:S,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),t("Zonos cdn script injected!")},j.injectStylesheet=({cdnType:e,theRestUrl:o})=>{const t=g.getZonosUrl(e),r=document.head||document.body,s=document.createElement("link");s.rel="preconnect",s.href=`${f}/`,r.appendChild(s);const i=document.createElement("link");i.rel="stylesheet",i.href=`${t}/${o}`,i.onerror=()=>{n(`Failed to load ${i.href}`);const t=a(e);t&&g.injectStylesheet({cdnType:t,theRestUrl:o})},r.appendChild(i)},j.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?t("Zonos style links already injected","warn"):(g.injectStylesheet({cdnType:S,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),t("Zonos style css injected!"))},j.injectFonts=()=>{if((()=>{const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${z}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&!C.test(t.href))return t}return null})())return void t("Inter font already injected","warn");const e=document.head||document.body,o=document.createElement("link");o.rel="preconnect",o.href=z,e.appendChild(o);const n=document.createElement("link");n.rel="stylesheet",n.href=`${z}/inter/inter.css`,e.appendChild(n),t("Zonos font injected!")},j.setupGoogleFont=e=>{var o;null===(o=g.zonosController)||void 0===o||o.setupGoogleFont(e)},j.injectSupportGoogleFont=e=>{var o;t(`[FONT] injecting ${e}`);const n=null===(o=e.match(/family=(.*?):/))||void 0===o?void 0:o[1],r=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${b}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=b,r.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${e}"]`))return void t(`[FONT] ${n} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=e,r.appendChild(s),t(`[FONT] ${n} font injected!`)};const O=l();class U{static get isNpm(){return!1}}L=U,U.isBigCommerce=!1,U.requested=!1,U.zonosQaUrl=null,U.tempCartData=null,U.zonosApiKey=null,U.isLegacyCheckout=!1,U.legacyStoreLogo=null,U.legacyStoreFavicon=null,U.parallelLoadTimes=[],U.paralellLoadState="off",U.loadScriptLogHandler=async({cdnLoadTime:e,fallbackLoadTime:o,isError:t,metadata:n,scriptLoadUrl:r,storeId:s,type:i})=>{try{const e=window.performance.getEntriesByType("resource").find((e=>{const o=e;return o.name.includes(r)&&"script"===o.initiatorType}));null==e||e.transferSize;(async e=>{})((e&&(null==e?void 0:e.duration)>0?parseFloat(e.duration.toFixed(2)):parseFloat(o.toFixed(2)),Object.assign({decodedBodySize:null==e?void 0:e.decodedBodySize,encodedBodySize:null==e?void 0:e.encodedBodySize,fallbackLoadTime:o,isError:!!t},n)))}catch(e){}},U.loadScriptLogParallelHandler=async e=>{try{if(L.parallelLoadTimes.push(e),2===L.parallelLoadTimes.length){const e=L.parallelLoadTimes.find((e=>"vercel"===e.type)),o=L.parallelLoadTimes.find((e=>"jsdelivr"===e.type));if(!e||!o)return;if(e.isError&&o.isError)return void r({endpoint:`<${e.scriptLoadUrl}> <${o.scriptLoadUrl}>`,errors:["Failed to fetch both Vercel and jsdelivr CDN. Perhaps network issue on customer site."],metadata:{cdnLoadTime:o.fallbackLoadTime,cdnType:o.type,vercelLoadTime:e.fallbackLoadTime}});L.loadScriptLogHandler({cdnLoadTime:o.fallbackLoadTime,fallbackLoadTime:e.fallbackLoadTime,isError:e.isError,metadata:{cdnScriptFallbackTime:o.fallbackLoadTime,cdnScriptIsError:!!o.isError,cdnScriptLoadUrl:o.scriptLoadUrl,cdnScriptType:o.type},scriptLoadUrl:e.scriptLoadUrl,storeId:e.storeId,type:e.type})}}catch(e){}},U.legacyCheckoutErrorHandler=({message:e,tempCartUUID:o})=>{n(`[ZONOS - loadZonos] ${e}`),r({endpoint:"LegacyCheckoutInit",errors:[e],metadata:{tempCartUUID:o}}),document.dispatchEvent(new CustomEvent("legacyCheckoutError",{detail:e}))},U.getGithubCdn=({type:e,version:o})=>{let t="https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.41";"unpkg"===e&&(t="https://unpkg.com/@zonos/elements@1.3.41");return o&&"alpha"!==o?t.replace(/@zonos\/elements@(.+)/,`@zonos/elements@${o}`):t},U.injectZonos=({cdnType:e=S,initConfig:o,parallelLoaded:n,vercelUrl:s,version:l})=>{var c;const d="vercel"===e?s:L.getGithubCdn({type:e,version:l}),p=O||d,u=p.replace("https://","").replace("http://",""),m=document.createElement("script"),h=l&&l<"1.2.5"?"loadZonos.js":"zonos.js";m.src=`https://${u}/dist/scripts/${h}`,t(`[ZONOS - loadZonos] Injecting "${h}" from "${u}"`,"info");const y="4g"===(null===(c=(()=>{const e="connection"in window.navigator?window.navigator.connection:null,o="mozConnection"in window.navigator?window.navigator.mozConnection:null,t="webkitConnection"in window.navigator?window.navigator.webkitConnection:null;return e||o||t})())||void 0===c?void 0:c.effectiveType),g=["dev.elements.zonos.com","zonos.com"].some((e=>window.location.href.includes(e))),w=i[0]===e,f=i[1],v="on"===L.paralellLoadState&&y&&w&&f&&!g;v&&L.injectZonos({cdnType:f,initConfig:o,parallelLoaded:!0,vercelUrl:s,version:l});const z=performance.now();m.addEventListener("load",(()=>{if(v||n?L.loadScriptLogParallelHandler({fallbackLoadTime:performance.now()-z,scriptLoadUrl:m.src,storeId:L.storeId,type:e}):L.loadScriptLogHandler({fallbackLoadTime:performance.now()-z,scriptLoadUrl:m.src,storeId:L.storeId,type:e}),L.isBigCommerce||(L.isBigCommerce=!!window.stencilBootstrap||!!window.bcConfig||!!document.querySelector('script[src*="bigcommerce.com"]')),window.Zonos.isNpm=!1,window.Zonos.zonosQaUrl=O,window.Zonos.isBigCommerce=L.isBigCommerce,L.isLegacyCheckout){if(!L.zonosApiKey)throw L.legacyCheckoutErrorHandler({message:"zonosApiKey is required for legacy checkout",tempCartUUID:o.tempCartUUID}),new Error("zonosApiKey is required for legacy checkout");if(!L.tempCartData)throw L.legacyCheckoutErrorHandler({message:"tempCartData is required for legacy checkout",tempCartUUID:o.tempCartUUID}),new Error("zonosApiKey is required for legacy checkout");if(L.legacyStoreFavicon){const e=document.createElement("link");e.rel="shortcut icon",e.type="image/x-icon",e.href=L.legacyStoreFavicon,document.head.appendChild(e)}window.Zonos.tempCartData=L.tempCartData;const e=Object.assign(Object.assign({},o),{appearance:Object.assign(Object.assign({},o.appearance),{logoUrl:L.legacyStoreLogo||""}),checkoutSettings:Object.assign(Object.assign({},o.checkoutSettings),{successBehavior:"ZONOS_SUCCESS_PAGE",successRedirectUrl:L.tempCartData.contShoppingURL}),zonosApiKey:L.zonosApiKey});o=e}window.Zonos.version&&(t(`[ZONOS - loadZonos] Execute "Zonos.init" from "${h}" from "${u}"`,"info"),window.Zonos.init(o))})),m.addEventListener("error",(async()=>{if(!v&&!n){const t=a(e);if(!t)return;L.injectZonos({cdnType:t,initConfig:o,vercelUrl:s,version:l})}if(["localhost",".zonos.com"].some((e=>window.location.href.includes(e)))||O)return;if(v||n)return void L.loadScriptLogParallelHandler({fallbackLoadTime:performance.now()-z,isError:!0,scriptLoadUrl:m.src,storeId:L.storeId,type:e});["unpkg","vercel"].includes(e)?r({endpoint:m.src,errors:[`zonos.js - Failed to fetch ${e} CDN.`],metadata:{cdnLoadTime:performance.now()-z,cdnType:e,loadUrl:p,version:l}}):r({endpoint:m.src,errors:["[Info] Using alternative CDN. Failed to fetch script"],metadata:{cdnType:e,vercelLoadTime:performance.now()-z}})})),document.head.appendChild(m)},U.setupCartData=async e=>{const r=await(async e=>{const{errors:t,json:n}=await o("https://v1.route.js.zonos.com/api/bigcommerce/legacy-migration/get-temp-cart",{body:{tempCartUUID:e},headers:{"Content-Type":"application/json"},method:"POST"});return!n||t.length?null:n})(e);if(t("[ZONOS - loadZonos] getting temp cart data","info",r),!r)throw n("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process."),L.legacyCheckoutErrorHandler({message:"Error getting temp cart data",tempCartUUID:e}),new Error("Error getting temp cart data");return L.tempCartData=r.tempCart,L.legacyStoreLogo=r.storeLogoUrl,L.legacyStoreFavicon=r.storeFaviconUrl,{storeId:r.tempCart.storeId,zonosApiKey:r.zonosApiKey}},U.init=async e=>{var r;const i="https://v1.3.41.js.zonos.com",a=document.querySelector('script[src*="/zonos.js"]'),l=null===(r=document.querySelector("script[src*='/loadZonos.js']"))||void 0===r?void 0:r.src,c=null==l?void 0:l.includes("timestamp=");if(!(L.isNpm||l&&c))return void n("[ZONOS - loadZonos] A timestamp is required as a query parameter in the loadZonos.js script source. This timestamp ensures that you are loading the most recent version of the script, avoiding any cached versions.");if(a||!l||L.requested)return void t("[ZONOS - loadZonos] script is already loaded or requested","info");L.requested=!0;let d=e.storeId;if(e.tempCartUUID){const o=await L.setupCartData(e.tempCartUUID);d=o.storeId,L.zonosApiKey=o.zonosApiKey,L.isLegacyCheckout=!0}if(!d)return t("[ZONOS - loadZonos] loading latest script since storeId is not provided."),void L.injectZonos({initConfig:e,vercelUrl:i,version:null});L.storeId=d;const p=new URL("https://v1.route.js.zonos.com/api/get-store-version");p.searchParams.set("storeId",e.storeId.toString());const{errors:u,json:m}=await o(p.toString());if(u.length||!m)return t("[ZONOS - loadZonos] Error getting store version, loading the latest version.","error"),void L.injectZonos({initConfig:e,vercelUrl:i,version:null});const{version:h}=m;if(!a){const{currentLoadScriptUrl:o,isForceLoadVersionDomain:n,isWhiteListed:r}=s({loadScriptSrc:l}),i=r&&!n?o:`${"alpha"===h?"alpha":`v${h}`}.js.zonos.com`,a=r&&!n?null:h;t("[ZONOS - loadZonos] injecting zonos script","info",{currentLoadScriptUrl:o,isForceLoadVersionDomain:n,isWhiteListed:r,loadUrl:i,loadVersion:a,version:h}),L.injectZonos({initConfig:e,vercelUrl:i,version:a})}},void 0===window.Zonos&&(window.Zonos=U)})();
1
+ (function(){"use strict";"function"==typeof SuppressedError&&SuppressedError;const e=async({response:e,shouldLog:o=!0,shouldThrow:t=!1})=>{try{return await e.json()}catch(e){if(t)throw e;return o&&console.error(e),null}};const o=async(o,t)=>{const n=(function(e,o){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&o.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)o.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(t[n[r]]=e[n[r]])}return t})(t||{},[]),r=n.body?JSON.stringify(n.body):void 0,s=n.method||"GET",i=new URL(o);i.searchParams.set("zToken",(function(e){try{return btoa(e).replace(/=/g,"")}catch(o){return e.replace(/[^A-Za-z0-9]/g,"").split("").reverse().join("")}})(window.location.hostname));const a=Object.assign({"Content-Type":"application/json","Zonos-Is-BigCommerce":window.Zonos.isBigCommerce.toString(),"Zonos-Referer":window.location.hostname,"Zonos-Version":window.Zonos.version,credentialtoken:window.Zonos.zonosApiKey||"Empty credential token from zonos-elements"},n.headers),c=Object.assign(Object.assign({},n),{body:"GET"===s?void 0:r,headers:a,method:s});return(async(o,t)=>{let n;try{n=await fetch(o,t)}catch(e){return e instanceof Error?{errors:[{message:e.message,type:"unknown"}],json:null,response:null,zonosMode:null}:{errors:[{message:"Fail to fetch",type:"unknown"}],json:null,response:null,zonosMode:null}}const r=n.headers.get("Zonos-Mode"),s=window.Zonos.zonosQaUrl;if(!window.Zonos.modeAlerted&&r&&s&&(window.Zonos.modeAlerted=!0),n.ok)return{errors:[],json:await e({response:n}),response:n,zonosMode:r};const i=n.status.toString();try{const o=await e({response:n,shouldThrow:!0});return{errors:[{message:JSON.stringify(o),type:i}],json:null,response:n,zonosMode:r}}catch(e){return{errors:[{message:`${i}: Unknown error`,type:i}],json:null,response:null,zonosMode:r}}})(i.toString(),c)},t=(e,o,...t)=>{var n,r;if(!(!!(null===(n=window.Zonos)||void 0===n?void 0:n.debug)||!!window.location.search.match(/\?.*(&*)zonosDebug=1/)))return void("error"===o&&console.error(e,...t));let s=document.querySelector("iframe#zonos---debug-logging-iframe");s||(s=document.createElement("iframe"),s.id="zonos---debug-logging-iframe",s.style.display="none",s.style.opacity="0",s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.width="1px",s.style.height="1px",s.style.border="none",s.style.overflow="hidden",s.style.visibility="hidden",document.body.appendChild(s));const i=(null===(r=s.contentWindow)||void 0===r?void 0:r.window.console)||window.console;switch(o){case"warn":i.warn(e,...t);break;case"info":i.info(e,...t);break;case"error":i.error(e,...t);break;default:i.groupCollapsed(e,...t),i.trace(),i.groupEnd()}},n=(e,...o)=>{t(e,"error",...o)},r=async({endpoint:e,errors:t,metadata:n})=>{const r="userAgentData"in window.navigator?window.navigator.userAgentData:null,s={endpoint:e,errors:t,metadata:Object.assign({href:window.location.href,userAgent:r&&r.brands.length>0?r:window.navigator.userAgent},n)};o("https://v1.route.js.zonos.com/api/zonos-elements/log-error",{body:s,method:"POST"})},s=({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const o=new URL(e).origin,t=["dev.elements.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some((e=>o.includes(e))),n=["qa.js.zonos.com"].some((e=>o.includes(e)));return{currentLoadScriptUrl:o,isForceLoadVersionDomain:n,isWhiteListed:t}},i=["jsdelivr","cdnjs","unpkg","vercel"],a=e=>{const o=i.indexOf(e);return i[o+1]||null},c=()=>{const e=window&&window.location.href.includes("forceLoadCdn");if("undefined"==typeof window||e)return null;const o=(e=>{if(!e)return null;const o=new URL(e).searchParams.get("zonosQaUrl");return o?/[^a-zA-Z0-9-_]+/.test(o)?null:o:null})(window.location.href),n="https://v1.3.43.js.zonos.com";if(!o&&n.includes("test."))return n;if(!o&&"dev.demo.elements.zonos.com"===window.location.hostname)return"https://dev.elements.zonos.com";if(!o)return null;if("dev-elements"===o)return"https://dev.elements.zonos.com";const r=`https://${o}.preview.js.zonos.com`;return t(`[ZONOS-WARNING] using '${r}' for loading script`,"warn"),fetch(r).then((()=>{window.sessionStorage.removeItem("zonos--checkout-session-id"),window.sessionStorage.removeItem("zonos--client-secret")})).catch((()=>{alert(`[ZONOS-WARNING] '${r}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);const e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");const{pathname:o}=window.location,t=`${o}?${e.toString()}`;return window.history.replaceState(window.history.state,"",t),window.location.reload(),null})),r},l="https://js.stripe.com/v3",d=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,p="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used";let u=null;const m=e=>(null!==u||(u=new Promise(((o,t)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&e&&console.warn(p),window.Stripe)o(window.Stripe);else try{let r=(()=>{const e=document.querySelectorAll(`script[src^="${l}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&d.test(t.src))return t}return null})();r&&e?console.warn(p):r||(r=(e=>{const o=document.createElement("script");o.src=`${l}`;const t=document.head||document.body;return t?(t.appendChild(o),o):(n("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})()),null==r||r.addEventListener("load",(()=>{window.Stripe?o(window.Stripe):t(new Error("Stripe.js not available"))})),null==r||r.addEventListener("error",(()=>{t(new Error("Failed to load Stripe.js"))}))}catch(e){return void t(e)}else o(null)}))),u),h=Promise.resolve().then((()=>m(null)));let g=!1;h.catch((e=>{g||console.warn(e)}));var y;const w=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:o,isWhiteListed:t}=s({loadScriptSrc:null==e?void 0:e.src});return t?o:null})(),f="https://v1.3.43.js.zonos.com",v=w||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.43",S="jsdelivr",z="https://rsms.me",j="https://fonts.googleapis.com",C=/^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;let b=class{};var L;y=b,b.doneInit=!1,b.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),b.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),b._paypalMockResponse=null,b.isBigCommerce=!1,b.isNpm=!0,b.zonosQaUrl=null,b.version="v1.3.43",b.modeAlerted=!1,b.tempCartData=null,b.paypal=null,b.getCurrentTimestamp=()=>(new Date).getTime(),b.zonosController=null,b.init=async({appearance:e,checkoutSettings:o,currencyConverter:r,helloSettings:s,onCountryChange:i,overrideCurrencyFormat:a,storeId:c,zonosApiKey:l})=>{y.doneInit||(t(`====== ZONOS DEBUG MODE: on (${y.version}) ======`),l?(y.zonosApiKey=l,y.storeId=c,t("init zonos"),y.injectZonosCdn(),y.injectZonosCss(),y.injectFonts(),y.injectController({config:{appearance:e,checkoutSettings:o,currencyConverter:r,helloSettings:s,onCountryChange:i,overrideCurrencyFormat:a},zonosApiKey:l}),y.doneInit=!0):n("Missing Zonos API key"))},b.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},b.openHelloDialog=e=>{const o=document.querySelector("zonos-hello");o&&o.openHelloDialog(null==e||e)},b.showNotification=e=>{var o;null===(o=y.zonosController)||void 0===o||o.showNotification(e)},b.updateOrganizationName=e=>{var o;null===(o=y.zonosController)||void 0===o||o.updateOrganizationName(e)},b.disablePlaceOrderButtons=({autoEnable:e=!0,config:o,disable:t,placeOrderButtonSelector:n})=>{var r;if(!(null===(r=o.checkoutSettings)||void 0===r?void 0:r.disablePlaceOrderButtonActivation)&&n){const o=document.querySelectorAll(n),r=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};o.forEach((e=>{e.getAttribute("data-zonos-checkout-attached")||(t?(e.setAttribute("disabled","true"),e.addEventListener("click",r)):(e.removeAttribute("disabled"),e.removeEventListener("click",r)))})),e&&t&&setTimeout((()=>{o.forEach((e=>{e.removeAttribute("disabled"),e.removeEventListener("click",r)}))}),5e3)}},b.injectController=({config:e,zonosApiKey:o})=>{var r;if(document.querySelector("zonos-controller"))return;if(null===(r=e.checkoutSettings)||void 0===r?void 0:r.placeOrderButtonSelector){const o=e.checkoutSettings.placeOrderButtonSelector;y.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o});new MutationObserver((()=>{y.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o})})).observe(document.body,{childList:!0,subtree:!0})}const s=document.createElement("zonos-controller");s.config=e,s.zonosApiKey=o,s.addEventListener("stripeInitEvent",(async e=>{const{detail:o}=e;t("loading Stripe");const r=await(async(...e)=>{g=!0;const o=Date.now();return h.then((t=>((e,o,t)=>{if(null===e)return null;const n=e.apply(void 0,o);return((e,o)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:o})})(n,t),n})(t,e,o)))})(o.publishableKey);r?(window.Zonos.stripe=r,s.initCheckoutElement(r)):n("API seems to be invalid or missing. Failed to load Stripe")})),document.body.appendChild(s),y.zonosController=s,t("Zonos controller injected!")},b.injectScript=({cdnType:e,isModule:o,theRestUrl:r})=>{const s=`${y.getZonosUrl(e)}/${r}`;if(document.querySelector(`script[src="${s}"]`))return void t(`Zonos script "${s}" already exists in the document`,"warn");const i=document.head||document.body,c=document.createElement("script");o?c.type="module":c.noModule=!0,c.src=s,c.crossOrigin="anonymous",c.onerror=()=>{n(`Failed to load ${c.src}`);const t=a(e);t&&y.injectScript({cdnType:t,isModule:o,theRestUrl:r})},i.appendChild(c)},b.getZonosUrl=e=>{const o=()=>{switch(e){case"jsdelivr":return v;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.43";case"cdnjs":return"https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.43";case"vercel":return f}};if(y.isNpm){return c()||o()}return o()},b.injectZonosCdn=()=>{y.injectScript({cdnType:S,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),y.injectScript({cdnType:S,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),t("Zonos cdn script injected!")},b.injectStylesheet=({cdnType:e,theRestUrl:o})=>{const t=y.getZonosUrl(e),r=document.head||document.body,s=document.createElement("link");s.rel="preconnect",s.href=`${f}/`,r.appendChild(s);const i=document.createElement("link");i.rel="stylesheet",i.href=`${t}/${o}`,i.onerror=()=>{n(`Failed to load ${i.href}`);const t=a(e);t&&y.injectStylesheet({cdnType:t,theRestUrl:o})},r.appendChild(i)},b.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?t("Zonos style links already injected","warn"):(y.injectStylesheet({cdnType:S,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),t("Zonos style css injected!"))},b.injectFonts=()=>{if((()=>{const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${z}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&!C.test(t.href))return t}return null})())return void t("Inter font already injected","warn");const e=document.head||document.body,o=document.createElement("link");o.rel="preconnect",o.href=z,e.appendChild(o);const n=document.createElement("link");n.rel="stylesheet",n.href=`${z}/inter/inter.css`,e.appendChild(n),t("Zonos font injected!")},b.setupGoogleFont=e=>{var o;null===(o=y.zonosController)||void 0===o||o.setupGoogleFont(e)},b.injectSupportGoogleFont=e=>{var o;t(`[FONT] injecting ${e}`);const n=null===(o=e.match(/family=(.*?):/))||void 0===o?void 0:o[1],r=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${j}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=j,r.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${e}"]`))return void t(`[FONT] ${n} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=e,r.appendChild(s),t(`[FONT] ${n} font injected!`)};const O=c();class U{static get isNpm(){return!1}}L=U,U.isBigCommerce=!1,U.requested=!1,U.zonosQaUrl=null,U.tempCartData=null,U.zonosApiKey=null,U.isLegacyCheckout=!1,U.legacyStoreLogo=null,U.legacyStoreFavicon=null,U.parallelLoadTimes=[],U.paralellLoadState="off",U.loadScriptLogHandler=async({cdnLoadTime:e,fallbackLoadTime:o,isError:t,metadata:n,scriptLoadUrl:r,storeId:s,type:i})=>{try{const e=window.performance.getEntriesByType("resource").find((e=>{const o=e;return o.name.includes(r)&&"script"===o.initiatorType}));null==e||e.transferSize;(async e=>{})((e&&(null==e?void 0:e.duration)>0?parseFloat(e.duration.toFixed(2)):parseFloat(o.toFixed(2)),Object.assign({decodedBodySize:null==e?void 0:e.decodedBodySize,encodedBodySize:null==e?void 0:e.encodedBodySize,fallbackLoadTime:o,isError:!!t},n)))}catch(e){}},U.loadScriptLogParallelHandler=async e=>{try{if(L.parallelLoadTimes.push(e),2===L.parallelLoadTimes.length){const e=L.parallelLoadTimes.find((e=>"vercel"===e.type)),o=L.parallelLoadTimes.find((e=>"jsdelivr"===e.type));if(!e||!o)return;if(e.isError&&o.isError)return void r({endpoint:`<${e.scriptLoadUrl}> <${o.scriptLoadUrl}>`,errors:["Failed to fetch both Vercel and jsdelivr CDN. Perhaps network issue on customer site."],metadata:{cdnLoadTime:o.fallbackLoadTime,cdnType:o.type,vercelLoadTime:e.fallbackLoadTime}});L.loadScriptLogHandler({cdnLoadTime:o.fallbackLoadTime,fallbackLoadTime:e.fallbackLoadTime,isError:e.isError,metadata:{cdnScriptFallbackTime:o.fallbackLoadTime,cdnScriptIsError:!!o.isError,cdnScriptLoadUrl:o.scriptLoadUrl,cdnScriptType:o.type},scriptLoadUrl:e.scriptLoadUrl,storeId:e.storeId,type:e.type})}}catch(e){}},U.legacyCheckoutErrorHandler=({message:e,tempCartUUID:o})=>{n(`[ZONOS - loadZonos] ${e}`),r({endpoint:"LegacyCheckoutInit",errors:[e],metadata:{tempCartUUID:o}}),document.dispatchEvent(new CustomEvent("legacyCheckoutError",{detail:e}))},U.getGithubCdn=({type:e,version:o})=>{let t="https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.43";"cdnjs"===e?t="https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.43":"unpkg"===e&&(t="https://unpkg.com/@zonos/elements@1.3.43");return o&&"alpha"!==o?t.replace(/@zonos\/elements@(.+)/,`@zonos/elements@${o}`).replace(/\/zonos-elements\/(.+)/,`/zonos-elements/${o}`):t},U.injectZonos=({cdnType:e=S,initConfig:o,parallelLoaded:n,vercelUrl:s,version:c})=>{var l;const d="vercel"===e?s:L.getGithubCdn({type:e,version:c}),p=O||d,u=p.replace("https://","").replace("http://",""),m=document.createElement("script"),h=c&&c<"1.2.5"?"loadZonos.js":"zonos.js";m.src=`https://${u}/dist/scripts/${h}`,t(`[ZONOS - loadZonos] Injecting "${h}" from "${u}"`,"info");const g="4g"===(null===(l=(()=>{const e="connection"in window.navigator?window.navigator.connection:null,o="mozConnection"in window.navigator?window.navigator.mozConnection:null,t="webkitConnection"in window.navigator?window.navigator.webkitConnection:null;return e||o||t})())||void 0===l?void 0:l.effectiveType),y=["dev.elements.zonos.com","zonos.com"].some((e=>window.location.href.includes(e))),w=i[0]===e,f=i[1],v="on"===L.paralellLoadState&&g&&w&&f&&!y;v&&L.injectZonos({cdnType:f,initConfig:o,parallelLoaded:!0,vercelUrl:s,version:c});const z=performance.now();m.addEventListener("load",(()=>{if(v||n?L.loadScriptLogParallelHandler({fallbackLoadTime:performance.now()-z,scriptLoadUrl:m.src,storeId:L.storeId,type:e}):L.loadScriptLogHandler({fallbackLoadTime:performance.now()-z,scriptLoadUrl:m.src,storeId:L.storeId,type:e}),L.isBigCommerce||(L.isBigCommerce=!!window.stencilBootstrap||!!window.bcConfig||!!document.querySelector('script[src*="bigcommerce.com"]')),window.Zonos.isNpm=!1,window.Zonos.zonosQaUrl=O,window.Zonos.isBigCommerce=L.isBigCommerce,L.isLegacyCheckout){if(!L.zonosApiKey)throw L.legacyCheckoutErrorHandler({message:"zonosApiKey is required for legacy checkout",tempCartUUID:o.tempCartUUID}),new Error("zonosApiKey is required for legacy checkout");if(!L.tempCartData)throw L.legacyCheckoutErrorHandler({message:"tempCartData is required for legacy checkout",tempCartUUID:o.tempCartUUID}),new Error("zonosApiKey is required for legacy checkout");if(L.legacyStoreFavicon){const e=document.createElement("link");e.rel="shortcut icon",e.type="image/x-icon",e.href=L.legacyStoreFavicon,document.head.appendChild(e)}window.Zonos.tempCartData=L.tempCartData;const e=Object.assign(Object.assign({},o),{appearance:Object.assign(Object.assign({},o.appearance),{logoUrl:L.legacyStoreLogo||""}),checkoutSettings:Object.assign(Object.assign({},o.checkoutSettings),{successBehavior:"ZONOS_SUCCESS_PAGE",successRedirectUrl:L.tempCartData.contShoppingURL}),zonosApiKey:L.zonosApiKey});o=e}window.Zonos.version&&(t(`[ZONOS - loadZonos] Execute "Zonos.init" from "${h}" from "${u}"`,"info"),window.Zonos.init(o))})),m.addEventListener("error",(async()=>{if(!v&&!n){const t=a(e);if(!t)return;L.injectZonos({cdnType:t,initConfig:o,vercelUrl:s,version:c})}if(["localhost",".zonos.com"].some((e=>window.location.href.includes(e)))||O)return;if(v||n)return void L.loadScriptLogParallelHandler({fallbackLoadTime:performance.now()-z,isError:!0,scriptLoadUrl:m.src,storeId:L.storeId,type:e});["unpkg","cdnjs","vercel"].includes(e)?r({endpoint:m.src,errors:[`zonos.js - Failed to fetch ${e} CDN.`],metadata:{cdnLoadTime:performance.now()-z,cdnType:e,loadUrl:p,version:c}}):r({endpoint:m.src,errors:["[Info] Using alternative CDN. Failed to fetch script"],metadata:{cdnType:e,vercelLoadTime:performance.now()-z}})})),document.head.appendChild(m)},U.setupCartData=async e=>{const r=await(async e=>{const{errors:t,json:n}=await o("https://v1.route.js.zonos.com/api/bigcommerce/legacy-migration/get-temp-cart",{body:{tempCartUUID:e},headers:{"Content-Type":"application/json"},method:"POST"});return!n||t.length?null:n})(e);if(t("[ZONOS - loadZonos] getting temp cart data","info",r),!r)throw n("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process."),L.legacyCheckoutErrorHandler({message:"Error getting temp cart data",tempCartUUID:e}),new Error("Error getting temp cart data");return L.tempCartData=r.tempCart,L.legacyStoreLogo=r.storeLogoUrl,L.legacyStoreFavicon=r.storeFaviconUrl,{storeId:r.tempCart.storeId,zonosApiKey:r.zonosApiKey}},U.init=async e=>{var r;const i="https://v1.3.43.js.zonos.com",a=document.querySelector('script[src*="/zonos.js"]'),c=null===(r=document.querySelector("script[src*='/loadZonos.js']"))||void 0===r?void 0:r.src,l=null==c?void 0:c.includes("timestamp=");if(!(L.isNpm||c&&l))return void n("[ZONOS - loadZonos] A timestamp is required as a query parameter in the loadZonos.js script source. This timestamp ensures that you are loading the most recent version of the script, avoiding any cached versions.");if(a||!c||L.requested)return void t("[ZONOS - loadZonos] script is already loaded or requested","info");L.requested=!0;let d=e.storeId;if(e.tempCartUUID){const o=await L.setupCartData(e.tempCartUUID);d=o.storeId,L.zonosApiKey=o.zonosApiKey,L.isLegacyCheckout=!0}if(!d)return t("[ZONOS - loadZonos] loading latest script since storeId is not provided."),void L.injectZonos({initConfig:e,vercelUrl:i,version:null});L.storeId=d;const p=new URL("https://v1.route.js.zonos.com/api/get-store-version");p.searchParams.set("storeId",e.storeId.toString());const{errors:u,json:m}=await o(p.toString());if(u.length||!m)return t("[ZONOS - loadZonos] Error getting store version, loading the latest version.","error"),void L.injectZonos({initConfig:e,vercelUrl:i,version:null});const{version:h}=m;if(!a){const{currentLoadScriptUrl:o,isForceLoadVersionDomain:n,isWhiteListed:r}=s({loadScriptSrc:c}),i=r&&!n?o:`${"alpha"===h?"alpha":`v${h}`}.js.zonos.com`,a=r&&!n?null:h;t("[ZONOS - loadZonos] injecting zonos script","info",{currentLoadScriptUrl:o,isForceLoadVersionDomain:n,isWhiteListed:r,loadUrl:i,loadVersion:a,version:h}),L.injectZonos({initConfig:e,vercelUrl:i,version:a})}},void 0===window.Zonos&&(window.Zonos=U)})();
@@ -1 +1 @@
1
- (function(){"use strict";const e=(e,t,...n)=>{var o,r;if(!(!!(null===(o=window.Zonos)||void 0===o?void 0:o.debug)||!!window.location.search.match(/\?.*(&*)zonosDebug=1/)))return void("error"===t&&console.error(e,...n));let s=document.querySelector("iframe#zonos---debug-logging-iframe");s||(s=document.createElement("iframe"),s.id="zonos---debug-logging-iframe",s.style.display="none",s.style.opacity="0",s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.width="1px",s.style.height="1px",s.style.border="none",s.style.overflow="hidden",s.style.visibility="hidden",document.body.appendChild(s));const i=(null===(r=s.contentWindow)||void 0===r?void 0:r.window.console)||window.console;switch(t){case"warn":i.warn(e,...n);break;case"info":i.info(e,...n);break;case"error":i.error(e,...n);break;default:i.groupCollapsed(e,...n),i.trace(),i.groupEnd()}},t=(t,...n)=>{e(t,"error",...n)},n=["jsdelivr","unpkg","vercel"],o=e=>{const t=n.indexOf(e);return n[t+1]||null},r=()=>{if("undefined"==typeof window)return null;const t=(e=>{if(!e)return null;const t=new URL(e).searchParams.get("zonosQaUrl");return t?/[^a-zA-Z0-9-_]+/.test(t)?null:t:null})(window.location.href);if(!t&&"dev.demo.elements.zonos.com"===window.location.hostname)return"https://dev.elements.zonos.com";if(!t)return null;if("dev-elements"===t)return"https://dev.elements.zonos.com";const n=`https://${t}.preview.js.zonos.com`;return e(`[ZONOS-WARNING] using '${n}' for loading script`,"warn"),fetch(n).then((()=>{window.sessionStorage.removeItem("zonos--checkout-session-id"),window.sessionStorage.removeItem("zonos--client-secret")})).catch((()=>{alert(`[ZONOS-WARNING] '${n}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);const e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");const{pathname:t}=window.location,o=`${t}?${e.toString()}`;return window.history.replaceState(window.history.state,"",o),window.location.reload(),null})),n},s="https://js.stripe.com/v3",i=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,l="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used";let c=null;const d=e=>(null!==c||(c=new Promise(((n,o)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&e&&console.warn(l),window.Stripe)n(window.Stripe);else try{let r=(()=>{const e=document.querySelectorAll(`script[src^="${s}"]`);for(let t=0;t<e.length;t++){const n=e[t];if(n&&i.test(n.src))return n}return null})();r&&e?console.warn(l):r||(r=(e=>{const n=document.createElement("script");n.src=`${s}`;const o=document.head||document.body;return o?(o.appendChild(n),n):(t("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})()),null==r||r.addEventListener("load",(()=>{window.Stripe?n(window.Stripe):o(new Error("Stripe.js not available"))})),null==r||r.addEventListener("error",(()=>{o(new Error("Failed to load Stripe.js"))}))}catch(e){return void o(e)}else n(null)}))),c),a=Promise.resolve().then((()=>d(null)));let u=!1;a.catch((e=>{u||console.warn(e)}));var p;const m=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:t,isWhiteListed:n}=(({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const t=new URL(e).origin,n=["dev.elements.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some((e=>t.includes(e))),o=["qa.js.zonos.com"].some((e=>t.includes(e)));return{currentLoadScriptUrl:t,isForceLoadVersionDomain:o,isWhiteListed:n}})({loadScriptSrc:null==e?void 0:e.src});return n?t:null})(),h="https://v1.3.41.js.zonos.com",y=m||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.41",w="jsdelivr",f="https://rsms.me",v="https://fonts.googleapis.com",g=/^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;class S{}p=S,S.doneInit=!1,S.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),S.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),S._paypalMockResponse=null,S.isBigCommerce=!1,S.isNpm=!0,S.zonosQaUrl=null,S.version="v1.3.41",S.modeAlerted=!1,S.tempCartData=null,S.paypal=null,S.getCurrentTimestamp=()=>(new Date).getTime(),S.zonosController=null,S.init=async({appearance:n,checkoutSettings:o,currencyConverter:r,helloSettings:s,onCountryChange:i,overrideCurrencyFormat:l,storeId:c,zonosApiKey:d})=>{p.doneInit||(e(`====== ZONOS DEBUG MODE: on (${p.version}) ======`),d?(p.zonosApiKey=d,p.storeId=c,e("init zonos"),p.injectZonosCdn(),p.injectZonosCss(),p.injectFonts(),p.injectController({config:{appearance:n,checkoutSettings:o,currencyConverter:r,helloSettings:s,onCountryChange:i,overrideCurrencyFormat:l},zonosApiKey:d}),p.doneInit=!0):t("Missing Zonos API key"))},S.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},S.openHelloDialog=e=>{const t=document.querySelector("zonos-hello");t&&t.openHelloDialog(null==e||e)},S.showNotification=e=>{var t;null===(t=p.zonosController)||void 0===t||t.showNotification(e)},S.updateOrganizationName=e=>{var t;null===(t=p.zonosController)||void 0===t||t.updateOrganizationName(e)},S.disablePlaceOrderButtons=({autoEnable:e=!0,config:t,disable:n,placeOrderButtonSelector:o})=>{var r;if(!(null===(r=t.checkoutSettings)||void 0===r?void 0:r.disablePlaceOrderButtonActivation)&&o){const t=document.querySelectorAll(o),r=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};t.forEach((e=>{e.getAttribute("data-zonos-checkout-attached")||(n?(e.setAttribute("disabled","true"),e.addEventListener("click",r)):(e.removeAttribute("disabled"),e.removeEventListener("click",r)))})),e&&n&&setTimeout((()=>{t.forEach((e=>{e.removeAttribute("disabled"),e.removeEventListener("click",r)}))}),5e3)}},S.injectController=({config:n,zonosApiKey:o})=>{var r;if(document.querySelector("zonos-controller"))return;if(null===(r=n.checkoutSettings)||void 0===r?void 0:r.placeOrderButtonSelector){const e=n.checkoutSettings.placeOrderButtonSelector;p.disablePlaceOrderButtons({config:n,disable:!0,placeOrderButtonSelector:e});new MutationObserver((()=>{p.disablePlaceOrderButtons({config:n,disable:!0,placeOrderButtonSelector:e})})).observe(document.body,{childList:!0,subtree:!0})}const s=document.createElement("zonos-controller");s.config=n,s.zonosApiKey=o,s.addEventListener("stripeInitEvent",(async n=>{const{detail:o}=n;e("loading Stripe");const r=await(async(...e)=>{u=!0;const t=Date.now();return a.then((n=>((e,t,n)=>{if(null===e)return null;const o=e.apply(void 0,t);return((e,t)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:t})})(o,n),o})(n,e,t)))})(o.publishableKey);r?(window.Zonos.stripe=r,s.initCheckoutElement(r)):t("API seems to be invalid or missing. Failed to load Stripe")})),document.body.appendChild(s),p.zonosController=s,e("Zonos controller injected!")},S.injectScript=({cdnType:n,isModule:r,theRestUrl:s})=>{const i=`${p.getZonosUrl(n)}/${s}`;if(document.querySelector(`script[src="${i}"]`))return void e(`Zonos script "${i}" already exists in the document`,"warn");const l=document.head||document.body,c=document.createElement("script");r?c.type="module":c.noModule=!0,c.src=i,c.crossOrigin="anonymous",c.onerror=()=>{t(`Failed to load ${c.src}`);const e=o(n);e&&p.injectScript({cdnType:e,isModule:r,theRestUrl:s})},l.appendChild(c)},S.getZonosUrl=e=>{const t=()=>{switch(e){case"jsdelivr":return y;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.41";default:return h}};if(p.isNpm){return r()||t()}return t()},S.injectZonosCdn=()=>{p.injectScript({cdnType:w,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),p.injectScript({cdnType:w,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),e("Zonos cdn script injected!")},S.injectStylesheet=({cdnType:e,theRestUrl:n})=>{const r=p.getZonosUrl(e),s=document.head||document.body,i=document.createElement("link");i.rel="preconnect",i.href=`${h}/`,s.appendChild(i);const l=document.createElement("link");l.rel="stylesheet",l.href=`${r}/${n}`,l.onerror=()=>{t(`Failed to load ${l.href}`);const r=o(e);r&&p.injectStylesheet({cdnType:r,theRestUrl:n})},s.appendChild(l)},S.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?e("Zonos style links already injected","warn"):(p.injectStylesheet({cdnType:w,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),e("Zonos style css injected!"))},S.injectFonts=()=>{if((()=>{const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${f}"]`);for(let t=0;t<e.length;t++){const n=e[t];if(n&&!g.test(n.href))return n}return null})())return void e("Inter font already injected","warn");const t=document.head||document.body,n=document.createElement("link");n.rel="preconnect",n.href=f,t.appendChild(n);const o=document.createElement("link");o.rel="stylesheet",o.href=`${f}/inter/inter.css`,t.appendChild(o),e("Zonos font injected!")},S.setupGoogleFont=e=>{var t;null===(t=p.zonosController)||void 0===t||t.setupGoogleFont(e)},S.injectSupportGoogleFont=t=>{var n;e(`[FONT] injecting ${t}`);const o=null===(n=t.match(/family=(.*?):/))||void 0===n?void 0:n[1],r=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${v}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=v,r.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${t}"]`))return void e(`[FONT] ${o} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=t,r.appendChild(s),e(`[FONT] ${o} font injected!`)},window.Zonos&&window.Zonos.doneInit||(window.Zonos=S)})();
1
+ (function(){"use strict";const e=(e,t,...n)=>{var o,r;if(!(!!(null===(o=window.Zonos)||void 0===o?void 0:o.debug)||!!window.location.search.match(/\?.*(&*)zonosDebug=1/)))return void("error"===t&&console.error(e,...n));let s=document.querySelector("iframe#zonos---debug-logging-iframe");s||(s=document.createElement("iframe"),s.id="zonos---debug-logging-iframe",s.style.display="none",s.style.opacity="0",s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.width="1px",s.style.height="1px",s.style.border="none",s.style.overflow="hidden",s.style.visibility="hidden",document.body.appendChild(s));const i=(null===(r=s.contentWindow)||void 0===r?void 0:r.window.console)||window.console;switch(t){case"warn":i.warn(e,...n);break;case"info":i.info(e,...n);break;case"error":i.error(e,...n);break;default:i.groupCollapsed(e,...n),i.trace(),i.groupEnd()}},t=(t,...n)=>{e(t,"error",...n)},n=["jsdelivr","cdnjs","unpkg","vercel"],o=e=>{const t=n.indexOf(e);return n[t+1]||null},r=()=>{const t=window&&window.location.href.includes("forceLoadCdn");if("undefined"==typeof window||t)return null;const n=(e=>{if(!e)return null;const t=new URL(e).searchParams.get("zonosQaUrl");return t?/[^a-zA-Z0-9-_]+/.test(t)?null:t:null})(window.location.href),o="https://v1.3.43.js.zonos.com";if(!n&&o.includes("test."))return o;if(!n&&"dev.demo.elements.zonos.com"===window.location.hostname)return"https://dev.elements.zonos.com";if(!n)return null;if("dev-elements"===n)return"https://dev.elements.zonos.com";const r=`https://${n}.preview.js.zonos.com`;return e(`[ZONOS-WARNING] using '${r}' for loading script`,"warn"),fetch(r).then((()=>{window.sessionStorage.removeItem("zonos--checkout-session-id"),window.sessionStorage.removeItem("zonos--client-secret")})).catch((()=>{alert(`[ZONOS-WARNING] '${r}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);const e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");const{pathname:t}=window.location,n=`${t}?${e.toString()}`;return window.history.replaceState(window.history.state,"",n),window.location.reload(),null})),r},s="https://js.stripe.com/v3",i=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,l="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used";let c=null;const d=e=>(null!==c||(c=new Promise(((n,o)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&e&&console.warn(l),window.Stripe)n(window.Stripe);else try{let r=(()=>{const e=document.querySelectorAll(`script[src^="${s}"]`);for(let t=0;t<e.length;t++){const n=e[t];if(n&&i.test(n.src))return n}return null})();r&&e?console.warn(l):r||(r=(e=>{const n=document.createElement("script");n.src=`${s}`;const o=document.head||document.body;return o?(o.appendChild(n),n):(t("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})()),null==r||r.addEventListener("load",(()=>{window.Stripe?n(window.Stripe):o(new Error("Stripe.js not available"))})),null==r||r.addEventListener("error",(()=>{o(new Error("Failed to load Stripe.js"))}))}catch(e){return void o(e)}else n(null)}))),c),a=Promise.resolve().then((()=>d(null)));let u=!1;a.catch((e=>{u||console.warn(e)}));var p;const m=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:t,isWhiteListed:n}=(({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const t=new URL(e).origin,n=["dev.elements.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some((e=>t.includes(e))),o=["qa.js.zonos.com"].some((e=>t.includes(e)));return{currentLoadScriptUrl:t,isForceLoadVersionDomain:o,isWhiteListed:n}})({loadScriptSrc:null==e?void 0:e.src});return n?t:null})(),h="https://v1.3.43.js.zonos.com",y=m||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.43",w="jsdelivr",f="https://rsms.me",v="https://fonts.googleapis.com",g=/^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;class S{}p=S,S.doneInit=!1,S.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),S.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),S._paypalMockResponse=null,S.isBigCommerce=!1,S.isNpm=!0,S.zonosQaUrl=null,S.version="v1.3.43",S.modeAlerted=!1,S.tempCartData=null,S.paypal=null,S.getCurrentTimestamp=()=>(new Date).getTime(),S.zonosController=null,S.init=async({appearance:n,checkoutSettings:o,currencyConverter:r,helloSettings:s,onCountryChange:i,overrideCurrencyFormat:l,storeId:c,zonosApiKey:d})=>{p.doneInit||(e(`====== ZONOS DEBUG MODE: on (${p.version}) ======`),d?(p.zonosApiKey=d,p.storeId=c,e("init zonos"),p.injectZonosCdn(),p.injectZonosCss(),p.injectFonts(),p.injectController({config:{appearance:n,checkoutSettings:o,currencyConverter:r,helloSettings:s,onCountryChange:i,overrideCurrencyFormat:l},zonosApiKey:d}),p.doneInit=!0):t("Missing Zonos API key"))},S.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},S.openHelloDialog=e=>{const t=document.querySelector("zonos-hello");t&&t.openHelloDialog(null==e||e)},S.showNotification=e=>{var t;null===(t=p.zonosController)||void 0===t||t.showNotification(e)},S.updateOrganizationName=e=>{var t;null===(t=p.zonosController)||void 0===t||t.updateOrganizationName(e)},S.disablePlaceOrderButtons=({autoEnable:e=!0,config:t,disable:n,placeOrderButtonSelector:o})=>{var r;if(!(null===(r=t.checkoutSettings)||void 0===r?void 0:r.disablePlaceOrderButtonActivation)&&o){const t=document.querySelectorAll(o),r=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};t.forEach((e=>{e.getAttribute("data-zonos-checkout-attached")||(n?(e.setAttribute("disabled","true"),e.addEventListener("click",r)):(e.removeAttribute("disabled"),e.removeEventListener("click",r)))})),e&&n&&setTimeout((()=>{t.forEach((e=>{e.removeAttribute("disabled"),e.removeEventListener("click",r)}))}),5e3)}},S.injectController=({config:n,zonosApiKey:o})=>{var r;if(document.querySelector("zonos-controller"))return;if(null===(r=n.checkoutSettings)||void 0===r?void 0:r.placeOrderButtonSelector){const e=n.checkoutSettings.placeOrderButtonSelector;p.disablePlaceOrderButtons({config:n,disable:!0,placeOrderButtonSelector:e});new MutationObserver((()=>{p.disablePlaceOrderButtons({config:n,disable:!0,placeOrderButtonSelector:e})})).observe(document.body,{childList:!0,subtree:!0})}const s=document.createElement("zonos-controller");s.config=n,s.zonosApiKey=o,s.addEventListener("stripeInitEvent",(async n=>{const{detail:o}=n;e("loading Stripe");const r=await(async(...e)=>{u=!0;const t=Date.now();return a.then((n=>((e,t,n)=>{if(null===e)return null;const o=e.apply(void 0,t);return((e,t)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:t})})(o,n),o})(n,e,t)))})(o.publishableKey);r?(window.Zonos.stripe=r,s.initCheckoutElement(r)):t("API seems to be invalid or missing. Failed to load Stripe")})),document.body.appendChild(s),p.zonosController=s,e("Zonos controller injected!")},S.injectScript=({cdnType:n,isModule:r,theRestUrl:s})=>{const i=`${p.getZonosUrl(n)}/${s}`;if(document.querySelector(`script[src="${i}"]`))return void e(`Zonos script "${i}" already exists in the document`,"warn");const l=document.head||document.body,c=document.createElement("script");r?c.type="module":c.noModule=!0,c.src=i,c.crossOrigin="anonymous",c.onerror=()=>{t(`Failed to load ${c.src}`);const e=o(n);e&&p.injectScript({cdnType:e,isModule:r,theRestUrl:s})},l.appendChild(c)},S.getZonosUrl=e=>{const t=()=>{switch(e){case"jsdelivr":return y;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.43";case"cdnjs":return"https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.43";case"vercel":return h}};if(p.isNpm){return r()||t()}return t()},S.injectZonosCdn=()=>{p.injectScript({cdnType:w,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),p.injectScript({cdnType:w,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),e("Zonos cdn script injected!")},S.injectStylesheet=({cdnType:e,theRestUrl:n})=>{const r=p.getZonosUrl(e),s=document.head||document.body,i=document.createElement("link");i.rel="preconnect",i.href=`${h}/`,s.appendChild(i);const l=document.createElement("link");l.rel="stylesheet",l.href=`${r}/${n}`,l.onerror=()=>{t(`Failed to load ${l.href}`);const r=o(e);r&&p.injectStylesheet({cdnType:r,theRestUrl:n})},s.appendChild(l)},S.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?e("Zonos style links already injected","warn"):(p.injectStylesheet({cdnType:w,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),e("Zonos style css injected!"))},S.injectFonts=()=>{if((()=>{const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${f}"]`);for(let t=0;t<e.length;t++){const n=e[t];if(n&&!g.test(n.href))return n}return null})())return void e("Inter font already injected","warn");const t=document.head||document.body,n=document.createElement("link");n.rel="preconnect",n.href=f,t.appendChild(n);const o=document.createElement("link");o.rel="stylesheet",o.href=`${f}/inter/inter.css`,t.appendChild(o),e("Zonos font injected!")},S.setupGoogleFont=e=>{var t;null===(t=p.zonosController)||void 0===t||t.setupGoogleFont(e)},S.injectSupportGoogleFont=t=>{var n;e(`[FONT] injecting ${t}`);const o=null===(n=t.match(/family=(.*?):/))||void 0===n?void 0:n[1],r=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${v}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=v,r.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${t}"]`))return void e(`[FONT] ${o} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=t,r.appendChild(s),e(`[FONT] ${o} font injected!`)},window.Zonos&&window.Zonos.doneInit||(window.Zonos=S)})();
@@ -2,6 +2,7 @@ import { type AppearanceConfig } from "../../store/zonosStore";
2
2
  import type { HelloMobileLocation } from "../../../types/generated/graphql.customer.types";
3
3
  import type { Product } from "../../../types/hello/Product";
4
4
  import type { RestrictedItem } from "../../../types/hello/RestrictedItem";
5
+ import type { ICountryJson } from "../../../types/ICountryJson";
5
6
  export declare class ZonosHello {
6
7
  private helloRef?;
7
8
  /**
@@ -42,7 +43,7 @@ export declare class ZonosHello {
42
43
  /**
43
44
  * Get the country list the hello widget's country select is using
44
45
  */
45
- getCountryList(): Promise<import("../../../types/ICountryJson").ICountryJson | null>;
46
+ getCountryList(): Promise<ICountryJson | null>;
46
47
  private getHelloPeekMessage;
47
48
  private enableShowPeekMessage;
48
49
  private getNewItemRestrictions;
@@ -59,6 +59,7 @@ export declare class ZonosHelloDialog {
59
59
  private getUkDutyTaxMessage;
60
60
  private getAustraliaDutyTaxMessage;
61
61
  private getNewZealandDutyTaxMessge;
62
+ private getInclusivePriceMessage;
62
63
  /**
63
64
  * Get additional duty tax message if selected country has tax id
64
65
  */
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { type CountryLandedCost } from "../../utils/api/getCountryLandedCost";
3
3
  import { type TargetFormat } from "../../utils/api/getExchangeRate";
4
- import type { CountryCode, CurrencyCode } from "../../../types/generated/graphql.customer.types";
4
+ import type { CountryCode, CurrencyCode, InclusivePriceSettingFieldsFragment } from "../../../types/generated/graphql.customer.types";
5
5
  import type { Locale_ElementsSupportedLocationCode_Enum, Locale_PageName_Enum } from "../../../types/generated/graphql.frontend.types";
6
6
  import type { ICountryJson } from "../../../types/ICountryJson";
7
7
  export type ExchangeRateForUse = {
@@ -13,8 +13,8 @@ type LocalizationStore = {
13
13
  customMessages: ILocaleMessageForUse[];
14
14
  exchangeRate: ExchangeRateForUse | null;
15
15
  exchangeRateTimeout?: NodeJS.Timeout;
16
- hasInclusivePrices: boolean;
17
16
  helloCountryList: ICountryJson | null;
17
+ inclusivePricing: InclusivePriceSettingFieldsFragment | null;
18
18
  isShippableCountry: boolean;
19
19
  localizationLoaded: boolean;
20
20
  selectedCountryCode: CountryCode | null;
@@ -191,7 +191,25 @@ export declare const stringsArabic: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsBase: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsChinese: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsDanish: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsDutch: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsFrench: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsGerman: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsHebrew: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsIndonesian: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsItalian: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsJapanese: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsKorean: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsNorwegian: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {
@@ -191,7 +191,25 @@ export declare const stringsPolish: {
191
191
  'Prepay duties and taxes at checkout': {
192
192
  value: string;
193
193
  };
194
- 'Product prices already include duties, taxes, and fees. No additional duties or taxes will be added at checkout, with rare exceptions.': {
194
+ 'Product prices already include duties and fees. No additional duties or fees will be added at checkout, with rare exceptions.': {
195
+ value: string;
196
+ };
197
+ 'Product prices already include duties and taxes. No additional duties or taxes will be added at checkout, with rare exceptions.': {
198
+ value: string;
199
+ };
200
+ 'Product prices already include duties, taxes, and fees. No additional duties, taxes, or fees will be added at checkout, with rare exceptions.': {
201
+ value: string;
202
+ };
203
+ 'Product prices already include duties. No additional duties will be added at checkout, with rare exceptions.': {
204
+ value: string;
205
+ };
206
+ 'Product prices already include fees. No additional fees will be added at checkout, with rare exceptions.': {
207
+ value: string;
208
+ };
209
+ 'Product prices already include taxes and fees. No additional taxes or fees will be added at checkout, with rare exceptions.': {
210
+ value: string;
211
+ };
212
+ 'Product prices already include taxes. No additional taxes will be added at checkout, with rare exceptions.': {
195
213
  value: string;
196
214
  };
197
215
  Reload: {