@zonos/elements 1.3.39 → 1.3.40

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 (283) hide show
  1. package/dist/cjs/{cart-c7212410.js → cart-775440b7.js} +240 -7
  2. package/dist/cjs/{getBorderRadius-074b46ef.js → getBorderRadius-9ae7890c.js} +1 -1
  3. package/dist/cjs/{index-b071017b.js → index-ef8b2c76.js} +234 -167
  4. package/dist/cjs/index.cjs.js +10 -4
  5. package/dist/cjs/{isDarkColor-371a3b1a.js → isDarkColor-5f56770b.js} +1 -1
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/paypal-25c84e33.js +461 -0
  8. package/dist/cjs/{submitGtag-7a679d92.js → sendErrorLog-7818b288.js} +2 -19
  9. package/dist/cjs/zonos-address_8.cjs.entry.js +8 -8
  10. package/dist/cjs/zonos-badge_2.cjs.entry.js +2 -2
  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 +73 -35
  15. package/dist/cjs/zonos-checkout.cjs.entry.js +43 -70
  16. package/dist/cjs/zonos-component.cjs.entry.js +1 -1
  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 +5 -5
  20. package/dist/cjs/zonos-elements.cjs.js +3 -3
  21. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +5 -5
  22. package/dist/cjs/zonos-hello.cjs.entry.js +5 -5
  23. package/dist/cjs/zonos-input.cjs.entry.js +3 -3
  24. package/dist/cjs/zonos-language-select_2.cjs.entry.js +5 -5
  25. package/dist/cjs/zonos-link.cjs.entry.js +1 -1
  26. package/dist/cjs/zonos-logo.cjs.entry.js +2 -2
  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 +2 -2
  31. package/dist/cjs/{zonosStore-4c6c85da.js → zonosStore-b6c72408.js} +5 -1
  32. package/dist/collection/__tests__/build-utils/urlCheckOne.js +3 -1
  33. package/dist/collection/collection-manifest.json +2 -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/main/zonos-controller.js +22 -8
  44. package/dist/collection/components/paypal/zonos-paypal-payment.css +37 -0
  45. package/dist/collection/components/paypal/zonos-paypal-payment.js +92 -0
  46. package/dist/collection/components/store/checkout/cart.js +26 -1
  47. package/dist/collection/components/store/checkout/paypal.js +219 -0
  48. package/dist/collection/components/store/checkout/stripe.js +16 -4
  49. package/dist/collection/components/store/translationStore/strings.arabic.js +9 -0
  50. package/dist/collection/components/store/translationStore/strings.base.js +9 -0
  51. package/dist/collection/components/store/translationStore/strings.chinese.js +9 -0
  52. package/dist/collection/components/store/translationStore/strings.danish.js +9 -0
  53. package/dist/collection/components/store/translationStore/strings.dutch.js +9 -0
  54. package/dist/collection/components/store/translationStore/strings.french.js +9 -0
  55. package/dist/collection/components/store/translationStore/strings.german.js +9 -0
  56. package/dist/collection/components/store/translationStore/strings.hebrew.js +9 -0
  57. package/dist/collection/components/store/translationStore/strings.indonesian.js +9 -0
  58. package/dist/collection/components/store/translationStore/strings.italian.js +9 -0
  59. package/dist/collection/components/store/translationStore/strings.japanese.js +9 -0
  60. package/dist/collection/components/store/translationStore/strings.korean.js +9 -0
  61. package/dist/collection/components/store/translationStore/strings.norwegian.js +9 -0
  62. package/dist/collection/components/store/translationStore/strings.polish.js +9 -0
  63. package/dist/collection/components/store/translationStore/strings.portuguese.js +9 -0
  64. package/dist/collection/components/store/translationStore/strings.russian.js +9 -0
  65. package/dist/collection/components/store/translationStore/strings.spanish.js +9 -0
  66. package/dist/collection/components/store/translationStore/strings.swedish.js +9 -0
  67. package/dist/collection/components/store/translationStore/strings.turkish.js +9 -0
  68. package/dist/collection/components/store/translationStore/strings.vietnamese.js +9 -0
  69. package/dist/collection/components/store/zonosStore.js +4 -0
  70. package/dist/collection/components/stripe/zonos-address/zonos-address.js +2 -2
  71. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +1 -1
  72. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +2 -3
  73. package/dist/collection/components/utils/api/getZonosSettings.js +3 -3
  74. package/dist/collection/components/utils/api/paypalCaptureOrder.js +8 -0
  75. package/dist/collection/components/utils/api/paypalCreateOrder.js +8 -0
  76. package/dist/collection/components/utils/getContrastColor.js +6 -2
  77. package/dist/collection/components/utils/handleFetch.js +6 -1
  78. package/dist/collection/components/utils/isContrastColor.js +7 -0
  79. package/dist/collection/environment.js +4 -5
  80. package/dist/collection/scripts/_getZonosQaUrl.js +4 -0
  81. package/dist/collection/scripts/_zonosBase.js +2 -0
  82. package/dist/collection/styles/stripe/addressRuleStyle.js +6 -0
  83. package/dist/collection/types/generated/graphql.customer.types.js +35 -0
  84. package/dist/esm/{cart-eb75b113.js → cart-e9cd8286.js} +236 -8
  85. package/dist/esm/{getBorderRadius-947c24de.js → getBorderRadius-3c75c4c1.js} +1 -1
  86. package/dist/esm/{index-3b46f3c3.js → index-5a37ccde.js} +234 -167
  87. package/dist/esm/index.js +10 -4
  88. package/dist/esm/{isDarkColor-f8324c10.js → isDarkColor-3eb31a6d.js} +1 -1
  89. package/dist/esm/loader.js +3 -3
  90. package/dist/esm/paypal-da2b3db1.js +453 -0
  91. package/dist/esm/{submitGtag-0bc0baa0.js → sendErrorLog-2fcf78a2.js} +3 -19
  92. package/dist/esm/zonos-address_8.entry.js +8 -8
  93. package/dist/esm/zonos-badge_2.entry.js +2 -2
  94. package/dist/esm/zonos-banner.entry.js +2 -2
  95. package/dist/esm/zonos-button_3.entry.js +4 -4
  96. package/dist/esm/zonos-card.entry.js +3 -3
  97. package/dist/esm/zonos-cart-items_12.entry.js +60 -22
  98. package/dist/esm/zonos-checkout.entry.js +34 -61
  99. package/dist/esm/zonos-component.entry.js +1 -1
  100. package/dist/esm/zonos-controller.entry.js +15 -15
  101. package/dist/esm/zonos-country-flag.entry.js +5 -5
  102. package/dist/esm/zonos-country-select_3.entry.js +5 -5
  103. package/dist/esm/zonos-elements.js +4 -4
  104. package/dist/esm/zonos-hello-dialog.entry.js +5 -5
  105. package/dist/esm/zonos-hello.entry.js +5 -5
  106. package/dist/esm/zonos-input.entry.js +3 -3
  107. package/dist/esm/zonos-language-select_2.entry.js +5 -5
  108. package/dist/esm/zonos-link.entry.js +1 -1
  109. package/dist/esm/zonos-logo.entry.js +2 -2
  110. package/dist/esm/{zonos-notification_2.entry.js → zonos-notification_3.entry.js} +60 -9
  111. package/dist/esm/zonos-shipping-rich-radio.entry.js +3 -3
  112. package/dist/esm/zonos-text.entry.js +2 -2
  113. package/dist/esm/zonos-v-stack.entry.js +2 -2
  114. package/dist/esm/{zonosStore-ba9e541e.js → zonosStore-425abc1b.js} +5 -1
  115. package/dist/esm-es5/cart-e9cd8286.js +1 -0
  116. package/dist/esm-es5/{getBorderRadius-947c24de.js → getBorderRadius-3c75c4c1.js} +1 -1
  117. package/dist/esm-es5/index-5a37ccde.js +2 -0
  118. package/dist/esm-es5/index.js +1 -1
  119. package/dist/esm-es5/{isDarkColor-f8324c10.js → isDarkColor-3eb31a6d.js} +1 -1
  120. package/dist/esm-es5/loader.js +1 -1
  121. package/dist/esm-es5/paypal-da2b3db1.js +17 -0
  122. package/dist/esm-es5/sendErrorLog-2fcf78a2.js +1 -0
  123. package/dist/esm-es5/zonos-address_8.entry.js +1 -1
  124. package/dist/esm-es5/zonos-badge_2.entry.js +1 -1
  125. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  126. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  127. package/dist/esm-es5/zonos-card.entry.js +1 -1
  128. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  129. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  130. package/dist/esm-es5/zonos-component.entry.js +1 -1
  131. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  132. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  133. package/dist/esm-es5/zonos-country-select_3.entry.js +1 -1
  134. package/dist/esm-es5/zonos-elements.js +1 -1
  135. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  136. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  137. package/dist/esm-es5/zonos-input.entry.js +1 -1
  138. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  139. package/dist/esm-es5/zonos-link.entry.js +1 -1
  140. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  141. package/dist/esm-es5/zonos-notification_3.entry.js +1 -0
  142. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  143. package/dist/esm-es5/zonos-text.entry.js +1 -1
  144. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  145. package/dist/esm-es5/{zonosStore-ba9e541e.js → zonosStore-425abc1b.js} +1 -1
  146. package/dist/scripts/index.d.ts +91 -6
  147. package/dist/scripts/index.js +1 -1
  148. package/dist/scripts/loadZonos.js +1 -1
  149. package/dist/scripts/zonos.js +1 -1
  150. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +2 -1
  151. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.d.ts +8 -4
  152. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +1 -20
  153. package/dist/types/components/main/zonos-controller.d.ts +6 -0
  154. package/dist/types/components/paypal/zonos-paypal-payment.d.ts +17 -0
  155. package/dist/types/components/store/checkout/cart.d.ts +19 -1
  156. package/dist/types/components/store/checkout/paypal.d.ts +28 -0
  157. package/dist/types/components/store/checkout/stripe.d.ts +10 -1
  158. package/dist/types/components/store/translationStore/strings.arabic.d.ts +9 -0
  159. package/dist/types/components/store/translationStore/strings.base.d.ts +9 -0
  160. package/dist/types/components/store/translationStore/strings.chinese.d.ts +9 -0
  161. package/dist/types/components/store/translationStore/strings.danish.d.ts +9 -0
  162. package/dist/types/components/store/translationStore/strings.dutch.d.ts +9 -0
  163. package/dist/types/components/store/translationStore/strings.french.d.ts +9 -0
  164. package/dist/types/components/store/translationStore/strings.german.d.ts +9 -0
  165. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +9 -0
  166. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +9 -0
  167. package/dist/types/components/store/translationStore/strings.italian.d.ts +9 -0
  168. package/dist/types/components/store/translationStore/strings.japanese.d.ts +9 -0
  169. package/dist/types/components/store/translationStore/strings.korean.d.ts +9 -0
  170. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +9 -0
  171. package/dist/types/components/store/translationStore/strings.polish.d.ts +9 -0
  172. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +9 -0
  173. package/dist/types/components/store/translationStore/strings.russian.d.ts +9 -0
  174. package/dist/types/components/store/translationStore/strings.spanish.d.ts +9 -0
  175. package/dist/types/components/store/translationStore/strings.swedish.d.ts +9 -0
  176. package/dist/types/components/store/translationStore/strings.turkish.d.ts +9 -0
  177. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +9 -0
  178. package/dist/types/components/store/translationStore.d.ts +1 -1
  179. package/dist/types/components/store/zonosStore.d.ts +4 -0
  180. package/dist/types/components/utils/api/getZonosSettings.d.ts +2 -0
  181. package/dist/types/components/utils/api/paypalCaptureOrder.d.ts +10 -0
  182. package/dist/types/components/utils/api/paypalCreateOrder.d.ts +9 -0
  183. package/dist/types/components/utils/handleFetch.d.ts +4 -0
  184. package/dist/types/components/utils/isContrastColor.d.ts +4 -0
  185. package/dist/types/components.d.ts +50 -6
  186. package/dist/types/scripts/_zonosBase.d.ts +9 -1
  187. package/dist/types/stencil-public-runtime.d.ts +3 -10
  188. package/dist/types/types/checkout/CheckoutConfig.d.ts +14 -1
  189. package/dist/types/types/generated/graphql.customer.types.d.ts +71 -11
  190. package/dist/types/types/generated/graphql.customer.types.ts +103 -11
  191. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  192. package/dist/zonos-elements/index.esm.js +1 -1
  193. package/dist/zonos-elements/{p-ed333de6.system.entry.js → p-01bd2187.system.entry.js} +1 -1
  194. package/dist/zonos-elements/{p-f06bb776.system.entry.js → p-14b53e8f.system.entry.js} +1 -1
  195. package/dist/zonos-elements/p-15ecad81.entry.js +1 -0
  196. package/dist/zonos-elements/p-1b499bcc.system.js +1 -0
  197. package/dist/zonos-elements/{p-d2992457.system.entry.js → p-1daa3b1e.system.entry.js} +1 -1
  198. package/dist/zonos-elements/{p-085548f2.entry.js → p-1debb7b2.entry.js} +1 -1
  199. package/dist/zonos-elements/{p-9de374a7.system.entry.js → p-2bfb5e4b.system.entry.js} +1 -1
  200. package/dist/zonos-elements/{p-01304a58.system.entry.js → p-2c03ac78.system.entry.js} +1 -1
  201. package/dist/zonos-elements/p-3447ef24.system.js +17 -0
  202. package/dist/zonos-elements/{p-699a5376.entry.js → p-3496183d.entry.js} +1 -1
  203. package/dist/zonos-elements/{p-59f37de3.entry.js → p-36df9785.entry.js} +1 -1
  204. package/dist/zonos-elements/p-3996d025.system.js +1 -0
  205. package/dist/zonos-elements/p-3b6a7200.entry.js +1 -0
  206. package/dist/zonos-elements/p-3d98f422.system.entry.js +1 -0
  207. package/dist/zonos-elements/{p-31b3d26b.js → p-3da1bc42.js} +1 -1
  208. package/dist/zonos-elements/{p-a21ec316.system.entry.js → p-445fb353.system.entry.js} +1 -1
  209. package/dist/zonos-elements/{p-3541e6dd.entry.js → p-54101ed6.entry.js} +1 -1
  210. package/dist/zonos-elements/p-54971a77.system.js +1 -0
  211. package/dist/zonos-elements/{p-c0fcc0fa.system.entry.js → p-5a5d1a12.system.entry.js} +1 -1
  212. package/dist/zonos-elements/{p-c21802e9.entry.js → p-5e55dcbc.entry.js} +1 -1
  213. package/dist/zonos-elements/{p-71882ac9.system.entry.js → p-5f68f356.system.entry.js} +1 -1
  214. package/dist/zonos-elements/{p-73ba4398.system.entry.js → p-61842b4f.system.entry.js} +1 -1
  215. package/dist/zonos-elements/{p-3523c3b4.entry.js → p-657be9e9.entry.js} +1 -1
  216. package/dist/zonos-elements/p-6897be29.entry.js +1 -0
  217. package/dist/zonos-elements/{p-3f5e2e5c.system.entry.js → p-6f39051c.system.entry.js} +1 -1
  218. package/dist/zonos-elements/{p-966ab4e7.system.entry.js → p-70b024ad.system.entry.js} +1 -1
  219. package/dist/zonos-elements/{p-22882fd6.entry.js → p-71037fe5.entry.js} +1 -1
  220. package/dist/zonos-elements/p-7dd54a63.entry.js +1 -0
  221. package/dist/zonos-elements/{p-e3c014ae.entry.js → p-7f96d3b4.entry.js} +1 -1
  222. package/dist/zonos-elements/p-800db524.system.js +1 -0
  223. package/dist/zonos-elements/{p-9a1c0d02.js → p-890f5788.js} +1 -1
  224. package/dist/zonos-elements/{p-62ed4236.entry.js → p-8d149b99.entry.js} +1 -1
  225. package/dist/zonos-elements/p-916adba7.entry.js +1 -0
  226. package/dist/zonos-elements/{p-5821856c.js → p-92bebe7a.js} +1 -1
  227. package/dist/zonos-elements/p-94279862.system.js +1 -0
  228. package/dist/zonos-elements/{p-b903af96.system.entry.js → p-97dadd90.system.entry.js} +1 -1
  229. package/dist/zonos-elements/{p-e37440ad.system.js → p-b2007124.system.js} +1 -1
  230. package/dist/zonos-elements/p-b55b557a.system.js +2 -0
  231. package/dist/zonos-elements/{p-18b28104.entry.js → p-bfa5ec2b.entry.js} +1 -1
  232. package/dist/zonos-elements/p-c55a5fe4.system.entry.js +1 -0
  233. package/dist/zonos-elements/p-c5a5512a.system.entry.js +1 -0
  234. package/dist/zonos-elements/p-c87113fb.system.entry.js +1 -0
  235. package/dist/zonos-elements/p-ca58f16e.system.entry.js +1 -0
  236. package/dist/zonos-elements/{p-6c3390b7.entry.js → p-d46fa40a.entry.js} +1 -1
  237. package/dist/zonos-elements/p-d6135575.js +1 -0
  238. package/dist/zonos-elements/p-d95cb86a.system.js +1 -0
  239. package/dist/zonos-elements/{p-d8c1eb99.entry.js → p-d9d5ee2f.entry.js} +1 -1
  240. package/dist/zonos-elements/{p-2a45c837.system.entry.js → p-da15b587.system.entry.js} +1 -1
  241. package/dist/zonos-elements/{p-8acdf43b.system.entry.js → p-dc6a17fe.system.entry.js} +1 -1
  242. package/dist/zonos-elements/p-dd61b7a0.js +2 -0
  243. package/dist/zonos-elements/p-e252d86f.entry.js +1 -0
  244. package/dist/zonos-elements/{p-da2e5289.system.entry.js → p-e6efc2e1.system.entry.js} +1 -1
  245. package/dist/zonos-elements/{p-63a27875.entry.js → p-efdc7748.entry.js} +1 -1
  246. package/dist/zonos-elements/{p-2aa72606.entry.js → p-f643035f.entry.js} +1 -1
  247. package/dist/zonos-elements/p-f98f7066.js +17 -0
  248. package/dist/zonos-elements/{p-9d29f3f4.system.entry.js → p-fa02dd07.system.entry.js} +1 -1
  249. package/dist/zonos-elements/{p-c3619b3d.entry.js → p-fa95c3dc.entry.js} +1 -1
  250. package/dist/zonos-elements/p-fb63bd03.js +1 -0
  251. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  252. package/dist/zonos-elements/zonos-elements.js +1 -1
  253. package/loader/cdn.js +1 -2
  254. package/loader/index.cjs.js +1 -2
  255. package/loader/index.d.ts +3 -0
  256. package/loader/index.es2017.js +1 -2
  257. package/loader/index.js +1 -2
  258. package/package.json +12 -11
  259. package/dist/esm-es5/cart-eb75b113.js +0 -1
  260. package/dist/esm-es5/index-3b46f3c3.js +0 -2
  261. package/dist/esm-es5/submitGtag-0bc0baa0.js +0 -1
  262. package/dist/esm-es5/zonos-notification_2.entry.js +0 -1
  263. package/dist/zonos-elements/p-02405211.system.entry.js +0 -1
  264. package/dist/zonos-elements/p-0b538ed4.system.js +0 -1
  265. package/dist/zonos-elements/p-357322ea.system.entry.js +0 -1
  266. package/dist/zonos-elements/p-53acc999.js +0 -1
  267. package/dist/zonos-elements/p-548ac127.entry.js +0 -1
  268. package/dist/zonos-elements/p-5609876a.system.entry.js +0 -1
  269. package/dist/zonos-elements/p-6f9448bb.entry.js +0 -1
  270. package/dist/zonos-elements/p-70262120.system.js +0 -1
  271. package/dist/zonos-elements/p-878293fe.js +0 -1
  272. package/dist/zonos-elements/p-97d74f84.system.js +0 -1
  273. package/dist/zonos-elements/p-a393c1db.system.entry.js +0 -1
  274. package/dist/zonos-elements/p-a8b934c2.entry.js +0 -1
  275. package/dist/zonos-elements/p-a8cb25de.system.js +0 -1
  276. package/dist/zonos-elements/p-abe8ea12.system.js +0 -1
  277. package/dist/zonos-elements/p-ae04d3ff.entry.js +0 -1
  278. package/dist/zonos-elements/p-b684f8aa.system.entry.js +0 -1
  279. package/dist/zonos-elements/p-ce347974.js +0 -2
  280. package/dist/zonos-elements/p-d99232c5.system.js +0 -2
  281. package/dist/zonos-elements/p-e0bf9666.system.js +0 -1
  282. package/dist/zonos-elements/p-e1db1bc9.entry.js +0 -1
  283. package/dist/zonos-elements/p-e74ca4bc.entry.js +0 -1
