@zonos/elements 1.3.15-alpha.2 → 1.3.15

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 (415) hide show
  1. package/dist/cjs/RemoveIcon-6c79a2a1.js +5 -0
  2. package/dist/cjs/{cart-1b1d39af.js → cart-db549f04.js} +976 -138
  3. package/dist/cjs/containsNonLatinChars-2be5129b.js +24 -0
  4. package/dist/cjs/{getBorderRadius-c8cc2bb3.js → getBorderRadius-44b3eca1.js} +4 -6
  5. package/dist/cjs/index-654a6001.js +1361 -0
  6. package/dist/cjs/isCheckoutMobile-f491ca7c.js +8 -0
  7. package/dist/cjs/{isDarkColor-f5473002.js → isDarkColor-01f45d3f.js} +1 -1
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/cjs/{submitGtag-ab287a34.js → submitGtag-fd8acad5.js} +21 -2
  10. package/dist/cjs/zonos-address_8.cjs.entry.js +642 -0
  11. package/dist/cjs/zonos-badge_2.cjs.entry.js +9 -9
  12. package/dist/cjs/zonos-banner.cjs.entry.js +3 -3
  13. package/dist/cjs/zonos-button_3.cjs.entry.js +192 -0
  14. package/dist/cjs/zonos-card_2.cjs.entry.js +12 -12
  15. package/dist/cjs/{zonos-cart-items_10.cjs.entry.js → zonos-cart-items_9.cjs.entry.js} +144 -118
  16. package/dist/cjs/zonos-checkout.cjs.entry.js +19 -18
  17. package/dist/cjs/zonos-component.cjs.entry.js +2 -2
  18. package/dist/cjs/zonos-controller.cjs.entry.js +6 -6
  19. package/dist/cjs/zonos-country-flag.cjs.entry.js +5 -5
  20. package/dist/cjs/zonos-country-select_3.cjs.entry.js +14 -14
  21. package/dist/cjs/zonos-elements.cjs.js +10 -10
  22. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +9 -9
  23. package/dist/cjs/zonos-hello.cjs.entry.js +6 -6
  24. package/dist/cjs/zonos-input.cjs.entry.js +57 -0
  25. package/dist/cjs/zonos-link.cjs.entry.js +2 -2
  26. package/dist/cjs/zonos-logo.cjs.entry.js +4 -4
  27. package/dist/cjs/zonos-notification.cjs.entry.js +5 -5
  28. package/dist/cjs/zonos-payment.cjs.entry.js +7 -7
  29. package/dist/cjs/zonos-select-dialog-header_2.cjs.entry.js +7 -7
  30. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +8 -6
  31. package/dist/cjs/zonos-text.cjs.entry.js +3 -2
  32. package/dist/cjs/{zonosStore-aee974e0.js → zonosStore-d8bb0bda.js} +1 -1
  33. package/dist/collection/collection-manifest.json +5 -1
  34. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-display/zonos-address-display.css +62 -0
  35. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-display/zonos-address-display.js +80 -0
  36. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-form/zonos-address-form.css +59 -0
  37. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-form/zonos-address-form.js +148 -0
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-update-dialog.css +115 -0
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-update-dialog.js +429 -0
  40. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.css +1 -1
  41. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +1 -1
  42. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.css +2 -2
  43. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.css +4 -4
  44. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +5 -3
  45. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.css +9 -9
  46. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.js +2 -2
  47. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.css +5 -5
  48. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.css +16 -16
  49. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +6 -4
  50. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +8 -8
  51. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +135 -20
  52. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.css +5 -5
  53. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +7 -7
  54. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +1 -1
  55. package/dist/collection/components/common/component-template/zonos-link/zonos-link.js +1 -1
  56. package/dist/collection/components/common/zonos-badge/zonos-badge.css +1 -1
  57. package/dist/collection/components/common/zonos-badge/zonos-badge.js +3 -3
  58. package/dist/collection/components/common/zonos-banner/zonos-banner.css +3 -3
  59. package/dist/collection/components/common/zonos-button/zonos-button.css +10 -9
  60. package/dist/collection/components/common/zonos-button/zonos-button.js +17 -8
  61. package/dist/collection/components/common/zonos-card/zonos-card.css +9 -9
  62. package/dist/collection/components/common/zonos-card/zonos-card.js +3 -3
  63. package/dist/collection/components/common/zonos-checkbox/zonos-checkbox.css +2 -1
  64. package/dist/collection/components/common/zonos-checkbox/zonos-checkbox.js +22 -4
  65. package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.css +1 -1
  66. package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.js +3 -3
  67. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +2 -2
  68. package/dist/collection/components/common/zonos-country-select/zonos-country-select.css +5 -5
  69. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +2 -2
  70. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.css +1 -1
  71. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +2 -2
  72. package/dist/collection/components/common/zonos-dialog/zonos-dialog.css +6 -6
  73. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +6 -4
  74. package/dist/collection/components/common/zonos-input/zonos-input.css +176 -0
  75. package/dist/collection/components/common/zonos-input/zonos-input.js +193 -0
  76. package/dist/collection/components/common/zonos-language-select/zonos-language-select.css +4 -4
  77. package/dist/collection/components/common/zonos-language-select/zonos-language-select.js +2 -2
  78. package/dist/collection/components/common/zonos-logo/zonos-logo.js +2 -2
  79. package/dist/collection/components/common/zonos-notification/zonos-notification.css +3 -3
  80. package/dist/collection/components/common/zonos-notification/zonos-notification.js +2 -2
  81. package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.css +1 -1
  82. package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.js +2 -2
  83. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.css +2 -2
  84. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +4 -2
  85. package/dist/collection/components/common/zonos-text/zonos-text.js +1 -0
  86. package/dist/collection/components/common/zonos-tooltip/zonos-tooltip.css +1 -1
  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/component-template/zonos-component/zonos-component.js +1 -1
  90. package/dist/collection/components/hello/zonos-hello/zonos-hello.css +18 -18
  91. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.css +10 -52
  92. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +2 -2
  93. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.css +4 -4
  94. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +3 -3
  95. package/dist/collection/components/main/zonos-controller.js +2 -2
  96. package/dist/collection/components/store/checkout/stripe.js +153 -14
  97. package/dist/collection/components/store/translationStore/strings.arabic.js +36 -6
  98. package/dist/collection/components/store/translationStore/strings.base.js +36 -6
  99. package/dist/collection/components/store/translationStore/strings.chinese.js +36 -6
  100. package/dist/collection/components/store/translationStore/strings.danish.js +36 -6
  101. package/dist/collection/components/store/translationStore/strings.dutch.js +36 -6
  102. package/dist/collection/components/store/translationStore/strings.french.js +36 -6
  103. package/dist/collection/components/store/translationStore/strings.german.js +36 -6
  104. package/dist/collection/components/store/translationStore/strings.hebrew.js +36 -6
  105. package/dist/collection/components/store/translationStore/strings.indonesian.js +36 -6
  106. package/dist/collection/components/store/translationStore/strings.italian.js +36 -6
  107. package/dist/collection/components/store/translationStore/strings.japanese.js +36 -6
  108. package/dist/collection/components/store/translationStore/strings.korean.js +36 -6
  109. package/dist/collection/components/store/translationStore/strings.norwegian.js +36 -6
  110. package/dist/collection/components/store/translationStore/strings.polish.js +36 -6
  111. package/dist/collection/components/store/translationStore/strings.portuguese.js +36 -6
  112. package/dist/collection/components/store/translationStore/strings.russian.js +36 -6
  113. package/dist/collection/components/store/translationStore/strings.spanish.js +36 -6
  114. package/dist/collection/components/store/translationStore/strings.swedish.js +36 -6
  115. package/dist/collection/components/store/translationStore/strings.turkish.js +36 -6
  116. package/dist/collection/components/store/translationStore/strings.vietnamese.js +36 -6
  117. package/dist/collection/components/stripe/zonos-address/zonos-address.css +2 -2
  118. package/dist/collection/components/stripe/zonos-address/zonos-address.js +3 -71
  119. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.css +1 -1
  120. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +29 -5
  121. package/dist/collection/components/stripe/zonos-payment/zonos-payment.css +1 -1
  122. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +1 -1
  123. package/dist/collection/components/utils/checkout/buildTranslateRequestBody.js +98 -0
  124. package/dist/collection/components/utils/containsNonLatinChars.js +10 -8
  125. package/dist/collection/components/utils/getBorderRadius.js +3 -5
  126. package/dist/collection/styles/stripe/defaultVariable.js +2 -2
  127. package/dist/collection/types/checkout/TranslatedText.js +1 -0
  128. package/dist/collection/types/checkout/api/ValidateAddressRequest.js +1 -0
  129. package/dist/components/containsNonLatinChars.js +21 -0
  130. package/dist/components/getBorderRadius.js +3 -5
  131. package/dist/components/stripe.js +255 -4545
  132. package/dist/components/trackConversionEvent.js +1 -1
  133. package/dist/components/translationStore.js +5131 -0
  134. package/dist/components/zonos-address-display.d.ts +11 -0
  135. package/dist/components/zonos-address-display.js +6 -0
  136. package/dist/components/zonos-address-display2.js +64 -0
  137. package/dist/components/zonos-address-form.d.ts +11 -0
  138. package/dist/components/zonos-address-form.js +6 -0
  139. package/dist/components/zonos-address-form2.js +84 -0
  140. package/dist/components/zonos-address-update-dialog.d.ts +11 -0
  141. package/dist/components/zonos-address-update-dialog.js +6 -0
  142. package/dist/components/zonos-address-update-dialog2.js +264 -0
  143. package/dist/components/zonos-address2.js +4 -94
  144. package/dist/components/zonos-badge2.js +4 -4
  145. package/dist/components/zonos-banner2.js +1 -1
  146. package/dist/components/zonos-button2.js +18 -9
  147. package/dist/components/zonos-card2.js +4 -4
  148. package/dist/components/zonos-cart-items2.js +2 -2
  149. package/dist/components/zonos-cart-subtotal2.js +3 -2
  150. package/dist/components/zonos-checkbox2.js +15 -6
  151. package/dist/components/zonos-checkout-finish2.js +27 -7
  152. package/dist/components/zonos-checkout-footer2.js +3 -3
  153. package/dist/components/zonos-checkout-payment2.js +3 -2
  154. package/dist/components/zonos-checkout-progress-tabs2.js +6 -5
  155. package/dist/components/zonos-checkout.js +72 -42
  156. package/dist/components/zonos-collapse2.js +2 -2
  157. package/dist/components/zonos-component.js +1 -1
  158. package/dist/components/zonos-controller.js +2 -2
  159. package/dist/components/zonos-country-select2.js +3 -3
  160. package/dist/components/zonos-custom-message2.js +3 -3
  161. package/dist/components/zonos-customer-info2.js +171 -30
  162. package/dist/components/zonos-dialog2.js +7 -5
  163. package/dist/components/zonos-hello-dialog-footer2.js +3 -3
  164. package/dist/components/zonos-hello-dialog2.js +6 -5
  165. package/dist/components/zonos-hello.js +3 -2
  166. package/dist/components/zonos-input.d.ts +11 -0
  167. package/dist/components/zonos-input.js +6 -0
  168. package/dist/components/zonos-input2.js +78 -0
  169. package/dist/components/zonos-language-select2.js +5 -4
  170. package/dist/components/zonos-link-authentication2.js +13 -6
  171. package/dist/components/zonos-link.js +1 -1
  172. package/dist/components/zonos-logo.js +2 -2
  173. package/dist/components/zonos-notification2.js +3 -3
  174. package/dist/components/zonos-payment2.js +2 -2
  175. package/dist/components/zonos-review2.js +3 -2
  176. package/dist/components/zonos-select-dialog-header2.js +3 -3
  177. package/dist/components/zonos-shipping-rich-radio2.js +5 -3
  178. package/dist/components/zonos-shipping2.js +4 -3
  179. package/dist/components/zonos-text2.js +1 -0
  180. package/dist/components/zonos-tooltip2.js +3 -3
  181. package/dist/components/zonos-v-stack2.js +2 -2
  182. package/dist/esm/RemoveIcon-f6715b36.js +3 -0
  183. package/dist/esm/{cart-10bcd2e0.js → cart-462e89a6.js} +976 -139
  184. package/dist/esm/containsNonLatinChars-2d8810c3.js +21 -0
  185. package/dist/esm/{getBorderRadius-8129b0cb.js → getBorderRadius-567f1786.js} +4 -6
  186. package/dist/esm/index-e063389c.js +1328 -0
  187. package/dist/esm/isCheckoutMobile-8846dccb.js +6 -0
  188. package/dist/esm/{isDarkColor-7a6d2d14.js → isDarkColor-7f62035a.js} +1 -1
  189. package/dist/esm/loader.js +3 -3
  190. package/dist/esm/{submitGtag-84886899.js → submitGtag-ac7c3c89.js} +21 -3
  191. package/dist/esm/zonos-address_8.entry.js +631 -0
  192. package/dist/esm/zonos-badge_2.entry.js +9 -9
  193. package/dist/esm/zonos-banner.entry.js +3 -3
  194. package/dist/esm/zonos-button_3.entry.js +186 -0
  195. package/dist/esm/zonos-card_2.entry.js +12 -12
  196. package/dist/esm/{zonos-cart-items_10.entry.js → zonos-cart-items_9.entry.js} +140 -113
  197. package/dist/esm/zonos-checkout.entry.js +14 -13
  198. package/dist/esm/zonos-component.entry.js +2 -2
  199. package/dist/esm/zonos-controller.entry.js +6 -6
  200. package/dist/esm/zonos-country-flag.entry.js +5 -5
  201. package/dist/esm/zonos-country-select_3.entry.js +14 -14
  202. package/dist/esm/zonos-elements.js +11 -11
  203. package/dist/esm/zonos-hello-dialog.entry.js +9 -9
  204. package/dist/esm/zonos-hello.entry.js +6 -6
  205. package/dist/esm/zonos-input.entry.js +53 -0
  206. package/dist/esm/zonos-link.entry.js +2 -2
  207. package/dist/esm/zonos-logo.entry.js +4 -4
  208. package/dist/esm/zonos-notification.entry.js +5 -5
  209. package/dist/esm/zonos-payment.entry.js +7 -7
  210. package/dist/esm/zonos-select-dialog-header_2.entry.js +7 -7
  211. package/dist/esm/zonos-shipping-rich-radio.entry.js +8 -6
  212. package/dist/esm/zonos-text.entry.js +3 -2
  213. package/dist/esm/{zonosStore-f3eef64b.js → zonosStore-33ff08ff.js} +1 -1
  214. package/dist/esm-es5/RemoveIcon-f6715b36.js +1 -0
  215. package/dist/esm-es5/cart-462e89a6.js +1 -0
  216. package/dist/esm-es5/containsNonLatinChars-2d8810c3.js +1 -0
  217. package/dist/esm-es5/getBorderRadius-567f1786.js +1 -0
  218. package/dist/esm-es5/index-e063389c.js +2 -0
  219. package/dist/esm-es5/isCheckoutMobile-8846dccb.js +1 -0
  220. package/dist/esm-es5/{isDarkColor-7a6d2d14.js → isDarkColor-7f62035a.js} +1 -1
  221. package/dist/esm-es5/loader.js +1 -1
  222. package/dist/esm-es5/submitGtag-ac7c3c89.js +1 -0
  223. package/dist/esm-es5/zonos-address_8.entry.js +1 -0
  224. package/dist/esm-es5/zonos-badge_2.entry.js +1 -1
  225. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  226. package/dist/esm-es5/zonos-button_3.entry.js +1 -0
  227. package/dist/esm-es5/zonos-card_2.entry.js +1 -1
  228. package/dist/esm-es5/zonos-cart-items_9.entry.js +1 -0
  229. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  230. package/dist/esm-es5/zonos-component.entry.js +1 -1
  231. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  232. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  233. package/dist/esm-es5/zonos-country-select_3.entry.js +1 -1
  234. package/dist/esm-es5/zonos-elements.js +1 -1
  235. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  236. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  237. package/dist/esm-es5/zonos-input.entry.js +1 -0
  238. package/dist/esm-es5/zonos-link.entry.js +1 -1
  239. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  240. package/dist/esm-es5/zonos-notification.entry.js +1 -1
  241. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  242. package/dist/esm-es5/zonos-select-dialog-header_2.entry.js +1 -1
  243. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  244. package/dist/esm-es5/zonos-text.entry.js +1 -1
  245. package/dist/esm-es5/{zonosStore-f3eef64b.js → zonosStore-33ff08ff.js} +1 -1
  246. package/dist/scripts/loadStripe.js +1 -1
  247. package/dist/scripts/loadZonos.js +1 -1
  248. package/dist/scripts/stripe.js +1 -1
  249. package/dist/scripts/zonos.js +1 -1
  250. package/dist/scripts/zonosBase.js +1 -1
  251. package/dist/types/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-display/zonos-address-display.d.ts +12 -0
  252. package/dist/types/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-form/zonos-address-form.d.ts +28 -0
  253. package/dist/types/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-update-dialog.d.ts +96 -0
  254. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +22 -2
  255. package/dist/types/components/common/zonos-checkbox/zonos-checkbox.d.ts +1 -0
  256. package/dist/types/components/common/zonos-dialog/zonos-dialog.d.ts +0 -3
  257. package/dist/types/components/common/zonos-input/zonos-input.d.ts +35 -0
  258. package/dist/types/components/store/checkout/stripe.d.ts +25 -1
  259. package/dist/types/components/store/translationStore/strings.arabic.d.ts +35 -5
  260. package/dist/types/components/store/translationStore/strings.base.d.ts +35 -5
  261. package/dist/types/components/store/translationStore/strings.chinese.d.ts +35 -5
  262. package/dist/types/components/store/translationStore/strings.danish.d.ts +35 -5
  263. package/dist/types/components/store/translationStore/strings.dutch.d.ts +35 -5
  264. package/dist/types/components/store/translationStore/strings.french.d.ts +35 -5
  265. package/dist/types/components/store/translationStore/strings.german.d.ts +35 -5
  266. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +35 -5
  267. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +35 -5
  268. package/dist/types/components/store/translationStore/strings.italian.d.ts +35 -5
  269. package/dist/types/components/store/translationStore/strings.japanese.d.ts +35 -5
  270. package/dist/types/components/store/translationStore/strings.korean.d.ts +35 -5
  271. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +35 -5
  272. package/dist/types/components/store/translationStore/strings.polish.d.ts +35 -5
  273. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +35 -5
  274. package/dist/types/components/store/translationStore/strings.russian.d.ts +35 -5
  275. package/dist/types/components/store/translationStore/strings.spanish.d.ts +35 -5
  276. package/dist/types/components/store/translationStore/strings.swedish.d.ts +35 -5
  277. package/dist/types/components/store/translationStore/strings.turkish.d.ts +35 -5
  278. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +35 -5
  279. package/dist/types/components/store/translationStore.d.ts +1 -1
  280. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +2 -10
  281. package/dist/types/components/stripe/zonos-link-authentication/zonos-link-authentication.d.ts +4 -0
  282. package/dist/types/components/utils/changeDeepProperty.d.ts +1 -1
  283. package/dist/types/components/utils/changeDeepPropertyAtIndex.d.ts +1 -1
  284. package/dist/types/components/utils/checkout/buildTranslateRequestBody.d.ts +26 -0
  285. package/dist/types/components/utils/containsNonLatinChars.d.ts +1 -0
  286. package/dist/types/components/utils/getBorderRadius.d.ts +7 -1
  287. package/dist/types/components.d.ts +308 -6
  288. package/dist/types/types/checkout/TranslatedText.d.ts +23 -0
  289. package/dist/types/types/checkout/api/ValidateAddressRequest.d.ts +20 -0
  290. package/dist/types/types/generated/graphql.customer.types.d.ts +2 -0
  291. package/dist/types/types/generated/graphql.customer.types.ts +2 -0
  292. package/dist/zonos-elements/p-029f11dd.system.entry.js +1 -0
  293. package/dist/zonos-elements/{p-2ee0d779.entry.js → p-094c0ee8.entry.js} +1 -1
  294. package/dist/zonos-elements/p-0c64dbbb.js +1 -0
  295. package/dist/zonos-elements/p-11504442.entry.js +1 -0
  296. package/dist/zonos-elements/p-11bef836.system.entry.js +1 -0
  297. package/dist/zonos-elements/{p-bc3a0f7c.entry.js → p-11f1b78c.entry.js} +1 -1
  298. package/dist/zonos-elements/p-13ddaf31.js +2 -0
  299. package/dist/zonos-elements/p-154aaf95.system.js +1 -0
  300. package/dist/zonos-elements/p-163ff5b5.system.js +2 -0
  301. package/dist/zonos-elements/{p-32b4e9c3.entry.js → p-1e934274.entry.js} +1 -1
  302. package/dist/zonos-elements/p-20582e58.system.entry.js +1 -0
  303. package/dist/zonos-elements/p-2439c82f.system.entry.js +1 -0
  304. package/dist/zonos-elements/p-2670438c.system.js +1 -0
  305. package/dist/zonos-elements/p-321226b0.entry.js +1 -0
  306. package/dist/zonos-elements/p-3221530d.system.entry.js +1 -0
  307. package/dist/zonos-elements/{p-97534044.entry.js → p-32d27535.entry.js} +1 -1
  308. package/dist/zonos-elements/p-3d10866d.entry.js +1 -0
  309. package/dist/zonos-elements/{p-1a5f8df7.entry.js → p-3d8667a7.entry.js} +1 -1
  310. package/dist/zonos-elements/p-3f05d130.system.entry.js +1 -0
  311. package/dist/zonos-elements/p-430eefd4.entry.js +1 -0
  312. package/dist/zonos-elements/p-49825866.system.entry.js +1 -0
  313. package/dist/zonos-elements/p-5525b740.entry.js +1 -0
  314. package/dist/zonos-elements/p-578f0aad.system.js +1 -0
  315. package/dist/zonos-elements/p-58a8ef6c.entry.js +1 -0
  316. package/dist/zonos-elements/p-5d993965.js +1 -0
  317. package/dist/zonos-elements/{p-262b8e1e.system.entry.js → p-5f9c066d.system.entry.js} +1 -1
  318. package/dist/zonos-elements/p-60e262f0.system.entry.js +1 -0
  319. package/dist/zonos-elements/p-64b594f4.js +1 -0
  320. package/dist/zonos-elements/p-66471df6.entry.js +1 -0
  321. package/dist/zonos-elements/{p-95c864ca.system.entry.js → p-679877b1.system.entry.js} +1 -1
  322. package/dist/zonos-elements/{p-fc4da55c.system.js → p-771fbeb3.system.js} +1 -1
  323. package/dist/zonos-elements/p-79f3c4f5.system.js +1 -0
  324. package/dist/zonos-elements/{p-e1ac5b2a.system.entry.js → p-80d78980.system.entry.js} +1 -1
  325. package/dist/zonos-elements/p-81a54668.js +1 -0
  326. package/dist/zonos-elements/p-83cc2936.js +1 -0
  327. package/dist/zonos-elements/{p-520e8e63.system.js → p-87badea9.system.js} +1 -1
  328. package/dist/zonos-elements/p-8a61a04f.system.entry.js +1 -0
  329. package/dist/zonos-elements/p-8b32f560.system.entry.js +1 -0
  330. package/dist/zonos-elements/{p-d01576d7.js → p-909a331c.js} +1 -1
  331. package/dist/zonos-elements/p-94b15a5e.system.entry.js +1 -0
  332. package/dist/zonos-elements/p-9a45fae5.system.entry.js +1 -0
  333. package/dist/zonos-elements/{p-24fee841.entry.js → p-9ec93319.entry.js} +1 -1
  334. package/dist/zonos-elements/p-a6d7ac46.js +1 -0
  335. package/dist/zonos-elements/p-a6eeb4bd.system.entry.js +1 -0
  336. package/dist/zonos-elements/p-a93f2e84.entry.js +1 -0
  337. package/dist/zonos-elements/p-aed0098c.system.js +1 -0
  338. package/dist/zonos-elements/p-b19d51e0.entry.js +1 -0
  339. package/dist/zonos-elements/{p-46f9c93e.system.entry.js → p-b9652402.system.entry.js} +1 -1
  340. package/dist/zonos-elements/{p-13b55282.entry.js → p-baee62a4.entry.js} +1 -1
  341. package/dist/zonos-elements/{p-eff12c31.system.entry.js → p-bf32179a.system.entry.js} +1 -1
  342. package/dist/zonos-elements/p-cd1cc224.entry.js +1 -0
  343. package/dist/zonos-elements/p-d1b63cec.system.entry.js +1 -0
  344. package/dist/zonos-elements/p-d6b103d5.system.js +1 -0
  345. package/dist/zonos-elements/{p-376bdf70.entry.js → p-da6767d8.entry.js} +1 -1
  346. package/dist/zonos-elements/p-dde1383b.entry.js +1 -0
  347. package/dist/zonos-elements/p-df192668.system.js +1 -0
  348. package/dist/zonos-elements/{p-70ede197.system.entry.js → p-df24d548.system.entry.js} +1 -1
  349. package/dist/zonos-elements/{p-6743734f.entry.js → p-e7b4b756.entry.js} +1 -1
  350. package/dist/zonos-elements/{p-d41b5762.js → p-f1962041.js} +1 -1
  351. package/dist/zonos-elements/p-f3d3c754.system.entry.js +1 -0
  352. package/dist/zonos-elements/p-f79682b5.entry.js +1 -0
  353. package/dist/zonos-elements/zonos-elements.css +3 -3
  354. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  355. package/dist/zonos-elements/zonos-elements.js +1 -1
  356. package/package.json +3 -2
  357. package/dist/cjs/index-3b4816ef.js +0 -2088
  358. package/dist/cjs/sendErrorLog-29e50f7e.js +0 -29
  359. package/dist/cjs/zonos-address_4.cjs.entry.js +0 -388
  360. package/dist/cjs/zonos-button_2.cjs.entry.js +0 -152
  361. package/dist/cjs/zonos-icon.cjs.entry.js +0 -39
  362. package/dist/components/sendErrorLog.js +0 -21
  363. package/dist/esm/index-0e31d804.js +0 -2055
  364. package/dist/esm/sendErrorLog-8642e94a.js +0 -26
  365. package/dist/esm/zonos-address_4.entry.js +0 -381
  366. package/dist/esm/zonos-button_2.entry.js +0 -147
  367. package/dist/esm/zonos-icon.entry.js +0 -35
  368. package/dist/esm-es5/cart-10bcd2e0.js +0 -1
  369. package/dist/esm-es5/getBorderRadius-8129b0cb.js +0 -1
  370. package/dist/esm-es5/index-0e31d804.js +0 -2
  371. package/dist/esm-es5/sendErrorLog-8642e94a.js +0 -1
  372. package/dist/esm-es5/submitGtag-84886899.js +0 -1
  373. package/dist/esm-es5/zonos-address_4.entry.js +0 -1
  374. package/dist/esm-es5/zonos-button_2.entry.js +0 -1
  375. package/dist/esm-es5/zonos-cart-items_10.entry.js +0 -1
  376. package/dist/esm-es5/zonos-icon.entry.js +0 -1
  377. package/dist/scripts/insertTranslations.js +0 -1
  378. package/dist/zonos-elements/p-066b5ca3.entry.js +0 -1
  379. package/dist/zonos-elements/p-0a0d45e9.system.entry.js +0 -1
  380. package/dist/zonos-elements/p-2244534c.js +0 -2
  381. package/dist/zonos-elements/p-2693da50.system.entry.js +0 -1
  382. package/dist/zonos-elements/p-2825570c.system.js +0 -2
  383. package/dist/zonos-elements/p-33abdb30.js +0 -1
  384. package/dist/zonos-elements/p-450942a3.system.js +0 -1
  385. package/dist/zonos-elements/p-46b4010c.entry.js +0 -1
  386. package/dist/zonos-elements/p-509717bc.system.entry.js +0 -1
  387. package/dist/zonos-elements/p-5ca09163.entry.js +0 -1
  388. package/dist/zonos-elements/p-5ff27485.js +0 -1
  389. package/dist/zonos-elements/p-6f5761e8.js +0 -1
  390. package/dist/zonos-elements/p-6fb15797.system.entry.js +0 -1
  391. package/dist/zonos-elements/p-73acb3eb.system.entry.js +0 -1
  392. package/dist/zonos-elements/p-7432179a.system.entry.js +0 -1
  393. package/dist/zonos-elements/p-8126011d.entry.js +0 -1
  394. package/dist/zonos-elements/p-8b44e558.system.js +0 -1
  395. package/dist/zonos-elements/p-8c568b87.entry.js +0 -1
  396. package/dist/zonos-elements/p-92d85125.system.entry.js +0 -1
  397. package/dist/zonos-elements/p-9b385237.entry.js +0 -1
  398. package/dist/zonos-elements/p-9fc92940.entry.js +0 -1
  399. package/dist/zonos-elements/p-a6bbf6de.system.entry.js +0 -1
  400. package/dist/zonos-elements/p-ad0a2581.entry.js +0 -1
  401. package/dist/zonos-elements/p-b4c3dcda.entry.js +0 -1
  402. package/dist/zonos-elements/p-b8e8330b.system.js +0 -1
  403. package/dist/zonos-elements/p-be022d8e.entry.js +0 -1
  404. package/dist/zonos-elements/p-c6170bec.system.js +0 -1
  405. package/dist/zonos-elements/p-c9e137e1.system.entry.js +0 -1
  406. package/dist/zonos-elements/p-d0d78094.system.entry.js +0 -1
  407. package/dist/zonos-elements/p-d1ba7e52.system.entry.js +0 -1
  408. package/dist/zonos-elements/p-d29895ed.system.entry.js +0 -1
  409. package/dist/zonos-elements/p-dac861bb.entry.js +0 -1
  410. package/dist/zonos-elements/p-e010f227.system.entry.js +0 -1
  411. package/dist/zonos-elements/p-e703c902.entry.js +0 -1
  412. package/dist/zonos-elements/p-e8a41797.system.entry.js +0 -1
  413. package/dist/zonos-elements/p-ed2e94d2.js +0 -1
  414. package/dist/zonos-elements/p-f2b60329.system.entry.js +0 -1
  415. package/dist/zonos-elements/p-f4c38bfc.system.js +0 -1
