@zonos/elements 1.3.8-alpha.0 → 1.3.8-alpha.2

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 (205) hide show
  1. package/dist/cjs/{cart-eee85bda.js → cart-c22d66c8.js} +98 -21
  2. package/dist/cjs/{getBorderRadius-d8f18958.js → getBorderRadius-d9a954a3.js} +1 -1
  3. package/dist/cjs/{isDarkColor-57860b44.js → isDarkColor-c01f24df.js} +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{submitGtag-a2e1f652.js → submitGtag-bc28bb8f.js} +5 -3
  6. package/dist/cjs/zonos-address_4.cjs.entry.js +60 -7
  7. package/dist/cjs/zonos-badge_2.cjs.entry.js +1 -1
  8. package/dist/cjs/zonos-banner.cjs.entry.js +1 -1
  9. package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
  10. package/dist/cjs/zonos-card_2.cjs.entry.js +4 -4
  11. package/dist/cjs/zonos-cart-items_9.cjs.entry.js +32 -17
  12. package/dist/cjs/zonos-checkout.cjs.entry.js +5 -5
  13. package/dist/cjs/zonos-controller.cjs.entry.js +4 -4
  14. package/dist/cjs/zonos-country-flag.cjs.entry.js +4 -4
  15. package/dist/cjs/zonos-country-select_3.cjs.entry.js +4 -4
  16. package/dist/cjs/zonos-elements.cjs.js +1 -1
  17. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +4 -4
  18. package/dist/cjs/zonos-hello.cjs.entry.js +4 -4
  19. package/dist/cjs/zonos-logo.cjs.entry.js +1 -1
  20. package/dist/cjs/zonos-notification.cjs.entry.js +1 -1
  21. package/dist/cjs/zonos-payment.cjs.entry.js +4 -4
  22. package/dist/cjs/zonos-select-dialog-header_2.cjs.entry.js +1 -1
  23. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +2 -2
  24. package/dist/cjs/zonos-text.cjs.entry.js +1 -1
  25. package/dist/cjs/{zonosStore-138c5555.js → zonosStore-2a8612a4.js} +1 -0
  26. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +3 -3
  27. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +27 -10
  28. package/dist/collection/components/store/checkout/stripe.js +3 -3
  29. package/dist/collection/components/store/translationStore/strings.arabic.js +3 -0
  30. package/dist/collection/components/store/translationStore/strings.base.js +3 -0
  31. package/dist/collection/components/store/translationStore/strings.chinese.js +3 -0
  32. package/dist/collection/components/store/translationStore/strings.danish.js +3 -0
  33. package/dist/collection/components/store/translationStore/strings.dutch.js +3 -0
  34. package/dist/collection/components/store/translationStore/strings.french.js +3 -0
  35. package/dist/collection/components/store/translationStore/strings.german.js +3 -0
  36. package/dist/collection/components/store/translationStore/strings.hebrew.js +3 -0
  37. package/dist/collection/components/store/translationStore/strings.indonesian.js +3 -0
  38. package/dist/collection/components/store/translationStore/strings.italian.js +3 -0
  39. package/dist/collection/components/store/translationStore/strings.japanese.js +3 -0
  40. package/dist/collection/components/store/translationStore/strings.korean.js +3 -0
  41. package/dist/collection/components/store/translationStore/strings.norwegian.js +3 -0
  42. package/dist/collection/components/store/translationStore/strings.polish.js +3 -0
  43. package/dist/collection/components/store/translationStore/strings.portuguese.js +3 -0
  44. package/dist/collection/components/store/translationStore/strings.russian.js +3 -0
  45. package/dist/collection/components/store/translationStore/strings.spanish.js +3 -0
  46. package/dist/collection/components/store/translationStore/strings.swedish.js +3 -0
  47. package/dist/collection/components/store/translationStore/strings.turkish.js +3 -0
  48. package/dist/collection/components/store/translationStore/strings.vietnamese.js +3 -0
  49. package/dist/collection/components/store/zonosStore.js +1 -0
  50. package/dist/collection/components/stripe/zonos-address/zonos-address.css +3 -0
  51. package/dist/collection/components/stripe/zonos-address/zonos-address.js +63 -4
  52. package/dist/collection/components/utils/containsNonLatinChars.js +13 -0
  53. package/dist/collection/components/utils/logging/sendErrorLog.js +3 -1
  54. package/dist/collection/styles/stripe/addressRuleStyle.js +32 -15
  55. package/dist/collection/types/generated/graphql.customer.types.js +37 -0
  56. package/dist/collection/types/generated/graphql.frontend.types.js +19 -0
  57. package/dist/components/stripe.js +95 -18
  58. package/dist/components/zonos-address2.js +67 -6
  59. package/dist/components/zonos-checkout-finish2.js +6 -4
  60. package/dist/components/zonos-customer-info2.js +35 -12
  61. package/dist/components/zonosStore.js +1 -0
  62. package/dist/esm/{cart-e261efc1.js → cart-f70b9be6.js} +98 -21
  63. package/dist/esm/{getBorderRadius-19787feb.js → getBorderRadius-0d133844.js} +1 -1
  64. package/dist/esm/{isDarkColor-2344e7a5.js → isDarkColor-8eeda28e.js} +1 -1
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/esm/{submitGtag-dfc6f1dc.js → submitGtag-afeca6f9.js} +5 -3
  67. package/dist/esm/zonos-address_4.entry.js +61 -8
  68. package/dist/esm/zonos-badge_2.entry.js +1 -1
  69. package/dist/esm/zonos-banner.entry.js +1 -1
  70. package/dist/esm/zonos-button_3.entry.js +3 -3
  71. package/dist/esm/zonos-card_2.entry.js +4 -4
  72. package/dist/esm/zonos-cart-items_9.entry.js +32 -17
  73. package/dist/esm/zonos-checkout.entry.js +5 -5
  74. package/dist/esm/zonos-controller.entry.js +4 -4
  75. package/dist/esm/zonos-country-flag.entry.js +4 -4
  76. package/dist/esm/zonos-country-select_3.entry.js +4 -4
  77. package/dist/esm/zonos-elements.js +1 -1
  78. package/dist/esm/zonos-hello-dialog.entry.js +4 -4
  79. package/dist/esm/zonos-hello.entry.js +4 -4
  80. package/dist/esm/zonos-logo.entry.js +1 -1
  81. package/dist/esm/zonos-notification.entry.js +1 -1
  82. package/dist/esm/zonos-payment.entry.js +4 -4
  83. package/dist/esm/zonos-select-dialog-header_2.entry.js +1 -1
  84. package/dist/esm/zonos-shipping-rich-radio.entry.js +2 -2
  85. package/dist/esm/zonos-text.entry.js +1 -1
  86. package/dist/esm/{zonosStore-00bce01b.js → zonosStore-807f931f.js} +1 -0
  87. package/dist/esm-es5/cart-f70b9be6.js +1 -0
  88. package/dist/esm-es5/{getBorderRadius-19787feb.js → getBorderRadius-0d133844.js} +1 -1
  89. package/dist/esm-es5/{isDarkColor-2344e7a5.js → isDarkColor-8eeda28e.js} +1 -1
  90. package/dist/esm-es5/loader.js +1 -1
  91. package/dist/esm-es5/submitGtag-afeca6f9.js +1 -0
  92. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  93. package/dist/esm-es5/zonos-badge_2.entry.js +1 -1
  94. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  95. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  96. package/dist/esm-es5/zonos-card_2.entry.js +1 -1
  97. package/dist/esm-es5/zonos-cart-items_9.entry.js +1 -1
  98. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  99. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  100. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  101. package/dist/esm-es5/zonos-country-select_3.entry.js +1 -1
  102. package/dist/esm-es5/zonos-elements.js +1 -1
  103. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  104. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  105. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  106. package/dist/esm-es5/zonos-notification.entry.js +1 -1
  107. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  108. package/dist/esm-es5/zonos-select-dialog-header_2.entry.js +1 -1
  109. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  110. package/dist/esm-es5/zonos-text.entry.js +1 -1
  111. package/dist/esm-es5/{zonosStore-00bce01b.js → zonosStore-807f931f.js} +1 -1
  112. package/dist/scripts/loadZonos.js +1 -1
  113. package/dist/scripts/zonos.js +1 -1
  114. package/dist/scripts/zonosBase.js +1 -1
  115. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +9 -0
  116. package/dist/types/components/store/translationStore/strings.arabic.d.ts +3 -0
  117. package/dist/types/components/store/translationStore/strings.base.d.ts +3 -0
  118. package/dist/types/components/store/translationStore/strings.chinese.d.ts +3 -0
  119. package/dist/types/components/store/translationStore/strings.danish.d.ts +3 -0
  120. package/dist/types/components/store/translationStore/strings.dutch.d.ts +3 -0
  121. package/dist/types/components/store/translationStore/strings.french.d.ts +3 -0
  122. package/dist/types/components/store/translationStore/strings.german.d.ts +3 -0
  123. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +3 -0
  124. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +3 -0
  125. package/dist/types/components/store/translationStore/strings.italian.d.ts +3 -0
  126. package/dist/types/components/store/translationStore/strings.japanese.d.ts +3 -0
  127. package/dist/types/components/store/translationStore/strings.korean.d.ts +3 -0
  128. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +3 -0
  129. package/dist/types/components/store/translationStore/strings.polish.d.ts +3 -0
  130. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +3 -0
  131. package/dist/types/components/store/translationStore/strings.russian.d.ts +3 -0
  132. package/dist/types/components/store/translationStore/strings.spanish.d.ts +3 -0
  133. package/dist/types/components/store/translationStore/strings.swedish.d.ts +3 -0
  134. package/dist/types/components/store/translationStore/strings.turkish.d.ts +3 -0
  135. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +3 -0
  136. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +7 -0
  137. package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
  138. package/dist/types/components/utils/containsNonLatinChars.d.ts +16 -0
  139. package/dist/types/components.d.ts +19 -0
  140. package/dist/types/types/checkout/CheckoutConfig.d.ts +5 -0
  141. package/dist/types/types/generated/graphql.customer.types.d.ts +53 -0
  142. package/dist/types/types/generated/graphql.customer.types.ts +71 -0
  143. package/dist/types/types/generated/graphql.frontend.types.d.ts +20 -1
  144. package/dist/types/types/generated/graphql.frontend.types.ts +23 -1
  145. package/dist/zonos-elements/p-039803aa.system.js +1 -0
  146. package/dist/zonos-elements/{p-0c91720b.entry.js → p-04acf5ef.entry.js} +1 -1
  147. package/dist/zonos-elements/p-066c5893.system.js +1 -1
  148. package/dist/zonos-elements/{p-14c3ef38.entry.js → p-0ed00121.entry.js} +1 -1
  149. package/dist/zonos-elements/{p-143dc0d9.system.entry.js → p-121c551d.system.entry.js} +1 -1
  150. package/dist/zonos-elements/{p-f6eaef7b.system.entry.js → p-166ec0c2.system.entry.js} +1 -1
  151. package/dist/zonos-elements/{p-1e0dd491.entry.js → p-1691b167.entry.js} +1 -1
  152. package/dist/zonos-elements/{p-07966463.entry.js → p-25de098d.entry.js} +1 -1
  153. package/dist/zonos-elements/{p-c2e58ee1.system.entry.js → p-2eb62b45.system.entry.js} +1 -1
  154. package/dist/zonos-elements/{p-3a1e685f.entry.js → p-32f43296.entry.js} +1 -1
  155. package/dist/zonos-elements/{p-14d27ce1.system.entry.js → p-35e878eb.system.entry.js} +1 -1
  156. package/dist/zonos-elements/p-373e579c.entry.js +1 -0
  157. package/dist/zonos-elements/{p-354603b3.system.entry.js → p-3a406969.system.entry.js} +1 -1
  158. package/dist/zonos-elements/p-3d4fc5aa.js +1 -0
  159. package/dist/zonos-elements/{p-328b7f6f.system.entry.js → p-50460bf4.system.entry.js} +1 -1
  160. package/dist/zonos-elements/{p-a3cc0f84.entry.js → p-55cbb4cd.entry.js} +1 -1
  161. package/dist/zonos-elements/{p-745cd869.system.entry.js → p-56318a1f.system.entry.js} +1 -1
  162. package/dist/zonos-elements/{p-f7c36fcc.entry.js → p-58a25a6a.entry.js} +1 -1
  163. package/dist/zonos-elements/{p-389599d3.system.entry.js → p-5d73cde0.system.entry.js} +1 -1
  164. package/dist/zonos-elements/p-6cd190f4.js +1 -0
  165. package/dist/zonos-elements/{p-857cfe35.entry.js → p-6d2ba24a.entry.js} +1 -1
  166. package/dist/zonos-elements/p-6dc7222d.js +1 -0
  167. package/dist/zonos-elements/{p-ac0a7b8f.entry.js → p-701d0fef.entry.js} +1 -1
  168. package/dist/zonos-elements/{p-49f6a985.system.js → p-75490d7c.system.js} +1 -1
  169. package/dist/zonos-elements/{p-165d469e.system.entry.js → p-7736198d.system.entry.js} +1 -1
  170. package/dist/zonos-elements/{p-69e2c59e.entry.js → p-780ab968.entry.js} +1 -1
  171. package/dist/zonos-elements/p-7fded506.entry.js +1 -0
  172. package/dist/zonos-elements/{p-1119dddf.system.entry.js → p-824882ce.system.entry.js} +1 -1
  173. package/dist/zonos-elements/p-86fe18ea.system.entry.js +1 -0
  174. package/dist/zonos-elements/{p-91797d4e.system.js → p-95dee6f4.system.js} +1 -1
  175. package/dist/zonos-elements/{p-279d1c5f.entry.js → p-96e2cde7.entry.js} +1 -1
  176. package/dist/zonos-elements/p-9a9902ca.entry.js +1 -0
  177. package/dist/zonos-elements/{p-7f4f45b3.entry.js → p-9a9dc265.entry.js} +1 -1
  178. package/dist/zonos-elements/p-9cdc6b5f.js +1 -0
  179. package/dist/zonos-elements/{p-61e5cf29.system.entry.js → p-af946fb3.system.entry.js} +1 -1
  180. package/dist/zonos-elements/{p-b4725505.system.js → p-c476a347.system.js} +1 -1
  181. package/dist/zonos-elements/{p-78ba2928.system.js → p-c6eaecb6.system.js} +1 -1
  182. package/dist/zonos-elements/p-d1934261.system.entry.js +1 -0
  183. package/dist/zonos-elements/{p-17e87be1.entry.js → p-d427adf2.entry.js} +1 -1
  184. package/dist/zonos-elements/{p-5c176b23.system.entry.js → p-d93d74c1.system.entry.js} +1 -1
  185. package/dist/zonos-elements/{p-9e6b489d.system.entry.js → p-d9ba11cf.system.entry.js} +1 -1
  186. package/dist/zonos-elements/{p-dd9e8589.entry.js → p-e043e830.entry.js} +1 -1
  187. package/dist/zonos-elements/{p-7c45ce37.system.entry.js → p-e28d648c.system.entry.js} +1 -1
  188. package/dist/zonos-elements/{p-95e0fc06.js → p-e71fbec9.js} +1 -1
  189. package/dist/zonos-elements/{p-799d8a17.system.entry.js → p-e76069cc.system.entry.js} +1 -1
  190. package/dist/zonos-elements/{p-4fb77a38.system.entry.js → p-faa0ab72.system.entry.js} +1 -1
  191. package/dist/zonos-elements/{p-5f4ba44c.entry.js → p-fc0a051b.entry.js} +1 -1
  192. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  193. package/package.json +1 -1
  194. package/dist/esm-es5/cart-e261efc1.js +0 -1
  195. package/dist/esm-es5/submitGtag-dfc6f1dc.js +0 -1
  196. package/dist/zonos-elements/p-0c0aa552.js +0 -1
  197. package/dist/zonos-elements/p-3b23e462.entry.js +0 -1
  198. package/dist/zonos-elements/p-5496951a.system.js +0 -1
  199. package/dist/zonos-elements/p-5d9a000a.system.entry.js +0 -1
  200. package/dist/zonos-elements/p-79b24786.system.entry.js +0 -1
  201. package/dist/zonos-elements/p-7b87b82f.js +0 -1
  202. package/dist/zonos-elements/p-9f4e02a1.entry.js +0 -1
  203. package/dist/zonos-elements/p-c060d475.js +0 -1
  204. package/dist/zonos-elements/p-da767f8b.js +0 -1
  205. package/dist/zonos-elements/p-f11a3d9e.entry.js +0 -1
