@zonos/elements 1.3.7-alpha.0 → 1.3.7

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 (286) hide show
  1. package/dist/cjs/{cart-ecc80eb0.js → cart-eee85bda.js} +145 -100
  2. package/dist/cjs/formatStringWithLinks-52341fc7.js +17 -0
  3. package/dist/cjs/{getBorderRadius-834c321d.js → getBorderRadius-d8f18958.js} +1 -1
  4. package/dist/cjs/{isDarkColor-924e6a7a.js → isDarkColor-57860b44.js} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/submitGtag-a2e1f652.js +55 -0
  7. package/dist/cjs/zonos-address_4.cjs.entry.js +21 -16
  8. package/dist/cjs/zonos-badge_2.cjs.entry.js +6 -6
  9. package/dist/cjs/zonos-banner.cjs.entry.js +1 -1
  10. package/dist/cjs/zonos-button_3.cjs.entry.js +8 -8
  11. package/dist/cjs/zonos-card_2.cjs.entry.js +8 -8
  12. package/dist/cjs/zonos-cart-items_9.cjs.entry.js +35 -33
  13. package/dist/cjs/zonos-checkout.cjs.entry.js +159 -23
  14. package/dist/cjs/zonos-component.cjs.entry.js +1 -1
  15. package/dist/cjs/zonos-controller.cjs.entry.js +28 -9
  16. package/dist/cjs/zonos-country-flag.cjs.entry.js +4 -4
  17. package/dist/cjs/zonos-country-select_3.cjs.entry.js +18 -10
  18. package/dist/cjs/zonos-elements.cjs.js +1 -1
  19. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +9 -7
  20. package/dist/cjs/zonos-hello.cjs.entry.js +25 -11
  21. package/dist/cjs/zonos-link.cjs.entry.js +24 -0
  22. package/dist/cjs/zonos-logo.cjs.entry.js +3 -3
  23. package/dist/cjs/zonos-notification.cjs.entry.js +1 -1
  24. package/dist/cjs/zonos-payment.cjs.entry.js +6 -7
  25. package/dist/cjs/zonos-select-dialog-header_2.cjs.entry.js +5 -5
  26. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +3 -3
  27. package/dist/cjs/zonos-text.cjs.entry.js +1 -1
  28. package/dist/cjs/{zonosStore-49d4c92a.js → zonosStore-138c5555.js} +5 -3
  29. package/dist/collection/collection-manifest.json +1 -0
  30. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +1 -6
  31. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +19 -10
  32. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.css +3 -0
  33. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +41 -20
  34. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +3 -0
  35. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +2 -0
  36. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.js +1 -6
  37. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +3 -0
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +5 -0
  39. package/dist/collection/components/common/component-template/zonos-link/zonos-link.css +54 -0
  40. package/dist/collection/components/common/component-template/zonos-link/zonos-link.js +97 -0
  41. package/dist/collection/components/common/zonos-badge/zonos-badge.js +3 -3
  42. package/dist/collection/components/common/zonos-button/zonos-button.css +2 -0
  43. package/dist/collection/components/common/zonos-button/zonos-button.js +4 -4
  44. package/dist/collection/components/common/zonos-card/zonos-card.js +2 -2
  45. package/dist/collection/components/common/zonos-checkbox/zonos-checkbox.js +3 -3
  46. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +13 -6
  47. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +8 -2
  48. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +4 -2
  49. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +3 -3
  50. package/dist/collection/components/common/zonos-language-select/zonos-language-select.js +2 -2
  51. package/dist/collection/components/common/zonos-logo/zonos-logo.js +2 -2
  52. package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.js +2 -2
  53. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +1 -1
  54. package/dist/collection/components/common/zonos-tooltip/zonos-tooltip.js +2 -2
  55. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +2 -2
  56. package/dist/collection/components/component-template/zonos-component/zonos-component.js +1 -1
  57. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +52 -13
  58. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +2 -2
  59. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +5 -3
  60. package/dist/collection/components/main/zonos-controller.js +1 -2
  61. package/dist/collection/components/store/checkout/cart.js +2 -2
  62. package/dist/collection/components/store/checkout/stripe.js +26 -4
  63. package/dist/collection/components/store/hello/localization.js +7 -6
  64. package/dist/collection/components/store/zonosStore.js +5 -3
  65. package/dist/collection/components/stripe/zonos-address/zonos-address.js +1 -1
  66. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +3 -3
  67. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +3 -3
  68. package/dist/collection/components/utils/api/getLocaleMessages.js +2 -2
  69. package/dist/collection/components/utils/api/trackConversionEvent.js +22 -0
  70. package/dist/collection/components/utils/checkout/isShippableCountry.js +15 -0
  71. package/dist/collection/components/utils/checkout/watchBigcommerceDomesticCheckout.js +111 -0
  72. package/dist/collection/components/utils/formatStringWithLinks.js +13 -0
  73. package/dist/collection/components/utils/handleFetch.js +1 -1
  74. package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +25 -28
  75. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyElements.js +2 -3
  76. package/dist/collection/components/utils/hello/currencyConversion/getInitialElementAmount.js +8 -6
  77. package/dist/collection/components/utils/hello/initHello.js +23 -3
  78. package/dist/collection/components/utils/logging/log.js +19 -14
  79. package/dist/collection/components/utils/logging/logError.js +2 -2
  80. package/dist/collection/components/utils/logging/sendErrorLog.js +12 -0
  81. package/dist/collection/scripts/checkIfLoadVersionDomain.js +35 -0
  82. package/dist/collection/scripts/zonosBase.js +21 -34
  83. package/dist/collection/styles/stripe/addressRuleStyle.js +4 -0
  84. package/dist/collection/types/generated/graphql.customer.types.js +1 -4
  85. package/dist/collection/types/generated/graphql.frontend.types.js +3 -0
  86. package/dist/components/stripe.js +140 -98
  87. package/dist/components/trackConversionEvent.js +24 -0
  88. package/dist/components/zonos-address2.js +1 -1
  89. package/dist/components/zonos-badge2.js +3 -3
  90. package/dist/components/zonos-button2.js +5 -5
  91. package/dist/components/zonos-card2.js +2 -2
  92. package/dist/components/zonos-cart-subtotal2.js +1 -6
  93. package/dist/components/zonos-checkbox2.js +3 -3
  94. package/dist/components/zonos-checkout-finish2.js +32 -12
  95. package/dist/components/zonos-checkout-payment2.js +1 -1
  96. package/dist/components/zonos-checkout.js +158 -20
  97. package/dist/components/zonos-collapse2.js +13 -6
  98. package/dist/components/zonos-component.js +1 -1
  99. package/dist/components/zonos-controller.js +25 -6
  100. package/dist/components/zonos-country-select2.js +9 -3
  101. package/dist/components/zonos-custom-message2.js +18 -3
  102. package/dist/components/zonos-customer-info2.js +3 -1
  103. package/dist/components/zonos-dialog2.js +3 -3
  104. package/dist/components/zonos-hello-dialog-footer2.js +2 -2
  105. package/dist/components/zonos-hello-dialog2.js +6 -5
  106. package/dist/components/zonos-hello.js +24 -9
  107. package/dist/components/zonos-language-select2.js +3 -3
  108. package/dist/components/zonos-link-authentication2.js +3 -4
  109. package/dist/components/zonos-link.d.ts +11 -0
  110. package/dist/components/zonos-link.js +43 -0
  111. package/dist/components/zonos-logo.js +2 -2
  112. package/dist/components/zonos-payment2.js +3 -4
  113. package/dist/components/zonos-review2.js +1 -6
  114. package/dist/components/zonos-select-dialog-header2.js +2 -2
  115. package/dist/components/zonos-shipping-rich-radio2.js +1 -1
  116. package/dist/components/zonos-shipping2.js +7 -2
  117. package/dist/components/zonos-tooltip2.js +2 -2
  118. package/dist/components/zonos-v-stack2.js +2 -2
  119. package/dist/components/zonosStore.js +5 -3
  120. package/dist/esm/{cart-2a0a6871.js → cart-e261efc1.js} +143 -101
  121. package/dist/esm/formatStringWithLinks-9e819405.js +15 -0
  122. package/dist/esm/{getBorderRadius-0c7dfcf0.js → getBorderRadius-19787feb.js} +1 -1
  123. package/dist/esm/{isDarkColor-d0a57fd2.js → isDarkColor-2344e7a5.js} +1 -1
  124. package/dist/esm/loader.js +1 -1
  125. package/dist/esm/submitGtag-dfc6f1dc.js +51 -0
  126. package/dist/esm/zonos-address_4.entry.js +21 -16
  127. package/dist/esm/zonos-badge_2.entry.js +6 -6
  128. package/dist/esm/zonos-banner.entry.js +1 -1
  129. package/dist/esm/zonos-button_3.entry.js +8 -8
  130. package/dist/esm/zonos-card_2.entry.js +8 -8
  131. package/dist/esm/zonos-cart-items_9.entry.js +35 -33
  132. package/dist/esm/zonos-checkout.entry.js +159 -23
  133. package/dist/esm/zonos-component.entry.js +1 -1
  134. package/dist/esm/zonos-controller.entry.js +28 -9
  135. package/dist/esm/zonos-country-flag.entry.js +4 -4
  136. package/dist/esm/zonos-country-select_3.entry.js +19 -11
  137. package/dist/esm/zonos-elements.js +1 -1
  138. package/dist/esm/zonos-hello-dialog.entry.js +9 -7
  139. package/dist/esm/zonos-hello.entry.js +25 -11
  140. package/dist/esm/zonos-link.entry.js +20 -0
  141. package/dist/esm/zonos-logo.entry.js +3 -3
  142. package/dist/esm/zonos-notification.entry.js +1 -1
  143. package/dist/esm/zonos-payment.entry.js +6 -7
  144. package/dist/esm/zonos-select-dialog-header_2.entry.js +5 -5
  145. package/dist/esm/zonos-shipping-rich-radio.entry.js +3 -3
  146. package/dist/esm/zonos-text.entry.js +1 -1
  147. package/dist/esm/{zonosStore-dec6bd7e.js → zonosStore-00bce01b.js} +5 -3
  148. package/dist/esm-es5/{cart-2a0a6871.js → cart-e261efc1.js} +1 -1
  149. package/dist/esm-es5/formatStringWithLinks-9e819405.js +1 -0
  150. package/dist/esm-es5/{getBorderRadius-0c7dfcf0.js → getBorderRadius-19787feb.js} +1 -1
  151. package/dist/esm-es5/{isDarkColor-d0a57fd2.js → isDarkColor-2344e7a5.js} +1 -1
  152. package/dist/esm-es5/loader.js +1 -1
  153. package/dist/esm-es5/submitGtag-dfc6f1dc.js +1 -0
  154. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  155. package/dist/esm-es5/zonos-badge_2.entry.js +1 -1
  156. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  157. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  158. package/dist/esm-es5/zonos-card_2.entry.js +1 -1
  159. package/dist/esm-es5/zonos-cart-items_9.entry.js +1 -1
  160. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  161. package/dist/esm-es5/zonos-component.entry.js +1 -1
  162. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  163. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  164. package/dist/esm-es5/zonos-country-select_3.entry.js +1 -1
  165. package/dist/esm-es5/zonos-elements.js +1 -1
  166. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  167. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  168. package/dist/esm-es5/zonos-link.entry.js +1 -0
  169. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  170. package/dist/esm-es5/zonos-notification.entry.js +1 -1
  171. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  172. package/dist/esm-es5/zonos-select-dialog-header_2.entry.js +1 -1
  173. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  174. package/dist/esm-es5/zonos-text.entry.js +1 -1
  175. package/dist/esm-es5/{zonosStore-dec6bd7e.js → zonosStore-00bce01b.js} +1 -1
  176. package/dist/scripts/checkIfLoadVersionDomain.js +1 -0
  177. package/dist/scripts/loadStripe.js +1 -1
  178. package/dist/scripts/loadZonos.js +1 -1
  179. package/dist/scripts/stripe.js +1 -1
  180. package/dist/scripts/zonos.js +1 -1
  181. package/dist/scripts/zonosBase.js +1 -1
  182. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +1 -1
  183. package/dist/types/components/common/component-template/zonos-link/zonos-link.d.ts +19 -0
  184. package/dist/types/components/common/zonos-collapse/zonos-collapse.d.ts +1 -0
  185. package/dist/types/components/common/zonos-country-select/zonos-country-select.d.ts +2 -0
  186. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +9 -3
  187. package/dist/types/components/store/checkout/cart.d.ts +6 -3
  188. package/dist/types/components/store/checkout/stripe.d.ts +22 -1
  189. package/dist/types/components/store/hello/localization.d.ts +2 -3
  190. package/dist/types/components/store/zonosStore.d.ts +1 -0
  191. package/dist/types/components/utils/api/trackConversionEvent.d.ts +3 -0
  192. package/dist/types/components/utils/checkout/isShippableCountry.d.ts +1 -0
  193. package/dist/types/components/utils/checkout/watchBigcommerceDomesticCheckout.d.ts +20 -0
  194. package/dist/types/components/utils/formatStringWithLinks.d.ts +1 -0
  195. package/dist/types/components/utils/hello/currencyConversion/getCurrencyElements.d.ts +1 -1
  196. package/dist/types/components/utils/logging/log.d.ts +1 -1
  197. package/dist/types/components/utils/logging/sendErrorLog.d.ts +7 -0
  198. package/dist/types/components.d.ts +53 -3
  199. package/dist/types/scripts/checkIfLoadVersionDomain.d.ts +13 -0
  200. package/dist/types/scripts/zonosBase.d.ts +2 -0
  201. package/dist/types/types/checkout/CheckoutConfig.d.ts +1 -1
  202. package/dist/types/types/generated/graphql.customer.types.d.ts +8 -53
  203. package/dist/types/types/generated/graphql.customer.types.ts +18 -62
  204. package/dist/types/types/generated/graphql.frontend.types.d.ts +8 -0
  205. package/dist/types/types/generated/graphql.frontend.types.ts +18 -0
  206. package/dist/zonos-elements/p-066c5893.system.js +1 -1
  207. package/dist/zonos-elements/p-07966463.entry.js +1 -0
  208. package/dist/zonos-elements/p-0c0aa552.js +1 -0
  209. package/dist/zonos-elements/{p-dfd3edcf.entry.js → p-0c91720b.entry.js} +1 -1
  210. package/dist/zonos-elements/p-1119dddf.system.entry.js +1 -0
  211. package/dist/zonos-elements/p-127b480c.entry.js +1 -0
  212. package/dist/zonos-elements/{p-e855966f.system.entry.js → p-143dc0d9.system.entry.js} +1 -1
  213. package/dist/zonos-elements/p-14c3ef38.entry.js +1 -0
  214. package/dist/zonos-elements/{p-55970b10.system.entry.js → p-14d27ce1.system.entry.js} +1 -1
  215. package/dist/zonos-elements/{p-7d1d862f.system.entry.js → p-165d469e.system.entry.js} +1 -1
  216. package/dist/zonos-elements/p-17e87be1.entry.js +1 -0
  217. package/dist/zonos-elements/{p-a95c034c.entry.js → p-1e0dd491.entry.js} +1 -1
  218. package/dist/zonos-elements/{p-34efed1d.entry.js → p-279d1c5f.entry.js} +1 -1
  219. package/dist/zonos-elements/p-2d6557ee.system.js +1 -0
  220. package/dist/zonos-elements/p-314be538.system.entry.js +1 -0
  221. package/dist/zonos-elements/{p-79b910bf.system.entry.js → p-328b7f6f.system.entry.js} +1 -1
  222. package/dist/zonos-elements/p-354603b3.system.entry.js +1 -0
  223. package/dist/zonos-elements/{p-1f85a98c.system.entry.js → p-389599d3.system.entry.js} +1 -1
  224. package/dist/zonos-elements/p-3a1e685f.entry.js +1 -0
  225. package/dist/zonos-elements/{p-a219689f.entry.js → p-3b23e462.entry.js} +1 -1
  226. package/dist/zonos-elements/{p-591eb6dd.system.js → p-49f6a985.system.js} +1 -1
  227. package/dist/zonos-elements/p-4fb77a38.system.entry.js +1 -0
  228. package/dist/zonos-elements/{p-5b44abc8.system.js → p-5496951a.system.js} +1 -1
  229. package/dist/zonos-elements/{p-06652d87.system.entry.js → p-58e2f6a1.system.entry.js} +1 -1
  230. package/dist/zonos-elements/{p-cc63a29f.system.entry.js → p-5c176b23.system.entry.js} +1 -1
  231. package/dist/zonos-elements/p-5d9a000a.system.entry.js +1 -0
  232. package/dist/zonos-elements/p-5f4ba44c.entry.js +1 -0
  233. package/dist/zonos-elements/{p-88a55076.system.entry.js → p-61e5cf29.system.entry.js} +1 -1
  234. package/dist/zonos-elements/p-69e2c59e.entry.js +1 -0
  235. package/dist/zonos-elements/p-745cd869.system.entry.js +1 -0
  236. package/dist/zonos-elements/p-78ba2928.system.js +1 -0
  237. package/dist/zonos-elements/{p-67737613.system.entry.js → p-799d8a17.system.entry.js} +1 -1
  238. package/dist/zonos-elements/{p-375c472a.system.entry.js → p-79b24786.system.entry.js} +1 -1
  239. package/dist/zonos-elements/p-7b87b82f.js +1 -0
  240. package/dist/zonos-elements/{p-e2770968.system.entry.js → p-7c45ce37.system.entry.js} +1 -1
  241. package/dist/zonos-elements/p-7f4f45b3.entry.js +1 -0
  242. package/dist/zonos-elements/{p-2d2e1831.entry.js → p-857cfe35.entry.js} +1 -1
  243. package/dist/zonos-elements/{p-ec4d08b3.system.js → p-91797d4e.system.js} +1 -1
  244. package/dist/zonos-elements/{p-34c03be2.js → p-95e0fc06.js} +1 -1
  245. package/dist/zonos-elements/p-9e6b489d.system.entry.js +1 -0
  246. package/dist/zonos-elements/p-9f4e02a1.entry.js +1 -0
  247. package/dist/zonos-elements/{p-afe40057.entry.js → p-a3cc0f84.entry.js} +1 -1
  248. package/dist/zonos-elements/p-a87561b8.js +1 -0
  249. package/dist/zonos-elements/{p-e161a08c.entry.js → p-ac0a7b8f.entry.js} +1 -1
  250. package/dist/zonos-elements/{p-549c181b.system.js → p-b4725505.system.js} +1 -1
  251. package/dist/zonos-elements/p-c060d475.js +1 -0
  252. package/dist/zonos-elements/p-c2e58ee1.system.entry.js +1 -0
  253. package/dist/zonos-elements/{p-9878a770.js → p-da767f8b.js} +1 -1
  254. package/dist/zonos-elements/p-dd9e8589.entry.js +1 -0
  255. package/dist/zonos-elements/p-f11a3d9e.entry.js +1 -0
  256. package/dist/zonos-elements/{p-8aeb4679.system.entry.js → p-f6eaef7b.system.entry.js} +1 -1
  257. package/dist/zonos-elements/{p-c7098c3b.entry.js → p-f7c36fcc.entry.js} +1 -1
  258. package/dist/zonos-elements/{p-a4de3fb2.entry.js → p-ff64ddc5.entry.js} +1 -1
  259. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  260. package/package.json +1 -1
  261. package/dist/cjs/submitGtag-907e71d3.js +0 -21
  262. package/dist/collection/scripts/extractZonosQaUrl.js +0 -26
  263. package/dist/esm/submitGtag-a38aed23.js +0 -19
  264. package/dist/esm-es5/submitGtag-a38aed23.js +0 -1
  265. package/dist/types/scripts/extractZonosQaUrl.d.ts +0 -11
  266. package/dist/zonos-elements/p-0057e374.entry.js +0 -1
  267. package/dist/zonos-elements/p-0c72fb79.system.entry.js +0 -1
  268. package/dist/zonos-elements/p-290c3670.entry.js +0 -1
  269. package/dist/zonos-elements/p-2f1e1cbb.system.entry.js +0 -1
  270. package/dist/zonos-elements/p-33080cde.system.entry.js +0 -1
  271. package/dist/zonos-elements/p-561e44d6.entry.js +0 -1
  272. package/dist/zonos-elements/p-5c4dc123.js +0 -1
  273. package/dist/zonos-elements/p-656c836b.entry.js +0 -1
  274. package/dist/zonos-elements/p-8d645a00.entry.js +0 -1
  275. package/dist/zonos-elements/p-a3d72a33.entry.js +0 -1
  276. package/dist/zonos-elements/p-a93c594f.entry.js +0 -1
  277. package/dist/zonos-elements/p-b10ff468.entry.js +0 -1
  278. package/dist/zonos-elements/p-b6992dc2.system.entry.js +0 -1
  279. package/dist/zonos-elements/p-bce46c41.js +0 -1
  280. package/dist/zonos-elements/p-c56d4a44.entry.js +0 -1
  281. package/dist/zonos-elements/p-cbb1e700.system.js +0 -1
  282. package/dist/zonos-elements/p-cd8bd5e9.system.entry.js +0 -1
  283. package/dist/zonos-elements/p-d36faf87.system.entry.js +0 -1
  284. package/dist/zonos-elements/p-e2c6ad57.entry.js +0 -1
  285. package/dist/zonos-elements/p-ea93943a.system.entry.js +0 -1
  286. package/dist/zonos-elements/p-f455e08c.js +0 -1