@@ -55,7 +55,7 @@
55
55
  :host .zonos--content .zonos--left,
56
56
  :host .zonos--content .zonos--right {
57
57
  flex: 1;
58
- padding: var(--amino-space-32);
58
+ padding: 32px;
59
59
  }
60
60
  :host .zonos--content .zonos--left {
61
61
  background-color: var(--primary-color, var(--amino-gray-0));
@@ -73,7 +73,7 @@
73
73
  background-color: var(--amino-gray-0);
74
74
  align-items: center;
75
75
  justify-content: center;
76
- padding: var(--amino-space-24);
76
+ padding: 24px;
77
77
  padding-bottom: 50px;
78
78
  }
79
79
  :host .zonos--content .zonos--done .zonos--header {
@@ -97,18 +97,18 @@
97
97
  flex-direction: column;
98
98
  }
99
99
  :host .zonos--left .zonos--wrapper {
100
- padding: 0 var(--amino-space-8) var(--amino-space-8);
100
+ padding: 0 8px 8px;
101
101
  }
102
102
  :host .zonos--left .zonos--payment-error-banner {
103
- margin-top: var(--amino-space-24);
103
+ margin-top: 24px;
104
104
  }
105
105
  :host .zonos--right {
106
106
  position: relative;
107
107
  }
