@zonos/elements 1.3.39 → 1.3.41

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 (303) hide show
  1. package/dist/cjs/{cart-c7212410.js → cart-497bb434.js} +300 -7
  2. package/dist/cjs/{getBorderRadius-074b46ef.js → getBorderRadius-4413e191.js} +1 -1
  3. package/dist/cjs/{index-b071017b.js → index-d56e0a8b.js} +242 -169
  4. package/dist/cjs/index.cjs.js +10 -4
  5. package/dist/cjs/{isDarkColor-371a3b1a.js → isDarkColor-4eb96a1e.js} +1 -1
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/paypal-e65a287a.js +461 -0
  8. package/dist/cjs/{submitGtag-7a679d92.js → sendErrorLog-c3c315a9.js} +2 -19
  9. package/dist/cjs/zonos-address_8.cjs.entry.js +11 -11
  10. package/dist/cjs/zonos-badge_2.cjs.entry.js +4 -4
  11. package/dist/cjs/zonos-banner.cjs.entry.js +2 -2
  12. package/dist/cjs/zonos-button_3.cjs.entry.js +4 -4
  13. package/dist/cjs/zonos-card.cjs.entry.js +3 -3
  14. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +76 -38
  15. package/dist/cjs/zonos-checkout.cjs.entry.js +43 -70
  16. package/dist/cjs/zonos-component.cjs.entry.js +2 -2
  17. package/dist/cjs/zonos-controller.cjs.entry.js +15 -15
  18. package/dist/cjs/zonos-country-flag.cjs.entry.js +5 -5
  19. package/dist/cjs/{zonos-country-select_3.cjs.entry.js → zonos-country-select_4.cjs.entry.js} +100 -14
  20. package/dist/cjs/zonos-elements.cjs.js +3 -3
  21. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +9 -9
  22. package/dist/cjs/zonos-hello.cjs.entry.js +5 -5
  23. package/dist/cjs/zonos-input.cjs.entry.js +7 -7
  24. package/dist/cjs/zonos-language-select_2.cjs.entry.js +9 -9
  25. package/dist/cjs/zonos-link.cjs.entry.js +2 -2
  26. package/dist/cjs/zonos-logo.cjs.entry.js +4 -4
  27. package/dist/cjs/{zonos-notification_2.cjs.entry.js → zonos-notification_3.cjs.entry.js} +59 -7
  28. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +3 -3
  29. package/dist/cjs/zonos-text.cjs.entry.js +2 -2
  30. package/dist/cjs/zonos-v-stack.cjs.entry.js +4 -4
  31. package/dist/cjs/{zonosStore-4c6c85da.js → zonosStore-56401fdb.js} +5 -1
  32. package/dist/collection/__tests__/build-utils/urlCheckOne.js +3 -1
  33. package/dist/collection/collection-manifest.json +3 -1
  34. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-update-dialog.css +1 -0
  35. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +39 -8
  36. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.css +1 -0
  37. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.css +7 -1
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +37 -22
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.css +3 -0
  40. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +30 -60
  41. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +1 -0
  42. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +1 -0
  43. package/dist/collection/components/common/zonos-country-select/zonos-country-select.css +8 -0
  44. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +14 -4
  45. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +2 -2
  46. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +3 -3
  47. package/dist/collection/components/common/zonos-input/zonos-input.js +4 -4
  48. package/dist/collection/components/common/zonos-language-select/zonos-language-select.js +2 -2
  49. package/dist/collection/components/common/zonos-link/zonos-link.js +1 -1
  50. package/dist/collection/components/common/zonos-logo/zonos-logo.js +2 -2
  51. package/dist/collection/components/common/zonos-rest-state/zonos-rest-state.js +3 -3
  52. package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.js +2 -2
  53. package/dist/collection/components/common/zonos-tooltip/zonos-tooltip.js +2 -2
  54. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +2 -2
  55. package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.css +46 -0
  56. package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.js +177 -0
  57. package/dist/collection/components/component-template/zonos-component/zonos-component.js +1 -1
  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 +4 -4
  60. package/dist/collection/components/main/zonos-controller.js +22 -8
  61. package/dist/collection/components/paypal/zonos-paypal-payment.css +37 -0
  62. package/dist/collection/components/paypal/zonos-paypal-payment.js +92 -0
  63. package/dist/collection/components/store/checkout/cart.js +26 -1
  64. package/dist/collection/components/store/checkout/paypal.js +219 -0
  65. package/dist/collection/components/store/checkout/stripe.js +16 -4
  66. package/dist/collection/components/store/translationStore/strings.arabic.js +12 -0
  67. package/dist/collection/components/store/translationStore/strings.base.js +12 -0
  68. package/dist/collection/components/store/translationStore/strings.chinese.js +12 -0
  69. package/dist/collection/components/store/translationStore/strings.danish.js +12 -0
  70. package/dist/collection/components/store/translationStore/strings.dutch.js +12 -0
  71. package/dist/collection/components/store/translationStore/strings.french.js +12 -0
  72. package/dist/collection/components/store/translationStore/strings.german.js +12 -0
  73. package/dist/collection/components/store/translationStore/strings.hebrew.js +12 -0
  74. package/dist/collection/components/store/translationStore/strings.indonesian.js +12 -0
  75. package/dist/collection/components/store/translationStore/strings.italian.js +12 -0
  76. package/dist/collection/components/store/translationStore/strings.japanese.js +12 -0
  77. package/dist/collection/components/store/translationStore/strings.korean.js +12 -0
  78. package/dist/collection/components/store/translationStore/strings.norwegian.js +12 -0
  79. package/dist/collection/components/store/translationStore/strings.polish.js +12 -0
  80. package/dist/collection/components/store/translationStore/strings.portuguese.js +12 -0
  81. package/dist/collection/components/store/translationStore/strings.russian.js +12 -0
  82. package/dist/collection/components/store/translationStore/strings.spanish.js +12 -0
  83. package/dist/collection/components/store/translationStore/strings.swedish.js +12 -0
  84. package/dist/collection/components/store/translationStore/strings.turkish.js +12 -0
  85. package/dist/collection/components/store/translationStore/strings.vietnamese.js +12 -0
  86. package/dist/collection/components/store/zonosStore.js +4 -0
  87. package/dist/collection/components/stripe/zonos-address/zonos-address.js +2 -2
  88. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +1 -1
  89. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +2 -3
  90. package/dist/collection/components/utils/api/getZonosSettings.js +3 -3
  91. package/dist/collection/components/utils/api/paypalCaptureOrder.js +8 -0
  92. package/dist/collection/components/utils/api/paypalCreateOrder.js +8 -0
  93. package/dist/collection/components/utils/getContrastColor.js +6 -2
  94. package/dist/collection/components/utils/handleFetch.js +6 -1
  95. package/dist/collection/components/utils/isContrastColor.js +7 -0
  96. package/dist/collection/environment.js +4 -5
  97. package/dist/collection/scripts/_getZonosQaUrl.js +4 -0
  98. package/dist/collection/scripts/_zonosBase.js +2 -0
  99. package/dist/collection/styles/stripe/addressRuleStyle.js +6 -0
  100. package/dist/collection/types/generated/graphql.customer.types.js +35 -0
  101. package/dist/esm/{cart-eb75b113.js → cart-f53c9f90.js} +296 -8
  102. package/dist/esm/{getBorderRadius-947c24de.js → getBorderRadius-3ba98361.js} +1 -1
  103. package/dist/esm/{index-3b46f3c3.js → index-86b8247e.js} +242 -169
  104. package/dist/esm/index.js +10 -4
  105. package/dist/esm/{isDarkColor-f8324c10.js → isDarkColor-3119e351.js} +1 -1
  106. package/dist/esm/loader.js +3 -3
  107. package/dist/esm/paypal-72296ae6.js +453 -0
  108. package/dist/esm/{submitGtag-0bc0baa0.js → sendErrorLog-f8d3ec4b.js} +3 -19
  109. package/dist/esm/zonos-address_8.entry.js +11 -11
  110. package/dist/esm/zonos-badge_2.entry.js +4 -4
  111. package/dist/esm/zonos-banner.entry.js +2 -2
  112. package/dist/esm/zonos-button_3.entry.js +4 -4
  113. package/dist/esm/zonos-card.entry.js +3 -3
  114. package/dist/esm/zonos-cart-items_12.entry.js +63 -25
  115. package/dist/esm/zonos-checkout.entry.js +34 -61
  116. package/dist/esm/zonos-component.entry.js +2 -2
  117. package/dist/esm/zonos-controller.entry.js +15 -15
  118. package/dist/esm/zonos-country-flag.entry.js +5 -5
  119. package/dist/esm/{zonos-country-select_3.entry.js → zonos-country-select_4.entry.js} +100 -15
  120. package/dist/esm/zonos-elements.js +4 -4
  121. package/dist/esm/zonos-hello-dialog.entry.js +9 -9
  122. package/dist/esm/zonos-hello.entry.js +5 -5
  123. package/dist/esm/zonos-input.entry.js +7 -7
  124. package/dist/esm/zonos-language-select_2.entry.js +9 -9
  125. package/dist/esm/zonos-link.entry.js +2 -2
  126. package/dist/esm/zonos-logo.entry.js +4 -4
  127. package/dist/esm/{zonos-notification_2.entry.js → zonos-notification_3.entry.js} +60 -9
  128. package/dist/esm/zonos-shipping-rich-radio.entry.js +3 -3
  129. package/dist/esm/zonos-text.entry.js +2 -2
  130. package/dist/esm/zonos-v-stack.entry.js +4 -4
  131. package/dist/esm/{zonosStore-ba9e541e.js → zonosStore-8fc9ceb2.js} +5 -1
  132. package/dist/esm-es5/cart-f53c9f90.js +1 -0
  133. package/dist/esm-es5/{getBorderRadius-947c24de.js → getBorderRadius-3ba98361.js} +1 -1
  134. package/dist/esm-es5/index-86b8247e.js +2 -0
  135. package/dist/esm-es5/index.js +1 -1
  136. package/dist/esm-es5/{isDarkColor-f8324c10.js → isDarkColor-3119e351.js} +1 -1
  137. package/dist/esm-es5/loader.js +1 -1
  138. package/dist/esm-es5/paypal-72296ae6.js +17 -0
  139. package/dist/esm-es5/sendErrorLog-f8d3ec4b.js +1 -0
  140. package/dist/esm-es5/zonos-address_8.entry.js +1 -1
  141. package/dist/esm-es5/zonos-badge_2.entry.js +1 -1
  142. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  143. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  144. package/dist/esm-es5/zonos-card.entry.js +1 -1
  145. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  146. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  147. package/dist/esm-es5/zonos-component.entry.js +1 -1
  148. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  149. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  150. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -0
  151. package/dist/esm-es5/zonos-elements.js +1 -1
  152. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  153. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  154. package/dist/esm-es5/zonos-input.entry.js +1 -1
  155. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  156. package/dist/esm-es5/zonos-link.entry.js +1 -1
  157. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  158. package/dist/esm-es5/zonos-notification_3.entry.js +1 -0
  159. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  160. package/dist/esm-es5/zonos-text.entry.js +1 -1
  161. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  162. package/dist/esm-es5/{zonosStore-ba9e541e.js → zonosStore-8fc9ceb2.js} +1 -1
  163. package/dist/scripts/index.d.ts +170 -6
  164. package/dist/scripts/index.js +1 -1
  165. package/dist/scripts/loadZonos.js +1 -1
  166. package/dist/scripts/zonos.js +1 -1
  167. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +2 -1
  168. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.d.ts +8 -4
  169. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +1 -20
  170. package/dist/types/components/common/zonos-virtual-scroll/zonos-virtual-scroll.d.ts +32 -0
  171. package/dist/types/components/main/zonos-controller.d.ts +6 -0
  172. package/dist/types/components/paypal/zonos-paypal-payment.d.ts +17 -0
  173. package/dist/types/components/store/checkout/cart.d.ts +19 -1
  174. package/dist/types/components/store/checkout/paypal.d.ts +28 -0
  175. package/dist/types/components/store/checkout/stripe.d.ts +10 -1
  176. package/dist/types/components/store/translationStore/strings.arabic.d.ts +12 -0
  177. package/dist/types/components/store/translationStore/strings.base.d.ts +12 -0
  178. package/dist/types/components/store/translationStore/strings.chinese.d.ts +12 -0
  179. package/dist/types/components/store/translationStore/strings.danish.d.ts +12 -0
  180. package/dist/types/components/store/translationStore/strings.dutch.d.ts +12 -0
  181. package/dist/types/components/store/translationStore/strings.french.d.ts +12 -0
  182. package/dist/types/components/store/translationStore/strings.german.d.ts +12 -0
  183. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +12 -0
  184. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +12 -0
  185. package/dist/types/components/store/translationStore/strings.italian.d.ts +12 -0
  186. package/dist/types/components/store/translationStore/strings.japanese.d.ts +12 -0
  187. package/dist/types/components/store/translationStore/strings.korean.d.ts +12 -0
  188. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +12 -0
  189. package/dist/types/components/store/translationStore/strings.polish.d.ts +12 -0
  190. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +12 -0
  191. package/dist/types/components/store/translationStore/strings.russian.d.ts +12 -0
  192. package/dist/types/components/store/translationStore/strings.spanish.d.ts +12 -0
  193. package/dist/types/components/store/translationStore/strings.swedish.d.ts +12 -0
  194. package/dist/types/components/store/translationStore/strings.turkish.d.ts +12 -0
  195. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +12 -0
  196. package/dist/types/components/store/translationStore.d.ts +1 -1
  197. package/dist/types/components/store/zonosStore.d.ts +4 -0
  198. package/dist/types/components/utils/api/getZonosSettings.d.ts +2 -0
  199. package/dist/types/components/utils/api/paypalCaptureOrder.d.ts +10 -0
  200. package/dist/types/components/utils/api/paypalCreateOrder.d.ts +9 -0
  201. package/dist/types/components/utils/handleFetch.d.ts +4 -0
  202. package/dist/types/components/utils/isContrastColor.d.ts +4 -0
  203. package/dist/types/components.d.ts +129 -6
  204. package/dist/types/scripts/_zonosBase.d.ts +9 -1
  205. package/dist/types/stencil-public-runtime.d.ts +3 -10
  206. package/dist/types/types/checkout/CheckoutConfig.d.ts +14 -1
  207. package/dist/types/types/generated/graphql.customer.types.d.ts +71 -11
  208. package/dist/types/types/generated/graphql.customer.types.ts +103 -11
  209. package/dist/zonos-elements/index.esm.js +1 -1
  210. package/dist/zonos-elements/{p-71882ac9.system.entry.js → p-0229282c.system.entry.js} +1 -1
  211. package/dist/zonos-elements/{p-5821856c.js → p-04054425.js} +1 -1
  212. package/dist/zonos-elements/p-05cdd3b4.js +17 -0
  213. package/dist/zonos-elements/{p-a8b934c2.entry.js → p-0f9804e3.entry.js} +1 -1
  214. package/dist/zonos-elements/p-12266c9e.js +1 -0
  215. package/dist/zonos-elements/{p-01304a58.system.entry.js → p-14067782.system.entry.js} +1 -1
  216. package/dist/zonos-elements/p-1a89c54a.js +1 -0
  217. package/dist/zonos-elements/{p-d2992457.system.entry.js → p-1e4f7997.system.entry.js} +1 -1
  218. package/dist/zonos-elements/p-1ee2fa70.system.entry.js +1 -0
  219. package/dist/zonos-elements/{p-63a27875.entry.js → p-25633055.entry.js} +1 -1
  220. package/dist/zonos-elements/{p-e37440ad.system.js → p-40c21634.system.js} +1 -1
  221. package/dist/zonos-elements/p-4db5be24.system.entry.js +1 -0
  222. package/dist/zonos-elements/{p-da2e5289.system.entry.js → p-4f454a91.system.entry.js} +1 -1
  223. package/dist/zonos-elements/p-52947dab.system.entry.js +1 -0
  224. package/dist/zonos-elements/{p-62ed4236.entry.js → p-52fa9aab.entry.js} +1 -1
  225. package/dist/zonos-elements/{p-31b3d26b.js → p-52fb6876.js} +1 -1
  226. package/dist/zonos-elements/p-539974db.system.js +1 -0
  227. package/dist/zonos-elements/p-5922c099.entry.js +1 -0
  228. package/dist/zonos-elements/p-5b7da777.js +2 -0
  229. package/dist/zonos-elements/p-5fe10991.system.entry.js +1 -0
  230. package/dist/zonos-elements/p-678f1888.entry.js +1 -0
  231. package/dist/zonos-elements/p-67f22fbf.system.entry.js +1 -0
  232. package/dist/zonos-elements/{p-9a1c0d02.js → p-6ac72711.js} +1 -1
  233. package/dist/zonos-elements/{p-ed333de6.system.entry.js → p-6bb0b7d2.system.entry.js} +1 -1
  234. package/dist/zonos-elements/p-6de1c78a.entry.js +1 -0
  235. package/dist/zonos-elements/{p-d8c1eb99.entry.js → p-6de38759.entry.js} +1 -1
  236. package/dist/zonos-elements/{p-a21ec316.system.entry.js → p-6fbb4565.system.entry.js} +1 -1
  237. package/dist/zonos-elements/{p-6c3390b7.entry.js → p-706d2bad.entry.js} +1 -1
  238. package/dist/zonos-elements/{p-73ba4398.system.entry.js → p-717028a2.system.entry.js} +1 -1
  239. package/dist/zonos-elements/{p-8acdf43b.system.entry.js → p-7833fa53.system.entry.js} +1 -1
  240. package/dist/zonos-elements/p-79fd4f3c.system.js +1 -0
  241. package/dist/zonos-elements/p-8809964a.system.js +1 -0
  242. package/dist/zonos-elements/{p-3541e6dd.entry.js → p-8b01aafb.entry.js} +1 -1
  243. package/dist/zonos-elements/{p-2aa72606.entry.js → p-9220f63d.entry.js} +1 -1
  244. package/dist/zonos-elements/{p-699a5376.entry.js → p-9420f9db.entry.js} +1 -1
  245. package/dist/zonos-elements/p-9525cc44.system.js +1 -0
  246. package/dist/zonos-elements/{p-c21802e9.entry.js → p-9a319774.entry.js} +1 -1
  247. package/dist/zonos-elements/{p-3523c3b4.entry.js → p-9d1f13c2.entry.js} +1 -1
  248. package/dist/zonos-elements/{p-c0fcc0fa.system.entry.js → p-9eadd9a7.system.entry.js} +1 -1
  249. package/dist/zonos-elements/{p-966ab4e7.system.entry.js → p-a3e2592b.system.entry.js} +1 -1
  250. package/dist/zonos-elements/{p-f06bb776.system.entry.js → p-ab11cca6.system.entry.js} +1 -1
  251. package/dist/zonos-elements/p-b3e825dc.system.js +17 -0
  252. package/dist/zonos-elements/{p-9d29f3f4.system.entry.js → p-b689309d.system.entry.js} +1 -1
  253. package/dist/zonos-elements/p-c460665d.system.js +1 -0
  254. package/dist/zonos-elements/p-c4617501.entry.js +1 -0
  255. package/dist/zonos-elements/{p-b903af96.system.entry.js → p-c4bb2949.system.entry.js} +1 -1
  256. package/dist/zonos-elements/{p-c3619b3d.entry.js → p-c7301a88.entry.js} +1 -1
  257. package/dist/zonos-elements/p-c78dd680.system.js +1 -0
  258. package/dist/zonos-elements/p-d86c89e3.entry.js +1 -0
  259. package/dist/zonos-elements/{p-e3c014ae.entry.js → p-dc368ad5.entry.js} +1 -1
  260. package/dist/zonos-elements/{p-18b28104.entry.js → p-de53d9c3.entry.js} +1 -1
  261. package/dist/zonos-elements/p-df69fa38.system.entry.js +1 -0
  262. package/dist/zonos-elements/{p-22882fd6.entry.js → p-e07bf9ea.entry.js} +1 -1
  263. package/dist/zonos-elements/{p-9de374a7.system.entry.js → p-e8f7fb29.system.entry.js} +1 -1
  264. package/dist/zonos-elements/{p-59f37de3.entry.js → p-f35ee203.entry.js} +1 -1
  265. package/dist/zonos-elements/p-fd061229.system.js +2 -0
  266. package/dist/zonos-elements/p-fd54fbb9.system.entry.js +1 -0
  267. package/dist/zonos-elements/p-fdb4347f.entry.js +1 -0
  268. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  269. package/dist/zonos-elements/zonos-elements.js +1 -1
  270. package/loader/cdn.js +1 -2
  271. package/loader/index.cjs.js +1 -2
  272. package/loader/index.d.ts +3 -0
  273. package/loader/index.es2017.js +1 -2
  274. package/loader/index.js +1 -2
  275. package/package.json +12 -11
  276. package/dist/esm-es5/cart-eb75b113.js +0 -1
  277. package/dist/esm-es5/index-3b46f3c3.js +0 -2
  278. package/dist/esm-es5/submitGtag-0bc0baa0.js +0 -1
  279. package/dist/esm-es5/zonos-country-select_3.entry.js +0 -1
  280. package/dist/esm-es5/zonos-notification_2.entry.js +0 -1
  281. package/dist/zonos-elements/p-02405211.system.entry.js +0 -1
  282. package/dist/zonos-elements/p-085548f2.entry.js +0 -1
  283. package/dist/zonos-elements/p-0b538ed4.system.js +0 -1
  284. package/dist/zonos-elements/p-2a45c837.system.entry.js +0 -1
  285. package/dist/zonos-elements/p-357322ea.system.entry.js +0 -1
  286. package/dist/zonos-elements/p-3f5e2e5c.system.entry.js +0 -1
  287. package/dist/zonos-elements/p-53acc999.js +0 -1
  288. package/dist/zonos-elements/p-548ac127.entry.js +0 -1
  289. package/dist/zonos-elements/p-5609876a.system.entry.js +0 -1
  290. package/dist/zonos-elements/p-6f9448bb.entry.js +0 -1
  291. package/dist/zonos-elements/p-70262120.system.js +0 -1
  292. package/dist/zonos-elements/p-878293fe.js +0 -1
  293. package/dist/zonos-elements/p-97d74f84.system.js +0 -1
  294. package/dist/zonos-elements/p-a393c1db.system.entry.js +0 -1
  295. package/dist/zonos-elements/p-a8cb25de.system.js +0 -1
  296. package/dist/zonos-elements/p-abe8ea12.system.js +0 -1
  297. package/dist/zonos-elements/p-ae04d3ff.entry.js +0 -1
  298. package/dist/zonos-elements/p-b684f8aa.system.entry.js +0 -1
  299. package/dist/zonos-elements/p-ce347974.js +0 -2
  300. package/dist/zonos-elements/p-d99232c5.system.js +0 -2
  301. package/dist/zonos-elements/p-e0bf9666.system.js +0 -1
  302. package/dist/zonos-elements/p-e1db1bc9.entry.js +0 -1
  303. package/dist/zonos-elements/p-e74ca4bc.entry.js +0 -1