@@ -1,9 +1,9 @@
1
- import { r as registerInstance, h, H as Host, d as getElement } from './index-3b46f3c3.js';
2
- import { z as zonosStore, d as zonosStoreFontFamily } from './zonosStore-ba9e541e.js';
1
+ import { r as registerInstance, h, H as Host, d as getElement } from './index-5a37ccde.js';
2
+ import { z as zonosStore, d as zonosStoreFontFamily } from './zonosStore-425abc1b.js';
3
3
  import { c as classes } from './classes-0d95c529.js';
4
- import { g as getBorderRadius } from './getBorderRadius-947c24de.js';
4
+ import { g as getBorderRadius } from './getBorderRadius-3c75c4c1.js';
5
5
  import { i as isColorVariable } from './isColorVariable-82457bef.js';
6
- import { i as isDarkColor } from './isDarkColor-f8324c10.js';
6
+ import { i as isDarkColor } from './isDarkColor-3eb31a6d.js';
7
7
 
8
8
  /**
9
9
  * Get theme for button text based on background color
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, h, H as Host } from './index-3b46f3c3.js';
2
- import { d as zonosStoreFontFamily } from './zonosStore-ba9e541e.js';
1
+ import { r as registerInstance, h, H as Host } from './index-5a37ccde.js';
2
+ import { d as zonosStoreFontFamily } from './zonosStore-425abc1b.js';
3
3
  import { c as classes } from './classes-0d95c529.js';
4
- import { g as getBorderRadius } from './getBorderRadius-947c24de.js';
4
+ import { g as getBorderRadius } from './getBorderRadius-3c75c4c1.js';
5
5
 
6
6
  const zonosCardCss = ":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 .styled-card{border:var(--zonos-elements-border);border-radius:var(--border-radius, var(--zonos-elements-radius-6));padding:var(--spacing, 24px);text-align:left;background-color:var(--background-color);overflow:hidden}:host .styled-card hr{margin-left:calc(var(--spacing, 24px) * -1);margin-right:calc(var(--spacing, 24px) * -1)}:host .styled-card .card-header{margin:calc(var(--spacing, 24px) * -1);padding:var(--spacing, 24px);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-bottom:var(--spacing, 24px);border-bottom:var(--zonos-elements-border);height:65px;line-height:65px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host .styled-card .card-header h5{margin-bottom:0;-ms-flex:1;flex:1}:host .styled-card .card-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;margin:calc(var(--spacing, 24px) * -1);padding:var(--spacing, 24px);border-top:var(--zonos-elements-border);background:var(--zonos-elements-surface-color-secondary);margin-top:var(--spacing, 24px);border-bottom-left-radius:var(--zonos-elements-radius-8);border-bottom-right-radius:var(--zonos-elements-radius-8);height:var(--footerHeight)}";
7
7
  const ZonosCardStyle0 = zonosCardCss;
@@ -1,12 +1,13 @@
1
- import { r as registerInstance, a as getAssetPath, h, H as Host, F as Fragment, c as createEvent, d as getElement } from './index-3b46f3c3.js';
2
- import { d as cartStore, B as currencyFormat, C as cartStoreHasOneEligibleItem, t as translate, r as handleFetch, p as stripeStoreReset, h as stripeStore, D as stripeStoreRetrievePayment, l as localizationStore, E as stripeStoreTranslateAddressToLatin, F as cartStoreUpdateSelectedShippingOption, G as cartStoreGetShippingTransitInfo } from './cart-eb75b113.js';
1
+ import { r as registerInstance, a as getAssetPath, h, H as Host, F as Fragment, c as createEvent, d as getElement } from './index-5a37ccde.js';
2
+ import { d as cartStore, F as currencyFormat, G as cartStoreHasOneEligibleItem, t as translate, w as handleFetch, u as stripeStoreReset, j as stripeStore, H as stripeStoreRetrievePayment, I as stripeStoreMessageBasedOnStatus, l as localizationStore, J as stripeStoreTranslateAddressToLatin, K as cartStoreUpdateSelectedShippingOption, L as cartStoreGetShippingTransitInfo } from './cart-e9cd8286.js';
3
3
  import { c as classes } from './classes-0d95c529.js';
4
- import { z as zonosStore, g as getZonosStoreTheme, d as zonosStoreFontFamily } from './zonosStore-ba9e541e.js';
5
- import { t as trackConversionEvent, s as sendErrorLog, a as submitGtag, c as createCustomEvent, g as getIsTestMode } from './submitGtag-0bc0baa0.js';
6
- import { g as getBorderRadius } from './getBorderRadius-947c24de.js';
4
+ import { s as submitGtag, a as paypalStore, b as paypalStoreReset, c as paypalStoreHasPaypalEnabled, i as isContrastColor } from './paypal-da2b3db1.js';
5
+ import { z as zonosStore, g as getZonosStoreTheme, d as zonosStoreFontFamily } from './zonosStore-425abc1b.js';
6
+ import { t as trackConversionEvent, s as sendErrorLog, c as createCustomEvent, g as getIsTestMode } from './sendErrorLog-2fcf78a2.js';
7
+ import { g as getBorderRadius } from './getBorderRadius-3c75c4c1.js';
7
8
  import { i as isCheckoutMobile } from './isCheckoutMobile-8846dccb.js';
8
9
  import { l as languages } from './ILanguage-cd6acb72.js';
9
- import { t as tinycolor, i as isDarkColor } from './isDarkColor-f8324c10.js';
10
+ import { i as isDarkColor, t as tinycolor } from './isDarkColor-3eb31a6d.js';
10
11
  import { i as isColorVariable } from './isColorVariable-82457bef.js';
11
12
  import { c as containsNonLatinChars } from './containsNonLatinChars-2d8810c3.js';
12
13
  import './logError-c456c092.js';
@@ -266,7 +267,7 @@ const ZonosCheckoutFinish = class {
266
267
  this.notificationActionText = successPageActionText;
267
268
  }
268
269
  };
269
- this.checkPaymentStatus = async () => {
270
+ this.checkStripePaymentStatus = async () => {
270
271
  this.isLoading = true;
271
272
  const clientSecret = new URLSearchParams(window.location.search).get('payment_intent_client_secret') || stripeStore.clientSecret;
272
273
  if (clientSecret || this.storybookForceStatus) {
@@ -279,8 +280,6 @@ const ZonosCheckoutFinish = class {
279
280
  this.notificationTitle = error
280
281
  ? translate('Payment failed')
281
282
  : translate("You're all set!");
282
- // override title if notification type is success
283
- this.useOverrideSuccessNotification();
284
283
  if (error) {
285
284
  submitGtag('zonos-checkout-payment-fail');
286
285
  }
@@ -296,6 +295,8 @@ const ZonosCheckoutFinish = class {
296
295
  }
297
296
  // Attempt to pull the order details from the graph every second on 5 attempts. Only pull if checkoutSessionId is available
298
297
  if (this.notificationType === 'success' && cartStore.checkoutSessionId) {
298
+ // override title if notification type is success
299
+ this.useOverrideSuccessNotification();
299
300
  // wait this to finish before resetting store and checkout session id
300
301
  await this.getPullOrder();
301
302
  }
@@ -309,6 +310,31 @@ const ZonosCheckoutFinish = class {
309
310
  stripeStoreReset();
310
311
  cartStore.checkoutSessionId = null;
311
312
  };
313
+ this.checkPaypalPaymentStatus = async () => {
314
+ this.isLoading = true;
315
+ // render error message if there's an error
316
+ if (paypalStore.paypalErrorMessage) {
317
+ this.notificationType = 'error';
318
+ this.notificationTitle = translate('Payment failed');
319
+ this.notificationMessages = [paypalStore.paypalErrorMessage];
320
+ this.isLoading = false;
321
+ return;
322
+ }
323
+ if (paypalStore.orderIdCreated) {
324
+ this.notificationType = 'success';
325
+ this.notificationTitle = translate("You're all set!");
326
+ this.notificationMessages =
327
+ stripeStoreMessageBasedOnStatus('succeeded').messages;
328
+ // override title if notification type is success
329
+ this.useOverrideSuccessNotification();
330
+ // wait this to finish before resetting store and checkout session id
331
+ await this.getPullOrder();
332
+ }
333
+ this.isLoading = false;
334
+ stripeStoreReset();
335
+ paypalStoreReset();
336
+ cartStore.checkoutSessionId = null;
337
+ };
312
338
  this.closeClickHandler = () => {
313
339
  this.closeClick.emit();
314
340
  };
@@ -331,17 +357,22 @@ const ZonosCheckoutFinish = class {
331
357
  this.isLoading = false;
332
358
  return;
333
359
  }
334
- void this.checkPaymentStatus();
360
+ if (paypalStore.orderIdCreated) {
361
+ void this.checkPaypalPaymentStatus();
362
+ }
363
+ else {
364
+ void this.checkStripePaymentStatus();
365
+ }
335
366
  }
336
367
  render() {
337
368
  var _a, _b;
338
369
  const orderId = ((_a = this.order) === null || _a === void 0 ? void 0 : _a.accountOrderNumber) || ((_b = this.order) === null || _b === void 0 ? void 0 : _b.id);
339
370
  const isTestMode = getIsTestMode();
340
- return (h(Host, { key: 'd36ab5e23e09a467b2616ade463baec9626c0157', class: "zonos--checkout-finish zonos--elements", style: {
371
+ return (h(Host, { key: '4e00e5d3d8de136e4161fdea6afba86616748d66', class: "zonos--checkout-finish zonos--elements", style: {
341
372
  '--border-radius': getBorderRadius({
342
373
  overrideBorderStyle: this.borderRadius,
343
374
  }),
344
- } }, this.isLoading && (h("div", { key: '58181470e5a3e75655bde5bf91ac4a857a8144f8', class: "loading-wrapper" }, h("zonos-spinner", { key: 'b1aba8ef89c9fbce271d6c3226f32e0a0dd1561d' }))), !this.isLoading && (h("div", { key: 'd02576373b5a3affc73906e125d443ce12e6c8d6', class: "zonos--finish-details" }, h("div", { key: 'ba06598ed291e565663c5b321e9419215cd2832a', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: '55c453a319a693280518a4b2c2f502a1cc90dc2a', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), orderId && (h("zonos-badge", { key: '31042753fb3a1ef5155314c1d55abc067c6a6d31', badgeColor: "transparent" }, orderId)), h("zonos-text", { key: 'e9eceec74357986169f829a1c650f1e4b1605245', textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), h("zonos-button", { key: '7c6e8b61be1bf7cc3c84ed369f438af7b1ad60c0', onClick: () => this.closeClickHandler(), size: "md", variant: "primary" }, this.notificationActionText)), isTestMode && cartStore.step === 'finish' && (h("div", { key: 'bb567e9a67e6895b7f3c97e6d02584ba9f279acd', class: "zonos--finish-button-wrapper" }, h("zonos-button", { key: '50afe47a9e5d25759b4f82bb619f5de7fc56f260', backgroundColor: "gray-0", buttonColor: "gray-1200", onClick: () => this.closeClickHandler(), size: "lg", variant: "outline" }, "New test cart"), h("zonos-button", { key: '6cf9d0d670aa07ade295aa5ef3781dcd65e4d812', onClick: () => this.redirectToUrl(`/orders/all`), size: "lg", variant: "primary" }, "View order in Dashboard")))))));
375
+ } }, this.isLoading && (h("div", { key: '6b4f755402951c5fd0e5150ccd05542b85ca2121', class: "loading-wrapper" }, h("zonos-spinner", { key: 'a3e6b561c6796891b33d273b9729d0f8fab4a308' }))), !this.isLoading && (h("div", { key: '798bfa6f1ee9f7b682e0d7389654f5b3d1549ba6', class: "zonos--finish-details" }, h("div", { key: 'cd7a52c193aa3bb5ef2e49e6027bf0448de14046', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: 'b4c5751d55a3ef5d06e68a1065dc017b455a9d1f', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), orderId && (h("zonos-badge", { key: 'd8c13fb55fe83d1caf26efbd037da866b26af108', badgeColor: "transparent" }, orderId)), h("zonos-text", { key: '5ae6e0d1b42e7d0ab578229d8c9eebcd660b78db', textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), h("zonos-button", { key: '0a3447480fe0ddcff91579602621b9ee70ae2a64', onClick: () => this.closeClickHandler(), size: "md", variant: "primary" }, this.notificationActionText)), isTestMode && cartStore.step === 'finish' && (h("div", { key: 'c3374a72c1e2d9350f152c7e2016463bf0a7f02e', class: "zonos--finish-button-wrapper" }, h("zonos-button", { key: '7d34001e6798162cbcb1d9ef8949d15617c64362', backgroundColor: "gray-0", buttonColor: "gray-1200", onClick: () => this.closeClickHandler(), size: "lg", variant: "outline" }, "New test cart"), h("zonos-button", { key: 'e217f0bde5d4b0df0220983a32ae8853469d1d23', onClick: () => this.redirectToUrl(`/orders/all`), size: "lg", variant: "primary" }, "View order in Dashboard")))))));
345
376
  }
346
377
  static get assetsDirs() { return ["assets"]; }
347
378
  };
@@ -359,7 +390,7 @@ const ZonosIcon = `<svg width="105" height="29" viewBox="0 0 105 29" fill="none"
359
390
  </svg>
360
391
  `;
361
392
 
362
- const zonosCheckoutFooterCss = ":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{position:absolute;bottom:-50px;left:0;right:0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;z-index:2}:host .zonos--checkout-footer{width:calc(90vw - 22px);gap:16px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:12px;padding-left:0;-ms-flex-align:center;align-items:center}:host .zonos--checkout-footer .zonos--checkout-footer-icon-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:24px}:host .zonos--checkout-footer .zonos--checkout-footer-icon-wrapper .zonos--checkout-footer-logo{display:-ms-inline-flexbox;display:inline-flex;gap:8px;-ms-flex-align:center;align-items:center}:host .zonos--checkout-footer .zonos--checkout-footer-icon-wrapper .zonos--checkout-footer-logo a{line-height:0}:host .zonos--checkout-footer .zonos--checkout-footer-icon-wrapper a{text-decoration:none}:host .zonos--checkout-footer zonos-button button.outline{outline:1px solid var(--zonos-elements-gray-800)}:host .zonos--checkout-footer .zonos--checkout-locale-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px;position:relative}@media (max-width: 400px){:host .zonos--checkout-footer .zonos--checkout-locale-wrapper{gap:4px}}:host .zonos--checkout-footer .zonos--checkout-footer-dialog{position:absolute;bottom:36px;left:var(--language-dialog-left);background:var(--zonos-elements-surface-color);-webkit-box-shadow:var(--zonos-elements-v3-shadow-xl);box-shadow:var(--zonos-elements-v3-shadow-xl);border-radius:var(--zonos-elements-radius-12);width:360px;max-width:100vw;max-height:500px;z-index:2147483011;overflow:auto;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:bottom left;transform-origin:bottom left;opacity:0;-webkit-transition:opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;transition:opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out, opacity 0.3s ease-out;transition:transform 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar{width:10px}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar-thumb:hover{background:#d6d6d6}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar-track{border-top-right-radius:var(--zonos-elements-radius-12);border-bottom-right-radius:var(--zonos-elements-radius-12)}:host .zonos--checkout-footer .zonos--checkout-footer-dialog.zonos--checkout-footer-dialog-open{opacity:1;-webkit-transform:scale(1);transform:scale(1)}:host(.mobile){-ms-flex-direction:column;flex-direction:column;gap:32px;background:var(--zonos-elements-gray-0);position:relative;padding-top:24px;bottom:0}:host(.mobile) .zonos--checkout-footer{-ms-flex-direction:column;flex-direction:column;gap:4px}:host(.mobile) .zonos--checkout-locale-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.mobile) .zonos--checkout-footer-icon-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.mobile) .zonos--checkout-footer-dialog{position:fixed;left:0;right:0;bottom:0;-webkit-transform-origin:bottom center;transform-origin:bottom center;width:100vw}";
393
+ const zonosCheckoutFooterCss = ":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{position:absolute;bottom:-50px;left:0;right:0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;z-index:2}:host .zonos--checkout-footer{width:calc(90vw - 22px);gap:16px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:12px;padding-left:0;-ms-flex-align:center;align-items:center}:host .zonos--checkout-footer .zonos--checkout-footer-icon-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:24px}:host .zonos--checkout-footer .zonos--checkout-footer-icon-wrapper .zonos--checkout-footer-logo{display:-ms-inline-flexbox;display:inline-flex;gap:8px;-ms-flex-align:center;align-items:center}:host .zonos--checkout-footer .zonos--checkout-footer-icon-wrapper .zonos--checkout-footer-logo a{line-height:0}:host .zonos--checkout-footer .zonos--checkout-footer-icon-wrapper a{text-decoration:none}:host .zonos--checkout-footer zonos-button button.outline{outline:1px solid var(--zonos-elements-gray-800)}:host .zonos--checkout-footer .zonos--checkout-locale-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px;position:relative}@media (max-width: 400px){:host .zonos--checkout-footer .zonos--checkout-locale-wrapper{gap:4px}}:host .zonos--checkout-footer .zonos--checkout-footer-dialog{position:absolute;bottom:36px;left:var(--language-dialog-left);background:var(--zonos-elements-surface-color);-webkit-box-shadow:var(--zonos-elements-v3-shadow-xl);box-shadow:var(--zonos-elements-v3-shadow-xl);border-radius:var(--zonos-elements-radius-12);width:360px;max-width:100vw;max-height:500px;z-index:2147483011;overflow:auto;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:bottom left;transform-origin:bottom left;opacity:0;-webkit-transition:opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;transition:opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out, opacity 0.3s ease-out;transition:transform 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;-ms-scroll-chaining:none;overscroll-behavior:contain}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar{width:10px}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar-thumb:hover{background:#d6d6d6}:host .zonos--checkout-footer .zonos--checkout-footer-dialog::-webkit-scrollbar-track{border-top-right-radius:var(--zonos-elements-radius-12);border-bottom-right-radius:var(--zonos-elements-radius-12)}:host .zonos--checkout-footer .zonos--checkout-footer-dialog.zonos--checkout-footer-dialog-open{opacity:1;-webkit-transform:scale(1);transform:scale(1)}:host(.mobile){-ms-flex-direction:column;flex-direction:column;gap:32px;background:var(--zonos-elements-gray-0);position:relative;padding-top:24px;bottom:0}:host(.mobile) .zonos--checkout-footer{-ms-flex-direction:column;flex-direction:column;gap:4px}:host(.mobile) .zonos--checkout-locale-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.mobile) .zonos--checkout-footer-icon-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.mobile) .zonos--checkout-footer-dialog{position:fixed;left:0;right:0;bottom:0;-webkit-transform-origin:bottom center;transform-origin:bottom center;width:100vw}";
363
394
  const ZonosCheckoutFooterStyle0 = zonosCheckoutFooterCss;
364
395
 
365
396
  const ZonosCheckoutFooter = class {
@@ -405,13 +436,15 @@ const CheckmarkLineIcon = `<svg color="var(--zonos-elements-gray-1000)" xmlns="h
405
436
 
406
437
  const RemoveLineIcon = `<svg color="var(--zonos-elements-gray-1000)" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="var(--zonos-elements-gray-1000)" d="M14.475 10.586a.75.75 0 1 0-1.06-1.06L12 10.938l-1.414-1.414a.75.75 0 0 0-1.06 1.06L10.938 12l-1.414 1.414a.75.75 0 1 0 1.06 1.06L12 13.062l1.414 1.414a.75.75 0 0 0 1.06-1.06L13.062 12l1.414-1.414Z"/><path fill="var(--zonos-elements-gray-1000)" fill-rule="evenodd" d="M12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-6.5 8a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z" clip-rule="evenodd"/></svg>`;
407
438
 
408
- const zonosCheckoutPaymentCss = ".sc-zonos-checkout-payment-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-payment-h *.sc-zonos-checkout-payment{font-family:var(--font-family, Inter), Inter}.sc-zonos-checkout-payment-h img.sc-zonos-checkout-payment{max-width:100%}.sc-zonos-checkout-payment-h dl.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h dd.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h1.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h2.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h3.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h4.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h5.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h6.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h hr.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h figure.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h p.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h pre.sc-zonos-checkout-payment{margin:0}.sc-zonos-checkout-payment-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-payment-h{overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1;flex:1}.sc-zonos-checkout-payment-h .zonos--title.sc-zonos-checkout-payment{margin-bottom:24px}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment{margin-bottom:20px;overflow:auto;padding:5px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1;flex:1}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment::-webkit-scrollbar{width:10px}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-payment-h .zonos--payment-error-banner.sc-zonos-checkout-payment{margin-bottom:8px}.sc-zonos-checkout-payment-h .zonos--error-banner.sc-zonos-checkout-payment{margin-bottom:16px}.sc-zonos-checkout-payment-h zonos-button.sc-zonos-checkout-payment{-webkit-box-shadow:0 0 1px 0 var(--zonos-elements-gray-600);box-shadow:0 0 1px 0 var(--zonos-elements-gray-600)}.sc-zonos-checkout-payment-h zonos-button.sc-zonos-checkout-payment{-webkit-box-shadow:0 0 1px 0 var(--zonos-elements-gray-600);box-shadow:0 0 1px 0 var(--zonos-elements-gray-600)}.sc-zonos-checkout-payment-h .zonos--group-btn.sc-zonos-checkout-payment{position:-webkit-sticky;position:sticky;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;bottom:0;margin-top:12px;background:var(--primary-color, var(--zonos-elements-gray-0))}.sc-zonos-checkout-payment-h .zonos--group-btn.sc-zonos-checkout-payment zonos-button.sc-zonos-checkout-payment{width:100%}.sc-zonos-checkout-payment-h .zonos--test-cards.sc-zonos-checkout-payment{margin-top:auto;padding-top:16px}";
439
+ const zonosCheckoutPaymentCss = ".sc-zonos-checkout-payment-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-payment-h *.sc-zonos-checkout-payment{font-family:var(--font-family, Inter), Inter}.sc-zonos-checkout-payment-h img.sc-zonos-checkout-payment{max-width:100%}.sc-zonos-checkout-payment-h dl.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h dd.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h1.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h2.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h3.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h4.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h5.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h h6.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h hr.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h figure.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h p.sc-zonos-checkout-payment,.sc-zonos-checkout-payment-h pre.sc-zonos-checkout-payment{margin:0}.sc-zonos-checkout-payment-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-payment-h{overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1;flex:1}.sc-zonos-checkout-payment-h .zonos--title.sc-zonos-checkout-payment{margin-bottom:24px}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment{margin-bottom:20px;overflow:auto;padding:5px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1;flex:1;-ms-scroll-chaining:none;overscroll-behavior:contain}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment::-webkit-scrollbar{width:10px}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-payment-h .zonos--group.sc-zonos-checkout-payment::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-payment-h .zonos--payment-error-banner.sc-zonos-checkout-payment{margin-bottom:8px}.sc-zonos-checkout-payment-h .zonos--error-banner.sc-zonos-checkout-payment{margin-bottom:16px}.sc-zonos-checkout-payment-h zonos-button.sc-zonos-checkout-payment{-webkit-box-shadow:0 0 1px 0 var(--zonos-elements-gray-600);box-shadow:0 0 1px 0 var(--zonos-elements-gray-600)}.sc-zonos-checkout-payment-h zonos-button.sc-zonos-checkout-payment{-webkit-box-shadow:0 0 1px 0 var(--zonos-elements-gray-600);box-shadow:0 0 1px 0 var(--zonos-elements-gray-600)}.sc-zonos-checkout-payment-h .zonos--group-btn.sc-zonos-checkout-payment{position:-webkit-sticky;position:sticky;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-direction:column;flex-direction:column;gap:12px;bottom:0;padding-top:12px;background:var(--primary-color, var(--zonos-elements-gray-0))}.sc-zonos-checkout-payment-h .zonos--group-btn.sc-zonos-checkout-payment zonos-text.sc-zonos-checkout-payment{text-align:center}.sc-zonos-checkout-payment-h .zonos--group-btn.sc-zonos-checkout-payment zonos-button.sc-zonos-checkout-payment{width:100%}.sc-zonos-checkout-payment-h .zonos--test-cards.sc-zonos-checkout-payment{margin-top:auto;padding-top:16px}";
409
440
  const ZonosCheckoutPaymentStyle0 = zonosCheckoutPaymentCss;
410
441
 
411
442
  const ZonosCheckoutPayment = class {
412
443
  constructor(hostRef) {
413
444
  registerInstance(this, hostRef);
414
445
  this.continueClicked = createEvent(this, "continueClicked", 7);
446
+ this.paypalSessionFailed = createEvent(this, "paypalSessionFailed", 7);
447
+ this.paypalSessionDone = createEvent(this, "paypalSessionDone", 7);
415
448
  this.handleValidate = () => {
416
449
  var _a;
417
450
  return !!((_a = stripeStore.stripePaymentEventData) === null || _a === void 0 ? void 0 : _a.complete);
@@ -424,9 +457,9 @@ const ZonosCheckoutPayment = class {
424
457
  this.showErrorBanner = true;
425
458
  return;
426
459
  }
427
- this.continueClicked.emit();
428
460
  // submit google tag when the form is complete
429
461
  submitGtag('zonos-checkout-payment-info');
462
+ this.continueClicked.emit();
430
463
  };
431
464
  this.copyCardToClipboard = (cardNumber) => {
432
465
  void navigator.clipboard.writeText(cardNumber);
@@ -436,7 +469,6 @@ const ZonosCheckoutPayment = class {
436
469
  type: 'success',
437
470
  });
438
471
  };
439
- this.paymentError = false;
440
472
  this.submitBtnType = undefined;
441
473
  this.continueLoading = false;
442
474
  this.submitBtnColor = undefined;
@@ -451,22 +483,28 @@ const ZonosCheckoutPayment = class {
451
483
  this.showErrorBanner = !this.handleValidate();
452
484
  }
453
485
  const isTestMode = getIsTestMode();
454
- return (h(Host, { class: "zonos--checkout-payment zonos--elements" }, h("div", { class: "zonos--group" }, h("zonos-text", { class: "zonos--title", type: "semiBoldSubheader" }, translate('Payment method')), this.showErrorBanner && (h("zonos-banner", { class: "zonos--error-banner", intent: "error" }, translate('Missing required fields. Make sure all fields are completed.'))), this.paymentError && (h("zonos-banner", { class: "zonos--payment-error-banner", intent: "error" }, translate("We couldn't complete your payment. Please verify the payment details and try again."))), h("zonos-payment", null), h("div", { class: "zonos--group-btn" }, h("zonos-button", { backgroundColor: this.submitBtnColor, loading: this.continueLoading, onClick: () => this.continueClickHandler(), size: "lg",
486
+ const hasPaypalEnabled = paypalStoreHasPaypalEnabled();
487
+ return (h(Host, { class: "zonos--checkout-payment zonos--elements" }, h("div", { class: "zonos--group" }, h("zonos-text", { class: "zonos--title", type: "semiBoldSubheader" }, translate('Payment method')), this.showErrorBanner && (h("zonos-banner", { class: "zonos--error-banner", intent: "error" }, translate('Missing required fields. Make sure all fields are completed.'))), stripeStore.hasPaymentError && (h("zonos-banner", { class: "zonos--payment-error-banner", intent: "error" }, translate("We couldn't complete your payment. Please verify the payment details and try again."))), paypalStore.paypalErrorMessage && (h("zonos-banner", { class: "zonos--payment-error-banner", intent: "error" }, paypalStore.paypalErrorMessage)), h("zonos-payment", null), h("div", { class: "zonos--group-btn" }, h("zonos-button", { backgroundColor: this.submitBtnColor, loading: this.continueLoading, onClick: () => this.continueClickHandler(), size: "lg",
455
488
  // use primary type when on mobile mode
456
489
  variant: this.submitBtnType }, translate('Pay [orderTotal]', {
457
490
  orderTotal: currencyFormat({
458
491
  amount: cartStore.total,
459
492
  currency: cartStore.currency,
460
493
  }),
461
- }))), isTestMode && (h("zonos-card", { backgroundColor: "gray-100", borderRadius: 12, class: "zonos--test-cards" }, h("zonos-v-stack", { spacing: 16 }, h("div", null, h("zonos-text", { type: "semiBoldLabel" }, translate('Test cards')), h("zonos-text", { textColor: "gray-700" }, translate('Click to copy the card number. Use any future expiration date and three number CVC.'))), h("zonos-button", { icon: h("zonos-icon", { content: CheckmarkLineIcon }), justifyContent: "flex-start", onClick: () => this.copyCardToClipboard('4242424242424242') }, translate('Success'), " (****4242)"), h("zonos-button", { icon: h("zonos-icon", { content: RemoveLineIcon }), justifyContent: "flex-start", onClick: () => this.copyCardToClipboard('4000000000000002') }, translate('Failure'), " (****0002)")), h("zonos-notification", null))))));
494
+ })), hasPaypalEnabled && (h("zonos-text", { type: "smallHeader" }, translate('or'))), h("zonos-paypal-payment", { onPaypalSessionDone: ({ detail: { orderId } }) => {
495
+ this.paypalSessionDone.emit(orderId);
496
+ }, onPaypalSessionFail: () => this.paypalSessionFailed.emit() })), isTestMode && (h("zonos-card", { backgroundColor: "gray-100", borderRadius: 12, class: "zonos--test-cards" }, h("zonos-v-stack", { spacing: 16 }, h("div", null, h("zonos-text", { type: "semiBoldLabel" }, translate('Test cards')), h("zonos-text", { textColor: "gray-700" }, translate('Click to copy the card number. Use any future expiration date and three number CVC.'))), h("zonos-button", { icon: h("zonos-icon", { content: CheckmarkLineIcon }), justifyContent: "flex-start", onClick: () => this.copyCardToClipboard('4242424242424242') }, translate('Success'), " (****4242)"), h("zonos-button", { icon: h("zonos-icon", { content: RemoveLineIcon }), justifyContent: "flex-start", onClick: () => this.copyCardToClipboard('4000000000000002') }, translate('Failure'), " (****0002)")), h("zonos-notification", null))))));
462
497
  }
463
498
  };
464
499
  ZonosCheckoutPayment.style = ZonosCheckoutPaymentStyle0;
465
500
 
466
501
  const getContrastColor = ({ backgroundColor, color, }) => {
467
502
  // get readibility of the color
468
- const colorReadibilityValue = tinycolor.readability(color, backgroundColor);
469
- if (colorReadibilityValue > 2.5) {
503
+ const isContrastEnough = isContrastColor({
504
+ backgroundColor1: backgroundColor,
505
+ backgroundColor2: color,
506
+ });
507
+ if (isContrastEnough) {
470
508
  // no need to change the color if it's already contrast enough
471
509
  return color;
472
510
  }
@@ -666,7 +704,7 @@ const ZonosConfirmDialog = class {
666
704
  };
667
705
  ZonosConfirmDialog.style = ZonosConfirmDialogStyle0;
668
706
 
669
- const zonosCustomerInfoCss = ".sc-zonos-customer-info-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-customer-info-h *.sc-zonos-customer-info{font-family:var(--font-family, Inter), Inter}.sc-zonos-customer-info-h img.sc-zonos-customer-info{max-width:100%}.sc-zonos-customer-info-h dl.sc-zonos-customer-info,.sc-zonos-customer-info-h dd.sc-zonos-customer-info,.sc-zonos-customer-info-h h1.sc-zonos-customer-info,.sc-zonos-customer-info-h h2.sc-zonos-customer-info,.sc-zonos-customer-info-h h3.sc-zonos-customer-info,.sc-zonos-customer-info-h h4.sc-zonos-customer-info,.sc-zonos-customer-info-h h5.sc-zonos-customer-info,.sc-zonos-customer-info-h h6.sc-zonos-customer-info,.sc-zonos-customer-info-h hr.sc-zonos-customer-info,.sc-zonos-customer-info-h figure.sc-zonos-customer-info,.sc-zonos-customer-info-h p.sc-zonos-customer-info,.sc-zonos-customer-info-h pre.sc-zonos-customer-info{margin:0}.sc-zonos-customer-info-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-customer-info-h{overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-customer-info-h .zonos--title.sc-zonos-customer-info{margin-bottom:20px}.sc-zonos-customer-info-h .zonos--link-authentication.sc-zonos-customer-info{margin-bottom:32px}.sc-zonos-customer-info-h .zonos--address.sc-zonos-customer-info{margin-bottom:16px}.sc-zonos-customer-info-h .zonos--checkbox.sc-zonos-customer-info{margin-bottom:16px}.sc-zonos-customer-info-h .zonos--checkbox.sc-zonos-customer-info+.zonos--address.sc-zonos-customer-info{margin-bottom:0}.sc-zonos-customer-info-h zonos-button.sc-zonos-customer-info{-webkit-box-shadow:0 0 1px 0 var(--zonos-elements-gray-600);box-shadow:0 0 1px 0 var(--zonos-elements-gray-600)}.sc-zonos-customer-info-h .zonos--error-banner.sc-zonos-customer-info{margin-bottom:16px}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info{margin-bottom:20px;overflow:auto;padding:5px}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info::-webkit-scrollbar{width:10px}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-customer-info-h .zonos--group-btn.sc-zonos-customer-info{position:-webkit-sticky;position:sticky;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;bottom:-5px;padding-top:8px;margin-top:12px;background:var(--primary-color, var(--zonos-elements-gray-0))}.sc-zonos-customer-info-h .zonos--group-btn.sc-zonos-customer-info zonos-button.sc-zonos-customer-info{width:100%}";
707
+ const zonosCustomerInfoCss = ".sc-zonos-customer-info-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-customer-info-h *.sc-zonos-customer-info{font-family:var(--font-family, Inter), Inter}.sc-zonos-customer-info-h img.sc-zonos-customer-info{max-width:100%}.sc-zonos-customer-info-h dl.sc-zonos-customer-info,.sc-zonos-customer-info-h dd.sc-zonos-customer-info,.sc-zonos-customer-info-h h1.sc-zonos-customer-info,.sc-zonos-customer-info-h h2.sc-zonos-customer-info,.sc-zonos-customer-info-h h3.sc-zonos-customer-info,.sc-zonos-customer-info-h h4.sc-zonos-customer-info,.sc-zonos-customer-info-h h5.sc-zonos-customer-info,.sc-zonos-customer-info-h h6.sc-zonos-customer-info,.sc-zonos-customer-info-h hr.sc-zonos-customer-info,.sc-zonos-customer-info-h figure.sc-zonos-customer-info,.sc-zonos-customer-info-h p.sc-zonos-customer-info,.sc-zonos-customer-info-h pre.sc-zonos-customer-info{margin:0}.sc-zonos-customer-info-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-customer-info-h{overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-customer-info-h .zonos--title.sc-zonos-customer-info{margin-bottom:20px}.sc-zonos-customer-info-h .zonos--link-authentication.sc-zonos-customer-info{margin-bottom:32px}.sc-zonos-customer-info-h .zonos--address.sc-zonos-customer-info{margin-bottom:16px}.sc-zonos-customer-info-h .zonos--checkbox.sc-zonos-customer-info{margin-bottom:16px}.sc-zonos-customer-info-h .zonos--checkbox.sc-zonos-customer-info+.zonos--address.sc-zonos-customer-info{margin-bottom:0}.sc-zonos-customer-info-h zonos-button.sc-zonos-customer-info{-webkit-box-shadow:0 0 1px 0 var(--zonos-elements-gray-600);box-shadow:0 0 1px 0 var(--zonos-elements-gray-600)}.sc-zonos-customer-info-h .zonos--error-banner.sc-zonos-customer-info{margin-bottom:16px}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info{margin-bottom:20px;overflow:auto;padding:5px;-ms-scroll-chaining:none;overscroll-behavior:contain}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info::-webkit-scrollbar{width:10px}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-customer-info-h .zonos--group.sc-zonos-customer-info::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-customer-info-h .zonos--group-btn.sc-zonos-customer-info{position:-webkit-sticky;position:sticky;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;bottom:-5px;padding-top:8px;margin-top:12px;background:var(--primary-color, var(--zonos-elements-gray-0))}.sc-zonos-customer-info-h .zonos--group-btn.sc-zonos-customer-info zonos-button.sc-zonos-customer-info{width:100%}";
670
708
  const ZonosCustomerInfoStyle0 = zonosCustomerInfoCss;
671
709
 
672
710
  const ZonosCustomerInfo = class {
@@ -950,7 +988,7 @@ const sortServiceLevelOptions = (serviceLevels) => {
950
988
  return sortedServiceLevels;
951
989
  };
952
990
 
953
- 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:24px}.sc-zonos-shipping-h .zonos--shipping-method-title.sc-zonos-shipping{margin-bottom:16px}.sc-zonos-shipping-h .zonos-shipping-rich-radio.sc-zonos-shipping{margin-bottom:24px}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping{margin-bottom:20px;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(--zonos-elements-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--error-banner.sc-zonos-shipping{margin-bottom:16px}.sc-zonos-shipping-h zonos-button.sc-zonos-shipping{-webkit-box-shadow:0 0 1px 0 var(--zonos-elements-gray-600);box-shadow:0 0 1px 0 var(--zonos-elements-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:12px;background:var(--primary-color, var(--zonos-elements-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:24px}";
991
+ 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:24px}.sc-zonos-shipping-h .zonos--shipping-method-title.sc-zonos-shipping{margin-bottom:16px}.sc-zonos-shipping-h .zonos-shipping-rich-radio.sc-zonos-shipping{margin-bottom:24px}.sc-zonos-shipping-h .zonos--group.sc-zonos-shipping{margin-bottom:20px;overflow:auto;padding:5px;-ms-scroll-chaining:none;overscroll-behavior:contain}.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(--zonos-elements-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--error-banner.sc-zonos-shipping{margin-bottom:16px}.sc-zonos-shipping-h zonos-button.sc-zonos-shipping{-webkit-box-shadow:0 0 1px 0 var(--zonos-elements-gray-600);box-shadow:0 0 1px 0 var(--zonos-elements-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:12px;background:var(--primary-color, var(--zonos-elements-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:24px}";
954
992
  const ZonosShippingStyle0 = zonosShippingCss;
955
993
 
956
994
  const ZonosShipping = class {
@@ -1,12 +1,13 @@
1
- import { r as registerInstance, h, H as Host, F as Fragment } from './index-3b46f3c3.js';
2
- import { l as localizationStore, s as stripeStoreGetDomesticShippingSession, a as localizationStoreUpdateSelectedCountryCode, b as stripeStoreCleanupDomesticShippingSession, c as stripeStoreSaveDomesticShippingSession, i as initStripeElements, d as cartStore, e as cartStoreUpdateItems, f as cartStoreReset, g as cartStoreResetTabItems, h as stripeStore, j as stripeStoreInitCheckoutSession, k as cartStoreUpdateToErrorState, t as translate, m as stripeStorePrefetchLandedCost, n as cartStoreNextStep, o as stripeStoreConfirmPayment, p as stripeStoreReset, q as localizationStoreOnUpdate } from './cart-eb75b113.js';
3
- import { z as zonosStore, g as getZonosStoreTheme, m as mergeConfig } from './zonosStore-ba9e541e.js';
4
- import { c as createCustomEvent, s as sendErrorLog, a as submitGtag, t as trackConversionEvent, g as getIsTestMode } from './submitGtag-0bc0baa0.js';
1
+ import { r as registerInstance, h, H as Host, F as Fragment } from './index-5a37ccde.js';
2
+ import { l as localizationStore, s as stripeStoreGetDomesticShippingSession, a as localizationStoreUpdateSelectedCountryCode, b as stripeStoreCleanupDomesticShippingSession, c as stripeStoreSaveDomesticShippingSession, i as initStripeElements, d as cartStore, e as cartStoreUpdateItems, f as cartStoreReset, g as cartStoreResetTabItems, h as cartStoreClearCheckoutInterval, j as stripeStore, k as stripeStoreInitCheckoutSession, m as cartStoreStartCheckoutInterval, n as cartStoreUpdateToErrorState, t as translate, o as stripeStorePrefetchLandedCost, p as cartStoreNextStep, q as stripeStoreHandleInventoryCheck, r as stripeStoreConfirmPayment, u as stripeStoreReset, v as localizationStoreOnUpdate } from './cart-e9cd8286.js';
3
+ import { s as submitGtag, p as paypalInitScript } from './paypal-da2b3db1.js';
4
+ import { z as zonosStore, g as getZonosStoreTheme, m as mergeConfig } from './zonosStore-425abc1b.js';
5
+ import { c as createCustomEvent, s as sendErrorLog, t as trackConversionEvent, g as getIsTestMode } from './sendErrorLog-2fcf78a2.js';
5
6
  import { i as isCheckoutMobile } from './isCheckoutMobile-8846dccb.js';
6
7
  import { l as log, a as logError } from './logError-c456c092.js';
7
8
  import { c as classes } from './classes-0d95c529.js';
8
- import { g as getBorderRadius } from './getBorderRadius-947c24de.js';
9
- import { i as isDarkColor } from './isDarkColor-f8324c10.js';
9
+ import { g as getBorderRadius } from './getBorderRadius-3c75c4c1.js';
10
+ import { i as isDarkColor } from './isDarkColor-3eb31a6d.js';
10
11
  import { R as RemoveIcon } from './RemoveIcon-9dc5dd1a.js';
11
12
 
12
13
  /**
@@ -284,7 +285,7 @@ const MessageIcon = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none"
284
285
  </svg>
285
286
  `;
286
287
 
287
- 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}";
288
+ 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}";
288
289
  const ZonosCheckoutStyle0 = zonosCheckoutCss;
289
290
 
290
291
  // 90 minutes
@@ -327,7 +328,6 @@ const ZonosCheckout = class {
327
328
  this.open = this.forceDialogOpen;
328
329
  this.stripe = window.Zonos.stripe;
329
330
  this.submitLoading = false;
330
- this.paymentError = false;
331
331
  this.collapseReviewMobile = true;
332
332
  this.isAttachError = false;
333
333
  this.isMobile = false;
@@ -337,8 +337,6 @@ const ZonosCheckout = class {
337
337
  this.legacyCheckoutHiddenBtnSelector = '#legacy-checkout-hidden-button';
338
338
  this.isLegacyCheckout = false;
339
339
  this.confirmDialogOpen = false;
340
- this.showSessionTimoutScreen = false;
341
- this.checkoutTimeoutInterval = null;
342
340
  this.inventoryCheckErrorMessage = null;
343
341
  }
344
342
  /**
@@ -380,7 +378,7 @@ const ZonosCheckout = class {
380
378
  // reset the tab item, so that user needs to click on Continue button to re-quote the landed cost if needed.
381
379
  cartStoreResetTabItems();
382
380
  // clear the checkout session timeout timer when checkout dialog close action is triggered
383
- this.clearCheckoutTimeoutInterval();
381
+ cartStoreClearCheckoutInterval();
384
382
  /**
385
383
  * Trigger callback when the checkout is closed
386
384
  */
