@zonos/elements 1.2.3 → 1.2.4-alpha.1

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 (541) hide show
  1. package/dist/cjs/cart-4ddc2af5.js +616 -0
  2. package/dist/cjs/getBorderRadius-a97a5f75.js +18 -0
  3. package/dist/cjs/getHasMoreSpaceOnRight-4c94667f.js +10 -0
  4. package/dist/cjs/{index-9542d2e7.js → index-20cb112f.js} +127 -26
  5. package/dist/cjs/index.cjs.js +6 -6
  6. package/dist/cjs/isColorVariable-41cacd82.js +16 -0
  7. package/dist/cjs/{isDarkColor-f3446afd.js → isDarkColor-261fcf3d.js} +2 -2
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/cjs/localization-11360fed.js +3629 -0
  10. package/dist/cjs/submitGtag-bb093547.js +27 -0
  11. package/dist/cjs/zonos-address_2.cjs.entry.js +108 -108
  12. package/dist/cjs/zonos-badge.cjs.entry.js +25 -22
  13. package/dist/cjs/zonos-banner.cjs.entry.js +65 -53
  14. package/dist/cjs/zonos-button_2.cjs.entry.js +100 -99
  15. package/dist/cjs/zonos-card_2.cjs.entry.js +32 -27
  16. package/dist/cjs/zonos-cart-items_10.cjs.entry.js +422 -419
  17. package/dist/cjs/zonos-checkout.cjs.entry.js +356 -356
  18. package/dist/cjs/zonos-component.cjs.entry.js +15 -15
  19. package/dist/cjs/zonos-controller.cjs.entry.js +231 -193
  20. package/dist/cjs/zonos-country-flag_4.cjs.entry.js +85 -77
  21. package/dist/cjs/zonos-elements.cjs.js +3 -3
  22. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +101 -101
  23. package/dist/cjs/zonos-hello.cjs.entry.js +349 -349
  24. package/dist/cjs/zonos-icon.cjs.entry.js +22 -20
  25. package/dist/cjs/zonos-notification.cjs.entry.js +60 -57
  26. package/dist/cjs/zonos-payment.cjs.entry.js +45 -45
  27. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +40 -40
  28. package/dist/cjs/zonos-text.cjs.entry.js +145 -143
  29. package/dist/cjs/{zonosStore-a430ec5b.js → zonosStore-a0fa5b77.js} +102 -97
  30. package/dist/collection/__mocks__/vercel-app/loadZonos.js +492 -0
  31. package/dist/collection/__mocks__/vercel-app/localization.js +1 -0
  32. package/dist/collection/__mocks__/vercel-app/zonos-hello.entry.js +1 -0
  33. package/dist/collection/__mocks__/zonos-url/loadZonos.js +492 -0
  34. package/dist/{esm-es5/localization-f3828793.js → collection/__mocks__/zonos-url/localization.js} +1 -1
  35. package/dist/collection/__mocks__/zonos-url/zonos-hello.entry.js +1 -0
  36. package/dist/collection/__tests__/build-utils/urlCheckOne.js +59 -0
  37. package/dist/collection/collection-manifest.json +2 -2
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.css +4 -1
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +37 -37
  40. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.css +4 -1
  41. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +44 -44
  42. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.css +4 -1
  43. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +164 -164
  44. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.css +4 -1
  45. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +149 -149
  46. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.css +4 -1
  47. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +559 -559
  48. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +4 -1
  49. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +153 -153
  50. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.css +4 -1
  51. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.js +107 -107
  52. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +4 -1
  53. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +164 -164
  54. package/dist/collection/components/common/countries.js +261 -261
  55. package/dist/collection/components/common/zonos-badge/zonos-badge.css +4 -1
  56. package/dist/collection/components/common/zonos-badge/zonos-badge.js +189 -186
  57. package/dist/collection/components/common/zonos-banner/zonos-banner.css +4 -1
  58. package/dist/collection/components/common/zonos-banner/zonos-banner.js +140 -128
  59. package/dist/collection/components/common/zonos-button/zonos-button.css +5 -5
  60. package/dist/collection/components/common/zonos-button/zonos-button.js +407 -406
  61. package/dist/collection/components/common/zonos-card/zonos-card.css +4 -1
  62. package/dist/collection/components/common/zonos-card/zonos-card.js +165 -162
  63. package/dist/collection/components/common/zonos-collapse/zonos-collapse.css +4 -1
  64. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +85 -83
  65. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.css +4 -1
  66. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.js +101 -96
  67. package/dist/collection/components/common/zonos-country-select/zonos-country-select.css +4 -1
  68. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +73 -70
  69. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.css +4 -1
  70. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +62 -59
  71. package/dist/collection/components/common/zonos-dialog/zonos-dialog.css +4 -1
  72. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +373 -371
  73. package/dist/collection/components/common/zonos-icon/zonos-icon.css +4 -1
  74. package/dist/collection/components/common/zonos-icon/zonos-icon.js +123 -121
  75. package/dist/collection/components/common/zonos-logo/zonos-logo.css +4 -1
  76. package/dist/collection/components/common/zonos-logo/zonos-logo.js +92 -90
  77. package/dist/collection/components/common/zonos-notification/zonos-notification.css +4 -1
  78. package/dist/collection/components/common/zonos-notification/zonos-notification.js +128 -125
  79. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.css +4 -1
  80. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +168 -168
  81. package/dist/collection/components/common/zonos-spinner/zonos-spinner.css +4 -1
  82. package/dist/collection/components/common/zonos-spinner/zonos-spinner.js +71 -71
  83. package/dist/collection/components/common/zonos-text/zonos-text.css +4 -1
  84. package/dist/collection/components/common/zonos-text/zonos-text.js +193 -191
  85. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.css +4 -1
  86. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +70 -67
  87. package/dist/collection/components/component-template/zonos-component/zonos-component.css +4 -1
  88. package/dist/collection/components/component-template/zonos-component/zonos-component.js +81 -81
  89. package/dist/collection/components/hello/zonos-hello/zonos-hello.css +4 -2
  90. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +447 -446
  91. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.css +4 -1
  92. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +70 -70
  93. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.css +4 -1
  94. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +272 -272
  95. package/dist/collection/components/main/zonos-controller.css +4 -1
  96. package/dist/collection/components/main/zonos-controller.js +400 -319
  97. package/dist/collection/components/store/checkout/cart.js +162 -162
  98. package/dist/collection/components/store/checkout/stripe.js +264 -264
  99. package/dist/collection/components/store/hello/localization.js +112 -112
  100. package/dist/collection/components/store/translationStore/strings.arabic.js +147 -147
  101. package/dist/collection/components/store/translationStore/strings.base.js +147 -147
  102. package/dist/collection/components/store/translationStore/strings.chinese.js +147 -147
  103. package/dist/collection/components/store/translationStore/strings.danish.js +147 -147
  104. package/dist/collection/components/store/translationStore/strings.dutch.js +147 -147
  105. package/dist/collection/components/store/translationStore/strings.french.js +147 -147
  106. package/dist/collection/components/store/translationStore/strings.german.js +147 -147
  107. package/dist/collection/components/store/translationStore/strings.hebrew.js +147 -147
  108. package/dist/collection/components/store/translationStore/strings.indonesian.js +147 -147
  109. package/dist/collection/components/store/translationStore/strings.italian.js +147 -147
  110. package/dist/collection/components/store/translationStore/strings.japanese.js +147 -147
  111. package/dist/collection/components/store/translationStore/strings.korean.js +147 -147
  112. package/dist/collection/components/store/translationStore/strings.norwegian.js +147 -147
  113. package/dist/collection/components/store/translationStore/strings.polish.js +147 -147
  114. package/dist/collection/components/store/translationStore/strings.portuguese.js +147 -147
  115. package/dist/collection/components/store/translationStore/strings.russian.js +147 -147
  116. package/dist/collection/components/store/translationStore/strings.spanish.js +147 -147
  117. package/dist/collection/components/store/translationStore/strings.swedish.js +147 -147
  118. package/dist/collection/components/store/translationStore/strings.turkish.js +147 -147
  119. package/dist/collection/components/store/translationStore/strings.vietnamese.js +147 -147
  120. package/dist/collection/components/store/translationStore.js +65 -65
  121. package/dist/collection/components/store/zonosStore.js +98 -94
  122. package/dist/collection/components/stripe/zonos-address/zonos-address.css +4 -1
  123. package/dist/collection/components/stripe/zonos-address/zonos-address.js +142 -142
  124. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.css +4 -1
  125. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +76 -76
  126. package/dist/collection/components/stripe/zonos-payment/zonos-payment.css +4 -1
  127. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +81 -81
  128. package/dist/collection/components/utils/addDays.js +5 -5
  129. package/dist/collection/components/utils/api/calculateLandedCost.js +11 -11
  130. package/dist/collection/components/utils/api/checkItemRestrictions.js +13 -13
  131. package/dist/collection/components/utils/api/getCountries.js +11 -11
  132. package/dist/collection/components/utils/api/getCountryLandedCost.js +11 -11
  133. package/dist/collection/components/utils/api/getExchangeRate.js +17 -17
  134. package/dist/collection/components/utils/api/getLocaleMessages.js +9 -9
  135. package/dist/collection/components/utils/api/getLocalization.js +24 -19
  136. package/dist/collection/components/utils/api/getShippingZones.js +9 -9
  137. package/dist/collection/components/utils/api/getZonosSetting.js +7 -7
  138. package/dist/collection/components/utils/api/prepCalculateLandedCost.js +26 -26
  139. package/dist/collection/components/utils/checkout/initCheckout.js +16 -16
  140. package/dist/collection/components/utils/checkout/isCheckoutMobile.js +1 -1
  141. package/dist/collection/components/utils/darkenColor.js +4 -4
  142. package/dist/collection/components/utils/formatCurrency.js +8 -8
  143. package/dist/collection/components/utils/formatDate.js +2 -2
  144. package/dist/collection/components/utils/getBorderRadius.js +5 -5
  145. package/dist/collection/components/utils/getButtonTheme.js +8 -8
  146. package/dist/collection/components/utils/getDaysDifference.js +4 -4
  147. package/dist/collection/components/utils/handleFetch.js +89 -77
  148. package/dist/collection/components/utils/hello/currencyConversion/currencyConvert.js +9 -9
  149. package/dist/collection/components/utils/hello/currencyConversion/currencyConvertAndFormat.js +3 -3
  150. package/dist/collection/components/utils/hello/currencyConversion/currencyDisplay.js +10 -10
  151. package/dist/collection/components/utils/hello/currencyConversion/currencyFormat.js +29 -29
  152. package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +35 -35
  153. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyCode.js +6 -6
  154. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyElements.js +13 -13
  155. package/dist/collection/components/utils/hello/currencyConversion/getInitialElementAmount.js +12 -12
  156. package/dist/collection/components/utils/hello/currencyConversion/getLanguageCode.js +6 -6
  157. package/dist/collection/components/utils/hello/detectItemRestrictions.js +23 -23
  158. package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js +17 -17
  159. package/dist/collection/components/utils/hello/getHasMoreSpaceAbove.js +5 -5
  160. package/dist/collection/components/utils/hello/getHasMoreSpaceOnRight.js +5 -5
  161. package/dist/collection/components/utils/hello/getProductsOnPage.js +42 -42
  162. package/dist/collection/components/utils/hello/getZCountryUrlParam.js +5 -0
  163. package/dist/collection/components/utils/hello/initHello.js +15 -15
  164. package/dist/collection/components/utils/hello/setZCountryUrlParam.js +9 -0
  165. package/dist/collection/components/utils/isColorVariable.js +10 -10
  166. package/dist/collection/components/utils/isDarkColor.js +1 -1
  167. package/dist/collection/components/utils/isValidSelector.js +8 -8
  168. package/dist/collection/components/utils/jsonParse.js +10 -10
  169. package/dist/collection/components/utils/lightenColor.js +4 -4
  170. package/dist/collection/components/utils/logging/log.js +22 -22
  171. package/dist/collection/components/utils/logging/logError.js +2 -2
  172. package/dist/collection/components/utils/mergeConfig.js +3 -3
  173. package/dist/collection/components/utils/submitGtag.js +9 -9
  174. package/dist/collection/environment.js +138 -116
  175. package/dist/collection/scripts/extractZonosQaUrl.js +26 -0
  176. package/dist/collection/scripts/loadStripe.js +7 -7
  177. package/dist/collection/scripts/stripe.js +80 -80
  178. package/dist/collection/scripts/zonos.js +279 -254
  179. package/dist/collection/styles/stripe/addressRuleStyle.js +14 -14
  180. package/dist/collection/styles/stripe/defaultVariable.js +14 -14
  181. package/dist/collection/types/generated/graphql.customer.types.js +1424 -1424
  182. package/dist/collection/types/generated/graphql.frontend.types.js +376 -376
  183. package/dist/collection/types/stripe/Apperance.js +56 -56
  184. package/dist/collection/types/styles/Color.js +18 -18
  185. package/dist/collection/types/styles/Text.js +97 -97
  186. package/dist/collection/utils/format.js +1 -1
  187. package/dist/collection/utils/generateVercelDeployUrl.js +17 -17
  188. package/dist/components/cart.js +497 -497
  189. package/dist/components/formatCurrency.js +8 -8
  190. package/dist/components/getBorderRadius.js +5 -5
  191. package/dist/components/isColorVariable.js +10 -10
  192. package/dist/components/isDarkColor.js +1 -1
  193. package/dist/components/localization.js +3448 -3426
  194. package/dist/components/submitGtag.js +9 -9
  195. package/dist/components/zonos-address.d.ts +2 -2
  196. package/dist/components/zonos-address2.js +90 -90
  197. package/dist/components/zonos-badge.d.ts +2 -2
  198. package/dist/components/zonos-badge2.js +52 -43
  199. package/dist/components/zonos-banner.d.ts +2 -2
  200. package/dist/components/zonos-banner2.js +88 -76
  201. package/dist/components/zonos-button.d.ts +2 -2
  202. package/dist/components/zonos-button2.js +120 -119
  203. package/dist/components/zonos-card.d.ts +2 -2
  204. package/dist/components/zonos-card2.js +48 -39
  205. package/dist/components/zonos-cart-items.d.ts +2 -2
  206. package/dist/components/zonos-cart-items2.js +43 -43
  207. package/dist/components/zonos-cart-subtotal.d.ts +2 -2
  208. package/dist/components/zonos-cart-subtotal2.js +65 -65
  209. package/dist/components/zonos-checkout-finish.d.ts +2 -2
  210. package/dist/components/zonos-checkout-finish2.js +101 -101
  211. package/dist/components/zonos-checkout-payment.d.ts +2 -2
  212. package/dist/components/zonos-checkout-payment2.js +82 -82
  213. package/dist/components/zonos-checkout.d.ts +2 -2
  214. package/dist/components/zonos-checkout.js +498 -498
  215. package/dist/components/zonos-collapse.d.ts +2 -2
  216. package/dist/components/zonos-collapse2.js +48 -46
  217. package/dist/components/zonos-component.d.ts +2 -2
  218. package/dist/components/zonos-component.js +32 -32
  219. package/dist/components/zonos-controller.d.ts +2 -2
  220. package/dist/components/zonos-controller.js +259 -219
  221. package/dist/components/zonos-country-flag.d.ts +2 -2
  222. package/dist/components/zonos-country-flag2.js +41 -36
  223. package/dist/components/zonos-country-select.d.ts +2 -2
  224. package/dist/components/zonos-country-select2.js +82 -79
  225. package/dist/components/zonos-custom-message.d.ts +2 -2
  226. package/dist/components/zonos-custom-message2.js +44 -41
  227. package/dist/components/zonos-customer-info.d.ts +2 -2
  228. package/dist/components/zonos-customer-info2.js +82 -82
  229. package/dist/components/zonos-dialog.d.ts +2 -2
  230. package/dist/components/zonos-dialog2.js +105 -103
  231. package/dist/components/zonos-hello-dialog-footer.d.ts +2 -2
  232. package/dist/components/zonos-hello-dialog-footer2.js +46 -46
  233. package/dist/components/zonos-hello-dialog.d.ts +2 -2
  234. package/dist/components/zonos-hello-dialog2.js +182 -182
  235. package/dist/components/zonos-hello.d.ts +2 -2
  236. package/dist/components/zonos-hello.js +437 -437
  237. package/dist/components/zonos-icon.d.ts +2 -2
  238. package/dist/components/zonos-icon2.js +40 -38
  239. package/dist/components/zonos-link-authentication.d.ts +2 -2
  240. package/dist/components/zonos-link-authentication2.js +60 -60
  241. package/dist/components/zonos-logo.d.ts +2 -2
  242. package/dist/components/zonos-logo2.js +37 -35
  243. package/dist/components/zonos-notification.d.ts +2 -2
  244. package/dist/components/zonos-notification2.js +82 -79
  245. package/dist/components/zonos-payment.d.ts +2 -2
  246. package/dist/components/zonos-payment2.js +64 -64
  247. package/dist/components/zonos-review.d.ts +2 -2
  248. package/dist/components/zonos-review2.js +72 -72
  249. package/dist/components/zonos-shipping-rich-radio.d.ts +2 -2
  250. package/dist/components/zonos-shipping-rich-radio2.js +62 -62
  251. package/dist/components/zonos-shipping.d.ts +2 -2
  252. package/dist/components/zonos-shipping2.js +114 -114
  253. package/dist/components/zonos-spinner.d.ts +2 -2
  254. package/dist/components/zonos-spinner2.js +31 -31
  255. package/dist/components/zonos-text.d.ts +2 -2
  256. package/dist/components/zonos-text2.js +166 -164
  257. package/dist/components/zonos-v-stack.d.ts +2 -2
  258. package/dist/components/zonos-v-stack2.js +29 -26
  259. package/dist/components/zonosStore.js +101 -97
  260. package/dist/esm/cart-cd87f476.js +598 -0
  261. package/dist/esm/getBorderRadius-35e8acce.js +16 -0
  262. package/dist/esm/getHasMoreSpaceOnRight-70eb913a.js +8 -0
  263. package/dist/esm/{index-d1aa9293.js → index-3617e24c.js} +127 -26
  264. package/dist/esm/index.js +6 -6
  265. package/dist/esm/isColorVariable-91c33804.js +14 -0
  266. package/dist/esm/{isDarkColor-6fbb9b14.js → isDarkColor-44e9e451.js} +2 -2
  267. package/dist/esm/loader.js +3 -3
  268. package/dist/esm/localization-f573428e.js +3614 -0
  269. package/dist/esm/submitGtag-75af52be.js +24 -0
  270. package/dist/esm/zonos-address_2.entry.js +108 -108
  271. package/dist/esm/zonos-badge.entry.js +25 -22
  272. package/dist/esm/zonos-banner.entry.js +65 -53
  273. package/dist/esm/zonos-button_2.entry.js +100 -99
  274. package/dist/esm/zonos-card_2.entry.js +32 -27
  275. package/dist/esm/zonos-cart-items_10.entry.js +422 -419
  276. package/dist/esm/zonos-checkout.entry.js +356 -356
  277. package/dist/esm/zonos-component.entry.js +15 -15
  278. package/dist/esm/zonos-controller.entry.js +231 -193
  279. package/dist/esm/zonos-country-flag_4.entry.js +85 -77
  280. package/dist/esm/zonos-elements.js +4 -4
  281. package/dist/esm/zonos-hello-dialog.entry.js +101 -101
  282. package/dist/esm/zonos-hello.entry.js +349 -349
  283. package/dist/esm/zonos-icon.entry.js +22 -20
  284. package/dist/esm/zonos-notification.entry.js +60 -57
  285. package/dist/esm/zonos-payment.entry.js +45 -45
  286. package/dist/esm/zonos-shipping-rich-radio.entry.js +40 -40
  287. package/dist/esm/zonos-text.entry.js +145 -143
  288. package/dist/esm/{zonosStore-05a62104.js → zonosStore-e0b7a5cf.js} +102 -98
  289. package/dist/esm-es5/{cart-17650017.js → cart-cd87f476.js} +1 -1
  290. package/dist/esm-es5/getBorderRadius-35e8acce.js +1 -0
  291. package/dist/esm-es5/getHasMoreSpaceOnRight-70eb913a.js +1 -0
  292. package/dist/esm-es5/index-3617e24c.js +2 -0
  293. package/dist/esm-es5/index.js +1 -1
  294. package/dist/esm-es5/{isDarkColor-6fbb9b14.js → isDarkColor-44e9e451.js} +1 -1
  295. package/dist/esm-es5/loader.js +1 -1
  296. package/dist/esm-es5/localization-f573428e.js +1 -0
  297. package/dist/esm-es5/{submitGtag-a901ece5.js → submitGtag-75af52be.js} +1 -1
  298. package/dist/esm-es5/zonos-address_2.entry.js +1 -1
  299. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  300. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  301. package/dist/esm-es5/zonos-button_2.entry.js +1 -1
  302. package/dist/esm-es5/zonos-card_2.entry.js +1 -1
  303. package/dist/esm-es5/zonos-cart-items_10.entry.js +1 -1
  304. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  305. package/dist/esm-es5/zonos-component.entry.js +1 -1
  306. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  307. package/dist/esm-es5/zonos-country-flag_4.entry.js +1 -1
  308. package/dist/esm-es5/zonos-elements.js +1 -1
  309. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  310. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  311. package/dist/esm-es5/zonos-icon.entry.js +1 -1
  312. package/dist/esm-es5/zonos-notification.entry.js +1 -1
  313. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  314. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  315. package/dist/esm-es5/zonos-text.entry.js +1 -1
  316. package/dist/esm-es5/zonosStore-e0b7a5cf.js +1 -0
  317. package/dist/scripts/extractZonosQaUrl.js +30 -0
  318. package/dist/scripts/loadZonos.js +99 -48
  319. package/dist/scripts/zonos.js +99 -48
  320. package/dist/types/__tests__/build-utils/urlCheckOne.d.ts +6 -0
  321. package/dist/types/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.d.ts +2 -2
  322. package/dist/types/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.d.ts +1 -1
  323. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +28 -28
  324. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.d.ts +31 -31
  325. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +77 -77
  326. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +31 -31
  327. package/dist/types/components/checkout/zonos-checkout/zonos-review/zonos-review.d.ts +14 -14
  328. package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +29 -29
  329. package/dist/types/components/common/zonos-badge/zonos-badge.d.ts +35 -35
  330. package/dist/types/components/common/zonos-banner/zonos-banner.d.ts +21 -21
  331. package/dist/types/components/common/zonos-button/zonos-button.d.ts +92 -92
  332. package/dist/types/components/common/zonos-card/zonos-card.d.ts +29 -29
  333. package/dist/types/components/common/zonos-collapse/zonos-collapse.d.ts +14 -14
  334. package/dist/types/components/common/zonos-country-flag/zonos-country-flag.d.ts +16 -16
  335. package/dist/types/components/common/zonos-country-select/zonos-country-select.d.ts +9 -9
  336. package/dist/types/components/common/zonos-custom-message/zonos-custom-message.d.ts +9 -9
  337. package/dist/types/components/common/zonos-dialog/zonos-dialog.d.ts +75 -75
  338. package/dist/types/components/common/zonos-icon/zonos-icon.d.ts +27 -27
  339. package/dist/types/components/common/zonos-logo/zonos-logo.d.ts +13 -13
  340. package/dist/types/components/common/zonos-notification/zonos-notification.d.ts +28 -28
  341. package/dist/types/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.d.ts +35 -35
  342. package/dist/types/components/common/zonos-spinner/zonos-spinner.d.ts +11 -11
  343. package/dist/types/components/common/zonos-text/zonos-text.d.ts +30 -30
  344. package/dist/types/components/common/zonos-v-stack/zonos-v-stack.d.ts +10 -10
  345. package/dist/types/components/component-template/zonos-component/zonos-component.d.ts +14 -14
  346. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +68 -68
  347. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.d.ts +10 -10
  348. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +41 -41
  349. package/dist/types/components/main/zonos-controller.d.ts +47 -38
  350. package/dist/types/components/store/checkout/cart.d.ts +64 -64
  351. package/dist/types/components/store/checkout/stripe.d.ts +43 -43
  352. package/dist/types/components/store/hello/localization.d.ts +15 -15
  353. package/dist/types/components/store/translationStore/strings.arabic.d.ts +147 -147
  354. package/dist/types/components/store/translationStore/strings.base.d.ts +147 -147
  355. package/dist/types/components/store/translationStore/strings.chinese.d.ts +147 -147
  356. package/dist/types/components/store/translationStore/strings.danish.d.ts +147 -147
  357. package/dist/types/components/store/translationStore/strings.dutch.d.ts +147 -147
  358. package/dist/types/components/store/translationStore/strings.french.d.ts +147 -147
  359. package/dist/types/components/store/translationStore/strings.german.d.ts +147 -147
  360. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +147 -147
  361. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +147 -147
  362. package/dist/types/components/store/translationStore/strings.italian.d.ts +147 -147
  363. package/dist/types/components/store/translationStore/strings.japanese.d.ts +147 -147
  364. package/dist/types/components/store/translationStore/strings.korean.d.ts +147 -147
  365. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +147 -147
  366. package/dist/types/components/store/translationStore/strings.polish.d.ts +147 -147
  367. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +147 -147
  368. package/dist/types/components/store/translationStore/strings.russian.d.ts +147 -147
  369. package/dist/types/components/store/translationStore/strings.spanish.d.ts +147 -147
  370. package/dist/types/components/store/translationStore/strings.swedish.d.ts +147 -147
  371. package/dist/types/components/store/translationStore/strings.turkish.d.ts +147 -147
  372. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +147 -147
  373. package/dist/types/components/store/translationStore.d.ts +2 -2
  374. package/dist/types/components/store/zonosStore.d.ts +23 -22
  375. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +17 -17
  376. package/dist/types/components/stripe/zonos-link-authentication/zonos-link-authentication.d.ts +9 -9
  377. package/dist/types/components/stripe/zonos-payment/zonos-payment.d.ts +10 -10
  378. package/dist/types/components/utils/addDays.d.ts +6 -6
  379. package/dist/types/components/utils/api/checkItemRestrictions.d.ts +14 -14
  380. package/dist/types/components/utils/api/getCountryLandedCost.d.ts +6 -6
  381. package/dist/types/components/utils/api/getExchangeRate.d.ts +17 -17
  382. package/dist/types/components/utils/api/getLocaleMessages.d.ts +15 -15
  383. package/dist/types/components/utils/api/getLocalization.d.ts +2 -2
  384. package/dist/types/components/utils/api/getZonosSetting.d.ts +4 -4
  385. package/dist/types/components/utils/changeDeepProperty.d.ts +3 -3
  386. package/dist/types/components/utils/changeDeepPropertyAtIndex.d.ts +4 -4
  387. package/dist/types/components/utils/darkenColor.d.ts +2 -2
  388. package/dist/types/components/utils/formatCurrency.d.ts +3 -3
  389. package/dist/types/components/utils/formatDate.d.ts +6 -6
  390. package/dist/types/components/utils/handleFetch.d.ts +7 -7
  391. package/dist/types/components/utils/hello/detectItemRestrictions.d.ts +10 -10
  392. package/dist/types/components/utils/hello/getZCountryUrlParam.d.ts +2 -0
  393. package/dist/types/components/utils/hello/setZCountryUrlParam.d.ts +2 -0
  394. package/dist/types/components/utils/lightenColor.d.ts +2 -2
  395. package/dist/types/components/utils/mergeConfig.d.ts +1 -1
  396. package/dist/types/components/utils/submitGtag.d.ts +3 -3
  397. package/dist/types/components.d.ts +96 -0
  398. package/dist/types/environment.d.ts +39 -34
  399. package/dist/types/scripts/extractZonosQaUrl.d.ts +11 -0
  400. package/dist/types/scripts/stripe.d.ts +2 -2
  401. package/dist/types/scripts/zonos.d.ts +50 -40
  402. package/dist/types/stencil-public-runtime.d.ts +29 -0
  403. package/dist/types/styles/stripe/addressRuleStyle.d.ts +1 -1
  404. package/dist/types/styles/stripe/defaultVariable.d.ts +2 -2
  405. package/dist/types/types/ICountryJson.d.ts +20 -20
  406. package/dist/types/types/JsonError.d.ts +3 -3
  407. package/dist/types/types/Translation.d.ts +1 -1
  408. package/dist/types/types/checkout/CheckoutConfig.d.ts +52 -52
  409. package/dist/types/types/checkout/api/CalculateLandedCostRequest.d.ts +16 -16
  410. package/dist/types/types/generated/graphql.customer.types.d.ts +1968 -1968
  411. package/dist/types/types/generated/graphql.frontend.types.d.ts +449 -449
  412. package/dist/types/types/hello/HelloConfig.d.ts +20 -20
  413. package/dist/types/types/hello/Product.d.ts +3 -3
  414. package/dist/types/types/hello/RestrictedItem.d.ts +1 -1
  415. package/dist/types/types/online-store/OnlineStoreConfig.d.ts +1 -1
  416. package/dist/types/types/stripe/Apperance.d.ts +3 -3
  417. package/dist/types/types/styles/Text.d.ts +90 -90
  418. package/dist/types/types/utils/deep/IDeepKeyof.d.ts +1 -1
  419. package/dist/types/types/utils/deep/IDeepKeyofAtIndex.d.ts +2 -2
  420. package/dist/types/utils/generateVercelDeployUrl.d.ts +2 -2
  421. package/dist/zonos-elements/index.esm.js +1 -1
  422. package/dist/zonos-elements/p-0175125e.system.js +1 -0
  423. package/dist/zonos-elements/p-03923a86.system.entry.js +1 -0
  424. package/dist/zonos-elements/p-08298e74.entry.js +1 -0
  425. package/dist/zonos-elements/p-1bddc7ca.system.entry.js +1 -0
  426. package/dist/zonos-elements/{p-770c959e.js → p-1f8b684a.js} +1 -1
  427. package/dist/zonos-elements/p-2228b050.entry.js +1 -0
  428. package/dist/zonos-elements/p-23e7c655.system.js +1 -1
  429. package/dist/zonos-elements/p-2466df77.entry.js +1 -0
  430. package/dist/zonos-elements/p-29b993c2.system.entry.js +1 -0
  431. package/dist/zonos-elements/p-2a32dc0a.system.entry.js +1 -0
  432. package/dist/zonos-elements/p-2a666084.entry.js +1 -0
  433. package/dist/zonos-elements/p-2f1e9192.system.entry.js +1 -0
  434. package/dist/zonos-elements/{p-f7875c40.js → p-39a5e8e0.js} +1 -1
  435. package/dist/zonos-elements/p-44ddebe4.system.entry.js +1 -0
  436. package/dist/zonos-elements/p-4e8b5d86.system.entry.js +1 -0
  437. package/dist/zonos-elements/p-534dcbd4.system.js +1 -0
  438. package/dist/zonos-elements/p-5a41b5fd.entry.js +1 -0
  439. package/dist/zonos-elements/p-5d0eceaa.entry.js +1 -0
  440. package/dist/zonos-elements/{p-a1fa50fb.entry.js → p-62ccb686.entry.js} +1 -1
  441. package/dist/zonos-elements/p-643eeb24.system.js +1 -0
  442. package/dist/zonos-elements/p-660a588b.entry.js +1 -0
  443. package/dist/zonos-elements/p-6affe5cc.entry.js +1 -0
  444. package/dist/zonos-elements/p-72ea628d.system.js +1 -0
  445. package/dist/zonos-elements/{p-85ab35c9.system.js → p-754bdfdb.system.js} +1 -1
  446. package/dist/zonos-elements/{p-164fae93.system.js → p-779621e4.system.js} +1 -1
  447. package/dist/zonos-elements/{p-08695f4e.js → p-77a7929b.js} +1 -1
  448. package/dist/zonos-elements/p-7a15d841.entry.js +1 -0
  449. package/dist/zonos-elements/p-7a81ccb5.system.entry.js +1 -0
  450. package/dist/zonos-elements/p-80ba24a8.system.js +1 -0
  451. package/dist/zonos-elements/p-83d100b8.entry.js +1 -0
  452. package/dist/zonos-elements/{p-bf070bf6.js → p-8bbad467.js} +1 -1
  453. package/dist/zonos-elements/p-8ebc3ca5.system.entry.js +1 -0
  454. package/dist/zonos-elements/p-9c78d0ca.entry.js +1 -0
  455. package/dist/zonos-elements/p-9ef86de7.entry.js +1 -0
  456. package/dist/zonos-elements/p-ab46cee9.system.entry.js +1 -0
  457. package/dist/zonos-elements/p-b0268bc5.entry.js +1 -0
  458. package/dist/zonos-elements/p-b4db1620.entry.js +1 -0
  459. package/dist/zonos-elements/p-bc7bf53e.system.js +1 -0
  460. package/dist/zonos-elements/p-bec05c21.system.js +2 -0
  461. package/dist/zonos-elements/p-bec21999.system.js +1 -0
  462. package/dist/zonos-elements/{p-8378d94e.js → p-c299049e.js} +1 -1
  463. package/dist/zonos-elements/p-cd4f8e13.system.entry.js +1 -0
  464. package/dist/zonos-elements/p-ceb2cd7b.system.entry.js +1 -0
  465. package/dist/zonos-elements/p-cf4545ed.system.entry.js +1 -0
  466. package/dist/zonos-elements/p-cf8aaa17.js +2 -0
  467. package/dist/zonos-elements/p-dc9b318c.system.entry.js +1 -0
  468. package/dist/zonos-elements/p-dcf64928.system.entry.js +1 -0
  469. package/dist/zonos-elements/p-e1de2a1f.js +1 -0
  470. package/dist/zonos-elements/{p-3f3fbcea.entry.js → p-e694312d.entry.js} +1 -1
  471. package/dist/zonos-elements/p-ec26fe57.entry.js +1 -0
  472. package/dist/zonos-elements/p-edbea8df.system.js +1 -0
  473. package/dist/zonos-elements/p-f8198015.system.entry.js +1 -0
  474. package/dist/zonos-elements/p-fcd4fc66.system.entry.js +1 -0
  475. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  476. package/dist/zonos-elements/zonos-elements.js +15 -15
  477. package/package.json +55 -54
  478. package/dist/cjs/cart-55512e32.js +0 -616
  479. package/dist/cjs/getBorderRadius-fdd605c6.js +0 -18
  480. package/dist/cjs/getHasMoreSpaceOnRight-2855491b.js +0 -10
  481. package/dist/cjs/isColorVariable-c1ed7303.js +0 -16
  482. package/dist/cjs/localization-d7fe7290.js +0 -3606
  483. package/dist/cjs/submitGtag-d65003f9.js +0 -27
  484. package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js +0 -9
  485. package/dist/esm/cart-17650017.js +0 -598
  486. package/dist/esm/getBorderRadius-45764ad7.js +0 -16
  487. package/dist/esm/getHasMoreSpaceOnRight-feba1ae2.js +0 -8
  488. package/dist/esm/isColorVariable-4cda28c9.js +0 -14
  489. package/dist/esm/localization-f3828793.js +0 -3592
  490. package/dist/esm/submitGtag-a901ece5.js +0 -24
  491. package/dist/esm-es5/getBorderRadius-45764ad7.js +0 -1
  492. package/dist/esm-es5/getHasMoreSpaceOnRight-feba1ae2.js +0 -1
  493. package/dist/esm-es5/index-d1aa9293.js +0 -2
  494. package/dist/esm-es5/zonosStore-05a62104.js +0 -1
  495. package/dist/types/components/utils/hello/setZonosCountryUrlParam.d.ts +0 -2
  496. package/dist/zonos-elements/p-0190f7c4.entry.js +0 -1
  497. package/dist/zonos-elements/p-0e0b46a5.js +0 -1
  498. package/dist/zonos-elements/p-0ed3bb9f.system.entry.js +0 -1
  499. package/dist/zonos-elements/p-15b71f0b.system.entry.js +0 -1
  500. package/dist/zonos-elements/p-224125da.system.entry.js +0 -1
  501. package/dist/zonos-elements/p-23204b78.system.entry.js +0 -1
  502. package/dist/zonos-elements/p-28681677.entry.js +0 -1
  503. package/dist/zonos-elements/p-2b6325ab.entry.js +0 -1
  504. package/dist/zonos-elements/p-36425562.system.entry.js +0 -1
  505. package/dist/zonos-elements/p-3a56c240.entry.js +0 -1
  506. package/dist/zonos-elements/p-43a25dab.entry.js +0 -1
  507. package/dist/zonos-elements/p-4a5096d2.system.js +0 -1
  508. package/dist/zonos-elements/p-64fdb7b6.system.js +0 -1
  509. package/dist/zonos-elements/p-68d06767.system.js +0 -2
  510. package/dist/zonos-elements/p-6d82986c.system.entry.js +0 -1
  511. package/dist/zonos-elements/p-6dcd752e.system.js +0 -1
  512. package/dist/zonos-elements/p-6e7cd3f7.entry.js +0 -1
  513. package/dist/zonos-elements/p-7bacecf7.entry.js +0 -1
  514. package/dist/zonos-elements/p-824395fd.system.entry.js +0 -1
  515. package/dist/zonos-elements/p-84b00605.system.entry.js +0 -1
  516. package/dist/zonos-elements/p-8a75b765.system.entry.js +0 -1
  517. package/dist/zonos-elements/p-8aabbb9b.system.js +0 -1
  518. package/dist/zonos-elements/p-8b415737.system.entry.js +0 -1
  519. package/dist/zonos-elements/p-8c867835.system.js +0 -1
  520. package/dist/zonos-elements/p-9202375f.entry.js +0 -1
  521. package/dist/zonos-elements/p-9688bb12.entry.js +0 -1
  522. package/dist/zonos-elements/p-98a6e093.system.entry.js +0 -1
  523. package/dist/zonos-elements/p-aca66238.system.entry.js +0 -1
  524. package/dist/zonos-elements/p-b618cf03.entry.js +0 -1
  525. package/dist/zonos-elements/p-b75ffe64.system.entry.js +0 -1
  526. package/dist/zonos-elements/p-bc2c42f5.entry.js +0 -1
  527. package/dist/zonos-elements/p-c8ad044e.system.entry.js +0 -1
  528. package/dist/zonos-elements/p-cc070c1c.entry.js +0 -1
  529. package/dist/zonos-elements/p-cc1c785c.system.entry.js +0 -1
  530. package/dist/zonos-elements/p-cd71e41e.entry.js +0 -1
  531. package/dist/zonos-elements/p-cf97cc68.system.entry.js +0 -1
  532. package/dist/zonos-elements/p-d6b8563b.system.entry.js +0 -1
  533. package/dist/zonos-elements/p-dc8d7000.js +0 -2
  534. package/dist/zonos-elements/p-e5908de2.entry.js +0 -1
  535. package/dist/zonos-elements/p-f6add79c.system.js +0 -1
  536. package/dist/zonos-elements/p-f8491335.system.js +0 -1
  537. package/dist/zonos-elements/p-f868ed42.entry.js +0 -1
  538. package/dist/zonos-elements/p-f95ac9ec.system.js +0 -1
  539. /package/dist/esm-es5/{isColorVariable-4cda28c9.js → isColorVariable-91c33804.js} +0 -0
  540. /package/dist/zonos-elements/{p-0636859b.js → p-4c414a92.js} +0 -0
  541. /package/dist/zonos-elements/{p-b6c499d4.js → p-5883217a.js} +0 -0