@@ -2,15 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-b071017b.js');
6
- const cart = require('./cart-c7212410.js');
7
- const zonosStore = require('./zonosStore-4c6c85da.js');
8
- const submitGtag = require('./submitGtag-7a679d92.js');
5
+ const index = require('./index-d56e0a8b.js');
6
+ const cart = require('./cart-497bb434.js');
7
+ const paypal = require('./paypal-e65a287a.js');
8
+ const zonosStore = require('./zonosStore-56401fdb.js');
9
+ const sendErrorLog = require('./sendErrorLog-c3c315a9.js');
9
10
  const isCheckoutMobile = require('./isCheckoutMobile-f491ca7c.js');
10
11
  const logError = require('./logError-4e2f2020.js');
11
12
  const classes = require('./classes-b7918f56.js');
12
- const getBorderRadius = require('./getBorderRadius-074b46ef.js');
13
- const isDarkColor = require('./isDarkColor-371a3b1a.js');
13
+ const getBorderRadius = require('./getBorderRadius-4413e191.js');
14
+ const isDarkColor = require('./isDarkColor-4eb96a1e.js');
14
15
  const RemoveIcon = require('./RemoveIcon-081ac073.js');
15
16
 
16
17
  /**
@@ -168,7 +169,7 @@ const isShippableCountry = (showLog = true) => {
168
169
  }
169
170
  // if localization is loaded and the localization is not a shippable country, keep the original click event
170
171
  if (!cart.localizationStore.isShippableCountry) {
171
- document.dispatchEvent(submitGtag.createCustomEvent('legacyCheckoutError', 'Unable to initiate checkout process in a country where shipping is not available'));
172
+ document.dispatchEvent(sendErrorLog.createCustomEvent('legacyCheckoutError', 'Unable to initiate checkout process in a country where shipping is not available'));
172
173
  if (showLog) {
173
174
  logError.log(`Checkout: not shippable country`);
174
175
  }
@@ -246,7 +247,7 @@ const watchBigcommerceDomesticCheckout = ({ domesticRedirectedBtnSelector, onShi
246
247
  };
247
248
  if (Object.values(shippingAddress).some(value => value === undefined || value === null)) {
248
249
  logError.logError('One or more shipping address field is missing', Object.entries(shippingAddress));
249
- void submitGtag.sendErrorLog({
250
+ void sendErrorLog.sendErrorLog({
250
251
  endpoint: 'No endpoint, domestic checkout form missing fields',
251
252
  errors: [
252
253
  'Bigcommerce: One or more shipping address field is missing in the domestic checkout form',
@@ -288,7 +289,7 @@ const MessageIcon = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none"
288
289
  </svg>
289
290
  `;
290
291
 
291
- const zonosCheckoutCss = ".sc-zonos-checkout-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-h *.sc-zonos-checkout{font-family:var(--font-family, Inter), Inter}.sc-zonos-checkout-h img.sc-zonos-checkout{max-width:100%}.sc-zonos-checkout-h dl.sc-zonos-checkout,.sc-zonos-checkout-h dd.sc-zonos-checkout,.sc-zonos-checkout-h h1.sc-zonos-checkout,.sc-zonos-checkout-h h2.sc-zonos-checkout,.sc-zonos-checkout-h h3.sc-zonos-checkout,.sc-zonos-checkout-h h4.sc-zonos-checkout,.sc-zonos-checkout-h h5.sc-zonos-checkout,.sc-zonos-checkout-h h6.sc-zonos-checkout,.sc-zonos-checkout-h hr.sc-zonos-checkout,.sc-zonos-checkout-h figure.sc-zonos-checkout,.sc-zonos-checkout-h p.sc-zonos-checkout,.sc-zonos-checkout-h pre.sc-zonos-checkout{margin:0}.sc-zonos-checkout-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar{width:10px}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;height:100%;overflow:hidden;border-radius:var(--border-radius, var(--zonos-elements-radius-10))}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex:1;flex:1;padding:32px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{background-color:var(--primary-color, var(--zonos-elements-gray-0));border-right:1px solid var(--zonos-elements-gray-200)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{background-color:var(--zonos-elements-gray-0)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:100%;max-height:100%;height:100%;overflow:auto;-ms-flex-direction:column;flex-direction:column;background-color:var(--zonos-elements-gray-0);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:24px;padding-bottom:50px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;width:100%}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout img.sc-zonos-checkout{width:150px;min-width:150px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--logo.sc-zonos-checkout{margin-bottom:0}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout zonos-checkout-finish.sc-zonos-checkout{-ms-flex:1;flex:1}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:relative}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{padding:0 8px 8px}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--payment-error-banner.sc-zonos-checkout{margin-top:24px}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout{position:relative}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout .zonos--close-button.sc-zonos-checkout{position:absolute;right:24px;top:24px;z-index:2}.sc-zonos-checkout-h .zonos--wrapper.sc-zonos-checkout{overflow:auto;max-height:100%;position:relative}.sc-zonos-checkout-h .flex--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:100%}.sc-zonos-checkout-h .zonos--logo-wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;gap:16px;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--logo-wrapper.sc-zonos-checkout>*.sc-zonos-checkout{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:76px;margin-bottom:8px}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{border:var(--zonos-elements-border)}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{padding:32px}.mobile.sc-zonos-checkout-h{min-width:auto}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;border-radius:0;max-height:100%;height:100%;border:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding:12px;padding-bottom:76px}@media (max-width: 768px){.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding-bottom:0}}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{-ms-flex-order:2;order:2;border-right:none}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex-order:1;order:1;padding-top:16px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border:var(--zonos-elements-border);border-radius:var(--border-radius, var(--zonos-elements-radius-10));background-color:var(--zonos-elements-gray-50);padding:12px;margin-top:32px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--review.sc-zonos-checkout{margin-bottom:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--cart-items.sc-zonos-checkout{margin-top:8px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout zonos-checkout-footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{max-height:100%}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:auto}.mobile.sc-zonos-checkout-h .zonos--cart-subtotal.sc-zonos-checkout{margin:0}";
292
+ const zonosCheckoutCss = ".sc-zonos-checkout-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-h *.sc-zonos-checkout{font-family:var(--font-family, Inter), Inter}.sc-zonos-checkout-h img.sc-zonos-checkout{max-width:100%}.sc-zonos-checkout-h dl.sc-zonos-checkout,.sc-zonos-checkout-h dd.sc-zonos-checkout,.sc-zonos-checkout-h h1.sc-zonos-checkout,.sc-zonos-checkout-h h2.sc-zonos-checkout,.sc-zonos-checkout-h h3.sc-zonos-checkout,.sc-zonos-checkout-h h4.sc-zonos-checkout,.sc-zonos-checkout-h h5.sc-zonos-checkout,.sc-zonos-checkout-h h6.sc-zonos-checkout,.sc-zonos-checkout-h hr.sc-zonos-checkout,.sc-zonos-checkout-h figure.sc-zonos-checkout,.sc-zonos-checkout-h p.sc-zonos-checkout,.sc-zonos-checkout-h pre.sc-zonos-checkout{margin:0}.sc-zonos-checkout-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-h *.sc-zonos-checkout{-ms-scroll-chaining:none;overscroll-behavior:contain}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar{width:10px}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;height:100%;overflow:hidden;border-radius:var(--border-radius, var(--zonos-elements-radius-10))}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex:1;flex:1;padding:32px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{background-color:var(--primary-color, var(--zonos-elements-gray-0));border-right:1px solid var(--zonos-elements-gray-200)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{background-color:var(--zonos-elements-gray-0)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:100%;max-height:100%;height:100%;overflow:auto;-ms-flex-direction:column;flex-direction:column;background-color:var(--zonos-elements-gray-0);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:24px;padding-bottom:50px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;width:100%}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout img.sc-zonos-checkout{width:150px;min-width:150px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--logo.sc-zonos-checkout{margin-bottom:0}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout zonos-checkout-finish.sc-zonos-checkout{-ms-flex:1;flex:1}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:relative}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{padding:0 8px 8px}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--payment-error-banner.sc-zonos-checkout{margin-top:24px}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout{position:relative}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout .zonos--close-button.sc-zonos-checkout{position:absolute;right:24px;top:24px;z-index:2}.sc-zonos-checkout-h .zonos--wrapper.sc-zonos-checkout{overflow:auto;max-height:100%;position:relative}.sc-zonos-checkout-h .flex--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:100%}.sc-zonos-checkout-h .zonos--logo-wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;gap:16px;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--logo-wrapper.sc-zonos-checkout>*.sc-zonos-checkout{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:76px;margin-bottom:8px}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{border:var(--zonos-elements-border)}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{padding:32px}.mobile.sc-zonos-checkout-h{min-width:auto}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;border-radius:0;max-height:100%;height:100%;border:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding:12px;padding-bottom:76px}@media (max-width: 768px){.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding-bottom:0}}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{-ms-flex-order:2;order:2;border-right:none}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex-order:1;order:1;padding-top:16px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border:var(--zonos-elements-border);border-radius:var(--border-radius, var(--zonos-elements-radius-10));background-color:var(--zonos-elements-gray-50);padding:12px;margin-top:32px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--review.sc-zonos-checkout{margin-bottom:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--cart-items.sc-zonos-checkout{margin-top:8px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout zonos-checkout-footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{max-height:100%}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:auto}.mobile.sc-zonos-checkout-h .zonos--cart-subtotal.sc-zonos-checkout{margin:0}";
292
293
  const ZonosCheckoutStyle0 = zonosCheckoutCss;
293
294
 
294
295
  // 90 minutes
@@ -331,7 +332,6 @@ const ZonosCheckout = class {
331
332
  this.open = this.forceDialogOpen;
332
333
  this.stripe = window.Zonos.stripe;
333
334
  this.submitLoading = false;
334
- this.paymentError = false;
335
335
  this.collapseReviewMobile = true;
336
336
  this.isAttachError = false;
337
337
  this.isMobile = false;
@@ -341,8 +341,6 @@ const ZonosCheckout = class {
341
341
  this.legacyCheckoutHiddenBtnSelector = '#legacy-checkout-hidden-button';
342
342
  this.isLegacyCheckout = false;
343
343
  this.confirmDialogOpen = false;
344
- this.showSessionTimoutScreen = false;
345
- this.checkoutTimeoutInterval = null;
346
344
  this.inventoryCheckErrorMessage = null;
347
345
  }
348
346
  /**
@@ -373,7 +371,7 @@ const ZonosCheckout = class {
373
371
  }
374
372
  // Close the confirm dialog
375
373
  this.confirmDialogOpen = false;
376
- submitGtag.submitGtag('zonos-checkout-close');
374
+ paypal.submitGtag('zonos-checkout-close');
377
375
  this.open = this.forceDialogOpen || false;
378
376
  if (!this.preview && cart.cartStore.step === 'finish') {
379
377
  // reset cart store if it's not preview mode and only when checkout is in the finish step.
@@ -384,7 +382,7 @@ const ZonosCheckout = class {
384
382
  // reset the tab item, so that user needs to click on Continue button to re-quote the landed cost if needed.
385
383
  cart.cartStoreResetTabItems();
386
384
  // clear the checkout session timeout timer when checkout dialog close action is triggered
387
- this.clearCheckoutTimeoutInterval();
385
+ cart.cartStoreClearCheckoutInterval();
388
386
  /**
389
387
  * Trigger callback when the checkout is closed
390
388
  */