108
108
  :host .zonos--right .zonos--close-button {
109
109
  position: absolute;
110
- right: var(--amino-space-24);
111
- top: var(--amino-space-24);
110
+ right: 24px;
111
+ top: 24px;
112
112
  z-index: 2;
113
113
  }
114
114
  :host .zonos--wrapper {
@@ -126,8 +126,8 @@
126
126
  align-items: center;
127
127
  }
128
128
  :host .zonos--checkout-default-message {
129
- margin-left: var(--amino-space-76);
130
- margin-bottom: var(--amino-space-8);
129
+ margin-left: 76px;
130
+ margin-bottom: 8px;
131
131
  }
132
132
 
133
133
  :host(.preview) {
@@ -138,7 +138,7 @@
138
138
  border: var(--amino-border);
139
139
  }
140
140
  :host(.preview) .zonos--content .zonos--done {
141
- padding: var(--amino-space-32);
141
+ padding: 32px;
142
142
  }
143
143
 
144
144
  :host(.mobile) {
@@ -155,13 +155,13 @@
155
155
  }
156
156
  :host(.mobile) .zonos--content .zonos--left,
157
157
  :host(.mobile) .zonos--content .zonos--right {
158
- padding: var(--amino-space-12);
159
- padding-bottom: var(--amino-space-76);
158
+ padding: 12px;
159
+ padding-bottom: 76px;
160
160
  }