@@ -0,0 +1,492 @@
1
+ 'use strict';
2
+
3
+ const log = (message, type, ...additionalInfo) => {
4
+ // if type is error and debug is false, do not log
5
+ if (!window.Zonos.debug) {
6
+ return;
7
+ }
8
+ switch (type) {
9
+ case 'warn':
10
+ // eslint-disable-next-line no-console
11
+ console.warn(message, ...additionalInfo);
12
+ break;
13
+ case 'info':
14
+ // eslint-disable-next-line no-console
15
+ console.info(message, ...additionalInfo);
16
+ break;
17
+ default:
18
+ // eslint-disable-next-line no-console
19
+ console.groupCollapsed(message, ...additionalInfo);
20
+ // eslint-disable-next-line no-console
21
+ console.trace();
22
+ // eslint-disable-next-line no-console
23
+ console.groupEnd();
24
+ break;
25
+ }
26
+ };
27
+
28
+ const logError = (message, ...rest) => {
29
+ // eslint-disable-next-line no-console
30
+ console.error(message, ...rest);
31
+ };
32
+
33
+ /**
34
+ * Extracts the zonosQaUrl from the url
35
+ *
36
+ * @param url - url to extract zonosQaUrl from
37
+ *
38
+ * **NOTE**: value of zonosQaUrl param should be without protocol, allowed characters are: a-z, A-Z, 0-9, -, _
39
+ * @example
40
+ * valid: https://www.zonos.com/?zonosQaUrl=some-feature-v988
41
+ * invalid: https://www.zonos.com/?zonosQaUrl=https://zonos-something
42
+ */
43
+ const extractZonosQaUrl = (url) => {
44
+ if (!url) {
45
+ return null;
46
+ }
47
+ // get params from url
48
+ const param = new URL(url).searchParams;
49
+ const zonosQaUrl = param.get('zonosQaUrl');
50
+ if (!zonosQaUrl) {
51
+ return null;
52
+ }
53
+ const hasInvalidCharacters = /[^a-zA-Z0-9-_]+/.test(zonosQaUrl);
54
+ if (!!hasInvalidCharacters) {
55
+ return null;
56
+ }
57
+ return zonosQaUrl;
58
+ };
59
+
60
+ /* eslint-disable no-console */
61
+ /** Loading stripe script extracted from stripe.js repository */
62
+ const V3_URL = 'https://js.stripe.com/v3';
63
+ const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
64
+ 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';
65
+ const zonosStripeFindScript = () => {
66
+ const scripts = document.querySelectorAll(`script[src^="${V3_URL}"]`);
67
+ for (let i = 0; i < scripts.length; i++) {
68
+ const script = scripts[i];
69
+ if (!script) {
70
+ continue;
71
+ }
72
+ if (!V3_URL_REGEX.test(script.src)) {
73
+ continue;
74
+ }
75
+ return script;
76
+ }
77
+ return null;
78
+ };
79
+ let stripePromise$1 = null;
80
+ const injectScript = (params) => {
81
+ const queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';
82
+ const script = document.createElement('script');
83
+ script.src = `${V3_URL}${queryString}`;
84
+ const headBody = document.head || document.body;
85
+ if (!headBody) {
86
+ logError('Expected document.body not to be null. Stripe.js requires a <body> element.');
87
+ return null;
88
+ }
89
+ headBody.appendChild(script);
90
+ return script;
91
+ };
92
+ const zonosStripeLoadScript = (params) => {
93
+ // Ensure that we only attempt to load Stripe.js at most once
94
+ if (stripePromise$1 !== null) {
95
+ return stripePromise$1;
96
+ }
97
+ stripePromise$1 = new Promise((resolve, reject) => {
98
+ if (typeof window === 'undefined' || typeof document === 'undefined') {
99
+ // Resolve to null when imported server side. This makes the module
100
+ // safe to import in an isomorphic code base.
101
+ resolve(null);
102
+ return;
103
+ }
104
+ if (window.Stripe && params) {
105
+ console.warn(EXISTING_SCRIPT_MESSAGE);
106
+ }
107
+ if (window.Stripe) {
108
+ resolve(window.Stripe);
109
+ return;
110
+ }
111
+ try {
112
+ let script = zonosStripeFindScript();
113
+ if (script && params) {
114
+ console.warn(EXISTING_SCRIPT_MESSAGE);
115
+ }
116
+ else if (!script) {
117
+ script = injectScript(params);
118
+ }
119
+ script === null || script === void 0 ? void 0 : script.addEventListener('load', () => {
120
+ if (window.Stripe) {
121
+ resolve(window.Stripe);
122
+ }
123
+ else {
124
+ reject(new Error('Stripe.js not available'));
125
+ }
126
+ });
127
+ script === null || script === void 0 ? void 0 : script.addEventListener('error', () => {
128
+ reject(new Error('Failed to load Stripe.js'));
129
+ });
130
+ }
131
+ catch (error) {
132
+ reject(error);
133
+ return;
134
+ }
135
+ });
136
+ return stripePromise$1;
137
+ };
138
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
+ const registerWrapper = (stripe, startTime) => {
140
+ if (!stripe || !stripe._registerWrapper) {
141
+ return;
142
+ }
143
+ stripe._registerWrapper({ name: 'stripe-js', startTime });
144
+ };
145
+ const initStripe = (maybeStripe, args, startTime) => {
146
+ if (maybeStripe === null) {
147
+ return null;
148
+ }
149
+ const stripe = maybeStripe.apply(undefined, args);
150
+ registerWrapper(stripe, startTime);
151
+ return stripe;
152
+ };
153
+
154
+ // Execute our own script injection after a tick to give users time to do their
155
+ // own script injection.
156
+ const stripePromise = Promise.resolve().then(() => zonosStripeLoadScript(null));
157
+ let loadCalled = false;
158
+ stripePromise.catch((err) => {
159
+ if (!loadCalled) {
160
+ // eslint-disable-next-line no-console
161
+ console.warn(err);
162
+ }
163
+ });
164
+ const zonosLoadStripe = async (...args) => {
165
+ loadCalled = true;
166
+ const startTime = Date.now();
167
+ return stripePromise.then(maybeStripe => initStripe(maybeStripe, args, startTime));
168
+ };
169
+
170
+ var _a;
171
+ const zonosQaUrl = (() => {
172
+ const qaUrl = extractZonosQaUrl(window.location.href);
173
+ if (!qaUrl) {
174
+ return null;
175
+ }
176
+ const suffixDomain = 'preview.js.zonos.com';
177
+ const fullUrl = `https://${qaUrl}.${suffixDomain}`;
178
+ // eslint-disable-next-line no-console
179
+ console.warn(`[ZONOS-WARNING] using '${fullUrl}' for loading script`);
180
+ // request to the url and check if the request has an error
181
+ void fetch(fullUrl)
182
+ .then(() => {
183
+ // cleanup checkout session to avoid using the prod session in preview domain
184
+ window.sessionStorage.removeItem('zonos--checkout-session-id');
185
+ window.sessionStorage.removeItem('zonos--client-secret');
186
+ })
187
+ .catch(() => {
188
+ // eslint-disable-next-line no-console
189
+ alert(`[ZONOS-WARNING] '${fullUrl}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);
190
+ // remove the zonosQaUrl param from url
191
+ const urlSearchParams = new URLSearchParams(window.location.search);
192
+ urlSearchParams.delete('zonosQaUrl');
193
+ const { pathname } = window.location;
194
+ const newUrl = `${pathname}?${urlSearchParams.toString()}`;
195
+ window.history.replaceState({}, '', newUrl);
196
+ window.location.reload();
197
+ return null;
198
+ });
199
+ return fullUrl;
200
+ })();
201
+ const ZONOS_URL = zonosQaUrl || "https://qa-git-js-zonos.vercel.app";
202
+ const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.3-alpha.0";
203
+ const INTER_FONT_URL = 'https://rsms.me';
204
+ const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
205
+ const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
206
+ class Zonos {
207
+ }
208
+ _a = Zonos;
209
+ Zonos.doneInit = false;
210
+ // if query 'zonosDebug=1' param from url, debug mode is on
211
+ Zonos.debug = !!window.location.search.match(/\?.*(&*)zonosDebug=1/);
212
+ Zonos.isBigCommerce = false;
213
+ Zonos.internationalHideSelector = '';
214
+ Zonos.zonosQaUrl = zonosQaUrl;
215
+ Zonos.version = `v${"1.2.3-alpha.0"}`;
216
+ Zonos.modeAlerted = false;
217
+ Zonos.getCurrentTimestamp = () => new Date().getTime();
218
+ Zonos.zonosController = null;
219
+ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSettings, zonosApiKey, }) => {
220
+ if (Zonos.doneInit) {
221
+ // do nothing if zonos is already initializeds
222
+ return;
223
+ }
224
+ log(`====== ZONOS DEBUG MODE: on (${_a.version}) ======`);
225
+ if (!zonosApiKey) {
226
+ logError('Missing Zonos API key');
227
+ return;
228
+ }
229
+ _a.zonosApiKey = zonosApiKey;
230
+ log('init zonos');
231
+ // inject zonos cdn
232
+ Zonos.injectZonosCdn();
233
+ // inject css for zonos elements
234
+ Zonos.injectZonosCss();
235
+ // inject fonts for zonos elements
236
+ Zonos.injectFonts();
237
+ // init zonos controller
238
+ Zonos.injectController({
239
+ config: {
240
+ appearance,
241
+ checkoutSettings,
242
+ currencyConverter,
243
+ helloSettings,
244
+ },
245
+ zonosApiKey,
246
+ });
247
+ Zonos.doneInit = true;
248
+ };
249
+ Zonos.displayCurrency = () => {
250
+ const zonosHello = document.querySelector('zonos-hello');
251
+ if (zonosHello) {
252
+ void zonosHello.displayCurrency();
253
+ }
254
+ };
255
+ Zonos.showNotification = (notification) => {
256
+ var _b;
257
+ void ((_b = _a.zonosController) === null || _b === void 0 ? void 0 : _b.showNotification(notification));
258
+ };
259
+ Zonos.disablePlaceOrderButtons = ({ autoEnable = true, disable, placeOrderButtonSelector, }) => {
260
+ // if placeOrderAnchor is passed in the config for checkoutSettings, disable the place order button until zonos is initialized
261
+ if (placeOrderButtonSelector) {
262
+ const placeOrderButton = document.querySelectorAll(placeOrderButtonSelector);
263
+ const disableEvent = (e) => {
264
+ const target = e.target;
265
+ // prevent default and propagation when the item has disabled attribute
266
+ if (target.getAttribute('disabled')) {
267
+ e.preventDefault();
268
+ e.stopPropagation();
269
+ }
270
+ };
271
+ placeOrderButton.forEach(button => {
272
+ if (disable) {
273
+ button.setAttribute('disabled', 'true');
274
+ // prevent the selector to perform default action when it's disabled
275
+ button.addEventListener('click', disableEvent);
276
+ }
277
+ else {
278
+ button.removeAttribute('disabled');
279
+ // clean up the event listener
280
+ button.removeEventListener('click', disableEvent);
281
+ }
282
+ });
283
+ // only auto enable if autoEnable is true and we are setting button disable
284
+ if (autoEnable && disable) {
285
+ setTimeout(() => {
286
+ // 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)
287
+ placeOrderButton.forEach(button => {
288
+ button.removeAttribute('disabled');
289
+ // clean up the event listener if exists
290
+ button.removeEventListener('click', disableEvent);
291
+ });
292
+ }, 5000);
293
+ }
294
+ }
295
+ };
296
+ Zonos.injectController = ({ config, zonosApiKey, }) => {
297
+ var _b;
298
+ if (document.querySelector('zonos-controller')) {
299
+ return;
300
+ }
301
+ // if placeOrderAnchor is passed in the config for checkoutSettings, disable the place order button until zonos is initialized
302
+ if ((_b = config.checkoutSettings) === null || _b === void 0 ? void 0 : _b.placeOrderButtonSelector) {
303
+ const placeOrderButtonSelector = config.checkoutSettings.placeOrderButtonSelector;
304
+ _a.disablePlaceOrderButtons({
305
+ disable: true,
306
+ placeOrderButtonSelector,
307
+ });
308
+ }
309
+ const zonosController = document.createElement('zonos-controller');
310
+ zonosController.config = config;
311
+ zonosController.zonosApiKey = zonosApiKey;
312
+ zonosController.addEventListener('stripeInitEvent', async (event) => {
313
+ const { detail } = event;
314
+ log('loading Stripe');
315
+ const stripe = await zonosLoadStripe(detail.publishableKey);
316
+ if (!stripe) {
317
+ logError('API seems to be invalid or missing. Failed to load Stripe');
318
+ return;
319
+ }
320
+ window.Zonos.stripe = stripe;
321
+ void zonosController.initCheckoutElement(stripe);
322
+ });
323
+ document.body.appendChild(zonosController);
324
+ // set zonos controller to be global
325
+ _a.zonosController = zonosController;
326
+ log('Zonos controller injected!');
327
+ };
328
+ Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) => {
329
+ const fullScriptUrl = `${scriptDomain}/${theRestUrl}`;
330
+ const findScript = () => {
331
+ const script = document.querySelector(`script[src="${fullScriptUrl}"]`);
332
+ return !!script;
333
+ };
334
+ if (findScript()) {
335
+ // eslint-disable-next-line no-console
336
+ log(`Zonos script "${fullScriptUrl}" already exists in the document`, 'warn');
337
+ return;
338
+ }
339
+ const headOrBody = document.head || document.body;
340
+ // init zonos elements when the zonosKey is valid
341
+ // inject esmodule cdn for zonos elements
342
+ const script = document.createElement('script');
343
+ if (!!isModule) {
344
+ script.type = 'module';
345
+ }
346
+ else {
347
+ script.noModule = true;
348
+ }
349
+ script.src = fullScriptUrl;
350
+ script.onerror = () => {
351
+ // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
352
+ const isVersioned = /\/\/v\d+\./g.test(scriptDomain);
353
+ if (!isVersioned) {
354
+ log('No need to fallback since this is not a versioned domain', 'warn');
355
+ return;
356
+ }
357
+ if (fallBackDomain) {
358
+ _a.injectScript({
359
+ isModule,
360
+ scriptDomain: fallBackDomain,
361
+ theRestUrl,
362
+ });
363
+ }
364
+ logError(`Failed to load ${script.src}`);
365
+ };
366
+ headOrBody.appendChild(script);
367
+ };
368
+ Zonos.injectZonosCdn = () => {
369
+ // init zonos elements when the zonosKey is valid
370
+ // inject esmodule cdn for zonos elements
371
+ _a.injectScript({
372
+ fallBackDomain: UNPKG_ZONOS_URL,
373
+ isModule: true,
374
+ scriptDomain: ZONOS_URL,
375
+ theRestUrl: 'dist/zonos-elements/zonos-elements.esm.js',
376
+ });
377
+ // inject non module cdn for zonos elements
378
+ _a.injectScript({
379
+ fallBackDomain: UNPKG_ZONOS_URL,
380
+ isModule: false,
381
+ scriptDomain: ZONOS_URL,
382
+ theRestUrl: 'dist/zonos-elements/zonos-elements.js',
383
+ });
384
+ // eslint-disable-next-line no-console
385
+ log('Zonos cdn script injected!');
386
+ };
387
+ Zonos.injectStylesheet = ({ fallBackDomain, stylesheetDomain, theRestUrl, }) => {
388
+ const headOrBody = document.head || document.body;
389
+ // inject preconnect css for zonos elements
390
+ const zonosCssPreconnect = document.createElement('link');
391
+ zonosCssPreconnect.rel = 'preconnect';
392
+ zonosCssPreconnect.href = `${ZONOS_URL}/`;
393
+ headOrBody.appendChild(zonosCssPreconnect);
394
+ // inject css for zonos elements
395
+ const zonosCss = document.createElement('link');
396
+ zonosCss.rel = 'stylesheet';
397
+ zonosCss.href = `${stylesheetDomain}/${theRestUrl}`;
398
+ zonosCss.onerror = () => {
399
+ // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
400
+ const isVersioned = /\/\/v\d+\./g.test(stylesheetDomain);
401
+ if (!isVersioned) {
402
+ log('No need to fallback since this is not a versioned domain', 'warn');
403
+ return;
404
+ }
405
+ if (fallBackDomain && isVersioned) {
406
+ _a.injectStylesheet({
407
+ stylesheetDomain: fallBackDomain,
408
+ theRestUrl,
409
+ });
410
+ }
411
+ logError(`Failed to load ${zonosCss.href}`);
412
+ };
413
+ headOrBody.appendChild(zonosCss);
414
+ };
415
+ Zonos.injectZonosCss = () => {
416
+ const findStyleLink = () => {
417
+ return !!document.querySelector(`link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]`);
418
+ };
419
+ if (findStyleLink()) {
420
+ log('Zonos style links already injected', 'warn');
421
+ return;
422
+ }
423
+ // inject css for zonos elements
424
+ _a.injectStylesheet({
425
+ fallBackDomain: UNPKG_ZONOS_URL,
426
+ stylesheetDomain: ZONOS_URL,
427
+ theRestUrl: 'dist/zonos-elements/zonos-elements.css',
428
+ });
429
+ log('Zonos style css injected!');
430
+ };
431
+ Zonos.injectFonts = () => {
432
+ const findFont = () => {
433
+ const links = document.querySelectorAll(`link[rel="stylesheet"][href^="${INTER_FONT_URL}"]`);
434
+ for (let i = 0; i < links.length; i++) {
435
+ const link = links[i];
436
+ if (!link) {
437
+ continue;
438
+ }
439
+ if (INTER_FONT_REGEX.test(link.href)) {
440
+ continue;
441
+ }
442
+ return link;
443
+ }
444
+ return null;
445
+ };
446
+ if (findFont()) {
447
+ log('Inter font already injected', 'warn');
448
+ return;
449
+ }
450
+ const headOrBody = document.head || document.body;
451
+ // inject font css for zonos elements
452
+ const fontPreconnect = document.createElement('link');
453
+ fontPreconnect.rel = 'preconnect';
454
+ fontPreconnect.href = INTER_FONT_URL;
455
+ headOrBody.appendChild(fontPreconnect);
456
+ // inject font css for zonos elements
457
+ const font = document.createElement('link');
458
+ font.rel = 'stylesheet';
459
+ font.href = `${INTER_FONT_URL}/inter/inter.css`;
460
+ headOrBody.appendChild(font);
461
+ log('Zonos font injected!');
462
+ };
463
+ // apply font for zonos elements and inject font if needed
464
+ Zonos.setupGoogleFont = (fontFamily) => {
465
+ var _b;
466
+ void ((_b = _a.zonosController) === null || _b === void 0 ? void 0 : _b.setupGoogleFont(fontFamily));
467
+ };
468
+ // 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
469
+ Zonos.injectSupportGoogleFont = (fontUrl) => {
470
+ var _b;
471
+ log(`[FONT] injecting ${fontUrl}`);
472
+ const fontFamily = (_b = fontUrl.match(/family=(.*?):/)) === null || _b === void 0 ? void 0 : _b[1];
473
+ const headOrBody = document.head || document.body;
474
+ // inject font css for zonos elements
475
+ if (!document.querySelector(`link[rel="preconnect"][href^="${GOOGLE_FONT_URL}"]`)) {
476
+ const customFontPreconnect = document.createElement('link');
477
+ customFontPreconnect.rel = 'preconnect';
478
+ customFontPreconnect.href = GOOGLE_FONT_URL;
479
+ headOrBody.appendChild(customFontPreconnect);
480
+ }
481
+ if (document.querySelector(`link[rel="stylesheet"][href="${fontUrl}"]`)) {
482
+ log(`[FONT] ${fontFamily} font already injected`, 'warn');
483
+ return;
484
+ }
485
+ const customFont = document.createElement('link');
486
+ customFont.rel = 'stylesheet';
487
+ customFont.href = fontUrl;
488
+ headOrBody.appendChild(customFont);
489
+ log(`[FONT] ${fontFamily} font injected!`);
490
+ };
491
+
492
+ window.Zonos = Zonos;