@@ -417,30 +415,6 @@ const ZonosCheckout = class {
417
415
  await this.applyStripeTheme();
418
416
  return true;
419
417
  }
420
- clearCheckoutTimeoutInterval() {
421
- if (this.checkoutTimeoutInterval) {
422
- clearTimeout(this.checkoutTimeoutInterval);
423
- this.checkoutTimeoutInterval = null;
424
- }
425
- }
426
- startCheckoutTimeoutInterval() {
427
- // do nothing if in preview mode
428
- if (this.preview) {
429
- return;
430
- }
431
- const timeoutQuery = new URLSearchParams(window.location.search).get('zonosCheckoutTimeout');
432
- const timeout =
433
- // timeout query is mainly for testing purpose
434
- timeoutQuery && !isNaN(parseInt(timeoutQuery, 10))
435
- ? parseInt(timeoutQuery, 10)
436
- : CHECKOUT_SESSION_TIMEOUT;
437
- logError.log(`==START CHECKOUT TIMEOUT - ${timeout}==`);
438
- // start a timer to validate the price
439
- this.checkoutTimeoutInterval = setTimeout(() => {
440
- // Show session timeout alert
441
- this.showSessionTimoutScreen = true;
442
- }, timeout);
443
- }
444
418
  reloadCheckoutSession() {
445
419
  window.location.reload();
446
420
  }
