@zonos/elements 1.2.2 → 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 (546) 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 -352
  18. package/dist/cjs/zonos-component.cjs.entry.js +15 -15
  19. package/dist/cjs/zonos-controller.cjs.entry.js +235 -151
  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 -555
  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 +5 -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 -273
  97. package/dist/collection/components/store/checkout/cart.js +162 -162
  98. package/dist/collection/components/store/checkout/stripe.js +264 -254
  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 +17 -17
  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 +142 -111
  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 +287 -181
  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 +20 -19
  188. package/dist/components/cart.js +497 -487
  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 -494
  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 +263 -177
  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 -352
  277. package/dist/esm/zonos-component.entry.js +15 -15
  278. package/dist/esm/zonos-controller.entry.js +235 -151
  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-cd87f476.js +1 -0
  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 +152 -20
  319. package/dist/scripts/zonos.js +152 -20
  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 -37
  350. package/dist/types/components/store/checkout/cart.d.ts +64 -64
  351. package/dist/types/components/store/checkout/stripe.d.ts +44 -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 +4 -4
  386. package/dist/types/components/utils/changeDeepPropertyAtIndex.d.ts +5 -5
  387. package/dist/types/components/utils/checkout/initCheckout.d.ts +1 -1
  388. package/dist/types/components/utils/darkenColor.d.ts +2 -2
  389. package/dist/types/components/utils/formatCurrency.d.ts +3 -3
  390. package/dist/types/components/utils/formatDate.d.ts +6 -6
  391. package/dist/types/components/utils/handleFetch.d.ts +7 -7
  392. package/dist/types/components/utils/hello/detectItemRestrictions.d.ts +10 -10
  393. package/dist/types/components/utils/hello/getZCountryUrlParam.d.ts +2 -0
  394. package/dist/types/components/utils/hello/setZCountryUrlParam.d.ts +2 -0
  395. package/dist/types/components/utils/lightenColor.d.ts +2 -2
  396. package/dist/types/components/utils/mergeConfig.d.ts +1 -1
  397. package/dist/types/components/utils/submitGtag.d.ts +3 -3
  398. package/dist/types/components.d.ts +96 -0
  399. package/dist/types/environment.d.ts +42 -32
  400. package/dist/types/scripts/extractZonosQaUrl.d.ts +11 -0
  401. package/dist/types/scripts/stripe.d.ts +2 -2
  402. package/dist/types/scripts/zonos.d.ts +50 -37
  403. package/dist/types/stencil-public-runtime.d.ts +29 -0
  404. package/dist/types/styles/stripe/addressRuleStyle.d.ts +1 -1
  405. package/dist/types/styles/stripe/defaultVariable.d.ts +2 -2
  406. package/dist/types/types/ICountryJson.d.ts +20 -20
  407. package/dist/types/types/JsonError.d.ts +3 -3
  408. package/dist/types/types/Translation.d.ts +1 -1
  409. package/dist/types/types/checkout/CheckoutConfig.d.ts +52 -52
  410. package/dist/types/types/checkout/api/CalculateLandedCostRequest.d.ts +16 -16
  411. package/dist/types/types/generated/graphql.customer.types.d.ts +1968 -1968
  412. package/dist/types/types/generated/graphql.frontend.types.d.ts +449 -449
  413. package/dist/types/types/hello/HelloConfig.d.ts +20 -20
  414. package/dist/types/types/hello/Product.d.ts +3 -3
  415. package/dist/types/types/hello/RestrictedItem.d.ts +1 -1
  416. package/dist/types/types/online-store/OnlineStoreConfig.d.ts +1 -1
  417. package/dist/types/types/stripe/Apperance.d.ts +3 -3
  418. package/dist/types/types/styles/Text.d.ts +90 -90
  419. package/dist/types/types/utils/deep/IDeepKeyof.d.ts +1 -1
  420. package/dist/types/types/utils/deep/IDeepKeyofAtIndex.d.ts +2 -2
  421. package/dist/types/utils/generateVercelDeployUrl.d.ts +2 -2
  422. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  423. package/dist/zonos-elements/index.esm.js +1 -1
  424. package/dist/zonos-elements/p-0175125e.system.js +1 -0
  425. package/dist/zonos-elements/p-03923a86.system.entry.js +1 -0
  426. package/dist/zonos-elements/p-08298e74.entry.js +1 -0
  427. package/dist/zonos-elements/p-1bddc7ca.system.entry.js +1 -0
  428. package/dist/zonos-elements/{p-770c959e.js → p-1f8b684a.js} +1 -1
  429. package/dist/zonos-elements/p-2228b050.entry.js +1 -0
  430. package/dist/zonos-elements/p-23e7c655.system.js +1 -1
  431. package/dist/zonos-elements/p-2466df77.entry.js +1 -0
  432. package/dist/zonos-elements/p-29b993c2.system.entry.js +1 -0
  433. package/dist/zonos-elements/p-2a32dc0a.system.entry.js +1 -0
  434. package/dist/zonos-elements/p-2a666084.entry.js +1 -0
  435. package/dist/zonos-elements/p-2f1e9192.system.entry.js +1 -0
  436. package/dist/zonos-elements/{p-f7875c40.js → p-39a5e8e0.js} +1 -1
  437. package/dist/zonos-elements/p-44ddebe4.system.entry.js +1 -0
  438. package/dist/zonos-elements/p-4e8b5d86.system.entry.js +1 -0
  439. package/dist/zonos-elements/p-534dcbd4.system.js +1 -0
  440. package/dist/zonos-elements/p-5a41b5fd.entry.js +1 -0
  441. package/dist/zonos-elements/p-5d0eceaa.entry.js +1 -0
  442. package/dist/zonos-elements/p-62ccb686.entry.js +1 -0
  443. package/dist/zonos-elements/p-643eeb24.system.js +1 -0
  444. package/dist/zonos-elements/p-660a588b.entry.js +1 -0
  445. package/dist/zonos-elements/p-6affe5cc.entry.js +1 -0
  446. package/dist/zonos-elements/p-72ea628d.system.js +1 -0
  447. package/dist/zonos-elements/{p-85ab35c9.system.js → p-754bdfdb.system.js} +1 -1
  448. package/dist/zonos-elements/{p-164fae93.system.js → p-779621e4.system.js} +1 -1
  449. package/dist/zonos-elements/{p-08695f4e.js → p-77a7929b.js} +1 -1
  450. package/dist/zonos-elements/p-7a15d841.entry.js +1 -0
  451. package/dist/zonos-elements/p-7a81ccb5.system.entry.js +1 -0
  452. package/dist/zonos-elements/p-80ba24a8.system.js +1 -0
  453. package/dist/zonos-elements/p-83d100b8.entry.js +1 -0
  454. package/dist/zonos-elements/{p-bf070bf6.js → p-8bbad467.js} +1 -1
  455. package/dist/zonos-elements/p-8ebc3ca5.system.entry.js +1 -0
  456. package/dist/zonos-elements/p-9c78d0ca.entry.js +1 -0
  457. package/dist/zonos-elements/p-9ef86de7.entry.js +1 -0
  458. package/dist/zonos-elements/p-ab46cee9.system.entry.js +1 -0
  459. package/dist/zonos-elements/p-b0268bc5.entry.js +1 -0
  460. package/dist/zonos-elements/p-b4db1620.entry.js +1 -0
  461. package/dist/zonos-elements/p-bc7bf53e.system.js +1 -0
  462. package/dist/zonos-elements/p-bec05c21.system.js +2 -0
  463. package/dist/zonos-elements/p-bec21999.system.js +1 -0
  464. package/dist/zonos-elements/p-c299049e.js +1 -0
  465. package/dist/zonos-elements/p-cd4f8e13.system.entry.js +1 -0
  466. package/dist/zonos-elements/p-ceb2cd7b.system.entry.js +1 -0
  467. package/dist/zonos-elements/p-cf4545ed.system.entry.js +1 -0
  468. package/dist/zonos-elements/p-cf8aaa17.js +2 -0
  469. package/dist/zonos-elements/p-dc9b318c.system.entry.js +1 -0
  470. package/dist/zonos-elements/p-dcf64928.system.entry.js +1 -0
  471. package/dist/zonos-elements/p-e1de2a1f.js +1 -0
  472. package/dist/zonos-elements/{p-3f3fbcea.entry.js → p-e694312d.entry.js} +1 -1
  473. package/dist/zonos-elements/p-ec26fe57.entry.js +1 -0
  474. package/dist/zonos-elements/p-edbea8df.system.js +1 -0
  475. package/dist/zonos-elements/p-f8198015.system.entry.js +1 -0
  476. package/dist/zonos-elements/p-fcd4fc66.system.entry.js +1 -0
  477. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  478. package/dist/zonos-elements/zonos-elements.js +15 -15
  479. package/package.json +57 -56
  480. package/dist/cjs/cart-d4b52ae8.js +0 -606
  481. package/dist/cjs/getBorderRadius-fdd605c6.js +0 -18
  482. package/dist/cjs/getHasMoreSpaceOnRight-2855491b.js +0 -10
  483. package/dist/cjs/isColorVariable-c1ed7303.js +0 -16
  484. package/dist/cjs/localization-d7fe7290.js +0 -3606
  485. package/dist/cjs/submitGtag-d65003f9.js +0 -27
  486. package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js +0 -9
  487. package/dist/esm/cart-e1b93711.js +0 -588
  488. package/dist/esm/getBorderRadius-45764ad7.js +0 -16
  489. package/dist/esm/getHasMoreSpaceOnRight-feba1ae2.js +0 -8
  490. package/dist/esm/isColorVariable-4cda28c9.js +0 -14
  491. package/dist/esm/localization-f3828793.js +0 -3592
  492. package/dist/esm/submitGtag-a901ece5.js +0 -24
  493. package/dist/esm-es5/cart-e1b93711.js +0 -1
  494. package/dist/esm-es5/getBorderRadius-45764ad7.js +0 -1
  495. package/dist/esm-es5/getHasMoreSpaceOnRight-feba1ae2.js +0 -1
  496. package/dist/esm-es5/index-d1aa9293.js +0 -2
  497. package/dist/esm-es5/zonosStore-05a62104.js +0 -1
  498. package/dist/types/components/utils/hello/setZonosCountryUrlParam.d.ts +0 -2
  499. package/dist/zonos-elements/p-0190f7c4.entry.js +0 -1
  500. package/dist/zonos-elements/p-05256415.system.entry.js +0 -1
  501. package/dist/zonos-elements/p-0e0b46a5.js +0 -1
  502. package/dist/zonos-elements/p-15b71f0b.system.entry.js +0 -1
  503. package/dist/zonos-elements/p-23204b78.system.entry.js +0 -1
  504. package/dist/zonos-elements/p-25db3885.js +0 -1
  505. package/dist/zonos-elements/p-28681677.entry.js +0 -1
  506. package/dist/zonos-elements/p-2b6325ab.entry.js +0 -1
  507. package/dist/zonos-elements/p-34a49bce.entry.js +0 -1
  508. package/dist/zonos-elements/p-36425562.system.entry.js +0 -1
  509. package/dist/zonos-elements/p-365970ff.entry.js +0 -1
  510. package/dist/zonos-elements/p-40083e93.system.entry.js +0 -1
  511. package/dist/zonos-elements/p-40778e43.entry.js +0 -1
  512. package/dist/zonos-elements/p-43a25dab.entry.js +0 -1
  513. package/dist/zonos-elements/p-4a5096d2.system.js +0 -1
  514. package/dist/zonos-elements/p-53649e16.system.js +0 -1
  515. package/dist/zonos-elements/p-5d7ffddb.entry.js +0 -1
  516. package/dist/zonos-elements/p-60821b2a.entry.js +0 -1
  517. package/dist/zonos-elements/p-64fdb7b6.system.js +0 -1
  518. package/dist/zonos-elements/p-68d06767.system.js +0 -2
  519. package/dist/zonos-elements/p-6d82986c.system.entry.js +0 -1
  520. package/dist/zonos-elements/p-6dcd752e.system.js +0 -1
  521. package/dist/zonos-elements/p-6e7cd3f7.entry.js +0 -1
  522. package/dist/zonos-elements/p-7bacecf7.entry.js +0 -1
  523. package/dist/zonos-elements/p-81c699f7.system.entry.js +0 -1
  524. package/dist/zonos-elements/p-824395fd.system.entry.js +0 -1
  525. package/dist/zonos-elements/p-8a75b765.system.entry.js +0 -1
  526. package/dist/zonos-elements/p-8aabbb9b.system.js +0 -1
  527. package/dist/zonos-elements/p-8c867835.system.js +0 -1
  528. package/dist/zonos-elements/p-8db8cc05.system.js +0 -1
  529. package/dist/zonos-elements/p-914ce305.system.entry.js +0 -1
  530. package/dist/zonos-elements/p-9688bb12.entry.js +0 -1
  531. package/dist/zonos-elements/p-96a3c767.entry.js +0 -1
  532. package/dist/zonos-elements/p-98a6e093.system.entry.js +0 -1
  533. package/dist/zonos-elements/p-a3641931.system.entry.js +0 -1
  534. package/dist/zonos-elements/p-aca66238.system.entry.js +0 -1
  535. package/dist/zonos-elements/p-b618cf03.entry.js +0 -1
  536. package/dist/zonos-elements/p-b75ffe64.system.entry.js +0 -1
  537. package/dist/zonos-elements/p-c8ad044e.system.entry.js +0 -1
  538. package/dist/zonos-elements/p-cc070c1c.entry.js +0 -1
  539. package/dist/zonos-elements/p-cc1c785c.system.entry.js +0 -1
  540. package/dist/zonos-elements/p-dc8d7000.js +0 -2
  541. package/dist/zonos-elements/p-de9d8a4f.system.entry.js +0 -1
  542. package/dist/zonos-elements/p-f8491335.system.js +0 -1
  543. package/dist/zonos-elements/p-f868ed42.entry.js +0 -1
  544. /package/dist/esm-es5/{isColorVariable-4cda28c9.js → isColorVariable-91c33804.js} +0 -0
  545. /package/dist/zonos-elements/{p-0636859b.js → p-4c414a92.js} +0 -0
  546. /package/dist/zonos-elements/{p-b6c499d4.js → p-5883217a.js} +0 -0