@@ -87,6 +87,9 @@ const stringsArabic = {
87
87
  "Payment processing. We'll update you when payment is received.": {
88
88
  value: 'جارٍ معالجة الدفع. سنحدثك عند استلام الدفعة.',
89
89
  },
90
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
91
+ value: 'يرجى التأكد من أن نصك يستخدم الأبجدية اللاتينية فقط (A-Z, a-z).',
92
+ },
90
93
  'Powered by': {
91
94
  value: 'مشغل بواسطة',
92
95
  },
@@ -255,6 +258,9 @@ const stringsBase = {
255
258
  "Payment processing. We'll update you when payment is received.": {
256
259
  value: "Payment processing. We'll update you when payment is received.",
257
260
  },
261
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
262
+ value: 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).',
263
+ },
258
264
  'Powered by': {
259
265
  value: 'Powered by',
260
266
  },
@@ -423,6 +429,9 @@ const stringsChinese = {
423
429
  "Payment processing. We'll update you when payment is received.": {
424
430
  value: '付款处理中。付款收到后,我们将通知您。',
425
431
  },
432
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
433
+ value: '请确保您的文本仅使用拉丁字母表(A-Z, a-z)。',
434
+ },
426
435
  'Powered by': {
427
436
  value: '由...提供支持',
428
437
  },