@@ -481,9 +455,12 @@ const ZonosCheckout = class {
481
455
  throw new Error('Error building cart');
482
456
  }
483
457
  // start the timer to validate the price
484
- this.startCheckoutTimeoutInterval();
485
- submitGtag.submitGtag('zonos-checkout-start');
486
- void submitGtag.trackConversionEvent('checkout_open');
458
+ cart.cartStoreStartCheckoutInterval({
459
+ isPreview: this.preview,
460
+ sessionTimeout: CHECKOUT_SESSION_TIMEOUT,
461
+ });
462
+ paypal.submitGtag('zonos-checkout-start');
463
+ void sendErrorLog.trackConversionEvent('checkout_open');
487
464
  }
488
465
  catch (err) {
489
466
  // stop loading
@@ -506,7 +483,7 @@ const ZonosCheckout = class {
506
483
  button.setAttribute('data-zonos-checkout-attached', 'true');
507
484
  // if this button is the hidden button, trigger the click event
508
485
  if (button.matches(this.domesticRedirectedBtnSelector)) {
509
- button.dispatchEvent(submitGtag.createCustomEvent('click'));
486
+ button.dispatchEvent(sendErrorLog.createCustomEvent('click'));
510
487
  // cleanup shipping session after button is clicked
511
488
  cart.stripeStoreCleanupDomesticShippingSession();
512
489
  // remove the button after it's clicked
@@ -515,7 +492,7 @@ const ZonosCheckout = class {
515
492
  if (button.matches(this.legacyCheckoutHiddenBtnSelector)) {
516
493
  this.isLegacyCheckout = true;
517
494
  // trigger the click event on the button
518
- button.dispatchEvent(submitGtag.createCustomEvent('click'));
495
+ button.dispatchEvent(sendErrorLog.createCustomEvent('click'));
519
496
  button.remove();
520
497
  }
521
498
  });
@@ -648,6 +625,10 @@ const ZonosCheckout = class {
648
625
  const interval = setInterval(() => {
649
626
  if (cart.cartStore.landedCostData || !cart.stripeStore.isFetchingLandedCost) {
650
627
  if (cart.cartStore.landedCostData) {
628
+ // start init paypal with the presentment currency when landed cost is fetched
629
+ void paypal.paypalInitScript({
630
+ currency: cart.cartStore.currency,
631
+ });
651
632
  // only go to next step if landed cost data is ready
652
633
  cart.cartStoreNextStep();
653
634
  }
@@ -666,41 +647,31 @@ const ZonosCheckout = class {
666
647
  }
667
648
  handleInventoryCheckDialogCancel() {
668
649
  // reset inventory check message to close the inventory check alert
669
- this.inventoryCheckErrorMessage = null;
650
+ cart.cartStore.inventoryCheckErrorMessage = null;
670
651
  }
671
652
  handleInventoryCheckDialogConfirm() {
672
653
  // reset inventory check message to close the inventory check alert
673
- this.inventoryCheckErrorMessage = null;
654
+ cart.cartStore.inventoryCheckErrorMessage = null;
674
655
  // close the dialog
675
656
  void this.closeDialogHandler({ confirmed: true });
676
657
  }
677
- /**
678
- * Handle inventory check and returns error message if the callback provided.
679
- */
680
- async handleInventoryCheck() {
681
- const { onInventoryCheck } = zonosStore.zonosStore.checkoutSettings;
682
- if (typeof onInventoryCheck !== 'function') {
683
- return null;
684
- }
685
- const message = await onInventoryCheck({ items: cart.cartStore.items });
686
- return message;
687
- }
688
- async handleCheckoutPaymentContinue() {
658
+ async handleStripePaymentContinue() {
689
659
  // reset error state
690
- this.paymentError = false;
660
+ cart.stripeStore.hasPaymentError = false;
691
661
  this.submitLoading = true;
692
662
  // reset inventory check message
693
- this.inventoryCheckErrorMessage = null;
663
+ cart.cartStore.inventoryCheckErrorMessage = null;
694
664
  try {
695
665
  // check inventory before proceeding to payment
696
- this.inventoryCheckErrorMessage = await this.handleInventoryCheck();
666
+ cart.cartStore.inventoryCheckErrorMessage =
667
+ await cart.stripeStoreHandleInventoryCheck();
697
668
  }
698
669
  catch (err) {
699
670
  // If user provide callback and it throw an exception, default to this message and stop the payment.
700
- this.inventoryCheckErrorMessage = cart.translate('Unable to check inventory. Please try again.');
671
+ cart.cartStore.inventoryCheckErrorMessage = cart.translate('Unable to check inventory. Please try again.');
701
672
  }
702
673
  // Don't proceed to payment if there's an error message
703
- if (this.inventoryCheckErrorMessage) {
674
+ if (cart.cartStore.inventoryCheckErrorMessage) {
704
675
  // stop the submit loading state
705
676
  this.submitLoading = false;
706
677
  return;
@@ -709,11 +680,11 @@ const ZonosCheckout = class {
709
680
  await cart.stripeStoreConfirmPayment();
710
681
  cart.cartStoreNextStep();
711
682
  // clear the checkout session timeout timer when purchase is complete
712
- this.clearCheckoutTimeoutInterval();
683
+ cart.cartStoreClearCheckoutInterval();
713
684
  }
714
685
  catch (err) {
715
686
  logError.logError(err);
716
- this.paymentError = true;
687
+ cart.stripeStore.hasPaymentError = true;
717
688
  }
718
689
  this.submitLoading = false;
719
690
  }
@@ -737,7 +708,7 @@ const ZonosCheckout = class {
737
708
  const url = window.location.href;
738
709
  // Remove query parameters
739
710
  const cleanUrl = url.split('?')[0];
740
- const isTestMode = submitGtag.getIsTestMode();
711
+ const isTestMode = sendErrorLog.getIsTestMode();
741
712
  this.open = false;
742
713
  // Update the URL without query parameters only if it's not in test mode
743
714
  /**
@@ -822,21 +793,23 @@ const ZonosCheckout = class {
822
793
  : logoUrl;
823
794
  return (index.h("div", { class: "zonos--logo" }, logo && (index.h("img", { alt: `${zonosStore.zonosStore.organizationName} logo`, src: logo, width: 100 }))));
824
795
  };
825
- const isTestMode = submitGtag.getIsTestMode();
796
+ const isTestMode = sendErrorLog.getIsTestMode();
826
797
  const renderTopHeader = () => {
827
798
  return (index.h("zonos-v-stack", null, index.h("div", { class: "zonos--logo-wrapper" }, renderLogo(), isTestMode && (index.h("zonos-badge", { badgeColor: "orange", size: "small" }, cart.translate('Test mode')))), index.h("zonos-checkout-progress-tabs", { backgroundColor:
828
799
  // only use different contrast color when the secondary color is too off with the background in mobile
829
800
  this.isMobile ? '--zonos-elements-gray-0' : null }), filteredMessages.map(x => (index.h("zonos-custom-message", { icon: MessageIcon, message: x.message })))));
830
801
  };
831
802
  const renderContent = () => {
832
- if (this.showSessionTimoutScreen) {
803
+ if (cart.cartStore.checkoutSessionTimeoutShow) {
833
804
  return (index.h("zonos-rest-state", { class: "zonos--session-timeout", restStateSubtitle: cart.translate('Your checkout session has expired. Please reload the page to continue.'), restStateTitle: cart.translate('Session timed out'), restStateType: 'Warning' }, index.h("zonos-button", { onClick: () => this.reloadCheckoutSession(), variant: "primary" }, cart.translate('Reload'))));
834
805
  }
835
806
  return (index.h("div", { class: 'zonos--content', style: {
836
807
  '--border-radius': getBorderRadius.getBorderRadius({ overrideBorderStyle: style }),
837
808
  } }, cart.cartStore.step !== 'finish' && cart.cartStore.step !== 'error' && (index.h(index.Fragment, null, index.h("div", { class: "zonos--left", "data-theme": leftSideTheme, style: {
838
809
  '--primary-color': !this.isMobile ? colorPrimary : '',
839
- } }, !this.isMobile && renderTopHeader(), cart.cartStore.step === 'customer-info' && (index.h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, isMobile: this.isMobile, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor })), cart.cartStore.step === 'shipping' && (index.h("zonos-shipping", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor })), cart.cartStore.step === 'payment' && (index.h("zonos-checkout-payment", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleCheckoutPaymentContinue(), paymentError: this.paymentError, submitBtnColor: submitButtonColor }))), index.h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), !this.isLegacyCheckout && (index.h("zonos-button", { class: "zonos--close-button", icon: index.h("zonos-icon", { "aria-label": "Close checkout dialog", content: RemoveIcon.RemoveIcon }), noBackground: true, onClick: () => this.closeDialogHandler() })), index.h("div", { class: "flex--wrapper" }, index.h("div", { class: "zonos--wrapper" }, index.h("zonos-review", { collapsed: this.collapseReviewMobile, mobile: this.isMobile, onClick: () => {
810
+ } }, !this.isMobile && renderTopHeader(), cart.cartStore.step === 'customer-info' && (index.h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, isMobile: this.isMobile, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor })), cart.cartStore.step === 'shipping' && (index.h("zonos-shipping", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor })), cart.cartStore.step === 'payment' && (index.h("zonos-checkout-payment", { continueLoading: this.submitLoading, onContinueClicked: async () => {
811
+ await this.handleStripePaymentContinue();
812
+ }, submitBtnColor: submitButtonColor }))), index.h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), !this.isLegacyCheckout && (index.h("zonos-button", { class: "zonos--close-button", icon: index.h("zonos-icon", { "aria-label": "Close checkout dialog", content: RemoveIcon.RemoveIcon }), noBackground: true, onClick: () => this.closeDialogHandler() })), index.h("div", { class: "flex--wrapper" }, index.h("div", { class: "zonos--wrapper" }, index.h("zonos-review", { collapsed: this.collapseReviewMobile, mobile: this.isMobile, onClick: () => {
840
813
  // do nothing if it's not mobile
841
814
  if (!this.isMobile) {
842
815
  return;
@@ -865,9 +838,9 @@ const ZonosCheckout = class {
865
838
  // Mark user selected confirm to close the dialog
866
839
  onConfirmClicked: () => this.closeDialogHandler({ confirmed: true }) }), index.h("zonos-confirm-dialog", { class: "zonos--inventory-check-failure-dialog", dialogConfirmBtnText: cart.translate('Return to cart'), dialogIntent: "danger",
867
840
  // Show dialog if inventory check error message is not null
868
- dialogOpen: !!this.inventoryCheckErrorMessage,
841
+ dialogOpen: !!cart.cartStore.inventoryCheckErrorMessage,
869
842
  // If diallog is in open state, the message should not be null
870
- dialogSubtitle: this.inventoryCheckErrorMessage, dialogTitle: cart.translate("Couldn't place order"), dialogType: "alert", onCancelClicked: () => {
843
+ dialogSubtitle: cart.cartStore.inventoryCheckErrorMessage, dialogTitle: cart.translate("Couldn't place order"), dialogType: "alert", onCancelClicked: () => {
871
844
  this.handleInventoryCheckDialogCancel();
872
845
  },
873
846
  // Mark user selected confirm to close the dialog
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-b071017b.js');
5
+ const index = require('./index-d56e0a8b.js');
6
6
 
7
7
  function format(first, middle, last) {
8
8
  return ((first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : ''));
@@ -22,7 +22,7 @@ const ZonosComponent = class {
22
22
  return format(this.first, this.middle, this.last);
23
23
  }
24
24
  render() {
25
- return index.h("div", { key: '23fbe02ded67e42f94b5c3641aae55970cef052d' }, "Hello, World! I'm ", this.getText());
25
+ return index.h("div", { key: 'ece01ba1df61d0c15e60d2cf9fffbf4c01268612' }, "Hello, World! I'm ", this.getText());
26
26
  }
27
27
  };
28
28
  ZonosComponent.style = ZonosComponentStyle0;
@@ -2,21 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-b071017b.js');
6
- const cart = require('./cart-c7212410.js');
7
- const zonosStore = require('./zonosStore-4c6c85da.js');
5
+ const index = require('./index-d56e0a8b.js');
6
+ const cart = require('./cart-497bb434.js');
7
+ const zonosStore = require('./zonosStore-56401fdb.js');
8
8
  const logError = require('./logError-4e2f2020.js');
9
- require('./isDarkColor-371a3b1a.js');
10
- require('./getBorderRadius-074b46ef.js');
9
+ require('./isDarkColor-4eb96a1e.js');
10
+ require('./getBorderRadius-4413e191.js');
11
11
 
12
12
  const getZonosSettings = async () => {
13
13
  const url = `${"https://v1.route.js.zonos.com"}/api/zonos-elements/zonos-settings`;
14
- const { errors, json } = await cart.handleFetch(url);
14
+ const { errors, json, zonosMode } = await cart.handleFetch(url);
15
15
  if (errors.length) {
16
16
  logError.logError(`Error occurred when getting zonos settings. If this is not an unauthorized error, it will use user settings or default settings`);
17
- return { errors, json: null };
17
+ return { errors, json: null, zonosMode };
18
18
  }
19
- return { errors: [], json };
19
+ return { errors: [], json, zonosMode };
20
20
  };
21
21
 
22
22
  const injectCheckoutElement = () => {
@@ -126,6 +126,7 @@ const ZonosControllerStyle0 = zonosControllerCss;
126
126
  const ZonosController = class {
127
127
  constructor(hostRef) {
128
128
  index.registerInstance(this, hostRef);
129
+ this.paypalInitEvent = index.createEvent(this, "paypalInitEvent", 7);
129
130
  this.stripeInitEvent = index.createEvent(this, "stripeInitEvent", 7);
130
131
  this.config = undefined;
131
132
  this.zonosApiKey = undefined;
@@ -210,22 +211,22 @@ const ZonosController = class {
210
211
  // running with scope async function to avoid blocking the main thread
211
212
  (async () => {
212
213
  var _a, _b;
213
- const { errors, json } = await getZonosSettings();
214
+ const { errors, json, zonosMode } = await getZonosSettings();
214
215
  if (((_a = errors[0]) === null || _a === void 0 ? void 0 : _a.type.toString()) === '403') {
215
216
  logError.log('Failed to load zonos settings. This domain may not have access', 'warn');
216
217
  return;
217
218
  }
218
219
  // init zonos notification
219
220
  this.initZonosNotification();
220
- const config = Object.assign(Object.assign({}, this.config), {
221
- // override subscription status
222
- subscriptionStatus: undefined
223
- });
221
+ // override subscription status
222
+ const config = Object.assign(Object.assign({}, this.config), { checkoutSettings: this.config.checkoutSettings
223
+ ? Object.assign(Object.assign({}, this.config.checkoutSettings), { subscriptionStatus: undefined }) : undefined });
224
224
  // load default setting if fail to load user setting
225
225
  zonosStore.zonosStoreInitSetting({
226
226
  overrideSettings: config,
227
227
  zonosSettings: json,
228
228
  });
229
+ zonosStore.zonosStore.zonosMode = zonosMode;
229
230
  // setup google font after store loaded
230
231
  void this.setupGoogleFont();
231
232
  if (zonosStore.zonosStore.helloSettings) {
@@ -253,7 +254,6 @@ const ZonosController = class {
253
254
  this.stripeInitEvent.emit({
254
255
  publishableKey: publishableKey.token,
255
256
  });
256
- logError.log('zonos controller loaded');
257
257
  })();
258
258
  }
259
259
  /**
@@ -304,7 +304,7 @@ const ZonosController = class {
304
304
  zonosStore.zonosStore.organizationName = organizationName;
305
305
  }
306
306
  render() {
307
- return index.h(index.Host, { key: '209a2ea0249b9561b5ca1f84f7d31b1520ef49fe', class: "zonos--elements" });
307
+ return index.h(index.Host, { key: '8738fa5324977321764af1c89181550d948955a6', class: "zonos--elements" });
308
308
  }
309
309
  };
310
310
  ZonosController.style = ZonosControllerStyle0;
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-b071017b.js');
6
- const cart = require('./cart-c7212410.js');
7
- const zonosStore = require('./zonosStore-4c6c85da.js');
5
+ const index = require('./index-d56e0a8b.js');
6
+ const cart = require('./cart-497bb434.js');
7
+ const zonosStore = require('./zonosStore-56401fdb.js');
8
8
  const classes = require('./classes-b7918f56.js');
9
9
  require('./logError-4e2f2020.js');
10
- require('./isDarkColor-371a3b1a.js');
11
- require('./getBorderRadius-074b46ef.js');
10
+ require('./isDarkColor-4eb96a1e.js');
11
+ require('./getBorderRadius-4413e191.js');
12
12
 
13
13
  const zonosCountryFlagCss = ":host{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{display:-ms-inline-flexbox;display:inline-flex}:host .flag-container{position:relative;overflow:hidden;width:100%;height:100%}:host .flag-icon{position:absolute;top:0;left:0;width:100%;height:100%;background-position:center;background-repeat:no-repeat;background-size:cover}";
14
14
  const ZonosCountryFlagStyle0 = zonosCountryFlagCss;
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-b071017b.js');
6
- const cart = require('./cart-c7212410.js');
7
- const zonosStore = require('./zonosStore-4c6c85da.js');
5
+ const index = require('./index-d56e0a8b.js');
6
+ const cart = require('./cart-497bb434.js');
7
+ const zonosStore = require('./zonosStore-56401fdb.js');
8
8
  const formatStringWithLinks = require('./formatStringWithLinks-52341fc7.js');
9
- const isDarkColor = require('./isDarkColor-371a3b1a.js');
9
+ const isDarkColor = require('./isDarkColor-4eb96a1e.js');
10
10
  const ILanguage = require('./ILanguage-98b04442.js');
11
11
  require('./logError-4e2f2020.js');
12
- require('./getBorderRadius-074b46ef.js');
12
+ require('./getBorderRadius-4413e191.js');
13
13
 
14
14
  /**
15
15
  * Fuse.js v7.0.0 - Lightweight fuzzy-search (http://fusejs.io)
@@ -1794,7 +1794,7 @@ const GreenCheckDuotoneIcon = `<svg width="16" height="16" viewBox="0 0 16 16" f
1794
1794
  </svg>
1795
1795
  `;
1796
1796
 
1797
- const zonosCountrySelectCss = ":host{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host .zonos--country-select{position:relative;max-height:500px;overflow-y:auto}:host .zonos--country-select .zonos--country-select-header{position:-webkit-sticky;position:sticky;top:0;background:var(--zonos-elements-surface-color);z-index:11}:host .zonos--country-select .zonos--country-select-input{padding:8px;border-radius:var(--zonos-elements-radius-4);border:var(--zonos-elements-border)}:host .zonos--country-select .zonos--country-select-content{padding:16px;padding-top:0px}:host .zonos--country-select .zonos--country-select-country{display:-ms-flexbox;display:flex;gap:16px;padding:8px;-ms-flex-align:center;align-items:center;border-radius:var(--zonos-elements-radius-4);cursor:pointer;width:100%;border:none;background:none}:host .zonos--country-select .zonos--country-select-country:hover{background:var(--zonos-elements-gray-100)}:host .zonos--country-select .zonos--country-select-country .zonos--country-flag{border-radius:var(--zonos-elements-radius-4);width:24px;height:18px;position:relative;overflow:hidden;-webkit-box-shadow:var(--zonos-elements-v3-shadow-medium);box-shadow:var(--zonos-elements-v3-shadow-medium);z-index:10;justify-self:center}@media (max-width: 768px){:host .zonos--country-select .zonos--country-select-country .zonos--country-flag{border-radius:var(--zonos-elements-radius-4);width:24px}}";
1797
+ const zonosCountrySelectCss = ":host{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host .zonos--country-select{position:relative;max-height:500px;overflow-y:auto}:host .zonos--country-select .zonos--country-select-header{position:-webkit-sticky;position:sticky;top:0;background:var(--zonos-elements-surface-color);z-index:11}:host .zonos--country-select .zonos--country-select-input{padding:8px;border-radius:var(--zonos-elements-radius-4);border:var(--zonos-elements-border)}:host .zonos--country-select .zonos--country-select-content{padding:16px;padding-top:0px}:host .zonos--country-select .zonos--country-select-content .no-country{position:absolute;left:17px}:host .zonos--country-select .zonos--country-select-content .zonos--country-filter-content{height:300px;display:block}:host .zonos--country-select .zonos--country-select-country{display:-ms-flexbox;display:flex;gap:16px;padding:8px;-ms-flex-align:center;align-items:center;border-radius:var(--zonos-elements-radius-4);cursor:pointer;width:100%;border:none;background:none}:host .zonos--country-select .zonos--country-select-country:hover{background:var(--zonos-elements-gray-100)}:host .zonos--country-select .zonos--country-select-country .zonos--country-flag{border-radius:var(--zonos-elements-radius-4);width:24px;height:18px;position:relative;overflow:hidden;-webkit-box-shadow:var(--zonos-elements-v3-shadow-medium);box-shadow:var(--zonos-elements-v3-shadow-medium);z-index:10;justify-self:center}@media (max-width: 768px){:host .zonos--country-select .zonos--country-select-country .zonos--country-flag{border-radius:var(--zonos-elements-radius-4);width:24px}}";
1798
1798
  const ZonosCountrySelectStyle0 = zonosCountrySelectCss;
1799
1799
 
1800
1800
  const ZonosCountrySelect = class {
@@ -1810,7 +1810,7 @@ const ZonosCountrySelect = class {
1810
1810
  const input = event.target;
1811
1811
  this.inputValue = input.value;
1812
1812
  // query the country list container
1813
- const countryListSelector = (_a = this.ele.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.zonos--country-select');
1813
+ const countryListSelector = (_a = this.ele.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.zonos--country-filter-content');
1814
1814
  // scroll to top every time the input changes
1815
1815
  if (countryListSelector) {
1816
1816
  countryListSelector.scrollTop = 0;
@@ -1822,21 +1822,30 @@ const ZonosCountrySelect = class {
1822
1822
  componentDidRender() {
1823
1823
  var _a, _b;
1824
1824
  // focus the input on render
1825
- (_b = (_a = this.ele.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.zonos--country-select-input')) === null || _b === void 0 ? void 0 : _b.focus();
1825
+ (_b = (_a = this.ele.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.zonos--country-filter-content')) === null || _b === void 0 ? void 0 : _b.focus();
1826
1826
  }
1827
1827
  render() {
1828
1828
  const { helloCountryList } = cart.localizationStore;
1829
1829
  const countries = helloCountryList ? Object.values(helloCountryList) : [];
1830
1830
  const fuse = new Fuse(countries, {
1831
+ includeScore: true,
1831
1832
  keys: ['displayName'],
1833
+ threshold: 0.3,
1832
1834
  });
1833
1835
  const fuseObject = fuse.search(this.inputValue.toLowerCase());
1834
1836
  const filteredCountries = this.inputValue
1835
1837
  ? fuseObject.map(country => country.item)
1836
1838
  : countries.sort((a, b) => a.displayName.localeCompare(b.displayName));
1837
- return (index.h(index.Host, { key: '2337dcb4bbca5520cb6a4e9426167916c548ef59', class: "zonos--elements", style: {
1839
+ const isEmpty = !filteredCountries.length;
1840
+ return (index.h(index.Host, { key: '1e17d188428f8caeb495389f7870c3052d3cfb4a', class: "zonos--elements", style: {
1838
1841
  '--font-family': zonosStore.zonosStoreFontFamily(),
1839
- } }, index.h("div", { key: '7cb0f80536b6e89f23be24cc4860e84bfa7ab362', class: "zonos--country-select" }, index.h("zonos-v-stack", { key: 'fef186dbafd5e4d16e6f1486d3122c1297ef7f2d', class: "zonos--country-select-header", spacing: 8 }, index.h("zonos-select-dialog-header", { key: '19ad548f3ab7aa6afdeaacd48d8b7c5821ba13e1', handleOnClose: () => this.handleOnClose(), label: "Select a country" }, index.h("input", { key: 'f7367680dbde6fb432dc778aed5a94291d1226c4', class: "zonos--country-select-input", onInput: this.handleInputChange, placeholder: "Search countries", value: this.inputValue }))), index.h("div", { key: 'e0765ab18a86a913edd7eec82452c0a9e5291f86', class: "zonos--country-select-content" }, filteredCountries.map(country => (index.h("button", { class: "zonos--country-select-country", onClick: () => this.countrySelected(country.code) }, index.h("zonos-country-flag", { class: "zonos--country-flag", countryCode: country.code }), index.h("zonos-text", { textColor: "gray-800" }, country.displayName), country.code === cart.localizationStore.selectedCountryCode && (index.h("zonos-icon", { content: GreenCheckDuotoneIcon, size: 20 })))))))));
1842
+ } }, index.h("div", { key: '2f6d0f239a4fad7c48349878b53dc8cb426aa022', class: "zonos--country-select" }, index.h("zonos-v-stack", { key: '76ad667603fce800457dae6d8951abe97e5db9d8', class: "zonos--country-select-header", spacing: 8 }, index.h("zonos-select-dialog-header", { key: '091416c3c6b91d3b50dd033d8bca0df79841871b', handleOnClose: () => this.handleOnClose(), label: cart.translate('Select a country') }, index.h("input", { key: '0c5d12e941bf7824594ebdd4b353ba833b6d9418', class: "zonos--country-select-input", onInput: this.handleInputChange, placeholder: cart.translate('Search countries'), value: this.inputValue }))), index.h("div", { key: '9ff13fd2b3528ddff2bd379baa0b2ec919a6f928', class: "zonos--country-select-content" }, isEmpty && (index.h("zonos-text", { key: '9cf46a7a706d335930eeedcc3663571c5dbaaafc', class: "no-country", textColor: "gray-800" }, cart.translate('No countries found'))), index.h("zonos-virtual-scroll", { key: '297237f0e2179ea95a49ae4872f6cc216026dd47', class: "zonos--country-filter-content", fallbackItemHeight: 34, itemHeights: filteredCountries.map(() => 34), renderItem: index$1 => {
1843
+ const country = filteredCountries[index$1];
1844
+ if (!country) {
1845
+ return null;
1846
+ }
1847
+ return (index.h("button", { class: "zonos--country-select-country", onClick: () => this.countrySelected(country.code) }, index.h("zonos-country-flag", { class: "zonos--country-flag", countryCode: country.code }), index.h("zonos-text", { textColor: "gray-800" }, country.displayName), country.code === cart.localizationStore.selectedCountryCode && (index.h("zonos-icon", { content: GreenCheckDuotoneIcon, size: 20 }))));
1848
+ } })))));
1840
1849
  }
1841
1850
  get ele() { return index.getElement(this); }
1842
1851
  };
@@ -1853,9 +1862,9 @@ const ZonosCustomMessage = class {
1853
1862
  }
1854
1863
  render() {
1855
1864
  const messageWithLinks = formatStringWithLinks.formatStringWithLinks(this.message);
1856
- return (index.h(index.Host, { key: '37b59a5aad442e9c20b8ed03672c73c315b45538', class: "zonos--elements", style: {
1865
+ return (index.h(index.Host, { key: 'd6d31b58cf5396c136d81a5969b418c79229c930', class: "zonos--elements", style: {
1857
1866
  '--font-family': zonosStore.zonosStoreFontFamily(),
1858
- } }, this.message && (index.h("zonos-card", { key: '5de7e44deb7c0544789a9d2b306fc8b2cad338b8', class: "zonos--custom-message", spacing: "12px" }, index.h("div", { key: 'c911e94eb1d7cbaf1db2126d14a6eeed8932ff97', class: "zonos--flex-message" }, index.h("zonos-icon", { key: '35c7f483046b78e9dffe87370d6b2f9435bc0ec1', "aria-label": "Custom message icon", content: this.icon }), index.h("zonos-text", { key: 'fdbc136b2a01fd5df35a3b01aa82bb9d088083e0', innerHTML: messageWithLinks }))))));
1867
+ } }, this.message && (index.h("zonos-card", { key: '4c62131117e23bbe475fb6f59a5e9bba8bc7d552', class: "zonos--custom-message", spacing: "12px" }, index.h("div", { key: '7ec3cbde2204fe0fa3b52844109bf0379677d567', class: "zonos--flex-message" }, index.h("zonos-icon", { key: 'cad94039767bd3d93fe9995aee34e8eb42fb707c', "aria-label": "Custom message icon", content: this.icon }), index.h("zonos-text", { key: 'f5bd77fafded83fefd99c45f0a78cf5c72459e47', innerHTML: messageWithLinks }))))));
1859
1868
  }
1860
1869
  };
1861
1870
  ZonosCustomMessage.style = ZonosCustomMessageStyle0;
@@ -1888,14 +1897,91 @@ const ZonosHelloDialogFooter = class {
1888
1897
  const language = (_b = ILanguage.languages.find(x => x.code === cart.localizationStore.selectedLocale)) === null || _b === void 0 ? void 0 : _b.translatedLabel;
1889
1898
  // Only use gray-0 (white) when the background color is dark (apply inverted color if the element is using dark theme variable)
1890
1899
  const mainColor = primaryColor && isDarkColor.isDarkColor(primaryColor) ? 'white' : 'black';
1891
- return (index.h(index.Host, { key: '49ed5ba840bd0d1e813b8eb4b89d0508930928a2', class: "zonos--elements" }, index.h("div", { key: 'ae66c6a3e8c824189b4eae2208c873943f8687ca', class: "zonos--hello-dialog-footer", style: {
1900
+ return (index.h(index.Host, { key: 'a9b52a67a2db1967fe6fde4f19dc8d2785469f8a', class: "zonos--elements" }, index.h("div", { key: '1b36f45f0f00fe2b6494fb04373b12b4848b9484', class: "zonos--hello-dialog-footer", style: {
1892
1901
  '--primary-color': primaryColor,
1893
- } }, index.h("a", { key: '61226c77fe20c817efd58e12c5d5c16dad6375ac', href: "https://zonos.com", target: "_blank", title: "Zonos website" }, index.h("zonos-icon", { key: '7dc60e603c7f64fc42359632190249caf0a18317', "aria-label": "Zonos Logo", autoHeight: true, content: ZonosIcon, iconColor: mainColor, size: 108 })), index.h("div", { key: 'a6875d4c4dcf5804570d47409567f87728b8c8b5', class: "zonos--hello-locale-wrapper" }, index.h("zonos-button", { key: '51083ce07a51f62469afce508c79a7ebbf4eeacf', buttonColor: mainColor, icon: index.h("zonos-icon", { "aria-label": "Open language select", content: Globe, iconColor: mainColor }), onClick: () => this.setShowLanguageSelect(true), variant: "subtle" }, language), index.h("zonos-button", { key: '46b826f2fc8f819507db9d432da459124b65cee8', buttonColor: mainColor, icon: index.h("zonos-country-flag", { "aria-label": "Open country select", class: "zonos--footer-country-flag", countryCode: cart.localizationStore.selectedCountryCode }), onClick: () => this.setShowCountrySelect(true), variant: "subtle" }, cart.localizationStore.selectedCountryCode)))));
1902
+ } }, index.h("a", { key: '7ca110d30f9266d021069af41766588ffce3d2ad', href: "https://zonos.com", target: "_blank", title: "Zonos website" }, index.h("zonos-icon", { key: 'f9f4866c18bc75577e5a3961ffdd67f48977fd68', "aria-label": "Zonos Logo", autoHeight: true, content: ZonosIcon, iconColor: mainColor, size: 108 })), index.h("div", { key: '2bacafbd2c2d9c79935b7a2c69ae9fd3e1ede48a', class: "zonos--hello-locale-wrapper" }, index.h("zonos-button", { key: 'a223f6706d319da505e8f013bff6863a433effd3', buttonColor: mainColor, icon: index.h("zonos-icon", { "aria-label": "Open language select", content: Globe, iconColor: mainColor }), onClick: () => this.setShowLanguageSelect(true), variant: "subtle" }, language), index.h("zonos-button", { key: 'aa94f1e06b80f6bec8433c3c8a7b066f0d91df08', buttonColor: mainColor, icon: index.h("zonos-country-flag", { "aria-label": "Open country select", class: "zonos--footer-country-flag", countryCode: cart.localizationStore.selectedCountryCode }), onClick: () => this.setShowCountrySelect(true), variant: "subtle" }, cart.localizationStore.selectedCountryCode)))));
1894
1903
  }
1895
1904
  get ele() { return index.getElement(this); }
1896
1905
  };
1897
1906
  ZonosHelloDialogFooter.style = ZonosHelloDialogFooterStyle0;
1898
1907
 
1908
+ const zonosVirtualScrollCss = ".sc-zonos-virtual-scroll-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-virtual-scroll-h *.sc-zonos-virtual-scroll{font-family:var(--font-family, Inter), Inter}.sc-zonos-virtual-scroll-h img.sc-zonos-virtual-scroll{max-width:100%}.sc-zonos-virtual-scroll-h dl.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h dd.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h h1.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h h2.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h h3.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h h4.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h h5.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h h6.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h hr.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h figure.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h p.sc-zonos-virtual-scroll,.sc-zonos-virtual-scroll-h pre.sc-zonos-virtual-scroll{margin:0}.sc-zonos-virtual-scroll-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-virtual-scroll-h{overflow:scroll}.sc-zonos-virtual-scroll-h .scroller.sc-zonos-virtual-scroll{display:inline-block}.sc-zonos-virtual-scroll-h .item-container.sc-zonos-virtual-scroll{position:relative;display:inline-block}.sc-zonos-virtual-scroll-h .item-container.sc-zonos-virtual-scroll .item.sc-zonos-virtual-scroll{position:absolute}";
1909
+ const ZonosVirtualScrollStyle0 = zonosVirtualScrollCss;
1910
+
1911
+ const ZonosVirtualScroll = class {
1912
+ constructor(hostRef) {
1913
+ index.registerInstance(this, hostRef);
1914
+ this.scrollListener = (_ev) => {
1915
+ this.scrollTop = this.ele.scrollTop;
1916
+ };
1917
+ this.container = undefined;
1918
+ this.renderItem = undefined;
1919
+ this.itemWidth = undefined;
1920
+ this.fallbackItemHeight = undefined;
1921
+ this.itemHeights = undefined;
1922
+ this.scrollTop = 0;
1923
+ this.totalHeight = 1;
1924
+ }
1925
+ updateTotalHeight() {
1926
+ this.totalHeight = this.itemHeights.reduce((acc, height) => acc + (height || this.fallbackItemHeight), 0);
1927
+ }
1928
+ connectedCallback() {
1929
+ this.ele.addEventListener('scroll', this.scrollListener);
1930
+ this.updateTotalHeight();
1931
+ }
1932
+ disconnectedCallback() {
1933
+ this.ele.removeEventListener('scroll', this.scrollListener);
1934
+ }
1935
+ render() {
1936
+ const W = this.ele.clientWidth;
1937
+ const H = this.ele.clientHeight;
1938
+ const heights = this.itemHeights;
1939
+ const fallbackItemHeight = this.fallbackItemHeight;
1940
+ const N = this.itemHeights.length;
1941
+ const scrollTop = this.scrollTop;
1942
+ const children = [];
1943
+ let accHeight = 0;
1944
+ // buffer for pre-rendering for item outside of viewport
1945
+ const buffer = 100;
1946
+ for (let i = 0; i < N; i++) {
1947
+ const itemHeight = heights[i] || fallbackItemHeight;
1948
+ if (scrollTop > accHeight + itemHeight + buffer) {
1949
+ accHeight += itemHeight;
1950
+ continue; // this item is above the viewport
1951
+ }
1952
+ if (scrollTop + H < accHeight - buffer) {
1953
+ break; // this item is below the viewport
1954
+ }
1955
+ const x = 0;
1956
+ const y = accHeight;
1957
+ children.push(index.h("div", { class: "item", style: {
1958
+ height: `${itemHeight}px`,
1959
+ transform: `translate(${x}px,${y}px)`,
1960
+ width: this.itemWidth ? `${this.itemWidth}px` : `${W}px`,
1961
+ } }, this.renderItem(i)));
1962
+ accHeight += itemHeight;
1963
+ }
1964
+ return (index.h(index.Host, { key: '6faa73cacfefee42781f87e6f697980941139d12' }, index.h("div", { key: '5411c13934b8b997f68bc6678e6e1c475d6d453c',
1965
+ // to capture scroll action
1966
+ class: "scroller", style: {
1967
+ height: `${this.totalHeight}px`,
1968
+ width: `${W}px`,
1969
+ } }), index.h("div", { key: '46c402a5a0df3242b9022e16b15d5e348210bc32',
1970
+ // to display items
1971
+ class: "item-container", ref: el => (this.container = el), style: {
1972
+ height: `${this.totalHeight}px`,
1973
+ left: `${-W}px`,
1974
+ } }, children)));
1975
+ }
1976
+ get ele() { return index.getElement(this); }
1977
+ static get watchers() { return {
1978
+ "itemHeights": ["updateTotalHeight"],
1979
+ "fallbackItemHeight": ["updateTotalHeight"]
1980
+ }; }
1981
+ };
1982
+ ZonosVirtualScroll.style = ZonosVirtualScrollStyle0;
1983
+
1899
1984
  exports.zonos_country_select = ZonosCountrySelect;
1900
1985
  exports.zonos_custom_message = ZonosCustomMessage;
1901
1986
  exports.zonos_hello_dialog_footer = ZonosHelloDialogFooter;
1987
+ exports.zonos_virtual_scroll = ZonosVirtualScroll;