161
161
  @media (max-width: 768px) {
162
162
  :host(.mobile) .zonos--content .zonos--left,
163
163
  :host(.mobile) .zonos--content .zonos--right {
164
- padding-bottom: var(--amino-space-0);
164
+ padding-bottom: 0px;
165
165
  }
166
166
  }
167
167
  :host(.mobile) .zonos--content .zonos--left {
@@ -170,7 +170,7 @@
170
170
  }
171
171
  :host(.mobile) .zonos--content .zonos--right {
172
172
  order: 1;
173
- padding-top: var(--amino-space-16);
173
+ padding-top: 16px;
174
174
  }
175
175
  :host(.mobile) .zonos--content .zonos--right .zonos--wrapper {
176
176
  display: flex;
@@ -178,14 +178,14 @@
178
178
  border: var(--amino-border);
179
179
  border-radius: var(--border-radius, var(--amino-radius-10));
180
180
  background-color: var(--amino-gray-50);
181
- padding: var(--amino-space-12);
182
- margin-top: var(--amino-space-32);
181
+ padding: 12px;
182
+ margin-top: 32px;
183
183
  }
184
184
  :host(.mobile) .zonos--content .zonos--right .zonos--review {
185
185
  margin-bottom: 0;
186
186
  }
187
187
  :host(.mobile) .zonos--content .zonos--right .zonos--cart-items {
188
- margin-top: var(--amino-space-8);
188
+ margin-top: 8px;
189
189
  }