@@ -30,6 +30,33 @@ const logError = (message, ...rest) => {
30
30
  console.error(message, ...rest);
31
31
  };
32
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
+
33
60
  /* eslint-disable no-console */
34
61
  /** Loading stripe script extracted from stripe.js repository */
35
62
  const V3_URL = 'https://js.stripe.com/v3';
@@ -141,9 +168,40 @@ const zonosLoadStripe = async (...args) => {
141
168
  };
142
169
 
143
170
  var _a;
144
- const ZONOS_URL = "https://v1.2.2.js.zonos.com";
145
- const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.2";
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://v1.2.4-alpha.1.js.zonos.com";
202
+ const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.4-alpha.1";
146
203
  const INTER_FONT_URL = 'https://rsms.me';
204
+ const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
147
205
  const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
148
206
  class Zonos {
149
207
  }
@@ -153,9 +211,13 @@ Zonos.doneInit = false;
153
211
  Zonos.debug = !!window.location.search.match(/\?.*(&*)zonosDebug=1/);
154
212
  Zonos.isBigCommerce = false;
155
213
  Zonos.internationalHideSelector = '';
156
- Zonos.version = `v${"1.2.2"}`;
214
+ Zonos.zonosQaUrl = zonosQaUrl;
215
+ Zonos.version = `v${"1.2.4-alpha.1"}`;
216
+ Zonos.modeAlerted = false;
217
+ Zonos.getCurrentTimestamp = () => new Date().getTime();
218
+ Zonos.zonosController = null;
157
219
  Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSettings, zonosApiKey, }) => {
158
- if (Zonos.doneInit) {
220
+ if (_a.doneInit) {
159
221
  // do nothing if zonos is already initializeds
160
222
  return;
161
223
  }
@@ -165,16 +227,15 @@ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSett
165
227
  return;
166
228
  }
167
229
  _a.zonosApiKey = zonosApiKey;
168
- // eslint-disable-next-line no-console
169
230
  log('init zonos');
170
231
  // inject zonos cdn
171
- Zonos.injectZonosCdn();
232
+ _a.injectZonosCdn();
172
233
  // inject css for zonos elements
173
- Zonos.injectZonosCss();
234
+ _a.injectZonosCss();
174
235
  // inject fonts for zonos elements
175
- Zonos.injectFonts();
236
+ _a.injectFonts();
176
237
  // init zonos controller
177
- Zonos.injectController({
238
+ _a.injectController({
178
239
  config: {
179
240
  appearance,
180
241
  checkoutSettings,
@@ -183,7 +244,7 @@ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSett
183
244
  },
184
245
  zonosApiKey,
185
246
  });
186
- Zonos.doneInit = true;
247
+ _a.doneInit = true;
187
248
  };
188
249
  Zonos.displayCurrency = () => {
189
250
  const zonosHello = document.querySelector('zonos-hello');
@@ -192,13 +253,59 @@ Zonos.displayCurrency = () => {
192
253
  }
193
254
  };
194
255
  Zonos.showNotification = (notification) => {
195
- const zonosController = document.querySelector('zonos-controller');
196
- void (zonosController === null || zonosController === void 0 ? void 0 : zonosController.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
+ }
197
295
  };
198
296
  Zonos.injectController = ({ config, zonosApiKey, }) => {
297
+ var _b;
199
298
  if (document.querySelector('zonos-controller')) {
200
299
  return;
201
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
+ }
202
309
  const zonosController = document.createElement('zonos-controller');
203
310
  zonosController.config = config;
204
311
  zonosController.zonosApiKey = zonosApiKey;
@@ -214,7 +321,8 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
214
321
  void zonosController.initCheckoutElement(stripe);
215
322
  });
216
323
  document.body.appendChild(zonosController);
217
- // eslint-disable-next-line no-console
324
+ // set zonos controller to be global
325
+ _a.zonosController = zonosController;
218
326
  log('Zonos controller injected!');
219
327
  };