@@ -1,5 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { c as cartStore, r as cartStoreUpdateSelectedShippingOption, u as cartStoreGetShippingTransitInfo, t as translate } from './stripe.js';
2
+ import { c as cartStore, x as cartStoreUpdateSelectedShippingOption, y as cartStoreGetShippingTransitInfo, t as translate } from './stripe.js';
3
+ import { t as trackConversionEvent } from './trackConversionEvent.js';
3
4
  import { f as formatCurrency } from './formatCurrency.js';
4
5
  import { s as submitGtag } from './submitGtag.js';
5
6
  import { d as defineCustomElement$5 } from './zonos-banner2.js';
@@ -8,7 +9,7 @@ import { d as defineCustomElement$3 } from './zonos-shipping-rich-radio2.js';
8
9
  import { d as defineCustomElement$2 } from './zonos-spinner2.js';
9
10
  import { d as defineCustomElement$1 } from './zonos-text2.js';
10
11
 
11
- const zonosShippingCss = ".sc-zonos-shipping-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-shipping-h *.sc-zonos-shipping{font-family:var(--font-family, Inter), Inter}.sc-zonos-shipping-h img.sc-zonos-shipping{max-width:100%}.sc-zonos-shipping-h dl.sc-zonos-shipping,.sc-zonos-shipping-h dd.sc-zonos-shipping,.sc-zonos-shipping-h h1.sc-zonos-shipping,.sc-zonos-shipping-h h2.sc-zonos-shipping,.sc-zonos-shipping-h h3.sc-zonos-shipping,.sc-zonos-shipping-h h4.sc-zonos-shipping,.sc-zonos-shipping-h h5.sc-zonos-shipping,.sc-zonos-shipping-h h6.sc-zonos-shipping,.sc-zonos-shipping-h hr.sc-zonos-shipping,.sc-zonos-shipping-h figure.sc-zonos-shipping,.sc-zonos-shipping-h p.sc-zonos-shipping,.sc-zonos-shipping-h pre.sc-zonos-shipping{margin:0}.sc-zonos-shipping-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-shipping-h{overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-shipping-h .zonos--title.sc-zonos-shipping{margin-bottom:var(--amino-space-24)}.sc-zonos-shipping-h .zonos--shipping-method-title.sc-zonos-shipping{margin-bottom:var(--amino-space-16)}.sc-zonos-shipping-h .zonos-shipping-rich-radio.sc-zonos-shipping{margin-bottom:var(--amino-space-24)}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping{margin-bottom:var(--amino-space-20);overflow:auto;padding:5px}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping::-webkit-scrollbar{width:10px}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping::-webkit-scrollbar-track{background:var(--amino-gray-50)}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-shipping-h .zonos--group-btn.sc-zonos-shipping{position:-webkit-sticky;position:sticky;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;bottom:0;margin-top:var(--amino-space-12);background:var(--primary-color, var(--amino-gray-0))}.sc-zonos-shipping-h .zonos--group-btn.sc-zonos-shipping zonos-button.sc-zonos-shipping{width:100%}.sc-zonos-shipping-h zonos-banner.sc-zonos-shipping{margin-top:var(--amino-space-24)}";
12
+ const zonosShippingCss = ".sc-zonos-shipping-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-shipping-h *.sc-zonos-shipping{font-family:var(--font-family, Inter), Inter}.sc-zonos-shipping-h img.sc-zonos-shipping{max-width:100%}.sc-zonos-shipping-h dl.sc-zonos-shipping,.sc-zonos-shipping-h dd.sc-zonos-shipping,.sc-zonos-shipping-h h1.sc-zonos-shipping,.sc-zonos-shipping-h h2.sc-zonos-shipping,.sc-zonos-shipping-h h3.sc-zonos-shipping,.sc-zonos-shipping-h h4.sc-zonos-shipping,.sc-zonos-shipping-h h5.sc-zonos-shipping,.sc-zonos-shipping-h h6.sc-zonos-shipping,.sc-zonos-shipping-h hr.sc-zonos-shipping,.sc-zonos-shipping-h figure.sc-zonos-shipping,.sc-zonos-shipping-h p.sc-zonos-shipping,.sc-zonos-shipping-h pre.sc-zonos-shipping{margin:0}.sc-zonos-shipping-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-shipping-h{overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-shipping-h .zonos--title.sc-zonos-shipping{margin-bottom:var(--amino-space-24)}.sc-zonos-shipping-h .zonos--shipping-method-title.sc-zonos-shipping{margin-bottom:var(--amino-space-16)}.sc-zonos-shipping-h .zonos-shipping-rich-radio.sc-zonos-shipping{margin-bottom:var(--amino-space-24)}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping{margin-bottom:var(--amino-space-20);overflow:auto;padding:5px}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping::-webkit-scrollbar{width:10px}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping::-webkit-scrollbar-track{background:var(--amino-gray-50)}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-shipping-h zonos-button.sc-zonos-shipping{-webkit-box-shadow:0 0 1px 0 var(--amino-gray-600);box-shadow:0 0 1px 0 var(--amino-gray-600)}.sc-zonos-shipping-h .zonos--group-btn.sc-zonos-shipping{position:-webkit-sticky;position:sticky;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;bottom:0;margin-top:var(--amino-space-12);background:var(--primary-color, var(--amino-gray-0))}.sc-zonos-shipping-h .zonos--group-btn.sc-zonos-shipping zonos-button.sc-zonos-shipping{width:100%}.sc-zonos-shipping-h zonos-banner.sc-zonos-shipping{margin-top:var(--amino-space-24)}";
12
13
  const ZonosShippingStyle0 = zonosShippingCss;