@@ -591,6 +600,9 @@ const stringsDanish = {
591
600
  "Payment processing. We'll update you when payment is received.": {
592
601
  value: 'Behandler betaling. Vi opdaterer dig, når betalingen er modtaget.',
593
602
  },
603
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
604
+ value: 'Sørg venligst for, at din tekst kun bruger det latinske alfabet (A-Z, a-z).',
605
+ },
594
606
  'Powered by': {
595
607
  value: 'Drevet af',
596
608
  },
@@ -759,6 +771,9 @@ const stringsDutch = {
759
771
  "Payment processing. We'll update you when payment is received.": {
760
772
  value: 'Betaling verwerken. We brengen je op de hoogte wanneer de betaling is ontvangen.',
761
773
  },
774
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
775
+ value: 'Zorg ervoor dat uw tekst alleen het Latijnse alfabet gebruikt (A-Z, a-z).',
776
+ },
762
777
  'Powered by': {
763
778
  value: 'Aangedreven door',
764
779
  },
@@ -927,6 +942,9 @@ const stringsFrench = {
927
942
  "Payment processing. We'll update you when payment is received.": {
928
943
  value: 'Traitement du paiement en cours. Nous vous tiendrons informé dès réception du paiement.',
929
944
  },
945
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
946
+ value: "Veuillez vous assurer que votre texte utilise uniquement l'alphabet latin (A-Z, a-z).",
947
+ },
930
948
  'Powered by': {
931
949
  value: 'Propulsé par',
932
950
  },
