@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,4 +1,4 @@
1
- import { z as zonosStore } from './zonosStore.js';
1
+ import { z as zonosStore } from './zonosStore-32e33a45.js';
2
2
 
3
3
  /**
4
4
  * Get the border radius for the elements based on the style
@@ -1099,7 +1099,10 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1099
1099
  if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1100
1100
  {
1101
1101
  {
1102
- self.attachShadow({ mode: "open" });
1102
+ self.attachShadow({
1103
+ mode: "open",
1104
+ delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)
1105
+ });
1103
1106
  }
1104
1107
  }
1105
1108
  }
package/dist/esm/index.js CHANGED
@@ -1 +1,622 @@
1
+ import { l as log, a as logError } from './logError-c456c092.js';
1
2
 
3
+ /**
4
+ * Get the load version and url based on the loadScriptSrc and version
5
+ * @returns
6
+ */
7
+ const checkIfLoadVersionDomain = ({ loadScriptSrc }) => {
8
+ if (!loadScriptSrc) {
9
+ return {
10
+ currentLoadScriptUrl: '',
11
+ isForceLoadVersionDomain: false,
12
+ isWhiteListed: false,
13
+ };
14
+ }
15
+ const whiteListedDomains = [
16
+ // local domain
17
+ 'dev.elements.zonos.com',
18
+ // any domain with prefix , no need to version it
19
+ '.js.zonos.com',
20
+ // vercel git domain
21
+ 'zonos-elements-test-git',
22
+ 'zonos-elements-git',
23
+ ];
24
+ const forceLoadVersionDomain = [
25
+ // force load version for qa domain, this is to test the load version behavior
26
+ 'qa.js.zonos.com',
27
+ ];
28
+ // get the domain that's used to load the loadZonos.js
29
+ const currentLoadScriptUrl = new URL(loadScriptSrc).origin;
30
+ const isWhiteListed = whiteListedDomains.some(domain =>
31
+ // check if the current domain is in the white listed domains
32
+ currentLoadScriptUrl.includes(domain));
33
+ const isForceLoadVersionDomain = forceLoadVersionDomain.some(domain =>
34
+ // check if the current domain is in the force load version domains list
35
+ currentLoadScriptUrl.includes(domain));
36
+ return { currentLoadScriptUrl, isForceLoadVersionDomain, isWhiteListed };
37
+ };
38
+
39
+ /**
40
+ * Extracts the zonosQaUrl from the url
41
+ *
42
+ * @param url - url to extract zonosQaUrl from
43
+ *
44
+ * **NOTE**: value of zonosQaUrl param should be without protocol, allowed characters are: a-z, A-Z, 0-9, -, _
45
+ * @example
46
+ * valid: https://www.zonos.com/?zonosQaUrl=some-feature-v988
47
+ * invalid: https://www.zonos.com/?zonosQaUrl=https://zonos-something
48
+ */
49
+ const extractZonosQaUrl = (url) => {
50
+ if (!url) {
51
+ return null;
52
+ }
53
+ // get params from url
54
+ const param = new URL(url).searchParams;
55
+ const zonosQaUrl = param.get('zonosQaUrl');
56
+ if (!zonosQaUrl) {
57
+ return null;
58
+ }
59
+ const hasInvalidCharacters = /[^a-zA-Z0-9-_]+/.test(zonosQaUrl);
60
+ if (!!hasInvalidCharacters) {
61
+ return null;
62
+ }
63
+ return zonosQaUrl;
64
+ };
65
+
66
+ /**
67
+ * Get the Zonos QA URL and return it. Will remove `zonosQaUrl` from the url query if it doesn't exists.
68
+ */
69
+ const getZonosQaUrl = () => {
70
+ if (typeof window === 'undefined') {
71
+ return null;
72
+ }
73
+ const qaUrl = extractZonosQaUrl(window.location.href);
74
+ if (!qaUrl) {
75
+ return null;
76
+ }
77
+ // If the qaUrl, use the dev-elements domain to forward the request to the dev server to quickly debug the issue
78
+ if (qaUrl === 'dev-elements') {
79
+ return 'https://dev.elements.zonos.com';
80
+ }
81
+ const suffixDomain = 'preview.js.zonos.com';
82
+ const fullUrl = `https://${qaUrl}.${suffixDomain}`;
83
+ log(`[ZONOS-WARNING] using '${fullUrl}' for loading script`, 'warn');
84
+ // request to the url and check if the request has an error
85
+ void fetch(fullUrl)
86
+ .then(() => {
87
+ // cleanup checkout session to avoid using the prod session in preview domain
88
+ window.sessionStorage.removeItem('zonos--checkout-session-id');
89
+ window.sessionStorage.removeItem('zonos--client-secret');
90
+ })
91
+ .catch(() => {
92
+ alert(`[ZONOS-WARNING] '${fullUrl}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);
93
+ // remove the zonosQaUrl param from url
94
+ const urlSearchParams = new URLSearchParams(window.location.search);
95
+ urlSearchParams.delete('zonosQaUrl');
96
+ const { pathname } = window.location;
97
+ const newUrl = `${pathname}?${urlSearchParams.toString()}`;
98
+ window.history.replaceState({}, '', newUrl);
99
+ window.location.reload();
100
+ return null;
101
+ });
102
+ return fullUrl;
103
+ };
104
+
105
+ /* eslint-disable no-console */
106
+ const V3_URL = 'https://js.stripe.com/v3';
107
+ const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
108
+ const EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
109
+ const zonosStripeFindScript = () => {
110
+ const scripts = document.querySelectorAll(`script[src^="${V3_URL}"]`);
111
+ for (let i = 0; i < scripts.length; i++) {
112
+ const script = scripts[i];
113
+ if (!script) {
114
+ continue;
115
+ }
116
+ if (!V3_URL_REGEX.test(script.src)) {
117
+ continue;
118
+ }
119
+ return script;
120
+ }
121
+ return null;
122
+ };
123
+ let stripePromise$1 = null;
124
+ const injectScript = (params) => {
125
+ const queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';
126
+ const script = document.createElement('script');
127
+ script.src = `${V3_URL}${queryString}`;
128
+ const headBody = document.head || document.body;
129
+ if (!headBody) {
130
+ logError('Expected document.body not to be null. Stripe.js requires a <body> element.');
131
+ return null;
132
+ }
133
+ headBody.appendChild(script);
134
+ return script;
135
+ };
136
+ const zonosStripeLoadScript = (params) => {
137
+ // Ensure that we only attempt to load Stripe.js at most once
138
+ if (stripePromise$1 !== null) {
139
+ return stripePromise$1;
140
+ }
141
+ stripePromise$1 = new Promise((resolve, reject) => {
142
+ if (typeof window === 'undefined' || typeof document === 'undefined') {
143
+ // Resolve to null when imported server side. This makes the module
144
+ // safe to import in an isomorphic code base.
145
+ resolve(null);
146
+ return;
147
+ }
148
+ if (window.Stripe && params) {
149
+ console.warn(EXISTING_SCRIPT_MESSAGE);
150
+ }
151
+ if (window.Stripe) {
152
+ resolve(window.Stripe);
153
+ return;
154
+ }
155
+ try {
156
+ let script = zonosStripeFindScript();
157
+ if (script && params) {
158
+ console.warn(EXISTING_SCRIPT_MESSAGE);
159
+ }
160
+ else if (!script) {
161
+ script = injectScript(params);
162
+ }
163
+ script === null || script === void 0 ? void 0 : script.addEventListener('load', () => {
164
+ if (window.Stripe) {
165
+ resolve(window.Stripe);
166
+ }
167
+ else {
168
+ reject(new Error('Stripe.js not available'));
169
+ }
170
+ });
171
+ script === null || script === void 0 ? void 0 : script.addEventListener('error', () => {
172
+ reject(new Error('Failed to load Stripe.js'));
173
+ });
174
+ }
175
+ catch (error) {
176
+ reject(error);
177
+ return;
178
+ }
179
+ });
180
+ return stripePromise$1;
181
+ };
182
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
183
+ const registerWrapper = (stripe, startTime) => {
184
+ if (!stripe || !stripe._registerWrapper) {
185
+ return;
186
+ }
187
+ stripe._registerWrapper({ name: 'stripe-js', startTime });
188
+ };
189
+ const initStripe = (maybeStripe, args, startTime) => {
190
+ if (maybeStripe === null) {
191
+ return null;
192
+ }
193
+ const stripe = maybeStripe.apply(undefined, args);
194
+ registerWrapper(stripe, startTime);
195
+ return stripe;
196
+ };
197
+
198
+ // Execute our own script injection after a tick to give users time to do their
199
+ // own script injection.
200
+ const stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
201
+ let loadCalled = false;
202
+ stripePromise.catch((err) => {
203
+ if (!loadCalled) {
204
+ // eslint-disable-next-line no-console
205
+ console.warn(err);
206
+ }
207
+ });
208
+ const zonosLoadStripe = async (...args) => {
209
+ loadCalled = true;
210
+ const startTime = Date.now();
211
+ return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
212
+ };
213
+
214
+ var _a;
215
+ /**
216
+ * Get the load version and url based on the loadScriptSrc, if the domain that used to load `zonos.js` is in white listed domains, use currentLoadScriptUrl as the load url instead, if zonosQaUrl exists, it would also fall under the white listed domain
217
+ */
218
+ const zonosLoadUrl = (() => {
219
+ if (typeof document === 'undefined') {
220
+ return null;
221
+ }
222
+ const scriptExist = document.querySelector(`script[src*="/zonos.js"]`);
223
+ const { currentLoadScriptUrl, isWhiteListed } = checkIfLoadVersionDomain({
224
+ loadScriptSrc: scriptExist === null || scriptExist === void 0 ? void 0 : scriptExist.src,
225
+ });
226
+ if (isWhiteListed) {
227
+ return currentLoadScriptUrl;
228
+ }
229
+ return null;
230
+ })();
231
+ const ZONOS_URL = zonosLoadUrl || "https://v1.3.18-alpha.3.js.zonos.com";
232
+ const JS_DELIVR_ZONOS_URL = "https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.18-alpha.3";
233
+ const INTER_FONT_URL = 'https://rsms.me';
234
+ const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
235
+ const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
236
+ class Zonos {
237
+ }
238
+ _a = Zonos;
239
+ Zonos.doneInit = false;
240
+ // if query 'zonosDebug=1' param from url, debug mode is on
241
+ Zonos.debug = typeof window !== 'undefined' &&
242
+ !!window.location.search.match(/\?.*(&*)zonosDebug=1/);
243
+ Zonos.zonosConversionTest = typeof window !== 'undefined' &&
244
+ !!window.location.search.match(/\?.*(&*)zonosConversionTest/);
245
+ Zonos.isBigCommerce = false;
246
+ /**
247
+ * By default, the package will load from npm
248
+ */
249
+ Zonos.isNpm = true;
250
+ Zonos.internationalHideSelector = '';
251
+ Zonos.zonosQaUrl = null;
252
+ Zonos.version = `v${"1.3.18-alpha.3"}`;
253
+ Zonos.modeAlerted = false;
254
+ Zonos.tempCartData = null;
255
+ Zonos.getCurrentTimestamp = () => new Date().getTime();
256
+ Zonos.zonosController = null;
257
+ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSettings, onCountryChange, storeId, zonosApiKey, }) => {
258
+ if (_a.doneInit) {
259
+ // do nothing if zonos is already initializeds
260
+ return;
261
+ }
262
+ log(`====== ZONOS DEBUG MODE: on (${_a.version}) ======`);
263
+ if (!zonosApiKey) {
264
+ logError('Missing Zonos API key');
265
+ return;
266
+ }
267
+ _a.zonosApiKey = zonosApiKey;
268
+ _a.storeId = storeId;
269
+ log('init zonos');
270
+ // add sentry to the project
271
+ _a.injectSentryScript();
272
+ // inject zonos cdn
273
+ _a.injectZonosCdn();
274
+ // inject css for zonos elements
275
+ _a.injectZonosCss();
276
+ // inject fonts for zonos elements
277
+ _a.injectFonts();
278
+ // init zonos controller
279
+ _a.injectController({
280
+ config: {
281
+ appearance,
282
+ checkoutSettings,
283
+ currencyConverter,
284
+ helloSettings,
285
+ onCountryChange,
286
+ },
287
+ zonosApiKey,
288
+ });
289
+ _a.doneInit = true;
290
+ };
291
+ Zonos.displayCurrency = () => {
292
+ const zonosHello = document.querySelector('zonos-hello');
293
+ if (zonosHello) {
294
+ void zonosHello.displayCurrency();
295
+ }
296
+ };
297
+ // Called openHelloDialog because the main use case is to simply open the dialog
298
+ Zonos.openHelloDialog = (value) => {
299
+ const zonosHello = document.querySelector('zonos-hello');
300
+ if (zonosHello) {
301
+ void zonosHello.openHelloDialog(value !== null && value !== void 0 ? value : true);
302
+ }
303
+ };
304
+ Zonos.showNotification = (notification) => {
305
+ var _b;
306
+ void ((_b = _a.zonosController) === null || _b === void 0 ? void 0 : _b.showNotification(notification));
307
+ };
308
+ Zonos.updateOrganizationName = (organizationName) => {
309
+ var _b;
310
+ void ((_b = _a.zonosController) === null || _b === void 0 ? void 0 : _b.updateOrganizationName(organizationName));
311
+ };
312
+ Zonos.disablePlaceOrderButtons = ({ autoEnable = true, disable, placeOrderButtonSelector, }) => {
313
+ // if placeOrderAnchor is passed in the config for checkoutSettings, disable the place order button until zonos is initialized
314
+ if (placeOrderButtonSelector) {
315
+ const placeOrderButton = document.querySelectorAll(placeOrderButtonSelector);
316
+ const disableEvent = (e) => {
317
+ const target = e.target;
318
+ // prevent default and propagation when the item has disabled attribute
319
+ if (target.getAttribute('disabled')) {
320
+ e.preventDefault();
321
+ e.stopPropagation();
322
+ }
323
+ };
324
+ placeOrderButton.forEach(button => {
325
+ const isEventAttached = button.getAttribute('data-zonos-checkout-attached');
326
+ if (isEventAttached) {
327
+ // do nothing if event is already attached
328
+ return;
329
+ }
330
+ if (disable) {
331
+ button.setAttribute('disabled', 'true');
332
+ // prevent the selector to perform default action when it's disabled
333
+ button.addEventListener('click', disableEvent);
334
+ }
335
+ else {
336
+ button.removeAttribute('disabled');
337
+ // clean up the event listener
338
+ button.removeEventListener('click', disableEvent);
339
+ }
340
+ });
341
+ // only auto enable if autoEnable is true and we are setting button disable
342
+ if (autoEnable && disable) {
343
+ setTimeout(() => {
344
+ // release it if zonos is not initialized after 5 seconds (this is to prevent the place order button from being disabled forever due to api)
345
+ placeOrderButton.forEach(button => {
346
+ button.removeAttribute('disabled');
347
+ // clean up the event listener if exists
348
+ button.removeEventListener('click', disableEvent);
349
+ });
350
+ }, 5000);
351
+ }
352
+ }
353
+ };
354
+ Zonos.injectController = ({ config, zonosApiKey, }) => {
355
+ var _b;
356
+ if (document.querySelector('zonos-controller')) {
357
+ return;
358
+ }
359
+ // if placeOrderAnchor is passed in the config for checkoutSettings, disable the place order button until zonos is initialized
360
+ if ((_b = config.checkoutSettings) === null || _b === void 0 ? void 0 : _b.placeOrderButtonSelector) {
361
+ const placeOrderButtonSelector = config.checkoutSettings.placeOrderButtonSelector;
362
+ _a.disablePlaceOrderButtons({
363
+ disable: true,
364
+ placeOrderButtonSelector,
365
+ });
366
+ // create a mutation observer to see if any new elements that match our selector is added to the DOM
367
+ const observer = new MutationObserver(() => {
368
+ _a.disablePlaceOrderButtons({
369
+ disable: true,
370
+ placeOrderButtonSelector,
371
+ });
372
+ });
373
+ observer.observe(document.body, {
374
+ childList: true,
375
+ subtree: true,
376
+ });
377
+ }
378
+ const zonosController = document.createElement('zonos-controller');
379
+ zonosController.config = config;
380
+ zonosController.zonosApiKey = zonosApiKey;
381
+ zonosController.addEventListener('stripeInitEvent', async (event) => {
382
+ const { detail } = event;
383
+ log('loading Stripe');
384
+ const stripe = await zonosLoadStripe(detail.publishableKey);
385
+ if (!stripe) {
386
+ logError('API seems to be invalid or missing. Failed to load Stripe');
387
+ return;
388
+ }
389
+ window.Zonos.stripe = stripe;
390
+ void zonosController.initCheckoutElement(stripe);
391
+ });
392
+ document.body.appendChild(zonosController);
393
+ // set zonos controller to be global
394
+ _a.zonosController = zonosController;
395
+ log('Zonos controller injected!');
396
+ };
397
+ Zonos.injectSentryScript = () => {
398
+ const scriptUrl = 'https://browser.sentry-cdn.com/7.88.0/bundle.tracing.min.js';
399
+ const findScript = () => {
400
+ const script = document.querySelector(`script[src="${scriptUrl}"]`);
401
+ return !!script;
402
+ };
403
+ if (findScript()) {
404
+ log('Sentry script already exists in the document', 'warn');
405
+ return;
406
+ }
407
+ const headOrBody = document.head || document.body;
408
+ // init zonos elements when the zonosKey is valid
409
+ // inject esmodule cdn for zonos elements
410
+ const script = document.createElement('script');
411
+ script.crossOrigin = 'anonymous';
412
+ script.src = scriptUrl;
413
+ script.integrity =
414
+ 'sha384-z/aQww1Fr6Mes0MO/2wlzQd2nXBCdDcKPXDTsMDMNPgTGRPqii3a4bzH79I+Vo8l';
415
+ script.setAttribute('data-lazy', 'no');
416
+ script.onerror = () => {
417
+ logError(`Failed to load ${script.src}`);
418
+ };
419
+ script.onload = () => {
420
+ var _b;
421
+ (_b = window.Sentry) === null || _b === void 0 ? void 0 : _b.init({
422
+ beforeSend(event) {
423
+ var _b, _c, _d, _e, _f, _g;
424
+ // only send error to sentry if it's from zonos production
425
+ const firstExceptionFilename = (_g = (_f = (_e = (_d = (_c = (_b = event.exception) === null || _b === void 0 ? void 0 : _b.values) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.stacktrace) === null || _e === void 0 ? void 0 : _e.frames) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.filename;
426
+ const isZonosProduction = (firstExceptionFilename === null || firstExceptionFilename === void 0 ? void 0 : firstExceptionFilename.includes('js.zonos.com')) ||
427
+ (firstExceptionFilename === null || firstExceptionFilename === void 0 ? void 0 : firstExceptionFilename.includes('@zonos/elements'));
428
+ const isDevelopmentHref = window.location.href.includes('dev.elements') ||
429
+ window.location.href.includes('route.js.zonos.com');
430
+ // don't send error to sentry if the errors are in development href
431
+ if (isZonosProduction && !isDevelopmentHref) {
432
+ return event;
433
+ }
434
+ return null;
435
+ },
436
+ dsn: 'https://19168bd05af0e2e0e7520ad58953e4f2@o446983.ingest.sentry.io/4506400622837760',
437
+ ignoreErrors: ['Failed to load Stripe.js'],
438
+ release: `zonos-elements@${_a.version}`,
439
+ tracesSampler: () => {
440
+ return 0.01;
441
+ },
442
+ });
443
+ };
444
+ headOrBody.appendChild(script);
445
+ };
446
+ Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) => {
447
+ const fullScriptUrl = `${scriptDomain}/${theRestUrl}`;
448
+ const findScript = () => {
449
+ const script = document.querySelector(`script[src="${fullScriptUrl}"]`);
450
+ return !!script;
451
+ };
452
+ if (findScript()) {
453
+ log(`Zonos script "${fullScriptUrl}" already exists in the document`, 'warn');
454
+ return;
455
+ }
456
+ const headOrBody = document.head || document.body;
457
+ // init zonos elements when the zonosKey is valid
458
+ // inject esmodule cdn for zonos elements
459
+ const script = document.createElement('script');
460
+ if (!!isModule) {
461
+ script.type = 'module';
462
+ }
463
+ else {
464
+ script.noModule = true;
465
+ }
466
+ script.src = fullScriptUrl;
467
+ script.crossOrigin = 'anonymous';
468
+ script.onerror = () => {
469
+ // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
470
+ const isVersioned = /\/\/v\d+\./g.test(scriptDomain);
471
+ if (!isVersioned) {
472
+ log('No need to fallback since this is not a versioned domain', 'warn');
473
+ return;
474
+ }
475
+ if (fallBackDomain) {
476
+ _a.injectScript({
477
+ isModule,
478
+ scriptDomain: fallBackDomain,
479
+ theRestUrl,
480
+ });
481
+ }
482
+ logError(`Failed to load ${script.src}`);
483
+ };
484
+ headOrBody.appendChild(script);
485
+ };
486
+ /**
487
+ * We now support loading Zonos via npm. For clients using npm, `zonosBase` will always load from the server side. Therefore, the `zonosLoadUrl` defined earlier won't work since it lacks access to client-side APIs such as `window` and `document`.
488
+ */
489
+ Zonos.getZonosUrl = () => {
490
+ // To ensure that sites using zonos-elements load the script from a specific domain when using npm, we need to check for zonosQaUrl and use it if available. Otherwise it will always load from the compiled versioned domain
491
+ if (_a.isNpm) {
492
+ const zonosQaUrl = getZonosQaUrl();
493
+ // Default to hard coded domain if zonosQaUrl is not available
494
+ return zonosQaUrl || ZONOS_URL;
495
+ }
496
+ return ZONOS_URL;
497
+ };
498
+ Zonos.injectZonosCdn = () => {
499
+ const ZONOS_LOAD_URL = _a.getZonosUrl();
500
+ // init zonos elements when the zonosKey is valid
501
+ // inject esmodule cdn for zonos elements
502
+ _a.injectScript({
503
+ fallBackDomain: JS_DELIVR_ZONOS_URL,
504
+ isModule: true,
505
+ scriptDomain: ZONOS_LOAD_URL,
506
+ theRestUrl: 'dist/zonos-elements/zonos-elements.esm.js',
507
+ });
508
+ // inject non module cdn for zonos elements
509
+ _a.injectScript({
510
+ fallBackDomain: JS_DELIVR_ZONOS_URL,
511
+ isModule: false,
512
+ scriptDomain: ZONOS_LOAD_URL,
513
+ theRestUrl: 'dist/zonos-elements/zonos-elements.js',
514
+ });
515
+ log('Zonos cdn script injected!');
516
+ };
517
+ Zonos.injectStylesheet = ({ fallBackDomain, stylesheetDomain, theRestUrl, }) => {
518
+ const headOrBody = document.head || document.body;
519
+ // inject preconnect css for zonos elements
520
+ const zonosCssPreconnect = document.createElement('link');
521
+ zonosCssPreconnect.rel = 'preconnect';
522
+ zonosCssPreconnect.href = `${ZONOS_URL}/`;
523
+ headOrBody.appendChild(zonosCssPreconnect);
524
+ // inject css for zonos elements
525
+ const zonosCss = document.createElement('link');
526
+ zonosCss.rel = 'stylesheet';
527
+ zonosCss.href = `${stylesheetDomain}/${theRestUrl}`;
528
+ zonosCss.onerror = () => {
529
+ // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
530
+ const isVersioned = /\/\/v\d+\./g.test(stylesheetDomain);
531
+ if (!isVersioned) {
532
+ log('No need to fallback since this is not a versioned domain', 'warn');
533
+ return;
534
+ }
535
+ if (fallBackDomain && isVersioned) {
536
+ _a.injectStylesheet({
537
+ stylesheetDomain: fallBackDomain,
538
+ theRestUrl,
539
+ });
540
+ }
541
+ logError(`Failed to load ${zonosCss.href}`);
542
+ };
543
+ headOrBody.appendChild(zonosCss);
544
+ };
545
+ Zonos.injectZonosCss = () => {
546
+ const findStyleLink = () => {
547
+ return !!document.querySelector(`link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]`);
548
+ };
549
+ if (findStyleLink()) {
550
+ log('Zonos style links already injected', 'warn');
551
+ return;
552
+ }
553
+ // inject css for zonos elements
554
+ _a.injectStylesheet({
555
+ fallBackDomain: JS_DELIVR_ZONOS_URL,
556
+ stylesheetDomain: ZONOS_URL,
557
+ theRestUrl: 'dist/zonos-elements/zonos-elements.css',
558
+ });
559
+ log('Zonos style css injected!');
560
+ };
561
+ Zonos.injectFonts = () => {
562
+ const findFont = () => {
563
+ const links = document.querySelectorAll(`link[rel="stylesheet"][href^="${INTER_FONT_URL}"]`);
564
+ for (let i = 0; i < links.length; i++) {
565
+ const link = links[i];
566
+ if (!link) {
567
+ continue;
568
+ }
569
+ if (INTER_FONT_REGEX.test(link.href)) {
570
+ continue;
571
+ }
572
+ return link;
573
+ }
574
+ return null;
575
+ };
576
+ if (findFont()) {
577
+ log('Inter font already injected', 'warn');
578
+ return;
579
+ }
580
+ const headOrBody = document.head || document.body;
581
+ // inject font css for zonos elements
582
+ const fontPreconnect = document.createElement('link');
583
+ fontPreconnect.rel = 'preconnect';
584
+ fontPreconnect.href = INTER_FONT_URL;
585
+ headOrBody.appendChild(fontPreconnect);
586
+ // inject font css for zonos elements
587
+ const font = document.createElement('link');
588
+ font.rel = 'stylesheet';
589
+ font.href = `${INTER_FONT_URL}/inter/inter.css`;
590
+ headOrBody.appendChild(font);
591
+ log('Zonos font injected!');
592
+ };
593
+ // apply font for zonos elements and inject font if needed
594
+ Zonos.setupGoogleFont = (fontFamily) => {
595
+ var _b;
596
+ void ((_b = _a.zonosController) === null || _b === void 0 ? void 0 : _b.setupGoogleFont(fontFamily));
597
+ };
598
+ // this function is to inject google font to the browser, not apply the font for zonos elements, to apply the font and inject font if needed, use `setupGoogleFont` instead
599
+ Zonos.injectSupportGoogleFont = (fontUrl) => {
600
+ var _b;
601
+ log(`[FONT] injecting ${fontUrl}`);
602
+ const fontFamily = (_b = fontUrl.match(/family=(.*?):/)) === null || _b === void 0 ? void 0 : _b[1];
603
+ const headOrBody = document.head || document.body;
604
+ // inject font css for zonos elements
605
+ if (!document.querySelector(`link[rel="preconnect"][href^="${GOOGLE_FONT_URL}"]`)) {
606
+ const customFontPreconnect = document.createElement('link');
607
+ customFontPreconnect.rel = 'preconnect';
608
+ customFontPreconnect.href = GOOGLE_FONT_URL;
609
+ headOrBody.appendChild(customFontPreconnect);
610
+ }
611
+ if (document.querySelector(`link[rel="stylesheet"][href="${fontUrl}"]`)) {
612
+ log(`[FONT] ${fontFamily} font already injected`, 'warn');
613
+ return;
614
+ }
615
+ const customFont = document.createElement('link');
616
+ customFont.rel = 'stylesheet';
617
+ customFont.href = fontUrl;
618
+ headOrBody.appendChild(customFont);
619
+ log(`[FONT] ${fontFamily} font injected!`);
620
+ };
621
+
622
+ export { Zonos };
@@ -1,4 +1,4 @@
1
- import { b as commonjsGlobal } from './zonosStore.js';
1
+ import { a as commonjsGlobal } from './zonosStore-32e33a45.js';
2
2
 
3
3
  var tinycolor$1 = {exports: {}};
4
4