@zonos/elements 1.3.18-alpha.1 → 1.3.18-alpha.3

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 (461) hide show
  1. package/README.md +341 -96
  2. package/dist/cjs/{cart-95209ae8.js → cart-5468dfd1.js} +284 -89
  3. package/dist/cjs/{getBorderRadius-44b3eca1.js → getBorderRadius-bcb309a8.js} +1 -1
  4. package/dist/cjs/{index-654a6001.js → index-b071017b.js} +4 -1
  5. package/dist/cjs/index.cjs.js +624 -0
  6. package/dist/cjs/{isDarkColor-01f45d3f.js → isDarkColor-b0393089.js} +1 -1
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/logError-4e2f2020.js +58 -0
  9. package/dist/cjs/{submitGtag-9d60f3bb.js → submitGtag-127a220f.js} +4 -3
  10. package/dist/cjs/zonos-address_8.cjs.entry.js +30 -18
  11. package/dist/cjs/zonos-badge_2.cjs.entry.js +7 -7
  12. package/dist/cjs/zonos-banner.cjs.entry.js +2 -2
  13. package/dist/cjs/zonos-button_3.cjs.entry.js +22 -11
  14. package/dist/cjs/zonos-card_2.cjs.entry.js +11 -10
  15. package/dist/cjs/{zonos-cart-items_10.cjs.entry.js → zonos-cart-items_11.cjs.entry.js} +118 -11
  16. package/dist/cjs/zonos-checkout.cjs.entry.js +47 -20
  17. package/dist/cjs/zonos-component.cjs.entry.js +2 -2
  18. package/dist/cjs/zonos-controller.cjs.entry.js +29 -24
  19. package/dist/cjs/zonos-country-flag.cjs.entry.js +6 -5
  20. package/dist/cjs/zonos-country-select_3.cjs.entry.js +12 -11
  21. package/dist/cjs/zonos-elements.cjs.js +2 -2
  22. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +9 -8
  23. package/dist/cjs/zonos-hello.cjs.entry.js +14 -13
  24. package/dist/cjs/zonos-input.cjs.entry.js +7 -7
  25. package/dist/cjs/zonos-link.cjs.entry.js +2 -2
  26. package/dist/cjs/zonos-logo.cjs.entry.js +4 -4
  27. package/dist/cjs/zonos-notification.cjs.entry.js +2 -2
  28. package/dist/cjs/zonos-payment.cjs.entry.js +8 -7
  29. package/dist/cjs/zonos-select-dialog-header_2.cjs.entry.js +6 -6
  30. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +3 -3
  31. package/dist/cjs/zonos-text.cjs.entry.js +2 -2
  32. package/dist/cjs/{zonosStore-d8bb0bda.js → zonosStore-7c6205ca.js} +2 -1
  33. package/dist/collection/__mocks__/zonos-url/index.js +1 -0
  34. package/dist/collection/__tests__/build-utils/urlCheckOne.js +1 -1
  35. package/dist/collection/collection-manifest.json +2 -1
  36. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +4 -9
  37. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +45 -8
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +3 -3
  39. package/dist/collection/components/common/zonos-badge/zonos-badge.js +3 -3
  40. package/dist/collection/components/common/zonos-button/zonos-button.css +12 -0
  41. package/dist/collection/components/common/zonos-button/zonos-button.js +43 -8
  42. package/dist/collection/components/common/zonos-card/zonos-card.js +3 -3
  43. package/dist/collection/components/common/zonos-checkbox/zonos-checkbox.js +3 -3
  44. package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.js +3 -3
  45. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +2 -2
  46. package/dist/collection/components/common/zonos-confirm-dialog/assets/ExclamationMarkDuotoneIcon.svg +4 -0
  47. package/dist/collection/components/common/zonos-confirm-dialog/assets/HelpDuotoneIcon.svg +4 -0
  48. package/dist/collection/components/common/zonos-confirm-dialog/assets/WarningDuotoneIcon.svg +4 -0
  49. package/dist/collection/components/common/zonos-confirm-dialog/zonos-confirm-dialog.css +125 -0
  50. package/dist/collection/components/common/zonos-confirm-dialog/zonos-confirm-dialog.js +322 -0
  51. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +2 -2
  52. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +2 -2
  53. package/dist/collection/components/common/zonos-dialog/zonos-dialog.css +1 -4
  54. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +38 -4
  55. package/dist/collection/components/common/zonos-input/zonos-input.js +4 -4
  56. package/dist/collection/components/common/zonos-language-select/zonos-language-select.js +2 -2
  57. package/dist/collection/components/common/{component-template/zonos-link → zonos-link}/zonos-link.js +1 -1
  58. package/dist/collection/components/common/zonos-logo/zonos-logo.js +2 -2
  59. package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.js +2 -2
  60. package/dist/collection/components/common/zonos-tooltip/zonos-tooltip.js +2 -2
  61. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +2 -2
  62. package/dist/collection/components/component-template/zonos-component/zonos-component.js +1 -1
  63. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +2 -2
  64. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +3 -3
  65. package/dist/collection/components/main/zonos-controller.js +12 -8
  66. package/dist/collection/components/store/hello/localization.js +12 -2
  67. package/dist/collection/components/store/translationStore/strings.arabic.js +12 -0
  68. package/dist/collection/components/store/translationStore/strings.base.js +12 -0
  69. package/dist/collection/components/store/translationStore/strings.chinese.js +12 -0
  70. package/dist/collection/components/store/translationStore/strings.danish.js +12 -0
  71. package/dist/collection/components/store/translationStore/strings.dutch.js +12 -0
  72. package/dist/collection/components/store/translationStore/strings.french.js +12 -0
  73. package/dist/collection/components/store/translationStore/strings.german.js +12 -0
  74. package/dist/collection/components/store/translationStore/strings.hebrew.js +12 -0
  75. package/dist/collection/components/store/translationStore/strings.indonesian.js +12 -0
  76. package/dist/collection/components/store/translationStore/strings.italian.js +12 -0
  77. package/dist/collection/components/store/translationStore/strings.japanese.js +12 -0
  78. package/dist/collection/components/store/translationStore/strings.korean.js +12 -0
  79. package/dist/collection/components/store/translationStore/strings.norwegian.js +12 -0
  80. package/dist/collection/components/store/translationStore/strings.polish.js +12 -0
  81. package/dist/collection/components/store/translationStore/strings.portuguese.js +12 -0
  82. package/dist/collection/components/store/translationStore/strings.russian.js +12 -0
  83. package/dist/collection/components/store/translationStore/strings.spanish.js +12 -0
  84. package/dist/collection/components/store/translationStore/strings.swedish.js +12 -0
  85. package/dist/collection/components/store/translationStore/strings.turkish.js +12 -0
  86. package/dist/collection/components/store/translationStore/strings.vietnamese.js +12 -0
  87. package/dist/collection/components/store/zonosStore.js +1 -0
  88. package/dist/collection/components/stripe/zonos-address/zonos-address.js +3 -3
  89. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +1 -1
  90. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +1 -1
  91. package/dist/collection/environment.js +0 -2
  92. package/dist/collection/index.js +1 -0
  93. package/dist/collection/scripts/_extractZonosQaUrl.js +26 -0
  94. package/dist/collection/scripts/_getZonosQaUrl.js +40 -0
  95. package/dist/collection/scripts/{loadStripe.js → _loadStripe.js} +1 -1
  96. package/dist/collection/scripts/{zonosBase.js → _zonosBase.js} +31 -7
  97. package/dist/collection/scripts/index.js +2 -0
  98. package/dist/collection/types/generated/graphql.customer.types.js +1 -0
  99. package/dist/collection/types/generated/graphql.frontend.types.js +1 -0
  100. package/dist/esm/{cart-6448e883.js → cart-63d120e1.js} +257 -60
  101. package/dist/{components/getBorderRadius.js → esm/getBorderRadius-d244b4b1.js} +1 -1
  102. package/dist/esm/{index-e063389c.js → index-3b46f3c3.js} +4 -1
  103. package/dist/esm/index.js +621 -0
  104. package/dist/{components/isDarkColor.js → esm/isDarkColor-39a36e82.js} +1 -1
  105. package/dist/esm/loader.js +3 -3
  106. package/dist/esm/logError-c456c092.js +55 -0
  107. package/dist/esm/{submitGtag-b7d369cd.js → submitGtag-35bb3945.js} +3 -2
  108. package/dist/esm/zonos-address_8.entry.js +28 -16
  109. package/dist/esm/zonos-badge_2.entry.js +7 -7
  110. package/dist/esm/zonos-banner.entry.js +2 -2
  111. package/dist/esm/zonos-button_3.entry.js +22 -11
  112. package/dist/esm/zonos-card_2.entry.js +11 -10
  113. package/dist/esm/{zonos-cart-items_10.entry.js → zonos-cart-items_11.entry.js} +118 -12
  114. package/dist/esm/zonos-checkout.entry.js +35 -8
  115. package/dist/esm/zonos-component.entry.js +2 -2
  116. package/dist/esm/zonos-controller.entry.js +12 -7
  117. package/dist/esm/zonos-country-flag.entry.js +6 -5
  118. package/dist/esm/zonos-country-select_3.entry.js +12 -11
  119. package/dist/esm/zonos-elements.js +3 -3
  120. package/dist/esm/zonos-hello-dialog.entry.js +9 -8
  121. package/dist/esm/zonos-hello.entry.js +6 -5
  122. package/dist/esm/zonos-input.entry.js +7 -7
  123. package/dist/esm/zonos-link.entry.js +2 -2
  124. package/dist/esm/zonos-logo.entry.js +4 -4
  125. package/dist/esm/zonos-notification.entry.js +2 -2
  126. package/dist/esm/zonos-payment.entry.js +7 -6
  127. package/dist/esm/zonos-select-dialog-header_2.entry.js +6 -6
  128. package/dist/esm/zonos-shipping-rich-radio.entry.js +3 -3
  129. package/dist/esm/zonos-text.entry.js +2 -2
  130. package/dist/esm/{zonosStore-33ff08ff.js → zonosStore-32e33a45.js} +2 -1
  131. package/dist/esm-es5/cart-63d120e1.js +1 -0
  132. package/dist/esm-es5/{getBorderRadius-567f1786.js → getBorderRadius-d244b4b1.js} +1 -1
  133. package/dist/esm-es5/{index-e063389c.js → index-3b46f3c3.js} +1 -1
  134. package/dist/esm-es5/index.js +1 -0
  135. package/dist/esm-es5/{isDarkColor-7f62035a.js → isDarkColor-39a36e82.js} +1 -1
  136. package/dist/esm-es5/loader.js +1 -1
  137. package/dist/esm-es5/logError-c456c092.js +1 -0
  138. package/dist/esm-es5/submitGtag-35bb3945.js +1 -0
  139. package/dist/esm-es5/zonos-address_8.entry.js +1 -1
  140. package/dist/esm-es5/zonos-badge_2.entry.js +1 -1
  141. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  142. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  143. package/dist/esm-es5/zonos-card_2.entry.js +1 -1
  144. package/dist/esm-es5/zonos-cart-items_11.entry.js +1 -0
  145. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  146. package/dist/esm-es5/zonos-component.entry.js +1 -1
  147. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  148. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  149. package/dist/esm-es5/zonos-country-select_3.entry.js +1 -1
  150. package/dist/esm-es5/zonos-elements.js +1 -1
  151. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  152. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  153. package/dist/esm-es5/zonos-input.entry.js +1 -1
  154. package/dist/esm-es5/zonos-link.entry.js +1 -1
  155. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  156. package/dist/esm-es5/zonos-notification.entry.js +1 -1
  157. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  158. package/dist/esm-es5/zonos-select-dialog-header_2.entry.js +1 -1
  159. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  160. package/dist/esm-es5/zonos-text.entry.js +1 -1
  161. package/dist/esm-es5/{zonosStore-33ff08ff.js → zonosStore-32e33a45.js} +1 -1
  162. package/dist/scripts/index.d.ts +3908 -0
  163. package/dist/scripts/index.js +1 -0
  164. package/dist/scripts/loadZonos.d.ts +3954 -0
  165. package/dist/scripts/loadZonos.js +1 -1
  166. package/dist/scripts/zonos.js +1 -1
  167. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +5 -7
  168. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +13 -3
  169. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +2 -2
  170. package/dist/types/components/common/zonos-button/zonos-button.d.ts +7 -1
  171. package/dist/types/components/common/zonos-confirm-dialog/zonos-confirm-dialog.d.ts +60 -0
  172. package/dist/types/components/common/zonos-dialog/zonos-dialog.d.ts +6 -1
  173. package/dist/types/components/main/zonos-controller.d.ts +1 -1
  174. package/dist/types/components/store/checkout/stripe.d.ts +1 -1
  175. package/dist/types/components/store/translationStore/strings.arabic.d.ts +12 -0
  176. package/dist/types/components/store/translationStore/strings.base.d.ts +12 -0
  177. package/dist/types/components/store/translationStore/strings.chinese.d.ts +12 -0
  178. package/dist/types/components/store/translationStore/strings.danish.d.ts +12 -0
  179. package/dist/types/components/store/translationStore/strings.dutch.d.ts +12 -0
  180. package/dist/types/components/store/translationStore/strings.french.d.ts +12 -0
  181. package/dist/types/components/store/translationStore/strings.german.d.ts +12 -0
  182. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +12 -0
  183. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +12 -0
  184. package/dist/types/components/store/translationStore/strings.italian.d.ts +12 -0
  185. package/dist/types/components/store/translationStore/strings.japanese.d.ts +12 -0
  186. package/dist/types/components/store/translationStore/strings.korean.d.ts +12 -0
  187. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +12 -0
  188. package/dist/types/components/store/translationStore/strings.polish.d.ts +12 -0
  189. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +12 -0
  190. package/dist/types/components/store/translationStore/strings.russian.d.ts +12 -0
  191. package/dist/types/components/store/translationStore/strings.spanish.d.ts +12 -0
  192. package/dist/types/components/store/translationStore/strings.swedish.d.ts +12 -0
  193. package/dist/types/components/store/translationStore/strings.turkish.d.ts +12 -0
  194. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +12 -0
  195. package/dist/types/components/store/translationStore.d.ts +1 -1
  196. package/dist/types/components/store/zonosStore.d.ts +5 -1
  197. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +2 -2
  198. package/dist/types/components/utils/styles.d.ts +1 -0
  199. package/dist/types/components.d.ts +164 -19
  200. package/dist/types/index.d.ts +1 -0
  201. package/dist/types/scripts/_extractZonosQaUrl.d.ts +11 -0
  202. package/dist/types/scripts/_getZonosQaUrl.d.ts +4 -0
  203. package/dist/types/scripts/{loadStripe.d.ts → _loadStripe.d.ts} +1 -1
  204. package/dist/types/scripts/{zonosBase.d.ts → _zonosBase.d.ts} +51 -3
  205. package/dist/types/scripts/index.d.ts +2 -0
  206. package/dist/types/types/checkout/CheckoutConfig.d.ts +12 -0
  207. package/dist/types/types/checkout/api/CalculateLandedCostRequest.d.ts +9 -0
  208. package/dist/types/types/generated/graphql.customer.types.d.ts +1 -0
  209. package/dist/types/types/generated/graphql.customer.types.ts +3 -0
  210. package/dist/types/types/generated/graphql.frontend.types.d.ts +1 -0
  211. package/dist/types/types/generated/graphql.frontend.types.ts +1 -0
  212. package/dist/types/types/global.d.ts +1 -1
  213. package/dist/zonos-elements/assets/ExclamationMarkDuotoneIcon.svg +4 -0
  214. package/dist/zonos-elements/assets/HelpDuotoneIcon.svg +4 -0
  215. package/dist/zonos-elements/assets/WarningDuotoneIcon.svg +4 -0
  216. package/dist/zonos-elements/index.esm.js +1 -0
  217. package/dist/zonos-elements/p-023c764c.system.entry.js +1 -0
  218. package/dist/zonos-elements/p-06b6ce37.system.entry.js +1 -0
  219. package/dist/zonos-elements/p-07c53d83.entry.js +1 -0
  220. package/dist/zonos-elements/{p-fe246229.system.entry.js → p-0d0f9694.system.entry.js} +1 -1
  221. package/dist/zonos-elements/{p-fd49d864.entry.js → p-0d5b5bcc.entry.js} +1 -1
  222. package/dist/zonos-elements/{p-771fbeb3.system.js → p-1b9442f6.system.js} +1 -1
  223. package/dist/zonos-elements/p-200b661c.entry.js +1 -0
  224. package/dist/zonos-elements/{p-835c8928.entry.js → p-281b8bdf.entry.js} +1 -1
  225. package/dist/zonos-elements/{p-a889c1bc.entry.js → p-2af19b63.entry.js} +1 -1
  226. package/dist/zonos-elements/{p-582d8b27.entry.js → p-2ced091f.entry.js} +1 -1
  227. package/dist/zonos-elements/{p-909a331c.js → p-2f759d82.js} +1 -1
  228. package/dist/zonos-elements/p-3b66df06.system.entry.js +1 -0
  229. package/dist/zonos-elements/{p-d7acc81c.entry.js → p-3ba8838a.entry.js} +1 -1
  230. package/dist/zonos-elements/p-428c034a.entry.js +1 -0
  231. package/dist/zonos-elements/p-43b2d28d.system.entry.js +1 -0
  232. package/dist/zonos-elements/p-47a42a30.js +1 -0
  233. package/dist/zonos-elements/{p-9ec93319.entry.js → p-498a0e18.entry.js} +1 -1
  234. package/dist/zonos-elements/{p-f71489e5.system.entry.js → p-4f72bfee.system.entry.js} +1 -1
  235. package/dist/zonos-elements/p-4fc1459c.entry.js +1 -0
  236. package/dist/zonos-elements/p-4fca8fd5.system.entry.js +1 -0
  237. package/dist/zonos-elements/{p-79f3c4f5.system.js → p-58e730b6.system.js} +1 -1
  238. package/dist/zonos-elements/{p-83fecb2a.entry.js → p-58fc8ec1.entry.js} +1 -1
  239. package/dist/zonos-elements/{p-e7b4b756.entry.js → p-597b75f3.entry.js} +1 -1
  240. package/dist/zonos-elements/{p-87badea9.system.js → p-62ecfbcc.system.js} +1 -1
  241. package/dist/zonos-elements/p-63db40b9.system.js +1 -0
  242. package/dist/zonos-elements/p-693b9985.js +1 -0
  243. package/dist/zonos-elements/{p-ff403840.entry.js → p-6cb9812b.entry.js} +1 -1
  244. package/dist/zonos-elements/p-6df1fc3a.system.entry.js +1 -0
  245. package/dist/zonos-elements/{p-bf32179a.system.entry.js → p-6eda6199.system.entry.js} +1 -1
  246. package/dist/zonos-elements/p-6f6f160d.entry.js +1 -0
  247. package/dist/zonos-elements/p-7c78e340.entry.js +1 -0
  248. package/dist/zonos-elements/{p-305f27c7.entry.js → p-80442f16.entry.js} +1 -1
  249. package/dist/zonos-elements/p-808fa731.js +1 -0
  250. package/dist/zonos-elements/p-80f174b9.system.js +1 -0
  251. package/dist/zonos-elements/{p-679877b1.system.entry.js → p-8171d013.system.entry.js} +1 -1
  252. package/dist/zonos-elements/p-85f3d13f.system.js +1 -0
  253. package/dist/zonos-elements/p-8aeb0629.entry.js +1 -0
  254. package/dist/zonos-elements/{p-83cc2936.js → p-8c0b4a61.js} +1 -1
  255. package/dist/zonos-elements/{p-4dca5484.system.entry.js → p-8cd6633a.system.entry.js} +1 -1
  256. package/dist/zonos-elements/p-9288fd21.system.entry.js +1 -0
  257. package/dist/zonos-elements/p-98ad4ab3.system.entry.js +1 -0
  258. package/dist/zonos-elements/{p-ad088d46.system.entry.js → p-9e8d38f7.system.entry.js} +1 -1
  259. package/dist/zonos-elements/{p-e108e5ed.system.entry.js → p-a47382ae.system.entry.js} +1 -1
  260. package/dist/zonos-elements/p-b1567fa3.system.entry.js +1 -0
  261. package/dist/zonos-elements/p-b81562f5.entry.js +1 -0
  262. package/dist/zonos-elements/{p-3638e2ed.entry.js → p-bd9b2165.entry.js} +1 -1
  263. package/dist/zonos-elements/p-bdfa3705.system.entry.js +1 -0
  264. package/dist/zonos-elements/{p-13ddaf31.js → p-ce347974.js} +1 -1
  265. package/dist/zonos-elements/p-cfae51c1.system.js +1 -0
  266. package/dist/zonos-elements/p-d6eb260c.entry.js +1 -0
  267. package/dist/zonos-elements/{p-17e265c3.system.entry.js → p-d7a939df.system.entry.js} +1 -1
  268. package/dist/zonos-elements/{p-163ff5b5.system.js → p-d99232c5.system.js} +1 -1
  269. package/dist/zonos-elements/p-dc40a60c.entry.js +1 -0
  270. package/dist/zonos-elements/{p-36a461a6.system.entry.js → p-dda78e8e.system.entry.js} +1 -1
  271. package/dist/zonos-elements/p-de405d7e.system.entry.js +1 -0
  272. package/dist/zonos-elements/p-e0bf9666.system.js +1 -0
  273. package/dist/zonos-elements/p-eaa335e1.js +1 -0
  274. package/dist/zonos-elements/{p-b98bdbcc.system.entry.js → p-ed3524ae.system.entry.js} +1 -1
  275. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  276. package/dist/zonos-elements/zonos-elements.js +1 -1
  277. package/package.json +5 -3
  278. package/dist/components/ILanguage.js +0 -24
  279. package/dist/components/classes.js +0 -12
  280. package/dist/components/containsNonLatinChars.js +0 -21
  281. package/dist/components/formatCurrency.js +0 -11
  282. package/dist/components/index.d.ts +0 -33
  283. package/dist/components/index.js +0 -1
  284. package/dist/components/isCheckoutMobile.js +0 -6
  285. package/dist/components/isColorVariable.js +0 -14
  286. package/dist/components/stripe.js +0 -1681
  287. package/dist/components/submitGtag.js +0 -19
  288. package/dist/components/trackConversionEvent.js +0 -37
  289. package/dist/components/translationStore.js +0 -5371
  290. package/dist/components/zonos-address-display.d.ts +0 -11
  291. package/dist/components/zonos-address-display.js +0 -6
  292. package/dist/components/zonos-address-display2.js +0 -64
  293. package/dist/components/zonos-address-form.d.ts +0 -11
  294. package/dist/components/zonos-address-form.js +0 -6
  295. package/dist/components/zonos-address-form2.js +0 -84
  296. package/dist/components/zonos-address-update-dialog.d.ts +0 -11
  297. package/dist/components/zonos-address-update-dialog.js +0 -6
  298. package/dist/components/zonos-address-update-dialog2.js +0 -264
  299. package/dist/components/zonos-address.d.ts +0 -11
  300. package/dist/components/zonos-address.js +0 -6
  301. package/dist/components/zonos-address2.js +0 -176
  302. package/dist/components/zonos-badge.d.ts +0 -11
  303. package/dist/components/zonos-badge.js +0 -6
  304. package/dist/components/zonos-badge2.js +0 -61
  305. package/dist/components/zonos-banner.d.ts +0 -11
  306. package/dist/components/zonos-banner.js +0 -6
  307. package/dist/components/zonos-banner2.js +0 -95
  308. package/dist/components/zonos-button.d.ts +0 -11
  309. package/dist/components/zonos-button.js +0 -6
  310. package/dist/components/zonos-button2.js +0 -174
  311. package/dist/components/zonos-card.d.ts +0 -11
  312. package/dist/components/zonos-card.js +0 -6
  313. package/dist/components/zonos-card2.js +0 -57
  314. package/dist/components/zonos-cart-items.d.ts +0 -11
  315. package/dist/components/zonos-cart-items.js +0 -6
  316. package/dist/components/zonos-cart-items2.js +0 -57
  317. package/dist/components/zonos-cart-restricted-items.d.ts +0 -11
  318. package/dist/components/zonos-cart-restricted-items.js +0 -6
  319. package/dist/components/zonos-cart-restricted-items2.js +0 -135
  320. package/dist/components/zonos-cart-subtotal.d.ts +0 -11
  321. package/dist/components/zonos-cart-subtotal.js +0 -6
  322. package/dist/components/zonos-cart-subtotal2.js +0 -91
  323. package/dist/components/zonos-checkbox.d.ts +0 -11
  324. package/dist/components/zonos-checkbox.js +0 -6
  325. package/dist/components/zonos-checkbox2.js +0 -96
  326. package/dist/components/zonos-checkout-finish.d.ts +0 -11
  327. package/dist/components/zonos-checkout-finish.js +0 -6
  328. package/dist/components/zonos-checkout-finish2.js +0 -246
  329. package/dist/components/zonos-checkout-footer.d.ts +0 -11
  330. package/dist/components/zonos-checkout-footer.js +0 -6
  331. package/dist/components/zonos-checkout-footer2.js +0 -125
  332. package/dist/components/zonos-checkout-payment.d.ts +0 -11
  333. package/dist/components/zonos-checkout-payment.js +0 -6
  334. package/dist/components/zonos-checkout-payment2.js +0 -104
  335. package/dist/components/zonos-checkout-progress-tabs.d.ts +0 -11
  336. package/dist/components/zonos-checkout-progress-tabs.js +0 -6
  337. package/dist/components/zonos-checkout-progress-tabs2.js +0 -138
  338. package/dist/components/zonos-checkout.d.ts +0 -11
  339. package/dist/components/zonos-checkout.js +0 -1018
  340. package/dist/components/zonos-collapse.d.ts +0 -11
  341. package/dist/components/zonos-collapse.js +0 -6
  342. package/dist/components/zonos-collapse2.js +0 -78
  343. package/dist/components/zonos-component.d.ts +0 -11
  344. package/dist/components/zonos-component.js +0 -48
  345. package/dist/components/zonos-controller.d.ts +0 -11
  346. package/dist/components/zonos-controller.js +0 -309
  347. package/dist/components/zonos-country-flag.d.ts +0 -11
  348. package/dist/components/zonos-country-flag.js +0 -6
  349. package/dist/components/zonos-country-flag2.js +0 -54
  350. package/dist/components/zonos-country-select.d.ts +0 -11
  351. package/dist/components/zonos-country-select.js +0 -6
  352. package/dist/components/zonos-country-select2.js +0 -1891
  353. package/dist/components/zonos-custom-message.d.ts +0 -11
  354. package/dist/components/zonos-custom-message.js +0 -6
  355. package/dist/components/zonos-custom-message2.js +0 -72
  356. package/dist/components/zonos-customer-info.d.ts +0 -11
  357. package/dist/components/zonos-customer-info.js +0 -6
  358. package/dist/components/zonos-customer-info2.js +0 -316
  359. package/dist/components/zonos-dialog.d.ts +0 -11
  360. package/dist/components/zonos-dialog.js +0 -6
  361. package/dist/components/zonos-dialog2.js +0 -124
  362. package/dist/components/zonos-hello-dialog-footer.d.ts +0 -11
  363. package/dist/components/zonos-hello-dialog-footer.js +0 -6
  364. package/dist/components/zonos-hello-dialog-footer2.js +0 -83
  365. package/dist/components/zonos-hello-dialog.d.ts +0 -11
  366. package/dist/components/zonos-hello-dialog.js +0 -6
  367. package/dist/components/zonos-hello-dialog2.js +0 -305
  368. package/dist/components/zonos-hello.d.ts +0 -11
  369. package/dist/components/zonos-hello.js +0 -879
  370. package/dist/components/zonos-icon.d.ts +0 -11
  371. package/dist/components/zonos-icon.js +0 -6
  372. package/dist/components/zonos-icon2.js +0 -55
  373. package/dist/components/zonos-input.d.ts +0 -11
  374. package/dist/components/zonos-input.js +0 -6
  375. package/dist/components/zonos-input2.js +0 -78
  376. package/dist/components/zonos-language-select.d.ts +0 -11
  377. package/dist/components/zonos-language-select.js +0 -6
  378. package/dist/components/zonos-language-select2.js +0 -88
  379. package/dist/components/zonos-link-authentication.d.ts +0 -11
  380. package/dist/components/zonos-link-authentication.js +0 -6
  381. package/dist/components/zonos-link-authentication2.js +0 -80
  382. package/dist/components/zonos-link.d.ts +0 -11
  383. package/dist/components/zonos-link.js +0 -43
  384. package/dist/components/zonos-logo.d.ts +0 -11
  385. package/dist/components/zonos-logo.js +0 -49
  386. package/dist/components/zonos-notification.d.ts +0 -11
  387. package/dist/components/zonos-notification.js +0 -6
  388. package/dist/components/zonos-notification2.js +0 -92
  389. package/dist/components/zonos-payment.d.ts +0 -11
  390. package/dist/components/zonos-payment.js +0 -6
  391. package/dist/components/zonos-payment2.js +0 -77
  392. package/dist/components/zonos-review.d.ts +0 -11
  393. package/dist/components/zonos-review.js +0 -6
  394. package/dist/components/zonos-review2.js +0 -89
  395. package/dist/components/zonos-select-dialog-header.d.ts +0 -11
  396. package/dist/components/zonos-select-dialog-header.js +0 -6
  397. package/dist/components/zonos-select-dialog-header2.js +0 -71
  398. package/dist/components/zonos-shipping-rich-radio.d.ts +0 -11
  399. package/dist/components/zonos-shipping-rich-radio.js +0 -6
  400. package/dist/components/zonos-shipping-rich-radio2.js +0 -88
  401. package/dist/components/zonos-shipping.d.ts +0 -11
  402. package/dist/components/zonos-shipping.js +0 -6
  403. package/dist/components/zonos-shipping2.js +0 -159
  404. package/dist/components/zonos-spinner.d.ts +0 -11
  405. package/dist/components/zonos-spinner.js +0 -6
  406. package/dist/components/zonos-spinner2.js +0 -43
  407. package/dist/components/zonos-text.d.ts +0 -11
  408. package/dist/components/zonos-text.js +0 -6
  409. package/dist/components/zonos-text2.js +0 -182
  410. package/dist/components/zonos-tooltip.d.ts +0 -11
  411. package/dist/components/zonos-tooltip.js +0 -6
  412. package/dist/components/zonos-tooltip2.js +0 -48
  413. package/dist/components/zonos-v-stack.d.ts +0 -11
  414. package/dist/components/zonos-v-stack.js +0 -6
  415. package/dist/components/zonos-v-stack2.js +0 -38
  416. package/dist/components/zonosStore.js +0 -2880
  417. package/dist/esm/getBorderRadius-567f1786.js +0 -18
  418. package/dist/esm/isDarkColor-7f62035a.js +0 -1199
  419. package/dist/esm-es5/cart-6448e883.js +0 -1
  420. package/dist/esm-es5/submitGtag-b7d369cd.js +0 -1
  421. package/dist/esm-es5/zonos-cart-items_10.entry.js +0 -1
  422. package/dist/scripts/checkIfLoadVersionDomain.js +0 -1
  423. package/dist/scripts/extractZonosQaUrl.js +0 -1
  424. package/dist/scripts/getTempCartById.js +0 -1
  425. package/dist/scripts/loadStripe.js +0 -1
  426. package/dist/scripts/stripe.js +0 -1
  427. package/dist/scripts/zonosBase.js +0 -1
  428. package/dist/zonos-elements/p-0759a84d.system.entry.js +0 -1
  429. package/dist/zonos-elements/p-0ee61fba.system.entry.js +0 -1
  430. package/dist/zonos-elements/p-154aaf95.system.js +0 -1
  431. package/dist/zonos-elements/p-2fc561ac.system.entry.js +0 -1
  432. package/dist/zonos-elements/p-345503b7.entry.js +0 -1
  433. package/dist/zonos-elements/p-3be2e469.entry.js +0 -1
  434. package/dist/zonos-elements/p-47c75f81.system.entry.js +0 -1
  435. package/dist/zonos-elements/p-50ea2036.system.js +0 -1
  436. package/dist/zonos-elements/p-54004793.system.entry.js +0 -1
  437. package/dist/zonos-elements/p-58f8cee7.system.entry.js +0 -1
  438. package/dist/zonos-elements/p-61100d2e.system.entry.js +0 -1
  439. package/dist/zonos-elements/p-6ea746b9.entry.js +0 -1
  440. package/dist/zonos-elements/p-70c35519.system.entry.js +0 -1
  441. package/dist/zonos-elements/p-7b19cd96.entry.js +0 -1
  442. package/dist/zonos-elements/p-7cc730b0.js +0 -1
  443. package/dist/zonos-elements/p-7f48fafe.entry.js +0 -1
  444. package/dist/zonos-elements/p-9c575a18.system.entry.js +0 -1
  445. package/dist/zonos-elements/p-aaf1e517.system.js +0 -1
  446. package/dist/zonos-elements/p-aff5f4ca.js +0 -1
  447. package/dist/zonos-elements/p-beca252d.entry.js +0 -1
  448. package/dist/zonos-elements/p-c1f4bb4a.entry.js +0 -1
  449. package/dist/zonos-elements/p-c64eefdd.system.entry.js +0 -1
  450. package/dist/zonos-elements/p-ca621143.entry.js +0 -1
  451. package/dist/zonos-elements/p-dbee6587.entry.js +0 -1
  452. package/dist/zonos-elements/p-e0706108.system.entry.js +0 -1
  453. package/dist/zonos-elements/p-e3335228.entry.js +0 -1
  454. package/dist/zonos-elements/p-ef9cbb66.system.js +0 -1
  455. package/dist/zonos-elements/p-f1962041.js +0 -1
  456. /package/dist/collection/components/common/{component-template/zonos-link → zonos-link}/zonos-link.css +0 -0
  457. /package/dist/collection/scripts/{checkIfLoadVersionDomain.js → _checkIfLoadVersionDomain.js} +0 -0
  458. /package/dist/collection/scripts/{stripe.js → _stripe.js} +0 -0
  459. /package/dist/types/components/common/{component-template/zonos-link → zonos-link}/zonos-link.d.ts +0 -0
  460. /package/dist/types/scripts/{checkIfLoadVersionDomain.d.ts → _checkIfLoadVersionDomain.d.ts} +0 -0
  461. /package/dist/types/scripts/{stripe.d.ts → _stripe.d.ts} +0 -0
