@zonos/elements 1.3.272 → 1.3.274

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 (347) hide show
  1. package/dist/cjs/{cart-f1374a56.js → cart-660e115c.js} +32 -2
  2. package/dist/cjs/collect-286a9d04.js +3107 -0
  3. package/dist/cjs/{hasInclusivePrice-2f1232e3.js → hasInclusivePrice-b35e81aa.js} +1 -1
  4. package/dist/cjs/index.cjs.js +7 -7
  5. package/dist/cjs/{invoice-3760bec0.js → invoice-f032089f.js} +2 -2
  6. package/dist/cjs/isCollectMobileTablet-884d4280.js +15 -0
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{localization-503c8477.js → localization-f4a64f6f.js} +120 -0
  9. package/dist/cjs/{paypal-5e9b8224.js → paypal-125259ab.js} +2 -2
  10. package/dist/cjs/{placeTestOrder-d1be2c8e.js → placeTestOrder-02001a99.js} +2 -2
  11. package/dist/cjs/{renderCheckoutCurrency-4486b06e.js → renderCheckoutCurrency-cad156a7.js} +2 -2
  12. package/dist/cjs/zonos-address-display_8.cjs.entry.js +18 -18
  13. package/dist/cjs/zonos-address_4.cjs.entry.js +8 -8
  14. package/dist/cjs/zonos-airwallex-payment.cjs.entry.js +170 -0
  15. package/dist/cjs/zonos-badge.cjs.entry.js +3 -3
  16. package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
  17. package/dist/cjs/zonos-card_5.cjs.entry.js +9 -9
  18. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +19 -19
  19. package/dist/cjs/zonos-checkbox_2.cjs.entry.js +5 -5
  20. package/dist/cjs/zonos-checkout.cjs.entry.js +3 -3
  21. package/dist/cjs/zonos-collapse.cjs.entry.js +2 -2
  22. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +6 -6
  23. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +150 -36
  24. package/dist/cjs/zonos-collect.cjs.entry.js +176 -38
  25. package/dist/cjs/zonos-component.cjs.entry.js +1 -1
  26. package/dist/cjs/zonos-controller.cjs.entry.js +3 -3
  27. package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
  28. package/dist/cjs/zonos-country-select_4.cjs.entry.js +10 -10
  29. package/dist/cjs/zonos-elements.cjs.js +1 -1
  30. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +6 -6
  31. package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
  32. package/dist/cjs/zonos-input.cjs.entry.js +4 -4
  33. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +8 -8
  34. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +14 -14
  35. package/dist/cjs/zonos-invoice.cjs.entry.js +4 -4
  36. package/dist/cjs/zonos-language-select_2.cjs.entry.js +5 -5
  37. package/dist/cjs/zonos-link.cjs.entry.js +1 -1
  38. package/dist/cjs/zonos-logo.cjs.entry.js +2 -2
  39. package/dist/cjs/zonos-policy-consent_2.cjs.entry.js +3 -3
  40. package/dist/cjs/zonos-stripe-input.cjs.entry.js +4 -4
  41. package/dist/cjs/zonos-tooltip.cjs.entry.js +2 -2
  42. package/dist/cjs/zonos-v-stack.cjs.entry.js +2 -2
  43. package/dist/collection/collection-manifest.json +1 -0
  44. package/dist/collection/components/airwallex/zonos-airwallex-payment/zonos-airwallex-payment.css +43 -0
  45. package/dist/collection/components/airwallex/zonos-airwallex-payment/zonos-airwallex-payment.js +215 -0
  46. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-form/zonos-address-form.js +4 -4
  47. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +1 -1
  48. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +4 -4
  49. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.js +2 -2
  50. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +1 -1
  51. package/dist/collection/components/checkout/zonos-collect/zonos-collect-cart-items/zonos-collect-cart-items.js +1 -1
  52. package/dist/collection/components/checkout/zonos-collect/zonos-collect-finish/zonos-collect-finish.js +110 -2
  53. package/dist/collection/components/checkout/zonos-collect/zonos-collect-footer/zonos-collect-footer.js +3 -3
  54. package/dist/collection/components/checkout/zonos-collect/zonos-collect-order-details/zonos-collect-order-details.js +1 -1
  55. package/dist/collection/components/checkout/zonos-collect/zonos-collect-payment/zonos-collect-payment.css +1 -17
  56. package/dist/collection/components/checkout/zonos-collect/zonos-collect-payment/zonos-collect-payment.js +21 -0
  57. package/dist/collection/components/checkout/zonos-collect/zonos-collect-review/zonos-collect-review.js +3 -3
  58. package/dist/collection/components/checkout/zonos-collect/zonos-collect-subtotal/zonos-collect-subtotal.js +5 -5
  59. package/dist/collection/components/checkout/zonos-collect/zonos-collect.js +167 -29
  60. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-cart-items/zonos-invoice-cart-items.js +2 -2
  61. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-finish/zonos-invoice-finish.js +2 -2
  62. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-footer/zonos-invoice-footer.js +3 -3
  63. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-review/zonos-invoice-review.js +3 -3
  64. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-subtotal/zonos-invoice-subtotal.js +2 -2
  65. package/dist/collection/components/common/zonos-badge/zonos-badge.js +3 -3
  66. package/dist/collection/components/common/zonos-button/zonos-button.js +3 -3
  67. package/dist/collection/components/common/zonos-card/zonos-card.js +4 -4
  68. package/dist/collection/components/common/zonos-checkbox/zonos-checkbox.js +3 -3
  69. package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.js +3 -3
  70. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +2 -2
  71. package/dist/collection/components/common/zonos-confirm-dialog/zonos-confirm-dialog.js +3 -3
  72. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +3 -3
  73. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +2 -2
  74. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +3 -3
  75. package/dist/collection/components/common/zonos-h-stack/zonos-h-stack.js +2 -2
  76. package/dist/collection/components/common/zonos-input/zonos-input.js +4 -4
  77. package/dist/collection/components/common/zonos-language-select/zonos-language-select.js +2 -2
  78. package/dist/collection/components/common/zonos-link/zonos-link.js +1 -1
  79. package/dist/collection/components/common/zonos-loading-overlay/zonos-loading-overlay.js +1 -1
  80. package/dist/collection/components/common/zonos-logo/zonos-logo.js +2 -2
  81. package/dist/collection/components/common/zonos-rest-state/zonos-rest-state.js +3 -3
  82. package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.js +2 -2
  83. package/dist/collection/components/common/zonos-skeleton/zonos-skeleton.js +1 -1
  84. package/dist/collection/components/common/zonos-stripe-input/zonos-stripe-input.js +4 -4
  85. package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js +5 -5
  86. package/dist/collection/components/common/zonos-toggle/zonos-toggle.js +2 -2
  87. package/dist/collection/components/common/zonos-tooltip/zonos-tooltip.js +2 -2
  88. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +2 -2
  89. package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.js +2 -2
  90. package/dist/collection/components/component-template/zonos-component/zonos-component.js +1 -1
  91. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +2 -2
  92. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +4 -4
  93. package/dist/collection/components/main/zonos-controller.js +1 -1
  94. package/dist/collection/components/paypal/zonos-paypal-payment.js +1 -1
  95. package/dist/collection/components/store/checkout/airwallex.js +195 -0
  96. package/dist/collection/components/store/checkout/collect.js +4 -1
  97. package/dist/collection/components/store/checkout/stripe.js +26 -1
  98. package/dist/collection/components/store/translationStore/strings.arabic.js +6 -0
  99. package/dist/collection/components/store/translationStore/strings.base.js +6 -0
  100. package/dist/collection/components/store/translationStore/strings.chinese.js +6 -0
  101. package/dist/collection/components/store/translationStore/strings.danish.js +6 -0
  102. package/dist/collection/components/store/translationStore/strings.dutch.js +6 -0
  103. package/dist/collection/components/store/translationStore/strings.french.js +6 -0
  104. package/dist/collection/components/store/translationStore/strings.german.js +6 -0
  105. package/dist/collection/components/store/translationStore/strings.hebrew.js +6 -0
  106. package/dist/collection/components/store/translationStore/strings.indonesian.js +6 -0
  107. package/dist/collection/components/store/translationStore/strings.italian.js +6 -0
  108. package/dist/collection/components/store/translationStore/strings.japanese.js +6 -0
  109. package/dist/collection/components/store/translationStore/strings.korean.js +6 -0
  110. package/dist/collection/components/store/translationStore/strings.norwegian.js +6 -0
  111. package/dist/collection/components/store/translationStore/strings.polish.js +6 -0
  112. package/dist/collection/components/store/translationStore/strings.portuguese.js +6 -0
  113. package/dist/collection/components/store/translationStore/strings.russian.js +6 -0
  114. package/dist/collection/components/store/translationStore/strings.spanish.js +6 -0
  115. package/dist/collection/components/store/translationStore/strings.swedish.js +6 -0
  116. package/dist/collection/components/store/translationStore/strings.turkish.js +6 -0
  117. package/dist/collection/components/store/translationStore/strings.vietnamese.js +6 -0
  118. package/dist/collection/components/stripe/zonos-address/zonos-address.js +2 -2
  119. package/dist/collection/components/stripe/zonos-custom-address/zonos-address-suggestions/zonos-address-suggestions.js +2 -2
  120. package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +2 -2
  121. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +1 -1
  122. package/dist/collection/types/generated/graphql.internal.types.js +3 -0
  123. package/dist/esm/{cart-1415dcf0.js → cart-23e29950.js} +32 -2
  124. package/dist/esm/collect-a235299d.js +3092 -0
  125. package/dist/esm/{hasInclusivePrice-a3b0f71c.js → hasInclusivePrice-5e106f84.js} +1 -1
  126. package/dist/esm/index.js +7 -7
  127. package/dist/esm/{invoice-117efa2c.js → invoice-78f069c7.js} +2 -2
  128. package/dist/esm/isCollectMobileTablet-111b0dd7.js +12 -0
  129. package/dist/esm/loader.js +1 -1
  130. package/dist/esm/{localization-29723d89.js → localization-17546792.js} +120 -0
  131. package/dist/esm/{paypal-cb5559d4.js → paypal-5bc6b0d0.js} +2 -2
  132. package/dist/esm/{placeTestOrder-443376eb.js → placeTestOrder-e842854a.js} +2 -2
  133. package/dist/esm/{renderCheckoutCurrency-8390b5bf.js → renderCheckoutCurrency-e3953f67.js} +2 -2
  134. package/dist/esm/zonos-address-display_8.entry.js +18 -18
  135. package/dist/esm/zonos-address_4.entry.js +8 -8
  136. package/dist/esm/zonos-airwallex-payment.entry.js +166 -0
  137. package/dist/esm/zonos-badge.entry.js +3 -3
  138. package/dist/esm/zonos-button_3.entry.js +3 -3
  139. package/dist/esm/zonos-card_5.entry.js +9 -9
  140. package/dist/esm/zonos-cart-items_12.entry.js +19 -19
  141. package/dist/esm/zonos-checkbox_2.entry.js +5 -5
  142. package/dist/esm/zonos-checkout.entry.js +3 -3
  143. package/dist/esm/zonos-collapse.entry.js +2 -2
  144. package/dist/esm/zonos-collect-cart-items_3.entry.js +6 -6
  145. package/dist/esm/zonos-collect-finish_6.entry.js +135 -21
  146. package/dist/esm/zonos-collect.entry.js +171 -33
  147. package/dist/esm/zonos-component.entry.js +1 -1
  148. package/dist/esm/zonos-controller.entry.js +3 -3
  149. package/dist/esm/zonos-country-flag.entry.js +1 -1
  150. package/dist/esm/zonos-country-select_4.entry.js +10 -10
  151. package/dist/esm/zonos-elements.js +1 -1
  152. package/dist/esm/zonos-hello-dialog.entry.js +6 -6
  153. package/dist/esm/zonos-hello.entry.js +1 -1
  154. package/dist/esm/zonos-input.entry.js +4 -4
  155. package/dist/esm/zonos-invoice-cart-items_2.entry.js +8 -8
  156. package/dist/esm/zonos-invoice-finish_5.entry.js +14 -14
  157. package/dist/esm/zonos-invoice.entry.js +4 -4
  158. package/dist/esm/zonos-language-select_2.entry.js +5 -5
  159. package/dist/esm/zonos-link.entry.js +1 -1
  160. package/dist/esm/zonos-logo.entry.js +2 -2
  161. package/dist/esm/zonos-policy-consent_2.entry.js +3 -3
  162. package/dist/esm/zonos-stripe-input.entry.js +4 -4
  163. package/dist/esm/zonos-tooltip.entry.js +2 -2
  164. package/dist/esm/zonos-v-stack.entry.js +2 -2
  165. package/dist/esm-es5/cart-23e29950.js +1 -0
  166. package/dist/esm-es5/collect-a235299d.js +1 -0
  167. package/dist/esm-es5/{hasInclusivePrice-a3b0f71c.js → hasInclusivePrice-5e106f84.js} +1 -1
  168. package/dist/esm-es5/index.js +1 -1
  169. package/dist/esm-es5/{invoice-117efa2c.js → invoice-78f069c7.js} +1 -1
  170. package/dist/esm-es5/isCollectMobileTablet-111b0dd7.js +1 -0
  171. package/dist/esm-es5/loader.js +1 -1
  172. package/dist/esm-es5/localization-17546792.js +1 -0
  173. package/dist/esm-es5/{paypal-cb5559d4.js → paypal-5bc6b0d0.js} +1 -1
  174. package/dist/esm-es5/{placeTestOrder-443376eb.js → placeTestOrder-e842854a.js} +1 -1
  175. package/dist/esm-es5/{renderCheckoutCurrency-8390b5bf.js → renderCheckoutCurrency-e3953f67.js} +1 -1
  176. package/dist/esm-es5/zonos-address-display_8.entry.js +1 -1
  177. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  178. package/dist/esm-es5/zonos-airwallex-payment.entry.js +1 -0
  179. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  180. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  181. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  182. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  183. package/dist/esm-es5/zonos-checkbox_2.entry.js +1 -1
  184. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  185. package/dist/esm-es5/zonos-collapse.entry.js +1 -1
  186. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  187. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  188. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  189. package/dist/esm-es5/zonos-component.entry.js +1 -1
  190. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  191. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  192. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  193. package/dist/esm-es5/zonos-elements.js +1 -1
  194. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  195. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  196. package/dist/esm-es5/zonos-input.entry.js +1 -1
  197. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
  198. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  199. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  200. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  201. package/dist/esm-es5/zonos-link.entry.js +1 -1
  202. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  203. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -1
  204. package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
  205. package/dist/esm-es5/zonos-tooltip.entry.js +1 -1
  206. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  207. package/dist/generated/countryFieldLabels.json +1 -0
  208. package/dist/scripts/index.d.ts +61 -0
  209. package/dist/scripts/index.js +1 -1
  210. package/dist/scripts/loadZonos.js +1 -1
  211. package/dist/scripts/zonos.js +1 -1
  212. package/dist/types/components/airwallex/zonos-airwallex-payment/zonos-airwallex-payment.d.ts +46 -0
  213. package/dist/types/components/checkout/zonos-collect/zonos-collect-finish/zonos-collect-finish.d.ts +7 -0
  214. package/dist/types/components/checkout/zonos-collect/zonos-collect-payment/zonos-collect-payment.d.ts +4 -0
  215. package/dist/types/components/checkout/zonos-collect/zonos-collect.d.ts +29 -0
  216. package/dist/types/components/store/checkout/airwallex.d.ts +83 -0
  217. package/dist/types/components/store/checkout/collect.d.ts +12 -1
  218. package/dist/types/components/store/checkout/stripe.d.ts +1 -1
  219. package/dist/types/components/store/translationStore/strings.arabic.d.ts +6 -0
  220. package/dist/types/components/store/translationStore/strings.base.d.ts +6 -0
  221. package/dist/types/components/store/translationStore/strings.chinese.d.ts +6 -0
  222. package/dist/types/components/store/translationStore/strings.danish.d.ts +6 -0
  223. package/dist/types/components/store/translationStore/strings.dutch.d.ts +6 -0
  224. package/dist/types/components/store/translationStore/strings.french.d.ts +6 -0
  225. package/dist/types/components/store/translationStore/strings.german.d.ts +6 -0
  226. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +6 -0
  227. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +6 -0
  228. package/dist/types/components/store/translationStore/strings.italian.d.ts +6 -0
  229. package/dist/types/components/store/translationStore/strings.japanese.d.ts +6 -0
  230. package/dist/types/components/store/translationStore/strings.korean.d.ts +6 -0
  231. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +6 -0
  232. package/dist/types/components/store/translationStore/strings.polish.d.ts +6 -0
  233. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +6 -0
  234. package/dist/types/components/store/translationStore/strings.russian.d.ts +6 -0
  235. package/dist/types/components/store/translationStore/strings.spanish.d.ts +6 -0
  236. package/dist/types/components/store/translationStore/strings.swedish.d.ts +6 -0
  237. package/dist/types/components/store/translationStore/strings.turkish.d.ts +6 -0
  238. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +6 -0
  239. package/dist/types/components.d.ts +42 -0
  240. package/dist/types/types/checkout/api/CheckoutSession.d.ts +11 -1
  241. package/dist/types/types/checkout/api/PartyInfo.d.ts +6 -0
  242. package/dist/types/types/generated/graphql.internal.types.d.ts +20 -0
  243. package/dist/types/types/generated/graphql.internal.types.ts +29 -0
  244. package/dist/types/types/utils/ZonosSettings.d.ts +6 -0
  245. package/dist/zonos-elements/index.esm.js +1 -1
  246. package/dist/zonos-elements/p-013575f2.entry.js +1 -0
  247. package/dist/zonos-elements/{p-344a1fee.entry.js → p-055ef910.entry.js} +1 -1
  248. package/dist/zonos-elements/{p-3efe0875.entry.js → p-08b48608.entry.js} +1 -1
  249. package/dist/zonos-elements/{p-26ae4ee7.system.entry.js → p-0a54dae6.system.entry.js} +1 -1
  250. package/dist/zonos-elements/{p-aafc2155.system.entry.js → p-0b59076d.system.entry.js} +1 -1
  251. package/dist/zonos-elements/{p-c92a5ae5.system.entry.js → p-10571f94.system.entry.js} +1 -1
  252. package/dist/zonos-elements/{p-658ab5e2.entry.js → p-12a05647.entry.js} +1 -1
  253. package/dist/zonos-elements/{p-b453ae2b.system.js → p-14018649.system.js} +2 -2
  254. package/dist/zonos-elements/{p-d2ba9e3c.system.entry.js → p-1678d8b4.system.entry.js} +1 -1
  255. package/dist/zonos-elements/p-171d0f9f.system.js +1 -0
  256. package/dist/zonos-elements/{p-5bd47a30.system.entry.js → p-1a105d6e.system.entry.js} +1 -1
  257. package/dist/zonos-elements/p-1a4083be.system.js +1 -0
  258. package/dist/zonos-elements/{p-792fce17.system.entry.js → p-1f31f5a0.system.entry.js} +1 -1
  259. package/dist/zonos-elements/p-2197d6ab.js +1 -0
  260. package/dist/zonos-elements/{p-536cbab5.system.entry.js → p-27e50593.system.entry.js} +1 -1
  261. package/dist/zonos-elements/{p-0b4ba025.entry.js → p-2825431d.entry.js} +1 -1
  262. package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
  263. package/dist/zonos-elements/{p-73730eb9.system.entry.js → p-2a1247f4.system.entry.js} +1 -1
  264. package/dist/zonos-elements/p-2adbbce7.system.js +1 -0
  265. package/dist/zonos-elements/{p-f98cdb98.system.entry.js → p-306e5499.system.entry.js} +1 -1
  266. package/dist/zonos-elements/{p-831bcfb6.entry.js → p-31577ebd.entry.js} +1 -1
  267. package/dist/zonos-elements/{p-889a44fc.entry.js → p-328fd90e.entry.js} +1 -1
  268. package/dist/zonos-elements/p-33910e8b.js +1 -0
  269. package/dist/zonos-elements/{p-fb684748.system.entry.js → p-36b311f9.system.entry.js} +1 -1
  270. package/dist/zonos-elements/{p-5b4e5608.system.entry.js → p-3eba657b.system.entry.js} +1 -1
  271. package/dist/zonos-elements/p-41619f29.js +1 -0
  272. package/dist/zonos-elements/{p-cdea0f7d.js → p-42948a52.js} +1 -1
  273. package/dist/zonos-elements/{p-eb77dd11.system.js → p-45d74be2.system.js} +1 -1
  274. package/dist/zonos-elements/p-46e72a90.entry.js +1 -0
  275. package/dist/zonos-elements/p-49d8a10f.entry.js +1 -0
  276. package/dist/zonos-elements/{p-54a9c772.system.entry.js → p-4a960329.system.entry.js} +1 -1
  277. package/dist/zonos-elements/{p-93324ee5.entry.js → p-4b371b65.entry.js} +1 -1
  278. package/dist/zonos-elements/p-539bc46c.js +1 -0
  279. package/dist/zonos-elements/p-579932a7.js +1 -0
  280. package/dist/zonos-elements/{p-2afecda7.entry.js → p-59b10526.entry.js} +1 -1
  281. package/dist/zonos-elements/{p-98bea13e.system.entry.js → p-5aa35d1c.system.entry.js} +1 -1
  282. package/dist/zonos-elements/{p-fd849c69.system.js → p-62c68aee.system.js} +1 -1
  283. package/dist/zonos-elements/{p-48f3e2d2.system.entry.js → p-6c19310e.system.entry.js} +1 -1
  284. package/dist/zonos-elements/{p-16948eea.system.entry.js → p-732e7373.system.entry.js} +1 -1
  285. package/dist/zonos-elements/{p-0e8c4a29.entry.js → p-734d646b.entry.js} +1 -1
  286. package/dist/zonos-elements/{p-60f0ff42.entry.js → p-7eb47eb0.entry.js} +1 -1
  287. package/dist/zonos-elements/{p-eb254a96.system.entry.js → p-86a9f048.system.entry.js} +1 -1
  288. package/dist/zonos-elements/p-8af57c2a.js +1 -0
  289. package/dist/zonos-elements/{p-18c9565b.system.entry.js → p-8c4761d1.system.entry.js} +1 -1
  290. package/dist/zonos-elements/{p-c45df586.system.entry.js → p-8e77a3cd.system.entry.js} +1 -1
  291. package/dist/zonos-elements/p-919c5500.entry.js +1 -0
  292. package/dist/zonos-elements/p-91b921a4.system.js +1 -0
  293. package/dist/zonos-elements/{p-3b600b89.system.js → p-9574695a.system.js} +1 -1
  294. package/dist/zonos-elements/p-97917371.system.entry.js +1 -0
  295. package/dist/zonos-elements/{p-7ce6b8f7.system.entry.js → p-9b003a15.system.entry.js} +1 -1
  296. package/dist/zonos-elements/{p-53be08c8.entry.js → p-9c3276c8.entry.js} +1 -1
  297. package/dist/zonos-elements/p-9cd41234.system.entry.js +1 -0
  298. package/dist/zonos-elements/{p-5f92db80.system.entry.js → p-a1a05de4.system.entry.js} +1 -1
  299. package/dist/zonos-elements/{p-4c94cfd3.entry.js → p-a968ccba.entry.js} +1 -1
  300. package/dist/zonos-elements/{p-ee00f232.entry.js → p-abd485df.entry.js} +1 -1
  301. package/dist/zonos-elements/{p-7d859914.entry.js → p-ad961f5d.entry.js} +1 -1
  302. package/dist/zonos-elements/{p-6b87101d.system.entry.js → p-b5c01288.system.entry.js} +1 -1
  303. package/dist/zonos-elements/p-bf8c98ab.system.js +1 -0
  304. package/dist/zonos-elements/{p-2d1055d5.entry.js → p-c13d2e3f.entry.js} +1 -1
  305. package/dist/zonos-elements/{p-0b46f3bd.system.entry.js → p-c15476a1.system.entry.js} +1 -1
  306. package/dist/zonos-elements/{p-0e36a7cf.system.entry.js → p-c6823974.system.entry.js} +1 -1
  307. package/dist/zonos-elements/{p-dae881f2.entry.js → p-c83bc4b3.entry.js} +1 -1
  308. package/dist/zonos-elements/{p-134c5010.system.entry.js → p-c846a5f3.system.entry.js} +1 -1
  309. package/dist/zonos-elements/{p-7aca66cd.entry.js → p-cc508de8.entry.js} +1 -1
  310. package/dist/zonos-elements/{p-6609467e.entry.js → p-ccd14aa5.entry.js} +1 -1
  311. package/dist/zonos-elements/{p-318e704a.system.js → p-d25759fb.system.js} +1 -1
  312. package/dist/zonos-elements/{p-a956e28f.entry.js → p-d5e66ea6.entry.js} +1 -1
  313. package/dist/zonos-elements/{p-7536cf94.system.entry.js → p-daf57db3.system.entry.js} +1 -1
  314. package/dist/zonos-elements/{p-b35a0b1e.entry.js → p-dcef2202.entry.js} +1 -1
  315. package/dist/zonos-elements/{p-283ffaad.entry.js → p-dd6da3de.entry.js} +1 -1
  316. package/dist/zonos-elements/{p-bd2daace.entry.js → p-df6fbf3f.entry.js} +1 -1
  317. package/dist/zonos-elements/{p-c16c7978.entry.js → p-e643346a.entry.js} +1 -1
  318. package/dist/zonos-elements/{p-b375372e.entry.js → p-e8cb382e.entry.js} +1 -1
  319. package/dist/zonos-elements/{p-f4be6ce5.system.entry.js → p-e8ec88a9.system.entry.js} +1 -1
  320. package/dist/zonos-elements/p-e9afd736.system.entry.js +1 -0
  321. package/dist/zonos-elements/{p-c425d3d9.js → p-e9c8a235.js} +1 -1
  322. package/dist/zonos-elements/{p-ccc8d669.system.entry.js → p-f0eb6317.system.entry.js} +1 -1
  323. package/dist/zonos-elements/p-f1cc659c.js +1 -0
  324. package/dist/zonos-elements/{p-b1b7d786.entry.js → p-f53c8a9f.entry.js} +1 -1
  325. package/dist/zonos-elements/{p-777d396e.entry.js → p-f72642de.entry.js} +1 -1
  326. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  327. package/package.json +4 -2
  328. package/dist/cjs/isCollectMobileTablet-d5c1a9ea.js +0 -176
  329. package/dist/esm/isCollectMobileTablet-2c62fdaa.js +0 -169
  330. package/dist/esm-es5/cart-1415dcf0.js +0 -1
  331. package/dist/esm-es5/isCollectMobileTablet-2c62fdaa.js +0 -1
  332. package/dist/esm-es5/localization-29723d89.js +0 -1
  333. package/dist/zonos-elements/p-0fa932e6.system.js +0 -1
  334. package/dist/zonos-elements/p-15c2dfea.entry.js +0 -1
  335. package/dist/zonos-elements/p-17c7a727.system.js +0 -1
  336. package/dist/zonos-elements/p-24aa6708.js +0 -1
  337. package/dist/zonos-elements/p-2585034d.entry.js +0 -1
  338. package/dist/zonos-elements/p-2cda42d5.system.js +0 -1
  339. package/dist/zonos-elements/p-53b65b80.js +0 -1
  340. package/dist/zonos-elements/p-58521b25.js +0 -1
  341. package/dist/zonos-elements/p-9259e19b.system.entry.js +0 -1
  342. package/dist/zonos-elements/p-99ef86c3.js +0 -1
  343. package/dist/zonos-elements/p-aa3a7538.js +0 -1
  344. package/dist/zonos-elements/p-c935390d.js +0 -1
  345. package/dist/zonos-elements/p-e77dd304.system.js +0 -1
  346. package/dist/zonos-elements/p-ea91600a.entry.js +0 -1
  347. package/dist/zonos-elements/p-f5d9e5e5.system.entry.js +0 -1