220
328
  Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) => {
@@ -306,10 +414,9 @@ Zonos.injectStylesheet = ({ fallBackDomain, stylesheetDomain, theRestUrl, }) =>
306
414
  };
307
415
  Zonos.injectZonosCss = () => {
308
416
  const findStyleLink = () => {
309
- return !!document.querySelector(`link[rel="stylesheet"][href^="${ZONOS_URL}/dist/zonos-elements/zonos-elements.css"]`);
417
+ return !!document.querySelector(`link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]`);
310
418
  };
311
419
  if (findStyleLink()) {
312
- // eslint-disable-next-line no-console
313
420
  log('Zonos style links already injected', 'warn');
314
421
  return;
315
422
  }
@@ -319,7 +426,6 @@ Zonos.injectZonosCss = () => {
319
426
  stylesheetDomain: ZONOS_URL,
320
427
  theRestUrl: 'dist/zonos-elements/zonos-elements.css',
321
428
  });
322
- // eslint-disable-next-line no-console
323
429
  log('Zonos style css injected!');
324
430
  };
325
431
  Zonos.injectFonts = () => {
@@ -338,23 +444,49 @@ Zonos.injectFonts = () => {
338
444
  return null;
339
445
  };
340
446
  if (findFont()) {
341
- // eslint-disable-next-line no-console
342
447
  log('Inter font already injected', 'warn');
343
448
  return;
344
449
  }
345
450
  const headOrBody = document.head || document.body;
346
- // inject css for zonos elements
451
+ // inject font css for zonos elements
347
452
  const fontPreconnect = document.createElement('link');
348
453
  fontPreconnect.rel = 'preconnect';
349
454
  fontPreconnect.href = INTER_FONT_URL;
350
455
  headOrBody.appendChild(fontPreconnect);
351
- // inject css for zonos elements
456
+ // inject font css for zonos elements
352
457
  const font = document.createElement('link');
353
458
  font.rel = 'stylesheet';
354
459
  font.href = `${INTER_FONT_URL}/inter/inter.css`;
355
460
  headOrBody.appendChild(font);
356
- // eslint-disable-next-line no-console
357
461
  log('Zonos font injected!');
358
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
+ };
359
491
 