@@ -1095,6 +1113,9 @@ const stringsGerman = {
1095
1113
  "Payment processing. We'll update you when payment is received.": {
1096
1114
  value: 'Zahlung wird verarbeitet. Wir informieren Sie, sobald die Zahlung eingegangen ist.',
1097
1115
  },
1116
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
1117
+ value: 'Bitte stellen Sie sicher, dass Ihr Text nur das lateinische Alphabet verwendet (A-Z, a-z).',
1118
+ },
1098
1119
  'Powered by': {
1099
1120
  value: 'Angetrieben von',
1100
1121
  },
@@ -1263,6 +1284,9 @@ const stringsHebrew = {
1263
1284
  "Payment processing. We'll update you when payment is received.": {
1264
1285
  value: 'התשלום מעובד. נעדכן אותך כשהתשלום יתקבל.',
1265
1286
  },
1287
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
1288
+ value: 'אנא ודא שהטקסט שלך משתמש באלפבית הלטיני בלבד (A-Z, a-z).',
1289
+ },
1266
1290
  'Powered by': {
1267
1291
  value: 'מופעל על ידי',
1268
1292
  },
@@ -1431,6 +1455,9 @@ const stringsIndonesian = {
1431
1455
  "Payment processing. We'll update you when payment is received.": {
1432
1456
  value: 'Pemrosesan pembayaran. Kami akan memberi Anda pembaruan ketika pembayaran diterima.',
1433
1457
  },
1458
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
1459
+ value: 'Harap pastikan teks Anda hanya menggunakan alfabet Latin (A-Z, a-z).',
1460
+ },
1434
1461
  'Powered by': {
1435
1462
  value: 'Dipersembahkan oleh',
1436
1463
  },
@@ -1599,6 +1626,9 @@ const stringsItalian = {
1599
1626
  "Payment processing. We'll update you when payment is received.": {
1600
1627
  value: 'Elaborazione pagamento in corso. Ti aggiorneremo quando il pagamento sarà ricevuto.',
1601
1628
  },
1629
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
1630
+ value: "Si prega di assicurarsi che il testo utilizzi solo l'alfabeto latino (A-Z, a-z).",
1631
+ },
1602
1632
  'Powered by': {
1603
1633
  value: 'Offerto da',
1604
1634
  },
@@ -1767,6 +1797,9 @@ const stringsJapanese = {
1767
1797
  "Payment processing. We'll update you when payment is received.": {
1768
1798
  value: '支払処理中です。入金が確認された際に更新いたします。',
1769
1799
  },
1800
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
1801
+ value: 'テキストがラテンアルファベットのみを使用していることを確認してください(A-Z、a-z)。',
1802
+ },
1770
1803
  'Powered by': {
1771
1804
  value: 'Powered by',
1772
1805
  },
@@ -1935,6 +1968,9 @@ const stringsKorean = {
1935
1968
  "Payment processing. We'll update you when payment is received.": {
1936
1969
  value: '결제 처리 중. 결제가 접수되면 알려드리겠습니다.',
1937
1970
  },
1971
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
1972
+ value: '텍스트가 라틴 알파벳만 사용하는지 확인해 주세요 (A-Z, a-z).',
1973
+ },
1938
1974
  'Powered by': {
1939
1975
  value: '제공됨',
1940
1976
  },
@@ -2103,6 +2139,9 @@ const stringsNorwegian = {
2103
2139
  "Payment processing. We'll update you when payment is received.": {
2104
2140
  value: 'Bearbeider betalingen. Vi gir deg beskjed når betalingen er mottatt.',
2105
2141
  },
2142
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
2143
+ value: 'Vennligst sørg for at teksten din kun bruker det latinske alfabetet (A-Z, a-z).',
2144
+ },
2106
2145
  'Powered by': {
2107
2146
  value: 'Drevet av',
2108
2147
  },
@@ -2271,6 +2310,9 @@ const stringsPolish = {
2271
2310
  "Payment processing. We'll update you when payment is received.": {
2272
2311
  value: 'Trwa przetwarzanie płatności. Poinformujemy gdy płatność zostanie otrzymana.',
2273
2312
  },
2313
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
2314
+ value: 'Proszę upewnić się, że tekst używa tylko alfabetu łacińskiego (A-Z, a-z).',
2315
+ },
2274
2316
  'Powered by': {
2275
2317
  value: 'Dostarczone przez',
2276
2318
  },
@@ -2439,6 +2481,9 @@ const stringsPortuguese = {
2439
2481
  "Payment processing. We'll update you when payment is received.": {
2440
2482
  value: 'Processando pagamento. Informaremos quando o pagamento for recebido.',
2441
2483
  },
2484
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
2485
+ value: 'Por favor, certifique-se de que seu texto utilize apenas o alfabeto latino (A-Z, a-z).',
2486
+ },
2442
2487
  'Powered by': {
2443
2488
  value: 'Desenvolvido por',
2444
2489
  },
@@ -2607,6 +2652,9 @@ const stringsRussian = {
2607
2652
  "Payment processing. We'll update you when payment is received.": {
2608
2653
  value: 'Обрабатываем платеж. Сообщим вам, когда платеж будет получен.',
2609
2654
  },
2655
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
2656
+ value: 'Пожалуйста, убедитесь, что ваш текст использует только латинский алфавит (A-Z, a-z).',
2657
+ },
2610
2658
  'Powered by': {
2611
2659
  value: 'Работает на',
2612
2660
  },
@@ -2775,6 +2823,9 @@ const stringsSpanish = {
2775
2823
  "Payment processing. We'll update you when payment is received.": {
2776
2824
  value: 'Procesando pago. Le informaremos cuando se reciba el pago.',
2777
2825
  },
2826
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
2827
+ value: 'Por favor, asegúrese de que su texto use solo el alfabeto latino (A-Z, a-z).',
2828
+ },
2778
2829
  'Powered by': {
2779
2830
  value: 'Desarrollado por',
2780
2831
  },