@@ -52,7 +52,7 @@ export class ZonosCollectSubtotal {
52
52
  }
53
53
  render() {
54
54
  this.initSubtotalData();
55
- return (h(Host, { key: '6df77785504d4076a3b675a9ef62171105fa22b5', class: "zonos--collect-subtotal zonos--elements" }, h("table", { key: '5a0917d3828ff18b5ad67d6e168e67b5646a6425', class: "zonos--collect-table" }, !!this.subtotals[translate('Duties')] && (h("tr", { key: 'b51069b800459d0aa64cebb98c0bae99d05bde8a', class: "zonos--row zonos--collect-duty" }, h("td", { key: 'b7bd45e0256a852ec363ffed7022d95079a8282c', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: '47db47e87c83c4e5361e363d8c48cbef675a1eb7', type: "semiBoldLabel" }, translate('Duties'))), h("td", { key: 'd3b083c586c04fdca1a9410992cba6350050fd75', class: "zonos--column" }), h("td", { key: '6aedc27105ffe3a15744482025e3c711de22709a', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
55
+ return (h(Host, { key: 'fea37a2a4dd32592b88703c37d901fee65408bed', class: "zonos--collect-subtotal zonos--elements" }, h("table", { key: 'be501438b0101c4b13421450dad99ec12f7c5a0b', class: "zonos--collect-table" }, !!this.subtotals[translate('Duties')] && (h("tr", { key: '2c61bf6e958a199d4b8ae3aff00b74a9889ab491', class: "zonos--row zonos--collect-duty" }, h("td", { key: 'd6fc30c58fcc42c282b7dfb03c83b0b7feb0dd82', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: '5909abeeed4a5f90df5a79be09383842137a175c', type: "semiBoldLabel" }, translate('Duties'))), h("td", { key: '68d06c4e8732363e0e5e36d77f9d4b363c0adc3c', class: "zonos--column" }), h("td", { key: 'fd23e46a4ed44fadc31472e38a15f7579ebed160', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
56
56
  content: (h("zonos-text", { type: "label" }, renderCheckoutCurrency({
57
57
  amount: this.subtotals[translate('Duties')] || 0,
58
58
  isForeign: true,
@@ -60,7 +60,7 @@ export class ZonosCollectSubtotal {
60
60
  isLoading: collectStore.isFetchingShippingInfo,
61
61
  skeletonHeight: '14px',
62
62
  skeletonWidth: '150px',
63
- })))), !!this.subtotals[translate('Taxes')] && (h("tr", { key: 'ee934191b6d95c2bdebf40c5a8d6e9a8dcc4716b', class: "zonos--row zonos--collect-tax" }, h("td", { key: 'd9966df4b307915d69e99ddca307afb3b1dac57d', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: '0b074f206a3746e9428a1f7f4df95a7035770535', type: "semiBoldLabel" }, translate('Taxes'))), h("td", { key: '4cd818d7d7db3bbb1b044f09420f3c0de9c2654f', class: "zonos--column" }), h("td", { key: '885a3b0d243f9687af99018c94e6f7990ab94ae4', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
63
+ })))), !!this.subtotals[translate('Taxes')] && (h("tr", { key: '3960ae24df8093e1bb7e904bba82b774dc32103c', class: "zonos--row zonos--collect-tax" }, h("td", { key: 'cdfb4bd23f8b3f0545170a05a3b060533db22f26', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: 'bbbdaade160358cc94a9347f835d2e8bc759866d', type: "semiBoldLabel" }, translate('Taxes'))), h("td", { key: '032c233f3301289c89791d78a5624d9409292041', class: "zonos--column" }), h("td", { key: 'b96dc16ecbff5add3adb0236c794c7a71c48800b', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
64
64
  content: (h("zonos-text", { type: "label" }, renderCheckoutCurrency({
65
65
  amount: this.subtotals[translate('Taxes')] || 0,
66
66
  isForeign: true,
@@ -68,7 +68,7 @@ export class ZonosCollectSubtotal {
68
68
  isLoading: collectStore.isFetchingShippingInfo,
69
69
  skeletonHeight: '14px',
70
70
  skeletonWidth: '150px',
71
- })))), !!this.subtotals[translate('Fees')] && (h("tr", { key: '840cdf461bd3cb0780c517be7900a4db7522da6d', class: "zonos--row zonos--collect-fee" }, h("td", { key: '57edb0642163a4fb580c538334f77fba2f15efe1', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: 'daa9e1ab156a2a5b26aec744014c2501948872e8', type: "semiBoldLabel" }, translate('Fees'))), h("td", { key: '90cc11dda267840a4d4559aed5cfa5d61e13a986', class: "zonos--column" }), h("td", { key: '3716f79ab7323f5d6ebca7ece57bfd7b78f62b20', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
71
+ })))), !!this.subtotals[translate('Fees')] && (h("tr", { key: '056890bb4d5394aea10f618c97c6d22d0ed63d3b', class: "zonos--row zonos--collect-fee" }, h("td", { key: '920bbbc49538bf61a4b3a180454a904996448b22', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: '3609ef98b6fe12f11d16a9176321321fa450c482', type: "semiBoldLabel" }, translate('Fees'))), h("td", { key: 'c7393e334a5d229f879094aa10356740676a412a', class: "zonos--column" }), h("td", { key: '799e621fbeda831fd2181a362d9ace49a39b69e4', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
72
72
  content: (h("zonos-text", { type: "label" }, renderCheckoutCurrency({
73
73
  amount: this.subtotals[translate('Fees')] || 0,
74
74
  isForeign: true,
@@ -76,7 +76,7 @@ export class ZonosCollectSubtotal {
76
76
  isLoading: collectStore.isFetchingShippingInfo,
77
77
  skeletonHeight: '14px',
78
78
  skeletonWidth: '150px',
79
- })))), h("tr", { key: '2ac89b5b3f76c2991b88ce163ca571380d91ae8b', class: "zonos--row zonos--collect-spacing" }, h("td", { key: 'fc073ec87ac579ad5af8fb2dd08fe47112e21717', class: "zonos--column", colSpan: 3 })), h("tr", { key: '87c32f3ee0ffb3c347c495ec853ebf92b6a08a0f', class: "zonos--row zonos--collect-total zonos--collect-total-subtotal" }, h("td", { key: '664d161448aec51324f0d177d20fa0ef765a17bb', class: "zonos--column" }), h("td", { key: 'c14949595986be080c502ad175529883f2c789cc', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: 'cf141dd8e58e73b981cdb5f51c111d83099222ae', type: "label" }, translate('Subtotal'))), h("td", { key: '3cba5203e563ec1f4c591d6c42cf7b9a7c8c2045', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
79
+ })))), h("tr", { key: 'b9cc1a5aa049ccefb48dc5d1627bdb8093ffe29f', class: "zonos--row zonos--collect-spacing" }, h("td", { key: '439b7508f723ed01efd63e499de979a84e136b21', class: "zonos--column", colSpan: 3 })), h("tr", { key: '6c3db4c263f849b9f1ad25a1ce1cfb23dcf03b10', class: "zonos--row zonos--collect-total zonos--collect-total-subtotal" }, h("td", { key: '3fac71f137d3d5af8a40d7aaa0ad36c31a827a5b', class: "zonos--column" }), h("td", { key: '45084572c966e849b69dd4f10d065fd3f0aa5544', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: '5c09a882998169f59baa30a59574d1ca919ab1c6', type: "label" }, translate('Subtotal'))), h("td", { key: 'd8debe70bbc2394f95581409a1db5cb8055383eb', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
80
80
  content: (h("zonos-text", { type: "label" }, renderCheckoutCurrency({
81
81
  amount: collectStore.amountDutyTaxFeeTotal || 0,
82
82
  isForeign: true,
@@ -84,7 +84,7 @@ export class ZonosCollectSubtotal {
84
84
  isLoading: collectStore.isFetchingShippingInfo,
85
85
  skeletonHeight: '14px',
86
86
  skeletonWidth: '150px',
87
- }))), h("tr", { key: '14065db117fef4acbb0f459a624fee28ea127205', class: "zonos--row zonos--collect-total" }, h("td", { key: '0bc154f6d48ddb0bdc829233a66f0e486ed9df4f', class: "zonos--column" }), h("td", { key: '1f2997cebc3250152b1ecd207066ffc44af7f124', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: 'd50cc0977380fc1bf858fbe26201d919000a74b5', type: "semiBoldLabel" }, translate('Customs fees total'))), h("td", { key: '2fcd30a868708f5abea04230c1407fff62fb011d', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
87
+ }))), h("tr", { key: 'db55f0a9600bff78e582609f17ac561fb30ec85f', class: "zonos--row zonos--collect-total" }, h("td", { key: '8b77eb9db155a44591bce58fd24ee46110b9a407', class: "zonos--column" }), h("td", { key: '5c1b6df053e202f60d1d3fa4ff5d8c53fb1762ce', class: "zonos--column zonos--collect-subtotal-title" }, h("zonos-text", { key: '393f436b62e9b49d52598896b2913f08e953987b', type: "semiBoldLabel" }, translate('Customs fees total'))), h("td", { key: 'c2bc51d66b8490652c6f6df8fac0194544785706', class: "zonos--column zonos--collect-subtotal-price" }, renderFallback({
88
88
  content: (h("zonos-text", { type: "semiBoldLabel" }, renderCheckoutCurrency({
89
89
  amount: collectStore.amountDutyTaxFeeTotal || 0,
90
90
  isForeign: true,
@@ -1,4 +1,5 @@
1
1
  import { Fragment, h, Host, } from "@stencil/core";
2
+ import { airwallexStore, airwallexStoreInitSdk, airwallexStoreIsPaidStatus, airwallexStoreRetrievePaymentIntent, airwallexStoreSetFromSession, } from "../../store/checkout/airwallex";
2
3
  import { cartStore, cartStoreReset, cartStoreUpdateItems, cartStoreUpdateToErrorState, } from "../../store/checkout/cart";
3
4
  import { collectStore, collectStoreAsyncAddressUpdate, collectStoreInitShippingInfo, collectStoreUpdateSelectedShippingOption, } from "../../store/checkout/collect";
4
5
  import { paypalStore, paypalStoreHasPaypalEnabled, } from "../../store/checkout/paypal";
@@ -116,6 +117,56 @@ export class ZonosCollect {
116
117
  });
117
118
  return json;
118
119
  };
120
+ /**
121
+ * Determine which payment processor the collect session uses and initialize it.
122
+ *
123
+ * The checkout session returns the `paymentProcessor` (05CHECK-860). When it is
124
+ * `AIRWALLEX` we initialize the Airwallex SDK and render only the Airwallex
125
+ * payment element. Otherwise we fall back to the Stripe flow, which renders the
126
+ * Stripe billing info section + payment.
127
+ *
128
+ * If the Airwallex session already has a client secret but is not yet completed
129
+ * and has no order attached, we verify the live payment intent status first — if
130
+ * the payment already went through (e.g. the customer returned after a redirect)
131
+ * we jump straight to the finish step instead of rendering the payment form.
132
+ */
133
+ this.initPaymentProcessor = async () => {
134
+ var _a;
135
+ const checkoutSessionId = storageStore.checkoutSessionId;
136
+ if (checkoutSessionId) {
137
+ const json = await this.fetchCheckoutSession(checkoutSessionId);
138
+ collectStore.paymentProcessor =
139
+ (json === null || json === void 0 ? void 0 : json.checkoutSession.paymentProcessor) || null;
140
+ if (collectStore.paymentProcessor === 'AIRWALLEX') {
141
+ // An Airwallex session must have a usable client secret (from the session
142
+ // or seeded from the payment-intent create response). If it doesn't, we
143
+ // can't mount the payment element — surface an error instead of rendering
144
+ // a blank/broken Airwallex UI.
145
+ if (!json || !airwallexStoreSetFromSession(json.checkoutSession)) {
146
+ throw new Error('Airwallex checkout session is missing a client secret');
147
+ }
148
+ const { checkoutSession } = json;
149
+ airwallexStore.currency = cartStore.currency;
150
+ this.confirmationId = ((_a = checkoutSession.landedCost) === null || _a === void 0 ? void 0 : _a.shortId) || null;
151
+ let alreadyPaid = !!checkoutSession.completedAt || !!checkoutSession.order;
152
+ if (!alreadyPaid &&
153
+ checkoutSession.clientSecret &&
154
+ checkoutSession.paymentIntentId) {
155
+ const { status } = await airwallexStoreRetrievePaymentIntent(checkoutSession.paymentIntentId);
156
+ alreadyPaid = airwallexStoreIsPaidStatus(status);
157
+ }
158
+ if (alreadyPaid) {
159
+ void this.setToFinishStep();
160
+ return;
161
+ }
162
+ void airwallexStoreInitSdk();
163
+ // Airwallex renders its own payment UI, so the Stripe elements
164
+ // (billing info section) are not needed.
165
+ return;
166
+ }
167
+ }
168
+ void this.applyStripeTheme();
169
+ };
119
170
  /**
120
171
  * Check if stripe payment intent is succeeded or in a good state to move forward
121
172
  */
@@ -159,6 +210,67 @@ export class ZonosCollect {
159
210
  log('Payment intent is not succeeded, proceed to order');
160
211
  return { shouldAllowOrder: true };
161
212
  };
213
+ /**
214
+ * Recover the collect flow when updating the checkout session failed — which
215
+ * happens once the session is already completed/paid (e.g. the customer already
216
+ * submitted payment, so the update request is rejected). Without this we would
217
+ * drop straight to the error screen even though the payment went through.
218
+ *
219
+ * Fetches the session and, if it is completed or already has an order attached,
220
+ * jumps to the finish step. Otherwise it verifies the live payment intent status
221
+ * for the session's processor (Stripe or Airwallex) and routes to finish when
222
+ * the payment has gone through.
223
+ *
224
+ * @returns `true` when it routed to the finish step, `false` when the caller
225
+ * should treat the session as invalid.
226
+ */
227
+ this.recoverCompletedCollectSession = async (checkoutSessionId) => {
228
+ var _a;
229
+ const json = await this.fetchCheckoutSession(checkoutSessionId);
230
+ if (!json) {
231
+ return false;
232
+ }
233
+ const { checkoutSession } = json;
234
+ // Some merchants use landed cost id as the confirmation id
235
+ this.confirmationId = ((_a = checkoutSession.landedCost) === null || _a === void 0 ? void 0 : _a.shortId) || null;
236
+ collectStore.paymentProcessor = checkoutSession.paymentProcessor || null;
237
+ const isAirwallex = checkoutSession.paymentProcessor === 'AIRWALLEX';
238
+ if (isAirwallex && checkoutSession.clientSecret) {
239
+ // Populate the store so the finish step has the payment intent data.
240
+ airwallexStoreSetFromSession(checkoutSession);
241
+ airwallexStore.currency = cartStore.currency;
242
+ }
243
+ // Session already finalized → straight to finish. This must run before the
244
+ // Airwallex client-secret check below, because a paid/completed session may
245
+ // no longer expose a client secret and should still reach the finish step.
246
+ if (checkoutSession.completedAt || checkoutSession.order) {
247
+ void this.setToFinishStep('succeeded');
248
+ return true;
249
+ }
250
+ // Not completed and no order yet — verify the live payment intent status for
251
+ // the session's processor.
252
+ if (isAirwallex) {
253
+ if (checkoutSession.clientSecret && checkoutSession.paymentIntentId) {
254
+ const { status } = await airwallexStoreRetrievePaymentIntent(checkoutSession.paymentIntentId);
255
+ if (airwallexStoreIsPaidStatus(status)) {
256
+ void this.setToFinishStep();
257
+ return true;
258
+ }
259
+ }
260
+ }
261
+ else if (checkoutSession.clientSecret) {
262
+ const { status } = await stripeStoreRetrievePayment({
263
+ clientSecret: checkoutSession.clientSecret,
264
+ });
265
+ // If payment intent is still processing or succeeded, set to finish step
266
+ if (status === 'processing' || status === 'succeeded') {
267
+ stripeStore.clientSecret = checkoutSession.clientSecret;
268
+ void this.setToFinishStep(status);
269
+ return true;
270
+ }
271
+ }
272
+ return false;
273
+ };
162
274
  }
163
275
  /**
164
276
  * Listen to resize event to update the isMobile state
@@ -230,29 +342,16 @@ export class ZonosCollect {
230
342
  throw new Error('Failed to initialize checkout session! The cart might be created with LIVE Collect quote but being used with sandbox credential');
231
343
  }
232
344
  }
233
- // If there is checkout session in collect cart references and we failed to retrieve it from `update-checkout-session`, it most likely means the cart is already completed / invalid landed cost
345
+ // If there is checkout session in collect cart references and we failed to retrieve it from `update-checkout-session`, it most likely means the cart is already completed / paid (the update request is rejected) or has an invalid landed cost.
234
346
  if ((!cartStore.checkoutSession ||
235
347
  ((_g = cartStore.checkoutSession) === null || _g === void 0 ? void 0 : _g.completedAt)) &&
236
348
  cartCheckoutSessionId) {
237
- // Attempt to retrieve the checkout session
238
- const json = await this.fetchCheckoutSession(cartCheckoutSessionId);
239
- // Some merchants use landed cost id as the confirmation id
240
- this.confirmationId = ((_h = json === null || json === void 0 ? void 0 : json.checkoutSession.landedCost) === null || _h === void 0 ? void 0 : _h.shortId) || null;
241
- // If checkout session is already completed, set to finish step
242
- if (!!(json === null || json === void 0 ? void 0 : json.checkoutSession.completedAt)) {
243
- void this.setToFinishStep('succeeded');
349
+ // Attempt to recover by checking the completed session / payment intent
350
+ // status for the session's processor before treating it as invalid.
351
+ const handled = await this.recoverCompletedCollectSession(cartCheckoutSessionId);
352
+ if (handled) {
244
353
  return;
245
354
  }
246
- if (json === null || json === void 0 ? void 0 : json.checkoutSession.clientSecret) {
247
- const { status } = await stripeStoreRetrievePayment({
248
- clientSecret: json.checkoutSession.clientSecret,
249
- });
250
- // If payment intent is still processing or succeeded, set to finish step
251
- if (status === 'processing' || status === 'succeeded') {
252
- void this.setToFinishStep(status);
253
- return;
254
- }
255
- }
256
355
  void sendErrorLog({
257
356
  endpoint: 'INVALID_COLLECT_CHECKOUT_SESSION',
258
357
  errors: [
@@ -260,7 +359,7 @@ export class ZonosCollect {
260
359
  ],
261
360
  metadata: {
262
361
  cartCheckoutSessionId,
263
- cartId: (_j = window.Zonos.cartData) === null || _j === void 0 ? void 0 : _j.id,
362
+ cartId: (_h = window.Zonos.cartData) === null || _h === void 0 ? void 0 : _h.id,
264
363
  cartLandedCostId,
265
364
  },
266
365
  });
@@ -274,14 +373,31 @@ export class ZonosCollect {
274
373
  ],
275
374
  metadata: {
276
375
  cartCheckoutSessionId: cartCheckoutSessionId || 'N/A',
277
- cartId: (_k = window.Zonos.cartData) === null || _k === void 0 ? void 0 : _k.id,
376
+ cartId: (_j = window.Zonos.cartData) === null || _j === void 0 ? void 0 : _j.id,
278
377
  cartLandedCostId: cartLandedCostId || 'N/A',
279
378
  },
280
379
  });
281
380
  throw new Error('Could not update/create checkout session for this collect cart');
282
381
  }
283
- // const checkoutSessionId = storageStore.checkoutSessionId;
284
- void stripeStoreGetPaymentIntent();
382
+ collectStore.paymentProcessor =
383
+ cartStore.checkoutSession.paymentProcessor;
384
+ if (collectStore.paymentProcessor === 'AIRWALLEX') {
385
+ // Airwallex needs the payment intent (client secret) created before we
386
+ // fetch the session and render its element.
387
+ await stripeStoreGetPaymentIntent();
388
+ // Seed the Airwallex store from the payment-intent create response (the
389
+ // reliable source of the client secret) so the drop-in can mount even if
390
+ // the follow-up get-checkout-session fetch is missing it.
391
+ if ((_k = cartStore.checkoutSession) === null || _k === void 0 ? void 0 : _k.clientSecret) {
392
+ airwallexStore.clientSecret = cartStore.checkoutSession.clientSecret;
393
+ airwallexStore.currency = cartStore.currency;
394
+ }
395
+ }
396
+ else {
397
+ // Stripe, PayPal, and legacy sessions without a processor still need a
398
+ // payment intent so the payment UI loads with a client secret.
399
+ void stripeStoreGetPaymentIntent();
400
+ }
285
401
  const landedCost = (_l = cartStore.checkoutSession) === null || _l === void 0 ? void 0 : _l.landedCost;
286
402
  if (!landedCost) {
287
403
  throw new Error('Landed cost could not be found in checkout session after creating/updating them');
@@ -290,7 +406,7 @@ export class ZonosCollect {
290
406
  void collectStoreInitShippingInfo({
291
407
  landedCostId: landedCost.id,
292
408
  });
293
- void this.applyStripeTheme();
409
+ await this.initPaymentProcessor();
294
410
  }
295
411
  catch (err) {
296
412
  logError(err);
@@ -410,10 +526,24 @@ export class ZonosCollect {
410
526
  }
411
527
  const baseCurrencySettlementInfo = this.getBaseCurrencySettlementInfo();
412
528
  const { logoUrl, theme } = zonosStore.appearance;
529
+ // The company name comes from the origin party.
530
+ const collectCompanyName = collectStore.originCompanyName;
413
531
  const renderLogo = () => {
414
- // add timestamp to logo url so browser won't cache it on the dashboard setting
415
- const logo = `${logoUrl}?timestamp=${Date.now()}`;
416
- return (h("div", { class: "zonos--logo" }, logo && (h("img", { alt: `${zonosStore.organizationName} logo`, src: logo }))));
532
+ var _a;
533
+ // The carrier's Collect logo (from landed cost metadata) takes priority.
534
+ // When it isn't provided, only fall back to the organization's appearance
535
+ // logo if the `shouldFallbackToOrganizationLogoForCollect` generic setting
536
+ // is enabled; otherwise no logo is shown.
537
+ const logo = collectStore.collectLogoUrl
538
+ ? collectStore.collectLogoUrl
539
+ : ((_a = zonosStore.genericSettings) === null || _a === void 0 ? void 0 : _a.shouldFallbackToOrganizationLogoForCollect) && logoUrl
540
+ ? // Timestamped so the browser won't cache a stale dashboard logo.
541
+ `${logoUrl}?timestamp=${Date.now()}`
542
+ : '';
543
+ if (!logo) {
544
+ return null;
545
+ }
546
+ return (h("div", { class: "zonos--logo" }, h("img", { alt: `${collectCompanyName || zonosStore.organizationName} logo`, src: logo })));
417
547
  };
418
548
  const isTestMode = getIsTestMode();
419
549
  const renderTopHeader = () => {
@@ -427,9 +557,9 @@ export class ZonosCollect {
427
557
  this.showLanguageDialogMobile &&
428
558
  'zonos--collect-language-dialog-open',
429
559
  ]) }, h("zonos-language-select", { handleOnClose: () => this.toggleLanguageDialog() })))), renderFallback({
430
- content: (h("zonos-text", { class: "zonos--header-title", type: "header" }, collectStore.originCompanyName
560
+ content: (h("zonos-text", { class: "zonos--header-title", type: "header" }, collectCompanyName
431
561
  ? translate('Customs charges for your recent purchase from [companyName] are available for payment', {
432
- companyName: collectStore.originCompanyName,
562
+ companyName: collectCompanyName,
433
563
  })
434
564
  : translate('Customs charges from your recent purchase are available for payment'))),
435
565
  isLoading: collectStore.isFetchingShippingInfo,
@@ -437,11 +567,19 @@ export class ZonosCollect {
437
567
  skeletonWidth: '600px',
438
568
  })));
439
569
  };
570
+ // const isAirwallex = collectStore.paymentProcessor === 'AIRWALLEX';
440
571
  const renderContent = () => {
441
572
  if (this.isOverlayLoading || stripeStore.isFetchingSession) {
442
573
  return null;
443
574
  }
444
- return (h("div", { class: 'zonos--content' }, cartStore.step !== 'finish' && cartStore.step !== 'error' && (h(Fragment, null, (this.isMobile || this.isTablet) && renderTopHeader(), h("div", { class: "zonos--left", "data-theme": theme }, !this.isMobile && !this.isTablet && renderTopHeader(), h("zonos-text", { class: "zonos--title", type: "semiBoldSubheader" }, translate('Billing info')), h("zonos-v-stack", { spacing: 16 }, h("zonos-link-authentication", { titleText: "" }), h("zonos-address", { titleText: "", type: "billing" })), h("zonos-collect-payment", { class: classes(['zonos--collect-container']), continueLoading: this.submitLoading, onContinueClicked: async () => {
575
+ return (h("div", { class: 'zonos--content' }, cartStore.step !== 'finish' && cartStore.step !== 'error' && (h(Fragment, null, (this.isMobile || this.isTablet) && renderTopHeader(), h("div", { class: "zonos--left", "data-theme": theme }, !this.isMobile && !this.isTablet && renderTopHeader(), collectStore.paymentProcessor !== 'AIRWALLEX' && (h(Fragment, null, h("zonos-text", { class: "zonos--title", type: "semiBoldSubheader" }, translate('Billing info')), h("zonos-v-stack", { spacing: 16 }, h("zonos-link-authentication", { titleText: "" }), h("zonos-address", { titleText: "", type: "billing" })))), h("zonos-collect-payment", { class: classes(['zonos--collect-container']), continueLoading: this.submitLoading, onAirwallexPaymentDone: () => {
576
+ var _a;
577
+ cartStore.step = 'finish';
578
+ this.confirmationId =
579
+ collectStore.landedCostShortId ||
580
+ ((_a = cartStore.selectedLandedCost) === null || _a === void 0 ? void 0 : _a.landedCostId) ||
581
+ null;
582
+ }, onContinueClicked: async () => {
445
583
  await this.handleStripePaymentContinue();
446
584
  } })), h("div", { class: "zonos--right", "data-theme": theme }, h("zonos-collect-review", { mobile: this.isMobile, tablet: this.isTablet }), h("div", { class: "zonos--order-details-container" }, h("zonos-collect-order-details", { collapsed: this.collapseReview, mobile: this.isMobile, onCollapseClicked: () => {
447
585
  this.collapseReview = !this.collapseReview;
@@ -18,10 +18,10 @@ export class ZonosInvoiceCartItems {
18
18
  }
19
19
  render() {
20
20
  const nonRestrictedItems = cartStore.items.filter(item => !item.isRestricted);
21
- return (h(Host, { key: '55bb132970db23e06698701d7d27e108ff0643e0', class: classes([
21
+ return (h(Host, { key: 'e6626df96493b9cd9110036f203492c008c8c802', class: classes([
22
22
  'zonos--invoice-cart-items zonos--elements',
23
23
  this.isMobile && 'mobile',
24
- ]) }, h("table", { key: 'c9722c17a507ca9fdcb8ca47151d14ba1d74f698', class: "zonos--cart-table" }, h("tbody", { key: 'd8d318e03bfeefaf687825c6131367e73c0b91ce' }, nonRestrictedItems.map(item => {
24
+ ]) }, h("table", { key: '9a03b7868010f52560725fb4139a329b2b96066c', class: "zonos--cart-table" }, h("tbody", { key: 'f1aae5d161654014e4e5e5fd56383664c7fe5635' }, nonRestrictedItems.map(item => {
25
25
  var _a, _b, _c, _d;
26
26
  const invoiceId = (_b = (_a = item.attributes) === null || _a === void 0 ? void 0 : _a.find(metadata => metadata.key === 'invoiceId' || metadata.key === 'INVOICE_ID')) === null || _b === void 0 ? void 0 : _b.value;
27
27
  const invoiceCreatedAt = (_d = (_c = item.attributes) === null || _c === void 0 ? void 0 : _c.find(metadata => metadata.key === 'invoiceCreatedAt')) === null || _d === void 0 ? void 0 : _d.value;
@@ -260,11 +260,11 @@ export class ZonosInvoiceFinish {
260
260
  }
261
261
  render() {
262
262
  const cartId = window.Zonos.cartId;
263
- return (h(Host, { key: '5f563128da4ccbf30f9f09446760a83666be0987', class: "zonos--checkout-finish zonos--elements", style: {
263
+ return (h(Host, { key: 'fc28974043d0f3661919e85aa6cc3839debbac4e', class: "zonos--checkout-finish zonos--elements", style: {
264
264
  '--zonos--border-radius': getBorderRadius({
265
265
  overrideBorderStyle: this.borderRadius,
266
266
  }),
267
- } }, !this.isLoading && (h("div", { key: '276f35404f91ae34b310e1f006770a8885a9751d', class: "zonos--finish-details" }, h("div", { key: 'e6f73be5adced5c4d7598a7c41827414a41b75fc', 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: '5c010a8bc22853ceb669b64cb0ac608dbd01f78c', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), this.confirmationId && (h("zonos-badge", { key: 'c20d9274ef2d3824e581a172b416451f8ed0f4fb', badgeColor: "gray" }, this.confirmationId)), h("zonos-text", { key: 'eab62f7ca2bb6f9a610179a9c3a345844bf99d5b', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.order && cartId && (h("div", { key: '5a870802ce9b2b34769ac1fa2920e17eed0d1c91', class: "zonos--button-container" }, h("zonos-button", { key: '09784e7c0a421a304987d84c1d81f0ee2995c0eb', onClick: () => {
267
+ } }, !this.isLoading && (h("div", { key: '7a6f37edfde51802035afde1e47184603a81e869', class: "zonos--finish-details" }, h("div", { key: '0242af14a36960e490411712bf1c345975d22e28', 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: 'ac0bbc63089b78868a2dea35c2d55699e0c677fc', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), this.confirmationId && (h("zonos-badge", { key: 'cce14998b08c79a87b5aaf9701d1132e558c0bc6', badgeColor: "gray" }, this.confirmationId)), h("zonos-text", { key: 'c4970d76cbeb63f6dd661bc2c0950ace271f9aac', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.order && cartId && (h("div", { key: 'c79a6fe5bfe1398244a7fbf611430be6f42de16b', class: "zonos--button-container" }, h("zonos-button", { key: 'c5ab942d9ced619c068b7398a38af5995a8f43ee', onClick: () => {
268
268
  window.open(this.getReceiptUrl({ cartId }), '_blank');
269
269
  }, size: "lg", variant: "primary" }, translate('View receipt')))))))));
270
270
  }
@@ -47,15 +47,15 @@ export class ZonosInvoiceFooter {
47
47
  const languageLabel = (_a = languages.find(x => x.code === localizationStore.selectedLocale)) === null || _a === void 0 ? void 0 : _a.label;
48
48
  // reverse color when on desktop. With the coversheet backdrop, the color should be white
49
49
  const colorDesktop = 'gray-1000';
50
- return (h(Host, { key: '01fce97d4d724d4bca4973a426e131da5a01dc16', class: classes([
50
+ return (h(Host, { key: 'edea53dbca2832f4f718fd54b74225d9a64b8d01', class: classes([
51
51
  'zonos--elements',
52
52
  this.isMobile && 'mobile',
53
53
  this.isTablet && 'tablet',
54
- ]) }, h("div", { key: '99e579f6903c96c8540d5010fc128173e34e0997', class: "zonos--invoice-footer" }, h("div", { key: 'fa45f5e6fbb2ff06265f252fd3c3acf74b265e1e', class: "zonos--invoice-locale-wrapper" }, h("zonos-button", { key: '3496814c51949ff1f1d727bd5c9fabeb4b86372f', buttonColor: colorDesktop, class: "zonos--invoice-footer-language-button", icon: h("zonos-icon", { "aria-label": "Language select", content: Globe, iconColor: colorDesktop }), onClick: () => this.toggleLanguageDialog(), variant: "subtle" }, h("span", { key: 'c669df5b12bce8be322fca8d0cb76a29b088fd25', class: "zonos--invoice-locale-label" }, languageLabel, h("zonos-icon", { key: '748444a42af6feef4378b418341927c15e9dc293', "aria-hidden": "true", class: "zonos--invoice-locale-chevron", content: ChevronDownIcon, iconColor: colorDesktop, size: 18 }))), h("div", { key: '80943da0cc442ff525c7fd8f5d3f0159933b1950', class: classes([
54
+ ]) }, h("div", { key: 'd2594dfbc8cfff20539e94c279c6096042ee6d00', class: "zonos--invoice-footer" }, h("div", { key: '927668578baf306674f56dce375acd1a5e1f335e', class: "zonos--invoice-locale-wrapper" }, h("zonos-button", { key: '022b7cb00f7c9ab6305a6ab874f16531f9ab017f', buttonColor: colorDesktop, class: "zonos--invoice-footer-language-button", icon: h("zonos-icon", { "aria-label": "Language select", content: Globe, iconColor: colorDesktop }), onClick: () => this.toggleLanguageDialog(), variant: "subtle" }, h("span", { key: '88c1b732f19daaace304214d9028f3b6a131e0d2', class: "zonos--invoice-locale-label" }, languageLabel, h("zonos-icon", { key: 'ac383ce2fbcba6b0bd366b8c8126ce10df11d817', "aria-hidden": "true", class: "zonos--invoice-locale-chevron", content: ChevronDownIcon, iconColor: colorDesktop, size: 18 }))), h("div", { key: 'a89f540cdbeb921640f4f466df4c48e12065d90b', class: classes([
55
55
  'zonos--invoice-language-dialog',
56
56
  this.showLanguageDialog &&
57
57
  'zonos--invoice-language-dialog-open',
58
- ]) }, h("zonos-language-select", { key: '5f72d992de939c0159979b7b054f50e803499d64', handleOnClose: () => this.toggleLanguageDialog() }))), h("div", { key: '5f751d324bea65a722d60643f7a55a83648dbff9', class: "zonos--invoice-footer-icon-wrapper" }, h("div", { key: '041e633d638437535b04029bcc0173f69dc8861c', class: "zonos--invoice-footer-logo" }, h("zonos-text", { key: '57adb6eb396406aa2e1bf01e404fd53bc2c9c2cf', textColor: colorDesktop }, translate('Powered by')), h("a", { key: '6e87d992ab4d97d2edf7be4ee3d2a07d77dd93ea', href: "https://zonos.com", target: "_blank", title: "Zonos website" }, h("zonos-icon", { key: 'f13be4e13b4991b65f052587feba6e0b08382332', autoHeight: true, content: ZonosWordmark, size: 42 }))), h("div", { key: '44dbef690ef8088bfc30f2fc7dc83f693cd530f4', class: "dot" }), h("a", { key: '341ceb26c07e9d0aa1f273fc8ba0e92a7ddfb93b', href: "https://zonos.com/docs/legal/zonos-privacy-policy", target: "_blank" }, h("zonos-text", { key: '47b7c26113144d942fc98f1dd87883f818e2ef2a', textColor: colorDesktop }, translate('Privacy policy')))))));
58
+ ]) }, h("zonos-language-select", { key: 'fe017a6300484fc2e657b9f286438f23861a9a96', handleOnClose: () => this.toggleLanguageDialog() }))), h("div", { key: 'b9513e7ab5ee4e809d52074fb2c0950a7ac4bfe5', class: "zonos--invoice-footer-icon-wrapper" }, h("div", { key: '55ee92bab8cc5dc6983705b925089cca4083fe42', class: "zonos--invoice-footer-logo" }, h("zonos-text", { key: 'c8bc7791da058aee313b02797b4555ef5b6ff689', textColor: colorDesktop }, translate('Powered by')), h("a", { key: '4493b09d84504d4f797fa0d391cae79ba2266611', href: "https://zonos.com", target: "_blank", title: "Zonos website" }, h("zonos-icon", { key: '8c79f8ef0c16d4bb0210e9b7481bc519b97bbddb', autoHeight: true, content: ZonosWordmark, size: 42 }))), h("div", { key: 'ee6b57b36973750637e0f66f4e883fe7c32acf23', class: "dot" }), h("a", { key: '7aebd09ef1aea4bd9b4a4ed48ffb207e8ed32978', href: "https://zonos.com/docs/legal/zonos-privacy-policy", target: "_blank" }, h("zonos-text", { key: '11e7cbb7531b396255374dbf0528f603145bc0b5', textColor: colorDesktop }, translate('Privacy policy')))))));
59
59
  }
60
60
  static get is() { return "zonos-invoice-footer"; }
61
61
  static get encapsulation() { return "shadow"; }
@@ -39,13 +39,13 @@ export class ZonosInvoiceReview {
39
39
  }
40
40
  render() {
41
41
  const titleTextColor = this.isMobile ? 'gray-1000' : 'gray-800';
42
- return (h(Host, { key: '52bdf36710017e5fa9edc0c138639a06cb5d05c5', class: classes([
42
+ return (h(Host, { key: 'b1dbfed233d47a45ee1e37408d086593049c64d6', class: classes([
43
43
  'zonos--invoice-review zonos--elements',
44
44
  this.isMobile && 'mobile',
45
45
  this.isTablet && 'tablet',
46
- ]) }, h("div", { key: '3511c440fbf6ae155eca4d3a492f149dbfdef4c6', class: "zonos--title" }, h("zonos-text", { key: '8760547d3874af10a3b7e91e294ac6e68348db4f', textColor: titleTextColor, type: 'semiBoldLabel' }, translate('Pay [organizationName]', {
46
+ ]) }, h("div", { key: 'fa1cb0796cc5ffd31488c730da1e21f6a7c93c8d', class: "zonos--title" }, h("zonos-text", { key: '3759a2ebb1ae8456139fb053d32a64ace12917e7', textColor: titleTextColor, type: 'semiBoldLabel' }, translate('Pay [organizationName]', {
47
47
  organizationName: zonosStore.organizationName,
48
- }))), h("div", { key: '09cd06a131b0e429e4797cea8eaf41b05cb7b676', class: "zonos--total-pay" }, renderFallback({
48
+ }))), h("div", { key: 'b5b0c86569fdc26465ea9ac585c5ea5c2b9172bc', class: "zonos--total-pay" }, renderFallback({
49
49
  content: (h("zonos-text", { type: 'secondaryPageHeader' }, renderCheckoutCurrency({
50
50
  amount: invoiceStore.amountTotalDue || 0,
51
51
  isForeign: true,
@@ -12,10 +12,10 @@ export class ZonosInvoiceSubtotal {
12
12
  this.isMobile = false;
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'a8d7a91a69c2ea3aeee0788f4d9523e1e65915eb', class: classes([
15
+ return (h(Host, { key: '869e194bb991686647a27c85e3287f8c87013697', class: classes([
16
16
  'zonos--invoice-subtotal zonos--elements',
17
17
  this.isMobile && 'mobile',
18
- ]) }, h("table", { key: 'fb299d6ea07b48c099fca14e0c16369bf7b93955', class: "zonos--invoice-table" }, h("tr", { key: '5b01748b535af171bed832076fcfeb5308279808', class: "zonos--row zonos--invoice-total" }, h("td", { key: '829797e7d5560c6f73b661cdc53b473c57c7ad2f', class: "zonos--column" }), h("td", { key: 'cc75308e6470b4fa12182001467e7d2ca7915405', class: "zonos--column zonos--invoice-subtotal-title" }, h("zonos-text", { key: '38c9de7d3393a999bc06a7bafe033aefa45ead5c', type: "semiBoldLabel" }, translate('Payment total'))), h("td", { key: '962069d60839b82e374d3c4aae3b2a6709a82017', class: "zonos--column zonos--invoice-subtotal-price" }, renderFallback({
18
+ ]) }, h("table", { key: '4e3a87b6ceeba8663c7d41797826e92a1d8df873', class: "zonos--invoice-table" }, h("tr", { key: '4cc0be3427ded6e3dfc92fca9d6acf69915a5d96', class: "zonos--row zonos--invoice-total" }, h("td", { key: 'ca4cefc97914df89530a6ba06f93412773685d13', class: "zonos--column" }), h("td", { key: '7cad6266e244446fef196403f4e1628b4656c680', class: "zonos--column zonos--invoice-subtotal-title" }, h("zonos-text", { key: '311ce310181fec1db2cd31e92e210d345e0c2871', type: "semiBoldLabel" }, translate('Payment total'))), h("td", { key: '2aa6e7fb76e8a7c0d2b1c56fdcdf63ed2b3bed82', class: "zonos--column zonos--invoice-subtotal-price" }, renderFallback({
19
19
  content: (h("zonos-text", { type: "semiBoldLabel" }, renderCheckoutCurrency({
20
20
  amount: invoiceStore.amountTotalDue || 0,
21
21
  isForeign: true,
@@ -37,16 +37,16 @@ export class ZonosBadge {
37
37
  this.loading = false;
38
38
  }
39
39
  render() {
40
- return (h(Host, { key: '219feb5a48098f89db6f6f338b54404a0d5368c6', class: classes(['zonos--elements zonos--badge']), style: {
40
+ return (h(Host, { key: '91ff0cbf64075ac1cb47691dd114b4205253b8e9', class: classes(['zonos--elements zonos--badge']), style: {
41
41
  '--zonos--font-family': zonosStoreFontFamily(),
42
- } }, h("div", { key: '9e37e1cdeef718fcdd8ee8243ef29bebd42bbc71', class: classes([
42
+ } }, h("div", { key: '129b78caecaab54f8eb0dcb42fb2e398c2cfe2e6', class: classes([
43
43
  'zonos--badge-content',
44
44
  this.badgeColor,
45
45
  this.rounded && 'rounded',
46
46
  this.iconRight && 'icon-right',
47
47
  this.size,
48
48
  this.bold && 'bold',
49
- ]) }, this.icon, h("zonos-text", { key: '9c538e2fe65246332655820eee13b10e7c50327b', textColor: `${this.badgeColor}-800` }, h("slot", { key: 'df06a399a7541a63703383b8340c594541cb8067' })), this.dismissHandler && (h("zonos-icon", { key: 'bc972c68bb3eb511282bd8988b6602f4604d3e39', "aria-label": "Remove action", class: "zonos--badge-dismiss", content: RemoveLineIcon, onClick: () => { var _a; return (_a = this.dismissHandler) === null || _a === void 0 ? void 0 : _a.call(this); } })))));
49
+ ]) }, this.icon, h("zonos-text", { key: '69b9ef2d3d15e6753625aea7c96fe492583e50fe', textColor: `${this.badgeColor}-800` }, h("slot", { key: '7237a96503ebdd708a03f3571dc5f68abe6af496' })), this.dismissHandler && (h("zonos-icon", { key: '021350687aa80ccae8c32b2f4b7af5acc4469608', "aria-label": "Remove action", class: "zonos--badge-dismiss", content: RemoveLineIcon, onClick: () => { var _a; return (_a = this.dismissHandler) === null || _a === void 0 ? void 0 : _a.call(this); } })))));
50
50
  }
51
51
  static get is() { return "zonos-badge"; }
52
52
  static get encapsulation() { return "shadow"; }
@@ -184,13 +184,13 @@ export class ZonosButton {
184
184
  const borderStyle = getBorderRadius({
185
185
  overrideBorderStyle: this.borderStyle,
186
186
  });
187
- return (h(Host, { key: '8172735394435d60f27ff0b55d3bcd57c7327487', class: classes(['zonos--elements']), "data-theme": this.theme || buttonTheme, disabled: disabled, style: styles({
187
+ return (h(Host, { key: 'd07f698c62e64fe404dc346e17aa4ebb23af635a', class: classes(['zonos--elements']), "data-theme": this.theme || buttonTheme, disabled: disabled, style: styles({
188
188
  '--zonos--background-color': backgroundColor,
189
189
  '--zonos--border-radius': borderStyle,
190
190
  '--zonos--color': color,
191
191
  '--zonos--font-family': zonosStoreFontFamily(),
192
192
  '--zonos--font-weight': this.bold ? 'bold' : 'normal',
193
- }) }, h("button", Object.assign({ key: 'c0afe56a3a2740aab6ed98311d6ea5d8a40fc390' }, this.inheritedAttributes, { class: classes([
193
+ }) }, h("button", Object.assign({ key: '721b3b8c4dbc0666de04510c091b7be558a7ede3' }, this.inheritedAttributes, { class: classes([
194
194
  this.hasIcon && 'has-icon',
195
195
  this.hasContent && 'has-content',
196
196
  this.noBackground && 'no-background',
@@ -205,7 +205,7 @@ export class ZonosButton {
205
205
  backgroundColor && variant === 'standard' && 'override-background',
206
206
  ]), disabled: disabled, style: {
207
207
  justifyContent: this.justifyContent,
208
- } }), this.loading && (h("div", { key: '042ee0a9b02356aaf5b9332121e810782a3efff3', class: "zonos--spinner-wrapper" }, h("zonos-spinner", { key: '2973bb0afdddcfffd1d17bf423776dace52d9f7f', size: 16, spinnerColor: spinnerColor }))), !this.loading && !this.iconRight && this.icon, h("slot", { key: '45c56c5839daf9bff44b424f2de43f02d37ca7cc', onSlotchange: this.handleSlotChange }), !this.loading && this.iconRight && this.icon)));
208
+ } }), this.loading && (h("div", { key: 'c60e5e9d71ddf3750fbbcb911badca7885710518', class: "zonos--spinner-wrapper" }, h("zonos-spinner", { key: '3c863893cf81663c5a13dfdbd44b27828f01de31', size: 16, spinnerColor: spinnerColor }))), !this.loading && !this.iconRight && this.icon, h("slot", { key: '7856e2a360552702a19ca58a0de763763c158749', onSlotchange: this.handleSlotChange }), !this.loading && this.iconRight && this.icon)));
209
209
  }
210
210
  static get is() { return "zonos-button"; }
211
211
  static get encapsulation() { return "shadow"; }
@@ -23,16 +23,16 @@ export class ZonosCard {
23
23
  customRoundRadius: `${this.borderRadius}px`,
24
24
  overrideBorderStyle: 'ROUNDED',
25
25
  });
26
- return (h(Host, { key: 'ae124207be3fbddbd445d74cdf31085401a09c67', style: {
26
+ return (h(Host, { key: '9abda7f00c442317f63521444b6eeb21f294d2bb', style: {
27
27
  '--zonos--font-family': zonosStoreFontFamily(),
28
- } }, h("div", { key: '43fe2ffcb7caa0754c93f6d94898156f5169139b', class: classes(['styled-card']), style: {
28
+ } }, h("div", { key: '2e1f1e4b59ce9ce87c7a22e58f0ae6c5dd0f0388', class: classes(['styled-card']), style: {
29
29
  '--zonos--background-color': backgroundColor,
30
30
  '--zonos--border-radius': borderRadius,
31
31
  padding: this.spacing,
32
- } }, this.label && (h("header", { key: '6839065e2e630a841d6ecd7f03b19a93a988e49a', class: "card-header", style: { padding: this.spacing } }, h("zonos-text", { key: '498435bbbb60cc6d1d13a304aad321107bd6feaf', type: "subheader" }, this.label), h("h-stack", { key: '4de3f042a72b16be374209b393cb174fc7d1b670', spacing: 8 }, this.actions))), h("slot", { key: 'add9dac3d8b9a50c0caa37d245f632c6a5e64d7f' }), (this.footerActions || this.footerContent) && (h("footer", { key: 'e83f37ed24b44d9b7316579ee28ea51a3da119d8', class: "card-footer", style: {
32
+ } }, this.label && (h("header", { key: '215b106d17a37b8eb28e5ae730f0ff5401c02331', class: "card-header", style: { padding: this.spacing } }, h("zonos-text", { key: '31363bdd23ac0ad625c6442fcf7110e559fa0201', type: "subheader" }, this.label), h("h-stack", { key: '10b338eaf67a92b84d7a9434f52e4c111a15f561', spacing: 8 }, this.actions))), h("slot", { key: 'afd067cc47d74d109f4fb4768fc8e0dfa4d88e70' }), (this.footerActions || this.footerContent) && (h("footer", { key: '17ee21b433ca723724c74e379b03b9c63a7b53eb', class: "card-footer", style: {
33
33
  height: this.footerHeight ? `${this.footerHeight}px` : 'auto',
34
34
  padding: this.spacing,
35
- } }, h("div", { key: '685721d5f7f51c99438f4ddf23cf75122db3223c' }, this.footerContent), h("h-stack", { key: '61a44c918aea4994c10b16045564b45135296852', spacing: 8 }, this.footerActions))))));
35
+ } }, h("div", { key: 'fd2680f6ba67a7afcb8001ba2d9e0eff49b74675' }, this.footerContent), h("h-stack", { key: 'f7c716b48b470082b5196ddaeac189e476a4c3fd', spacing: 8 }, this.footerActions))))));
36
36
  }
37
37
  static get is() { return "zonos-card"; }
38
38
  static get encapsulation() { return "shadow"; }
@@ -51,14 +51,14 @@ export class ZonosCheckbox {
51
51
  customRoundRadius: '4px',
52
52
  overrideBorderStyle: this.borderStyle,
53
53
  });
54
- return (h(Host, { key: '68ce8866560fc44b0f0ccdc2c62ce6f12662b732', class: classes(['zonos--elements zonos--checkbox']), style: {
54
+ return (h(Host, { key: '2021966f1236912bd2970023fbc44165c7b6ed7c', class: classes(['zonos--elements zonos--checkbox']), style: {
55
55
  '--zonos--background-color': backgroundColor,
56
56
  '--zonos--border-radius': borderStyle,
57
57
  '--zonos--font-family': zonosStoreFontFamily(),
58
58
  '--zonos--size': `${this.size}px`,
59
- } }, h("label", { key: '296bc060857897219204b2f7c92f14fe95d9a4e0', class: classes([this.isDisabled && 'disabled']), htmlFor: this.inputId }, h("input", { key: '0995da201de091b958f8a7e0aa8e160d3806c9df', checked: this.isChecked, disabled: this.isDisabled, hidden: true, id: this.inputId, onChange: e => {
59
+ } }, h("label", { key: 'b49919481676d8360a07d9cd456ce149559b9a09', class: classes([this.isDisabled && 'disabled']), htmlFor: this.inputId }, h("input", { key: '5d3382b19c8f5207e5a505ff09248441969aa5c7', checked: this.isChecked, disabled: this.isDisabled, hidden: true, id: this.inputId, onChange: e => {
60
60
  this.checkboxSelected.emit(e.target.checked);
61
- }, type: "checkbox" }), h("span", { key: '9ea1f4c9e4eecf9ac151d10318fcdec7e3a242e2', class: "checkmark-container" }, h("svg", { key: '56a08834db133070b05d00c95017ed2e35a27d7f', class: "checkmark", color: checkmarkColor, fill: "none", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'c137dbb9448ca58d7080b48f7e8e0ca0ce534ef9', "clip-rule": "evenodd", d: "M17.456 7.404a.75.75 0 0 1 .14 1.052l-6.5 8.5a.75.75 0 0 1-1.126.074l-4-4a.75.75 0 0 1 1.06-1.06l3.395 3.394 5.98-7.82a.75.75 0 0 1 1.05-.14Z", fill: "currentColor", "fill-rule": "evenodd" }))), this.label && (h("zonos-text", { key: 'bdff3daf6e88591d3af0567c74569608e6dabb4e', size: this.fontSize }, this.label)))));
61
+ }, type: "checkbox" }), h("span", { key: 'fc35e3d6c1a3380b8f2b012951b5cf50e42e9735', class: "checkmark-container" }, h("svg", { key: 'c134d6444c50ff2294c7685f2a3ed52a6ef070b6', class: "checkmark", color: checkmarkColor, fill: "none", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '635394bdaa83c0d222f995a805128b3ccfae71a0', "clip-rule": "evenodd", d: "M17.456 7.404a.75.75 0 0 1 .14 1.052l-6.5 8.5a.75.75 0 0 1-1.126.074l-4-4a.75.75 0 0 1 1.06-1.06l3.395 3.394 5.98-7.82a.75.75 0 0 1 1.05-.14Z", fill: "currentColor", "fill-rule": "evenodd" }))), this.label && (h("zonos-text", { key: '0626598dc95151a065a615ffaf99fd59030d2a29', size: this.fontSize }, this.label)))));
62
62
  }
63
63
  static get is() { return "zonos-checkbox"; }
64
64
  static get encapsulation() { return "shadow"; }
@@ -77,17 +77,17 @@ export class ZonosCheckoutProgressTabs {
77
77
  color: labelSelectedColor,
78
78
  })
79
79
  : labelSelectedColor;
80
- return (h(Host, { key: '2bc73268f4413887abe526ab1ac01471627e9fbc', class: "zonos--elements", style: {
80
+ return (h(Host, { key: 'e5c68ba81756351ca14ee7cecc1fc31070aea2f6', class: "zonos--elements", style: {
81
81
  '--zonos--color': contrastLabelColor,
82
82
  '--zonos--progress-percent': this.getTotalSuccessStep(),
83
- } }, h("div", { key: 'fb812b9d4e6ba72f26b4f31ccf8444500a72f277', class: "zonos--tab-wrapper" }, Object.values(cartStore.tabItems).map((tab, index) => {
83
+ } }, h("div", { key: '64c20db4eb660505af2e97c07e9658f9866cfd57', class: "zonos--tab-wrapper" }, Object.values(cartStore.tabItems).map((tab, index) => {
84
84
  const isSelected = tab.value === selectedStep;
85
85
  return (h("button", { "aria-label": `Tab ${tab.label}`, class: classes([
86
86
  'zonos--tab-item',
87
87
  tab.value === selectedStep && 'selected',
88
88
  tab.isDone && 'done',
89
89
  ]), disabled: !this.isTabClickable(tab.value), key: tab.value, onClick: () => this.setTabSelected(tab.value) }, h("div", { class: "zonos--tab-index" }, h("zonos-text", { class: "zonos--tab-index-label", textColor: isSelected ? contrastLabelColor : 'gray-1000', type: "label" }, index + 1), h("zonos-icon", { class: "zonos--tab-index-done-icon", content: TabCheckmark, iconColor: isSelected ? contrastLabelColor : 'gray-1000' })), h("zonos-text", { textColor: isSelected ? contrastLabelColor : 'gray-1000', type: "label" }, translate(tab.label))));
90
- })), h("div", { key: '0dcaeb8d709f06df00b965c7aa081294a060120e', class: "zonos--tab-progress" }, h("div", { key: '8faef8257c4a0244e1ee5f3ac5752904ecd63d96', class: "zonos--progress-bar-fill" }))));
90
+ })), h("div", { key: 'e3257fb953c3c76e946a47334a16a2bd802ceb10', class: "zonos--tab-progress" }, h("div", { key: '2e8a3905cf361d1138846aa8f8153b92e80c5fca', class: "zonos--progress-bar-fill" }))));
91
91
  }
92
92
  static get is() { return "zonos-checkout-progress-tabs"; }
93
93
  static get encapsulation() { return "shadow"; }
@@ -48,10 +48,10 @@ export class ZonosCollapse {
48
48
  // set overflow to hidden to prevent content from showing when collapsed
49
49
  this.el.style.overflow = 'hidden';
50
50
  }
51
- return (h(Host, { key: '4266c0d5399bbcecf4725cfda02ee88fb3b74843', class: 'zonos--elements zonos--collapse', style: {
51
+ return (h(Host, { key: '9a7c1c2e4f960e34fa81af1ce3bc509857082a27', class: 'zonos--elements zonos--collapse', style: {
52
52
  '--zonos--font-family': zonosStoreFontFamily(),
53
53
  height: this.getElementHeight(),
54
- } }, h("div", { key: 'ca2fb1d9b821402ff26e171f678083d60b401a22' }, h("iframe", { key: 'ba726164295930bba21d115b732a7bd2edad18e0', class: "height-change-listener", tabindex: "-1", title: "collapse-height-change-listener" }), h("slot", { key: '1454a6f84d2e90be4b79868c99dfefdb21baf9d9' }))));
54
+ } }, h("div", { key: 'e68bac246e123eaf18d3b0a47c38b60ddd9c297a' }, h("iframe", { key: '011961e0e1608ba664ba366a16347c843d4280b3', class: "height-change-listener", tabindex: "-1", title: "collapse-height-change-listener" }), h("slot", { key: '8234271563b9a56b8507374e4aa9881ae8f699ba' }))));
55
55
  }
56
56
  static get is() { return "zonos-collapse"; }
57
57
  static get encapsulation() { return "shadow"; }
@@ -108,13 +108,13 @@ export class ZonosConfirmDialog {
108
108
  const borderStyle = getBorderRadius();
109
109
  // Get theme for the update dialog, inherit from the theme, no from this component theme
110
110
  const theme = getZonosStoreTheme(zonosStore.appearance.theme);
111
- return (h(Host, { key: '459abd25f9719554dc3b4387a660618056909846', class: classes([this.dialogOpen && 'open', 'zonos--elements']), "data-dialog-type": this.dialogType, "data-theme": theme, style: {
111
+ return (h(Host, { key: 'a91852d7fabd934497c5a87ad42b206dcee15ae7', class: classes([this.dialogOpen && 'open', 'zonos--elements']), "data-dialog-type": this.dialogType, "data-theme": theme, style: {
112
112
  '--zonos--border-radius': borderStyle,
113
113
  '--zonos--dialog-width': `${this.dialogWidth}px`,
114
114
  '--zonos--font-family': zonosStoreFontFamily(),
115
- } }, h("div", { key: 'f8a3c9bdbad91b046b3579eb140aad74e2784f8d', class: "zonos--backdrop", tabIndex: -1 }), h("div", { key: 'b41d27616223f89adb523269a3a8b982cd3559c7', class: classes(['zonos--confirm-layout', this.dialogIntent]), onClick: e => this.clickOutsideDialogHandler(e) }, h("div", { key: '69e7837a2aaaeea468e4887d14cbb0ea61d5f24a', class: "zonos--confirm-dialog", onBlur: () => {
115
+ } }, h("div", { key: '3074b85548fd1dc5023611423c52fbbd77a3e959', class: "zonos--backdrop", tabIndex: -1 }), h("div", { key: 'f326b54e65bddf562d4b9649b8964831d0545db6', class: classes(['zonos--confirm-layout', this.dialogIntent]), onClick: e => this.clickOutsideDialogHandler(e) }, h("div", { key: '0ab0ae9fecdca87acb7adc33c14408978a40a009', class: "zonos--confirm-dialog", onBlur: () => {
116
116
  this.focusDialog();
117
- } }, h("div", { key: '28ed6e2da0c8c56a00c46df985f21cf74c551894', class: "wrapper" }, h("div", { key: 'f20b3f00aeaef6fc306766a52607253554005cf4', class: "icon-wrapper" }, this.renderIcon()), h("div", { key: '7bb44bb7a880c599a8cc4615df48257fd0f9c19d', class: "content" }, h("div", { key: '584603b01b26b5d242f14c67a14d7b092d54b668', class: "title" }, h("zonos-text", { key: '028e06e106587778f6da2301ee44727ab1bf487f', type: "subheader" }, this.dialogTitle)), this.dialogSubtitle && (h("div", { key: 'c986563425dc6130fa154ce3c8e15c2aa03fb6cb', class: "subtitle" }, h("zonos-text", { key: '675899ceea2fd2de38ca8f87aa6ca69e4c7d8fc7', textColor: "gray-800" }, this.dialogSubtitle)))), h("div", { key: '8a034df1cd91f07e870fd6eccebc2f382edf59fb', class: "footer" }, this.dialogType === 'confirm' && (h("zonos-button", { key: '72e643fff73dabe0d5381e6ffc7f2237ef00f322', backgroundColor: "gray-0", class: "cancel-button", onClick: () => this.closeDialogHandler(), size: "lg", withBoxShadow: true }, this.dialogCancelBtnText || translate('Cancel'))), h("zonos-button", { key: 'e247f450feef41b44688b937b38df8e061f386a3', class: "confirm-button", onClick: () => this.confirmDialogHandler(), size: "lg", variant: this.getButtonConfirmVariant() }, this.dialogConfirmBtnText)))))));
117
+ } }, h("div", { key: 'd168c39fa5a31a107cbe4ff325cf4184ee8b2ad3', class: "wrapper" }, h("div", { key: 'c7cdca4f45e22e36393616fa3970556477902ead', class: "icon-wrapper" }, this.renderIcon()), h("div", { key: '1dcf75c8657a414662271a4c93b0698bd174b010', class: "content" }, h("div", { key: '191344284e3173b22a37c3383c49cb51e0fb54a5', class: "title" }, h("zonos-text", { key: '539b24aa36afa5a6fe046ac37eda57ccc1170124', type: "subheader" }, this.dialogTitle)), this.dialogSubtitle && (h("div", { key: '53d54141bdcc1f0df661df450f5393e657410025', class: "subtitle" }, h("zonos-text", { key: '0a8b74eceb87355ad6869e1338a708bb0182cab8', textColor: "gray-800" }, this.dialogSubtitle)))), h("div", { key: '68fd8147f7834074392be28f0053cf2f802faf69', class: "footer" }, this.dialogType === 'confirm' && (h("zonos-button", { key: 'a8be0abcfc980ec720d64ec0dc5cdacf5d19dadb', backgroundColor: "gray-0", class: "cancel-button", onClick: () => this.closeDialogHandler(), size: "lg", withBoxShadow: true }, this.dialogCancelBtnText || translate('Cancel'))), h("zonos-button", { key: 'c72ea83faa9cd24c5e6f5894045e07d4639a5fc4', class: "confirm-button", onClick: () => this.confirmDialogHandler(), size: "lg", variant: this.getButtonConfirmVariant() }, this.dialogConfirmBtnText)))))));
118
118
  }
119
119
  static get is() { return "zonos-confirm-dialog"; }
120
120
  static get encapsulation() { return "shadow"; }