360
492
  exports.Zonos = Zonos;
@@ -0,0 +1,6 @@
1
+ export declare const urlCheckOne: ({ branch, filePath, packageVersion, }: {
2
+ /** Branch that the build is compiled for */
3
+ branch: string;
4
+ filePath: string;
5
+ packageVersion: string;
6
+ }) => Promise<boolean>;
@@ -1,4 +1,4 @@
1
1
  export declare class ZonosCartItems {
2
- errorImages: string[];
3
- render(): any;
2
+ errorImages: string[];
3
+ render(): any;
4
4
  }
@@ -1,3 +1,3 @@
1
1
  export declare class ZonosCartSubtotal {
2
- render(): any;
2
+ render(): any;
3
3
  }
@@ -2,35 +2,35 @@ import { type EventEmitter } from '../../../../stencil-public-runtime';
2
2
  import type { PaymentIntent } from '@stripe/stripe-js';
3
3
  import type { ElementsUiStyle } from "../../../../types/index";
4
4
  type OverrideNotification = {
5
- messages: string[];
6
- title: string;
7
- type: 'success' | 'error';
5
+ messages: string[];
6
+ title: string;
7
+ type: 'success' | 'error';
8
8
  };
9
9
  export declare class ZonosCheckoutFinish {
10
- /**
11
- * The border radius style of the dialog
12
- */
13
- borderRadius: ElementsUiStyle;
14
- /**
15
- * Force status to test the UI for storybook
16
- */
17
- storybookForceStatus?: PaymentIntent['status'];
18
- /**
19
- * Override the notification message and title, bypass checking stripe payment status
20
- *
21
- */
22
- overrideNotification?: OverrideNotification;
23
- /**
24
- * Event to emit when the continue button is clicked
25
- */
26
- closeClick: EventEmitter<void>;
27
- isLoading: boolean;
28
- notificationType: 'success' | 'error';
29
- notificationTitle: string;
30
- notificationMessages: string[];
31
- private checkPaymentStatus;
32
- private closeClickHandler;
33
- componentDidLoad(): void;
34
- render(): any;
10
+ /**
11
+ * The border radius style of the dialog
12
+ */
13
+ borderRadius: ElementsUiStyle;
14
+ /**
15
+ * Force status to test the UI for storybook
16
+ */
17
+ storybookForceStatus?: PaymentIntent['status'];
18
+ /**
19
+ * Override the notification message and title, bypass checking stripe payment status
20
+ *
21
+ */
22
+ overrideNotification?: OverrideNotification;
23
+ /**
24
+ * Event to emit when the continue button is clicked
25
+ */
26
+ closeClick: EventEmitter<void>;
27
+ isLoading: boolean;
28
+ notificationType: 'success' | 'error';
29
+ notificationTitle: string;
30
+ notificationMessages: string[];
31
+ private checkPaymentStatus;
32
+ private closeClickHandler;
33
+ componentDidLoad(): void;
34
+ render(): any;
35
35
  }