@@ -413,30 +411,6 @@ const ZonosCheckout = class {
413
411
  await this.applyStripeTheme();
414
412
  return true;
415
413
  }
416
- clearCheckoutTimeoutInterval() {
417
- if (this.checkoutTimeoutInterval) {
418
- clearTimeout(this.checkoutTimeoutInterval);
419
- this.checkoutTimeoutInterval = null;
420
- }
421
- }
422
- startCheckoutTimeoutInterval() {
423
- // do nothing if in preview mode
424
- if (this.preview) {
425
- return;
426
- }
427
- const timeoutQuery = new URLSearchParams(window.location.search).get('zonosCheckoutTimeout');
428
- const timeout =
429
- // timeout query is mainly for testing purpose
430
- timeoutQuery && !isNaN(parseInt(timeoutQuery, 10))
431
- ? parseInt(timeoutQuery, 10)
432
- : CHECKOUT_SESSION_TIMEOUT;
433
- log(`==START CHECKOUT TIMEOUT - ${timeout}==`);
434
- // start a timer to validate the price
435
- this.checkoutTimeoutInterval = setTimeout(() => {
436
- // Show session timeout alert
437
- this.showSessionTimoutScreen = true;
438
- }, timeout);
439
- }
440
414
  reloadCheckoutSession() {
441
415
  window.location.reload();
442
416
  }
