@zonos/elements 1.3.246 → 1.3.248

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 (304) hide show
  1. package/dist/cjs/ShortAddressCode-bec338b0.js +7 -0
  2. package/dist/cjs/{cart-52cf3366.js → cart-28310848.js} +37 -6
  3. package/dist/cjs/getContrastColor-30848800.js +37 -0
  4. package/dist/cjs/{hasInclusivePrice-dbb82df8.js → hasInclusivePrice-134b0250.js} +1 -1
  5. package/dist/cjs/index.cjs.js +16 -7
  6. package/dist/cjs/{invoice-972f1ab3.js → invoice-2e8e5879.js} +2 -2
  7. package/dist/cjs/{isCollectMobileTablet-fd11246c.js → isCollectMobileTablet-bd0f4556.js} +2 -2
  8. package/dist/cjs/isContrastColor-09f5924a.js +12 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{localization-b1075a8c.js → localization-00e73920.js} +180 -0
  11. package/dist/cjs/{paypal-e339cc8c.js → paypal-3019ae94.js} +24 -29
  12. package/dist/cjs/{placeTestOrder-3dfbe3d6.js → placeTestOrder-b0369cfd.js} +2 -2
  13. package/dist/cjs/{renderCheckoutCurrency-55056c97.js → renderCheckoutCurrency-9e919b9f.js} +2 -2
  14. package/dist/cjs/{shouldRenderTaxIdInput-eda13ef8.js → shouldRenderTaxIdInput-b8abf6de.js} +18 -0
  15. package/dist/cjs/submitGtag-a50ab32e.js +116 -0
  16. package/dist/cjs/zonos-address-display_9.cjs.entry.js +35 -5
  17. package/dist/cjs/zonos-address_4.cjs.entry.js +37 -7
  18. package/dist/cjs/zonos-card_5.cjs.entry.js +5 -3
  19. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +170 -57
  20. package/dist/cjs/zonos-checkout.cjs.entry.js +31 -9
  21. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +2 -2
  22. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +14 -12
  23. package/dist/cjs/zonos-collect.cjs.entry.js +6 -4
  24. package/dist/cjs/zonos-controller.cjs.entry.js +6 -3
  25. package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
  26. package/dist/cjs/zonos-country-select_4.cjs.entry.js +1 -1
  27. package/dist/cjs/zonos-elements.cjs.js +1 -1
  28. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +2 -2
  29. package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
  30. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +4 -4
  31. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +14 -12
  32. package/dist/cjs/zonos-invoice.cjs.entry.js +6 -4
  33. package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
  34. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +18 -4
  35. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +88 -9
  36. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +9 -2
  37. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +26 -6
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +16 -2
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +31 -6
  40. package/dist/collection/components/checkout/zonos-collect/zonos-collect-finish/zonos-collect-finish.js +5 -5
  41. package/dist/collection/components/checkout/zonos-collect/zonos-collect-payment/zonos-collect-payment.js +1 -1
  42. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-finish/zonos-invoice-finish.js +5 -5
  43. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-payment/zonos-invoice-payment.js +1 -1
  44. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +35 -4
  45. package/dist/collection/components/main/zonos-controller.js +4 -1
  46. package/dist/collection/components/store/checkout/paypal.js +19 -1
  47. package/dist/collection/components/store/checkout/stripe.js +34 -5
  48. package/dist/collection/components/store/translationStore/strings.arabic.js +9 -0
  49. package/dist/collection/components/store/translationStore/strings.base.js +9 -0
  50. package/dist/collection/components/store/translationStore/strings.chinese.js +9 -0
  51. package/dist/collection/components/store/translationStore/strings.danish.js +9 -0
  52. package/dist/collection/components/store/translationStore/strings.dutch.js +9 -0
  53. package/dist/collection/components/store/translationStore/strings.french.js +9 -0
  54. package/dist/collection/components/store/translationStore/strings.german.js +9 -0
  55. package/dist/collection/components/store/translationStore/strings.hebrew.js +9 -0
  56. package/dist/collection/components/store/translationStore/strings.indonesian.js +9 -0
  57. package/dist/collection/components/store/translationStore/strings.italian.js +9 -0
  58. package/dist/collection/components/store/translationStore/strings.japanese.js +9 -0
  59. package/dist/collection/components/store/translationStore/strings.korean.js +9 -0
  60. package/dist/collection/components/store/translationStore/strings.norwegian.js +9 -0
  61. package/dist/collection/components/store/translationStore/strings.polish.js +9 -0
  62. package/dist/collection/components/store/translationStore/strings.portuguese.js +9 -0
  63. package/dist/collection/components/store/translationStore/strings.russian.js +9 -0
  64. package/dist/collection/components/store/translationStore/strings.spanish.js +9 -0
  65. package/dist/collection/components/store/translationStore/strings.swedish.js +9 -0
  66. package/dist/collection/components/store/translationStore/strings.turkish.js +9 -0
  67. package/dist/collection/components/store/translationStore/strings.vietnamese.js +9 -0
  68. package/dist/collection/components/stripe/zonos-address/zonos-address.css +2 -1
  69. package/dist/collection/components/stripe/zonos-address/zonos-address.js +53 -3
  70. package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +52 -2
  71. package/dist/collection/components/utils/api/prepCalculateLandedCost.js +2 -0
  72. package/dist/collection/components/utils/checkout/shouldRenderShortAddressCodeInput.js +16 -0
  73. package/dist/collection/components/utils/shortAddressCodeValidationResult.js +37 -0
  74. package/dist/collection/components/utils/submitGtag.js +90 -2
  75. package/dist/collection/scripts/_zonosBase.js +7 -0
  76. package/dist/collection/types/analyticsRelay.js +6 -0
  77. package/dist/collection/types/checkout/ShortAddressCode.js +3 -0
  78. package/dist/collection/types/generated/graphql.frontend.types.js +2 -0
  79. package/dist/collection/types/generated/graphql.internal.types.js +135 -0
  80. package/dist/collection/types/index.js +1 -0
  81. package/dist/esm/ShortAddressCode-7620e622.js +5 -0
  82. package/dist/esm/{cart-7f4704dc.js → cart-ba8f3890.js} +37 -6
  83. package/dist/esm/getContrastColor-28c18704.js +35 -0
  84. package/dist/esm/{hasInclusivePrice-3958ed11.js → hasInclusivePrice-6fcc712f.js} +1 -1
  85. package/dist/esm/index.js +15 -7
  86. package/dist/esm/{invoice-d3d256fb.js → invoice-055bb6e5.js} +2 -2
  87. package/dist/esm/{isCollectMobileTablet-27693de5.js → isCollectMobileTablet-797cea8b.js} +2 -2
  88. package/dist/esm/isContrastColor-69778cea.js +10 -0
  89. package/dist/esm/loader.js +1 -1
  90. package/dist/esm/{localization-401ec6d4.js → localization-853b48a9.js} +180 -0
  91. package/dist/esm/{paypal-61270b79.js → paypal-8d8518c0.js} +25 -28
  92. package/dist/esm/{placeTestOrder-c2180600.js → placeTestOrder-0a74923e.js} +2 -2
  93. package/dist/esm/{renderCheckoutCurrency-dea06d44.js → renderCheckoutCurrency-bd059ecf.js} +2 -2
  94. package/dist/esm/{shouldRenderTaxIdInput-d45ceeb4.js → shouldRenderTaxIdInput-2572bf77.js} +18 -1
  95. package/dist/esm/submitGtag-89d6e9cb.js +113 -0
  96. package/dist/esm/zonos-address-display_9.entry.js +35 -5
  97. package/dist/esm/zonos-address_4.entry.js +37 -7
  98. package/dist/esm/zonos-card_5.entry.js +5 -3
  99. package/dist/esm/zonos-cart-items_12.entry.js +170 -57
  100. package/dist/esm/zonos-checkout.entry.js +31 -9
  101. package/dist/esm/zonos-collect-cart-items_3.entry.js +2 -2
  102. package/dist/esm/zonos-collect-finish_6.entry.js +14 -12
  103. package/dist/esm/zonos-collect.entry.js +6 -4
  104. package/dist/esm/zonos-controller.entry.js +6 -3
  105. package/dist/esm/zonos-country-flag.entry.js +1 -1
  106. package/dist/esm/zonos-country-select_4.entry.js +1 -1
  107. package/dist/esm/zonos-elements.js +1 -1
  108. package/dist/esm/zonos-hello-dialog.entry.js +2 -2
  109. package/dist/esm/zonos-hello.entry.js +1 -1
  110. package/dist/esm/zonos-invoice-cart-items_2.entry.js +4 -4
  111. package/dist/esm/zonos-invoice-finish_5.entry.js +14 -12
  112. package/dist/esm/zonos-invoice.entry.js +6 -4
  113. package/dist/esm/zonos-language-select_2.entry.js +1 -1
  114. package/dist/esm/zonos-shipping-rich-radio.entry.js +19 -5
  115. package/dist/esm-es5/ShortAddressCode-7620e622.js +1 -0
  116. package/dist/esm-es5/cart-ba8f3890.js +1 -0
  117. package/dist/esm-es5/getContrastColor-28c18704.js +1 -0
  118. package/dist/esm-es5/{hasInclusivePrice-3958ed11.js → hasInclusivePrice-6fcc712f.js} +1 -1
  119. package/dist/esm-es5/index.js +1 -1
  120. package/dist/esm-es5/{invoice-d3d256fb.js → invoice-055bb6e5.js} +1 -1
  121. package/dist/esm-es5/{isCollectMobileTablet-27693de5.js → isCollectMobileTablet-797cea8b.js} +1 -1
  122. package/dist/esm-es5/isContrastColor-69778cea.js +1 -0
  123. package/dist/esm-es5/loader.js +1 -1
  124. package/dist/esm-es5/localization-853b48a9.js +1 -0
  125. package/dist/esm-es5/paypal-8d8518c0.js +17 -0
  126. package/dist/esm-es5/{placeTestOrder-c2180600.js → placeTestOrder-0a74923e.js} +1 -1
  127. package/dist/esm-es5/{renderCheckoutCurrency-dea06d44.js → renderCheckoutCurrency-bd059ecf.js} +1 -1
  128. package/dist/esm-es5/shouldRenderTaxIdInput-2572bf77.js +1 -0
  129. package/dist/esm-es5/submitGtag-89d6e9cb.js +1 -0
  130. package/dist/esm-es5/zonos-address-display_9.entry.js +1 -1
  131. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  132. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  133. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  134. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  135. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  136. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  137. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  138. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  139. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  140. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  141. package/dist/esm-es5/zonos-elements.js +1 -1
  142. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  143. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  144. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
  145. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  146. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  147. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  148. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  149. package/dist/scripts/analyticsRelayOnInit.js +1 -0
  150. package/dist/scripts/index.d.ts +61 -4
  151. package/dist/scripts/index.js +1 -1
  152. package/dist/scripts/loadZonos.js +1 -1
  153. package/dist/scripts/zonos.js +1 -1
  154. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +4 -0
  155. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +4 -0
  156. package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +4 -0
  157. package/dist/types/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.d.ts +5 -0
  158. package/dist/types/components/store/checkout/stripe.d.ts +10 -0
  159. package/dist/types/components/store/translationStore/strings.arabic.d.ts +9 -0
  160. package/dist/types/components/store/translationStore/strings.base.d.ts +9 -0
  161. package/dist/types/components/store/translationStore/strings.chinese.d.ts +9 -0
  162. package/dist/types/components/store/translationStore/strings.danish.d.ts +9 -0
  163. package/dist/types/components/store/translationStore/strings.dutch.d.ts +9 -0
  164. package/dist/types/components/store/translationStore/strings.french.d.ts +9 -0
  165. package/dist/types/components/store/translationStore/strings.german.d.ts +9 -0
  166. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +9 -0
  167. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +9 -0
  168. package/dist/types/components/store/translationStore/strings.italian.d.ts +9 -0
  169. package/dist/types/components/store/translationStore/strings.japanese.d.ts +9 -0
  170. package/dist/types/components/store/translationStore/strings.korean.d.ts +9 -0
  171. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +9 -0
  172. package/dist/types/components/store/translationStore/strings.polish.d.ts +9 -0
  173. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +9 -0
  174. package/dist/types/components/store/translationStore/strings.russian.d.ts +9 -0
  175. package/dist/types/components/store/translationStore/strings.spanish.d.ts +9 -0
  176. package/dist/types/components/store/translationStore/strings.swedish.d.ts +9 -0
  177. package/dist/types/components/store/translationStore/strings.turkish.d.ts +9 -0
  178. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +9 -0
  179. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +8 -0
  180. package/dist/types/components/stripe/zonos-custom-address/zonos-custom-address.d.ts +8 -0
  181. package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
  182. package/dist/types/components/utils/checkout/shouldRenderShortAddressCodeInput.d.ts +6 -0
  183. package/dist/types/components/utils/shortAddressCodeValidationResult.d.ts +12 -0
  184. package/dist/types/components/utils/submitGtag.d.ts +32 -2
  185. package/dist/types/components.d.ts +32 -0
  186. package/dist/types/scripts/_zonosBase.d.ts +11 -0
  187. package/dist/types/types/analyticsRelay.d.ts +12 -0
  188. package/dist/types/types/checkout/ShortAddressCode.d.ts +2 -0
  189. package/dist/types/types/checkout/api/CalculateLandedCost.d.ts +8 -0
  190. package/dist/types/types/checkout/api/CreateParty.d.ts +1 -0
  191. package/dist/types/types/generated/graphql.frontend.types.d.ts +3 -1
  192. package/dist/types/types/generated/graphql.frontend.types.ts +3 -1
  193. package/dist/types/types/generated/graphql.internal.types.d.ts +157 -30
  194. package/dist/types/types/generated/graphql.internal.types.ts +194 -37
  195. package/dist/types/types/index.d.ts +1 -0
  196. package/dist/zonos-elements/index.esm.js +1 -1
  197. package/dist/zonos-elements/p-002e45f9.system.js +17 -0
  198. package/dist/zonos-elements/p-0792688d.system.entry.js +1 -0
  199. package/dist/zonos-elements/p-09aabce0.js +1 -0
  200. package/dist/zonos-elements/p-0b7beb16.system.entry.js +1 -0
  201. package/dist/zonos-elements/p-0f787f5d.entry.js +1 -0
  202. package/dist/zonos-elements/p-0ff93ca6.entry.js +1 -0
  203. package/dist/zonos-elements/p-14735e9a.system.entry.js +1 -0
  204. package/dist/zonos-elements/{p-367c13db.system.entry.js → p-1acf0a71.system.entry.js} +1 -1
  205. package/dist/zonos-elements/p-1d42cd20.js +1 -0
  206. package/dist/zonos-elements/p-1dbeeab2.entry.js +1 -0
  207. package/dist/zonos-elements/p-291f7ccb.system.entry.js +1 -0
  208. package/dist/zonos-elements/{p-67820c21.system.entry.js → p-2f55895c.system.entry.js} +1 -1
  209. package/dist/zonos-elements/p-37bb5f2d.entry.js +1 -0
  210. package/dist/zonos-elements/{p-fe699cc5.system.entry.js → p-3908f78d.system.entry.js} +1 -1
  211. package/dist/zonos-elements/p-3972663a.system.entry.js +1 -0
  212. package/dist/zonos-elements/{p-4d7b82b5.entry.js → p-39fa55c7.entry.js} +1 -1
  213. package/dist/zonos-elements/p-3e85b9f5.system.entry.js +1 -0
  214. package/dist/zonos-elements/{p-cee69784.entry.js → p-403b9fca.entry.js} +1 -1
  215. package/dist/zonos-elements/p-41299ffb.js +1 -0
  216. package/dist/zonos-elements/p-443e1f30.system.js +1 -0
  217. package/dist/zonos-elements/p-48475755.entry.js +1 -0
  218. package/dist/zonos-elements/p-48d55793.system.js +1 -0
  219. package/dist/zonos-elements/{p-3f46d83e.entry.js → p-58248f03.entry.js} +1 -1
  220. package/dist/zonos-elements/p-5edef7c3.system.js +1 -0
  221. package/dist/zonos-elements/p-63a383f4.js +1 -0
  222. package/dist/zonos-elements/{p-415c2a90.system.js → p-63a3d3b9.system.js} +1 -1
  223. package/dist/zonos-elements/p-64661dd1.js +1 -0
  224. package/dist/zonos-elements/p-655ec440.system.js +1 -0
  225. package/dist/zonos-elements/p-69212d0f.entry.js +1 -0
  226. package/dist/zonos-elements/{p-4bd8a16c.entry.js → p-69b9b711.entry.js} +1 -1
  227. package/dist/zonos-elements/p-719403e0.system.js +1 -0
  228. package/dist/zonos-elements/{p-133e9ce7.system.entry.js → p-71a8d971.system.entry.js} +1 -1
  229. package/dist/zonos-elements/p-71d855b8.system.entry.js +1 -0
  230. package/dist/zonos-elements/p-71f10bf0.entry.js +1 -0
  231. package/dist/zonos-elements/p-72ff005c.entry.js +1 -0
  232. package/dist/zonos-elements/p-786d1c24.js +1 -0
  233. package/dist/zonos-elements/{p-87206522.system.entry.js → p-7b400b5f.system.entry.js} +1 -1
  234. package/dist/zonos-elements/p-7dba5f23.system.js +1 -0
  235. package/dist/zonos-elements/{p-6b9b7cfb.system.entry.js → p-8205ae87.system.entry.js} +1 -1
  236. package/dist/zonos-elements/{p-3a88a130.entry.js → p-83377e23.entry.js} +1 -1
  237. package/dist/zonos-elements/p-85e59f3a.system.entry.js +1 -0
  238. package/dist/zonos-elements/p-866afec1.js +1 -0
  239. package/dist/zonos-elements/p-942358eb.system.js +1 -0
  240. package/dist/zonos-elements/p-94c5fbfc.system.entry.js +1 -0
  241. package/dist/zonos-elements/p-a12cb7ce.entry.js +1 -0
  242. package/dist/zonos-elements/p-abf38ed6.js +1 -0
  243. package/dist/zonos-elements/{p-e0809901.system.js → p-ae16dda9.system.js} +1 -1
  244. package/dist/zonos-elements/p-ae26aec5.system.js +1 -0
  245. package/dist/zonos-elements/p-af85846e.system.js +1 -0
  246. package/dist/zonos-elements/{p-78c8bb58.system.entry.js → p-b54a95ea.system.entry.js} +1 -1
  247. package/dist/zonos-elements/{p-a79f3685.js → p-bc4bfa06.js} +1 -1
  248. package/dist/zonos-elements/p-bf5e47e2.entry.js +1 -0
  249. package/dist/zonos-elements/p-c027a832.system.js +1 -0
  250. package/dist/zonos-elements/p-c2442878.system.js +1 -1
  251. package/dist/zonos-elements/p-c2f34b10.system.entry.js +1 -0
  252. package/dist/zonos-elements/p-c36696f9.js +1 -0
  253. package/dist/zonos-elements/p-c7311ce5.system.entry.js +1 -0
  254. package/dist/zonos-elements/{p-faae5eca.entry.js → p-d5b7d3c3.entry.js} +1 -1
  255. package/dist/zonos-elements/{p-288aab46.js → p-de8899bc.js} +1 -1
  256. package/dist/zonos-elements/p-e17bbcee.entry.js +1 -0
  257. package/dist/zonos-elements/p-eea7ac64.js +1 -0
  258. package/dist/zonos-elements/p-f6c2c743.entry.js +1 -0
  259. package/dist/zonos-elements/p-fe06c9ea.js +17 -0
  260. package/dist/zonos-elements/p-fe96e239.system.js +1 -0
  261. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  262. package/package.json +1 -1
  263. package/dist/esm-es5/cart-7f4704dc.js +0 -1
  264. package/dist/esm-es5/localization-401ec6d4.js +0 -1
  265. package/dist/esm-es5/paypal-61270b79.js +0 -17
  266. package/dist/esm-es5/shouldRenderTaxIdInput-d45ceeb4.js +0 -1
  267. package/dist/zonos-elements/p-01b0a2e2.js +0 -1
  268. package/dist/zonos-elements/p-095f43ec.entry.js +0 -1
  269. package/dist/zonos-elements/p-1d91e5d1.entry.js +0 -1
  270. package/dist/zonos-elements/p-21fb6b39.js +0 -1
  271. package/dist/zonos-elements/p-2601538e.entry.js +0 -1
  272. package/dist/zonos-elements/p-276faa43.js +0 -1
  273. package/dist/zonos-elements/p-27874c22.entry.js +0 -1
  274. package/dist/zonos-elements/p-2889a485.system.entry.js +0 -1
  275. package/dist/zonos-elements/p-291b85f7.entry.js +0 -1
  276. package/dist/zonos-elements/p-2d2c627a.system.js +0 -1
  277. package/dist/zonos-elements/p-3b1898bc.system.entry.js +0 -1
  278. package/dist/zonos-elements/p-3f078bf5.system.entry.js +0 -1
  279. package/dist/zonos-elements/p-518b501c.system.entry.js +0 -1
  280. package/dist/zonos-elements/p-59ebb8c7.system.entry.js +0 -1
  281. package/dist/zonos-elements/p-5f956a0d.entry.js +0 -1
  282. package/dist/zonos-elements/p-6c29de12.entry.js +0 -1
  283. package/dist/zonos-elements/p-74e258ff.system.js +0 -1
  284. package/dist/zonos-elements/p-775c1122.system.js +0 -1
  285. package/dist/zonos-elements/p-7a6ab319.system.entry.js +0 -1
  286. package/dist/zonos-elements/p-85430ec1.js +0 -1
  287. package/dist/zonos-elements/p-872f9c22.system.entry.js +0 -1
  288. package/dist/zonos-elements/p-95524f54.js +0 -1
  289. package/dist/zonos-elements/p-993723c2.system.entry.js +0 -1
  290. package/dist/zonos-elements/p-a0a62b7e.js +0 -17
  291. package/dist/zonos-elements/p-a3411f20.entry.js +0 -1
  292. package/dist/zonos-elements/p-a556ec07.system.js +0 -17
  293. package/dist/zonos-elements/p-a6489088.js +0 -1
  294. package/dist/zonos-elements/p-acc0eee3.system.js +0 -1
  295. package/dist/zonos-elements/p-bd10e82a.system.entry.js +0 -1
  296. package/dist/zonos-elements/p-c62b6741.system.entry.js +0 -1
  297. package/dist/zonos-elements/p-c6aa780e.entry.js +0 -1
  298. package/dist/zonos-elements/p-d1effb76.system.js +0 -1
  299. package/dist/zonos-elements/p-e7543082.system.js +0 -1
  300. package/dist/zonos-elements/p-e7df8394.entry.js +0 -1
  301. package/dist/zonos-elements/p-e90e9584.entry.js +0 -1
  302. package/dist/zonos-elements/p-eb9ee025.system.js +0 -1
  303. package/dist/zonos-elements/p-ebef34e3.entry.js +0 -1
  304. package/dist/zonos-elements/p-f6c6b6d3.system.entry.js +0 -1