36
36
  export {};
@@ -1,34 +1,34 @@
1
1
  import { type EventEmitter } from '../../../../stencil-public-runtime';
2
2
  export declare class ZonosCheckoutPayment {
3
- /**
4
- * Error occurred during payment
5
- */
6
- paymentError: boolean;
7
- /**
8
- * Whether or not the checkout is in mobile mode
9
- */
10
- submitBtnType?: HTMLZonosButtonElement['variant'];
11
- /**
12
- * Whether or not the continue button is loading
13
- */
14
- continueLoading: boolean;
15
- /**
16
- * Submit button main color
17
- */
18
- submitBtnColor?: string;
19
- /**
20
- * Event to emit when the continue button is clicked
21
- */
22
- continueClicked: EventEmitter<void>;
23
- /**
24
- * Whether or not the continue button is disabled
25
- * @default true
26
- */
27
- disabled: boolean;
28
- watchFormComplete(): void;
29
- /**
30
- * handler for continue button click
31
- */
32
- private continueClickHandler;
33
- render(): any;
3
+ /**
4
+ * Error occurred during payment
5
+ */
6
+ paymentError: boolean;
7
+ /**
8
+ * Whether or not the checkout is in mobile mode
9
+ */
10
+ submitBtnType?: HTMLZonosButtonElement['variant'];
11
+ /**
12
+ * Whether or not the continue button is loading
13
+ */
14
+ continueLoading: boolean;
15
+ /**
16
+ * Submit button main color
17
+ */
18
+ submitBtnColor?: string;
19
+ /**
20
+ * Event to emit when the continue button is clicked
21
+ */
22
+ continueClicked: EventEmitter<void>;
23
+ /**
24
+ * Whether or not the continue button is disabled
25
+ * @default true
26
+ */
27
+ disabled: boolean;
28
+ watchFormComplete(): void;
29
+ /**
30
+ * handler for continue button click
31
+ */
32
+ private continueClickHandler;
33
+ render(): any;
34
34
  }