@@ -1,1018 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, h, Host, Fragment } from '@stencil/core/internal/client';
2
- import { a as localizationStore, d as log, e as stripeStoreGetDomesticShippingSession, f as localizationStoreUpdateSelectedCountryCode, g as stripeStoreCleanupDomesticShippingSession, l as logError, h as stripeStoreSaveDomesticShippingSession, i as initStripeElements, c as cartStore, j as cartStoreUpdateItems, k as cartStoreReset, m as cartStoreResetTabItems, s as stripeStore, n as stripeStoreInitCheckoutSession, o as cartStoreUpdateToErrorState, p as stripeStorePrefetchLandedCost, q as cartStoreNextStep, r as stripeStoreConfirmPayment, t as stripeStoreReset, u as localizationStoreOnUpdate } from './stripe.js';
3
- import { a as translate } from './translationStore.js';
4
- import { z as zonosStore, g as getZonosStoreTheme, m as mergeConfig } from './zonosStore.js';
5
- import { t as trackConversionEvent } from './trackConversionEvent.js';
6
- import { i as isCheckoutMobile } from './isCheckoutMobile.js';
7
- import { c as createCustomEvent, s as sendErrorLog, d as defineCustomElement$n } from './zonos-checkout-finish2.js';
8
- import { c as classes } from './classes.js';
9
- import { g as getBorderRadius } from './getBorderRadius.js';
10
- import { i as isDarkColor } from './isDarkColor.js';
11
- import { s as submitGtag } from './submitGtag.js';
12
- import { R as RemoveIcon, d as defineCustomElement$w } from './zonos-address-update-dialog2.js';
13
- import { d as defineCustomElement$z } from './zonos-address2.js';
14
- import { d as defineCustomElement$y } from './zonos-address-display2.js';
15
- import { d as defineCustomElement$x } from './zonos-address-form2.js';
16
- import { d as defineCustomElement$v } from './zonos-badge2.js';
17
- import { d as defineCustomElement$u } from './zonos-banner2.js';
18
- import { d as defineCustomElement$t } from './zonos-button2.js';
19
- import { d as defineCustomElement$s } from './zonos-card2.js';
20
- import { d as defineCustomElement$r } from './zonos-cart-items2.js';
21
- import { d as defineCustomElement$q } from './zonos-cart-restricted-items2.js';
22
- import { d as defineCustomElement$p } from './zonos-cart-subtotal2.js';
23
- import { d as defineCustomElement$o } from './zonos-checkbox2.js';
24
- import { d as defineCustomElement$m } from './zonos-checkout-footer2.js';
25
- import { d as defineCustomElement$l } from './zonos-checkout-payment2.js';
26
- import { d as defineCustomElement$k } from './zonos-checkout-progress-tabs2.js';
27
- import { d as defineCustomElement$j } from './zonos-collapse2.js';
28
- import { d as defineCustomElement$i } from './zonos-country-flag2.js';
29
- import { d as defineCustomElement$h } from './zonos-custom-message2.js';
30
- import { d as defineCustomElement$g } from './zonos-customer-info2.js';
31
- import { d as defineCustomElement$f } from './zonos-dialog2.js';
32
- import { d as defineCustomElement$e } from './zonos-icon2.js';
33
- import { d as defineCustomElement$d } from './zonos-input2.js';
34
- import { d as defineCustomElement$c } from './zonos-language-select2.js';
35
- import { d as defineCustomElement$b } from './zonos-link-authentication2.js';
36
- import { d as defineCustomElement$a } from './zonos-payment2.js';
37
- import { d as defineCustomElement$9 } from './zonos-review2.js';
38
- import { d as defineCustomElement$8 } from './zonos-select-dialog-header2.js';
39
- import { d as defineCustomElement$7 } from './zonos-shipping2.js';
40
- import { d as defineCustomElement$6 } from './zonos-shipping-rich-radio2.js';
41
- import { d as defineCustomElement$5 } from './zonos-spinner2.js';
42
- import { d as defineCustomElement$4 } from './zonos-text2.js';
43
- import { d as defineCustomElement$3 } from './zonos-tooltip2.js';
44
- import { d as defineCustomElement$2 } from './zonos-v-stack2.js';
45
-
46
- /**
47
- * This is just function to make the key typesafe to enter
48
- * @returns
49
- */
50
- const objAttribute = ({ key, value, }) => value
51
- ? {
52
- key,
53
- value,
54
- }
55
- : null;
56
- /**
57
- * Map legacy item attribute to dgs item attributes
58
- * @ref https://github.com/Zonos/ShippingQuoteService/blob/f8bd4f1ff41cb34b49b9f3f435576ec28dedf906/src/main/java/com/iglobal/services/shippingquote/dto/ShippingQuoteRequestDto.java#L412
59
- */
60
- const getAttributes = (item) => {
61
- return [
62
- objAttribute({
63
- key: 'brand',
64
- value: item.itemBrand,
65
- }),
66
- objAttribute({
67
- key: 'material',
68
- value: item.itemMaterial,
69
- }),
70
- objAttribute({
71
- key: 'category',
72
- value: item.itemCategory,
73
- }),
74
- objAttribute({
75
- key: 'color',
76
- value: item.itemColor,
77
- }),
78
- objAttribute({
79
- key: 'customization',
80
- value: item.itemCustomization,
81
- }),
82
- objAttribute({
83
- key: 'descriptionDetailed',
84
- value: item.itemDescriptionDetailed,
85
- }),
86
- objAttribute({
87
- key: 'fabricContent',
88
- value: item.itemFabricContent,
89
- }),
90
- objAttribute({
91
- key: 'ltlClass',
92
- value: item.itemLtlClass,
93
- }),
94
- objAttribute({
95
- key: 'pickingLocation',
96
- value: item.itemPickingLocation,
97
- }),
98
- objAttribute({
99
- key: 'shipFromLocation',
100
- value: item.itemShipFromLocation,
101
- }),
102
- objAttribute({
103
- key: 'size',
104
- value: item.itemSize,
105
- }),
106
- objAttribute({
107
- key: 'status',
108
- value: item.status,
109
- }),
110
- ].filter(Boolean);
111
- };
112
-
113
- /**
114
- * Map legacy weight units with dgs
115
- * @ref https://github.com/Zonos/ShippingQuoteService/blob/f8bd4f1ff41cb34b49b9f3f435576ec28dedf906/src/main/java/com/iglobal/services/shippingquote/dto/ShippingQuoteRequestDto.java#L483
116
- */
117
- const getItemWeightUnit = (weightUnit) => {
118
- if (!weightUnit) {
119
- return 'POUND';
120
- }
121
- switch (weightUnit.toUpperCase()) {
122
- case 'KG':
123
- return 'KILOGRAM';
124
- case 'OZ':
125
- return 'OUNCE';
126
- case 'G':
127
- return 'GRAM';
128
- default:
129
- return 'POUND';
130
- }
131
- };
132
- /**
133
- * Mapping legacy measurement with dgs
134
- * @ref https://github.com/Zonos/ShippingQuoteService/blob/f8bd4f1ff41cb34b49b9f3f435576ec28dedf906/src/main/java/com/iglobal/services/shippingquote/dto/ShippingQuoteRequestDto.java#L441
135
- */
136
- const getMeasurements = (item) => {
137
- if (!item) {
138
- return [];
139
- }
140
- const measurements = [];
141
- if (item.length) {
142
- measurements.push({
143
- type: 'LENGTH',
144
- unitOfMeasure: 'INCH',
145
- value: item.length,
146
- });
147
- }
148
- if (item.width) {
149
- measurements.push({
150
- type: 'WIDTH',
151
- unitOfMeasure: 'INCH',
152
- value: item.width,
153
- });
154
- }
155
- if (item.weight) {
156
- measurements.push({
157
- type: 'WEIGHT',
158
- unitOfMeasure: getItemWeightUnit(item.weightUnits),
159
- value: item.weight,
160
- });
161
- }
162
- if (item.height) {
163
- measurements.push({
164
- type: 'HEIGHT',
165
- unitOfMeasure: 'INCH',
166
- value: item.height,
167
- });
168
- }
169
- return measurements;
170
- };
171
-
172
- /**
173
- * Map the items from tempCart like how we do it in dgs
174
- * @ref https://github.com/Zonos/ShippingQuoteService/blob/f8bd4f1ff41cb34b49b9f3f435576ec28dedf906/src/main/java/com/iglobal/services/shippingquote/dto/ShippingQuoteRequestDto.java#L393
175
- */
176
- const buildCartItemsByTempCart = (tempCartData) => {
177
- var _a;
178
- const tempCartItems = ((_a = tempCartData === null || tempCartData === void 0 ? void 0 : tempCartData.items) === null || _a === void 0 ? void 0 : _a.map(item => ({
179
- amount: item.unitPrice || 0,
180
- attributes: getAttributes(item),
181
- countryOfOrigin: item.countryOfOrigin || undefined,
182
- currencyCode: 'USD',
183
- description: item.itemDescriptionLong || '',
184
- imageUrl: item.imageURL || '',
185
- itemType: 'PHYSICAL_GOOD',
186
- measurements: getMeasurements(item),
187
- name: item.description || '',
188
- productId: item.productId || '',
189
- quantity: item.quantity || 0,
190
- sku: item.sku || '',
191
- }))) || [];
192
- return tempCartItems;
193
- };
194
-
195
- const isShippableCountry = (showLog = true) => {
196
- if (!localizationStore.localizationLoaded) {
197
- return false;
198
- }
199
- // if localization is loaded and the localization is not a shippable country, keep the original click event
200
- if (!localizationStore.isShippableCountry) {
201
- document.dispatchEvent(createCustomEvent('legacyCheckoutError', 'Unable to initiate checkout process in a country where shipping is not available'));
202
- if (showLog) {
203
- log(`Checkout: not shippable country`);
204
- }
205
- return false;
206
- }
207
- return true;
208
- };
209
-
210
- /**
211
- * Watch for changes in domestic checkout step, this is to redirect user to home page and open checkout if user enters the ship to country that's in the shipping zone
212
- * @note Only works on default bigcommerce checkout page
213
- */
214
- const watchBigcommerceDomesticCheckout = ({ domesticRedirectedBtnSelector, onShippingAddressSessionFound, }) => {
215
- if (!window.Zonos.isBigCommerce) {
216
- return;
217
- }
218
- const observer = new MutationObserver(async () => {
219
- const domesticRedirectedButton = document.querySelector(domesticRedirectedBtnSelector);
220
- const shippingAddressSession = stripeStoreGetDomesticShippingSession();
221
- // append a hidden button to the body if the shipping address session is found
222
- if (!domesticRedirectedButton && shippingAddressSession) {
223
- // create a hidden button to trigger the click event
224
- const button = document.createElement('button');
225
- button.style.display = 'none';
226
- button.id = 'zonos--domestic-redirected-checkout-button';
227
- document.body.appendChild(button);
228
- onShippingAddressSessionFound === null || onShippingAddressSessionFound === void 0 ? void 0 : onShippingAddressSessionFound(shippingAddressSession);
229
- // disconnect the observer after we found the shipping continue button
230
- observer.disconnect();
231
- return;
232
- }
233
- const shipToCountryElement = document.querySelector('select[name="shippingAddress.countryCode"]');
234
- // make sure the continue button is available
235
- const shippingCountinueBtnEle = document.querySelector('#checkout-shipping-continue');
236
- if (!shipToCountryElement || !shippingCountinueBtnEle) {
237
- // do nothing if shipping country and the continue button is not found
238
- return;
239
- }
240
- // disconnect the observer after we found the shipping continue button
241
- observer.disconnect();
242
- shippingCountinueBtnEle.addEventListener('click', async (e) => {
243
- var _a, _b;
244
- const shippingCountry = shipToCountryElement.value;
245
- if (!shippingCountry) {
246
- // do nothing if shipping country is not found
247
- return;
248
- }
249
- // update the country code in localization store and check if it's shippable
250
- localizationStoreUpdateSelectedCountryCode(shippingCountry);
251
- // do nothing if the country is still domestic
252
- if (!isShippableCountry(false)) {
253
- // cleanup the domestic shipping session if it's domestic because we will open the intl checkout after redirecting
254
- stripeStoreCleanupDomesticShippingSession();
255
- return;
256
- }
257
- // get value of shipping address state
258
- const shipToFormElement = document.querySelector('form');
259
- if (!shipToFormElement) {
260
- return;
261
- }
262
- const formData = new FormData(shipToFormElement);
263
- const shipAddress1Element = document.querySelector('input#addressLine1Input');
264
- const shippingAddress = {
265
- address1: (_a = formData.get('shippingAddress.address1')) !== null && _a !== void 0 ? _a :
266
- // in Canada, the address1 is not included in the form, try to get value from input id instead.
267
- (shipAddress1Element && shipAddress1Element.value),
268
- address2: formData.get('shippingAddress.address2'),
269
- city: formData.get('shippingAddress.city'),
270
- countryCode: formData.get('shippingAddress.countryCode'),
271
- firstName: formData.get('shippingAddress.firstName'),
272
- lastName: formData.get('shippingAddress.lastName'),
273
- phone: formData.get('shippingAddress.phone'),
274
- postalCode: formData.get('shippingAddress.postalCode'),
275
- stateOrProvince: (_b = formData.get('shippingAddress.stateOrProvince')) !== null && _b !== void 0 ? _b : formData.get('shippingAddress.stateOrProvinceCode'),
276
- };
277
- if (Object.values(shippingAddress).some(value => value === undefined || value === null)) {
278
- logError('One or more shipping address field is missing', Object.entries(shippingAddress));
279
- void sendErrorLog({
280
- endpoint: 'No endpoint, domestic checkout form missing fields',
281
- errors: [
282
- 'Bigcommerce: One or more shipping address field is missing in the domestic checkout form',
283
- JSON.stringify(Object.entries(shippingAddress)),
284
- ],
285
- metadata: {
286
- domain: window.location.hostname,
287
- storeId: zonosStore.storeId,
288
- },
289
- });
290
- return;
291
- }
292
- // save the shipping address to session storage
293
- stripeStoreSaveDomesticShippingSession({
294
- address1: shippingAddress.address1,
295
- address2: shippingAddress.address2,
296
- city: shippingAddress.city,
297
- countryCode: shippingAddress.countryCode,
298
- firstName: shippingAddress.firstName,
299
- lastName: shippingAddress.lastName,
300
- phone: shippingAddress.phone,
301
- postalCode: shippingAddress.postalCode,
302
- state: shippingAddress.stateOrProvince,
303
- });
304
- e.preventDefault();
305
- e.stopPropagation();
306
- // redirect to home page, home page then will open the checkout dialog if having domestic shipping session
307
- window.location.href = '/';
308
- });
309
- });
310
- observer.observe(document.body, {
311
- childList: true,
312
- subtree: true,
313
- });
314
- };
315
-
316
- const MessageIcon = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="https://www.w3.org/2000/svg">
317
- <path fill-rule="evenodd" clip-rule="evenodd" d="M2.25 4.5C2.25 3.25736 3.25736 2.25 4.5 2.25H13.5C14.7426 2.25 15.75 3.25736 15.75 4.5V10.5C15.75 11.7426 14.7426 12.75 13.5 12.75H8.25C8.01393 12.75 7.79164 12.8611 7.65 13.05L6.3 14.85C5.87508 15.4166 5.2082 15.75 4.5 15.75C3.25736 15.75 2.25 14.7426 2.25 13.5V4.5ZM4.5 3.75C4.08579 3.75 3.75 4.08579 3.75 4.5V13.5C3.75 13.9142 4.08579 14.25 4.5 14.25C4.73607 14.25 4.95836 14.1389 5.1 13.95L6.45 12.15C6.87492 11.5834 7.5418 11.25 8.25 11.25H13.5C13.9142 11.25 14.25 10.9142 14.25 10.5V4.5C14.25 4.08579 13.9142 3.75 13.5 3.75H4.5ZM5.25 6C5.25 5.58579 5.58579 5.25 6 5.25H12C12.4142 5.25 12.75 5.58579 12.75 6C12.75 6.41421 12.4142 6.75 12 6.75H6C5.58579 6.75 5.25 6.41421 5.25 6ZM5.25 9C5.25 8.58579 5.58579 8.25 6 8.25H8.25C8.66421 8.25 9 8.58579 9 9C9 9.41421 8.66421 9.75 8.25 9.75H6C5.58579 9.75 5.25 9.41421 5.25 9Z" fill="#4D505A"/>
318
- </svg>
319
- `;
320
-
321
- const zonosCheckoutCss = ".sc-zonos-checkout-h{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}.sc-zonos-checkout-h *.sc-zonos-checkout{font-family:var(--font-family, Inter), Inter}.sc-zonos-checkout-h img.sc-zonos-checkout{max-width:100%}.sc-zonos-checkout-h dl.sc-zonos-checkout,.sc-zonos-checkout-h dd.sc-zonos-checkout,.sc-zonos-checkout-h h1.sc-zonos-checkout,.sc-zonos-checkout-h h2.sc-zonos-checkout,.sc-zonos-checkout-h h3.sc-zonos-checkout,.sc-zonos-checkout-h h4.sc-zonos-checkout,.sc-zonos-checkout-h h5.sc-zonos-checkout,.sc-zonos-checkout-h h6.sc-zonos-checkout,.sc-zonos-checkout-h hr.sc-zonos-checkout,.sc-zonos-checkout-h figure.sc-zonos-checkout,.sc-zonos-checkout-h p.sc-zonos-checkout,.sc-zonos-checkout-h pre.sc-zonos-checkout{margin:0}.sc-zonos-checkout-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar{width:10px}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-track{background:var(--zonos-elements-gray-50)}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;height:100%;overflow:hidden;border-radius:var(--border-radius, var(--zonos-elements-radius-10))}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex:1;flex:1;padding:32px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{background-color:var(--primary-color, var(--zonos-elements-gray-0));border-right:1px solid var(--zonos-elements-gray-200)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{background-color:var(--zonos-elements-gray-0)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:100%;max-height:100%;height:100%;overflow:auto;-ms-flex-direction:column;flex-direction:column;background-color:var(--zonos-elements-gray-0);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:24px;padding-bottom:50px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;width:100%}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout img.sc-zonos-checkout{width:150px;min-width:150px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--logo.sc-zonos-checkout{margin-bottom:0}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout zonos-checkout-finish.sc-zonos-checkout{-ms-flex:1;flex:1}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{padding:0 8px 8px}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--payment-error-banner.sc-zonos-checkout{margin-top:24px}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout{position:relative}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout .zonos--close-button.sc-zonos-checkout{position:absolute;right:24px;top:24px;z-index:2}.sc-zonos-checkout-h .zonos--wrapper.sc-zonos-checkout{overflow:auto;max-height:100%;position:relative}.sc-zonos-checkout-h .flex--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:100%}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:76px;margin-bottom:8px}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{border:var(--zonos-elements-border)}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{padding:32px}.mobile.sc-zonos-checkout-h{min-width:auto}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;border-radius:0;max-height:100%;height:100%;border:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding:12px;padding-bottom:76px}@media (max-width: 768px){.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding-bottom:0}}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{-ms-flex-order:2;order:2;border-right:none}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex-order:1;order:1;padding-top:16px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border:var(--zonos-elements-border);border-radius:var(--border-radius, var(--zonos-elements-radius-10));background-color:var(--zonos-elements-gray-50);padding:12px;margin-top:32px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--review.sc-zonos-checkout{margin-bottom:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--cart-items.sc-zonos-checkout{margin-top:8px}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout zonos-checkout-footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{max-height:100%}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:auto}.mobile.sc-zonos-checkout-h .zonos--cart-subtotal.sc-zonos-checkout{margin:0}";
322
- const ZonosCheckoutStyle0 = zonosCheckoutCss;
323
-
324
- const ZonosCheckout$1 = /*@__PURE__*/ proxyCustomElement(class ZonosCheckout extends HTMLElement {
325
- constructor() {
326
- super();
327
- this.__registerHost();
328
- /**
329
- * Listener for locale change in localization store
330
- */
331
- this.onChangeLocaleListener = () => { };
332
- this.applyStripeTheme = async () => {
333
- var _a, _b, _c, _d;
334
- const theme = ((_a = this.appearanceSettingsOverride) === null || _a === void 0 ? void 0 : _a.theme) || zonosStore.appearance.theme;
335
- await initStripeElements({
336
- overrideBorderRaidus: (_b = this.appearanceSettingsOverride) === null || _b === void 0 ? void 0 : _b.style,
337
- overridePrimaryColor: (_c = this.appearanceSettingsOverride) === null || _c === void 0 ? void 0 : _c.colorPrimary,
338
- overrideSecondaryColor: (_d = this.appearanceSettingsOverride) === null || _d === void 0 ? void 0 : _d.colorSecondary,
339
- // only override theme or theme from appearance if it's mobile
340
- overrideTheme: this.isMobile ? theme : undefined,
341
- });
342
- };
343
- this.getCurrentLocalePageEnum = () => {
344
- switch (cartStore.step) {
345
- case 'customer-info':
346
- return 'checkout_customer_info';
347
- case 'shipping':
348
- return 'checkout_shipping_info';
349
- case 'payment':
350
- return 'checkout_payment_info';
351
- default:
352
- return null;
353
- }
354
- };
355
- this.appearanceSettingsOverride = undefined;
356
- this.preview = false;
357
- this.mobile = false;
358
- this.defaultAddress = null;
359
- this.forceDialogOpen = false;
360
- this.open = this.forceDialogOpen;
361
- this.stripe = window.Zonos.stripe;
362
- this.submitLoading = false;
363
- this.paymentError = false;
364
- this.collapseReviewMobile = true;
365
- this.isAttachError = false;
366
- this.isMobile = false;
367
- this.zonosReviewRef = undefined;
368
- this.storybookPaymentStatusOverride = undefined;
369
- this.domesticRedirectedBtnSelector = '#zonos--domestic-redirected-checkout-button';
370
- this.legacyCheckoutHiddenBtnSelector = '#legacy-checkout-hidden-button';
371
- this.isLegacyCheckout = false;
372
- }
373
- /**
374
- * Init cart info handler event
375
- */
376
- async initCartInfoHandler(e) {
377
- const cartItems = e.detail;
378
- void cartStoreUpdateItems(cartItems);
379
- }
380
- /**
381
- * Close dialog action
382
- */
383
- async closeDialogHandler() {
384
- submitGtag('zonos-checkout-close');
385
- this.open = this.forceDialogOpen || false;
386
- if (!this.preview && cartStore.step === 'finish') {
387
- // reset cart store if it's not preview mode and only when checkout is in the finish step.
388
- cartStoreReset();
389
- }
390
- // reset step to customer info
391
- cartStore.step = 'customer-info';
392
- // reset the tab item, so that user needs to click on Continue button to re-quote the landed cost if needed.
393
- cartStoreResetTabItems();
394
- }
395
- async buildCartAndInit() {
396
- // if tempCartUUID is provided, use it instead of buildCartDetail
397
- if (window.Zonos.tempCartData) {
398
- const tempCartData = buildCartItemsByTempCart(window.Zonos.tempCartData);
399
- await cartStoreUpdateItems(tempCartData);
400
- }
401
- else if (zonosStore.checkoutSettings.buildCartDetail) {
402
- log('build cart detail');
403
- const cartItems = await zonosStore.checkoutSettings.buildCartDetail();
404
- await cartStoreUpdateItems(cartItems);
405
- }
406
- // if client secret doesn't exist, request a new one.
407
- if (!stripeStore.clientSecret) {
408
- const success = await stripeStoreInitCheckoutSession();
409
- log(`stripeStoreInitCheckoutSession: ${success}`);
410
- if (!success) {
411
- return false;
412
- }
413
- }
414
- // apply theme to stripe elements
415
- await this.applyStripeTheme();
416
- return true;
417
- }
418
- attachCheckout() {
419
- const buttonAnchorSelector = zonosStore.checkoutSettings.placeOrderButtonSelector;
420
- log(`attach checkout ${buttonAnchorSelector}`);
421
- if (!buttonAnchorSelector) {
422
- // do nothing if button element is not found
423
- return;
424
- }
425
- // also attach event to hidden button if user was redirected with shipping address session
426
- const buttonAnchorElements = document.querySelectorAll(`${buttonAnchorSelector}, ${this.domesticRedirectedBtnSelector}`);
427
- // only attach event once, and looping through all of the button elements
428
- buttonAnchorElements.forEach(button => {
429
- const isEventAttached = button.getAttribute('data-zonos-checkout-attached');
430
- if (isEventAttached) {
431
- // do nothing if event is already attached
432
- return;
433
- }
434
- button.addEventListener('click', async (e) => {
435
- // do nothing if it's not shippable country
436
- if (!isShippableCountry()) {
437
- return;
438
- }
439
- e.preventDefault();
440
- e.stopPropagation();
441
- log('zonos checkout button clicked');
442
- // start loading
443
- stripeStore.isFetchingSession = true;
444
- this.open = true;
445
- try {
446
- // buildCartDetail need to be catch since it may throw error
447
- const result = await this.buildCartAndInit();
448
- if (!result) {
449
- throw new Error('Error building cart');
450
- }
451
- submitGtag('zonos-checkout-start');
452
- void trackConversionEvent('checkout_open');
453
- }
454
- catch (err) {
455
- // stop loading
456
- stripeStore.isFetchingSession = false;
457
- cartStoreUpdateToErrorState({
458
- messages: [
459
- translate("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists"),
460
- ],
461
- title: translate('Error creating Checkout'),
462
- });
463
- }
464
- });
465
- button.removeAttribute('disabled');
466
- button.setAttribute('data-zonos-checkout-attached', 'true');
467
- // if this button is the hidden button, trigger the click event
468
- if (button.matches(this.domesticRedirectedBtnSelector)) {
469
- button.dispatchEvent(createCustomEvent('click'));
470
- // cleanup shipping session after button is clicked
471
- stripeStoreCleanupDomesticShippingSession();
472
- // remove the button after it's clicked
473
- button.remove();
474
- }
475
- if (button.matches(this.legacyCheckoutHiddenBtnSelector)) {
476
- this.isLegacyCheckout = true;
477
- // trigger the click event on the button
478
- button.dispatchEvent(createCustomEvent('click'));
479
- button.remove();
480
- }
481
- });
482
- }
483
- appearanceSettingsOverrideChanged() {
484
- if (!this.appearanceSettingsOverride) {
485
- return;
486
- }
487
- // apply theme to stripe elements
488
- void this.applyStripeTheme();
489
- }
490
- /**
491
- * Set default address from query param if it's valid
492
- */
493
- useLegacyQueryParam() {
494
- const urlParams = new URLSearchParams(window.location.search);
495
- const legacyShippingInfo = {
496
- country: urlParams.get('country'),
497
- customerAddress1: urlParams.get('customerAddress1'),
498
- customerAddress2: urlParams.get('customerAddress2'),
499
- customerCity: urlParams.get('customerCity'),
500
- customerEmail: urlParams.get('customerEmail'),
501
- customerName: urlParams.get('customerName'),
502
- customerPhone: urlParams.get('customerPhone'),
503
- customerState: urlParams.get('customerState'),
504
- customerZip: urlParams.get('customerZip'),
505
- };
506
- // if one of the value is null, no need to preset the default address
507
- if (!legacyShippingInfo.customerAddress1 ||
508
- !legacyShippingInfo.customerCity ||
509
- !legacyShippingInfo.customerName ||
510
- !legacyShippingInfo.customerPhone ||
511
- !legacyShippingInfo.customerState ||
512
- !legacyShippingInfo.customerZip ||
513
- !legacyShippingInfo.country) {
514
- return;
515
- }
516
- this.defaultAddress = {
517
- address: {
518
- city: legacyShippingInfo.customerCity,
519
- country: legacyShippingInfo.country,
520
- line1: legacyShippingInfo.customerAddress1,
521
- line2: legacyShippingInfo.customerAddress2 || '',
522
- postal_code: legacyShippingInfo.customerZip,
523
- state: legacyShippingInfo.customerState,
524
- },
525
- email: legacyShippingInfo.customerEmail || '',
526
- name: legacyShippingInfo.customerName,
527
- phone: legacyShippingInfo.customerPhone,
528
- };
529
- }
530
- /**
531
- * Setup all of the event listeners for the component on first load
532
- */
533
- async init() {
534
- stripeStore.stripe = window.Zonos.stripe;
535
- this.stripe = window.Zonos.stripe;
536
- // check if bigcommerce, if user enters the shipping address that's in the shipping zone at bigcommerce checkout
537
- watchBigcommerceDomesticCheckout({
538
- domesticRedirectedBtnSelector: this.domesticRedirectedBtnSelector,
539
- onShippingAddressSessionFound: shippingAddressSession => {
540
- // prefilled the default address if shipping address session is found for checkout on open
541
- this.defaultAddress = {
542
- address: {
543
- city: shippingAddressSession.city,
544
- country: shippingAddressSession.countryCode,
545
- line1: shippingAddressSession.address1,
546
- line2: shippingAddressSession.address2,
547
- postal_code: shippingAddressSession.postalCode,
548
- state: shippingAddressSession.state,
549
- },
550
- email: '',
551
- name: `${shippingAddressSession.firstName} ${shippingAddressSession.lastName}`,
552
- phone: shippingAddressSession.phone,
553
- };
554
- },
555
- });
556
- /**
557
- * When temp cart data is available, set default address if exist
558
- */
559
- if (window.Zonos.tempCartData) {
560
- this.useLegacyQueryParam();
561
- }
562
- const hideInternationalOrderInterval = setInterval(() => {
563
- const internationalSelector = window.Zonos.internationalHideSelector;
564
- if (!internationalSelector) {
565
- // cleanup right away if selector is not found
566
- clearInterval(hideInternationalOrderInterval);
567
- return;
568
- }
569
- // hide the selector if it's international
570
- const isInternationalOrder = isShippableCountry(false);
571
- const selector = document.querySelectorAll(internationalSelector);
572
- if (!isInternationalOrder) {
573
- // show the selector when it's domestic
574
- selector === null || selector === void 0 ? void 0 : selector.forEach(el => {
575
- const element = el;
576
- const display = element.getAttribute('data-zonos-checkout-original-display') ||
577
- getComputedStyle(element).display;
578
- // fallback to initial (browser value) if "display" is not found
579
- element.style.display = display || 'initial';
580
- });
581
- return;
582
- }
583
- selector === null || selector === void 0 ? void 0 : selector.forEach(el => {
584
- const element = el;
585
- const display = element.style.display;
586
- // save the display state so we can restore it later
587
- element.setAttribute('data-zonos-checkout-original-display', display);
588
- element.style.display = 'none';
589
- });
590
- }, 100);
591
- // only init checkout if visitor's country is in the shipping zones.
592
- const interval = setInterval(() => {
593
- stripeStore.stripe = window.Zonos.stripe;
594
- this.stripe = window.Zonos.stripe;
595
- if (!this.stripe) {
596
- log('waiting for stripe to be loaded');
597
- return;
598
- }
599
- if (this.storybookPaymentStatusOverride) {
600
- clearInterval(interval);
601
- return;
602
- }
603
- log('init checkout');
604
- if (this.preview || this.forceDialogOpen) {
605
- void this.buildCartAndInit();
606
- }
607
- else {
608
- this.attachCheckout();
609
- // create a mutation observer to see if any new elements that match our selector is added to the DOM
610
- const observer = new MutationObserver(() => {
611
- this.attachCheckout();
612
- });
613
- observer.observe(document.body, {
614
- childList: true,
615
- subtree: true,
616
- });
617
- }
618
- clearInterval(interval);
619
- }, 50);
620
- setTimeout(() => {
621
- // if localization is not loaded after 10 seconds, stop the interval and don't init checkout
622
- clearInterval(interval);
623
- }, 10000);
624
- }
625
- /**
626
- * For storybook to set to finish step, this is to trigger in the story for zonos-checkout-finish
627
- */
628
- async setToFinishStep(forcePaymentStatus) {
629
- cartStore.step = 'finish';
630
- this.storybookPaymentStatusOverride = forcePaymentStatus;
631
- }
632
- async handleCustomerInfoContinue() {
633
- this.submitLoading = true;
634
- // fetch landed cost data if we not fetching.
635
- await stripeStorePrefetchLandedCost();
636
- // keep checking landed cost data until it's ready to move to next screen
637
- const interval = setInterval(() => {
638
- if (cartStore.landedCostData || !stripeStore.isFetchingLandedCost) {
639
- if (cartStore.landedCostData) {
640
- // only go to next step if landed cost data is ready
641
- cartStoreNextStep();
642
- }
643
- this.submitLoading = false;
644
- clearInterval(interval);
645
- }
646
- }, 500);
647
- }
648
- async handleShippingContinue() {
649
- this.submitLoading = true;
650
- // show loading for the button for a bit
651
- setTimeout(() => {
652
- cartStoreNextStep();
653
- this.submitLoading = false;
654
- }, 500);
655
- }
656
- async handleCheckoutPaymentContinue() {
657
- // reset error state
658
- this.paymentError = false;
659
- this.submitLoading = true;
660
- try {
661
- await stripeStoreConfirmPayment();
662
- cartStoreNextStep();
663
- }
664
- catch (err) {
665
- logError(err);
666
- this.paymentError = true;
667
- }
668
- this.submitLoading = false;
669
- }
670
- async handleFinishClick() {
671
- // reset stripe store
672
- stripeStoreReset();
673
- if (this.preview) {
674
- cartStore.step = 'customer-info';
675
- await this.init();
676
- return;
677
- }
678
- // reset cart store
679
- cartStoreReset();
680
- // redirect to vendor store url if this is legacy checkout.
681
- if (this.isLegacyCheckout && window.Zonos.tempCartData) {
682
- const contShoppingUrl = window.Zonos.tempCartData.contShoppingURL;
683
- window.location.href = contShoppingUrl;
684
- return;
685
- }
686
- // reset url
687
- const url = window.location.href;
688
- // Remove query parameters
689
- const cleanUrl = url.split('?')[0];
690
- // Update the URL without query parameters
691
- window.history.replaceState({}, document.title, cleanUrl);
692
- this.open = false;
693
- // Reload the page
694
- window.location.reload();
695
- }
696
- handleWindowResize() {
697
- this.isMobile = isCheckoutMobile(this.mobile);
698
- // apply theme to stripe elements
699
- void this.applyStripeTheme();
700
- log(`mobile: ${this.isMobile}`);
701
- }
702
- handleMobileChange() {
703
- this.isMobile = isCheckoutMobile(this.mobile);
704
- // apply theme to stripe elements
705
- void this.applyStripeTheme();
706
- log(`mobile: ${this.isMobile}`);
707
- }
708
- handleAppearanceSettingsOverrideChange() {
709
- var _a;
710
- if ((_a = this.appearanceSettingsOverride) === null || _a === void 0 ? void 0 : _a.theme) {
711
- // update theme to browser preference theme if appearance theme is system
712
- this.appearanceSettingsOverride.theme = getZonosStoreTheme(this.appearanceSettingsOverride.theme);
713
- }
714
- }
715
- componentWillLoad() {
716
- void this.init();
717
- this.isMobile = isCheckoutMobile(this.mobile);
718
- // update theme to browser preference theme if appearance theme is system
719
- this.handleAppearanceSettingsOverrideChange();
720
- // listen to selected locale code change
721
- this.onChangeLocaleListener = localizationStoreOnUpdate('selectedLocale', () => {
722
- // Update stripe locale when selected country code is changed
723
- void this.applyStripeTheme();
724
- });
725
- log(`mobile: ${this.isMobile}`);
726
- }
727
- // do clean up when component is unmounted
728
- disconnectedCallback() {
729
- // reset stripe store
730
- stripeStoreReset();
731
- // reset cart store
732
- cartStoreReset();
733
- // cleanup onChange listener
734
- this.onChangeLocaleListener();
735
- }
736
- render() {
737
- var _a;
738
- const dialogLoading =
739
- // if it's last step, don't need to check stripe elements
740
- (cartStore.step !== 'finish' &&
741
- cartStore.step !== 'error' &&
742
- !stripeStore.stripeElements) ||
743
- stripeStore.isFetchingSession;
744
- const { colorPrimary, colorSecondary, logoUrl, style } = mergeConfig(zonosStore.appearance, this.appearanceSettingsOverride);
745
- const hasFooter = zonosStore.appearance.zonosAttribution === 'ENABLED';
746
- const rightSideTheme = zonosStore.appearance.theme;
747
- const themePrimaryColorBased = colorPrimary && isDarkColor(colorPrimary) ? 'DARK' : 'LIGHT';
748
- // use right side theme if it's mobile, otherwise use themePrimaryColorBased
749
- const leftSideTheme = this.isMobile
750
- ? rightSideTheme
751
- : themePrimaryColorBased;
752
- // only use submit button color if it's on desktop
753
- const submitButtonColor = !this.isMobile ? colorSecondary : undefined;
754
- const { customMessages } = localizationStore;
755
- const defaultMessage = (_a = customMessages.find(x => x.pageName === 'checkout_default')) === null || _a === void 0 ? void 0 : _a.message;
756
- const localePageEnum = this.getCurrentLocalePageEnum();
757
- const filteredMessages = customMessages.filter(x => x.pageName === localePageEnum);
758
- const renderLogo = () => {
759
- // add timestamp to logo url if it's preview mode so browser won't cache it on the dashboard setting
760
- const logo = this.preview
761
- ? `${logoUrl}?timestamp=${Date.now()}`
762
- : logoUrl;
763
- return (h("div", { class: "zonos--logo" }, logo && (h("img", { alt: `${zonosStore.organizationName} logo`, src: logo, width: 100 }))));
764
- };
765
- const renderTopHeader = () => {
766
- return (h("zonos-v-stack", null, renderLogo(), h("zonos-checkout-progress-tabs", { backgroundColor:
767
- // only use different contrast color when the secondary color is too off with the background in mobile
768
- this.isMobile ? '--zonos-elements-gray-0' : null }), filteredMessages.map(x => (h("zonos-custom-message", { icon: MessageIcon, message: x.message })))));
769
- };
770
- const renderContent = () => {
771
- return (h("div", { class: 'zonos--content', style: {
772
- '--border-radius': getBorderRadius({ overrideBorderStyle: style }),
773
- } }, cartStore.step !== 'finish' && cartStore.step !== 'error' && (h(Fragment, null, h("div", { class: "zonos--left", "data-theme": leftSideTheme, style: {
774
- '--primary-color': !this.isMobile ? colorPrimary : '',
775
- } }, !this.isMobile && renderTopHeader(), cartStore.step === 'customer-info' && (h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, isMobile: this.isMobile, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'shipping' && (h("zonos-shipping", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor })), cartStore.step === 'payment' && (h("zonos-checkout-payment", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleCheckoutPaymentContinue(), paymentError: this.paymentError, submitBtnColor: submitButtonColor }))), h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), !this.isLegacyCheckout && (h("zonos-button", { class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close checkout dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.closeDialogHandler() })), h("div", { class: "flex--wrapper" }, h("div", { class: "zonos--wrapper" }, h("zonos-review", { collapsed: this.collapseReviewMobile, mobile: this.isMobile, onClick: () => {
776
- // do nothing if it's not mobile
777
- if (!this.isMobile) {
778
- return;
779
- }
780
- this.collapseReviewMobile = !this.collapseReviewMobile;
781
- } }), h("zonos-collapse", {
782
- // only collapsible on mobile
783
- collapsed: this.collapseReviewMobile && this.isMobile
784
- }, h("zonos-cart-items", null), this.isMobile && (h("zonos-v-stack", { spacing: 16 }, h("zonos-cart-subtotal", null), h("zonos-custom-message", { class: "zonos--checkout-default-message", icon: MessageIcon, message: defaultMessage }))))), h("zonos-cart-restricted-items", null), !this.isMobile && (h("zonos-v-stack", { spacing: 16 }, h("zonos-cart-subtotal", null), h("zonos-custom-message", { class: "zonos--checkout-default-message", icon: MessageIcon, message: defaultMessage }))))))), (cartStore.step === 'finish' || cartStore.step === 'error') && (h("div", { class: "zonos--done", "data-theme": rightSideTheme }, h("div", { class: "zonos--header" }, renderLogo(), h("zonos-button", { class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close checkout dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.handleFinishClick(), theme: rightSideTheme })), h("zonos-checkout-finish", { borderRadius: style, onCloseClick: () => this.handleFinishClick(), overrideNotification: cartStore.step === 'error' && !!cartStore.error
785
- ? Object.assign(Object.assign({}, cartStore.error), { type: 'error' }) : undefined, storybookForceStatus: this.storybookPaymentStatusOverride }))), h("zonos-checkout-footer", { "data-theme": rightSideTheme, mobile: this.isMobile,
786
- /**
787
- * For this component, use slot instead of passing JSX through prop of other component. Because
788
- * the click outside event will be triggered on and targeted to whichever component that it's attached to.
789
- * Move it into <slot /> would resolve the issue.
790
- */
791
- slot: !this.isMobile ? 'dialog-footer' : undefined })));
792
- };
793
- return (h(Host, { class: classes([
794
- 'zonos--checkout zonos--elements',
795
- hasFooter && 'has-footer',
796
- this.preview && 'preview',
797
- this.isMobile && 'mobile',
798
- ]) }, 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()))));
799
- }
800
- static get assetsDirs() { return ["assets"]; }
801
- static get watchers() { return {
802
- "appearanceSettingsOverride": ["appearanceSettingsOverrideChanged", "handleAppearanceSettingsOverrideChange"],
803
- "mobile": ["handleMobileChange"]
804
- }; }
805
- static get style() { return ZonosCheckoutStyle0; }
806
- }, [2, "zonos-checkout", {
807
- "appearanceSettingsOverride": [16],
808
- "preview": [4],
809
- "mobile": [4],
810
- "defaultAddress": [16],
811
- "forceDialogOpen": [4, "force-dialog-open"],
812
- "open": [32],
813
- "stripe": [32],
814
- "submitLoading": [32],
815
- "paymentError": [32],
816
- "collapseReviewMobile": [32],
817
- "isAttachError": [32],
818
- "isMobile": [32],
819
- "zonosReviewRef": [32],
820
- "storybookPaymentStatusOverride": [32],
821
- "domesticRedirectedBtnSelector": [32],
822
- "legacyCheckoutHiddenBtnSelector": [32],
823
- "isLegacyCheckout": [32],
824
- "closeDialogHandler": [64],
825
- "init": [64],
826
- "setToFinishStep": [64]
827
- }, [[16, "zonos--init-cart-info", "initCartInfoHandler"], [9, "resize", "handleWindowResize"]], {
828
- "appearanceSettingsOverride": ["appearanceSettingsOverrideChanged", "handleAppearanceSettingsOverrideChange"],
829
- "mobile": ["handleMobileChange"]
830
- }]);
831
- function defineCustomElement$1() {
832
- if (typeof customElements === "undefined") {
833
- return;
834
- }
835
- const components = ["zonos-checkout", "zonos-address", "zonos-address-display", "zonos-address-form", "zonos-address-update-dialog", "zonos-badge", "zonos-banner", "zonos-button", "zonos-card", "zonos-cart-items", "zonos-cart-restricted-items", "zonos-cart-subtotal", "zonos-checkbox", "zonos-checkout-finish", "zonos-checkout-footer", "zonos-checkout-payment", "zonos-checkout-progress-tabs", "zonos-collapse", "zonos-country-flag", "zonos-custom-message", "zonos-customer-info", "zonos-dialog", "zonos-icon", "zonos-input", "zonos-language-select", "zonos-link-authentication", "zonos-payment", "zonos-review", "zonos-select-dialog-header", "zonos-shipping", "zonos-shipping-rich-radio", "zonos-spinner", "zonos-text", "zonos-tooltip", "zonos-v-stack"];
836
- components.forEach(tagName => { switch (tagName) {
837
- case "zonos-checkout":
838
- if (!customElements.get(tagName)) {
839
- customElements.define(tagName, ZonosCheckout$1);
840
- }
841
- break;
842
- case "zonos-address":
843
- if (!customElements.get(tagName)) {
844
- defineCustomElement$z();
845
- }
846
- break;
847
- case "zonos-address-display":
848
- if (!customElements.get(tagName)) {
849
- defineCustomElement$y();
850
- }
851
- break;
852
- case "zonos-address-form":
853
- if (!customElements.get(tagName)) {
854
- defineCustomElement$x();
855
- }
856
- break;
857
- case "zonos-address-update-dialog":
858
- if (!customElements.get(tagName)) {
859
- defineCustomElement$w();
860
- }
861
- break;
862
- case "zonos-badge":
863
- if (!customElements.get(tagName)) {
864
- defineCustomElement$v();
865
- }
866
- break;
867
- case "zonos-banner":
868
- if (!customElements.get(tagName)) {
869
- defineCustomElement$u();
870
- }
871
- break;
872
- case "zonos-button":
873
- if (!customElements.get(tagName)) {
874
- defineCustomElement$t();
875
- }
876
- break;
877
- case "zonos-card":
878
- if (!customElements.get(tagName)) {
879
- defineCustomElement$s();
880
- }
881
- break;
882
- case "zonos-cart-items":
883
- if (!customElements.get(tagName)) {
884
- defineCustomElement$r();
885
- }
886
- break;
887
- case "zonos-cart-restricted-items":
888
- if (!customElements.get(tagName)) {
889
- defineCustomElement$q();
890
- }
891
- break;
892
- case "zonos-cart-subtotal":
893
- if (!customElements.get(tagName)) {
894
- defineCustomElement$p();
895
- }
896
- break;
897
- case "zonos-checkbox":
898
- if (!customElements.get(tagName)) {
899
- defineCustomElement$o();
900
- }
901
- break;
902
- case "zonos-checkout-finish":
903
- if (!customElements.get(tagName)) {
904
- defineCustomElement$n();
905
- }
906
- break;
907
- case "zonos-checkout-footer":
908
- if (!customElements.get(tagName)) {
909
- defineCustomElement$m();
910
- }
911
- break;
912
- case "zonos-checkout-payment":
913
- if (!customElements.get(tagName)) {
914
- defineCustomElement$l();
915
- }
916
- break;
917
- case "zonos-checkout-progress-tabs":
918
- if (!customElements.get(tagName)) {
919
- defineCustomElement$k();
920
- }
921
- break;
922
- case "zonos-collapse":
923
- if (!customElements.get(tagName)) {
924
- defineCustomElement$j();
925
- }
926
- break;
927
- case "zonos-country-flag":
928
- if (!customElements.get(tagName)) {
929
- defineCustomElement$i();
930
- }
931
- break;
932
- case "zonos-custom-message":
933
- if (!customElements.get(tagName)) {
934
- defineCustomElement$h();
935
- }
936
- break;
937
- case "zonos-customer-info":
938
- if (!customElements.get(tagName)) {
939
- defineCustomElement$g();
940
- }
941
- break;
942
- case "zonos-dialog":
943
- if (!customElements.get(tagName)) {
944
- defineCustomElement$f();
945
- }
946
- break;
947
- case "zonos-icon":
948
- if (!customElements.get(tagName)) {
949
- defineCustomElement$e();
950
- }
951
- break;
952
- case "zonos-input":
953
- if (!customElements.get(tagName)) {
954
- defineCustomElement$d();
955
- }
956
- break;
957
- case "zonos-language-select":
958
- if (!customElements.get(tagName)) {
959
- defineCustomElement$c();
960
- }
961
- break;
962
- case "zonos-link-authentication":
963
- if (!customElements.get(tagName)) {
964
- defineCustomElement$b();
965
- }
966
- break;
967
- case "zonos-payment":
968
- if (!customElements.get(tagName)) {
969
- defineCustomElement$a();
970
- }
971
- break;
972
- case "zonos-review":
973
- if (!customElements.get(tagName)) {
974
- defineCustomElement$9();
975
- }
976
- break;
977
- case "zonos-select-dialog-header":
978
- if (!customElements.get(tagName)) {
979
- defineCustomElement$8();
980
- }
981
- break;
982
- case "zonos-shipping":
983
- if (!customElements.get(tagName)) {
984
- defineCustomElement$7();
985
- }
986
- break;
987
- case "zonos-shipping-rich-radio":
988
- if (!customElements.get(tagName)) {
989
- defineCustomElement$6();
990
- }
991
- break;
992
- case "zonos-spinner":
993
- if (!customElements.get(tagName)) {
994
- defineCustomElement$5();
995
- }
996
- break;
997
- case "zonos-text":
998
- if (!customElements.get(tagName)) {
999
- defineCustomElement$4();
1000
- }
1001
- break;
1002
- case "zonos-tooltip":
1003
- if (!customElements.get(tagName)) {
1004
- defineCustomElement$3();
1005
- }
1006
- break;
1007
- case "zonos-v-stack":
1008
- if (!customElements.get(tagName)) {
1009
- defineCustomElement$2();
1010
- }
1011
- break;
1012
- } });
1013
- }
1014
-
1015
- const ZonosCheckout = ZonosCheckout$1;
1016
- const defineCustomElement = defineCustomElement$1;
1017
-
1018
- export { ZonosCheckout, defineCustomElement };