190
190
  :host(.mobile) .zonos--content zonos-checkout-footer {
191
191
  order: 3;
@@ -217,6 +217,7 @@ export class ZonosCheckout {
217
217
  postal_code: legacyShippingInfo.customerZip,
218
218
  state: legacyShippingInfo.customerState,
219
219
  },
220
+ email: legacyShippingInfo.customerEmail || '',
220
221
  name: legacyShippingInfo.customerName,
221
222
  phone: legacyShippingInfo.customerPhone,
222
223
  };
@@ -241,6 +242,7 @@ export class ZonosCheckout {
241
242
  postal_code: shippingAddressSession.postalCode,
242
243
  state: shippingAddressSession.state,
243
244
  },
245
+ email: '',
244
246
  name: `${shippingAddressSession.firstName} ${shippingAddressSession.lastName}`,
245
247
  phone: shippingAddressSession.phone,
246
248
  };
@@ -455,10 +457,10 @@ export class ZonosCheckout {
455
457
  };
456
458
  const renderContent = () => {
457
459
  return (h("div", { class: 'zonos--content', style: {
458
- '--border-radius': getBorderRadius(style),
460
+ '--border-radius': getBorderRadius({ overrideBorderStyle: style }),
459
461
  } }, cartStore.step !== 'finish' && cartStore.step !== 'error' && (h(Fragment, null, h("div", { class: "zonos--left", "data-theme": leftSideTheme, style: {
460
462
  '--primary-color': !this.isMobile ? colorPrimary : '',
461
- } }, !this.isMobile && renderTopHeader(), cartStore.step === 'customer-info' && (h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, 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: () => {
463
+ } }, !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: () => {
462
464
  // do nothing if it's not mobile
463
465
  if (!this.isMobile) {
464
466
  return;
@@ -481,7 +483,7 @@ export class ZonosCheckout {
481
483
  hasFooter && 'has-footer',
482
484
  this.preview && 'preview',
483
485
  this.isMobile && 'mobile',
484
- ]) }, this.preview ? (renderContent()) : (h("zonos-dialog", { borderStyle: style, height: "980px", isLoading: dialogLoading, mobile: this.isMobile, noBodyPadding: true, noBorder: true, noClickOutside: true, noCloseButton: true, onCloseDialog: () => this.closeDialogHandler(), open: this.open, width: "1200px" }, renderContent()))));
486
+ ]) }, this.preview ? (renderContent()) : (h("zonos-dialog", { borderStyle: style, "data-theme": rightSideTheme, height: "980px", isLoading: dialogLoading, mobile: this.isMobile, noBodyPadding: true, noBorder: true, noClickOutside: true, noCloseButton: true, onCloseDialog: () => this.closeDialogHandler(), open: this.open, width: "1200px" }, renderContent()))));
485
487
  }
486
488
  static get is() { return "zonos-checkout"; }
487
489
  static get encapsulation() { return "scoped"; }