@@ -3,81 +3,81 @@ import { type CartItem } from "../../store/checkout/cart";
3
3
  import { type ContactOption } from "../../store/checkout/stripe";
4
4
  import { type AppearanceConfig } from "../../store/zonosStore";
5
5
  export declare class ZonosCheckout {
6
- /**
7
- * Override appearance config
8
- */
9
- appearanceSettingsOverride?: Partial<AppearanceConfig>;
10
- /**
11
- * Preview checkout without needing to click on the button. This would be useful for demo purpose
12
- */
13
- preview: boolean;
14
- /**
15
- * Flag to determine if the checkout is on mobile
16
- */
17
- mobile: boolean;
18
- /**
19
- * Default address to use for the checkout (preview mode)
20
- */
21
- defaultAddress: ContactOption | null;
22
- /**
23
- * Force dialog to be open
24
- */
25
- forceDialogOpen: boolean;
26
- /**
27
- * Whether or not the dialog is open
28
- */
29
- open: boolean;
30
- /**
31
- * The stripe instance
32
- */
33
- stripe: Stripe | null;
34
- /**
35
- * Whether or not the submit button is loading in `step` component
36
- */
37
- submitLoading: boolean;
38
- /**
39
- * Error when submitting payment
40
- */
41
- paymentError: boolean;
42
- collapseReviewMobile: boolean;
43
- /**
44
- * Determine if we should skip and not hijack the Checkout button click event
45
- * Sometimes stripe or our api has error, we don't want to hijack the click event.
46
- */
47
- isAttachError: boolean;
48
- isMobile: boolean;
49
- zonosReviewRef?: HTMLZonosReviewElement;
50
- storybookPaymentStatusOverride?: PaymentIntent['status'];
51
- /**
52
- * Init cart info handler event
53
- */
54
- initCartInfoHandler(e: CustomEvent<CartItem[]>): Promise<void>;
55
- /**
56
- * Close dialog action
57
- */
58
- closeDialogHandler(): Promise<void>;
59
- private applyStripeTheme;
60
- private buildCartAndInit;
61
- private attachCheckout;
62
- private isShippableCountry;
63
- appearanceSettingsOverrideChanged(): void;
64
- /**
65
- * Setup all of the event listeners for the component on first load
66
- */
67
- init(): Promise<void>;
68
- /**
69
- * For storybook to set to finish step, this is to trigger in the story for zonos-checkout-finish
70
- */
71
- setToFinishStep(forcePaymentStatus?: PaymentIntent['status']): Promise<void>;
72
- private handleCustomerInfoContinue;
73
- private handleShippingContinue;
74
- private handleCheckoutPaymentContinue;
75
- private handleFinishClick;
76
- private handleBackClick;
77
- private getCurrentLocalePageEnum;
78
- handleWindowResize(): void;
79
- handleMobileChange(): void;
80
- componentWillLoad(): void;
81
- disconnectedCallback(): void;
82
- render(): any;
6
+ /**
7
+ * Override appearance config
8
+ */
9
+ appearanceSettingsOverride?: Partial<AppearanceConfig>;
10
+ /**
11
+ * Preview checkout without needing to click on the button. This would be useful for demo purpose
12
+ */
13
+ preview: boolean;
14
+ /**
15
+ * Flag to determine if the checkout is on mobile
16
+ */
17
+ mobile: boolean;
18
+ /**
19
+ * Default address to use for the checkout (preview mode)
20
+ */
21
+ defaultAddress: ContactOption | null;
22
+ /**
23
+ * Force dialog to be open
24
+ */
25
+ forceDialogOpen: boolean;
26
+ /**
27
+ * Whether or not the dialog is open
28
+ */
29
+ open: boolean;
30
+ /**
31
+ * The stripe instance
32
+ */
33
+ stripe: Stripe | null;
34
+ /**
35
+ * Whether or not the submit button is loading in `step` component
36
+ */
37
+ submitLoading: boolean;
38
+ /**
39
+ * Error when submitting payment
40
+ */
41
+ paymentError: boolean;
42
+ collapseReviewMobile: boolean;
43
+ /**
44
+ * Determine if we should skip and not hijack the Checkout button click event
45
+ * Sometimes stripe or our api has error, we don't want to hijack the click event.
46
+ */
47
+ isAttachError: boolean;
48
+ isMobile: boolean;
49
+ zonosReviewRef?: HTMLZonosReviewElement;
50
+ storybookPaymentStatusOverride?: PaymentIntent['status'];
51
+ /**
52
+ * Init cart info handler event
53
+ */
54
+ initCartInfoHandler(e: CustomEvent<CartItem[]>): Promise<void>;
55
+ /**
56
+ * Close dialog action
57
+ */
58
+ closeDialogHandler(): Promise<void>;
59
+ private applyStripeTheme;
60
+ private buildCartAndInit;
61
+ private attachCheckout;
62
+ private isShippableCountry;
63
+ appearanceSettingsOverrideChanged(): void;
64
+ /**
65
+ * Setup all of the event listeners for the component on first load
66
+ */
67
+ init(): Promise<void>;
68
+ /**
69
+ * For storybook to set to finish step, this is to trigger in the story for zonos-checkout-finish
70
+ */
71
+ setToFinishStep(forcePaymentStatus?: PaymentIntent['status']): Promise<void>;
72
+ private handleCustomerInfoContinue;
73
+ private handleShippingContinue;
74
+ private handleCheckoutPaymentContinue;
75
+ private handleFinishClick;
76
+ private handleBackClick;
77
+ private getCurrentLocalePageEnum;
78
+ handleWindowResize(): void;
79
+ handleMobileChange(): void;
80
+ componentWillLoad(): void;
81
+ disconnectedCallback(): void;
82
+ render(): any;
83
83
  }