@@ -477,7 +451,10 @@ const ZonosCheckout = class {
477
451
  throw new Error('Error building cart');
478
452
  }
479
453
  // start the timer to validate the price
480
- this.startCheckoutTimeoutInterval();
454
+ cartStoreStartCheckoutInterval({
455
+ isPreview: this.preview,
456
+ sessionTimeout: CHECKOUT_SESSION_TIMEOUT,
457
+ });
481
458
  submitGtag('zonos-checkout-start');
482
459
  void trackConversionEvent('checkout_open');
483
460
  }
@@ -644,6 +621,10 @@ const ZonosCheckout = class {
644
621
  const interval = setInterval(() => {
645
622
  if (cartStore.landedCostData || !stripeStore.isFetchingLandedCost) {
646
623
  if (cartStore.landedCostData) {
624
+ // start init paypal with the presentment currency when landed cost is fetched
625
+ void paypalInitScript({
626
+ currency: cartStore.currency,
627
+ });
647
628
  // only go to next step if landed cost data is ready
648
629
  cartStoreNextStep();
649
630
  }
@@ -662,41 +643,31 @@ const ZonosCheckout = class {
662
643
  }
663
644
  handleInventoryCheckDialogCancel() {
664
645
  // reset inventory check message to close the inventory check alert
665
- this.inventoryCheckErrorMessage = null;
646
+ cartStore.inventoryCheckErrorMessage = null;
666
647
  }
667
648
  handleInventoryCheckDialogConfirm() {
668
649
  // reset inventory check message to close the inventory check alert
669
- this.inventoryCheckErrorMessage = null;
650
+ cartStore.inventoryCheckErrorMessage = null;
670
651
  // close the dialog
671
652
  void this.closeDialogHandler({ confirmed: true });
672
653
  }
673
- /**
674
- * Handle inventory check and returns error message if the callback provided.
675
- */
676
- async handleInventoryCheck() {
677
- const { onInventoryCheck } = zonosStore.checkoutSettings;
678
- if (typeof onInventoryCheck !== 'function') {
679
- return null;
680
- }
681
- const message = await onInventoryCheck({ items: cartStore.items });
682
- return message;
683
- }
684
- async handleCheckoutPaymentContinue() {
654
+ async handleStripePaymentContinue() {
685
655
  // reset error state
686
- this.paymentError = false;
656
+ stripeStore.hasPaymentError = false;
687
657
  this.submitLoading = true;
688
658
  // reset inventory check message
689
- this.inventoryCheckErrorMessage = null;
659
+ cartStore.inventoryCheckErrorMessage = null;
690
660
  try {
691
661
  // check inventory before proceeding to payment
692
- this.inventoryCheckErrorMessage = await this.handleInventoryCheck();
662
+ cartStore.inventoryCheckErrorMessage =
663
+ await stripeStoreHandleInventoryCheck();
693
664
  }
694
665
  catch (err) {
695
666
  // If user provide callback and it throw an exception, default to this message and stop the payment.
696
- this.inventoryCheckErrorMessage = translate('Unable to check inventory. Please try again.');
667
+ cartStore.inventoryCheckErrorMessage = translate('Unable to check inventory. Please try again.');
697
668
  }
698
669
  // Don't proceed to payment if there's an error message
699
- if (this.inventoryCheckErrorMessage) {
670
+ if (cartStore.inventoryCheckErrorMessage) {
700
671
  // stop the submit loading state
701
672
  this.submitLoading = false;
702
673
  return;
@@ -705,11 +676,11 @@ const ZonosCheckout = class {
705
676
  await stripeStoreConfirmPayment();
706
677
  cartStoreNextStep();
707
678
  // clear the checkout session timeout timer when purchase is complete
708
- this.clearCheckoutTimeoutInterval();
679
+ cartStoreClearCheckoutInterval();
709
680
  }
710
681
  catch (err) {
711
682
  logError(err);
712
- this.paymentError = true;
683
+ stripeStore.hasPaymentError = true;
713
684
  }
714
685
  this.submitLoading = false;
715
686
  }
@@ -825,14 +796,16 @@ const ZonosCheckout = class {
825
796
  this.isMobile ? '--zonos-elements-gray-0' : null }), filteredMessages.map(x => (h("zonos-custom-message", { icon: MessageIcon, message: x.message })))));
826
797
  };
827
798
  const renderContent = () => {
828
- if (this.showSessionTimoutScreen) {
799
+ if (cartStore.checkoutSessionTimeoutShow) {
829
800
  return (h("zonos-rest-state", { class: "zonos--session-timeout", restStateSubtitle: translate('Your checkout session has expired. Please reload the page to continue.'), restStateTitle: translate('Session timed out'), restStateType: 'Warning' }, h("zonos-button", { onClick: () => this.reloadCheckoutSession(), variant: "primary" }, translate('Reload'))));
830
801
  }
831
802
  return (h("div", { class: 'zonos--content', style: {
832
803
  '--border-radius': getBorderRadius({ overrideBorderStyle: style }),
833
804
  } }, cartStore.step !== 'finish' && cartStore.step !== 'error' && (h(Fragment, null, h("div", { class: "zonos--left", "data-theme": leftSideTheme, style: {
834
805
  '--primary-color': !this.isMobile ? colorPrimary : '',
835
- } }, !this.isMobile && renderTopHeader(), cartStore.step === 'customer-info' && (h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, isMobile: this.isMobile, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'shipping' && (h("zonos-shipping", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'payment' && (h("zonos-checkout-payment", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleCheckoutPaymentContinue(), paymentError: this.paymentError, submitBtnColor: submitButtonColor }))), h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), !this.isLegacyCheckout && (h("zonos-button", { class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close checkout dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.closeDialogHandler() })), h("div", { class: "flex--wrapper" }, h("div", { class: "zonos--wrapper" }, h("zonos-review", { collapsed: this.collapseReviewMobile, mobile: this.isMobile, onClick: () => {
806
+ } }, !this.isMobile && renderTopHeader(), cartStore.step === 'customer-info' && (h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, isMobile: this.isMobile, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'shipping' && (h("zonos-shipping", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'payment' && (h("zonos-checkout-payment", { continueLoading: this.submitLoading, onContinueClicked: async () => {
807
+ await this.handleStripePaymentContinue();
808
+ }, submitBtnColor: submitButtonColor }))), h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), !this.isLegacyCheckout && (h("zonos-button", { class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close checkout dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.closeDialogHandler() })), h("div", { class: "flex--wrapper" }, h("div", { class: "zonos--wrapper" }, h("zonos-review", { collapsed: this.collapseReviewMobile, mobile: this.isMobile, onClick: () => {
836
809
  // do nothing if it's not mobile
837
810
  if (!this.isMobile) {
838
811
  return;
@@ -861,9 +834,9 @@ const ZonosCheckout = class {
861
834
  // Mark user selected confirm to close the dialog
862
835
  onConfirmClicked: () => this.closeDialogHandler({ confirmed: true }) }), h("zonos-confirm-dialog", { class: "zonos--inventory-check-failure-dialog", dialogConfirmBtnText: translate('Return to cart'), dialogIntent: "danger",
863
836
  // Show dialog if inventory check error message is not null
864
- dialogOpen: !!this.inventoryCheckErrorMessage,
837
+ dialogOpen: !!cartStore.inventoryCheckErrorMessage,
865
838
  // If diallog is in open state, the message should not be null
866
- dialogSubtitle: this.inventoryCheckErrorMessage, dialogTitle: translate("Couldn't place order"), dialogType: "alert", onCancelClicked: () => {
839
+ dialogSubtitle: cartStore.inventoryCheckErrorMessage, dialogTitle: translate("Couldn't place order"), dialogType: "alert", onCancelClicked: () => {
867
840
  this.handleInventoryCheckDialogCancel();
868
841
  },
869
842
  // Mark user selected confirm to close the dialog
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-3b46f3c3.js';
1
+ import { r as registerInstance, h } from './index-5a37ccde.js';
2
2
 
3
3
  function format(first, middle, last) {
4
4
  return ((first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : ''));
@@ -1,18 +1,18 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-3b46f3c3.js';
2
- import { r as handleFetch, u as isValidSelector, h as stripeStore, v as initLocalizationStore, d as cartStore, a as localizationStoreUpdateSelectedCountryCode } from './cart-eb75b113.js';
3
- import { z as zonosStore, b as zonosStoreInitSetting, d as zonosStoreFontFamily } from './zonosStore-ba9e541e.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-5a37ccde.js';
2
+ import { w as handleFetch, y as isValidSelector, j as stripeStore, z as initLocalizationStore, d as cartStore, a as localizationStoreUpdateSelectedCountryCode } from './cart-e9cd8286.js';
3
+ import { z as zonosStore, b as zonosStoreInitSetting, d as zonosStoreFontFamily } from './zonosStore-425abc1b.js';
4
4
  import { a as logError, l as log } from './logError-c456c092.js';
5
- import './isDarkColor-f8324c10.js';
6
- import './getBorderRadius-947c24de.js';
5
+ import './isDarkColor-3eb31a6d.js';
6
+ import './getBorderRadius-3c75c4c1.js';
7
7
 
8
8
  const getZonosSettings = async () => {
9
9
  const url = `${"https://v1.route.js.zonos.com"}/api/zonos-elements/zonos-settings`;
10
- const { errors, json } = await handleFetch(url);
10
+ const { errors, json, zonosMode } = await handleFetch(url);
11
11
  if (errors.length) {
12
12
  logError(`Error occurred when getting zonos settings. If this is not an unauthorized error, it will use user settings or default settings`);
13
- return { errors, json: null };
13
+ return { errors, json: null, zonosMode };
14
14
  }
15
- return { errors: [], json };
15
+ return { errors: [], json, zonosMode };
16
16
  };
17
17
 
18
18
  const injectCheckoutElement = () => {
@@ -122,6 +122,7 @@ const ZonosControllerStyle0 = zonosControllerCss;
122
122
  const ZonosController = class {
123
123
  constructor(hostRef) {
124
124
  registerInstance(this, hostRef);
125
+ this.paypalInitEvent = createEvent(this, "paypalInitEvent", 7);
125
126
  this.stripeInitEvent = createEvent(this, "stripeInitEvent", 7);
126
127
  this.config = undefined;
127
128
  this.zonosApiKey = undefined;
@@ -206,22 +207,22 @@ const ZonosController = class {
206
207
  // running with scope async function to avoid blocking the main thread
207
208
  (async () => {
208
209
  var _a, _b;
209
- const { errors, json } = await getZonosSettings();
210
+ const { errors, json, zonosMode } = await getZonosSettings();
210
211
  if (((_a = errors[0]) === null || _a === void 0 ? void 0 : _a.type.toString()) === '403') {
211
212
  log('Failed to load zonos settings. This domain may not have access', 'warn');
212
213
  return;
213
214
  }
214
215
  // init zonos notification
215
216
  this.initZonosNotification();
216
- const config = Object.assign(Object.assign({}, this.config), {
217
- // override subscription status
218
- subscriptionStatus: undefined
219
- });
217
+ // override subscription status
218
+ const config = Object.assign(Object.assign({}, this.config), { checkoutSettings: this.config.checkoutSettings
219
+ ? Object.assign(Object.assign({}, this.config.checkoutSettings), { subscriptionStatus: undefined }) : undefined });
220
220
  // load default setting if fail to load user setting
221
221
  zonosStoreInitSetting({
222
222
  overrideSettings: config,
223
223
  zonosSettings: json,
224
224
  });
225
+ zonosStore.zonosMode = zonosMode;
225
226
  // setup google font after store loaded
226
227
  void this.setupGoogleFont();
227
228
  if (zonosStore.helloSettings) {
@@ -249,7 +250,6 @@ const ZonosController = class {
249
250
  this.stripeInitEvent.emit({
250
251
  publishableKey: publishableKey.token,
251
252
  });
252
- log('zonos controller loaded');
253
253
  })();
254
254
  }
255
255
  /**
@@ -300,7 +300,7 @@ const ZonosController = class {
300
300
  zonosStore.organizationName = organizationName;
301
301
  }
302
302
  render() {
303
- return h(Host, { key: '209a2ea0249b9561b5ca1f84f7d31b1520ef49fe', class: "zonos--elements" });
303
+ return h(Host, { key: '4d1ae97e6273df35aeab31462394a189c17090b6', class: "zonos--elements" });
304
304
  }
305
305
  };
306
306
  ZonosController.style = ZonosControllerStyle0;