13
14
 
14
15
  const ZonosShipping = /*@__PURE__*/ proxyCustomElement(class ZonosShipping extends HTMLElement {
@@ -46,9 +47,13 @@ const ZonosShipping = /*@__PURE__*/ proxyCustomElement(class ZonosShipping exten
46
47
  this.disabled = true;
47
48
  }
48
49
  watchFormComplete() {
50
+ var _a;
49
51
  if (!this.disabled) {
50
52
  // submit google tag when the form is complete
51
53
  submitGtag('zonos-checkout-shipping-info');
54
+ void trackConversionEvent('checkout_shippingInfoCompleted', {
55
+ serviceLevelId: (_a = this.selectedShippingMethod) === null || _a === void 0 ? void 0 : _a.value,
56
+ });
52
57
  }
53
58
  }
54
59
  render() {
@@ -15,10 +15,10 @@ const ZonosTooltip = /*@__PURE__*/ proxyCustomElement(class ZonosTooltip extends
15
15
  this.showTooltip = false;
16
16
  }
17
17
  render() {
18
- return (h(Host, { key: '684561bebf9385c7e6bcca7de37e7ee5084c9692', class: "zonos--elements" }, h("div", { key: 'c116738f39d25b856b268ece410a33f91046c739', class: "zonos--tooltip", onMouseEnter: () => (this.showTooltip = true), onMouseLeave: () => (this.showTooltip = false) }, h("slot", { key: '4073ed0766b4efaa0c25fa7febdbad4c42714dca' }), h("div", { key: '8c6b180577830aaaceb629819535dd930fc49e02', class: classes([
18
+ return (h(Host, { key: '4864150b0af4119fc7d87aec5af3c258fb27802d', class: "zonos--elements" }, h("div", { key: 'c11d3da431f9c4507bc58ec38d0b1ef21c99b584', class: "zonos--tooltip", onMouseEnter: () => (this.showTooltip = true), onMouseLeave: () => (this.showTooltip = false) }, h("slot", { key: '0a92efb2e6c17f67c2feacbd17bbddd4fb63f7da' }), h("div", { key: '0ea54bfaf54a2f170044d77c2b555e5da37af8ae', class: classes([
19
19
  this.showTooltip && 'zonos--show-tooltip',
20
20
  'zonos--tooltip-content',
21
- ]) }, h("zonos-text", { key: '7c018a9d5a7db939b59624dcc77029a5a8d621af', color: "gray-0", size: "s", type: "boldLabel" }, this.label), h("zonos-text", { key: 'c1f09eaf9cb1084ecf47334903b9ca8b944502b7', color: "gray-0", size: "xs" }, this.subtitle)))));
21
+ ]) }, h("zonos-text", { key: '73c55a7318eb36760d2779691f9ea79d2c5bf8c7', size: "s", textColor: "gray-0", type: "boldLabel" }, this.label), h("zonos-text", { key: '1f4106f67fc468121d7fb7fbc0ee69363bb26186', size: "xs", textColor: "gray-0" }, this.subtitle)))));
22
22
  }
23
23
  static get style() { return ZonosTooltipStyle0; }
24
24
  }, [1, "zonos-tooltip", {
@@ -13,9 +13,9 @@ const VStack = /*@__PURE__*/ proxyCustomElement(class VStack extends HTMLElement
13
13
  this.spacing = 24;
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: 'a26c7c4898b81deb569731adb63505ded3155fdf', style: {
16
+ return (h(Host, { key: 'a5d1a84d5b25d1a49abec676731eaf76f703e998', style: {
17
17
  '--font-family': zonosStoreFontFamily(),
18
- } }, h("div", { key: 'd4af21dc024bbd12b5240dff4f2689416ad4d808', class: classes(['vstack']), style: { 'grid-row-gap': `${this.spacing}px` } }, h("slot", { key: '298de42d875520fad5a720eedcf2b8664b39ae85' }))));
18
+ } }, h("div", { key: '456c8e1865a752dd258989888c45dfbdfd2c4f66', class: classes(['vstack']), style: { 'grid-row-gap': `${this.spacing}px` } }, h("slot", { key: '2d3260c6b74d3def822acb98733f70a97a79f3fa' }))));
19
19
  }
20
20
  static get style() { return ZonosVStackStyle0; }
21
21
  }, [1, "zonos-v-stack", {
@@ -2821,6 +2821,7 @@ const { reset, state: zonosStore } = createStore(() => ({
2821
2821
  restrictionBehavior: 'DISABLED',
2822
2822
  },
2823
2823
  loadedConfig: false,
2824
+ organizationId: '',
2824
2825
  organizationName: '',
2825
2826
  sourceCurrency: 'USD',
2826
2827
  storeId: null,
@@ -2833,7 +2834,7 @@ let savedZonosSettings = null;
2833
2834
  * Init setting from zonos setting
2834
2835
  */
2835
2836
  const zonosStoreInitSetting = ({ overrideSettings, zonosSettings, }) => {
2836
- var _a, _b, _c;
2837
+ var _a, _b, _c, _d;
2837
2838
  reset();
2838
2839
  if (zonosSettings) {
2839
2840
  // save zonos settings to be used later
@@ -2848,8 +2849,9 @@ const zonosStoreInitSetting = ({ overrideSettings, zonosSettings, }) => {
2848
2849
  zonosStore.helloSettings = mergeConfig(zonosStore.helloSettings, (savedZonosSettings === null || savedZonosSettings === void 0 ? void 0 : savedZonosSettings.helloSettings) || (zonosSettings === null || zonosSettings === void 0 ? void 0 : zonosSettings.helloSettings) || null, overrideSettings === null || overrideSettings === void 0 ? void 0 : overrideSettings.helloSettings);
2849
2850
  // set flag to true to indicate that config is ready
2850
2851
  zonosStore.loadedConfig = true;
2851
- zonosStore.organizationName = ((_a = zonosSettings === null || zonosSettings === void 0 ? void 0 : zonosSettings.organization) === null || _a === void 0 ? void 0 : _a.name) || '';
2852
- zonosStore.storeId = ((_c = (_b = zonosSettings === null || zonosSettings === void 0 ? void 0 : zonosSettings.organization) === null || _b === void 0 ? void 0 : _b.references) === null || _c === void 0 ? void 0 : _c.storeId) || null;
2852
+ zonosStore.organizationId = ((_a = zonosSettings === null || zonosSettings === void 0 ? void 0 : zonosSettings.organization) === null || _a === void 0 ? void 0 : _a.id) || '';
2853
+ zonosStore.organizationName = ((_b = zonosSettings === null || zonosSettings === void 0 ? void 0 : zonosSettings.organization) === null || _b === void 0 ? void 0 : _b.name) || '';
2854
+ zonosStore.storeId = ((_d = (_c = zonosSettings === null || zonosSettings === void 0 ? void 0 : zonosSettings.organization) === null || _c === void 0 ? void 0 : _c.references) === null || _d === void 0 ? void 0 : _d.storeId) || null;
2853
2855
  zonosStore.currencyConverter = overrideSettings === null || overrideSettings === void 0 ? void 0 : overrideSettings.currencyConverter;
2854
2856
  };
2855
2857
  const zonosStoreFontFamily = () => {
@@ -1,6 +1,6 @@
1
- import { c as createStore, z as zonosStore } from './zonosStore-dec6bd7e.js';
2
- import { i as isDarkColor } from './isDarkColor-d0a57fd2.js';
3
- import { g as getBorderRadius } from './getBorderRadius-0c7dfcf0.js';
1
+ import { c as createStore, z as zonosStore } from './zonosStore-00bce01b.js';
2
+ import { i as isDarkColor } from './isDarkColor-2344e7a5.js';
3
+ import { g as getBorderRadius } from './getBorderRadius-19787feb.js';
4
4
 
5
5
  const stringsArabic = {
6
6
  'Above de minimis threshold for': {
@@ -3546,7 +3546,7 @@ const handleFetch = async (url, _opts) => {
3546
3546
  const modifiedUrl = new URL(url);
3547
3547
  modifiedUrl.searchParams.set('zToken', encodeString(window.location.hostname));
3548
3548
  // headers content type
3549
- const headers = 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 }, opts.headers);
3549
+ const headers = 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' }, opts.headers);
3550
3550
  const options = Object.assign(Object.assign({}, opts), { body: method === 'GET' ? undefined : body, headers,
3551
3551
  method });
3552
3552
  return handleRequest(modifiedUrl.toString(), options);
@@ -3567,9 +3567,58 @@ const getCountries = async () => {
3567
3567
  }
3568
3568
  };
3569
3569
 
3570
+ const log = (message, type, ...additionalInfo) => {
3571
+ var _a, _b;
3572
+ const isDebug = !!((_a = window.Zonos) === null || _a === void 0 ? void 0 : _a.debug) ||
3573
+ !!window.location.search.match(/\?.*(&*)zonosDebug=1/);
3574
+ // if debug is false, do not log
3575
+ if (!isDebug) {
3576
+ // log errors to the console if the type is error
3577
+ if (type === 'error') {
3578
+ // eslint-disable-next-line no-console
3579
+ console.error(message, ...additionalInfo);
3580
+ }
3581
+ return;
3582
+ }
3583
+ let loggingIframe = document.querySelector('iframe#zonos---debug-logging-iframe');
3584
+ if (!loggingIframe) {
3585
+ // add a hidden iframe
3586
+ loggingIframe = document.createElement('iframe');
3587
+ loggingIframe.id = 'zonos---debug-logging-iframe';
3588
+ loggingIframe.style.display = 'none';
3589
+ loggingIframe.style.opacity = '0';
3590
+ loggingIframe.style.position = 'absolute';
3591
+ loggingIframe.style.top = '-9999px';
3592
+ loggingIframe.style.left = '-9999px';
3593
+ loggingIframe.style.width = '1px';
3594
+ loggingIframe.style.height = '1px';
3595
+ loggingIframe.style.border = 'none';
3596
+ loggingIframe.style.overflow = 'hidden';
3597
+ loggingIframe.style.visibility = 'hidden';
3598
+ document.body.appendChild(loggingIframe);
3599
+ }
3600
+ // use the logging iframe's console to log just in case the console is disabled (overriden) by the site owner
3601
+ const zConsole = ((_b = loggingIframe.contentWindow) === null || _b === void 0 ? void 0 : _b.window.console) || window.console;
3602
+ switch (type) {
3603
+ case 'warn':
3604
+ zConsole.warn(message, ...additionalInfo);
3605
+ break;
3606
+ case 'info':
3607
+ zConsole.info(message, ...additionalInfo);
3608
+ break;
3609
+ case 'error':
3610
+ zConsole.error(message, ...additionalInfo);
3611
+ break;
3612
+ default:
3613
+ zConsole.groupCollapsed(message, ...additionalInfo);
3614
+ zConsole.trace();
3615
+ zConsole.groupEnd();
3616
+ break;
3617
+ }
3618
+ };
3619
+
3570
3620
  const logError = (message, ...rest) => {
3571
- // eslint-disable-next-line no-console
3572
- console.error(message, ...rest);
3621
+ log(message, 'error', ...rest);
3573
3622
  };
3574
3623
 
3575
3624
  const getCountryLandedCost = async (countryCode) => {
@@ -3612,8 +3661,7 @@ const getLocaleMessages = async ({ countryCode, localeTo, storeId, }) => {
3612
3661
  const url = `${"https://v1.route.js.zonos.com"}/api/zonos-elements/locale-messages?countryCode=${countryCode}&storeId=${storeId}&localeTo=${localeTo}`;
3613
3662
  const { errors, json } = await handleFetch(url);
3614
3663
  if (errors.length || !json) {
3615
- // eslint-disable-next-line no-console
3616
- console.error('Error fetching exchange rate', (_a = errors.find(Boolean)) === null || _a === void 0 ? void 0 : _a.message);
3664
+ logError('Error fetching exchange rate', (_a = errors.find(Boolean)) === null || _a === void 0 ? void 0 : _a.message);
3617
3665
  return [];
3618
3666
  }
3619
3667
  return json.locale_countryCodesPage;
@@ -3731,76 +3779,32 @@ const isValidSelector = (selector) => {
3731
3779
  return true;
3732
3780
  };
3733
3781
 
3734
- const log = (message, type, ...additionalInfo) => {
3735
- var _a;
3736
- // if type is error and debug is false, do not log
3737
- if (!window.Zonos.debug) {
3738
- return;
3739
- }
3740
- let loggingIframe = document.querySelector('iframe#zonos---debug-logging-iframe');
3741
- if (!loggingIframe) {
3742
- // add a hidden iframe
3743
- loggingIframe = document.createElement('iframe');
3744
- loggingIframe.id = 'zonos---debug-logging-iframe';
3745
- loggingIframe.style.display = 'none';
3746
- loggingIframe.style.opacity = '0';
3747
- loggingIframe.style.position = 'absolute';
3748
- loggingIframe.style.top = '-9999px';
3749
- loggingIframe.style.left = '-9999px';
3750
- loggingIframe.style.width = '1px';
3751
- loggingIframe.style.height = '1px';
3752
- loggingIframe.style.border = 'none';
3753
- loggingIframe.style.overflow = 'hidden';
3754
- loggingIframe.style.visibility = 'hidden';
3755
- document.body.appendChild(loggingIframe);
3756
- }
3757
- // use the logging iframe's console to log just in case the console is disabled (overriden) by the site owner
3758
- const console = ((_a = loggingIframe.contentWindow) === null || _a === void 0 ? void 0 : _a.window.console) || window.console;
3759
- switch (type) {
3760
- case 'warn':
3761
- // eslint-disable-next-line no-console
3762
- console.warn(message, ...additionalInfo);
3763
- break;
3764
- case 'info':
3765
- // eslint-disable-next-line no-console
3766
- console.info(message, ...additionalInfo);
3767
- break;
3768
- default:
3769
- // eslint-disable-next-line no-console
3770
- console.groupCollapsed(message, ...additionalInfo);
3771
- // eslint-disable-next-line no-console
3772
- console.trace();
3773
- // eslint-disable-next-line no-console
3774
- console.groupEnd();
3775
- break;
3776
- }
3777
- };
3778
-
3779
3782
  const getCurrencyElements = (selector) => {
3780
3783
  const currencySelector = selector || '.money';
3781
3784
  if (!isValidSelector(currencySelector)) {
3782
- // eslint-disable-next-line no-console
3783
3785
  logError(`Currency element selector "${currencySelector}" is not valid.`);
3784
3786
  return null;
3785
3787
  }
3786
3788
  const currencyElements = document.querySelectorAll(currencySelector);
3787
3789
  if (!currencyElements.length) {
3788
- // eslint-disable-next-line no-console
3789
3790
  log(`No currency elements found with selector "${currencySelector}"`, 'warn');
3790
3791
  return null;
3791
3792
  }
3792
- return currencyElements;
3793
+ // return array of currency elements instead of a NodeList
3794
+ return Array.from(currencyElements);
3793
3795
  };
3794
3796
 
3795
3797
  const getInitialElementAmount = (element) => {
3796
3798
  var _a;
3797
3799
  const domesticValue = element.getAttribute('data-domestic');
3798
- if (!domesticValue) {
3799
- // Only keep numbers, decimal, and hyphens
3800
- const cleanedText = (_a = element.textContent) === null || _a === void 0 ? void 0 : _a.replace(/[^\d.-]/g, '');
3801
- if (!cleanedText) {
3802
- return null;
3803
- }
3800
+ const intlValue = element.getAttribute('data-zintl');
3801
+ // Only keep numbers, decimal, and hyphens
3802
+ const cleanedText = (_a = element.textContent) === null || _a === void 0 ? void 0 : _a.replace(/[^\d.-]/g, '');
3803
+ if (!cleanedText) {
3804
+ return null;
3805
+ }
3806
+ // If the element has no data-domestic attribute, or the text content is different from the data-zintl attribute, set the data-domestic attribute
3807
+ if (!domesticValue || element.textContent !== intlValue) {
3804
3808
  // Store the original value on the element once, and international on every new conversion
3805
3809
  element.setAttribute('data-domestic', cleanedText);
3806
3810
  return parseFloat(cleanedText);
@@ -3808,9 +3812,32 @@ const getInitialElementAmount = (element) => {
3808
3812
  return parseFloat(domesticValue);
3809
3813
  };
3810
3814
 
3815
+ const convertCurrency = (element) => {
3816
+ var _a;
3817
+ const amount = getInitialElementAmount(element);
3818
+ if (!amount || isNaN(amount)) {
3819
+ return;
3820
+ }
3821
+ const currentIntlValue = element.getAttribute('data-zintl');
3822
+ const currentCountryValue = element.getAttribute('data-zcountry-code');
3823
+ // do nothing if the target currency is the same
3824
+ const isExchangeRateReady = localizationStore.targetCurrency ===
3825
+ ((_a = localizationStore.exchangeRate) === null || _a === void 0 ? void 0 : _a.targetFormat.currencyCode);
3826
+ // if the current value on the element is different from the current intl value, update the data-zintl attribute
3827
+ if (isExchangeRateReady &&
3828
+ (element.textContent !== currentIntlValue ||
3829
+ currentCountryValue !== localizationStore.selectedCountryCode)) {
3830
+ const observedFormattedValue = currencyConvertAndFormat(amount);
3831
+ element.textContent = observedFormattedValue;
3832
+ // save the new value to the data-zintl attribute
3833
+ element.setAttribute('data-zintl', observedFormattedValue);
3834
+ element.setAttribute('data-zcountry-code', localizationStore.selectedCountryCode || '');
3835
+ }
3836
+ };
3811
3837
  const defaultCurrencyConverter = () => {
3812
3838
  const { currencyElementSelector } = zonosStore.helloSettings;
3813
3839
  const currencyElements = getCurrencyElements(currencyElementSelector);
3840
+ // do nothing if none of the currency elements are found
3814
3841
  if (!(currencyElements === null || currencyElements === void 0 ? void 0 : currencyElements.length)) {
3815
3842
  return;
3816
3843
  }
@@ -3819,33 +3846,8 @@ const defaultCurrencyConverter = () => {
3819
3846
  return;
3820
3847
  }
3821
3848
  currencyElements.forEach((element) => {
3822
- const amount = getInitialElementAmount(element);
3823
- if (!amount || isNaN(amount)) {
3824
- return;
3825
- }
3826
- element.setAttribute('data-zintl', currencyConvert(amount).toString());
3827
- // Check if an observer is already attached to the element
3828
- let observer = element._mutationObserver;
3829
- if (!observer) {
3830
- observer = new MutationObserver(() => {
3831
- const observedFormattedValue = currencyConvertAndFormat(amount);
3832
- element.textContent = observedFormattedValue;
3833
- });
3834
- observer.observe(element, {
3835
- characterData: true,
3836
- childList: true,
3837
- });
3838
- element._mutationObserver = observer;
3839
- }
3840
- // Temporarily disconnect the observer to prevent an infinite loop
3841
- observer.disconnect();
3842
- const formattedValue = currencyConvertAndFormat(amount);
3843
- element.textContent = formattedValue;
3844
- // Reconnect the observer after the update is complete
3845
- observer.observe(element, {
3846
- characterData: true,
3847
- childList: true,
3848
- });
3849
+ // convert the currency and save the formatted value to the data-zintl attribute
3850
+ convertCurrency(element);
3849
3851
  });
3850
3852
  };
3851
3853
 
@@ -3927,11 +3929,9 @@ const getNewLocalization = async () => {
3927
3929
  !selectedCountryCode) {
3928
3930
  return;
3929
3931
  }
3930
- if (zonosStore.sourceCurrency !== localizationStore.targetCurrency) {
3931
- const isGuaranteed = zonosStore.checkoutSettings.visibilityStatus === 'ENABLED';
3932
- const { maxAge } = await triggerGetExchangeRate(isGuaranteed);
3933
- startExchangeRateTimeout({ isGuaranteed, maxAge });
3934
- }
3932
+ const isGuaranteed = zonosStore.checkoutSettings.visibilityStatus === 'ENABLED';
3933
+ const { maxAge } = await triggerGetExchangeRate(isGuaranteed);
3934
+ startExchangeRateTimeout({ isGuaranteed, maxAge });
3935
3935
  localizationStore.countryLandedCost = await getCountryLandedCost(localizationStore.selectedCountryCode);
3936
3936
  };
3937
3937
  const getCustomMessages = async () => {
@@ -3958,7 +3958,8 @@ const getOverrideLocale = () => {
3958
3958
  const zonosLocale = currentUrl.searchParams.get('zonosLocale');
3959
3959
  return zonosLocale;
3960
3960
  };
3961
- const localizationStoreUpdateSelectedCountryCode = async (newSelectedCountryCode) => {
3961
+ const localizationStoreUpdateSelectedCountryCode = (newSelectedCountryCode) => {
3962
+ var _a;
3962
3963
  log('update selected country code');
3963
3964
  localizationStore.selectedCountryCode = newSelectedCountryCode;
3964
3965
  const { selectedCountryCode, shippingZoneCountries } = localizationStore;
@@ -3982,6 +3983,8 @@ const localizationStoreUpdateSelectedCountryCode = async (newSelectedCountryCode
3982
3983
  window.sessionStorage.setItem('zonos--country', selectedCountryCode);
3983
3984
  // Update the URL query param with the new country code
3984
3985
  setZCountryUrlParam(selectedCountryCode);
3986
+ (_a = document
3987
+ .querySelector('zonos-hello')) === null || _a === void 0 ? void 0 : _a.setAttribute('z-country', selectedCountryCode);
3985
3988
  };
3986
3989
  const initLocalizationStore = async () => {
3987
3990
  // all countries from countries.json, shipping zone and localization
@@ -4137,11 +4140,26 @@ const calculateLandedCost = async (abortController) => {
4137
4140
  return json;
4138
4141
  };
4139
4142
 
4143
+ const jsonParse = (_data) => {
4144
+ if (typeof _data === 'string') {
4145
+ try {
4146
+ // eslint-disable-next-line no-restricted-syntax
4147
+ const json = JSON.parse(_data);
4148
+ return json;
4149
+ }
4150
+ catch (_error) {
4151
+ return null;
4152
+ }
4153
+ }
4154
+ return null;
4155
+ };
4156
+
4140
4157
  const addressRuleStyle = ({ theme, }) => {
4141
4158
  switch (theme) {
4142
4159
  default:
4143
4160
  return {
4144
4161
  '.Input': {
4162
+ boxShadow: 'none',
4145
4163
  // need to reset everything and the paddingTop to default, otherwise the paddingTop will not be updated.
4146
4164
  padding: '0',
4147
4165
  paddingBottom: '8px',
@@ -4150,6 +4168,9 @@ const addressRuleStyle = ({ theme, }) => {
4150
4168
  // any value here will be add up to the default paddingTop (20px).
4151
4169
  paddingTop: '6px',
4152
4170
  },
4171
+ '.Input:focus': {
4172
+ boxShadow: 'none',
4173
+ },
4153
4174
  };
4154
4175
  }
4155
4176
  };
@@ -4216,6 +4237,17 @@ const getStripeOptions = ({ clientSecret, overrideBorderRaidus, overridePrimaryC
4216
4237
  locale: localizationStore.selectedLocale,
4217
4238
  };
4218
4239
  };
4240
+ const stripeStoreCleanupDomesticShippingSession = () => {
4241
+ window.sessionStorage.removeItem('zonos--bigcommerce-domestic-checkout-shipping');
4242
+ };
4243
+ // Save shipping address to session storage
4244
+ const stripeStoreSaveDomesticShippingSession = (props) => {
4245
+ window.sessionStorage.setItem('zonos--bigcommerce-domestic-checkout-shipping', JSON.stringify(props));
4246
+ };
4247
+ const stripeStoreGetDomesticShippingSession = () => {
4248
+ const session = window.sessionStorage.getItem('zonos--bigcommerce-domestic-checkout-shipping');
4249
+ return jsonParse(session);
4250
+ };
4219
4251
  const initStripeElements = async (props) => {
4220
4252
  var _a, _b;
4221
4253
  const clientSecret = stripeStore.clientSecret;
@@ -4317,12 +4349,18 @@ const stripeStorePrefetchLandedCost = async () => {
4317
4349
  try {
4318
4350
  const abortController = new AbortController();
4319
4351
  stripeStore.fetchingLandedCostAbordController = abortController;
4320
- const { checkoutSessionWorkflow, shipmentRatingCalculateWorkflow } = await calculateLandedCost(abortController);
4352
+ const { checkoutSessionWorkflow, landedCostCalculateWorkflow, shipmentRatingCalculateWorkflow, } = await calculateLandedCost(abortController);
4321
4353
  // reset abort controller after we are done
4322
4354
  stripeStore.fetchingLandedCostAbordController = null;
4323
4355
  // update cart store with landed cost info
4324
4356
  cartStore.landedCostData =
4325
- (checkoutSessionWorkflow === null || checkoutSessionWorkflow === void 0 ? void 0 : checkoutSessionWorkflow.filter(Boolean)) || null;
4357
+ (checkoutSessionWorkflow === null || checkoutSessionWorkflow === void 0 ? void 0 : checkoutSessionWorkflow.map(checkoutSession => {
4358
+ const foundLandedCost = landedCostCalculateWorkflow === null || landedCostCalculateWorkflow === void 0 ? void 0 : landedCostCalculateWorkflow.find(item => { var _a; return (item === null || item === void 0 ? void 0 : item.id) === ((_a = checkoutSession.landedCost) === null || _a === void 0 ? void 0 : _a.id); });
4359
+ if (!foundLandedCost) {
4360
+ return null;
4361
+ }
4362
+ return Object.assign(Object.assign({}, checkoutSession), { landedCost: foundLandedCost });
4363
+ }).filter(Boolean)) || null;
4326
4364
  cartStore.shippingData =
4327
4365
  (shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || null;
4328
4366
  // apply new subtotal and total, this is mainly to show items in the presentment currency
@@ -4407,7 +4445,11 @@ const stripeStoreRetrievePayment = async ({ clientSecret: _clientSecret, storybo
4407
4445
  const { paymentIntent } = await stripeStore.stripe.retrievePaymentIntent(clientSecret);
4408
4446
  const status = paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status;
4409
4447
  const { isError, messages } = getStripeMessageBasedOnStatus(status);
4410
- return { error: isError, messages };
4448
+ return {
4449
+ error: isError,
4450
+ messages,
4451
+ paymentMethod: paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.payment_method,
4452
+ };
4411
4453
  };
4412
4454
  const stripeStoreConfirmPayment = async () => {
4413
4455
  var _a, _b, _c;
@@ -4599,14 +4641,14 @@ const cartStoreReCalculateTotal = async ({ currency, itemsAmount, landedCostId,
4599
4641
  logError('Could not update cart total without checkout session id');
4600
4642
  return false;
4601
4643
  }
4602
- const { json } = await stripeStoreUpdateCheckoutSession({
4644
+ const { errors, json } = await stripeStoreUpdateCheckoutSession({
4603
4645
  currency,
4604
4646
  id: cartStore.checkoutSessionId,
4605
4647
  itemsAmount,
4606
4648
  landedCostId,
4607
4649
  presentmentCountryCode: localizationStore.selectedCountryCode,
4608
4650
  });
4609
- if (!json) {
4651
+ if (errors.length > 0 || !json) {
4610
4652
  // do nothing if we can't get checkout session
4611
4653
  logError('Error occurs when updating checkout session');
4612
4654
  cartStoreUpdateToErrorState({
@@ -4717,4 +4759,4 @@ const cartStorePreviousStep = () => {
4717
4759
  }
4718
4760
  };
4719
4761
 
4720
- export { stripeStoreRetrievePayment as A, cartStoreUpdateSelectedShippingOption as B, cartStoreGetShippingTransitInfo as C, localizationStoreUpdateSelectedLocale as D, log as a, cartStoreUpdateItems as b, cartStore as c, cartStoreReset as d, stripeStoreInitCheckoutSession as e, cartStoreUpdateToErrorState as f, stripeStorePrefetchLandedCost as g, cartStoreNextStep as h, initStripeElements as i, stripeStoreConfirmPayment as j, stripeStoreReset as k, localizationStore as l, cartStorePreviousStep as m, handleFetch as n, logError as o, isValidSelector as p, initLocalizationStore as q, localizationStoreUpdateSelectedCountryCode as r, stripeStore as s, translate as t, getZCountryUrlParam as u, setZCountryUrlParam as v, currencyDisplay as w, currencyConvertAndFormat as x, currencyConvert as y, currencyFormat as z };
4762
+ export { currencyConvertAndFormat as A, currencyConvert as B, currencyFormat as C, stripeStoreRetrievePayment as D, cartStoreUpdateSelectedShippingOption as E, cartStoreGetShippingTransitInfo as F, localizationStoreUpdateSelectedLocale as G, log as a, localizationStoreUpdateSelectedCountryCode as b, stripeStoreCleanupDomesticShippingSession as c, logError as d, stripeStoreSaveDomesticShippingSession as e, cartStore as f, cartStoreUpdateItems as g, cartStoreReset as h, initStripeElements as i, stripeStore as j, stripeStoreInitCheckoutSession as k, localizationStore as l, cartStoreUpdateToErrorState as m, stripeStorePrefetchLandedCost as n, cartStoreNextStep as o, stripeStoreConfirmPayment as p, stripeStoreReset as q, cartStorePreviousStep as r, stripeStoreGetDomesticShippingSession as s, translate as t, handleFetch as u, isValidSelector as v, initLocalizationStore as w, getZCountryUrlParam as x, setZCountryUrlParam as y, currencyDisplay as z };
@@ -0,0 +1,15 @@
1
+ const formatStringWithLinks = (str) => {
2
+ // Match Markdown-style links or standalone URLs not in Markdown format
3
+ const linkRegex = /\[([^\]]+)\]\((https?:\/\/[^\s\)]+)\)|(https?:\/\/[^\s]+)/g;
4
+ const messageWithLinks = str.replace(linkRegex, (_match, text, markdownUrl, url) => {
5
+ if (markdownUrl) {
6
+ return `<zonos-link href="${markdownUrl}" target="_blank" rel="noopener noreferrer">${text}</zonos-link>`;
7
+ }
8
+ else {
9
+ return `<zonos-link href="${url}" target="_blank" rel="noopener noreferrer">${url}</zonos-link>`;
10
+ }
11
+ });
12
+ return messageWithLinks;
13
+ };
14
+
15
+ export { formatStringWithLinks as f };
@@ -1,4 +1,4 @@
1
- import { z as zonosStore } from './zonosStore-dec6bd7e.js';
1
+ import { z as zonosStore } from './zonosStore-00bce01b.js';
2
2
 
3
3
  /**
4
4
  * Get the border radius for the elements based on the style
@@ -1,4 +1,4 @@
1
- import { a as commonjsGlobal } from './zonosStore-dec6bd7e.js';
1
+ import { a as commonjsGlobal } from './zonosStore-00bce01b.js';
2
2
 
3
3
  var tinycolor$1 = {exports: {}};
4
4
 
@@ -5,7 +5,7 @@ import { g as globalScripts } from './app-globals-0f993ce5.js';
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["zonos-checkout",[[2,"zonos-checkout",{"appearanceSettingsOverride":[16],"preview":[4],"mobile":[4],"defaultAddress":[16],"forceDialogOpen":[4,"force-dialog-open"],"open":[32],"stripe":[32],"submitLoading":[32],"paymentError":[32],"collapseReviewMobile":[32],"isAttachError":[32],"isMobile":[32],"zonosReviewRef":[32],"storybookPaymentStatusOverride":[32],"closeDialogHandler":[64],"init":[64],"setToFinishStep":[64]},[[16,"zonos--init-cart-info","initCartInfoHandler"],[9,"resize","handleWindowResize"]],{"appearanceSettingsOverride":["appearanceSettingsOverrideChanged"],"mobile":["handleMobileChange"]}]]],["zonos-hello",[[1,"zonos-hello",{"mobileLocationOverride":[1,"mobile-location-override"],"animateFromLeftOverride":[4,"animate-from-left-override"],"appearanceSettingsOverride":[16],"showPeekMessage":[32],"zonosStoreHelloSettings":[32],"showDialog":[32],"peekMessage":[32],"initialUrl":[32],"allRestrictedItems":[32],"allFoundProducts":[32],"productsOnPage":[32],"displayCurrency":[64],"convertAndFormat":[64],"convert":[64],"format":[64]},[[9,"resize","handleResize"]]]]],["zonos-controller",[[1,"zonos-controller",{"config":[16],"zonosApiKey":[1,"zonos-api-key"],"initCheckoutElement":[64],"setupGoogleFont":[64],"showNotification":[64],"overrideConfig":[64],"overrideCountry":[64],"getAppearanceSetting":[64],"updateOrganizationName":[64]}]]],["zonos-component",[[1,"zonos-component",{"first":[1],"middle":[1],"last":[1]}]]],["zonos-logo",[[1,"zonos-logo",{"theme":[1],"width":[1]}]]],["zonos-payment",[[2,"zonos-payment",{"titleText":[1,"title-text"],"stripe":[32],"stripeElements":[32]},null,{"stripeElements":["watchInitStripe"],"stripe":["watchInitStripe"]}]]],["zonos-shipping-rich-radio",[[1,"zonos-shipping-rich-radio",{"items":[16],"borderColor":[1,"border-color"],"borderStyle":[1,"border-style"],"theme":[1],"selectedItem":[32]}]]],["zonos-country-flag",[[1,"zonos-country-flag",{"countryCode":[1,"country-code"],"size":[2]}]]],["zonos-text",[[1,"zonos-text",{"textColor":[1,"text-color"],"size":[1],"type":[1],"weight":[2],"content":[1],"ready":[32]}]]],["zonos-button_3",[[1,"zonos-button",{"buttonColor":[1,"button-color"],"backgroundColor":[1,"background-color"],"borderStyle":[1,"border-style"],"isDisabled":[4,"is-disabled"],"icon":[16],"iconRight":[4,"icon-right"],"size":[1],"variant":[1],"noBackground":[4,"no-background"],"noPaddingLeft":[4,"no-padding-left"],"noPaddingRight":[4,"no-padding-right"],"loading":[4],"theme":[1],"hasIcon":[32],"hasContent":[32]},[[2,"click","clickHandler"]],{"icon":["iconChangeHandler"]}],[1,"zonos-icon",{"autoHeight":[4,"auto-height"],"iconColor":[1,"icon-color"],"content":[1],"size":[2]}],[1,"zonos-spinner",{"size":[2],"spinnerColor":[1,"spinner-color"]}]]],["zonos-select-dialog-header_2",[[1,"zonos-select-dialog-header",{"handleOnClose":[16],"label":[1]}],[1,"zonos-v-stack",{"spacing":[2]}]]],["zonos-country-select_3",[[1,"zonos-country-select",{"handleOnClose":[16],"inputValue":[32]}],[1,"zonos-hello-dialog-footer",{"appearanceSettings":[16],"setShowCountrySelect":[16],"setShowLanguageSelect":[16]}],[1,"zonos-custom-message",{"icon":[1],"message":[1]}]]],["zonos-hello-dialog",[[1,"zonos-hello-dialog",{"isOpen":[4,"is-open"],"setIsOpen":[16],"mobileLocationOverride":[1,"mobile-location-override"],"animateFromLeftOverride":[4,"animate-from-left-override"],"appearanceSettings":[16],"restrictedItems":[16],"welcomeMessage":[32],"showCountrySelect":[32],"showLanguageSelect":[32]},[[4,"click","globalClickHandler"]],{"isOpen":["isOpenHandler"]}]]],["zonos-notification",[[1,"zonos-notification",{"notificationArray":[32],"showNotification":[64]}]]],["zonos-badge_2",[[1,"zonos-badge",{"bold":[4],"badgeColor":[1,"badge-color"],"icon":[16],"iconRight":[4,"icon-right"],"size":[1],"rounded":[4]}],[1,"zonos-tooltip",{"label":[1],"subtitle":[1],"showTooltip":[32]}]]],["zonos-banner",[[1,"zonos-banner",{"bannerTitle":[1,"banner-title"],"intent":[1],"hasContent":[32]}]]],["zonos-card_2",[[1,"zonos-language-select",{"handleOnClose":[16]}],[1,"zonos-card",{"actions":[16],"footerActions":[16],"footerContent":[16],"footerHeight":[2,"footer-height"],"label":[16],"spacing":[1]}]]],["zonos-address_4",[[2,"zonos-address",{"type":[1],"titleText":[1,"title-text"],"defaultAddress":[16],"stripe":[32],"isDirtyAddress":[32]},null,{"stripe":["watchInitStripe"]}],[1,"zonos-checkbox",{"backgroundColor":[1,"background-color"],"label":[1],"isChecked":[4,"is-checked"],"isDisabled":[4,"is-disabled"],"size":[2],"fontSize":[1,"font-size"],"borderStyle":[1,"border-style"]}],[2,"zonos-link-authentication",{"titleText":[1,"title-text"],"stripe":[32]},null,{"stripe":["watchInitStripe"]}],[1,"zonos-collapse",{"collapsed":[4],"collapseSize":[2,"collapse-size"],"height":[32]}]]],["zonos-cart-items_9",[[1,"zonos-checkout-footer",{"showDialog":[32]},[[4,"click","handleGlobalClick"]]],[2,"zonos-customer-info",{"continueLoading":[4,"continue-loading"],"submitBtnType":[1,"submit-btn-type"],"submitBtnColor":[1,"submit-btn-color"],"defaultAddress":[16],"disabled":[32]},null,{"disabled":["watchFormComplete"]}],[2,"zonos-checkout-payment",{"paymentError":[4,"payment-error"],"submitBtnType":[1,"submit-btn-type"],"continueLoading":[4,"continue-loading"],"submitBtnColor":[1,"submit-btn-color"],"disabled":[32]},null,{"disabled":["watchFormComplete"]}],[2,"zonos-shipping",{"continueLoading":[4,"continue-loading"],"submitBtnColor":[1,"submit-btn-color"],"submitBtnType":[1,"submit-btn-type"],"selectedShippingMethod":[32],"disabled":[32]},null,{"disabled":["watchFormComplete"]}],[1,"zonos-cart-subtotal"],[1,"zonos-checkout-finish",{"borderRadius":[1,"border-radius"],"storybookForceStatus":[1,"storybook-force-status"],"overrideNotification":[16],"isLoading":[32],"notificationType":[32],"notificationTitle":[32],"notificationMessages":[32],"order":[32]}],[1,"zonos-dialog",{"open":[4],"headerText":[1,"header-text"],"width":[1],"height":[1],"noHeader":[4,"no-header"],"noBodyPadding":[4,"no-body-padding"],"noBorder":[4,"no-border"],"footerRightAction":[16],"borderStyle":[1,"border-style"],"noCloseButton":[4,"no-close-button"],"noClickOutside":[4,"no-click-outside"],"mobile":[4],"isLoading":[4,"is-loading"],"isMobile":[32]},[[9,"resize","handleWindowResize"]]],[1,"zonos-review",{"mobile":[4],"collapsed":[4],"isMobile":[32]},[[9,"resize","handleWindowResize"]]],[1,"zonos-cart-items",{"errorImages":[32]}]]]], options);
8
+ return bootstrapLazy([["zonos-checkout",[[2,"zonos-checkout",{"appearanceSettingsOverride":[16],"preview":[4],"mobile":[4],"defaultAddress":[16],"forceDialogOpen":[4,"force-dialog-open"],"open":[32],"stripe":[32],"submitLoading":[32],"paymentError":[32],"collapseReviewMobile":[32],"isAttachError":[32],"isMobile":[32],"zonosReviewRef":[32],"storybookPaymentStatusOverride":[32],"domesticRedirectedBtnSelector":[32],"closeDialogHandler":[64],"init":[64],"setToFinishStep":[64]},[[16,"zonos--init-cart-info","initCartInfoHandler"],[9,"resize","handleWindowResize"]],{"appearanceSettingsOverride":["appearanceSettingsOverrideChanged"],"mobile":["handleMobileChange"]}]]],["zonos-hello",[[1,"zonos-hello",{"mobileLocationOverride":[1,"mobile-location-override"],"animateFromLeftOverride":[4,"animate-from-left-override"],"appearanceSettingsOverride":[16],"showPeekMessage":[32],"zonosStoreHelloSettings":[32],"showDialog":[32],"peekMessage":[32],"initialUrl":[32],"allRestrictedItems":[32],"allFoundProducts":[32],"productsOnPage":[32],"displayCurrency":[64],"convertAndFormat":[64],"convert":[64],"format":[64],"openHelloDialog":[64]},[[9,"resize","handleResize"]]]]],["zonos-controller",[[1,"zonos-controller",{"config":[16],"zonosApiKey":[1,"zonos-api-key"],"initCheckoutElement":[64],"setupGoogleFont":[64],"showNotification":[64],"overrideConfig":[64],"overrideCountry":[64],"getAppearanceSetting":[64],"updateOrganizationName":[64]}]]],["zonos-component",[[1,"zonos-component",{"first":[1],"middle":[1],"last":[1]}]]],["zonos-link",[[1,"zonos-link",{"href":[1],"rel":[1],"target":[1],"linkTitle":[1,"link-title"]}]]],["zonos-logo",[[1,"zonos-logo",{"theme":[1],"width":[1]}]]],["zonos-text",[[1,"zonos-text",{"textColor":[1,"text-color"],"size":[1],"type":[1],"weight":[2],"content":[1],"ready":[32]}]]],["zonos-hello-dialog",[[1,"zonos-hello-dialog",{"isOpen":[4,"is-open"],"setIsOpen":[16],"mobileLocationOverride":[1,"mobile-location-override"],"animateFromLeftOverride":[4,"animate-from-left-override"],"appearanceSettings":[16],"restrictedItems":[16],"welcomeMessage":[32],"showCountrySelect":[32],"showLanguageSelect":[32]},[[4,"click","globalClickHandler"]],{"isOpen":["isOpenHandler"]}]]],["zonos-notification",[[1,"zonos-notification",{"notificationArray":[32],"showNotification":[64]}]]],["zonos-payment",[[2,"zonos-payment",{"titleText":[1,"title-text"],"stripe":[32],"stripeElements":[32]},null,{"stripeElements":["watchInitStripe"],"stripe":["watchInitStripe"]}]]],["zonos-shipping-rich-radio",[[1,"zonos-shipping-rich-radio",{"items":[16],"borderColor":[1,"border-color"],"borderStyle":[1,"border-style"],"theme":[1],"selectedItem":[32]}]]],["zonos-badge_2",[[1,"zonos-badge",{"bold":[4],"badgeColor":[1,"badge-color"],"icon":[16],"iconRight":[4,"icon-right"],"size":[1],"rounded":[4]}],[1,"zonos-tooltip",{"label":[1],"subtitle":[1],"showTooltip":[32]}]]],["zonos-country-flag",[[1,"zonos-country-flag",{"countryCode":[1,"country-code"],"size":[2]}]]],["zonos-banner",[[1,"zonos-banner",{"bannerTitle":[1,"banner-title"],"intent":[1],"hasContent":[32]}]]],["zonos-button_3",[[1,"zonos-button",{"buttonColor":[1,"button-color"],"backgroundColor":[1,"background-color"],"borderStyle":[1,"border-style"],"isDisabled":[4,"is-disabled"],"icon":[16],"iconRight":[4,"icon-right"],"size":[1],"variant":[1],"noBackground":[4,"no-background"],"noPaddingLeft":[4,"no-padding-left"],"noPaddingRight":[4,"no-padding-right"],"loading":[4],"theme":[1],"hasIcon":[32],"hasContent":[32]},[[2,"click","clickHandler"]],{"icon":["iconChangeHandler"]}],[1,"zonos-icon",{"autoHeight":[4,"auto-height"],"iconColor":[1,"icon-color"],"content":[1],"size":[2]}],[1,"zonos-spinner",{"size":[2],"spinnerColor":[1,"spinner-color"]}]]],["zonos-select-dialog-header_2",[[1,"zonos-select-dialog-header",{"handleOnClose":[16],"label":[1]}],[1,"zonos-v-stack",{"spacing":[2]}]]],["zonos-card_2",[[1,"zonos-language-select",{"handleOnClose":[16]}],[1,"zonos-card",{"actions":[16],"footerActions":[16],"footerContent":[16],"footerHeight":[2,"footer-height"],"label":[16],"spacing":[1]}]]],["zonos-country-select_3",[[1,"zonos-country-select",{"handleOnClose":[16],"inputValue":[32]}],[1,"zonos-hello-dialog-footer",{"appearanceSettings":[16],"setShowCountrySelect":[16],"setShowLanguageSelect":[16]}],[1,"zonos-custom-message",{"icon":[1],"message":[1]}]]],["zonos-address_4",[[2,"zonos-address",{"type":[1],"titleText":[1,"title-text"],"defaultAddress":[16],"stripe":[32],"isDirtyAddress":[32]},null,{"stripe":["watchInitStripe"]}],[1,"zonos-checkbox",{"backgroundColor":[1,"background-color"],"label":[1],"isChecked":[4,"is-checked"],"isDisabled":[4,"is-disabled"],"size":[2],"fontSize":[1,"font-size"],"borderStyle":[1,"border-style"]}],[2,"zonos-link-authentication",{"titleText":[1,"title-text"],"stripe":[32]},null,{"stripe":["watchInitStripe"]}],[1,"zonos-collapse",{"collapsed":[4],"collapseSize":[2,"collapse-size"],"height":[32],"iframe":[32]}]]],["zonos-cart-items_9",[[1,"zonos-checkout-footer",{"showDialog":[32]},[[4,"click","handleGlobalClick"]]],[2,"zonos-customer-info",{"continueLoading":[4,"continue-loading"],"submitBtnType":[1,"submit-btn-type"],"submitBtnColor":[1,"submit-btn-color"],"defaultAddress":[16],"disabled":[32]},null,{"disabled":["watchFormComplete"]}],[2,"zonos-checkout-payment",{"paymentError":[4,"payment-error"],"submitBtnType":[1,"submit-btn-type"],"continueLoading":[4,"continue-loading"],"submitBtnColor":[1,"submit-btn-color"],"disabled":[32]},null,{"disabled":["watchFormComplete"]}],[2,"zonos-shipping",{"continueLoading":[4,"continue-loading"],"submitBtnColor":[1,"submit-btn-color"],"submitBtnType":[1,"submit-btn-type"],"selectedShippingMethod":[32],"disabled":[32]},null,{"disabled":["watchFormComplete"]}],[1,"zonos-cart-subtotal"],[1,"zonos-checkout-finish",{"borderRadius":[1,"border-radius"],"storybookForceStatus":[1,"storybook-force-status"],"overrideNotification":[16],"isLoading":[32],"notificationType":[32],"notificationTitle":[32],"notificationMessages":[32],"order":[32]}],[1,"zonos-dialog",{"open":[4],"headerText":[1,"header-text"],"width":[1],"height":[1],"noHeader":[4,"no-header"],"noBodyPadding":[4,"no-body-padding"],"noBorder":[4,"no-border"],"footerRightAction":[16],"borderStyle":[1,"border-style"],"noCloseButton":[4,"no-close-button"],"noClickOutside":[4,"no-click-outside"],"mobile":[4],"isLoading":[4,"is-loading"],"isMobile":[32]},[[9,"resize","handleWindowResize"]]],[1,"zonos-review",{"mobile":[4],"collapsed":[4],"isMobile":[32]},[[9,"resize","handleWindowResize"]]],[1,"zonos-cart-items",{"errorImages":[32]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -0,0 +1,51 @@
1
+ import { u as handleFetch, l as localizationStore, a as log } from './cart-e261efc1.js';
2
+ import { z as zonosStore } from './zonosStore-00bce01b.js';
3
+
4
+ const trackConversionEvent = async (eventName, metadata) => {
5
+ // If a Zonos domain, we don't want analytics to be tracked
6
+ if (window.location.href.includes('zonos.com')) {
7
+ return;
8
+ }
9
+ const url = `${"https://v1.route.js.zonos.com"}/api/zonos-elements/track-conversion-event`;
10
+ const countryCode = localizationStore.selectedCountryCode;
11
+ const organizationId = zonosStore.organizationId;
12
+ const body = {
13
+ countryCode,
14
+ eventName,
15
+ metadata,
16
+ organizationId,
17
+ };
18
+ await handleFetch(url, {
19
+ body,
20
+ method: 'POST',
21
+ });
22
+ };
23
+
24
+ const sendErrorLog = async ({ endpoint, errors, metadata }) => {
25
+ const errorObject = {
26
+ endpoint,
27
+ errors,
28
+ metadata,
29
+ };
30
+ void handleFetch(`${"https://v1.route.js.zonos.com"}/api/zonos-elements/log-error`, {
31
+ body: errorObject,
32
+ method: 'POST',
33
+ });
34
+ };
35
+
36
+ /**
37
+ * Submit a gtag event if the gtag function is available.
38
+ */
39
+ const submitGtag = (event) => {
40
+ const googleAnalyticSetting = zonosStore.checkoutSettings.analyticsProviders.find(item => item.type === 'GOOGLE_ANALYTICS');
41
+ // only submit if googleAnalytic in checkout setting is on.
42
+ if (!googleAnalyticSetting || (googleAnalyticSetting === null || googleAnalyticSetting === void 0 ? void 0 : googleAnalyticSetting.status) === 'DISABLED') {
43
+ return;
44
+ }
45
+ if (typeof window.gtag === 'function') {
46
+ log('Zonos submits gtag event', 'log', event);
47
+ window.gtag('event', event, {});
48
+ }
49
+ };
50
+
51
+ export { submitGtag as a, sendErrorLog as s, trackConversionEvent as t };