@@ -2,6 +2,7 @@ import { Fragment, h, Host, } from "@stencil/core";
2
2
  import { cartStore, cartStoreNextStep, } from "../../../store/checkout/cart";
3
3
  import { paypalStore } from "../../../store/checkout/paypal";
4
4
  import { stripeStore } from "../../../store/checkout/stripe";
5
+ import { storageStore } from "../../../store/storageStore";
5
6
  import { translate } from "../../../store/translationStore";
6
7
  import { zonosStore } from "../../../store/zonosStore";
7
8
  import { placeTestOrder } from "../../../utils/api/placeTestOrder";
@@ -50,7 +51,7 @@ export class ZonosCheckoutPayment {
50
51
  * handler for continue button click
51
52
  */
52
53
  this.continueClickHandler = async ({ currencyCode, }) => {
53
- var _a;
54
+ var _a, _b;
54
55
  if (!this.handleValidate()) {
55
56
  this.showErrorBanner = true;
56
57
  // Attempt to submit the form so the missing input error will be shown in Stripe
@@ -65,7 +66,13 @@ export class ZonosCheckoutPayment {
65
66
  }
66
67
  stripeStore.checkoutSettlementCurrency = currencyCode;
67
68
  // submit google tag when the form is complete
68
- submitGtag('zonos-checkout-payment-info');
69
+ submitGtag({
70
+ event: 'zonos-checkout-payment-info',
71
+ metadata: {
72
+ checkoutSessionId: storageStore.checkoutSessionId,
73
+ paymentMethod: (_b = stripeStore.stripePaymentEventData) === null || _b === void 0 ? void 0 : _b.value.type,
74
+ },
75
+ });
69
76
  this.continueClicked.emit();
70
77
  };
71
78
  this.copyCardToClipboard = async (cardNumber) => {
@@ -479,7 +479,12 @@ export class ZonosCheckout {
479
479
  }
480
480
  // Close the confirm dialog
481
481
  this.confirmDialogOpen = false;
482
- submitGtag('zonos-checkout-close');
482
+ submitGtag({
483
+ event: 'zonos-checkout-close',
484
+ metadata: {
485
+ checkoutSessionId: storageStore.checkoutSessionId,
486
+ },
487
+ });
483
488
  this.open = this.forceDialogOpen || false;
484
489
  if (!this.preview && cartStore.step === 'finish') {
485
490
  // reset cart store if it's not preview mode and only when checkout is in the finish step.
@@ -765,7 +770,12 @@ export class ZonosCheckout {
765
770
  isPreview: this.preview,
766
771
  sessionTimeout: CHECKOUT_SESSION_TIMEOUT,
767
772
  });
768
- submitGtag('zonos-checkout-start');
773
+ submitGtag({
774
+ event: 'zonos-checkout-start',
775
+ metadata: {
776
+ checkoutSessionId: storageStore.checkoutSessionId,
777
+ },
778
+ });
769
779
  const checkoutSessionId = storageStore.checkoutSessionId;
770
780
  void trackConversionEvent({
771
781
  checkoutSessionId,
@@ -1086,7 +1096,12 @@ export class ZonosCheckout {
1086
1096
  async handleCustomerInfoContinue() {
1087
1097
  var _a, _b, _c, _d;
1088
1098
  // submit google tag when the form is complete
1089
- submitGtag('zonos-checkout-customer-info');
1099
+ submitGtag({
1100
+ event: 'zonos-checkout-customer-info',
1101
+ metadata: {
1102
+ checkoutSessionId: storageStore.checkoutSessionId,
1103
+ },
1104
+ });
1090
1105
  const checkoutSessionId = storageStore.checkoutSessionId;
1091
1106
  void trackConversionEvent({
1092
1107
  checkoutSessionId,
@@ -1225,7 +1240,12 @@ export class ZonosCheckout {
1225
1240
  }
1226
1241
  catch (err) {
1227
1242
  logError(err);
1228
- submitGtag('zonos-checkout-payment-fail');
1243
+ submitGtag({
1244
+ event: 'zonos-checkout-payment-fail',
1245
+ metadata: {
1246
+ checkoutSessionId: storageStore.checkoutSessionId,
1247
+ },
1248
+ });
1229
1249
  stripeStore.hasPaymentError = true;
1230
1250
  // should request inventory refund if there's an error during payment
1231
1251
  if (stripeStore.shouldInventoryRefund) {
@@ -1482,7 +1502,7 @@ export class ZonosCheckout {
1482
1502
  '--zonos--primary-color': !this.isMobile
1483
1503
  ? colorPrimary
1484
1504
  : undefined,
1485
- }) }, !this.isMobile && renderTopHeader(), cartStore.step === 'customer-info' && (h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.getDefaultAddress(), 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, isMobile: this.isMobile, onContinueClicked: async () => {
1505
+ }) }, !this.isMobile && renderTopHeader(), cartStore.step === 'customer-info' && (h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.getDefaultAddress(), isMobile: this.isMobile, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'shipping' && (h("zonos-shipping", { continueLoading: this.submitLoading, isMobile: this.isMobile, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'payment' && (h("zonos-checkout-payment", { continueLoading: this.submitLoading, isMobile: this.isMobile, onContinueClicked: async () => {
1486
1506
  await this.handleStripePaymentContinue();
1487
1507
  }, submitBtnColor: submitButtonColor }))), h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), h("div", { class: "zonos--right-actions" }, window.Zonos.showBaseForeign && (h("zonos-currency-toggle", null)), !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: () => {
1488
1508
  // do nothing if it's not mobile
@@ -1510,7 +1530,7 @@ export class ZonosCheckout {
1510
1530
  this.isMobile && 'mobile',
1511
1531
  this.isIframed && 'iframed',
1512
1532
  this.hiddenMode && 'hidden-mode',
1513
- ]) }, 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())), h("zonos-dialog", { isLoading: true, loadingText: translate('You will be redirected to international checkout shortly.'), loadingTitle: translate('We detected that you are shipping to an international address.'), noClickOutside: true, noCloseButton: true, open: this.detectedDomesticCheckoutDialogOpen, width: "450px" }), h("zonos-confirm-dialog", { class: "zonos--close-confirm-dialog", dialogCancelBtnText: translate("Don't close"), dialogConfirmBtnText: translate('Close'), dialogIntent: "warn", dialogOpen: this.confirmDialogOpen, dialogSubtitle: translate('Would you like to close checkout and return to the site?'), dialogTitle: translate('Are you sure?'), onCancelClicked: () => {
1533
+ ]) }, this.preview ? (renderContent()) : (h("zonos-dialog", { borderStyle: style, class: "zonos--checkout-dialog", "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())), h("zonos-dialog", { isLoading: true, loadingText: translate('You will be redirected to international checkout shortly.'), loadingTitle: translate('We detected that you are shipping to an international address.'), noClickOutside: true, noCloseButton: true, open: this.detectedDomesticCheckoutDialogOpen, width: "450px" }), h("zonos-confirm-dialog", { class: "zonos--close-confirm-dialog", dialogCancelBtnText: translate("Don't close"), dialogConfirmBtnText: translate('Close'), dialogIntent: "warn", dialogOpen: this.confirmDialogOpen, dialogSubtitle: translate('Would you like to close checkout and return to the site?'), dialogTitle: translate('Are you sure?'), onCancelClicked: () => {
1514
1534
  this.confirmDialogOpen = false;
1515
1535
  },
1516
1536
  // Mark user selected confirm to close the dialog
@@ -10,6 +10,7 @@ import { containsNonLatinChars } from "../../../utils/containsNonLatinChars";
10
10
  import { extractName } from "../../../utils/extractName";
11
11
  import { log } from "../../../utils/logging/log";
12
12
  import { sendErrorLog } from "../../../utils/logging/sendErrorLog";
13
+ import { shortAddressCodeValidationResult } from "../../../utils/shortAddressCodeValidationResult";
13
14
  import { taxIdValidationResult } from "../../../utils/taxIdValidationResult";
14
15
  /**
15
16
  * Max address field length
@@ -48,6 +49,10 @@ export class ZonosCustomerInfo {
48
49
  * Whether or not the tax id input is invalid
49
50
  */
50
51
  this.taxIdErrorMessage = '';
52
+ /**
53
+ * Whether or not the short address code input is invalid
54
+ */
55
+ this.shortAddressCodeErrorMessage = '';
51
56
  /**
52
57
  * Whether or not the shipping address contains invalid characters
53
58
  */
@@ -299,7 +304,14 @@ export class ZonosCustomerInfo {
299
304
  shippingCountry: this.shippingCountry,
300
305
  taxId: stripeStore.taxId,
301
306
  });
307
+ const { error: shortAddressCodeError, valid: validShortAddressCode } = shortAddressCodeValidationResult({
308
+ shippingCountry: this.shippingCountry,
309
+ shortAddressCode: stripeStore.shortAddressCode,
310
+ });
302
311
  this.taxIdErrorMessage = !validTaxId ? translate(error) : '';
312
+ this.shortAddressCodeErrorMessage = !validShortAddressCode
313
+ ? translate(shortAddressCodeError)
314
+ : '';
303
315
  const addressLengthErrorList = this.validateAddressLength({
304
316
  address: stripeStore.stripeAddressEventData,
305
317
  type: 'shipping',
@@ -316,6 +328,7 @@ export class ZonosCustomerInfo {
316
328
  !isValidShipping ||
317
329
  !isValidLink ||
318
330
  !validTaxId ||
331
+ !validShortAddressCode ||
319
332
  this.exceededCharacterLimitErrorFieldList.length > 0) {
320
333
  return false;
321
334
  }
@@ -396,10 +409,10 @@ export class ZonosCustomerInfo {
396
409
  }
397
410
  // Render custom address component if the custom address form is enabled
398
411
  if (this.addressFormRenderType === 'zonos') {
399
- return (h("zonos-custom-address", { defaultAddress: defaultAddress, taxIdErrorMessage: this.taxIdErrorMessage, titleText: translate(type === 'shipping' ? 'Shipping address' : 'Billing address'), type: type }, this.renderExceededCharacterLimitError(type)));
412
+ return (h("zonos-custom-address", { defaultAddress: defaultAddress, shortAddressCodeErrorMessage: this.shortAddressCodeErrorMessage, taxIdErrorMessage: this.taxIdErrorMessage, titleText: translate(type === 'shipping' ? 'Shipping address' : 'Billing address'), type: type }, this.renderExceededCharacterLimitError(type)));
400
413
  }
401
414
  // Render Stripe address component by default
402
- return (h("zonos-address", { defaultAddress: defaultAddress, taxIdErrorMessage: this.taxIdErrorMessage, titleText: translate(type === 'shipping' ? 'Shipping address' : 'Billing address'), type: type }, this.renderExceededCharacterLimitError(type)));
415
+ return (h("zonos-address", { defaultAddress: defaultAddress, shortAddressCodeErrorMessage: this.shortAddressCodeErrorMessage, taxIdErrorMessage: this.taxIdErrorMessage, titleText: translate(type === 'shipping' ? 'Shipping address' : 'Billing address'), type: type }, this.renderExceededCharacterLimitError(type)));
403
416
  };
404
417
  }
405
418
  watchShowErrorBanner() {
@@ -659,6 +672,7 @@ export class ZonosCustomerInfo {
659
672
  "isCheckingForRestrictedItems": {},
660
673
  "isValidatingAddress": {},
661
674
  "taxIdErrorMessage": {},
675
+ "shortAddressCodeErrorMessage": {},
662
676
  "invalidShippingCharacterList": {},
663
677
  "invalidBillingCharacterList": {},
664
678
  "openAddressValidationDialog": {},
@@ -74,20 +74,26 @@ export class ZonosShipping {
74
74
  * handler for continue button click
75
75
  */
76
76
  this.continueClickHandler = () => {
77
- var _a;
77
+ var _a, _b;
78
78
  // show error banner if the form is not complete
79
79
  if (!this.handleValidate()) {
80
80
  this.showErrorBanner = true;
81
81
  return;
82
82
  }
83
83
  // submit google tag when the form is complete
84
- submitGtag('zonos-checkout-shipping-info');
84
+ submitGtag({
85
+ event: 'zonos-checkout-shipping-info',
86
+ metadata: {
87
+ checkoutSessionId: storageStore.checkoutSessionId,
88
+ serviceLevelId: (_a = this.selectedShippingMethod) === null || _a === void 0 ? void 0 : _a.value,
89
+ },
90
+ });
85
91
  const checkoutSessionId = storageStore.checkoutSessionId;
86
92
  void trackConversionEvent({
87
93
  checkoutSessionId,
88
94
  eventName: 'checkout_shippingInfoCompleted',
89
95
  metadata: {
90
- serviceLevelId: (_a = this.selectedShippingMethod) === null || _a === void 0 ? void 0 : _a.value,
96
+ serviceLevelId: (_b = this.selectedShippingMethod) === null || _b === void 0 ? void 0 : _b.value,
91
97
  },
92
98
  });
93
99
  this.showErrorBanner = false;
@@ -221,15 +227,15 @@ export class ZonosShipping {
221
227
  var _a;
222
228
  // Render all service levels for US since domestic shipping doesn't have DDP/DAP
223
229
  if (((_a = stripeStore.stripeAddressEventData) === null || _a === void 0 ? void 0 : _a.value.address.country) === 'US') {
224
- return (h("zonos-shipping-rich-radio", { items: this.serviceLevelsAll, onRadioSelected: e => this.handleRadioSelected(e), selectedItem: this.selectedShippingMethod }));
230
+ return (h("zonos-shipping-rich-radio", { isMobile: this.isMobile, items: this.serviceLevelsAll, onRadioSelected: e => this.handleRadioSelected(e), selectedItem: this.selectedShippingMethod }));
225
231
  }
226
- return (h(Fragment, null, h("zonos-shipping-rich-radio", { items: defaultShownServiceLevels, onRadioSelected: e => this.handleRadioSelected(e), selectedItem: this.selectedShippingMethod }), !!defaultShownServiceLevels.length &&
232
+ return (h(Fragment, null, h("zonos-shipping-rich-radio", { isMobile: this.isMobile, items: defaultShownServiceLevels, onRadioSelected: e => this.handleRadioSelected(e), selectedItem: this.selectedShippingMethod }), !!defaultShownServiceLevels.length &&
227
233
  !!this.serviceLevelsDAP.length && (h("button", { class: classes([
228
234
  'zonos--shipping-options-collapse-trigger',
229
235
  this.collapsedDAPOptions && 'collapsed',
230
236
  ]), onClick: () => {
231
237
  this.collapsedDAPOptions = !this.collapsedDAPOptions;
232
- } }, h("div", { class: "zonos--title-wrapper" }, h("zonos-text", { type: "label" }, `${translate(this.collapsedDAPOptions ? 'Show non-prepaid options' : 'Hide non-prepaid options')} `), h("zonos-icon", { content: ChevronUpIcon })))), h("zonos-collapse", { collapsed: this.collapsedDAPOptions }, h("div", { class: "zonos--dap-wrapper" }, h("zonos-banner", { bannerTitle: translate('Duties and taxes will be charged upon delivery.'), intent: "warning" }, translate('You may incur additional fees from the shipping carrier by not prepaying.')), h("zonos-shipping-rich-radio", { items: this.serviceLevelsDAP, onRadioSelected: e => this.handleRadioSelected(e), selectedItem: this.selectedShippingMethod })))));
238
+ } }, h("div", { class: "zonos--title-wrapper" }, h("zonos-text", { type: "label" }, `${translate(this.collapsedDAPOptions ? 'Show non-prepaid options' : 'Hide non-prepaid options')} `), h("zonos-icon", { content: ChevronUpIcon })))), h("zonos-collapse", { collapsed: this.collapsedDAPOptions }, h("div", { class: "zonos--dap-wrapper" }, h("zonos-banner", { bannerTitle: translate('Duties and taxes will be charged upon delivery.'), intent: "warning" }, translate('You may incur additional fees from the shipping carrier by not prepaying.')), h("zonos-shipping-rich-radio", { isMobile: this.isMobile, items: this.serviceLevelsDAP, onRadioSelected: e => this.handleRadioSelected(e), selectedItem: this.selectedShippingMethod })))));
233
239
  };
234
240
  return (h(Host, { class: "zonos--shipping zonos--elements" }, h("div", { class: "zonos--group" }, h("zonos-text", { class: "zonos--title", type: "semiBoldSubheader" }, translate('Delivery options')), this.showErrorBanner && !!this.serviceLevelsAll.length && (h("zonos-banner", { class: "zonos--error-banner", intent: "error" }, translate('No shipping method selected'))), h("zonos-text", { class: "zonos--shipping-method-title", type: "semiBoldLabel" }, translate('Shipping method')), !this.serviceLevelsAll.length ? (h("zonos-banner", { bannerTitle: cartStore.customQuotingError
235
241
  ? cartStore.customQuotingError
@@ -313,6 +319,25 @@ export class ZonosShipping {
313
319
  "setter": false,
314
320
  "attribute": "submit-btn-type",
315
321
  "reflect": false
322
+ },
323
+ "isMobile": {
324
+ "type": "boolean",
325
+ "mutable": false,
326
+ "complexType": {
327
+ "original": "boolean",
328
+ "resolved": "boolean",
329
+ "references": {}
330
+ },
331
+ "required": true,
332
+ "optional": false,
333
+ "docs": {
334
+ "tags": [],
335
+ "text": "Whether or not the checkout is in mobile mode"
336
+ },
337
+ "getter": false,
338
+ "setter": false,
339
+ "attribute": "is-mobile",
340
+ "reflect": false
316
341
  }
317
342
  };
318
343
  }
@@ -146,7 +146,7 @@ export class ZonosCollectFinish {
146
146
  window.history.replaceState({}, '', url.toString());
147
147
  // Payment doesn't go through
148
148
  if (error && (messages === null || messages === void 0 ? void 0 : messages.length)) {
149
- submitGtag('zonos-checkout-payment-fail');
149
+ submitGtag({ event: 'zonos-checkout-payment-fail' });
150
150
  void sendErrorLog({
151
151
  endpoint: 'Stripe payment failed',
152
152
  errors: [
@@ -159,7 +159,7 @@ export class ZonosCollectFinish {
159
159
  });
160
160
  }
161
161
  else {
162
- submitGtag('zonos-checkout-success');
162
+ submitGtag({ event: 'zonos-checkout-success' });
163
163
  const checkoutSessionId = storageStore.checkoutSessionId;
164
164
  void trackConversionEvent({
165
165
  checkoutSessionId,
@@ -204,7 +204,7 @@ export class ZonosCollectFinish {
204
204
  // show success message right away when order id is already created
205
205
  this.isLoading = false;
206
206
  if (paypalStore.orderIdCreated) {
207
- submitGtag('zonos-checkout-success');
207
+ submitGtag({ event: 'zonos-checkout-success' });
208
208
  const checkoutSessionId = storageStore.checkoutSessionId;
209
209
  void trackConversionEvent({
210
210
  checkoutSessionId,
@@ -260,11 +260,11 @@ export class ZonosCollectFinish {
260
260
  }
261
261
  render() {
262
262
  const cartId = window.Zonos.cartId;
263
- return (h(Host, { key: 'e145b7396302157ccb515c54f99e50faa8ba45e6', class: "zonos--checkout-finish zonos--elements", style: {
263
+ return (h(Host, { key: 'c085862ecf1f50752634fb44f99b5cb5d82a9e24', class: "zonos--checkout-finish zonos--elements", style: {
264
264
  '--zonos--border-radius': getBorderRadius({
265
265
  overrideBorderStyle: this.borderRadius,
266
266
  }),
267
- } }, !this.isLoading && (h("div", { key: 'b9df4788f27c935ba7fc47e7c930cd162c8fbebe', class: "zonos--finish-details" }, h("div", { key: 'a510c995880c8698dc98390d0504b70333551c86', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: '8f84f87bf2365b85acffefe16e8b10cd9227a6e6', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), this.confirmationId && (h("zonos-badge", { key: '0e3f3f71cae6262d6394ad2c5a6d656509b484d5', badgeColor: "gray" }, this.confirmationId)), h("zonos-text", { key: 'c769f2ada1e6b421e373aeb4393560a21d6fcffc', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.order && cartId && (h("div", { key: '9972858fadd4d2d9c4f00e54921002ea04a5cc51', class: "zonos--button-container" }, h("zonos-button", { key: 'fe931a552fc1c43b29a1966736379c3c1d0536f6', onClick: () => {
267
+ } }, !this.isLoading && (h("div", { key: '9b30b12c817c3422b355a2f544bbf2908f736c80', class: "zonos--finish-details" }, h("div", { key: '697fff3258a6e74d99500ec25f5d3923f8c7cfc2', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: '8457c0c9b22c2fb6374b60e492099981026d2690', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), this.confirmationId && (h("zonos-badge", { key: '21ab18878abb37a2c37d873c494d71aee3d4ed71', badgeColor: "gray" }, this.confirmationId)), h("zonos-text", { key: '389918dd57e6ce5744b7192baa3c06c6db3f70cd', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.order && cartId && (h("div", { key: 'cca6b625a6bea62b788cf8dd6bb9e03e6505d81c', class: "zonos--button-container" }, h("zonos-button", { key: '0f45987515ae99045e5b449b5b1aaae11d70d9fb', onClick: () => {
268
268
  window.open(this.getReceiptUrl({ cartId }), '_blank');
269
269
  }, size: "lg", variant: "primary" }, translate('View receipt')))))))));
270
270
  }
@@ -64,7 +64,7 @@ export class ZonosCollectPayment {
64
64
  }
65
65
  stripeStore.checkoutSettlementCurrency = currencyCode;
66
66
  // submit google tag when the form is complete
67
- submitGtag('zonos-checkout-payment-info');
67
+ submitGtag({ event: 'zonos-checkout-payment-info' });
68
68
  this.continueClicked.emit();
69
69
  };
70
70
  this.copyCardToClipboard = async (cardNumber) => {
@@ -146,7 +146,7 @@ export class ZonosInvoiceFinish {
146
146
  window.history.replaceState({}, '', url.toString());
147
147
  // Payment doesn't go through
148
148
  if (error && (messages === null || messages === void 0 ? void 0 : messages.length)) {
149
- submitGtag('zonos-checkout-payment-fail');
149
+ submitGtag({ event: 'zonos-checkout-payment-fail' });
150
150
  void sendErrorLog({
151
151
  endpoint: 'Stripe payment failed',
152
152
  errors: [
@@ -159,7 +159,7 @@ export class ZonosInvoiceFinish {
159
159
  });
160
160
  }
161
161
  else {
162
- submitGtag('zonos-checkout-success');
162
+ submitGtag({ event: 'zonos-checkout-success' });
163
163
  const checkoutSessionId = storageStore.checkoutSessionId;
164
164
  void trackConversionEvent({
165
165
  checkoutSessionId,
@@ -204,7 +204,7 @@ export class ZonosInvoiceFinish {
204
204
  // show success message right away when order id is already created
205
205
  this.isLoading = false;
206
206
  if (paypalStore.orderIdCreated) {
207
- submitGtag('zonos-checkout-success');
207
+ submitGtag({ event: 'zonos-checkout-success' });
208
208
  const checkoutSessionId = storageStore.checkoutSessionId;
209
209
  void trackConversionEvent({
210
210
  checkoutSessionId,
@@ -260,11 +260,11 @@ export class ZonosInvoiceFinish {
260
260
  }
261
261
  render() {
262
262
  const cartId = window.Zonos.cartId;
263
- return (h(Host, { key: '2d8d736241298daa30fdf8935cef67bfa748e2df', class: "zonos--checkout-finish zonos--elements", style: {
263
+ return (h(Host, { key: '5d2fc87bc549fa2cb6d622e664043bbfe55f8b0e', class: "zonos--checkout-finish zonos--elements", style: {
264
264
  '--zonos--border-radius': getBorderRadius({
265
265
  overrideBorderStyle: this.borderRadius,
266
266
  }),
267
- } }, !this.isLoading && (h("div", { key: '30e1eae6e9ac7289af88f8fe2048d40796dfdf0e', class: "zonos--finish-details" }, h("div", { key: '0324e34b72e58d0862ed319576018bd45bd18b18', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: '227f3cdda8e9cb0ed15ea91acb88c88d15d3d21c', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), this.confirmationId && (h("zonos-badge", { key: '1458ad439dc56e9ca7641a9ca95f3dfb2fd6b28f', badgeColor: "gray" }, this.confirmationId)), h("zonos-text", { key: '8b0ab258c7beab09b0bc12999198f38813a144b3', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.order && cartId && (h("div", { key: 'ea6b4f8c1f8cce779fadf358966fece018d9869b', class: "zonos--button-container" }, h("zonos-button", { key: 'e5140fa1fab1e3150a2b15915c29d988f54468b2', onClick: () => {
267
+ } }, !this.isLoading && (h("div", { key: '1268de9e5be1edc4cbe2e7e2f1d2590b168d8c7b', class: "zonos--finish-details" }, h("div", { key: 'ce63ee565c176ea5687fc1c0f721932e26b93ebd', class: "zonos--group" }, this.notificationType === 'success' ? (h("zonos-icon", { "aria-label": "Order success", content: SuccessIcon, iconColor: 'blue-800', size: 50 })) : (h("zonos-icon", { "aria-label": "Order failed", content: RemoveIcon, iconColor: 'red-800', size: 50 })), h("zonos-text", { key: 'a073858eac699426dc5947b85d3b3665868f164e', class: "zonos--title", type: "semiBoldSubheader" }, this.notificationTitle), this.confirmationId && (h("zonos-badge", { key: 'a96c40f5cc977de82585f7827d6bc6aef55ba873', badgeColor: "gray" }, this.confirmationId)), h("zonos-text", { key: 'd97bc54085b9fe69eb05b44042deae25c379ee3a', class: "zonos--subtitle", textColor: "gray-600" }, this.notificationMessages.map(message => (h(Fragment, null, message, h("br", null))))), this.order && cartId && (h("div", { key: '488c3442e40fedf65caedbd3e098bd8b95976aab', class: "zonos--button-container" }, h("zonos-button", { key: '9a01b9cca0e3747548d386345015ecea80dc29d3', onClick: () => {
268
268
  window.open(this.getReceiptUrl({ cartId }), '_blank');
269
269
  }, size: "lg", variant: "primary" }, translate('View receipt')))))))));
270
270
  }
@@ -64,7 +64,7 @@ export class ZonosInvoicePayment {
64
64
  }
65
65
  stripeStore.checkoutSettlementCurrency = currencyCode;
66
66
  // submit google tag when the form is complete
67
- submitGtag('zonos-checkout-payment-info');
67
+ submitGtag({ event: 'zonos-checkout-payment-info' });
68
68
  this.continueClicked.emit();
69
69
  };
70
70
  this.copyCardToClipboard = async (cardNumber) => {
@@ -2,6 +2,7 @@ import { h, Host, } from "@stencil/core";
2
2
  import { zonosStore, zonosStoreFontFamily, } from "../../store/zonosStore";
3
3
  import { classes } from "../../utils/classes";
4
4
  import { getBorderRadius } from "../../utils/getBorderRadius";
5
+ import { getContrastColor } from "../../utils/getContrastColor";
5
6
  import { isColorVariable } from "../../utils/isColorVariable";
6
7
  export class ZonosShippingRichRadio {
7
8
  constructor() {
@@ -16,20 +17,30 @@ export class ZonosShippingRichRadio {
16
17
  };
17
18
  this.getRadioItemStyleVariables = () => {
18
19
  const usedColor = this.borderColor || zonosStore.appearance.colorSecondary;
19
- const secondaryColor = isColorVariable(usedColor)
20
- ? `var(--zonos-elements-${usedColor})`
20
+ const backgroundColor = !this.isMobile
21
+ ? zonosStore.appearance.colorPrimary
22
+ : '--zonos-elements-gray-0';
23
+ const contrastLabelColor = backgroundColor && usedColor
24
+ ? getContrastColor({
25
+ backgroundColor: isColorVariable(backgroundColor)
26
+ ? window
27
+ .getComputedStyle(this.ele)
28
+ .getPropertyValue(`--zonos-elements-${backgroundColor.replace('--zonos-elements-', '')}`)
29
+ : backgroundColor,
30
+ color: usedColor,
31
+ })
21
32
  : usedColor;
22
33
  return {
23
34
  '--zonos--border-radius': getBorderRadius({
24
35
  overrideBorderStyle: this.borderStyle,
25
36
  }),
26
- '--zonos--selected-border-color': secondaryColor || 'unset',
37
+ '--zonos--selected-border-color': contrastLabelColor || 'unset',
27
38
  };
28
39
  };
29
40
  }
30
41
  render() {
31
42
  var _a;
32
- return (h(Host, { key: '34abb7026ed7d382870f912b5e5c5631e4f06f76', class: "zonos--shipping-rich-radio zonos--elements", "data-theme": this.theme, style: Object.assign(Object.assign({}, this.getRadioItemStyleVariables()), { '--zonos--font-family': zonosStoreFontFamily() }) }, (_a = this.items) === null || _a === void 0 ? void 0 : _a.map(item => {
43
+ return (h(Host, { key: '8d77a01ba101899adb41904a820ba5f4985bc52d', class: "zonos--shipping-rich-radio zonos--elements", "data-theme": this.theme, style: Object.assign(Object.assign({}, this.getRadioItemStyleVariables()), { '--zonos--font-family': zonosStoreFontFamily() }) }, (_a = this.items) === null || _a === void 0 ? void 0 : _a.map(item => {
33
44
  var _a;
34
45
  const selected = ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.value) === item.value;
35
46
  return (h("div", { "aria-hidden": "true", class: classes([
@@ -150,6 +161,25 @@ export class ZonosShippingRichRadio {
150
161
  "attribute": "theme",
151
162
  "reflect": false
152
163
  },
164
+ "isMobile": {
165
+ "type": "boolean",
166
+ "mutable": false,
167
+ "complexType": {
168
+ "original": "boolean",
169
+ "resolved": "boolean",
170
+ "references": {}
171
+ },
172
+ "required": true,
173
+ "optional": false,
174
+ "docs": {
175
+ "tags": [],
176
+ "text": "Whether or not the radio item is in mobile mode"
177
+ },
178
+ "getter": false,
179
+ "setter": false,
180
+ "attribute": "is-mobile",
181
+ "reflect": false
182
+ },
153
183
  "selectedItem": {
154
184
  "type": "unknown",
155
185
  "mutable": false,
@@ -203,4 +233,5 @@ export class ZonosShippingRichRadio {
203
233
  }
204
234
  }];
205
235
  }
236
+ static get elementRef() { return "ele"; }
206
237
  }
@@ -12,6 +12,7 @@ import { initHello } from "../utils/hello/initHello";
12
12
  import { CheckoutAddressService } from "../utils/iframe/CheckoutAddressService";
13
13
  import { iframeServices, injectPrivateIframe, } from "../utils/iframe/IframeHelpers";
14
14
  import { log } from "../utils/logging/log";
15
+ import { ensureAnalyticsRelayPing } from "../utils/submitGtag";
15
16
  export class ZonosController {
16
17
  /**
17
18
  * Method to initialize checkout element
@@ -142,6 +143,8 @@ export class ZonosController {
142
143
  }
143
144
  document.body.appendChild(scriptToInject);
144
145
  });
146
+ // Custom HTML may set window.Zonos.googleAnalyticId; trigger relay ping so parent configures GA
147
+ ensureAnalyticsRelayPing();
145
148
  }
146
149
  async initGooglePlacesService(settings) {
147
150
  const genericSettings = settings === null || settings === void 0 ? void 0 : settings.genericSettings;
@@ -328,7 +331,7 @@ export class ZonosController {
328
331
  zonosStore.organizationName = organizationName;
329
332
  }
330
333
  render() {
331
- return h(Host, { key: 'fe248e1e38cd3d98c56f55d39b704f7337c74c29', class: "zonos--elements" });
334
+ return h(Host, { key: '92e1eae13d0b13f91098ea110203b6c7a7f67c3e', class: "zonos--elements" });
332
335
  }
333
336
  static get is() { return "zonos-controller"; }
334
337
  static get encapsulation() { return "shadow"; }
@@ -94,6 +94,12 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
94
94
  // reset stripe error message
95
95
  stripeStore.hasPaymentError = false;
96
96
  stripeStore.customErrorMessage = null;
97
+ submitGtag({
98
+ event: 'zonos-checkout-payment-fail',
99
+ metadata: {
100
+ checkoutSessionId,
101
+ },
102
+ });
97
103
  onPaypalFail === null || onPaypalFail === void 0 ? void 0 : onPaypalFail();
98
104
  return '';
99
105
  }
@@ -126,6 +132,12 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
126
132
  // reset stripe error message
127
133
  stripeStore.hasPaymentError = false;
128
134
  stripeStore.customErrorMessage = null;
135
+ submitGtag({
136
+ event: 'zonos-checkout-payment-fail',
137
+ metadata: {
138
+ checkoutSessionId,
139
+ },
140
+ });
129
141
  // trigger fail event
130
142
  onPaypalFail === null || onPaypalFail === void 0 ? void 0 : onPaypalFail();
131
143
  return '';
@@ -136,7 +148,13 @@ const paypalButtonOptions = ({ checkoutSessionId, onPaypalFail, onPaypalSessionD
136
148
  // reset paypal error banner
137
149
  paypalStore.paypalErrorMessage = null;
138
150
  // submit google tag when the form is complete
139
- submitGtag('zonos-checkout-payment-info');
151
+ submitGtag({
152
+ event: 'zonos-checkout-payment-info',
153
+ metadata: {
154
+ checkoutSessionId,
155
+ paymentMethod: 'paypal',
156
+ },
157
+ });
140
158
  const orderId = await paypalStoreCaptureOrder({
141
159
  checkoutSessionId,
142
160
  paypalMockResponse: window.Zonos._paypalMockResponse,
@@ -52,6 +52,7 @@ const { onChange: stripeStoreOnChange, reset, state: stripeStore, } = createStor
52
52
  isFetchingSession: false,
53
53
  partyBillingId: null,
54
54
  partyShippingId: null,
55
+ shortAddressCode: '',
55
56
  shouldInventoryRefund: false,
56
57
  shouldRenderPayInUsdButton: false,
57
58
  /**
@@ -193,12 +194,27 @@ const checkIsAddressOutdatedForValidation = () => {
193
194
  return isAddressDataDirty || isBillingAddressDataDirty;
194
195
  };
195
196
  const checkIsAddressOutdatedForAsyncAddressUpdate = () => {
196
- var _a, _b, _c, _d, _e, _f;
197
- const isLinkDataDirty = JSON.stringify((_a = stripeStore.stripeLinkUsedWhenFetchingLC) === null || _a === void 0 ? void 0 : _a.value) !==
198
- JSON.stringify((_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.value);
199
- const isAddressDataDirty = JSON.stringify((_c = stripeStore.stripeAddressUsedWhenAsyncAddressUpdate) === null || _c === void 0 ? void 0 : _c.value) !== JSON.stringify((_d = stripeStore.stripeAddressEventData) === null || _d === void 0 ? void 0 : _d.value);
197
+ var _a, _b, _c, _d, _e, _f, _g, _h;
198
+ /**
199
+ * If user updates the address after prefetching the landed cost, should always create and attach
200
+ * @caveat this will cause the scenario goes wrong after prefetching landed cost, with the current logic, it won't create party because nothing change after the prefetch happened
201
+ */
202
+ const landedCostShipToPartyId = (_a = cartStore.partiesData.find(party => party.type === 'DESTINATION')) === null || _a === void 0 ? void 0 : _a.id;
203
+ const landedCostBillToPartyId = (_b = cartStore.partiesData.find(party => party.type === 'PAYOR')) === null || _b === void 0 ? void 0 : _b.id;
204
+ // If haven't prefetched landed cost, there is no need to update address async
205
+ if (!landedCostShipToPartyId || !landedCostBillToPartyId) {
206
+ return false;
207
+ }
208
+ // If we don't have landed cost parties data, should way
209
+ if (stripeStore.partyShippingId !== landedCostShipToPartyId ||
210
+ stripeStore.partyBillingId !== landedCostBillToPartyId) {
211
+ return true;
212
+ }
213
+ const isLinkDataDirty = JSON.stringify((_c = stripeStore.stripeLinkUsedWhenFetchingLC) === null || _c === void 0 ? void 0 : _c.value) !==
214
+ JSON.stringify((_d = stripeStore.stripeLinkEventData) === null || _d === void 0 ? void 0 : _d.value);
215
+ const isAddressDataDirty = JSON.stringify((_e = stripeStore.stripeAddressUsedWhenAsyncAddressUpdate) === null || _e === void 0 ? void 0 : _e.value) !== JSON.stringify((_f = stripeStore.stripeAddressEventData) === null || _f === void 0 ? void 0 : _f.value);
200
216
  const isBillingAddressDataDirty = !stripeStore.stripeShippingSameAsBilling &&
201
- JSON.stringify((_e = stripeStore.stripeBillingAddressUsedWhenAsyncAddressUpdate) === null || _e === void 0 ? void 0 : _e.value) !== JSON.stringify((_f = stripeStore.stripeBillingAddressEventData) === null || _f === void 0 ? void 0 : _f.value);
217
+ JSON.stringify((_g = stripeStore.stripeBillingAddressUsedWhenAsyncAddressUpdate) === null || _g === void 0 ? void 0 : _g.value) !== JSON.stringify((_h = stripeStore.stripeBillingAddressEventData) === null || _h === void 0 ? void 0 : _h.value);
202
218
  const isTaxIdDirty = stripeStore.taxIdUsedWhenAsyncAddressUpdate !== stripeStore.taxId;
203
219
  const isCompanyNameDirty = stripeStore.companyNameUsedWhenAsyncAddressUpdate !==
204
220
  stripeStore.companyName;
@@ -315,6 +331,7 @@ const stripeStoreAsyncAddressUpdate = async () => {
315
331
  email: ((_d = stripeStore.stripeLinkEventData) === null || _d === void 0 ? void 0 : _d.value.email) || '',
316
332
  isTest: isE2ETest,
317
333
  rootId: firstLandedCostRootId,
334
+ shortAddressCode: stripeStore.shortAddressCode,
318
335
  taxId: stripeStore.taxId,
319
336
  },
320
337
  method: 'POST',
@@ -344,6 +361,16 @@ const stripeStoreAsyncAddressUpdate = async () => {
344
361
  stripeStore.taxIdUsedWhenAsyncAddressUpdate = stripeStore.taxId;
345
362
  stripeStore.partyBillingId = json.billToPartyId;
346
363
  stripeStore.partyShippingId = json.shipToPartyId;
364
+ // Update parties data with the new parties id
365
+ cartStore.partiesData = cartStore.partiesData.map(party => {
366
+ if (party.type === 'DESTINATION' && party.id !== json.shipToPartyId) {
367
+ return Object.assign(Object.assign({}, party), { id: json.shipToPartyId });
368
+ }
369
+ if (party.type === 'PAYOR' && party.id !== json.billToPartyId) {
370
+ return Object.assign(Object.assign({}, party), { id: json.billToPartyId });
371
+ }
372
+ return party;
373
+ });
347
374
  return {
348
375
  partiesCreated: true,
349
376
  };
@@ -783,6 +810,8 @@ const stripeStoreRetrievePayment = async ({ clientSecret: _clientSecret, storybo
783
810
  const status = paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status;
784
811
  const { isError, messages } = stripeStoreMessageBasedOnStatus(status);
785
812
  return {
813
+ amount: paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.amount,
814
+ currency: paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.currency,
786
815
  error: isError,
787
816
  messages,
788
817
  paymentIntentId: paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.id,
@@ -284,6 +284,9 @@ export const stringsArabic = {
284
284
  'Invalid session': {
285
285
  value: 'جلسة غير صالحة',
286
286
  },
287
+ 'Invalid short address code format. Must be 4 letters and 4 numbers.': {
288
+ value: 'تنسيق رمز العنوان القصير غير صالح. يجب أن يكون 4 أحرف و4 أرقام.',
289
+ },
287
290
  'Invoice:': {
288
291
  value: 'فاتورة:',
289
292
  },
@@ -527,6 +530,12 @@ export const stringsArabic = {
527
530
  'Shopping cart expired': {
528
531
  value: 'انتهت صلاحية عربة التسوق',
529
532
  },
533
+ 'Short address code': {
534
+ value: 'رمز العنوان القصير',
535
+ },
536
+ 'Short address code is required.': {
537
+ value: 'مطلوب رمز عنوان قصير.',
538
+ },
530
539
  Show: {
531
540
  value: 'عرض',
532
541
  },
@@ -285,6 +285,9 @@ export const stringsBase = {
285
285
  'Invalid session': {
286
286
  value: 'Invalid session',
287
287
  },
288
+ 'Invalid short address code format. Must be 4 letters and 4 numbers.': {
289
+ value: 'Invalid short address code format. Must be 4 letters and 4 numbers.',
290
+ },
288
291
  'Invoice:': {
289
292
  value: 'Invoice:',
290
293
  },
@@ -528,6 +531,12 @@ export const stringsBase = {
528
531
  'Shopping cart expired': {
529
532
  value: 'Shopping cart expired',
530
533
  },
534
+ 'Short address code': {
535
+ value: 'Short address code',
536
+ },
537
+ 'Short address code is required.': {
538
+ value: 'Short address code is required.',
539
+ },
531
540
  Show: {
532
541
  value: 'Show',
533
542
  },