@@ -2943,6 +2994,9 @@ const stringsSwedish = {
2943
2994
  "Payment processing. We'll update you when payment is received.": {
2944
2995
  value: 'Betalningsbehandling. Vi kommer att uppdatera dig när betalningen har mottagits.',
2945
2996
  },
2997
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
2998
+ value: 'Vänligen se till att din text endast använder det latinska alfabetet (A-Z, a-z).',
2999
+ },
2946
3000
  'Powered by': {
2947
3001
  value: 'Drivs av',
2948
3002
  },
@@ -3111,6 +3165,9 @@ const stringsTurkish = {
3111
3165
  "Payment processing. We'll update you when payment is received.": {
3112
3166
  value: 'Ödeme işleniyor. Ödeme alındığında sizi bilgilendireceğiz.',
3113
3167
  },
3168
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
3169
+ value: 'Lütfen metninizin sadece Latin alfabesini kullandığından emin olun (A-Z, a-z).',
3170
+ },
3114
3171
  'Powered by': {
3115
3172
  value: 'Tarafından desteklenmektedir',
3116
3173
  },
@@ -3279,6 +3336,9 @@ const stringsVietnamese = {
3279
3336
  "Payment processing. We'll update you when payment is received.": {
3280
3337
  value: 'Đang xử lý thanh toán. Chúng tôi sẽ thông báo khi nhận được thanh toán.',
3281
3338
  },
3339
+ 'Please ensure your text uses the Latin alphabet only (A-Z, a-z).': {
3340
+ value: 'Vui lòng đảm bảo rằng văn bản của bạn chỉ sử dụng bảng chữ cái Latinh (A-Z, a-z).',
3341
+ },
3282
3342
  'Powered by': {
3283
3343
  value: 'Nền tảng cung cấp bởi',
3284
3344
  },
@@ -4364,23 +4424,40 @@ const jsonParse = (_data) => {
4364
4424
  };
4365
4425
 
4366
4426
  const addressRuleStyle = ({ theme, }) => {
4427
+ const defaultStyle = {
4428
+ '.Action': {
4429
+ color: 'var(--colorText)',
4430
+ },
4431
+ '.Input': {
4432
+ boxShadow: 'none',
4433
+ // need to reset everything and the paddingTop to default, otherwise the paddingTop will not be updated.
4434
+ padding: '0',
4435
+ paddingBottom: '8px',
4436
+ paddingLeft: '16px',
4437
+ paddingRight: '8px',
4438
+ // any value here will be add up to the default paddingTop (20px).
4439
+ paddingTop: '6px',
4440
+ },
4441
+ '.Input:focus': {
4442
+ boxShadow: 'none',
4443
+ },
4444
+ '.PickerItem--highlight': {
4445
+ boxShadow: '0 0 0 2px var(--colorBackground)',
4446
+ },
4447
+ '.PickerItem--highlight:hover': {
4448
+ backgroundColor: 'var(--colorBackground)',
4449
+ boxShadow: 'none',
4450
+ },
4451
+ '.PickerItem--new': {
4452
+ color: 'var(--colorText)',
4453
+ },
4454
+ };
4367
4455
  switch (theme) {
4456
+ case 'DARK': {
4457
+ return Object.assign(Object.assign({}, defaultStyle), { '.Action': Object.assign(Object.assign({}, defaultStyle['.Action']), { color: 'white' }), '.PickerItem--new': Object.assign(Object.assign({}, defaultStyle['.PickerItem--new']), { color: 'white' }) });
4458
+ }
4368
4459
  default:
4369
- return {
4370
- '.Input': {
4371
- boxShadow: 'none',
4372
- // need to reset everything and the paddingTop to default, otherwise the paddingTop will not be updated.
4373
- padding: '0',
4374
- paddingBottom: '8px',
4375
- paddingLeft: '16px',
4376
- paddingRight: '8px',
4377
- // any value here will be add up to the default paddingTop (20px).
4378
- paddingTop: '6px',
4379
- },
4380
- '.Input:focus': {
4381
- boxShadow: 'none',
4382
- },
4383
- };
4460
+ return defaultStyle;
4384
4461
  }
4385
4462
  };
4386
4463
 
@@ -4432,7 +4509,7 @@ const getStripeOptions = ({ clientSecret, overrideBorderRaidus, overridePrimaryC
4432
4509
  return {
4433
4510
  appearance: {
4434
4511
  labels: 'floating',
4435
- rules: Object.assign({}, addressRuleStyle({ theme: 'LIGHT' })),
4512
+ rules: Object.assign({}, addressRuleStyle({ theme: overrideTheme || 'LIGHT' })),
4436
4513
  // get contrast theme color base on primary color
4437
4514
  theme: overrideTheme ? theme : themeBasedColor,
4438
4515
  variables: Object.assign(Object.assign({}, defaultVariable({
@@ -4569,9 +4646,9 @@ const stripeStorePrefetchLandedCost = async () => {
4569
4646
  return null;
4570
4647
  }
4571
4648
  return Object.assign(Object.assign({}, checkoutSession), { landedCost: foundLandedCost });
4572
- }).filter(Boolean)) || null;
4649
+ }).filter(Boolean)) || [];
4573
4650
  cartStore.shippingData =
4574
- (shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || null;
4651
+ (shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || [];
4575
4652
  // apply new subtotal and total, this is mainly to show items in the presentment currency
4576
4653
  const firstLandedCostData = (_f = cartStore.landedCostData) === null || _f === void 0 ? void 0 : _f.find(Boolean);
4577
4654
  const subtotals = !!firstLandedCostData
@@ -1,19 +1,37 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { s as stripeStore, a as stripeStorePrefetchLandedCost, l as logError, b as localizationStore } from './stripe.js';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { s as stripeStore, a as stripeStorePrefetchLandedCost, l as logError, b as localizationStore, t as translate } from './stripe.js';
3
+ import { z as zonosStore } from './zonosStore.js';
3
4
  import { i as isCheckoutMobile } from './isCheckoutMobile.js';
5
+ import { d as defineCustomElement$2 } from './zonos-banner2.js';
4
6
  import { d as defineCustomElement$1 } from './zonos-text2.js';
5
7
 
6
- const zonosAddressCss = ".sc-zonos-address-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-address-h *.sc-zonos-address{font-family:var(--font-family, Inter), Inter}.sc-zonos-address-h img.sc-zonos-address{max-width:100%}.sc-zonos-address-h dl.sc-zonos-address,.sc-zonos-address-h dd.sc-zonos-address,.sc-zonos-address-h h1.sc-zonos-address,.sc-zonos-address-h h2.sc-zonos-address,.sc-zonos-address-h h3.sc-zonos-address,.sc-zonos-address-h h4.sc-zonos-address,.sc-zonos-address-h h5.sc-zonos-address,.sc-zonos-address-h h6.sc-zonos-address,.sc-zonos-address-h hr.sc-zonos-address,.sc-zonos-address-h figure.sc-zonos-address,.sc-zonos-address-h p.sc-zonos-address,.sc-zonos-address-h pre.sc-zonos-address{margin:0}.sc-zonos-address-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-address-h .zonos--title.sc-zonos-address{margin-bottom:var(--amino-space-16)}";
8
+ /**
9
+ * Check if the given address object contains non-latin characters
10
+ * @returns an object with the same keys as the input object, and a boolean value indicating if the value contains non-latin characters
11
+ */
12
+ const containsNonLatinChars = (params) => {
13
+ /**
14
+ * This regex matches any character that is not a latin character, punctuation, symbol, number, separator, control, or mark
15
+ * I limited the character found to 1 in the regex, so that we can return early if we find any non-latin character
16
+ **/
17
+ const nonLatinRegex = /[^\p{Script=Latin}\p{P}\p{S}\p{N}\p{Z}\p{C}\p{M}]{1}/u;
18
+ const nonLatinValueList = Object.entries(params).reduce((prev, [key, value]) => nonLatinRegex.test(value) ? Object.assign(Object.assign({}, prev), { [key]: true }) : prev, {});
19
+ return nonLatinValueList;
20
+ };
21
+
22
+ const zonosAddressCss = ".sc-zonos-address-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-address-h *.sc-zonos-address{font-family:var(--font-family, Inter), Inter}.sc-zonos-address-h img.sc-zonos-address{max-width:100%}.sc-zonos-address-h dl.sc-zonos-address,.sc-zonos-address-h dd.sc-zonos-address,.sc-zonos-address-h h1.sc-zonos-address,.sc-zonos-address-h h2.sc-zonos-address,.sc-zonos-address-h h3.sc-zonos-address,.sc-zonos-address-h h4.sc-zonos-address,.sc-zonos-address-h h5.sc-zonos-address,.sc-zonos-address-h h6.sc-zonos-address,.sc-zonos-address-h hr.sc-zonos-address,.sc-zonos-address-h figure.sc-zonos-address,.sc-zonos-address-h p.sc-zonos-address,.sc-zonos-address-h pre.sc-zonos-address{margin:0}.sc-zonos-address-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-address-h .zonos--title.sc-zonos-address{margin-bottom:var(--amino-space-16)}.sc-zonos-address-h zonos-banner.sc-zonos-address{margin-top:var(--amino-space-8)}";
7
23
  const ZonosAddressStyle0 = zonosAddressCss;
8
24
 
9
25
  const ZonosAddress = /*@__PURE__*/ proxyCustomElement(class ZonosAddress extends HTMLElement {
10
26
  constructor() {
11
27
  super();
12
28
  this.__registerHost();
29
+ this.invalidCharacters = createEvent(this, "invalidCharacters", 7);
13
30
  this.type = undefined;
14
31
  this.titleText = undefined;
15
32
  this.defaultAddress = null;
16
33
  this.stripe = window.Zonos.stripe;
34
+ this.hasInvalidCharacters = false;
17
35
  this.isDirtyAddress = false;
18
36
  }
19
37
  getStripeAddressInstance() {
@@ -39,6 +57,13 @@ const ZonosAddress = /*@__PURE__*/ proxyCustomElement(class ZonosAddress extends
39
57
  stripeStore.stripeAddressEventData = event;
40
58
  break;
41
59
  }
60
+ const hasInvalidCharacters = this.checkInvalidCharacters(event);
61
+ this.invalidCharacters.emit(hasInvalidCharacters);
62
+ this.hasInvalidCharacters = hasInvalidCharacters;
63
+ if (hasInvalidCharacters) {
64
+ // no need to prefetch landed cost if the address contains invalid characters
65
+ return;
66
+ }
42
67
  // only prefetch if the address type is shipping
43
68
  void stripeStorePrefetchLandedCost();
44
69
  }
@@ -49,6 +74,29 @@ const ZonosAddress = /*@__PURE__*/ proxyCustomElement(class ZonosAddress extends
49
74
  }
50
75
  stripeStore.stripeBillingAddressElement = stripeAddressElement;
51
76
  }
77
+ checkInvalidCharacters(address) {
78
+ // Do nothing if the allowed character sets is ALL or the address is incomplete
79
+ if (!address.complete ||
80
+ zonosStore.checkoutSettings.allowedCharacterSets === 'ALL') {
81
+ return false;
82
+ }
83
+ const { address: addressValue, firstName, lastName, name } = address.value;
84
+ const { city, country, line1, line2, postal_code, state } = addressValue;
85
+ const invalidList = containsNonLatinChars({
86
+ city,
87
+ country,
88
+ line1,
89
+ line2: line2 || '',
90
+ name: name || `${firstName} ${lastName}`,
91
+ postal_code,
92
+ state,
93
+ });
94
+ // emit event if the address contains invalid characters
95
+ if (Object.keys(invalidList).length) {
96
+ return true;
97
+ }
98
+ return false;
99
+ }
52
100
  async watchInitStripe() {
53
101
  var _a, _b;
54
102
  this.stripe = window.Zonos.stripe;
@@ -112,7 +160,7 @@ const ZonosAddress = /*@__PURE__*/ proxyCustomElement(class ZonosAddress extends
112
160
  }, 600);
113
161
  }
114
162
  this.updateAddressEventData({
115
- event: Object.assign(Object.assign({}, event), { elementMode: this.type, elementType: 'address', empty: false, value: Object.assign(Object.assign({}, eventValue), { firstName: eventValue.firstName || eventValue.name.split(' ')[0], lastName: eventValue.lastName || eventValue.name.split(' ').pop() }) }),
163
+ event: Object.assign(Object.assign({}, event), { elementMode: this.type, elementType: 'address', value: Object.assign(Object.assign({}, eventValue), { firstName: eventValue.firstName || eventValue.name.split(' ')[0], lastName: eventValue.lastName || eventValue.name.split(' ')[1] }) }),
116
164
  type: this.type,
117
165
  });
118
166
  });
@@ -133,10 +181,17 @@ const ZonosAddress = /*@__PURE__*/ proxyCustomElement(class ZonosAddress extends
133
181
  stripeAddressEventData.value.address.line1.length > 0;
134
182
  // @Watch doesn't get trigger on initial load
135
183
  void this.watchInitStripe();
184
+ setTimeout(() => {
185
+ // check if the address contains invalid characters after address is loaded
186
+ const newStripeAddressEventData = this.getStripeAddressInstance().stripeAddressEventData;
187
+ if (newStripeAddressEventData) {
188
+ this.checkInvalidCharacters(newStripeAddressEventData);
189
+ }
190
+ }, 500);
136
191
  }
137
192
  render() {
138
193
  // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here
139
- return (h(Host, { key: '8d762300d8f599a277806d861d13d2beb6a0a5a6', class: "zonos--address zonos--elements" }, h("zonos-text", { key: 'c355eece2f193cb0595ede434238f062b2c07c7c', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), h("div", { key: '59c3bd68cd67c8d733fd2ca5d9f4b4114c84db4a', class: "zonos--address-component" })));
194
+ return (h(Host, { key: '2656f94224ff0385b4ae2594284257add19f82c3', class: "zonos--address zonos--elements" }, h("zonos-text", { key: '48b5ac45621d6d0f79f62227c71d70bb284c60da', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), h("div", { key: '2f11c7983fd310afa01fa5100ce25ce49cfcc3da', class: "zonos--address-component" }), this.hasInvalidCharacters && (h("zonos-banner", { bannerTitle: translate('Please ensure your text uses the Latin alphabet only (A-Z, a-z).'), intent: "error" }))));
140
195
  }
141
196
  get el() { return this; }
142
197
  static get watchers() { return {
@@ -148,6 +203,7 @@ const ZonosAddress = /*@__PURE__*/ proxyCustomElement(class ZonosAddress extends
148
203
  "titleText": [1, "title-text"],
149
204
  "defaultAddress": [16],
150
205
  "stripe": [32],
206
+ "hasInvalidCharacters": [32],
151
207
  "isDirtyAddress": [32]
152
208
  }, undefined, {
153
209
  "stripe": ["watchInitStripe"]
@@ -156,13 +212,18 @@ function defineCustomElement() {
156
212
  if (typeof customElements === "undefined") {
157
213
  return;
158
214
  }
159
- const components = ["zonos-address", "zonos-text"];
215
+ const components = ["zonos-address", "zonos-banner", "zonos-text"];
160
216
  components.forEach(tagName => { switch (tagName) {
161
217
  case "zonos-address":
162
218
  if (!customElements.get(tagName)) {
163
219
  customElements.define(tagName, ZonosAddress);
164
220
  }
165
221
  break;
222
+ case "zonos-banner":
223
+ if (!customElements.get(tagName)) {
224
+ defineCustomElement$2();
225
+ }
226
+ break;
166
227
  case "zonos-text":
167
228
  if (!customElements.get(tagName)) {
168
229
  defineCustomElement$1();
@@ -13,7 +13,9 @@ const sendErrorLog = async ({ endpoint, errors, metadata }) => {
13
13
  const errorObject = {
14
14
  endpoint,
15
15
  errors,
16
- metadata,
16
+ metadata: Object.assign({ href: window.location.href, userAgent: 'userAgentData' in window.navigator
17
+ ? window.navigator.userAgentData
18
+ : window.navigator.userAgent }, metadata),
17
19
  };
18
20
  void handleFetch(`${"https://v1.route.js.zonos.com"}/api/zonos-elements/log-error`, {
19
21
  body: errorObject,
@@ -127,8 +129,8 @@ const ZonosCheckoutFinish = /*@__PURE__*/ proxyCustomElement(class ZonosCheckout
127
129
  });
128
130
  document.dispatchEvent(successEvent);
129
131
  }
130
- // Attempt to pull the order details from the graph every second on 5 attempts
131
- if (this.notificationType === 'success') {
132
+ // Attempt to pull the order details from the graph every second on 5 attempts. Only pull if checkoutSessionId is available
133
+ if (this.notificationType === 'success' && cartStore.checkoutSessionId) {
132
134
  // wait this to finish before resetting store and checkout session id
133
135
  await this.getPullOrder();
134
136
  }
@@ -173,7 +175,7 @@ const ZonosCheckoutFinish = /*@__PURE__*/ proxyCustomElement(class ZonosCheckout
173
175
  // const totalItems = this.order?.items?.reduce((acc, item) => {
174
176
  // return acc + item.quantity;
175
177
  // }, 0);
176
- return (h(Host, { key: 'fe08bfd0c0b60f4dce1aa9a6f3ba273dccd70a92', class: "zonos--checkout-finish zonos--elements", style: {
178
+ return (h(Host, { key: 'd3e8a30ddfffe0cee18ff29edf839775f7a9d8ec', class: "zonos--checkout-finish zonos--elements", style: {
177
179
  '--border-radius': getBorderRadius(this.borderRadius),
178
180
  } }, this.isLoading && (h("div", { class: "loading-wrapper" }, h("zonos-spinner", null))), !this.isLoading && (h(Fragment, null, h("div", { 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", { class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), h("zonos-text", null, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), h("zonos-button", { onClick: () => this.closeClickHandler(), size: "md", variant: "primary" }, translate('Keep shopping')))))));
179
181
  }
@@ -2,7 +2,8 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { s as stripeStore, t as translate } from './stripe.js';
3
3
  import { t as trackConversionEvent } from './trackConversionEvent.js';
4
4
  import { s as submitGtag } from './submitGtag.js';
5
- import { d as defineCustomElement$7 } from './zonos-address2.js';
5
+ import { d as defineCustomElement$8 } from './zonos-address2.js';
6
+ import { d as defineCustomElement$7 } from './zonos-banner2.js';
6
7
  import { d as defineCustomElement$6 } from './zonos-button2.js';
7
8
  import { d as defineCustomElement$5 } from './zonos-checkbox2.js';
8
9
  import { d as defineCustomElement$4 } from './zonos-collapse2.js';
@@ -22,6 +23,17 @@ const ZonosCustomerInfo = /*@__PURE__*/ proxyCustomElement(class ZonosCustomerIn
22
23
  * handler for continue button click
23
24
  */
24
25
  this.continueClickHandler = () => {
26
+ if (this.hasInvalidBillingCharacters || this.hasInvalidShippingCharacters) {
27
+ // if the address contains invalid characters, scroll to the nearest zonos-banner
28
+ const banner = this.el.querySelector('zonos-address zonos-banner');
29
+ if (banner) {
30
+ banner.scrollIntoView({
31
+ behavior: 'smooth',
32
+ block: 'center',
33
+ });
34
+ }
35
+ return;
36
+ }
25
37
  this.continueClicked.emit();
26
38
  };
27
39
  this.continueLoading = false;
@@ -29,6 +41,8 @@ const ZonosCustomerInfo = /*@__PURE__*/ proxyCustomElement(class ZonosCustomerIn
29
41
  this.submitBtnColor = undefined;
30
42
  this.defaultAddress = null;
31
43
  this.disabled = true;
44
+ this.hasInvalidShippingCharacters = false;
45
+ this.hasInvalidBillingCharacters = false;
32
46
  }
33
47
  watchFormComplete() {
34
48
  if (!this.disabled) {
@@ -38,26 +52,28 @@ const ZonosCustomerInfo = /*@__PURE__*/ proxyCustomElement(class ZonosCustomerIn
38
52
  }
39
53
  }
40
54
  render() {
41
- var _a, _b, _c, _d;
42
55
  if (!stripeStore.stripeElements) {
43
56
  return null;
44
57
  }
58
+ const stripeShippingAddressEventData = stripeStore.stripeAddressEventData;
59
+ const stripeBillingAddressEventData = stripeStore.stripeBillingAddressEventData;
60
+ const stripeLinkEventData = stripeStore.stripeLinkEventData;
45
61
  // if the shipping is different from billing, we need to make sure the billing address is valid and disable the button if it's not
46
62
  const isValidBilling = stripeStore.stripeShippingSameAsBilling
47
- ? !!((_a = stripeStore.stripeAddressEventData) === null || _a === void 0 ? void 0 : _a.complete)
48
- : !!((_b = stripeStore.stripeBillingAddressEventData) === null || _b === void 0 ? void 0 : _b.complete);
63
+ ? !!(stripeShippingAddressEventData === null || stripeShippingAddressEventData === void 0 ? void 0 : stripeShippingAddressEventData.complete)
64
+ : !!(stripeBillingAddressEventData === null || stripeBillingAddressEventData === void 0 ? void 0 : stripeBillingAddressEventData.complete);
65
+ const isValidShipping = !!(stripeShippingAddressEventData === null || stripeShippingAddressEventData === void 0 ? void 0 : stripeShippingAddressEventData.complete);
66
+ const isValidLink = !!(stripeLinkEventData === null || stripeLinkEventData === void 0 ? void 0 : stripeLinkEventData.complete);
49
67
  // make sure data is valid
50
- this.disabled =
51
- !isValidBilling ||
52
- !((_c = stripeStore.stripeAddressEventData) === null || _c === void 0 ? void 0 : _c.complete) ||
53
- !((_d = stripeStore.stripeLinkEventData) === null || _d === void 0 ? void 0 : _d.complete);
68
+ this.disabled = !isValidBilling || !isValidShipping || !isValidLink;
54
69
  const showBilling = !stripeStore.stripeShippingSameAsBilling;
55
- 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')), h("zonos-link-authentication", { titleText: translate('Contact') }), h("zonos-address", { defaultAddress: this.defaultAddress, titleText: translate('Address'), type: "shipping" }), h("zonos-checkbox", { isChecked: stripeStore.stripeShippingSameAsBilling, label: translate('Shipping address same as billing'), onCheckboxSelected: e => {
70
+ 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')), 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 => {
56
71
  stripeStore.stripeShippingSameAsBilling = e.detail;
57
- } }), 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, isDisabled: this.disabled, loading: this.continueLoading, onClick: () => this.continueClickHandler(), size: "lg",
72
+ } }), 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, isDisabled: this.disabled, loading: this.continueLoading, onClick: () => this.continueClickHandler(), size: "lg",
58
73
  // use primary type when on mobile mode
59
74
  variant: this.submitBtnType }, translate('Continue to shipping'))))));
60
75
  }
76
+ get el() { return this; }
61
77
  static get watchers() { return {
62
78
  "disabled": ["watchFormComplete"]
63
79
  }; }
@@ -67,7 +83,9 @@ const ZonosCustomerInfo = /*@__PURE__*/ proxyCustomElement(class ZonosCustomerIn
67
83
  "submitBtnType": [1, "submit-btn-type"],
68
84
  "submitBtnColor": [1, "submit-btn-color"],
69
85
  "defaultAddress": [16],
70
- "disabled": [32]
86
+ "disabled": [32],
87
+ "hasInvalidShippingCharacters": [32],
88
+ "hasInvalidBillingCharacters": [32]
71
89
  }, undefined, {
72
90
  "disabled": ["watchFormComplete"]
73
91
  }]);
@@ -75,7 +93,7 @@ function defineCustomElement() {
75
93
  if (typeof customElements === "undefined") {
76
94
  return;
77
95
  }
78
- const components = ["zonos-customer-info", "zonos-address", "zonos-button", "zonos-checkbox", "zonos-collapse", "zonos-link-authentication", "zonos-spinner", "zonos-text"];
96
+ const components = ["zonos-customer-info", "zonos-address", "zonos-banner", "zonos-button", "zonos-checkbox", "zonos-collapse", "zonos-link-authentication", "zonos-spinner", "zonos-text"];
79
97
  components.forEach(tagName => { switch (tagName) {
80
98
  case "zonos-customer-info":
81
99
  if (!customElements.get(tagName)) {
@@ -83,6 +101,11 @@ function defineCustomElement() {
83
101
  }
84
102
  break;
85
103
  case "zonos-address":
104
+ if (!customElements.get(tagName)) {
105
+ defineCustomElement$8();
106
+ }
107
+ break;
108
+ case "zonos-banner":
86
109
  if (!customElements.get(tagName)) {
87
110
  defineCustomElement$7();
88
111
  }
@@ -2767,6 +2767,7 @@ const { reset, state: zonosStore } = createStore(() => ({
2767
2767
  zonosAttribution: 'DISABLED',
2768
2768
  },
2769
2769
  checkoutSettings: {
2770
+ allowedCharacterSets: 'ALL',
2770
2771
  analyticsProviders: [],
2771
2772
  orderNotifications: {
2772
2773
  abandonedCart: {