@@ -1,35 +1,35 @@
1
1
  import { type EventEmitter } from '../../../../stencil-public-runtime';
2
2
  import { type ContactOption } from "../../../store/checkout/stripe";
3
3
  export declare class ZonosCustomerInfo {
4
- /**
5
- * Whether or not the continue button is loading
6
- */
7
- continueLoading: boolean;
8
- /**
9
- * Whether or not the checkout is in mobile mode
10
- */
11
- submitBtnType?: HTMLZonosButtonElement['variant'];
12
- /**
13
- * Submit button main color
14
- */
15
- submitBtnColor?: string;
16
- /**
17
- * Default address to use for the checkout (preview mode)
18
- */
19
- defaultAddress: ContactOption | null;
20
- /**
21
- * Event to emit when the continue button is clicked
22
- */
23
- continueClicked: EventEmitter<void>;
24
- /**
25
- * Whether or not the continue button is disabled
26
- * @default true
27
- */
28
- disabled: boolean;
29
- watchFormComplete(): void;
30
- /**
31
- * handler for continue button click
32
- */
33
- private continueClickHandler;
34
- render(): any;
4
+ /**
5
+ * Whether or not the continue button is loading
6
+ */
7
+ continueLoading: boolean;
8
+ /**
9
+ * Whether or not the checkout is in mobile mode
10
+ */
11
+ submitBtnType?: HTMLZonosButtonElement['variant'];
12
+ /**
13
+ * Submit button main color
14
+ */
15
+ submitBtnColor?: string;
16
+ /**
17
+ * Default address to use for the checkout (preview mode)
18
+ */
19
+ defaultAddress: ContactOption | null;
20
+ /**
21
+ * Event to emit when the continue button is clicked
22
+ */
23
+ continueClicked: EventEmitter<void>;
24
+ /**
25
+ * Whether or not the continue button is disabled
26
+ * @default true
27
+ */
28
+ disabled: boolean;
29
+ watchFormComplete(): void;
30
+ /**
31
+ * handler for continue button click
32
+ */
33
+ private continueClickHandler;
34
+ render(): any;
35
35
  }