@zonos/elements 1.3.206 → 1.3.208

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 (200) hide show
  1. package/dist/cjs/{CheckoutConfig-4afc683b.js → CheckoutConfig-27c82f94.js} +19 -0
  2. package/dist/cjs/{cart-3d961c6e.js → cart-47c17ebf.js} +1 -25
  3. package/dist/cjs/index.cjs.js +28 -8
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{localization-ff33875b.js → localization-e9089be5.js} +1 -0
  6. package/dist/cjs/{paypal-dee5c109.js → paypal-3a803d21.js} +2 -2
  7. package/dist/cjs/updateCheckoutSessionAttributes-d0332530.js +50 -0
  8. package/dist/cjs/zonos-address_11.cjs.entry.js +2 -2
  9. package/dist/cjs/zonos-cart-items_14.cjs.entry.js +13 -14
  10. package/dist/cjs/zonos-checkout.cjs.entry.js +47 -15
  11. package/dist/cjs/zonos-controller.cjs.entry.js +2 -2
  12. package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
  13. package/dist/cjs/zonos-country-select_4.cjs.entry.js +94 -46
  14. package/dist/cjs/zonos-elements.cjs.js +1 -1
  15. package/dist/cjs/zonos-empty-state-payment_4.cjs.entry.js +3 -3
  16. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +1 -1
  17. package/dist/cjs/zonos-hello.cjs.entry.js +11 -2
  18. package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
  19. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +43 -12
  20. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +9 -12
  21. package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.css +9 -2
  22. package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.js +129 -59
  23. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +10 -1
  24. package/dist/collection/components/store/checkout/stripe.js +0 -24
  25. package/dist/collection/components/store/hello/localization.js +1 -0
  26. package/dist/collection/components/utils/api/updateCheckoutSessionAttributes.js +46 -0
  27. package/dist/collection/components/utils/checkout/getAbandonedCartRenewTokenValue.js +17 -0
  28. package/dist/collection/scripts/_getCartInfoById.js +3 -0
  29. package/dist/collection/types/checkout/api/CheckoutSession.js +14 -1
  30. package/dist/collection/types/common-ui/VirtualScroll.js +1 -0
  31. package/dist/collection/types/generated/graphql.frontend.types.js +2 -0
  32. package/dist/collection/types/generated/graphql.internal.types.js +18 -0
  33. package/dist/esm/{CheckoutConfig-eb7d6954.js → CheckoutConfig-724d7bae.js} +19 -1
  34. package/dist/esm/{cart-5835676d.js → cart-5b417c0d.js} +4 -28
  35. package/dist/esm/{debounce-eaee3a94.js → debounce-7ebfa15b.js} +1 -1
  36. package/dist/esm/{getBorderRadius-b18c924f.js → getBorderRadius-174305ff.js} +1 -1
  37. package/dist/esm/index.js +27 -10
  38. package/dist/esm/{isDarkColor-d8bb8659.js → isDarkColor-915b06b8.js} +1 -1
  39. package/dist/esm/loader.js +1 -1
  40. package/dist/esm/{localization-4c7f64e8.js → localization-669a1714.js} +2 -1
  41. package/dist/esm/{paypal-b4f106be.js → paypal-3a0cf86b.js} +4 -4
  42. package/dist/esm/updateCheckoutSessionAttributes-183ca6c1.js +48 -0
  43. package/dist/esm/zonos-address_11.entry.js +6 -6
  44. package/dist/esm/zonos-badge.entry.js +1 -1
  45. package/dist/esm/zonos-banner.entry.js +1 -1
  46. package/dist/esm/zonos-button_3.entry.js +3 -3
  47. package/dist/esm/zonos-card.entry.js +2 -2
  48. package/dist/esm/zonos-cart-items_14.entry.js +16 -17
  49. package/dist/esm/zonos-checkout.entry.js +50 -18
  50. package/dist/esm/zonos-collapse.entry.js +1 -1
  51. package/dist/esm/zonos-controller.entry.js +5 -5
  52. package/dist/esm/zonos-country-flag.entry.js +2 -2
  53. package/dist/esm/zonos-country-select_4.entry.js +96 -48
  54. package/dist/esm/zonos-elements.js +1 -1
  55. package/dist/esm/zonos-empty-state-payment_4.entry.js +6 -6
  56. package/dist/esm/zonos-hello-dialog.entry.js +2 -2
  57. package/dist/esm/zonos-hello.entry.js +13 -4
  58. package/dist/esm/zonos-input.entry.js +2 -2
  59. package/dist/esm/zonos-language-select_2.entry.js +2 -2
  60. package/dist/esm/zonos-logo.entry.js +1 -1
  61. package/dist/esm/zonos-shipping-rich-radio.entry.js +2 -2
  62. package/dist/esm/zonos-stripe-input.entry.js +3 -3
  63. package/dist/esm/zonos-text.entry.js +1 -1
  64. package/dist/esm/zonos-toggle.entry.js +1 -1
  65. package/dist/esm/zonos-v-stack.entry.js +1 -1
  66. package/dist/esm/{zonosStore-1e015fa5.js → zonosStore-504a7030.js} +1 -1
  67. package/dist/esm-es5/CheckoutConfig-724d7bae.js +1 -0
  68. package/dist/esm-es5/{cart-5835676d.js → cart-5b417c0d.js} +1 -1
  69. package/dist/esm-es5/{debounce-eaee3a94.js → debounce-7ebfa15b.js} +1 -1
  70. package/dist/esm-es5/{getBorderRadius-b18c924f.js → getBorderRadius-174305ff.js} +1 -1
  71. package/dist/esm-es5/index.js +1 -1
  72. package/dist/esm-es5/{isDarkColor-d8bb8659.js → isDarkColor-915b06b8.js} +1 -1
  73. package/dist/esm-es5/loader.js +1 -1
  74. package/dist/esm-es5/{localization-4c7f64e8.js → localization-669a1714.js} +1 -1
  75. package/dist/esm-es5/{paypal-b4f106be.js → paypal-3a0cf86b.js} +1 -1
  76. package/dist/esm-es5/updateCheckoutSessionAttributes-183ca6c1.js +1 -0
  77. package/dist/esm-es5/zonos-address_11.entry.js +1 -1
  78. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  79. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  80. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  81. package/dist/esm-es5/zonos-card.entry.js +1 -1
  82. package/dist/esm-es5/zonos-cart-items_14.entry.js +1 -1
  83. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  84. package/dist/esm-es5/zonos-collapse.entry.js +1 -1
  85. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  86. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  87. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  88. package/dist/esm-es5/zonos-elements.js +1 -1
  89. package/dist/esm-es5/zonos-empty-state-payment_4.entry.js +1 -1
  90. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  91. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  92. package/dist/esm-es5/zonos-input.entry.js +1 -1
  93. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  94. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  95. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  96. package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
  97. package/dist/esm-es5/zonos-text.entry.js +1 -1
  98. package/dist/esm-es5/zonos-toggle.entry.js +1 -1
  99. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  100. package/dist/esm-es5/{zonosStore-1e015fa5.js → zonosStore-504a7030.js} +1 -1
  101. package/dist/scripts/index.d.ts +32 -28
  102. package/dist/scripts/index.js +1 -1
  103. package/dist/scripts/loadZonos.js +1 -1
  104. package/dist/scripts/zonos.js +1 -1
  105. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +2 -0
  106. package/dist/types/components/common/zonos-virtual-scroll/zonos-virtual-scroll.d.ts +49 -12
  107. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +2 -0
  108. package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
  109. package/dist/types/components/utils/api/updateCheckoutSessionAttributes.d.ts +7 -0
  110. package/dist/types/components/utils/checkout/getAbandonedCartRenewTokenValue.d.ts +1 -0
  111. package/dist/types/components.d.ts +30 -28
  112. package/dist/types/scripts/cart/_setupCartDataWithSettings.d.ts +1 -0
  113. package/dist/types/types/checkout/api/CheckoutSession.d.ts +14 -0
  114. package/dist/types/types/checkout/api/NormalizedTempCart.d.ts +2 -0
  115. package/dist/types/types/common-ui/VirtualScroll.d.ts +1 -0
  116. package/dist/types/types/generated/graphql.frontend.types.d.ts +3 -1
  117. package/dist/types/types/generated/graphql.frontend.types.ts +3 -1
  118. package/dist/types/types/generated/graphql.internal.types.d.ts +47 -0
  119. package/dist/types/types/generated/graphql.internal.types.ts +88 -0
  120. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  121. package/dist/zonos-elements/index.esm.js +1 -1
  122. package/dist/zonos-elements/{p-265af369.system.entry.js → p-02463cc1.system.entry.js} +1 -1
  123. package/dist/zonos-elements/{p-eca09508.system.entry.js → p-066afca1.system.entry.js} +1 -1
  124. package/dist/zonos-elements/{p-74bcb5cc.entry.js → p-0731fbba.entry.js} +1 -1
  125. package/dist/zonos-elements/{p-bab19e2a.entry.js → p-07905246.entry.js} +1 -1
  126. package/dist/zonos-elements/p-0794c530.entry.js +1 -0
  127. package/dist/zonos-elements/{p-019f8637.entry.js → p-081fa4a8.entry.js} +1 -1
  128. package/dist/zonos-elements/{p-1327b935.system.js → p-0d908c15.system.js} +1 -1
  129. package/dist/zonos-elements/p-0f368368.system.js +1 -0
  130. package/dist/zonos-elements/p-0fb14108.entry.js +1 -0
  131. package/dist/zonos-elements/{p-93aeba62.system.entry.js → p-1530f958.system.entry.js} +1 -1
  132. package/dist/zonos-elements/{p-2866fd29.system.entry.js → p-160da12a.system.entry.js} +1 -1
  133. package/dist/zonos-elements/{p-c4e0f49a.system.entry.js → p-1b3e92ea.system.entry.js} +1 -1
  134. package/dist/zonos-elements/{p-4cb8b87f.system.entry.js → p-1f706fc9.system.entry.js} +1 -1
  135. package/dist/zonos-elements/p-2d4e0280.entry.js +1 -0
  136. package/dist/zonos-elements/{p-abe218ab.system.entry.js → p-39039ab7.system.entry.js} +1 -1
  137. package/dist/zonos-elements/p-39428328.system.js +1 -0
  138. package/dist/zonos-elements/p-3d6f6367.system.entry.js +1 -0
  139. package/dist/zonos-elements/p-3ee44728.system.js +1 -1
  140. package/dist/zonos-elements/{p-f9664811.js → p-40a2a649.js} +1 -1
  141. package/dist/zonos-elements/p-40a4c8a2.system.js +1 -0
  142. package/dist/zonos-elements/{p-c666d557.system.js → p-4451a598.system.js} +1 -1
  143. package/dist/zonos-elements/{p-ed20f2f7.js → p-4bf54953.js} +1 -1
  144. package/dist/zonos-elements/{p-abc83d01.entry.js → p-4f04b499.entry.js} +1 -1
  145. package/dist/zonos-elements/{p-f4d741de.system.entry.js → p-51d596a0.system.entry.js} +1 -1
  146. package/dist/zonos-elements/p-5539386e.system.entry.js +1 -0
  147. package/dist/zonos-elements/{p-1bc09abe.system.entry.js → p-5c772fab.system.entry.js} +1 -1
  148. package/dist/zonos-elements/{p-42a9557f.entry.js → p-5d909d3d.entry.js} +1 -1
  149. package/dist/zonos-elements/{p-e337fa88.js → p-5f2a2ca7.js} +1 -1
  150. package/dist/zonos-elements/{p-f8bfc320.system.entry.js → p-63ca1242.system.entry.js} +1 -1
  151. package/dist/zonos-elements/{p-0c4c8d63.entry.js → p-67f807bc.entry.js} +1 -1
  152. package/dist/zonos-elements/{p-3196bf98.entry.js → p-6b406abd.entry.js} +1 -1
  153. package/dist/zonos-elements/{p-9b8a5372.entry.js → p-6be43ba8.entry.js} +1 -1
  154. package/dist/zonos-elements/p-6c991320.entry.js +1 -0
  155. package/dist/zonos-elements/{p-469ccc66.system.entry.js → p-7e346632.system.entry.js} +1 -1
  156. package/dist/zonos-elements/{p-91c996d3.system.js → p-7f568108.system.js} +1 -1
  157. package/dist/zonos-elements/{p-858b7908.system.entry.js → p-803e59d2.system.entry.js} +1 -1
  158. package/dist/zonos-elements/{p-666164d9.system.js → p-91553cf0.system.js} +1 -1
  159. package/dist/zonos-elements/{p-1ad099ec.system.entry.js → p-963fa567.system.entry.js} +1 -1
  160. package/dist/zonos-elements/{p-4fb88ebc.system.entry.js → p-a09bdd20.system.entry.js} +1 -1
  161. package/dist/zonos-elements/{p-edcfb3a3.js → p-a158b406.js} +1 -1
  162. package/dist/zonos-elements/{p-3afc27ef.entry.js → p-a3a8ba10.entry.js} +1 -1
  163. package/dist/zonos-elements/p-a4d995a2.system.js +1 -0
  164. package/dist/zonos-elements/{p-719e14a8.system.entry.js → p-a63bac79.system.entry.js} +1 -1
  165. package/dist/zonos-elements/{p-22cb6880.system.entry.js → p-a958c4f0.system.entry.js} +1 -1
  166. package/dist/zonos-elements/{p-7777d85f.system.entry.js → p-ab6efb03.system.entry.js} +1 -1
  167. package/dist/zonos-elements/p-b2d81c98.js +1 -0
  168. package/dist/zonos-elements/{p-16678764.js → p-b3fa7f19.js} +1 -1
  169. package/dist/zonos-elements/{p-658936c9.js → p-b7a5b367.js} +2 -2
  170. package/dist/zonos-elements/{p-848e08e8.entry.js → p-bb850bb7.entry.js} +1 -1
  171. package/dist/zonos-elements/{p-4e9c8f9e.system.js → p-c5455a34.system.js} +1 -1
  172. package/dist/zonos-elements/{p-41c1d7c4.entry.js → p-c607d026.entry.js} +1 -1
  173. package/dist/zonos-elements/p-c740353c.js +1 -0
  174. package/dist/zonos-elements/{p-eb2560b6.system.entry.js → p-cd376c7a.system.entry.js} +1 -1
  175. package/dist/zonos-elements/{p-5616b304.entry.js → p-d096d7f2.entry.js} +1 -1
  176. package/dist/zonos-elements/{p-e0587eeb.entry.js → p-d1a31577.entry.js} +1 -1
  177. package/dist/zonos-elements/{p-9fa17353.js → p-d35d17f3.js} +1 -1
  178. package/dist/zonos-elements/{p-9e9ac7a2.system.js → p-d5bdbbb3.system.js} +1 -1
  179. package/dist/zonos-elements/{p-18149db1.entry.js → p-da304b78.entry.js} +1 -1
  180. package/dist/zonos-elements/{p-12cd9d3a.entry.js → p-e1c2b8f8.entry.js} +1 -1
  181. package/dist/zonos-elements/p-ea30d92d.system.entry.js +1 -0
  182. package/dist/zonos-elements/{p-47e2cd31.entry.js → p-ef594c0c.entry.js} +1 -1
  183. package/dist/zonos-elements/p-f1f3a846.entry.js +1 -0
  184. package/dist/zonos-elements/{p-30778fde.system.entry.js → p-f49834d4.system.entry.js} +1 -1
  185. package/dist/zonos-elements/{p-b21b0330.entry.js → p-fc3a6495.entry.js} +1 -1
  186. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  187. package/package.json +1 -1
  188. package/dist/esm-es5/CheckoutConfig-eb7d6954.js +0 -1
  189. package/dist/zonos-elements/p-051e0e48.entry.js +0 -1
  190. package/dist/zonos-elements/p-3505e4c4.entry.js +0 -1
  191. package/dist/zonos-elements/p-3a50124e.entry.js +0 -1
  192. package/dist/zonos-elements/p-3f1a2d31.js +0 -1
  193. package/dist/zonos-elements/p-5e1b2654.system.js +0 -1
  194. package/dist/zonos-elements/p-a2b55d11.entry.js +0 -1
  195. package/dist/zonos-elements/p-aafcd40f.system.entry.js +0 -1
  196. package/dist/zonos-elements/p-b922c441.system.js +0 -1
  197. package/dist/zonos-elements/p-ba027b70.system.entry.js +0 -1
  198. package/dist/zonos-elements/p-d5f7f7e6.system.js +0 -1
  199. package/dist/zonos-elements/p-dbd23bea.entry.js +0 -1
  200. package/dist/zonos-elements/p-ea88baa9.system.entry.js +0 -1