@@ -564,7 +566,7 @@ export class ZonosCheckout {
564
566
  "mutable": false,
565
567
  "complexType": {
566
568
  "original": "ContactOption | null",
567
- "resolved": "null | { address: { city: string; country: string; line1: string; line2?: string | undefined; postal_code: string; state: string; }; name: string; phone?: string | undefined; }",
569
+ "resolved": "null | { address: { city: string; country: string; line1: string; line2?: string | undefined; postal_code: string; state: string; }; email: string; name: string; phone?: string | undefined; }",
568
570
  "references": {
569
571
  "ContactOption": {
570
572
  "location": "import",
@@ -37,16 +37,16 @@
37
37
  flex-direction: column;
38
38
  }
39
39
  :host .zonos--title {
40
- margin-bottom: var(--amino-space-20);
40
+ margin-bottom: 20px;
41
41
  }
42
42
  :host .zonos--link-authentication {
43
- margin-bottom: var(--amino-space-32);
43
+ margin-bottom: 32px;
44
44
  }
45
45
  :host .zonos--address {
46
- margin-bottom: var(--amino-space-16);
46
+ margin-bottom: 16px;
47
47
  }
48
48
  :host .zonos--checkbox {
49
- margin-bottom: var(--amino-space-16);
49
+ margin-bottom: 16px;
50
50
  }
51
51
  :host .zonos--checkbox + .zonos--address {
52
52
  margin-bottom: 0;
@@ -55,10 +55,10 @@
55
55
  box-shadow: 0 0 1px 0 var(--amino-gray-600);
56
56
  }
57
57
  :host .zonos--error-banner {
58
- margin-bottom: var(--amino-space-16);
58
+ margin-bottom: 16px;
59
59
  }
60
60
  :host .zonos--group {
61
- margin-bottom: var(--amino-space-20);
61
+ margin-bottom: 20px;
62
62
  overflow: auto;
63
63
  padding: 5px;
64
64
  }
@@ -82,8 +82,8 @@
82
82
  display: flex;
83
83
  justify-content: center;
84
84
  bottom: -5px;
85
- padding-top: var(--amino-space-8);
86
- margin-top: var(--amino-space-12);
85
+ padding-top: 8px;
86
+ margin-top: 12px;
87
87
  background: var(--primary-color, var(--amino-gray-0));
88
88
  }
89
89
  :host .zonos--group-btn zonos-button {
@@ -1,25 +1,60 @@
1
1
  import { h, Host, } from "@stencil/core";
2
- import { stripeStore, } from "../../../store/checkout/stripe";
2
+ import { stripeStore, stripeStoreTranslateAddressToLatin, } from "../../../store/checkout/stripe";
3
3
  import { translate } from "../../../store/translationStore";
4
+ import { getZonosStoreTheme, zonosStore, } from "../../../store/zonosStore";
4
5
  import { trackConversionEvent } from "../../../utils/api/trackConversionEvent";
6
+ import { containsNonLatinChars } from "../../../utils/containsNonLatinChars";
5
7
  import { submitGtag } from "../../../utils/submitGtag";
6
8
  export class ZonosCustomerInfo {
7
9
  constructor() {
8
10
  /**
9
- * handler for continue button click
11
+ * Handler for invalid characters in the address
10
12
  */
11
- this.continueClickHandler = () => {
12
- if (this.hasInvalidBillingCharacters || this.hasInvalidShippingCharacters) {
13
- // if the address contains invalid characters, scroll to the nearest zonos-banner
14
- const banner = this.el.querySelector('zonos-address zonos-banner');
15
- if (banner) {
16
- banner.scrollIntoView({
17
- behavior: 'smooth',
18
- block: 'center',
19
- });
20
- }
13
+ this.handleInvalidCharacters = async () => {
14
+ // Do nothing if the allowed character sets is ALL
15
+ if (zonosStore.checkoutSettings.allowedCharacterSets === 'ALL') {
16
+ return { hasInvalidCharacters: false };
17
+ }
18
+ // Check if the address contains Non-Latin characters
19
+ this.invalidShippingCharacterList = stripeStore.stripeAddressEventData
20
+ ? this.checkInvalidCharacters(stripeStore.stripeAddressEventData)
21
+ : null;
22
+ // if the shipping is the same as billing, we don't need to check the billing address
23
+ this.invalidBillingCharacterList = !stripeStore.stripeShippingSameAsBilling
24
+ ? this.checkInvalidCharacters(stripeStore.stripeBillingAddressEventData)
25
+ : null;
26
+ const hasInvalidCharacters = !!this.invalidShippingCharacterList || !!this.invalidBillingCharacterList;
27
+ // send data to our api to translate the invalid characters
28
+ if (hasInvalidCharacters) {
29
+ // open the dialog
30
+ this.openAddressValidationDialog = true;
31
+ this.isValidatingAddress = true;
32
+ await stripeStoreTranslateAddressToLatin({
33
+ addressInvalidCharactersList: this.invalidShippingCharacterList,
34
+ billingAddressInvalidCharactersList: this.invalidBillingCharacterList,
35
+ });
36
+ this.isValidatingAddress = false;
37
+ }
38
+ return { hasInvalidCharacters };
39
+ };
40
+ this.transformTranslatedAddressToStripeEvent = ({ submitData, type, }) => {
41
+ let stripeEventDataObj = type === 'shippingAddress'
42
+ ? stripeStore.stripeAddressEventData
43
+ : stripeStore.stripeBillingAddressEventData;
44
+ const submitDataByKey = submitData[type];
45
+ // this should never happen as they can only go to this step if the address is complete
46
+ if (!stripeEventDataObj || !submitDataByKey) {
21
47
  return;
22
48
  }
49
+ // overwrite the address object with the new data
50
+ stripeEventDataObj = Object.assign(Object.assign({}, stripeEventDataObj), { complete: true, value: Object.assign(Object.assign({}, stripeEventDataObj === null || stripeEventDataObj === void 0 ? void 0 : stripeEventDataObj.value), { address: Object.assign(Object.assign({}, stripeEventDataObj === null || stripeEventDataObj === void 0 ? void 0 : stripeEventDataObj.value.address), { city: submitDataByKey.city ||
51
+ (stripeEventDataObj === null || stripeEventDataObj === void 0 ? void 0 : stripeEventDataObj.value.address.city) ||
52
+ '', line1: submitDataByKey.line1, line2: submitDataByKey.line2, postal_code: submitDataByKey.postal_code, state: submitDataByKey.state }), firstName: submitDataByKey.name.split(' ')[0], lastName: submitDataByKey.name.split(' ')[1], name: submitDataByKey.name }) });
53
+ };
54
+ /**
55
+ * handler for continue button click
56
+ */
57
+ this.continueClickHandler = async () => {
23
58
  if (!this.handleValidate()) {
24
59
  // scroll to the top zonos-banner
25
60
  setTimeout(() => {
@@ -34,6 +69,11 @@ export class ZonosCustomerInfo {
34
69
  return;
35
70
  }
36
71
  this.showErrorBanner = false;
72
+ // check if the address contains invalid characters
73
+ const { hasInvalidCharacters } = await this.handleInvalidCharacters();
74
+ if (hasInvalidCharacters) {
75
+ return;
76
+ }
37
77
  this.continueClicked.emit();
38
78
  // submit google tag when the form is complete
39
79
  submitGtag('zonos-checkout-customer-info');
@@ -54,28 +94,83 @@ export class ZonosCustomerInfo {
54
94
  }
55
95
  return true;
56
96
  };
97
+ this.prepareAddressObject = (stripeAddressEventData) => {
98
+ var _a;
99
+ const addressValue = stripeAddressEventData.value;
100
+ return {
101
+ city: addressValue.address.city || '',
102
+ country: addressValue.address.country,
103
+ email: ((_a = stripeStore.stripeLinkEventData) === null || _a === void 0 ? void 0 : _a.value.email) || '',
104
+ line1: addressValue.address.line1 || '',
105
+ line2: addressValue.address.line2 || '',
106
+ name: addressValue.name || '',
107
+ phone: addressValue.phone || '',
108
+ postal_code: addressValue.address.postal_code || '',
109
+ state: addressValue.address.state || '',
110
+ };
111
+ };
57
112
  this.continueLoading = false;
58
113
  this.submitBtnType = undefined;
59
114
  this.submitBtnColor = undefined;
115
+ this.isMobile = false;
60
116
  this.defaultAddress = null;
61
117
  this.showErrorBanner = false;
62
- this.hasInvalidShippingCharacters = false;
63
- this.hasInvalidBillingCharacters = false;
118
+ this.isValidatingAddress = false;
119
+ this.invalidShippingCharacterList = null;
120
+ this.invalidBillingCharacterList = null;
121
+ this.openAddressValidationDialog = false;
122
+ }
123
+ checkInvalidCharacters(address) {
124
+ if (!address) {
125
+ return null;
126
+ }
127
+ // Do nothing if the allowed character sets is ALL or the address is incomplete
128
+ if (!address.complete ||
129
+ zonosStore.checkoutSettings.allowedCharacterSets === 'ALL') {
130
+ return null;
131
+ }
132
+ const { address: addressValue, firstName, lastName, name } = address.value;
133
+ const { city, country, line1, line2, postal_code, state } = addressValue;
134
+ const invalidList = containsNonLatinChars({
135
+ city,
136
+ country,
137
+ line1,
138
+ line2: line2 || '',
139
+ name: name || `${firstName} ${lastName}`,
140
+ postal_code,
141
+ state,
142
+ });
143
+ if (!Object.keys(invalidList).length) {
144
+ return null;
145
+ }
146
+ return invalidList;
64
147
  }
65
148
  render() {
149
+ var _a;
66
150
  if (!stripeStore.stripeElements) {
67
151
  return null;
68
152
  }
69
153
  const showBilling = !stripeStore.stripeShippingSameAsBilling;
154
+ // Get theme for the update dialog, inherit from the theme, no from this component theme
155
+ const theme = getZonosStoreTheme(zonosStore.appearance.theme);
70
156
  // start validate on typing after error banner is shown, and hide it if the form is complete
71
157
  if (this.showErrorBanner) {
72
158
  this.showErrorBanner = !this.handleValidate();
73
159
  }
74
- return (h(Host, { class: "zonos--customer-info zonos--elements" }, h("div", { class: "zonos--group" }, h("zonos-text", { class: "zonos--title", type: "semiBoldSubheader" }, translate('Customer information')), this.showErrorBanner && (h("zonos-banner", { class: "zonos--error-banner", intent: "error" }, translate('Missing required fields. Make sure all fields are completed.'))), h("zonos-link-authentication", { titleText: translate('Contact') }), h("zonos-address", { defaultAddress: this.defaultAddress, onInvalidCharacters: e => (this.hasInvalidShippingCharacters = e.detail), titleText: translate('Address'), type: "shipping" }), h("zonos-checkbox", { isChecked: stripeStore.stripeShippingSameAsBilling, label: translate('Shipping address same as billing'), onCheckboxSelected: e => {
160
+ return (h(Host, { class: "zonos--customer-info zonos--elements" }, h("div", { class: "zonos--group" }, h("zonos-text", { class: "zonos--title", type: "semiBoldSubheader" }, translate('Customer information')), this.showErrorBanner && (h("zonos-banner", { class: "zonos--error-banner", intent: "error" }, translate('Missing required fields. Make sure all fields are completed.'))), h("zonos-link-authentication", { defaultEmail: (_a = this.defaultAddress) === null || _a === void 0 ? void 0 : _a.email, titleText: translate('Contact') }), h("zonos-address", { defaultAddress: this.defaultAddress, titleText: translate('Address'), type: "shipping" }), h("zonos-checkbox", { class: "zonos--shipping-same-as-billing-cbx", isChecked: stripeStore.stripeShippingSameAsBilling, label: translate('Shipping address same as billing'), onCheckboxSelected: e => {
75
161
  stripeStore.stripeShippingSameAsBilling = e.detail;
76
- } }), h("zonos-collapse", { collapsed: !showBilling }, h("zonos-address", { defaultAddress: this.defaultAddress, onInvalidCharacters: e => (this.hasInvalidBillingCharacters = e.detail), titleText: translate('Billing address'), type: "billing" })), h("div", { class: "zonos--group-btn" }, h("zonos-button", { backgroundColor: this.submitBtnColor, loading: this.continueLoading, onClick: () => this.continueClickHandler(), size: "lg",
162
+ } }), h("zonos-collapse", { collapsed: !showBilling }, h("zonos-address", { defaultAddress: this.defaultAddress, titleText: translate('Billing address'), type: "billing" })), h("div", { class: "zonos--group-btn" }, h("zonos-button", { backgroundColor: this.submitBtnColor, loading: this.continueLoading, onClick: () => this.continueClickHandler(), size: "lg",
77
163
  // use primary type when on mobile mode
78
- variant: this.submitBtnType }, translate('Continue to shipping'))))));
164
+ variant: this.submitBtnType }, translate('Continue to shipping')))), stripeStore.stripeAddressEventData && (h("zonos-address-update-dialog", { billingAddress: !stripeStore.stripeShippingSameAsBilling &&
165
+ stripeStore.stripeBillingAddressEventData
166
+ ? this.prepareAddressObject(stripeStore.stripeBillingAddressEventData)
167
+ : null, "data-theme": theme, dialogLoading: this.isValidatingAddress, dialogOpen: this.openAddressValidationDialog, isMobile: this.isMobile, onCloseDialog: () => (this.openAddressValidationDialog = false), onContinueClicked: e => {
168
+ const submitData = e.detail;
169
+ this.transformTranslatedAddressToStripeEvent({
170
+ submitData,
171
+ type: 'shippingAddress',
172
+ });
173
+ }, shippingAddress: this.prepareAddressObject(stripeStore.stripeAddressEventData), translatedBillingAddress: stripeStore.translatedAddress.billingAddress, translatedShippingAddress: stripeStore.translatedAddress.address }))));
79
174
  }
80
175
  static get is() { return "zonos-customer-info"; }
81
176
  static get encapsulation() { return "scoped"; }
@@ -148,12 +243,30 @@ export class ZonosCustomerInfo {
148
243
  "attribute": "submit-btn-color",
149
244
  "reflect": false
150
245
  },
246
+ "isMobile": {
247
+ "type": "boolean",
248
+ "mutable": false,
249
+ "complexType": {
250
+ "original": "boolean",
251
+ "resolved": "boolean",
252
+ "references": {}
253
+ },
254
+ "required": false,
255
+ "optional": false,
256
+ "docs": {
257
+ "tags": [],
258
+ "text": "Whether or not the dialog is open"
259
+ },
260
+ "attribute": "is-mobile",
261
+ "reflect": false,
262
+ "defaultValue": "false"
263
+ },
151
264
  "defaultAddress": {
152
265
  "type": "unknown",
153
266
  "mutable": false,
154
267
  "complexType": {
155
268
  "original": "ContactOption | null",
156
- "resolved": "null | { address: { city: string; country: string; line1: string; line2?: string | undefined; postal_code: string; state: string; }; name: string; phone?: string | undefined; }",
269
+ "resolved": "null | { address: { city: string; country: string; line1: string; line2?: string | undefined; postal_code: string; state: string; }; email: string; name: string; phone?: string | undefined; }",
157
270
  "references": {
158
271
  "ContactOption": {
159
272
  "location": "import",
@@ -175,8 +288,10 @@ export class ZonosCustomerInfo {
175
288
  static get states() {
176
289
  return {
177
290
  "showErrorBanner": {},
178
- "hasInvalidShippingCharacters": {},
179
- "hasInvalidBillingCharacters": {}
291
+ "isValidatingAddress": {},
292
+ "invalidShippingCharacterList": {},
293
+ "invalidBillingCharacterList": {},
294
+ "openAddressValidationDialog": {}
180
295
  };
181
296
  }
182
297
  static get events() {
@@ -38,22 +38,22 @@
38
38
  z-index: 1;
39
39
  }
40
40
  :host .zonos--total-pay {
41
- margin: var(--amino-space-8) 0 var(--amino-space-24);
41
+ margin: 8px 0 24px;
42
42
  }
43
43
 
44
44
  :host(.mobile) {
45
45
  display: flex;
46
46
  flex-direction: row;
47
- gap: var(--amino-space-24);
47
+ gap: 24px;
48
48
  justify-content: space-between;
49
- padding: var(--amino-space-4) 0;
50
- margin-bottom: var(--amino-space-8);
49
+ padding: 4px 0;
50
+ margin-bottom: 8px;
51
51
  background-color: transparent;
52
52
  }
53
53
  :host(.mobile) .zonos--title {
54
54
  display: flex;
55
55
  align-self: center;
56
- gap: var(--amino-space-8);
56
+ gap: 8px;
57
57
  }
58
58
  :host(.mobile) .zonos--total-pay {
59
59
  margin: 0;
@@ -37,16 +37,16 @@
37
37
  flex-direction: column;
38
38
  }
39
39
  :host .zonos--title {
40
- margin-bottom: var(--amino-space-24);
40
+ margin-bottom: 24px;
41
41
  }
42
42
  :host .zonos--shipping-method-title {
43
- margin-bottom: var(--amino-space-16);
43
+ margin-bottom: 16px;
44
44
  }
45
45
  :host .zonos-shipping-rich-radio {
46
- margin-bottom: var(--amino-space-24);
46
+ margin-bottom: 24px;
47
47
  }
48
48
  :host .zonos--group {
49
- margin-bottom: var(--amino-space-20);
49
+ margin-bottom: 20px;
50
50
  overflow: auto;
51
51
  padding: 5px;
52
52
  }
@@ -66,7 +66,7 @@
66
66
  background: #d6d6d6;
67
67
  }
68
68
  :host .zonos--error-banner {
69
- margin-bottom: var(--amino-space-16);
69
+ margin-bottom: 16px;
70
70
  }
71
71
  :host zonos-button {
72
72
  box-shadow: 0 0 1px 0 var(--amino-gray-600);
@@ -76,12 +76,12 @@
76
76
  display: flex;
77
77
  justify-content: center;
78
78
  bottom: 0;
79
- margin-top: var(--amino-space-12);
79
+ margin-top: 12px;
80
80
  background: var(--primary-color, var(--amino-gray-0));
81
81
  }
82
82
  :host .zonos--group-btn zonos-button {
83
83
  width: 100%;
84
84
  }
85
85
  :host zonos-banner {
86
- margin-top: var(--amino-space-24);
86
+ margin-top: 24px;
87
87
  }
@@ -91,7 +91,7 @@ export class ZonosShipping {
91
91
  if (this.showErrorBanner) {
92
92
  this.showErrorBanner = !this.handleValidate();
93
93
  }
94
- return (h(Host, { key: 'c172dbd75de8a0d5d32d7e3e1814a124aaa05c05', class: "zonos--shipping zonos--elements" }, h("div", { key: '3dbbfadac7c8fb2bd4f3337206da535add7c4dd5', class: "zonos--group" }, h("zonos-text", { key: '93c2e9f56359a0c046e23a0e8c70af9af2dad3f4', class: "zonos--title", type: "semiBoldSubheader" }, translate('Delivery options')), this.showErrorBanner && !!((_a = this.serviceLevels) === null || _a === void 0 ? void 0 : _a.length) && (h("zonos-banner", { key: 'dc0aa4f036719929344071fe68dd8bf98d493642', class: "zonos--error-banner", intent: "error" }, translate('No shipping method selected'))), h("zonos-text", { key: '98dd599d8a87e3a350b928a5d0d9300aa197d731', class: "zonos--shipping-method-title", type: "semiBoldLabel" }, translate('Shipping method')), !((_b = this.serviceLevels) === null || _b === void 0 ? void 0 : _b.length) ? (h("zonos-banner", { bannerTitle: translate('No shipping methods found - please review and update your address details by selecting the "Customer" tab above. If you continue to encounter issues, contact our support team for assistance.'), intent: "error" })) : (h("zonos-shipping-rich-radio", { initialSelectedValue: (_c = this.selectedShippingMethod) === null || _c === void 0 ? void 0 : _c.value, items: this.serviceLevels, onRadioSelected: e => this.handleRadioSelected(e) })), h("div", { key: 'a59a2833967bde37cd2b31dca4209e8730ec92dc', class: "zonos--group-btn" }, h("zonos-button", { key: 'ef100ac737c28901f609b188bfa0b9e58d4363e8', backgroundColor: this.submitBtnColor, loading: this.continueLoading || this.isSelecting, onClick: () => this.continueClickHandler(), size: "lg",
94
+ return (h(Host, { key: '032c917dd5510a6a5801f0bf86a84bcf4096759e', class: "zonos--shipping zonos--elements" }, h("div", { key: 'b5052414ae56dc46908e53a1676acf96701bafa8', class: "zonos--group" }, h("zonos-text", { key: '41bb421c0fc620f8373be5453e872e83ad19150e', class: "zonos--title", type: "semiBoldSubheader" }, translate('Delivery options')), this.showErrorBanner && !!((_a = this.serviceLevels) === null || _a === void 0 ? void 0 : _a.length) && (h("zonos-banner", { key: '4b0119b9c1991ab31c15220ed26f0eac18c7229e', class: "zonos--error-banner", intent: "error" }, translate('No shipping method selected'))), h("zonos-text", { key: '61ea64f33b2b4bd54c4f2c4d273bac9e13d67040', class: "zonos--shipping-method-title", type: "semiBoldLabel" }, translate('Shipping method')), !((_b = this.serviceLevels) === null || _b === void 0 ? void 0 : _b.length) ? (h("zonos-banner", { bannerTitle: translate('No shipping methods found - please review and update your address details by selecting the "Customer" tab above. If you continue to encounter issues, contact our support team for assistance.'), intent: "error" })) : (h("zonos-shipping-rich-radio", { initialSelectedValue: (_c = this.selectedShippingMethod) === null || _c === void 0 ? void 0 : _c.value, items: this.serviceLevels, onRadioSelected: e => this.handleRadioSelected(e) })), h("div", { key: '1908b7445ef7158402882265af8a357f48096937', class: "zonos--group-btn" }, h("zonos-button", { key: 'b73ca7298b5c020c237703e4ce1f9b877cb96605', backgroundColor: this.submitBtnColor, loading: this.continueLoading || this.isSelecting, onClick: () => this.continueClickHandler(), size: "lg",
95
95
  // use primary type when on mobile mode
96
96
  variant: this.submitBtnType }, translate('Go to payment'))))));
97
97
  }
@@ -7,7 +7,7 @@ export class ZonosLink {
7
7
  this.linkTitle = undefined;
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: 'af4c861f0a7f0a86c60c2ba6fe12a37721d50c1b', class: "zonos--elements" }, h("a", { key: 'b8fc607e0aa5269f2c3c1ccf51e233b52fac6693', href: this.href, rel: this.rel, target: this.target, title: this.linkTitle }, h("slot", { key: '98ebca9c8962143426fd1c88d9189b92fc402505' }))));
10
+ return (h(Host, { key: '595aa56bf6c9503434d265b62a85a5fcbf0e7bec', class: "zonos--elements" }, h("a", { key: '3e355af783529c0fa77ff2c351476c92ec128ec3', href: this.href, rel: this.rel, target: this.target, title: this.linkTitle }, h("slot", { key: '45607e8fa7448a96f6914270baaeab2f0d03944e' }))));
11
11
  }
12
12
  static get is() { return "zonos-link"; }
13
13
  static get encapsulation() { return "shadow"; }
@@ -36,7 +36,7 @@
36
36
  }
37
37
  :host .zonos--badge-content {
38
38
  display: flex;
39
- gap: var(--amino-space-8);
39
+ gap: 8px;
40
40
  font-size: var(--amino-font-size-s);
41
41
  padding: 4px 8px;
42
42
  text-align: center;
@@ -11,16 +11,16 @@ export class ZonosBadge {
11
11
  this.rounded = false;
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: 'cc521e396f505c1f3a69d40b755585c1e439f120', class: classes(['zonos--elements zonos--badge']), style: {
14
+ return (h(Host, { key: 'c68ba6ef2bcb35c94ecf2b11379be748aa998198', class: classes(['zonos--elements zonos--badge']), style: {
15
15
  '--font-family': zonosStoreFontFamily(),
16
- } }, h("div", { key: '132ee2adfd3be7634d71df9ee1bf813fd56fe768', class: classes([
16
+ } }, h("div", { key: '7f200effb42296a21829c292101ef3300b041327', class: classes([
17
17
  'zonos--badge-content',
18
18
  this.badgeColor,
19
19
  this.rounded && 'rounded',
20
20
  this.iconRight && 'icon-right',
21
21
  this.size,
22
22
  this.bold && 'bold',
23
- ]) }, this.icon, h("zonos-text", { key: 'ebe7b204422dc3b0d9fe93d3ca9bd75ceddb9f37' }, h("slot", { key: 'e58b021307f14226ce15df693bedfa50f79f6d8a' })))));
23
+ ]) }, this.icon, h("zonos-text", { key: '4358e95cb29ec6a82e32213b268612aadf8772c6' }, h("slot", { key: 'ab76831e3691a896179e06896d33ed771e4bbdf9' })))));
24
24
  }
25
25
  static get is() { return "zonos-badge"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -33,7 +33,7 @@
33
33
 
34
34
  :host {
35
35
  border-radius: var(--amino-radius-10);
36
- padding: var(--amino-space-16);
36
+ padding: 16px;
37
37
  background: var(--amino-gray-100);
38
38
  }
39
39
  :host .zonos--container {
@@ -48,12 +48,12 @@
48
48
  justify-self: start;
49
49
  }
50
50
  :host .zonos--header-wrapper {
51
- margin-top: var(--amino-space-0);
51
+ margin-top: 0px;
52
52
  grid-area: header;
53
53
  }
54
54
  :host .zonos--content-wrapper {
55
55
  grid-area: content;
56
- margin-top: var(--amino-space-4);
56
+ margin-top: 4px;
57
57
  }
58
58
 
59
59
  :host(.info) {
@@ -46,7 +46,7 @@
46
46
  background-color: var(--amino-surface-color);
47
47
  justify-content: center;
48
48
  border-radius: var(--amino-radius-10);
49
- gap: var(--amino-space-8);
49
+ gap: 8px;
50
50
  }
51
51
  :host button {
52
52
  width: 100%;
@@ -68,7 +68,7 @@
68
68
  letter-spacing: normal;
69
69
  cursor: pointer;
70
70
  white-space: nowrap;
71
- padding: var(--amino-space-8) var(--amino-space-24);
71
+ padding: 8px 24px;
72
72
  color: var(--color, var(--amino-gray-1200));
73
73
  margin: 1px;
74
74
  /** Button size */
@@ -96,29 +96,29 @@
96
96
  :host button.sm {
97
97
  height: var(--amino-size-sm);
98
98
  line-height: var(--amino-size-sm);
99
- padding: var(--amino-space-4) var(--amino-space-8);
99
+ padding: 4px 8px;
100
100
  }
101
101
  :host button.sm:not(.has-content).has-icon {
102
- padding: 0 var(--amino-space-4);
102
+ padding: 0 4px;
103
103
  }
104
104
  :host button.md {
105
105
  height: var(--amino-size-md);
106
106
  line-height: var(--amino-size-md);
107
- padding: var(--amino-space-8) var(--amino-space-16);
107
+ padding: 8px 16px;
108
108
  }
109
109
  :host button.md:not(.has-content).has-icon {
110
- padding: 0 var(--amino-space-8);
110
+ padding: 0 8px;
111
111
  }
112
112
  :host button.lg {
113
113
  height: var(--amino-size-lg);
114
114
  line-height: var(--amino-size-lg);
115
- padding: var(--amino-space-12) var(--amino-space-24);
115
+ padding: 12px 24px;
116
116
  }
117
117
  :host button.lg:not(.has-content).has-icon {
118
- padding: 0 var(--amino-space-16);
118
+ padding: 0 16px;
119
119
  }
120
120
  :host button:not(.only-icon).has-icon {
121
- gap: var(--amino-space-8);
121
+ gap: 8px;
122
122
  }
123
123
  @media (max-width: 400px) {
124
124
  :host button:not(.only-icon).has-icon {
@@ -229,6 +229,7 @@
229
229
  }
230
230
  :host button:not(.override-background).subtle:not([disabled]):hover {
231
231
  background: var(--amino-gray-500);
232
+ color: var(--amino-gray-0);
232
233
  }
233
234
  :host button:not(.override-background).subtle:not([disabled]):active {
234
235
  background: var(--amino-gray-200);