@@ -1 +1 @@
1
- (function(){"use strict";const e=({id:e,payload:o,target:t,type:n})=>{var r;t instanceof HTMLIFrameElement?null===(r=t.contentWindow)||void 0===r||r.postMessage({id:e,payload:o,type:n},"*"):t.postMessage({id:e,payload:o,type:n},"*")};class o{constructor(o,t){this.targetElement=o,this.targetId=t,this.sendMessage=(o,t)=>{e({id:this.targetId,payload:t,target:this.targetElement,type:o})}}}o.iframeServices={GOOGLE_PLACES:"zonos--private-iframe-google-places-service-m9bmuh7g"},o.sendMessage=e,o.injectPrivateIframe=({id:e,onload:o,src:t})=>{const n=document.createElement("iframe");return n.src=t,n.id=e,n.style.display="none",n.role="presentation",n.ariaHidden="true",n.tabIndex=-1,n.style.border="none !important",n.style.margin="0px !important",n.style.padding="0px !important",n.style.width="1px !important",n.style.minWidth="100% !important",n.style.overflow="hidden !important",n.style.display="block !important",n.style.visibility="hidden !important",n.style.position="fixed !important",n.style.pointerEvents="none !important",n.style.userSelect="none !important",n.style.height="1px !important",n.onload=()=>o(n),document.body.appendChild(n),n};const t=performance.now(),n=e=>{if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(o){if(e&&"function"==typeof e.toString){return e.toString()}return"Unable to stringify info"}},r=(e,o,...r)=>{var s,i;const{elapsedTimePretty:a}=(()=>{const e=performance.now()-t,o=e>1e3?`${(e/1e3).toFixed(2)}s`:`${e.toFixed(2)}ms`;return{elapsedTime:e,elapsedTimePretty:o}})(),l=[`(${a})`,...r];l.map(n).join(" ");if(!(!!(null===(s=window.Zonos)||void 0===s?void 0:s.debug)||!!window.location.search.match(/\?.*(&*)zonosDebug=1/)))return void("error"===o&&console.error(e,...l));let d=document.querySelector("iframe#zonos---debug-logging-iframe");d||(d=document.createElement("iframe"),d.id="zonos---debug-logging-iframe",d.style.display="none",d.style.opacity="0",d.style.position="absolute",d.style.top="-9999px",d.style.left="-9999px",d.style.width="1px",d.style.height="1px",d.style.border="none",d.style.overflow="hidden",d.style.visibility="hidden",document.body.appendChild(d));const c=(null===(i=d.contentWindow)||void 0===i?void 0:i.window.console)||window.console;switch(o){case"warn":c.warn(e,...l);break;case"info":c.info(e,...l);break;case"error":c.error(e,...l);break;default:c.groupCollapsed(e,...l),c.trace(),c.groupEnd()}},s=(e,...o)=>{r(e,"error",...o)},i=["jsdelivr","cdnjs","unpkg","vercel"],a="jsdelivr",l=e=>{const o=i.indexOf(e);return i[o+1]||null},d=()=>window.location.search.includes("zonosStagingMode=1"),c=()=>{var e;return(null===(e=window.Zonos.zonosApiKey)||void 0===e?void 0:e.includes("test"))||window.location.search.includes("zonosTestMode=1")};function u(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}"function"==typeof SuppressedError&&SuppressedError;const p=["cloudflare","vercel"],m=p[0],w={cloudflare:"https://route.elements.zonos.com",vercel:"https://route.js.zonos.com"},h=w[m],y=(e=m)=>{const o=p.indexOf(e),t=p[o+1];return t||null},g=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(e){return null}return null},f=()=>{const e="userAgentData"in window.navigator?window.navigator.userAgentData:null,o=(()=>{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})();return{connectionDownlink:null==o?void 0:o.downlink,connectionEffectiveType:null==o?void 0:o.effectiveType,connectionRtt:null==o?void 0:o.rtt,connectionSaveData:null==o?void 0:o.saveData,isHostedCheckout:window.Zonos.isLegacyCheckout,screenHeight:window.screen.height,screenWidth:window.innerWidth,userAgent:e&&e.brands.length>0?e:window.navigator.userAgent}},v=["/api/zonos-elements/log-script-load","/api/zonos-elements/log-bulk-load-data"],b=async({response:e,shouldLog:o=!0,shouldThrow:t=!1})=>{try{const o=await e.text(),t=g(o);if(!t)throw new Error(`Failed to parse content: ${o}`);return t}catch(e){if(t)throw e;return o&&console.error(e),null}},S=async({basePathType:e,options:o,path:t})=>{let n;const r=window.Zonos.zonosQaUrlApi||w[e]||m,s=new URL(r+t),i=window.Zonos.cartId?`${window.location.hostname}-${window.Zonos.cartId}`:window.location.hostname;s.searchParams.set("zToken",(e=>{try{return btoa(e).replace(/=/g,"")}catch(o){return e.replace(/[^A-Za-z0-9]/g,"").split("").reverse().join("")}})(i));try{n=await fetch(s.toString(),o)}catch(e){if(e instanceof Error)return{baseUrl:r,errors:[{message:e.message,type:"unknown"}],json:null,response:null,zonosMode:null};return{baseUrl:r,errors:[{message:"Failed to fetch",type:"unknown"}],json:null,response:null,zonosMode:null}}const a=n.headers.get("Zonos-Mode"),l=window.Zonos.zonosQaUrl;if(!window.Zonos.modeAlerted&&a&&l&&(window.Zonos.modeAlerted=!0),n.ok){return{baseUrl:r,errors:[],json:await b({response:n}),response:n,zonosMode:a}}const d=n.status.toString();try{const e=await b({response:n,shouldThrow:!0});if(e&&"errors"in e&&Array.isArray(e.errors)){const o=e.errors;return{baseUrl:r,errors:o.map((e=>"string"==typeof e?{message:e,type:d}:e)),json:null,response:n,zonosMode:a}}return{baseUrl:r,errors:[{message:JSON.stringify(e),type:d}],json:null,response:n,zonosMode:a}}catch(e){return{baseUrl:r,errors:[{message:`${d}: ${"Unknown error"}`,type:d}],json:null,response:null,zonosMode:a}}},C=async({basePathType:e,options:o,path:t})=>{var n,s;const i=t.startsWith("/api/bigcommerce")?"vercel":e,a=performance.now(),l=await S({basePathType:i,options:o,path:t}),{errors:d,response:c}=l,p=u(l,["errors","response"]),m=performance.now()-a;r(`${t} (${m.toFixed(2)}ms)`,"info");const b=null==c?void 0:c.headers.get("Zonos-Duration");200===(null==c?void 0:c.status)&&(({apiPath:e,apiType:o,loadTimeInternal:t,loadTimeTotal:n})=>{if(v.includes(e))return;const r=n-t;if(r<0)return;const s=e.split("?")[0]||e,i=f(),a="object"==typeof i.userAgent&&i.userAgent.mobile,l={apiType:o,connectionType:i.connectionEffectiveType,href:s,isHostedCheckout:window.Zonos.isLegacyCheckout,isMobile:(d=a,d||window.innerWidth<890),loadTimeBrowserApi:r,loadTimeInternal:t,loadTimeTotal:n,metadata:Object.assign({},i),screenHeight:i.screenHeight,screenWidth:i.screenWidth,userAgent:"string"==typeof i.userAgent?i.userAgent:i.userAgent.brands.map((e=>e.brand)).filter((e=>!/Not.*A.*Brand.*/.test(e))).join(",")};var d;window.Zonos.loadTimeApiInfoList.push(l)})({apiPath:t,apiType:i,loadTimeInternal:b?Number(b):0,loadTimeTotal:m});const z=y(i),j=!!d.find((({type:e})=>"unknown"===e))||404===(null==c?void 0:c.status),k=z&&j;return j&&(async({endpoint:e,errors:o,metadata:t,shouldPostReleaseErrorReporting:n})=>{r("sendErrorLog","warn",e,t,o);{const e=Number(window.Zonos.releaseDate);if((new Date).getTime()-e>36e5)return}const s="userAgentData"in window.navigator?window.navigator.userAgentData:null,i={endpoint:e,errors:o,href:window.location.href,metadata:Object.assign({appVersion:window.Zonos.version,domain:window.Zonos.domain,publicCredential:window.Zonos.zonosApiKey,userAgent:s&&s.brands.length>0?s:window.navigator.userAgent},t)};try{fetch(`${h}/api/zonos-elements/log-error`,{body:JSON.stringify(i),headers:{"Zonos-Referer":window.location.hostname},method:"POST"})}catch(e){const o=y();if(!o)return;fetch(`${w[o]}/api/zonos-elements/log-error`,{body:JSON.stringify(i),method:"POST"})}})({endpoint:w[i]+t,errors:d.map((({message:e})=>`API: ${e}`)),metadata:{currentBasePath:i,nextFallbackApiType:z,requestHeaders:null==o?void 0:o.headers,requestPayload:g(null===(n=null==o?void 0:o.body)||void 0===n?void 0:n.toString())||(null===(s=null==o?void 0:o.body)||void 0===s?void 0:s.toString()),status:null==c?void 0:c.status,statusText:null==c?void 0:c.statusText},shouldPostReleaseErrorReporting:!0}),k?(r(`=== "${t}" failed to fetch, trying next fallback ${z}`),C({basePathType:z,options:o,path:t})):Object.assign({errors:d,response:c},p)},z=async(e,o)=>{const t=u(o||{},[]),n=t.body?JSON.stringify(t.body):void 0,r=t.method||"GET",s=Object.assign({"Content-Type":"application/json","Zonos-Is-BigCommerce":window.Zonos.isBigCommerce.toString(),"Zonos-Referer":window.location.hostname,"Zonos-Staging-Mode":d()?"1":void 0,"Zonos-Test-Mode":c()?"1":void 0,"Zonos-Version":window.Zonos.version,credentialtoken:window.Zonos.zonosApiKey||"Empty credential token from zonos-elements"},t.headers);Object.keys(s).forEach((e=>void 0===s[e]&&delete s[e]));const i=Object.assign(Object.assign({},t),{body:"GET"===r?void 0:n,headers:s,method:r}),a=new URLSearchParams(window.location.search).get("useFallbackApi");return C({basePathType:a||m,options:i,path:e})},j=()=>{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),t="https://v1.3.206.js.zonos.com";if(!o&&(t.includes("test.")||t.includes("test-")))return t;if(!o&&["dev.demo.elements.zonos.com","dev.checkout.elements.zonos.com"].includes(window.location.hostname))return"https://dev.elements.zonos.com";if(!o)return null;if("dev-elements"===o)return"https://dev.elements.zonos.com";const n=`https://${o}.preview.js.zonos.com`;return r(`[ZONOS-WARNING] using '${n}' for loading elements 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:o}=window.location,t=`${o}?${e.toString()}`;return window.history.replaceState(window.history.state,"",t),window.location.reload(),null})),n},k="https://js.stripe.com/v3",O=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;let Z=null;const I=e=>(null!==Z||(Z=new Promise(((o,t)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe)o(window.Stripe);else try{let n=(()=>{const e=document.querySelectorAll(`script[src^="${k}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&O.test(t.src))return t}return null})();n&&e?console.warn("loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used"):n||(n=(e=>{const o=document.createElement("script");o.src=`${k}`;const t=document.head||document.body;return t?(t.appendChild(o),o):(s("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})()),null==n||n.addEventListener("load",(()=>{window.Stripe?o(window.Stripe):t(new Error("Stripe.js not available"))})),null==n||n.addEventListener("error",(()=>{t(new Error("Failed to load Stripe.js"))}))}catch(e){return void t(e)}else o(null)}))),Z),A=Promise.resolve().then((()=>I(null)));let E=!1;A.catch((e=>{E||console.warn(e)}));const T=async({cartId:e,retries:o})=>{const t=c(),n=(()=>{const e=new URLSearchParams(window.location.search);return{overrideShouldEnabledCustomAddress:window.Zonos.overrideUseCustomAddressForm?"1":e.get("overrideShouldEnabledCustomAddress")}})(),s=new URLSearchParams;n.overrideShouldEnabledCustomAddress&&s.set("overrideShouldEnabledCustomAddress",n.overrideShouldEnabledCustomAddress);const{errors:i,json:a,zonosMode:l}=await z(`/api/zonos-elements/get-cart?${s.toString()}`,{body:{isTestMode:t,tempCartUUID:e},headers:{"Content-Type":"application/json"},method:"POST"}),d=!a||i.length;return d&&o?(r("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:o}),await new Promise((e=>setTimeout(e,500))),T({cartId:e,retries:o-1})):d?null:Object.assign(Object.assign({},a),{zonosMode:l})},L=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,$=new RegExp(`^${L.source}$`),P=new RegExp(`^cart_${L.source}$`),U=/^[a-zA-Z0-9]{2,}$/,N=/^cart_[a-zA-Z0-9]{2,}$/,D=async e=>{const{isDgsCartId:o,isLegacyCartId:t}=(e=>e?e.includes("undefined")?{isDgsCartId:!1,isLegacyCartId:!1}:N.test(e)?{isDgsCartId:!0,isLegacyCartId:!1}:U.test(e)?{isDgsCartId:!1,isLegacyCartId:!0}:P.test(e)?{isDgsCartId:!0,isLegacyCartId:!1}:$.test(e)?{isDgsCartId:!1,isLegacyCartId:!0}:{isDgsCartId:!1,isLegacyCartId:!1}:{isDgsCartId:!1,isLegacyCartId:!1})(e);if(!t&&!o)return s("[ZONOS - loadZonos] invalid cart id"),null;const n=await T({cartId:e,retries:5});return r("[ZONOS - loadZonos] getting temp cart data","info",n),n?(window.Zonos.storeId=n.cartData.storeId,window.Zonos.zonosApiKey=n.cartData.credentialToken,window.Zonos.zonosMode=n.zonosMode,{cartData:n.cartData,settings:n.settings,storeFavicon:n.storeFaviconUrl,storeId:n.cartData.storeId,storeLogo:n.storeLogoUrl,zonosApiKey:n.cartData.credentialToken}):(s("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process."),null)},F="zonos--checkout-hidden-international-button";var R;const M=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:o,isWhiteListed:t}=(({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const o=new URL(e).origin,t=["dev.elements.zonos.com","dev.assets-checkout.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}})({loadScriptSrc:null==e?void 0:e.src});return t?o:null})(),x="https://v1.3.206.js.zonos.com",B=M||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.206",q="https://fonts.googleapis.com",W=/^https:\/\/fonts\.googleapis\.com/;class K{}R=K,K.doneInit=!1,K.cartSettings=null,K.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),K.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),K._paypalMockResponse=null,K.iframeLogType="undefined"!=typeof window?new URLSearchParams(window.location.search).get("iframeLogType"):null,K.isBigCommerce=!1,K.releaseDate="1748444012514",K.isLegacyCheckout=!1,K.domain="undefined"!=typeof window?window.location!=window.parent.location&&document.referrer||document.location.hostname:"",K.showBaseForeign="undefined"!=typeof window&&window.location.search.includes("zonosShowBaseForeign"),K.overrideUseCustomAddressForm=!1,K.isNpm=!0,K.zonosQaUrl=null,K.zonosQaUrlApi=null,K.trackEventLogs=[],K.version="v1.3.206",K.modeAlerted=!1,K.cartData=null,K.paypal=null,K.zonosMode=null,K.IframeService=o,K.getCurrentTimestamp=()=>(new Date).getTime(),K.zonosController=null,K.loadTimeApiInfoList=[],K.logIntervalId=null,K.init=async e=>{const{appearance:o,checkoutSettings:t,currencyConverter:n,helloSettings:i,onCountryChange:a,overrideCurrencyFormat:l,storeId:u,zonosApiKey:p}=e;if(R.cartId=new URLSearchParams(window.location.search).get("tempCartUUID"),R.doneInit)return;if(r(`====== ZONOS DEBUG MODE: on (${R.version}) ======`),R.zonosApiKey=p,R.storeId=u,R.isNpm){r("====== ZONOS LOADING FROM NPM ======");const o=j();if(o&&!window.isZonosPreview){r(`====== RE-INJECT "zonos.js" FROM PRVIEW: ${o} ======`,"info");const t=document.createElement("script");return t.src=`${o}/dist/scripts/zonos.js`,document.head.appendChild(t),t.addEventListener("load",(()=>{window.Zonos.isNpm=R.isNpm,window.Zonos.isBigCommerce=R.isBigCommerce,window.Zonos.isLegacyCheckout=R.isLegacyCheckout,window.Zonos.init(e)})),t.addEventListener("error",(()=>{alert(`[ZONOS - loadZonos] Failed to load "loadZonos.js" from zonosQaUrl: ${o}`)})),void(window.isZonosPreview=!0)}if(!p&&!R.cartId)return void s("Zonos API key is required unless `tempCartUUID` is provided in url query params.");if(!R.cartData&&R.cartId){r("Initialize cart data");const e=await D(R.cartId);if(!e)return void s("Failed to get cart data");R.cartData=e.cartData,R.zonosApiKey=e.zonosApiKey,R.cartSettings=e.settings}const t=await(async()=>{const e=c(),o=d();if(!e&&!o||!window.Zonos.zonosApiKey)return null;if(r("[ZONOS - loadZonos] Attempt test public credential","info"),window.Zonos.zonosApiKey.includes("credential_test"))return r("[ZONOS - loadZonos] Test mode is enabled but the API key is already a test key","info"),null;const{errors:t,json:n}=await z("/api/get-test-public-credential");if(t.length||!n)return s("[ZONOS - loadZonos] Failed to get test public credential. Keep using production key",t),null;const i=n.publicCredential;return i?(r(`[ZONOS - loadZonos] Retrieve new test public token ${i}`,"info"),i):(s("[ZONOS - loadZonos] No test public key credential. Keep using production key"),null)})();t&&(R.zonosApiKey=t)}const m=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");if(R.cartId&&R.cartData||!!m){r("Cart data or stripe client secret is available, inject hidden button and trigger checkout");const e=document.createElement("button");e.style.display="none",e.id="zonos--checkout-hidden-button",document.body.appendChild(e)}r("init zonos"),R.restoreNativeBrowserFunctions(),R.injectCustomScriptForHostedCheckout(),R.injectZonosCdn(),R.injectZonosCss(),R.injectFonts(),R.injectCheckoutInternationalButton(),R.injectController({config:{appearance:o,checkoutSettings:t,currencyConverter:n,helloSettings:i,onCountryChange:a,overrideCurrencyFormat:l}}),R.doneInit=!0},K.injectCheckoutInternationalButton=()=>{if(!document.querySelector(`#${F}`)){const e=document.createElement("button");e.id=F,e.style.display="none",document.body.appendChild(e)}},K.injectCustomScriptForHostedCheckout=()=>{const e=R.cartData,o=(null==e?void 0:e.metadata)||[],t=o.find((e=>"customHeaderScript"===e.key)),n=o.find((e=>"customFooterScript"===e.key));if(window.Zonos.isLegacyCheckout&&(t||n)){if(t){r("Injecting custom header script");const e=document.createElement("script");e.textContent=t.value,document.head.appendChild(e)}if(n){r("Injecting custom footer script");const e=document.createElement("script");e.textContent=n.value,document.body.appendChild(e)}}else r("Skip injecting custom script for hosted checkout","info",{footerScript:n,headerScript:t,isLegacyCheckout:window.Zonos.isLegacyCheckout})},K.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},K.triggerCheckoutInternational=async()=>{const e=document.querySelector(`#${F}`);setTimeout((()=>{var o;e&&e.dispatchEvent(new CustomEvent("click",{detail:o}))}),10)},K.openHelloDialog=e=>{const o=document.querySelector("zonos-hello");o&&o.openHelloDialog(null==e||e)},K.showNotification=e=>{var o;null===(o=R.zonosController)||void 0===o||o.showNotification(e)},K.updateOrganizationName=e=>{var o;null===(o=R.zonosController)||void 0===o||o.updateOrganizationName(e)},K.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)}},K.restoreNativeBrowserFunctions=()=>{var e;if("1"===new URL(window.location.href).searchParams.get("useMerchantPolyfill"))return;const o="zonos---native-browser";let t=document.querySelector(`iframe#${o}`);t||(t=document.createElement("iframe"),t.id=o,t.style.display="none",t.style.opacity="0",t.style.position="absolute",t.style.top="-9999px",t.style.left="-9999px",t.style.width="1px",t.style.height="1px",t.style.border="none",t.style.overflow="hidden",t.style.visibility="hidden",document.body.appendChild(t));const n=(null===(e=t.contentWindow)||void 0===e?void 0:e.window.Array.from)||Array.from;Array.from=n,document.body.removeChild(t)},K.injectController=({config:e})=>{var o,t;if(document.querySelector("zonos-controller"))return;if(null===(o=e.checkoutSettings)||void 0===o?void 0:o.placeOrderButtonSelector){const o=e.checkoutSettings.placeOrderButtonSelector;R.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o});new MutationObserver((()=>{R.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o})})).observe(document.body,{childList:!0,subtree:!0})}if(null===(t=e.checkoutSettings)||void 0===t?void 0:t.alwaysTriggerInternationalCheckoutSelector){const o=e.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;R.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o});new MutationObserver((()=>{R.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o})})).observe(document.body,{childList:!0,subtree:!0})}const n=document.createElement("zonos-controller");n.config=e,n.zonosApiKey=R.zonosApiKey||"",n.addEventListener("stripeInitEvent",(async e=>{const{detail:o}=e;r("loading Stripe");const t=await(async(...e)=>{E=!0;const o=Date.now();return A.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);t?(window.Zonos.stripe=t,n.initCheckoutElement(t)):s("API seems to be invalid or missing. Failed to load Stripe")})),document.body.appendChild(n),R.zonosController=n,r("Zonos controller injected!")},K.injectScript=({cdnType:e,isModule:o,theRestUrl:t})=>{const n=`${R.getZonosUrl(e)}/${t}`;if(document.querySelector(`script[src="${n}"]`))return void r(`Zonos script "${n}" already exists in the document`,"warn");const i=document.head||document.body,a=document.createElement("script");o?a.type="module":a.noModule=!0,a.src=n,a.crossOrigin="anonymous",a.onerror=()=>{s(`Failed to load ${a.src}`);const n=l(e);n&&R.injectScript({cdnType:n,isModule:o,theRestUrl:t})},i.appendChild(a)},K.getZonosUrl=e=>{const o=()=>{switch(e){case"jsdelivr":return B;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.206";case"cdnjs":return"https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.206";case"vercel":return x}};if(R.isNpm){return j()||o()}return o()},K.injectZonosCdn=()=>{R.injectScript({cdnType:a,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),R.injectScript({cdnType:a,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),r("Zonos cdn script injected!")},K.injectStylesheet=({cdnType:e,theRestUrl:o})=>{const t=R.getZonosUrl(e),n=document.head||document.body,r=document.createElement("link");r.rel="preconnect",r.href=`${x}/`,n.appendChild(r);const i=document.createElement("link");i.rel="stylesheet",i.href=`${t}/${o}`,i.onerror=()=>{s(`Failed to load ${i.href}`);const t=l(e);t&&R.injectStylesheet({cdnType:t,theRestUrl:o})},n.appendChild(i)},K.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?r("Zonos style links already injected","warn"):(R.injectStylesheet({cdnType:a,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),r("Zonos style css injected!"))},K.injectFonts=()=>{if((()=>{if(document.fonts.check("1em Inter"))return void r("Inter font already loaded","warn");const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${q}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&!W.test(t.href))return t}return null})())return void r("Inter font already injected","warn");const e=document.head||document.body,o=document.createElement("link");o.rel="preconnect",o.href=q,e.appendChild(o);const t=document.createElement("link");t.rel="stylesheet",t.href=`${q}/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap`,e.appendChild(t),r("Zonos font injected!")},K.setupGoogleFont=e=>{var o;null===(o=R.zonosController)||void 0===o||o.setupGoogleFont(e)},K.injectSupportGoogleFont=e=>{var o;r(`[FONT] injecting ${e}`);const t=null===(o=e.match(/family=(.*?):/))||void 0===o?void 0:o[1],n=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${q}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=q,n.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${e}"]`))return void r(`[FONT] ${t} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=e,n.appendChild(s),r(`[FONT] ${t} font injected!`)},window.Zonos&&window.Zonos.doneInit||(window.Zonos=K)})();
1
+ (function(){"use strict";const e=({id:e,payload:t,target:o,type:n})=>{var r;o instanceof HTMLIFrameElement?null===(r=o.contentWindow)||void 0===r||r.postMessage({id:e,payload:t,type:n},"*"):o.postMessage({id:e,payload:t,type:n},"*")};class t{constructor(t,o){this.targetElement=t,this.targetId=o,this.sendMessage=(t,o)=>{e({id:this.targetId,payload:o,target:this.targetElement,type:t})}}}t.iframeServices={GOOGLE_PLACES:"zonos--private-iframe-google-places-service-m9bmuh7g"},t.sendMessage=e,t.injectPrivateIframe=({id:e,onload:t,src:o})=>{const n=document.createElement("iframe");return n.src=o,n.id=e,n.style.display="none",n.role="presentation",n.ariaHidden="true",n.tabIndex=-1,n.style.border="none !important",n.style.margin="0px !important",n.style.padding="0px !important",n.style.width="1px !important",n.style.minWidth="100% !important",n.style.overflow="hidden !important",n.style.display="block !important",n.style.visibility="hidden !important",n.style.position="fixed !important",n.style.pointerEvents="none !important",n.style.userSelect="none !important",n.style.height="1px !important",n.onload=()=>t(n),document.body.appendChild(n),n};const o=performance.now(),n=e=>{if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(t){if(e&&"function"==typeof e.toString){return e.toString()}return"Unable to stringify info"}},r=(e,t,...r)=>{var s,i;const{elapsedTimePretty:a}=(()=>{const e=performance.now()-o,t=e>1e3?`${(e/1e3).toFixed(2)}s`:`${e.toFixed(2)}ms`;return{elapsedTime:e,elapsedTimePretty:t}})(),l=[`(${a})`,...r];l.map(n).join(" ");if(!(!!(null===(s=window.Zonos)||void 0===s?void 0:s.debug)||!!window.location.search.match(/\?.*(&*)zonosDebug=1/)))return void("error"===t&&console.error(e,...l));let d=document.querySelector("iframe#zonos---debug-logging-iframe");d||(d=document.createElement("iframe"),d.id="zonos---debug-logging-iframe",d.style.display="none",d.style.opacity="0",d.style.position="absolute",d.style.top="-9999px",d.style.left="-9999px",d.style.width="1px",d.style.height="1px",d.style.border="none",d.style.overflow="hidden",d.style.visibility="hidden",document.body.appendChild(d));const c=(null===(i=d.contentWindow)||void 0===i?void 0:i.window.console)||window.console;switch(t){case"warn":c.warn(e,...l);break;case"info":c.info(e,...l);break;case"error":c.error(e,...l);break;default:c.groupCollapsed(e,...l),c.trace(),c.groupEnd()}},s=(e,...t)=>{r(e,"error",...t)},i=["jsdelivr","cdnjs","unpkg","vercel"],a="jsdelivr",l=e=>{const t=i.indexOf(e);return i[t+1]||null},d=()=>window.location.search.includes("zonosStagingMode=1"),c=()=>{var e;return(null===(e=window.Zonos.zonosApiKey)||void 0===e?void 0:e.includes("test"))||window.location.search.includes("zonosTestMode=1")};function u(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]])}return o}"function"==typeof SuppressedError&&SuppressedError;const p=["cloudflare","vercel"],m=p[0],w={cloudflare:"https://route.elements.zonos.com",vercel:"https://route.js.zonos.com"},h=w[m],y=(e=m)=>{const t=p.indexOf(e),o=p[t+1];return o||null},g=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(e){return null}return null},f=()=>{const e="userAgentData"in window.navigator?window.navigator.userAgentData:null,t=(()=>{const e="connection"in window.navigator?window.navigator.connection:null,t="mozConnection"in window.navigator?window.navigator.mozConnection:null,o="webkitConnection"in window.navigator?window.navigator.webkitConnection:null;return e||t||o})();return{connectionDownlink:null==t?void 0:t.downlink,connectionEffectiveType:null==t?void 0:t.effectiveType,connectionRtt:null==t?void 0:t.rtt,connectionSaveData:null==t?void 0:t.saveData,isHostedCheckout:window.Zonos.isLegacyCheckout,screenHeight:window.screen.height,screenWidth:window.innerWidth,userAgent:e&&e.brands.length>0?e:window.navigator.userAgent}},v=["/api/zonos-elements/log-script-load","/api/zonos-elements/log-bulk-load-data"],b=async({response:e,shouldLog:t=!0,shouldThrow:o=!1})=>{try{const t=await e.text(),o=g(t);if(!o)throw new Error(`Failed to parse content: ${t}`);return o}catch(e){if(o)throw e;return t&&console.error(e),null}},S=async({basePathType:e,options:t,path:o})=>{let n;const r=window.Zonos.zonosQaUrlApi||w[e]||m,s=new URL(r+o),i=window.Zonos.cartId?`${window.location.hostname}-${window.Zonos.cartId}`:window.location.hostname;s.searchParams.set("zToken",(e=>{try{return btoa(e).replace(/=/g,"")}catch(t){return e.replace(/[^A-Za-z0-9]/g,"").split("").reverse().join("")}})(i));try{n=await fetch(s.toString(),t)}catch(e){if(e instanceof Error)return{baseUrl:r,errors:[{message:e.message,type:"unknown"}],json:null,response:null,zonosMode:null};return{baseUrl:r,errors:[{message:"Failed to fetch",type:"unknown"}],json:null,response:null,zonosMode:null}}const a=n.headers.get("Zonos-Mode"),l=window.Zonos.zonosQaUrl;if(!window.Zonos.modeAlerted&&a&&l&&(window.Zonos.modeAlerted=!0),n.ok){return{baseUrl:r,errors:[],json:await b({response:n}),response:n,zonosMode:a}}const d=n.status.toString();try{const e=await b({response:n,shouldThrow:!0});if(e&&"errors"in e&&Array.isArray(e.errors)){const t=e.errors;return{baseUrl:r,errors:t.map((e=>"string"==typeof e?{message:e,type:d}:e)),json:null,response:n,zonosMode:a}}return{baseUrl:r,errors:[{message:JSON.stringify(e),type:d}],json:null,response:n,zonosMode:a}}catch(e){return{baseUrl:r,errors:[{message:`${d}: ${"Unknown error"}`,type:d}],json:null,response:null,zonosMode:a}}},C=async({basePathType:e,options:t,path:o})=>{var n,s;const i=o.startsWith("/api/bigcommerce")?"vercel":e,a=performance.now(),l=await S({basePathType:i,options:t,path:o}),{errors:d,response:c}=l,p=u(l,["errors","response"]),m=performance.now()-a;r(`${o} (${m.toFixed(2)}ms)`,"info");const b=null==c?void 0:c.headers.get("Zonos-Duration");200===(null==c?void 0:c.status)&&(({apiPath:e,apiType:t,loadTimeInternal:o,loadTimeTotal:n})=>{if(v.includes(e))return;const r=n-o;if(r<0)return;const s=e.split("?")[0]||e,i=f(),a="object"==typeof i.userAgent&&i.userAgent.mobile,l={apiType:t,connectionType:i.connectionEffectiveType,href:s,isHostedCheckout:window.Zonos.isLegacyCheckout,isMobile:(d=a,d||window.innerWidth<890),loadTimeBrowserApi:r,loadTimeInternal:o,loadTimeTotal:n,metadata:Object.assign({},i),screenHeight:i.screenHeight,screenWidth:i.screenWidth,userAgent:"string"==typeof i.userAgent?i.userAgent:i.userAgent.brands.map((e=>e.brand)).filter((e=>!/Not.*A.*Brand.*/.test(e))).join(",")};var d;window.Zonos.loadTimeApiInfoList.push(l)})({apiPath:o,apiType:i,loadTimeInternal:b?Number(b):0,loadTimeTotal:m});const z=y(i),k=!!d.find((({type:e})=>"unknown"===e))||404===(null==c?void 0:c.status),j=z&&k;return k&&(async({endpoint:e,errors:t,metadata:o,shouldPostReleaseErrorReporting:n})=>{r("sendErrorLog","warn",e,o,t);{const e=Number(window.Zonos.releaseDate);if((new Date).getTime()-e>36e5)return}const s="userAgentData"in window.navigator?window.navigator.userAgentData:null,i={endpoint:e,errors:t,href:window.location.href,metadata:Object.assign({appVersion:window.Zonos.version,domain:window.Zonos.domain,publicCredential:window.Zonos.zonosApiKey,userAgent:s&&s.brands.length>0?s:window.navigator.userAgent},o)};try{fetch(`${h}/api/zonos-elements/log-error`,{body:JSON.stringify(i),headers:{"Zonos-Referer":window.location.hostname},method:"POST"})}catch(e){const t=y();if(!t)return;fetch(`${w[t]}/api/zonos-elements/log-error`,{body:JSON.stringify(i),method:"POST"})}})({endpoint:w[i]+o,errors:d.map((({message:e})=>`API: ${e}`)),metadata:{currentBasePath:i,nextFallbackApiType:z,requestHeaders:null==t?void 0:t.headers,requestPayload:g(null===(n=null==t?void 0:t.body)||void 0===n?void 0:n.toString())||(null===(s=null==t?void 0:t.body)||void 0===s?void 0:s.toString()),status:null==c?void 0:c.status,statusText:null==c?void 0:c.statusText},shouldPostReleaseErrorReporting:!0}),j?(r(`=== "${o}" failed to fetch, trying next fallback ${z}`),C({basePathType:z,options:t,path:o})):Object.assign({errors:d,response:c},p)},z=async(e,t)=>{const o=u(t||{},[]),n=o.body?JSON.stringify(o.body):void 0,r=o.method||"GET",s=Object.assign({"Content-Type":"application/json","Zonos-Is-BigCommerce":window.Zonos.isBigCommerce.toString(),"Zonos-Referer":window.location.hostname,"Zonos-Staging-Mode":d()?"1":void 0,"Zonos-Test-Mode":c()?"1":void 0,"Zonos-Version":window.Zonos.version,credentialtoken:window.Zonos.zonosApiKey||"Empty credential token from zonos-elements"},o.headers);Object.keys(s).forEach((e=>void 0===s[e]&&delete s[e]));const i=Object.assign(Object.assign({},o),{body:"GET"===r?void 0:n,headers:s,method:r}),a=new URLSearchParams(window.location.search).get("useFallbackApi");return C({basePathType:a||m,options:i,path:e})},k=()=>{const e=window&&window.location.href.includes("forceLoadCdn");if("undefined"==typeof window||e)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),o="https://v1.3.208.js.zonos.com";if(!t&&(o.includes("test.")||o.includes("test-")))return o;if(!t&&["dev.demo.elements.zonos.com","dev.checkout.elements.zonos.com"].includes(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 r(`[ZONOS-WARNING] using '${n}' for loading elements 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},j="https://js.stripe.com/v3",O=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;let Z=null;const I=e=>(null!==Z||(Z=new Promise(((t,o)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe)t(window.Stripe);else try{let n=(()=>{const e=document.querySelectorAll(`script[src^="${j}"]`);for(let t=0;t<e.length;t++){const o=e[t];if(o&&O.test(o.src))return o}return null})();n&&e?console.warn("loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used"):n||(n=(e=>{const t=document.createElement("script");t.src=`${j}`;const o=document.head||document.body;return o?(o.appendChild(t),t):(s("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})()),null==n||n.addEventListener("load",(()=>{window.Stripe?t(window.Stripe):o(new Error("Stripe.js not available"))})),null==n||n.addEventListener("error",(()=>{o(new Error("Failed to load Stripe.js"))}))}catch(e){return void o(e)}else t(null)}))),Z),A=Promise.resolve().then((()=>I(null)));let E=!1;A.catch((e=>{E||console.warn(e)}));const T=async({cartId:e,retries:t})=>{const o=c(),n=(()=>{const e=new URLSearchParams(window.location.search);return{overrideShouldEnabledCustomAddress:window.Zonos.overrideUseCustomAddressForm?"1":e.get("overrideShouldEnabledCustomAddress")}})(),s=(()=>{const e=new URLSearchParams(window.location.search).get("validityToken");if(!e||!/^[A-Za-z0-9+/]+={0,2}$/.test(e)||e.length%4!=0)return null;try{return atob(e),e}catch(e){return null}})()||void 0,i=new URLSearchParams;n.overrideShouldEnabledCustomAddress&&i.set("overrideShouldEnabledCustomAddress",n.overrideShouldEnabledCustomAddress);const{errors:a,json:l,zonosMode:d}=await z(`/api/zonos-elements/get-cart?${i.toString()}`,{body:{isTestMode:o,renewCartExpirationToken:s,tempCartUUID:e},headers:{"Content-Type":"application/json"},method:"POST"}),u=!l||a.length;return u&&t?(r("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:t}),await new Promise((e=>setTimeout(e,500))),T({cartId:e,retries:t-1})):u?null:Object.assign(Object.assign({},l),{zonosMode:d})},L=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,$=new RegExp(`^${L.source}$`),P=new RegExp(`^cart_${L.source}$`),U=/^[a-zA-Z0-9]{2,}$/,N=/^cart_[a-zA-Z0-9]{2,}$/,D=async e=>{const{isDgsCartId:t,isLegacyCartId:o}=(e=>e?e.includes("undefined")?{isDgsCartId:!1,isLegacyCartId:!1}:N.test(e)?{isDgsCartId:!0,isLegacyCartId:!1}:U.test(e)?{isDgsCartId:!1,isLegacyCartId:!0}:P.test(e)?{isDgsCartId:!0,isLegacyCartId:!1}:$.test(e)?{isDgsCartId:!1,isLegacyCartId:!0}:{isDgsCartId:!1,isLegacyCartId:!1}:{isDgsCartId:!1,isLegacyCartId:!1})(e);if(!o&&!t)return s("[ZONOS - loadZonos] invalid cart id"),null;const n=await T({cartId:e,retries:5});return r("[ZONOS - loadZonos] getting temp cart data","info",n),n?(window.Zonos.storeId=n.cartData.storeId,window.Zonos.zonosApiKey=n.cartData.credentialToken,window.Zonos.zonosMode=n.zonosMode,{cartData:n.cartData,settings:n.settings,storeFavicon:n.storeFaviconUrl,storeId:n.cartData.storeId,storeLogo:n.storeLogoUrl,zonosApiKey:n.cartData.credentialToken}):(s("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process."),null)},F="zonos--checkout-hidden-international-button";var R;const M=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:t,isWhiteListed:o}=(({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const t=new URL(e).origin,o=["dev.elements.zonos.com","dev.assets-checkout.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some((e=>t.includes(e))),n=["qa.js.zonos.com"].some((e=>t.includes(e)));return{currentLoadScriptUrl:t,isForceLoadVersionDomain:n,isWhiteListed:o}})({loadScriptSrc:null==e?void 0:e.src});return o?t:null})(),x="https://v1.3.208.js.zonos.com",B=M||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.208",q="https://fonts.googleapis.com",W=/^https:\/\/fonts\.googleapis\.com/;class K{}R=K,K.doneInit=!1,K.cartSettings=null,K.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),K.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),K._paypalMockResponse=null,K.iframeLogType="undefined"!=typeof window?new URLSearchParams(window.location.search).get("iframeLogType"):null,K.isBigCommerce=!1,K.releaseDate="1748878521989",K.isLegacyCheckout=!1,K.domain="undefined"!=typeof window?window.location!=window.parent.location&&document.referrer||document.location.hostname:"",K.showBaseForeign="undefined"!=typeof window&&window.location.search.includes("zonosShowBaseForeign"),K.overrideUseCustomAddressForm=!1,K.isNpm=!0,K.zonosQaUrl=null,K.zonosQaUrlApi=null,K.trackEventLogs=[],K.version="v1.3.208",K.modeAlerted=!1,K.cartData=null,K.paypal=null,K.zonosMode=null,K.IframeService=t,K.getCurrentTimestamp=()=>(new Date).getTime(),K.zonosController=null,K.loadTimeApiInfoList=[],K.logIntervalId=null,K.init=async e=>{const{appearance:t,checkoutSettings:o,currencyConverter:n,helloSettings:i,onCountryChange:a,overrideCurrencyFormat:l,storeId:u,zonosApiKey:p}=e;if(R.cartId=new URLSearchParams(window.location.search).get("tempCartUUID"),R.doneInit)return;if(r(`====== ZONOS DEBUG MODE: on (${R.version}) ======`),R.zonosApiKey=p,R.storeId=u,R.isNpm){r("====== ZONOS LOADING FROM NPM ======");const t=k();if(t&&!window.isZonosPreview){r(`====== RE-INJECT "zonos.js" FROM PRVIEW: ${t} ======`,"info");const o=document.createElement("script");return o.src=`${t}/dist/scripts/zonos.js`,document.head.appendChild(o),o.addEventListener("load",(()=>{window.Zonos.isNpm=R.isNpm,window.Zonos.isBigCommerce=R.isBigCommerce,window.Zonos.isLegacyCheckout=R.isLegacyCheckout,window.Zonos.init(e)})),o.addEventListener("error",(()=>{alert(`[ZONOS - loadZonos] Failed to load "loadZonos.js" from zonosQaUrl: ${t}`)})),void(window.isZonosPreview=!0)}if(!p&&!R.cartId)return void s("Zonos API key is required unless `tempCartUUID` is provided in url query params.");if(!R.cartData&&R.cartId){r("Initialize cart data");const e=await D(R.cartId);if(!e)return void s("Failed to get cart data");R.cartData=e.cartData,R.zonosApiKey=e.zonosApiKey,R.cartSettings=e.settings}const o=await(async()=>{const e=c(),t=d();if(!e&&!t||!window.Zonos.zonosApiKey)return null;if(r("[ZONOS - loadZonos] Attempt test public credential","info"),window.Zonos.zonosApiKey.includes("credential_test"))return r("[ZONOS - loadZonos] Test mode is enabled but the API key is already a test key","info"),null;const{errors:o,json:n}=await z("/api/get-test-public-credential");if(o.length||!n)return s("[ZONOS - loadZonos] Failed to get test public credential. Keep using production key",o),null;const i=n.publicCredential;return i?(r(`[ZONOS - loadZonos] Retrieve new test public token ${i}`,"info"),i):(s("[ZONOS - loadZonos] No test public key credential. Keep using production key"),null)})();o&&(R.zonosApiKey=o)}const m=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");if(R.cartId&&R.cartData||!!m){r("Cart data or stripe client secret is available, inject hidden button and trigger checkout");const e=document.createElement("button");e.style.display="none",e.id="zonos--checkout-hidden-button",document.body.appendChild(e)}r("init zonos"),R.restoreNativeBrowserFunctions(),R.injectCustomScriptForHostedCheckout(),R.injectZonosCdn(),R.injectZonosCss(),R.injectFonts(),R.injectCheckoutInternationalButton(),R.injectController({config:{appearance:t,checkoutSettings:o,currencyConverter:n,helloSettings:i,onCountryChange:a,overrideCurrencyFormat:l}}),R.doneInit=!0},K.injectCheckoutInternationalButton=()=>{if(!document.querySelector(`#${F}`)){const e=document.createElement("button");e.id=F,e.style.display="none",document.body.appendChild(e)}},K.injectCustomScriptForHostedCheckout=()=>{const e=R.cartData,t=(null==e?void 0:e.metadata)||[],o=t.find((e=>"customHeaderScript"===e.key)),n=t.find((e=>"customFooterScript"===e.key));if(window.Zonos.isLegacyCheckout&&(o||n)){if(o){r("Injecting custom header script");const e=document.createElement("script");e.textContent=o.value,document.head.appendChild(e)}if(n){r("Injecting custom footer script");const e=document.createElement("script");e.textContent=n.value,document.body.appendChild(e)}}else r("Skip injecting custom script for hosted checkout","info",{footerScript:n,headerScript:o,isLegacyCheckout:window.Zonos.isLegacyCheckout})},K.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},K.triggerCheckoutInternational=async()=>{const e=document.querySelector(`#${F}`);setTimeout((()=>{var t;e&&e.dispatchEvent(new CustomEvent("click",{detail:t}))}),10)},K.openHelloDialog=e=>{const t=document.querySelector("zonos-hello");t&&t.openHelloDialog(null==e||e)},K.showNotification=e=>{var t;null===(t=R.zonosController)||void 0===t||t.showNotification(e)},K.updateOrganizationName=e=>{var t;null===(t=R.zonosController)||void 0===t||t.updateOrganizationName(e)},K.disablePlaceOrderButtons=({autoEnable:e=!0,config:t,disable:o,placeOrderButtonSelector:n})=>{var r;if(!(null===(r=t.checkoutSettings)||void 0===r?void 0:r.disablePlaceOrderButtonActivation)&&n){const t=document.querySelectorAll(n),r=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};t.forEach((e=>{e.getAttribute("data-zonos-checkout-attached")||(o?(e.setAttribute("disabled","true"),e.addEventListener("click",r)):(e.removeAttribute("disabled"),e.removeEventListener("click",r)))})),e&&o&&setTimeout((()=>{t.forEach((e=>{e.removeAttribute("disabled"),e.removeEventListener("click",r)}))}),5e3)}},K.restoreNativeBrowserFunctions=()=>{var e;if("1"===new URL(window.location.href).searchParams.get("useMerchantPolyfill"))return;const t="zonos---native-browser";let o=document.querySelector(`iframe#${t}`);o||(o=document.createElement("iframe"),o.id=t,o.style.display="none",o.style.opacity="0",o.style.position="absolute",o.style.top="-9999px",o.style.left="-9999px",o.style.width="1px",o.style.height="1px",o.style.border="none",o.style.overflow="hidden",o.style.visibility="hidden",document.body.appendChild(o));const n=(null===(e=o.contentWindow)||void 0===e?void 0:e.window.Array.from)||Array.from;Array.from=n,document.body.removeChild(o)},K.injectController=({config:e})=>{var t,o;if(document.querySelector("zonos-controller"))return;if(null===(t=e.checkoutSettings)||void 0===t?void 0:t.placeOrderButtonSelector){const t=e.checkoutSettings.placeOrderButtonSelector;R.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:t});new MutationObserver((()=>{R.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:t})})).observe(document.body,{childList:!0,subtree:!0})}if(null===(o=e.checkoutSettings)||void 0===o?void 0:o.alwaysTriggerInternationalCheckoutSelector){const t=e.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;R.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:t});new MutationObserver((()=>{R.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:t})})).observe(document.body,{childList:!0,subtree:!0})}const n=document.createElement("zonos-controller");n.config=e,n.zonosApiKey=R.zonosApiKey||"",n.addEventListener("stripeInitEvent",(async e=>{const{detail:t}=e;r("loading Stripe");const o=await(async(...e)=>{E=!0;const t=Date.now();return A.then((o=>((e,t,o)=>{if(null===e)return null;const n=e.apply(void 0,t);return((e,t)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:t})})(n,o),n})(o,e,t)))})(t.publishableKey);o?(window.Zonos.stripe=o,n.initCheckoutElement(o)):s("API seems to be invalid or missing. Failed to load Stripe")})),document.body.appendChild(n),R.zonosController=n,r("Zonos controller injected!")},K.injectScript=({cdnType:e,isModule:t,theRestUrl:o})=>{const n=`${R.getZonosUrl(e)}/${o}`;if(document.querySelector(`script[src="${n}"]`))return void r(`Zonos script "${n}" already exists in the document`,"warn");const i=document.head||document.body,a=document.createElement("script");t?a.type="module":a.noModule=!0,a.src=n,a.crossOrigin="anonymous",a.onerror=()=>{s(`Failed to load ${a.src}`);const n=l(e);n&&R.injectScript({cdnType:n,isModule:t,theRestUrl:o})},i.appendChild(a)},K.getZonosUrl=e=>{const t=()=>{switch(e){case"jsdelivr":return B;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.208";case"cdnjs":return"https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.208";case"vercel":return x}};if(R.isNpm){return k()||t()}return t()},K.injectZonosCdn=()=>{R.injectScript({cdnType:a,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),R.injectScript({cdnType:a,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),r("Zonos cdn script injected!")},K.injectStylesheet=({cdnType:e,theRestUrl:t})=>{const o=R.getZonosUrl(e),n=document.head||document.body,r=document.createElement("link");r.rel="preconnect",r.href=`${x}/`,n.appendChild(r);const i=document.createElement("link");i.rel="stylesheet",i.href=`${o}/${t}`,i.onerror=()=>{s(`Failed to load ${i.href}`);const o=l(e);o&&R.injectStylesheet({cdnType:o,theRestUrl:t})},n.appendChild(i)},K.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?r("Zonos style links already injected","warn"):(R.injectStylesheet({cdnType:a,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),r("Zonos style css injected!"))},K.injectFonts=()=>{if((()=>{if(document.fonts.check("1em Inter"))return void r("Inter font already loaded","warn");const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${q}"]`);for(let t=0;t<e.length;t++){const o=e[t];if(o&&!W.test(o.href))return o}return null})())return void r("Inter font already injected","warn");const e=document.head||document.body,t=document.createElement("link");t.rel="preconnect",t.href=q,e.appendChild(t);const o=document.createElement("link");o.rel="stylesheet",o.href=`${q}/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap`,e.appendChild(o),r("Zonos font injected!")},K.setupGoogleFont=e=>{var t;null===(t=R.zonosController)||void 0===t||t.setupGoogleFont(e)},K.injectSupportGoogleFont=e=>{var t;r(`[FONT] injecting ${e}`);const o=null===(t=e.match(/family=(.*?):/))||void 0===t?void 0:t[1],n=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${q}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=q,n.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${e}"]`))return void r(`[FONT] ${o} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=e,n.appendChild(s),r(`[FONT] ${o} font injected!`)},window.Zonos&&window.Zonos.doneInit||(window.Zonos=K)})();
@@ -124,7 +124,9 @@ export declare class ZonosCheckout {
124
124
  private buildCartAndInit;
125
125
  private reloadCheckoutSession;
126
126
  private handleOrderDuplication;
127
+ private recordCheckoutInfo;
127
128
  private confirmProceedWithOrderDuplication;
129
+ private markTheSessionAsAbandonedCart;
128
130
  private handleCancelOrderDuplication;
129
131
  private initializeTestKeys;
130
132
  private shouldAllowHostedVsNativeTest;
@@ -1,32 +1,69 @@
1
+ import type { VirtualScrollRenderItem } from "../../../types/common-ui/VirtualScroll";
1
2
  /**
2
- * The idea is from
3
+ * Virtual scroll component for efficiently rendering large lists
4
+ *
5
+ * The idea is from:
3
6
  * @ref https://github.com/beenotung/stencil-virtual-scroll/blob/master/src/components/virtual-scroll-list/virtual-scroll-list.scss
4
7
  * @ref https://github.dev/ionic-team/ionic-framework/blob/v6.7.5/core/src/components/virtual-scroll/virtual-scroll.tsx
5
8
  */
6
9
  export declare class ZonosVirtualScroll {
7
- ele: HTMLZonosVirtualScrollElement;
8
- container?: HTMLElement;
10
+ private readonly element;
9
11
  /**
10
- * Render item
12
+ * Function to render each item in the virtual scroll
11
13
  */
12
- renderItem: (itemIndex: number) => HTMLElement | Promise<HTMLElement> | HTMLElement[] | Promise<HTMLElement[]> | Promise<HTMLElement>[];
14
+ renderItem: VirtualScrollRenderItem;
13
15
  /**
14
- * Width of each item
16
+ * Width of each item in pixels
15
17
  */
16
18
  itemWidth?: number;
17
19
  /**
18
- * Height that is used as a fallback if height is not provided
20
+ * Fallback height used when specific item height is not provided
19
21
  */
20
22
  fallbackItemHeight: number;
21
23
  /**
22
- * Heights list of each item
24
+ * Array of heights for each item in pixels
23
25
  */
24
26
  itemHeights: number[];
25
- scrollTop: number;
26
- totalHeight: number;
27
- updateTotalHeight(): void;
28
- private scrollListener;
27
+ /**
28
+ * Buffer size in pixels for pre-rendering items outside viewport
29
+ * @default 100
30
+ */
31
+ buffer: number;
32
+ /**
33
+ * Current scroll position
34
+ */
35
+ private scrollTop;
36
+ /**
37
+ * Total height of all items combined
38
+ */
39
+ private totalHeight;
40
+ /**
41
+ * Client dimensions of the scroll container
42
+ */
43
+ private containerDimensions;
44
+ /**
45
+ * Watch for changes in item heights or fallback height and recalculate total height
46
+ */
47
+ private updateTotalHeight;
48
+ /**
49
+ * Update container dimensions when element size changes
50
+ */
51
+ private updateContainerDimensions;
52
+ /**
53
+ * Handle scroll events
54
+ */
55
+ private handleScroll;
56
+ /**
57
+ * Calculate which items should be rendered based on current scroll position
58
+ */
59
+ private getVisibleItems;
60
+ /**
61
+ * Component lifecycle - setup event listeners and initial calculations
62
+ */
29
63
  connectedCallback(): void;
64
+ /**
65
+ * Component lifecycle - cleanup event listeners
66
+ */
30
67
  disconnectedCallback(): void;
31
68
  render(): any;
32
69
  }
@@ -5,6 +5,7 @@ import type { RestrictedItem } from "../../../types/hello/RestrictedItem";
5
5
  import type { ICountryJson } from "../../../types/ICountryJson";
6
6
  export declare class ZonosHello {
7
7
  private helloRef?;
8
+ private observerWatcher?;
8
9
  /**
9
10
  * Force mobile styling instead of media query and use the passed location value
10
11
  * @default false
@@ -60,6 +61,7 @@ export declare class ZonosHello {
60
61
  private watchPriceChange;
61
62
  private updateHelloOnPageChange;
62
63
  componentWillLoad(): void;
64
+ disconnectedCallback(): void;
63
65
  /**
64
66
  * This method will trigger the currency conversion and display the converted value
65
67
  * @returns void
@@ -4,7 +4,7 @@ export declare const getLocaleMessages: ({ countryCode, localeTo, storeId, }: {
4
4
  localeTo?: string;
5
5
  storeId: number;
6
6
  }) => Promise<{
7
- countryCodes: Array<string>;
7
+ countryCodes: Array<string> | null;
8
8
  countryCodesPageMessageLinks: Array<{
9
9
  id: number;
10
10
  message: {
@@ -0,0 +1,7 @@
1
+ import type { CheckoutSessionUpdateAttribute } from "../../../types/index";
2
+ export declare const updateCheckoutSessionAttributes: ({ attributes, checkoutSessionId, }: {
3
+ attributes: CheckoutSessionUpdateAttribute[];
4
+ checkoutSessionId: string;
5
+ }) => Promise<{
6
+ success: boolean;
7
+ } | undefined>;
@@ -0,0 +1 @@
1
+ export declare const getAbandonedCartRenewTokenValue: () => string | null;
@@ -29,6 +29,7 @@ import { SpinnerColor } from "./components/common/zonos-spinner/zonos-spinner";
29
29
  import { GenericZonosSettings } from "./types/utils/ZonosSettings";
30
30
  import { ToggleItem } from "./types/common-ui/Toggle";
31
31
  import { GridSpacing } from "./types/styles/GridSpacing";
32
+ import { VirtualScrollRenderItem } from "./types/common-ui/VirtualScroll";
32
33
  export { ContactOption, PaymentIntent, Stripe, StripeAddressElementChangeEvent } from "@stripe/stripe-js";
33
34
  export { EnteredInfo, TranslatedAddressObject } from "./types/checkout/TranslatedText";
34
35
  export { EventPayloadMap, IframeSuggestionsResponsePayload } from "./components/utils/iframe/IframeHelpers";
@@ -53,6 +54,7 @@ export { SpinnerColor } from "./components/common/zonos-spinner/zonos-spinner";
53
54
  export { GenericZonosSettings } from "./types/utils/ZonosSettings";
54
55
  export { ToggleItem } from "./types/common-ui/Toggle";
55
56
  export { GridSpacing } from "./types/styles/GridSpacing";
57
+ export { VirtualScrollRenderItem } from "./types/common-ui/VirtualScroll";
56
58
  export namespace Components {
57
59
  interface ZonosAddress {
58
60
  /**
@@ -1262,34 +1264,33 @@ export namespace Components {
1262
1264
  "spacing": GridSpacing;
1263
1265
  }
1264
1266
  /**
1265
- * The idea is from
1267
+ * Virtual scroll component for efficiently rendering large lists
1268
+ * The idea is from:
1266
1269
  * @ref https://github.com/beenotung/stencil-virtual-scroll/blob/master/src/components/virtual-scroll-list/virtual-scroll-list.scss
1267
1270
  * @ref https://github.dev/ionic-team/ionic-framework/blob/v6.7.5/core/src/components/virtual-scroll/virtual-scroll.tsx
1268
1271
  */
1269
1272
  interface ZonosVirtualScroll {
1270
1273
  /**
1271
- * Height that is used as a fallback if height is not provided
1274
+ * Buffer size in pixels for pre-rendering items outside viewport
1275
+ * @default 100
1276
+ */
1277
+ "buffer": number;
1278
+ /**
1279
+ * Fallback height used when specific item height is not provided
1272
1280
  */
1273
1281
  "fallbackItemHeight": number;
1274
1282
  /**
1275
- * Heights list of each item
1283
+ * Array of heights for each item in pixels
1276
1284
  */
1277
1285
  "itemHeights": number[];
1278
1286
  /**
1279
- * Width of each item
1287
+ * Width of each item in pixels
1280
1288
  */
1281
1289
  "itemWidth"?: number;
1282
1290
  /**
1283
- * Render item
1291
+ * Function to render each item in the virtual scroll
1284
1292
  */
1285
- "renderItem": (
1286
- itemIndex: number,
1287
- ) =>
1288
- | HTMLElement
1289
- | Promise<HTMLElement>
1290
- | HTMLElement[]
1291
- | Promise<HTMLElement[]>
1292
- | Promise<HTMLElement>[];
1293
+ "renderItem": VirtualScrollRenderItem;
1293
1294
  }
1294
1295
  }
1295
1296
  export interface ZonosAddressCustomEvent<T> extends CustomEvent<T> {
@@ -1990,7 +1991,8 @@ declare global {
1990
1991
  new (): HTMLZonosVStackElement;
1991
1992
  };
1992
1993
  /**
1993
- * The idea is from
1994
+ * Virtual scroll component for efficiently rendering large lists
1995
+ * The idea is from:
1994
1996
  * @ref https://github.com/beenotung/stencil-virtual-scroll/blob/master/src/components/virtual-scroll-list/virtual-scroll-list.scss
1995
1997
  * @ref https://github.dev/ionic-team/ionic-framework/blob/v6.7.5/core/src/components/virtual-scroll/virtual-scroll.tsx
1996
1998
  */
@@ -3317,34 +3319,33 @@ declare namespace LocalJSX {
3317
3319
  "spacing"?: GridSpacing;
3318
3320
  }
3319
3321
  /**
3320
- * The idea is from
3322
+ * Virtual scroll component for efficiently rendering large lists
3323
+ * The idea is from:
3321
3324
  * @ref https://github.com/beenotung/stencil-virtual-scroll/blob/master/src/components/virtual-scroll-list/virtual-scroll-list.scss
3322
3325
  * @ref https://github.dev/ionic-team/ionic-framework/blob/v6.7.5/core/src/components/virtual-scroll/virtual-scroll.tsx
3323
3326
  */
3324
3327
  interface ZonosVirtualScroll {
3325
3328
  /**
3326
- * Height that is used as a fallback if height is not provided
3329
+ * Buffer size in pixels for pre-rendering items outside viewport
3330
+ * @default 100
3331
+ */
3332
+ "buffer"?: number;
3333
+ /**
3334
+ * Fallback height used when specific item height is not provided
3327
3335
  */
3328
3336
  "fallbackItemHeight": number;
3329
3337
  /**
3330
- * Heights list of each item
3338
+ * Array of heights for each item in pixels
3331
3339
  */
3332
3340
  "itemHeights": number[];
3333
3341
  /**
3334
- * Width of each item
3342
+ * Width of each item in pixels
3335
3343
  */
3336
3344
  "itemWidth"?: number;
3337
3345
  /**
3338
- * Render item
3346
+ * Function to render each item in the virtual scroll
3339
3347
  */
3340
- "renderItem": (
3341
- itemIndex: number,
3342
- ) =>
3343
- | HTMLElement
3344
- | Promise<HTMLElement>
3345
- | HTMLElement[]
3346
- | Promise<HTMLElement[]>
3347
- | Promise<HTMLElement>[];
3348
+ "renderItem": VirtualScrollRenderItem;
3348
3349
  }
3349
3350
  interface IntrinsicElements {
3350
3351
  "zonos-address": ZonosAddress;
@@ -3470,7 +3471,8 @@ declare module "@stencil/core" {
3470
3471
  "zonos-tooltip": LocalJSX.ZonosTooltip & JSXBase.HTMLAttributes<HTMLZonosTooltipElement>;
3471
3472
  "zonos-v-stack": LocalJSX.ZonosVStack & JSXBase.HTMLAttributes<HTMLZonosVStackElement>;
3472
3473
  /**
3473
- * The idea is from
3474
+ * Virtual scroll component for efficiently rendering large lists
3475
+ * The idea is from:
3474
3476
  * @ref https://github.com/beenotung/stencil-virtual-scroll/blob/master/src/components/virtual-scroll-list/virtual-scroll-list.scss
3475
3477
  * @ref https://github.dev/ionic-team/ionic-framework/blob/v6.7.5/core/src/components/virtual-scroll/virtual-scroll.tsx
3476
3478
  */
@@ -27,6 +27,7 @@ export declare const setupCartDataWithSettings: (cartId: string) => Promise<{
27
27
  type: import("../../types/generated/graphql.internal.types").CartAdjustmentType;
28
28
  }>;
29
29
  createdAt: string;
30
+ expiresAt: string | null;
30
31
  id: string;
31
32
  items: Array<{
32
33
  amount: number;
@@ -34,6 +34,20 @@ export type CheckoutSessionUpdateMetadataRequest = {
34
34
  id: string;
35
35
  metadata: CheckoutSessionUpdateMetadata;
36
36
  };
37
+ export declare const checkoutSessionMutableAttributeKeys: readonly ["ZONOS_FORM_TYPE_USING", "APP_VERSION", "APP_VERSION_NPM_INTEGRATION", "LEGACY_CHECKOUT_FACADE"];
38
+ export declare const checkoutSessionImmutableAttributeKeys: readonly ["ORDER_DUPLICATION_CONSENT", "WITH_ABANDONED_CART_TOKEN"];
39
+ export declare const checkoutSessionAttributeKeys: ("ZONOS_FORM_TYPE_USING" | "APP_VERSION" | "APP_VERSION_NPM_INTEGRATION" | "LEGACY_CHECKOUT_FACADE" | "ORDER_DUPLICATION_CONSENT" | "WITH_ABANDONED_CART_TOKEN")[];
40
+ export type CheckoutSessionUpdateAttributeKey = (typeof checkoutSessionAttributeKeys)[number] | ({
41
+ _?: never;
42
+ } & string);
43
+ export type CheckoutSessionUpdateAttribute = {
44
+ key: CheckoutSessionUpdateAttributeKey;
45
+ value: string;
46
+ };
47
+ export type CheckoutSessionUpdateAttributesRequest = {
48
+ attributes: CheckoutSessionUpdateAttribute[];
49
+ id: string;
50
+ };
37
51
  export type CheckoutSessionCreateRequest = {
38
52
  adjustmentsAmount?: number;
39
53
  cartId: string | null;
@@ -10,6 +10,7 @@ export type GetTempCartByIdPayloadOptions = {
10
10
  export type GetTempCartByIdPayload = {
11
11
  isTestMode?: boolean;
12
12
  options?: GetTempCartByIdPayloadOptions;
13
+ renewCartExpirationToken?: string;
13
14
  tempCartUUID: string;
14
15
  };
15
16
  export type NormalizedTempCartItem = {
@@ -43,6 +44,7 @@ export type NormalizedTempCart = {
43
44
  }[];
44
45
  createdAt: string;
45
46
  credentialToken: string;
47
+ expiresAt?: string | null;
46
48
  id: string;
47
49
  items: NormalizedTempCartItem[];
48
50
  metadata: {
@@ -0,0 +1 @@
1
+ export type VirtualScrollRenderItem = (itemIndex: number) => HTMLElement | Promise<HTMLElement> | HTMLElement[] | Promise<HTMLElement[]> | Promise<HTMLElement>[];
@@ -74,7 +74,9 @@ export declare const cursorOrdering: {
74
74
  };
75
75
  export type Cursor_Ordering = (typeof cursorOrdering)[keyof typeof cursorOrdering];
76
76
  export declare const errorProjectNameEnum: {
77
+ readonly Conductor: "conductor";
77
78
  readonly Dashboard: "dashboard";
79
+ readonly DashboardExpo: "dashboard_expo";
78
80
  readonly Elements: "elements";
79
81
  readonly ZonosCom: "zonos_com";
80
82
  };
@@ -715,7 +717,7 @@ export type FailToGetQuoteErrorsQuery = {
715
717
  };
716
718
  export type LocaleCountryMessagesQuery = {
717
719
  locale_countryCodesPage: Array<{
718
- countryCodes: Array<string>;
720
+ countryCodes: Array<string> | null;
719
721
  countryCodesPageMessageLinks: Array<{
720
722
  id: number;
721
723
  message: {
@@ -51,7 +51,9 @@ export type Cursor_Ordering =
51
51
  (typeof cursorOrdering)[keyof typeof cursorOrdering];
52
52
 
53
53
  export const errorProjectNameEnum = {
54
+ Conductor: 'conductor',
54
55
  Dashboard: 'dashboard',
56
+ DashboardExpo: 'dashboard_expo',
55
57
  Elements: 'elements',
56
58
  ZonosCom: 'zonos_com',
57
59
  } as const;
@@ -672,7 +674,7 @@ export type FailToGetQuoteErrorsQuery = {
672
674
 
673
675
  export type LocaleCountryMessagesQuery = {
674
676
  locale_countryCodesPage: Array<{
675
- countryCodes: Array<string>;
677
+ countryCodes: Array<string> | null;
676
678
  countryCodesPageMessageLinks: Array<{
677
679
  id: number;
678
680
  message: {
@@ -3134,6 +3134,13 @@ export declare const usageRecordTypeCode: {
3134
3134
  readonly OrderTransactionInvoicing: "ORDER_TRANSACTION_INVOICING";
3135
3135
  };
3136
3136
  export type UsageRecordTypeCode = (typeof usageRecordTypeCode)[keyof typeof usageRecordTypeCode];
3137
+ export declare const userAccessLevel: {
3138
+ readonly Admin: "ADMIN";
3139
+ readonly Custom: "CUSTOM";
3140
+ readonly Member: "MEMBER";
3141
+ readonly None: "NONE";
3142
+ };
3143
+ export type UserAccessLevel = (typeof userAccessLevel)[keyof typeof userAccessLevel];
3137
3144
  export declare const visibilityCode: {
3138
3145
  readonly Hide: "HIDE";
3139
3146
  readonly Optional: "OPTIONAL";
@@ -3893,6 +3900,11 @@ export type GetTaxIdByCountryQuery = {
3893
3900
  type: TaxIdType;
3894
3901
  } | null> | null;
3895
3902
  };
3903
+ export type LandedCostSettingsQuery = {
3904
+ landedCostSettings: {
3905
+ landedCostGuarantee: LandedCostGuaranteeType | null;
3906
+ } | null;
3907
+ };
3896
3908
  export type CheckoutSessionCreateMutation = {
3897
3909
  checkoutSessionCreate: {
3898
3910
  cartId: string | null;
@@ -4075,6 +4087,7 @@ export type CartCheckoutWorkflowQuery = {
4075
4087
  type: CartAdjustmentType;
4076
4088
  }>;
4077
4089
  createdAt: string;
4090
+ expiresAt: string | null;
4078
4091
  id: string;
4079
4092
  items: Array<{
4080
4093
  amount: number;
@@ -4207,6 +4220,11 @@ export type CartCheckoutWorkflowQuery = {
4207
4220
  } | null> | null;
4208
4221
  };
4209
4222
  };
4223
+ export type RenewCartExpirationTokenMutation = {
4224
+ cartUpdate: {
4225
+ expiresAt: string | null;
4226
+ };
4227
+ };
4210
4228
  export type GetCheckoutSessionQuery = {
4211
4229
  checkoutSession: {
4212
4230
  landedCost: {
@@ -4286,6 +4304,23 @@ export type ShippingZonesQuery = {
4286
4304
  countryCodes: Array<CountryCode> | null;
4287
4305
  } | null> | null;
4288
4306
  };
4307
+ export type GetCheckoutSessionAttributesQuery = {
4308
+ checkoutSession: {
4309
+ attributes: Array<{
4310
+ key: string;
4311
+ value: string;
4312
+ }>;
4313
+ };
4314
+ };
4315
+ export type CheckoutSessionUpdateAttributesMutation = {
4316
+ checkoutSessionUpdate: {
4317
+ attributes: Array<{
4318
+ key: string;
4319
+ value: string;
4320
+ }>;
4321
+ id: string;
4322
+ };
4323
+ };
4289
4324
  export type CheckoutSessionBaseCurrencyUpdateMutation = {
4290
4325
  checkoutSessionBaseCurrencyUpdate: {
4291
4326
  subtotals: {
@@ -5067,6 +5102,9 @@ export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionW
5067
5102
  checkoutSessionUpdate(variables?: {
5068
5103
  [x: string]: never;
5069
5104
  }, requestHeaders?: GraphQLClientRequestHeaders): Promise<CheckoutSessionUpdateMutation>;
5105
+ checkoutSessionUpdateAttributes(variables?: {
5106
+ [x: string]: never;
5107
+ }, requestHeaders?: GraphQLClientRequestHeaders): Promise<CheckoutSessionUpdateAttributesMutation>;
5070
5108
  checkoutSessionUpdateMetadata(variables?: {
5071
5109
  [x: string]: never;
5072
5110
  }, requestHeaders?: GraphQLClientRequestHeaders): Promise<CheckoutSessionUpdateMetadataMutation>;
@@ -5094,6 +5132,9 @@ export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionW
5094
5132
  getCheckoutSession(variables?: {
5095
5133
  [x: string]: never;
5096
5134
  }, requestHeaders?: GraphQLClientRequestHeaders): Promise<GetCheckoutSessionQuery>;
5135
+ getCheckoutSessionAttributes(variables?: {
5136
+ [x: string]: never;
5137
+ }, requestHeaders?: GraphQLClientRequestHeaders): Promise<GetCheckoutSessionAttributesQuery>;
5097
5138
  getInclusivePriceSettingByCountry(variables?: {
5098
5139
  [x: string]: never;
5099
5140
  }, requestHeaders?: GraphQLClientRequestHeaders): Promise<GetInclusivePriceSettingByCountryQuery>;
@@ -5112,6 +5153,9 @@ export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionW
5112
5153
  helloSettings(variables?: {
5113
5154
  [x: string]: never;
5114
5155
  }, requestHeaders?: GraphQLClientRequestHeaders): Promise<HelloSettingsQuery>;
5156
+ landedCostSettings(variables?: {
5157
+ [x: string]: never;
5158
+ }, requestHeaders?: GraphQLClientRequestHeaders): Promise<LandedCostSettingsQuery>;
5115
5159
  onlineStoreSettings(variables?: {
5116
5160
  [x: string]: never;
5117
5161
  }, requestHeaders?: GraphQLClientRequestHeaders): Promise<OnlineStoreSettingsQuery>;
@@ -5142,6 +5186,9 @@ export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionW
5142
5186
  removeTrackingNumber(variables?: {
5143
5187
  [x: string]: never;
5144
5188
  }, requestHeaders?: GraphQLClientRequestHeaders): Promise<RemoveTrackingNumberMutation>;
5189
+ renewCartExpirationToken(variables?: {
5190
+ [x: string]: never;
5191
+ }, requestHeaders?: GraphQLClientRequestHeaders): Promise<RenewCartExpirationTokenMutation>;
5145
5192
  selectCheckoutVarianceTest(variables?: {
5146
5193
  [x: string]: never;
5147
5194
  }, requestHeaders?: GraphQLClientRequestHeaders): Promise<SelectCheckoutVarianceTestMutation>;