@zonos/elements 1.2.3 → 1.2.4-alpha.10

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 (553) hide show
  1. package/README.md +15 -1
  2. package/dist/cjs/cart-90f7c8c0.js +644 -0
  3. package/dist/cjs/getBorderRadius-bf4a4276.js +18 -0
  4. package/dist/cjs/getHasMoreSpaceOnRight-4c94667f.js +10 -0
  5. package/dist/cjs/{index-9542d2e7.js → index-0dcccc22.js} +154 -42
  6. package/dist/cjs/index.cjs.js +6 -6
  7. package/dist/cjs/isColorVariable-41cacd82.js +16 -0
  8. package/dist/cjs/{isDarkColor-f3446afd.js → isDarkColor-ff6ff183.js} +2 -2
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/localization-9caf3397.js +3667 -0
  11. package/dist/cjs/submitGtag-b141b45d.js +27 -0
  12. package/dist/cjs/zonos-address_2.cjs.entry.js +108 -108
  13. package/dist/cjs/zonos-badge.cjs.entry.js +25 -22
  14. package/dist/cjs/zonos-banner.cjs.entry.js +65 -53
  15. package/dist/cjs/zonos-button_2.cjs.entry.js +100 -99
  16. package/dist/cjs/zonos-card_2.cjs.entry.js +32 -27
  17. package/dist/cjs/zonos-cart-items_10.cjs.entry.js +464 -419
  18. package/dist/cjs/zonos-checkout.cjs.entry.js +358 -356
  19. package/dist/cjs/zonos-component.cjs.entry.js +15 -15
  20. package/dist/cjs/zonos-controller.cjs.entry.js +232 -194
  21. package/dist/cjs/zonos-country-flag_4.cjs.entry.js +85 -77
  22. package/dist/cjs/zonos-elements.cjs.js +3 -3
  23. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +101 -101
  24. package/dist/cjs/zonos-hello.cjs.entry.js +349 -349
  25. package/dist/cjs/zonos-icon.cjs.entry.js +22 -20
  26. package/dist/cjs/zonos-notification.cjs.entry.js +60 -57
  27. package/dist/cjs/zonos-payment.cjs.entry.js +45 -45
  28. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +40 -40
  29. package/dist/cjs/zonos-text.cjs.entry.js +145 -143
  30. package/dist/cjs/{zonosStore-a430ec5b.js → zonosStore-b43ef5db.js} +102 -97
  31. package/dist/collection/__mocks__/vercel-app/loadZonos.js +492 -0
  32. package/dist/collection/__mocks__/vercel-app/localization.js +1 -0
  33. package/dist/collection/__mocks__/vercel-app/zonos-hello.entry.js +1 -0
  34. package/dist/collection/__mocks__/zonos-url/loadZonos.js +492 -0
  35. package/dist/{esm-es5/localization-f3828793.js → collection/__mocks__/zonos-url/localization.js} +1 -1
  36. package/dist/collection/__mocks__/zonos-url/zonos-hello.entry.js +1 -0
  37. package/dist/collection/__tests__/build-utils/urlCheckOne.js +59 -0
  38. package/dist/collection/collection-manifest.json +2 -2
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.css +5 -1
  40. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +37 -37
  41. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.css +5 -1
  42. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +44 -44
  43. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.css +5 -1
  44. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +209 -163
  45. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.css +5 -1
  46. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +149 -149
  47. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.css +5 -1
  48. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +562 -559
  49. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +5 -1
  50. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +153 -153
  51. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.css +5 -1
  52. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.js +107 -107
  53. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +5 -1
  54. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +164 -164
  55. package/dist/collection/components/common/countries.js +261 -261
  56. package/dist/collection/components/common/zonos-badge/zonos-badge.css +5 -1
  57. package/dist/collection/components/common/zonos-badge/zonos-badge.js +189 -186
  58. package/dist/collection/components/common/zonos-banner/zonos-banner.css +5 -1
  59. package/dist/collection/components/common/zonos-banner/zonos-banner.js +140 -128
  60. package/dist/collection/components/common/zonos-button/zonos-button.css +6 -5
  61. package/dist/collection/components/common/zonos-button/zonos-button.js +407 -406
  62. package/dist/collection/components/common/zonos-card/zonos-card.css +5 -1
  63. package/dist/collection/components/common/zonos-card/zonos-card.js +165 -162
  64. package/dist/collection/components/common/zonos-collapse/zonos-collapse.css +5 -1
  65. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +85 -83
  66. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.css +5 -1
  67. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.js +101 -96
  68. package/dist/collection/components/common/zonos-country-select/zonos-country-select.css +5 -1
  69. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +73 -70
  70. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.css +5 -1
  71. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +62 -59
  72. package/dist/collection/components/common/zonos-dialog/zonos-dialog.css +5 -1
  73. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +373 -371
  74. package/dist/collection/components/common/zonos-icon/zonos-icon.css +5 -1
  75. package/dist/collection/components/common/zonos-icon/zonos-icon.js +123 -121
  76. package/dist/collection/components/common/zonos-logo/zonos-logo.css +5 -1
  77. package/dist/collection/components/common/zonos-logo/zonos-logo.js +92 -90
  78. package/dist/collection/components/common/zonos-notification/zonos-notification.css +5 -1
  79. package/dist/collection/components/common/zonos-notification/zonos-notification.js +129 -125
  80. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.css +5 -1
  81. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +168 -168
  82. package/dist/collection/components/common/zonos-spinner/zonos-spinner.css +5 -1
  83. package/dist/collection/components/common/zonos-spinner/zonos-spinner.js +71 -71
  84. package/dist/collection/components/common/zonos-text/zonos-text.css +5 -1
  85. package/dist/collection/components/common/zonos-text/zonos-text.js +193 -191
  86. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.css +5 -1
  87. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +70 -67
  88. package/dist/collection/components/component-template/zonos-component/zonos-component.css +5 -1
  89. package/dist/collection/components/component-template/zonos-component/zonos-component.js +81 -81
  90. package/dist/collection/components/hello/zonos-hello/zonos-hello.css +5 -2
  91. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +450 -446
  92. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.css +5 -1
  93. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +70 -70
  94. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.css +5 -1
  95. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +272 -272
  96. package/dist/collection/components/main/zonos-controller.css +5 -1
  97. package/dist/collection/components/main/zonos-controller.js +403 -320
  98. package/dist/collection/components/store/checkout/cart.js +162 -162
  99. package/dist/collection/components/store/checkout/stripe.js +265 -264
  100. package/dist/collection/components/store/hello/localization.js +112 -112
  101. package/dist/collection/components/store/translationStore/strings.arabic.js +147 -147
  102. package/dist/collection/components/store/translationStore/strings.base.js +147 -147
  103. package/dist/collection/components/store/translationStore/strings.chinese.js +147 -147
  104. package/dist/collection/components/store/translationStore/strings.danish.js +147 -147
  105. package/dist/collection/components/store/translationStore/strings.dutch.js +147 -147
  106. package/dist/collection/components/store/translationStore/strings.french.js +147 -147
  107. package/dist/collection/components/store/translationStore/strings.german.js +147 -147
  108. package/dist/collection/components/store/translationStore/strings.hebrew.js +147 -147
  109. package/dist/collection/components/store/translationStore/strings.indonesian.js +147 -147
  110. package/dist/collection/components/store/translationStore/strings.italian.js +147 -147
  111. package/dist/collection/components/store/translationStore/strings.japanese.js +147 -147
  112. package/dist/collection/components/store/translationStore/strings.korean.js +147 -147
  113. package/dist/collection/components/store/translationStore/strings.norwegian.js +147 -147
  114. package/dist/collection/components/store/translationStore/strings.polish.js +147 -147
  115. package/dist/collection/components/store/translationStore/strings.portuguese.js +147 -147
  116. package/dist/collection/components/store/translationStore/strings.russian.js +147 -147
  117. package/dist/collection/components/store/translationStore/strings.spanish.js +147 -147
  118. package/dist/collection/components/store/translationStore/strings.swedish.js +147 -147
  119. package/dist/collection/components/store/translationStore/strings.turkish.js +147 -147
  120. package/dist/collection/components/store/translationStore/strings.vietnamese.js +147 -147
  121. package/dist/collection/components/store/translationStore.js +65 -65
  122. package/dist/collection/components/store/zonosStore.js +98 -94
  123. package/dist/collection/components/stripe/zonos-address/zonos-address.css +5 -1
  124. package/dist/collection/components/stripe/zonos-address/zonos-address.js +142 -142
  125. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.css +5 -1
  126. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +76 -76
  127. package/dist/collection/components/stripe/zonos-payment/zonos-payment.css +5 -1
  128. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +81 -81
  129. package/dist/collection/components/utils/addDays.js +5 -5
  130. package/dist/collection/components/utils/api/calculateLandedCost.js +19 -11
  131. package/dist/collection/components/utils/api/checkItemRestrictions.js +13 -13
  132. package/dist/collection/components/utils/api/getCountries.js +11 -11
  133. package/dist/collection/components/utils/api/getCountryLandedCost.js +11 -11
  134. package/dist/collection/components/utils/api/getExchangeRate.js +17 -17
  135. package/dist/collection/components/utils/api/getLocaleMessages.js +9 -9
  136. package/dist/collection/components/utils/api/getLocalization.js +24 -19
  137. package/dist/collection/components/utils/api/getShippingZones.js +9 -9
  138. package/dist/collection/components/utils/api/getZonosSettings.js +11 -0
  139. package/dist/collection/components/utils/api/prepCalculateLandedCost.js +26 -26
  140. package/dist/collection/components/utils/api/triggerBuildLandedCost.js +22 -0
  141. package/dist/collection/components/utils/checkout/initCheckout.js +16 -16
  142. package/dist/collection/components/utils/checkout/isCheckoutMobile.js +1 -1
  143. package/dist/collection/components/utils/darkenColor.js +4 -4
  144. package/dist/collection/components/utils/formatCurrency.js +8 -8
  145. package/dist/collection/components/utils/formatDate.js +2 -2
  146. package/dist/collection/components/utils/getBorderRadius.js +5 -5
  147. package/dist/collection/components/utils/getButtonTheme.js +8 -8
  148. package/dist/collection/components/utils/getDaysDifference.js +4 -4
  149. package/dist/collection/components/utils/handleFetch.js +107 -77
  150. package/dist/collection/components/utils/hello/currencyConversion/currencyConvert.js +9 -9
  151. package/dist/collection/components/utils/hello/currencyConversion/currencyConvertAndFormat.js +3 -3
  152. package/dist/collection/components/utils/hello/currencyConversion/currencyDisplay.js +10 -10
  153. package/dist/collection/components/utils/hello/currencyConversion/currencyFormat.js +29 -29
  154. package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +35 -35
  155. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyCode.js +6 -6
  156. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyElements.js +13 -13
  157. package/dist/collection/components/utils/hello/currencyConversion/getInitialElementAmount.js +12 -12
  158. package/dist/collection/components/utils/hello/currencyConversion/getLanguageCode.js +6 -6
  159. package/dist/collection/components/utils/hello/detectItemRestrictions.js +23 -23
  160. package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js +17 -17
  161. package/dist/collection/components/utils/hello/getHasMoreSpaceAbove.js +5 -5
  162. package/dist/collection/components/utils/hello/getHasMoreSpaceOnRight.js +5 -5
  163. package/dist/collection/components/utils/hello/getProductsOnPage.js +42 -42
  164. package/dist/collection/components/utils/hello/getZCountryUrlParam.js +5 -0
  165. package/dist/collection/components/utils/hello/initHello.js +15 -15
  166. package/dist/collection/components/utils/hello/setZCountryUrlParam.js +9 -0
  167. package/dist/collection/components/utils/isColorVariable.js +10 -10
  168. package/dist/collection/components/utils/isDarkColor.js +1 -1
  169. package/dist/collection/components/utils/isValidSelector.js +8 -8
  170. package/dist/collection/components/utils/jsonParse.js +10 -10
  171. package/dist/collection/components/utils/lightenColor.js +4 -4
  172. package/dist/collection/components/utils/logging/log.js +42 -22
  173. package/dist/collection/components/utils/logging/logError.js +2 -2
  174. package/dist/collection/components/utils/mergeConfig.js +3 -3
  175. package/dist/collection/components/utils/submitGtag.js +9 -9
  176. package/dist/collection/environment.js +139 -116
  177. package/dist/collection/scripts/extractZonosQaUrl.js +26 -0
  178. package/dist/collection/scripts/loadStripe.js +7 -7
  179. package/dist/collection/scripts/stripe.js +80 -80
  180. package/dist/collection/scripts/zonos.js +331 -253
  181. package/dist/collection/styles/stripe/addressRuleStyle.js +14 -14
  182. package/dist/collection/styles/stripe/defaultVariable.js +14 -14
  183. package/dist/collection/types/generated/graphql.customer.types.js +1513 -1424
  184. package/dist/collection/types/generated/graphql.frontend.types.js +452 -378
  185. package/dist/collection/types/stripe/Apperance.js +56 -56
  186. package/dist/collection/types/styles/Color.js +18 -18
  187. package/dist/collection/types/styles/Text.js +97 -97
  188. package/dist/collection/utils/format.js +1 -1
  189. package/dist/collection/utils/generateVercelDeployUrl.js +17 -17
  190. package/dist/components/cart.js +529 -501
  191. package/dist/components/formatCurrency.js +8 -8
  192. package/dist/components/getBorderRadius.js +5 -5
  193. package/dist/components/isColorVariable.js +10 -10
  194. package/dist/components/isDarkColor.js +1 -1
  195. package/dist/components/localization.js +3486 -3426
  196. package/dist/components/submitGtag.js +9 -9
  197. package/dist/components/zonos-address.d.ts +2 -2
  198. package/dist/components/zonos-address2.js +90 -90
  199. package/dist/components/zonos-badge.d.ts +2 -2
  200. package/dist/components/zonos-badge2.js +52 -43
  201. package/dist/components/zonos-banner.d.ts +2 -2
  202. package/dist/components/zonos-banner2.js +88 -76
  203. package/dist/components/zonos-button.d.ts +2 -2
  204. package/dist/components/zonos-button2.js +120 -119
  205. package/dist/components/zonos-card.d.ts +2 -2
  206. package/dist/components/zonos-card2.js +48 -39
  207. package/dist/components/zonos-cart-items.d.ts +2 -2
  208. package/dist/components/zonos-cart-items2.js +43 -43
  209. package/dist/components/zonos-cart-subtotal.d.ts +2 -2
  210. package/dist/components/zonos-cart-subtotal2.js +65 -65
  211. package/dist/components/zonos-checkout-finish.d.ts +2 -2
  212. package/dist/components/zonos-checkout-finish2.js +146 -103
  213. package/dist/components/zonos-checkout-payment.d.ts +2 -2
  214. package/dist/components/zonos-checkout-payment2.js +82 -82
  215. package/dist/components/zonos-checkout.d.ts +2 -2
  216. package/dist/components/zonos-checkout.js +500 -498
  217. package/dist/components/zonos-collapse.d.ts +2 -2
  218. package/dist/components/zonos-collapse2.js +48 -46
  219. package/dist/components/zonos-component.d.ts +2 -2
  220. package/dist/components/zonos-component.js +32 -32
  221. package/dist/components/zonos-controller.d.ts +2 -2
  222. package/dist/components/zonos-controller.js +260 -220
  223. package/dist/components/zonos-country-flag.d.ts +2 -2
  224. package/dist/components/zonos-country-flag2.js +41 -36
  225. package/dist/components/zonos-country-select.d.ts +2 -2
  226. package/dist/components/zonos-country-select2.js +82 -79
  227. package/dist/components/zonos-custom-message.d.ts +2 -2
  228. package/dist/components/zonos-custom-message2.js +44 -41
  229. package/dist/components/zonos-customer-info.d.ts +2 -2
  230. package/dist/components/zonos-customer-info2.js +82 -82
  231. package/dist/components/zonos-dialog.d.ts +2 -2
  232. package/dist/components/zonos-dialog2.js +105 -103
  233. package/dist/components/zonos-hello-dialog-footer.d.ts +2 -2
  234. package/dist/components/zonos-hello-dialog-footer2.js +46 -46
  235. package/dist/components/zonos-hello-dialog.d.ts +2 -2
  236. package/dist/components/zonos-hello-dialog2.js +182 -182
  237. package/dist/components/zonos-hello.d.ts +2 -2
  238. package/dist/components/zonos-hello.js +437 -437
  239. package/dist/components/zonos-icon.d.ts +2 -2
  240. package/dist/components/zonos-icon2.js +40 -38
  241. package/dist/components/zonos-link-authentication.d.ts +2 -2
  242. package/dist/components/zonos-link-authentication2.js +60 -60
  243. package/dist/components/zonos-logo.d.ts +2 -2
  244. package/dist/components/zonos-logo2.js +37 -35
  245. package/dist/components/zonos-notification.d.ts +2 -2
  246. package/dist/components/zonos-notification2.js +82 -79
  247. package/dist/components/zonos-payment.d.ts +2 -2
  248. package/dist/components/zonos-payment2.js +64 -64
  249. package/dist/components/zonos-review.d.ts +2 -2
  250. package/dist/components/zonos-review2.js +72 -72
  251. package/dist/components/zonos-shipping-rich-radio.d.ts +2 -2
  252. package/dist/components/zonos-shipping-rich-radio2.js +62 -62
  253. package/dist/components/zonos-shipping.d.ts +2 -2
  254. package/dist/components/zonos-shipping2.js +114 -114
  255. package/dist/components/zonos-spinner.d.ts +2 -2
  256. package/dist/components/zonos-spinner2.js +31 -31
  257. package/dist/components/zonos-text.d.ts +2 -2
  258. package/dist/components/zonos-text2.js +166 -164
  259. package/dist/components/zonos-v-stack.d.ts +2 -2
  260. package/dist/components/zonos-v-stack2.js +29 -26
  261. package/dist/components/zonosStore.js +101 -97
  262. package/dist/esm/cart-b439be00.js +626 -0
  263. package/dist/esm/getBorderRadius-178a0a05.js +16 -0
  264. package/dist/esm/getHasMoreSpaceOnRight-70eb913a.js +8 -0
  265. package/dist/esm/{index-d1aa9293.js → index-36ff6342.js} +154 -42
  266. package/dist/esm/index.js +6 -6
  267. package/dist/esm/isColorVariable-91c33804.js +14 -0
  268. package/dist/esm/{isDarkColor-6fbb9b14.js → isDarkColor-416d6047.js} +2 -2
  269. package/dist/esm/loader.js +3 -3
  270. package/dist/esm/localization-a51ccbc2.js +3652 -0
  271. package/dist/esm/submitGtag-521826a2.js +24 -0
  272. package/dist/esm/zonos-address_2.entry.js +108 -108
  273. package/dist/esm/zonos-badge.entry.js +25 -22
  274. package/dist/esm/zonos-banner.entry.js +65 -53
  275. package/dist/esm/zonos-button_2.entry.js +100 -99
  276. package/dist/esm/zonos-card_2.entry.js +32 -27
  277. package/dist/esm/zonos-cart-items_10.entry.js +464 -419
  278. package/dist/esm/zonos-checkout.entry.js +358 -356
  279. package/dist/esm/zonos-component.entry.js +15 -15
  280. package/dist/esm/zonos-controller.entry.js +232 -194
  281. package/dist/esm/zonos-country-flag_4.entry.js +85 -77
  282. package/dist/esm/zonos-elements.js +4 -4
  283. package/dist/esm/zonos-hello-dialog.entry.js +101 -101
  284. package/dist/esm/zonos-hello.entry.js +349 -349
  285. package/dist/esm/zonos-icon.entry.js +22 -20
  286. package/dist/esm/zonos-notification.entry.js +60 -57
  287. package/dist/esm/zonos-payment.entry.js +45 -45
  288. package/dist/esm/zonos-shipping-rich-radio.entry.js +40 -40
  289. package/dist/esm/zonos-text.entry.js +145 -143
  290. package/dist/esm/{zonosStore-05a62104.js → zonosStore-61e74f58.js} +102 -98
  291. package/dist/esm-es5/cart-b439be00.js +1 -0
  292. package/dist/esm-es5/getBorderRadius-178a0a05.js +1 -0
  293. package/dist/esm-es5/getHasMoreSpaceOnRight-70eb913a.js +1 -0
  294. package/dist/esm-es5/index-36ff6342.js +2 -0
  295. package/dist/esm-es5/index.js +1 -1
  296. package/dist/esm-es5/{isDarkColor-6fbb9b14.js → isDarkColor-416d6047.js} +1 -1
  297. package/dist/esm-es5/loader.js +1 -1
  298. package/dist/esm-es5/localization-a51ccbc2.js +1 -0
  299. package/dist/esm-es5/{submitGtag-a901ece5.js → submitGtag-521826a2.js} +1 -1
  300. package/dist/esm-es5/zonos-address_2.entry.js +1 -1
  301. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  302. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  303. package/dist/esm-es5/zonos-button_2.entry.js +1 -1
  304. package/dist/esm-es5/zonos-card_2.entry.js +1 -1
  305. package/dist/esm-es5/zonos-cart-items_10.entry.js +1 -1
  306. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  307. package/dist/esm-es5/zonos-component.entry.js +1 -1
  308. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  309. package/dist/esm-es5/zonos-country-flag_4.entry.js +1 -1
  310. package/dist/esm-es5/zonos-elements.js +1 -1
  311. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  312. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  313. package/dist/esm-es5/zonos-icon.entry.js +1 -1
  314. package/dist/esm-es5/zonos-notification.entry.js +1 -1
  315. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  316. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  317. package/dist/esm-es5/zonos-text.entry.js +1 -1
  318. package/dist/esm-es5/zonosStore-61e74f58.js +1 -0
  319. package/dist/scripts/extractZonosQaUrl.js +30 -0
  320. package/dist/scripts/loadZonos.js +172 -48
  321. package/dist/scripts/zonos.js +172 -48
  322. package/dist/types/__tests__/build-utils/urlCheckOne.d.ts +6 -0
  323. package/dist/types/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.d.ts +2 -2
  324. package/dist/types/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.d.ts +1 -1
  325. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +33 -29
  326. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.d.ts +31 -31
  327. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +77 -77
  328. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +31 -31
  329. package/dist/types/components/checkout/zonos-checkout/zonos-review/zonos-review.d.ts +14 -14
  330. package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +29 -29
  331. package/dist/types/components/common/zonos-badge/zonos-badge.d.ts +35 -35
  332. package/dist/types/components/common/zonos-banner/zonos-banner.d.ts +21 -21
  333. package/dist/types/components/common/zonos-button/zonos-button.d.ts +92 -92
  334. package/dist/types/components/common/zonos-card/zonos-card.d.ts +29 -29
  335. package/dist/types/components/common/zonos-collapse/zonos-collapse.d.ts +14 -14
  336. package/dist/types/components/common/zonos-country-flag/zonos-country-flag.d.ts +16 -16
  337. package/dist/types/components/common/zonos-country-select/zonos-country-select.d.ts +9 -9
  338. package/dist/types/components/common/zonos-custom-message/zonos-custom-message.d.ts +9 -9
  339. package/dist/types/components/common/zonos-dialog/zonos-dialog.d.ts +75 -75
  340. package/dist/types/components/common/zonos-icon/zonos-icon.d.ts +27 -27
  341. package/dist/types/components/common/zonos-logo/zonos-logo.d.ts +13 -13
  342. package/dist/types/components/common/zonos-notification/zonos-notification.d.ts +28 -28
  343. package/dist/types/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.d.ts +35 -35
  344. package/dist/types/components/common/zonos-spinner/zonos-spinner.d.ts +11 -11
  345. package/dist/types/components/common/zonos-text/zonos-text.d.ts +30 -30
  346. package/dist/types/components/common/zonos-v-stack/zonos-v-stack.d.ts +10 -10
  347. package/dist/types/components/component-template/zonos-component/zonos-component.d.ts +14 -14
  348. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +68 -68
  349. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.d.ts +10 -10
  350. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +41 -41
  351. package/dist/types/components/main/zonos-controller.d.ts +47 -38
  352. package/dist/types/components/store/checkout/cart.d.ts +64 -64
  353. package/dist/types/components/store/checkout/stripe.d.ts +44 -43
  354. package/dist/types/components/store/hello/localization.d.ts +15 -15
  355. package/dist/types/components/store/translationStore/strings.arabic.d.ts +147 -147
  356. package/dist/types/components/store/translationStore/strings.base.d.ts +147 -147
  357. package/dist/types/components/store/translationStore/strings.chinese.d.ts +147 -147
  358. package/dist/types/components/store/translationStore/strings.danish.d.ts +147 -147
  359. package/dist/types/components/store/translationStore/strings.dutch.d.ts +147 -147
  360. package/dist/types/components/store/translationStore/strings.french.d.ts +147 -147
  361. package/dist/types/components/store/translationStore/strings.german.d.ts +147 -147
  362. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +147 -147
  363. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +147 -147
  364. package/dist/types/components/store/translationStore/strings.italian.d.ts +147 -147
  365. package/dist/types/components/store/translationStore/strings.japanese.d.ts +147 -147
  366. package/dist/types/components/store/translationStore/strings.korean.d.ts +147 -147
  367. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +147 -147
  368. package/dist/types/components/store/translationStore/strings.polish.d.ts +147 -147
  369. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +147 -147
  370. package/dist/types/components/store/translationStore/strings.russian.d.ts +147 -147
  371. package/dist/types/components/store/translationStore/strings.spanish.d.ts +147 -147
  372. package/dist/types/components/store/translationStore/strings.swedish.d.ts +147 -147
  373. package/dist/types/components/store/translationStore/strings.turkish.d.ts +147 -147
  374. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +147 -147
  375. package/dist/types/components/store/translationStore.d.ts +2 -2
  376. package/dist/types/components/store/zonosStore.d.ts +23 -22
  377. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +17 -17
  378. package/dist/types/components/stripe/zonos-link-authentication/zonos-link-authentication.d.ts +9 -9
  379. package/dist/types/components/stripe/zonos-payment/zonos-payment.d.ts +10 -10
  380. package/dist/types/components/utils/addDays.d.ts +6 -6
  381. package/dist/types/components/utils/api/checkItemRestrictions.d.ts +14 -14
  382. package/dist/types/components/utils/api/getCountryLandedCost.d.ts +6 -6
  383. package/dist/types/components/utils/api/getExchangeRate.d.ts +17 -17
  384. package/dist/types/components/utils/api/getLocaleMessages.d.ts +15 -15
  385. package/dist/types/components/utils/api/getLocalization.d.ts +2 -2
  386. package/dist/types/components/utils/api/getZonosSettings.d.ts +8 -0
  387. package/dist/types/components/utils/api/triggerBuildLandedCost.d.ts +5 -0
  388. package/dist/types/components/utils/changeDeepProperty.d.ts +4 -4
  389. package/dist/types/components/utils/changeDeepPropertyAtIndex.d.ts +5 -5
  390. package/dist/types/components/utils/darkenColor.d.ts +2 -2
  391. package/dist/types/components/utils/formatCurrency.d.ts +3 -3
  392. package/dist/types/components/utils/formatDate.d.ts +6 -6
  393. package/dist/types/components/utils/handleFetch.d.ts +7 -7
  394. package/dist/types/components/utils/hello/detectItemRestrictions.d.ts +10 -10
  395. package/dist/types/components/utils/hello/getZCountryUrlParam.d.ts +2 -0
  396. package/dist/types/components/utils/hello/setZCountryUrlParam.d.ts +2 -0
  397. package/dist/types/components/utils/lightenColor.d.ts +2 -2
  398. package/dist/types/components/utils/mergeConfig.d.ts +1 -1
  399. package/dist/types/components/utils/submitGtag.d.ts +3 -3
  400. package/dist/types/components.d.ts +96 -0
  401. package/dist/types/environment.d.ts +39 -34
  402. package/dist/types/scripts/extractZonosQaUrl.d.ts +11 -0
  403. package/dist/types/scripts/stripe.d.ts +2 -2
  404. package/dist/types/scripts/zonos.d.ts +51 -40
  405. package/dist/types/stencil-public-runtime.d.ts +29 -0
  406. package/dist/types/styles/stripe/addressRuleStyle.d.ts +1 -1
  407. package/dist/types/styles/stripe/defaultVariable.d.ts +2 -2
  408. package/dist/types/types/ICountryJson.d.ts +20 -20
  409. package/dist/types/types/JsonError.d.ts +3 -3
  410. package/dist/types/types/Translation.d.ts +1 -1
  411. package/dist/types/types/checkout/CheckoutConfig.d.ts +55 -53
  412. package/dist/types/types/checkout/api/CalculateLandedCostRequest.d.ts +16 -16
  413. package/dist/types/types/generated/graphql.customer.types.d.ts +2217 -1970
  414. package/dist/types/types/generated/graphql.customer.types.ts +310 -7
  415. package/dist/types/types/generated/graphql.frontend.types.d.ts +649 -450
  416. package/dist/types/types/generated/graphql.frontend.types.ts +358 -11
  417. package/dist/types/types/global.d.ts +12 -0
  418. package/dist/types/types/hello/HelloConfig.d.ts +20 -20
  419. package/dist/types/types/hello/Product.d.ts +3 -3
  420. package/dist/types/types/hello/RestrictedItem.d.ts +1 -1
  421. package/dist/types/types/online-store/OnlineStoreConfig.d.ts +1 -1
  422. package/dist/types/types/stripe/Apperance.d.ts +3 -3
  423. package/dist/types/types/styles/Text.d.ts +90 -90
  424. package/dist/types/types/utils/deep/IDeepKeyof.d.ts +1 -1
  425. package/dist/types/types/utils/deep/IDeepKeyofAtIndex.d.ts +2 -2
  426. package/dist/types/utils/generateVercelDeployUrl.d.ts +2 -2
  427. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  428. package/dist/zonos-elements/index.esm.js +1 -1
  429. package/dist/zonos-elements/p-06fb9d1f.system.entry.js +1 -0
  430. package/dist/zonos-elements/{p-08695f4e.js → p-089ba905.js} +1 -1
  431. package/dist/zonos-elements/{p-f7875c40.js → p-1685c8df.js} +1 -1
  432. package/dist/zonos-elements/p-18904b7c.system.js +2 -0
  433. package/dist/zonos-elements/p-1d4a970b.entry.js +1 -0
  434. package/dist/zonos-elements/p-23e7c655.system.js +1 -1
  435. package/dist/zonos-elements/p-24eed2a8.system.js +1 -0
  436. package/dist/zonos-elements/p-24fbe845.system.js +1 -0
  437. package/dist/zonos-elements/p-2801d868.entry.js +1 -0
  438. package/dist/zonos-elements/p-2a307c55.system.entry.js +1 -0
  439. package/dist/zonos-elements/p-2f43da39.system.entry.js +1 -0
  440. package/dist/zonos-elements/{p-770c959e.js → p-3c6988d7.js} +1 -1
  441. package/dist/zonos-elements/p-3cea383b.system.entry.js +1 -0
  442. package/dist/zonos-elements/p-47390db7.system.entry.js +1 -0
  443. package/dist/zonos-elements/p-4846796a.js +1 -0
  444. package/dist/zonos-elements/p-494c77a7.entry.js +1 -0
  445. package/dist/zonos-elements/p-49f09b91.entry.js +1 -0
  446. package/dist/zonos-elements/p-4a15c5c7.system.entry.js +1 -0
  447. package/dist/zonos-elements/p-4bee0bff.system.entry.js +1 -0
  448. package/dist/zonos-elements/p-4d93275c.entry.js +1 -0
  449. package/dist/zonos-elements/p-4ed71bd7.entry.js +1 -0
  450. package/dist/zonos-elements/{p-bf070bf6.js → p-55f49f1e.js} +1 -1
  451. package/dist/zonos-elements/p-560aa686.system.entry.js +1 -0
  452. package/dist/zonos-elements/p-639396bb.entry.js +1 -0
  453. package/dist/zonos-elements/p-67154df2.system.entry.js +1 -0
  454. package/dist/zonos-elements/p-67aec665.entry.js +1 -0
  455. package/dist/zonos-elements/p-684ed483.entry.js +1 -0
  456. package/dist/zonos-elements/p-89c210d6.entry.js +1 -0
  457. package/dist/zonos-elements/p-8c48b75e.system.js +1 -0
  458. package/dist/zonos-elements/p-8c5595d9.system.entry.js +1 -0
  459. package/dist/zonos-elements/p-938803f4.entry.js +1 -0
  460. package/dist/zonos-elements/p-956efa27.js +2 -0
  461. package/dist/zonos-elements/{p-3f3fbcea.entry.js → p-a0e36ed3.entry.js} +1 -1
  462. package/dist/zonos-elements/p-a376a37f.entry.js +1 -0
  463. package/dist/zonos-elements/p-a504f64f.system.js +1 -0
  464. package/dist/zonos-elements/p-afe26069.entry.js +1 -0
  465. package/dist/zonos-elements/p-b4601210.system.entry.js +1 -0
  466. package/dist/zonos-elements/{p-164fae93.system.js → p-b51de536.system.js} +1 -1
  467. package/dist/zonos-elements/p-b6148206.entry.js +1 -0
  468. package/dist/zonos-elements/p-b85be1ab.system.js +1 -0
  469. package/dist/zonos-elements/p-bc7bf53e.system.js +1 -0
  470. package/dist/zonos-elements/p-c9348bb0.system.entry.js +1 -0
  471. package/dist/zonos-elements/p-d2217f09.system.js +1 -0
  472. package/dist/zonos-elements/p-d856a200.system.entry.js +1 -0
  473. package/dist/zonos-elements/{p-85ab35c9.system.js → p-da060b1c.system.js} +1 -1
  474. package/dist/zonos-elements/p-e1f6ab97.entry.js +1 -0
  475. package/dist/zonos-elements/p-e5ae22a9.system.entry.js +1 -0
  476. package/dist/zonos-elements/p-e98be2d0.system.entry.js +1 -0
  477. package/dist/zonos-elements/p-e9b832c5.entry.js +1 -0
  478. package/dist/zonos-elements/p-edbea8df.system.js +1 -0
  479. package/dist/zonos-elements/p-f141519c.system.entry.js +1 -0
  480. package/dist/zonos-elements/p-f367f2fe.system.entry.js +1 -0
  481. package/dist/zonos-elements/p-ff95f098.js +1 -0
  482. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  483. package/dist/zonos-elements/zonos-elements.js +15 -15
  484. package/package.json +60 -58
  485. package/dist/cjs/cart-55512e32.js +0 -616
  486. package/dist/cjs/getBorderRadius-fdd605c6.js +0 -18
  487. package/dist/cjs/getHasMoreSpaceOnRight-2855491b.js +0 -10
  488. package/dist/cjs/isColorVariable-c1ed7303.js +0 -16
  489. package/dist/cjs/localization-d7fe7290.js +0 -3606
  490. package/dist/cjs/submitGtag-d65003f9.js +0 -27
  491. package/dist/collection/components/utils/api/getZonosSetting.js +0 -11
  492. package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js +0 -9
  493. package/dist/esm/cart-17650017.js +0 -598
  494. package/dist/esm/getBorderRadius-45764ad7.js +0 -16
  495. package/dist/esm/getHasMoreSpaceOnRight-feba1ae2.js +0 -8
  496. package/dist/esm/isColorVariable-4cda28c9.js +0 -14
  497. package/dist/esm/localization-f3828793.js +0 -3592
  498. package/dist/esm/submitGtag-a901ece5.js +0 -24
  499. package/dist/esm-es5/cart-17650017.js +0 -1
  500. package/dist/esm-es5/getBorderRadius-45764ad7.js +0 -1
  501. package/dist/esm-es5/getHasMoreSpaceOnRight-feba1ae2.js +0 -1
  502. package/dist/esm-es5/index-d1aa9293.js +0 -2
  503. package/dist/esm-es5/zonosStore-05a62104.js +0 -1
  504. package/dist/types/components/utils/api/getZonosSetting.d.ts +0 -8
  505. package/dist/types/components/utils/hello/setZonosCountryUrlParam.d.ts +0 -2
  506. package/dist/zonos-elements/p-0190f7c4.entry.js +0 -1
  507. package/dist/zonos-elements/p-0e0b46a5.js +0 -1
  508. package/dist/zonos-elements/p-0ed3bb9f.system.entry.js +0 -1
  509. package/dist/zonos-elements/p-15b71f0b.system.entry.js +0 -1
  510. package/dist/zonos-elements/p-224125da.system.entry.js +0 -1
  511. package/dist/zonos-elements/p-23204b78.system.entry.js +0 -1
  512. package/dist/zonos-elements/p-28681677.entry.js +0 -1
  513. package/dist/zonos-elements/p-2b6325ab.entry.js +0 -1
  514. package/dist/zonos-elements/p-36425562.system.entry.js +0 -1
  515. package/dist/zonos-elements/p-3a56c240.entry.js +0 -1
  516. package/dist/zonos-elements/p-43a25dab.entry.js +0 -1
  517. package/dist/zonos-elements/p-4a5096d2.system.js +0 -1
  518. package/dist/zonos-elements/p-64fdb7b6.system.js +0 -1
  519. package/dist/zonos-elements/p-68d06767.system.js +0 -2
  520. package/dist/zonos-elements/p-6d82986c.system.entry.js +0 -1
  521. package/dist/zonos-elements/p-6dcd752e.system.js +0 -1
  522. package/dist/zonos-elements/p-6e7cd3f7.entry.js +0 -1
  523. package/dist/zonos-elements/p-7bacecf7.entry.js +0 -1
  524. package/dist/zonos-elements/p-824395fd.system.entry.js +0 -1
  525. package/dist/zonos-elements/p-8378d94e.js +0 -1
  526. package/dist/zonos-elements/p-84b00605.system.entry.js +0 -1
  527. package/dist/zonos-elements/p-8a75b765.system.entry.js +0 -1
  528. package/dist/zonos-elements/p-8aabbb9b.system.js +0 -1
  529. package/dist/zonos-elements/p-8b415737.system.entry.js +0 -1
  530. package/dist/zonos-elements/p-8c867835.system.js +0 -1
  531. package/dist/zonos-elements/p-9202375f.entry.js +0 -1
  532. package/dist/zonos-elements/p-9688bb12.entry.js +0 -1
  533. package/dist/zonos-elements/p-98a6e093.system.entry.js +0 -1
  534. package/dist/zonos-elements/p-a1fa50fb.entry.js +0 -1
  535. package/dist/zonos-elements/p-aca66238.system.entry.js +0 -1
  536. package/dist/zonos-elements/p-b618cf03.entry.js +0 -1
  537. package/dist/zonos-elements/p-b75ffe64.system.entry.js +0 -1
  538. package/dist/zonos-elements/p-bc2c42f5.entry.js +0 -1
  539. package/dist/zonos-elements/p-c8ad044e.system.entry.js +0 -1
  540. package/dist/zonos-elements/p-cc070c1c.entry.js +0 -1
  541. package/dist/zonos-elements/p-cc1c785c.system.entry.js +0 -1
  542. package/dist/zonos-elements/p-cd71e41e.entry.js +0 -1
  543. package/dist/zonos-elements/p-cf97cc68.system.entry.js +0 -1
  544. package/dist/zonos-elements/p-d6b8563b.system.entry.js +0 -1
  545. package/dist/zonos-elements/p-dc8d7000.js +0 -2
  546. package/dist/zonos-elements/p-e5908de2.entry.js +0 -1
  547. package/dist/zonos-elements/p-f6add79c.system.js +0 -1
  548. package/dist/zonos-elements/p-f8491335.system.js +0 -1
  549. package/dist/zonos-elements/p-f868ed42.entry.js +0 -1
  550. package/dist/zonos-elements/p-f95ac9ec.system.js +0 -1
  551. /package/dist/esm-es5/{isColorVariable-4cda28c9.js → isColorVariable-91c33804.js} +0 -0
  552. /package/dist/zonos-elements/{p-0636859b.js → p-4c414a92.js} +0 -0
  553. /package/dist/zonos-elements/{p-b6c499d4.js → p-5883217a.js} +0 -0
@@ -1,10 +1,30 @@
1
1
  'use strict';
2
2
 
3
3
  const log = (message, type, ...additionalInfo) => {
4
+ var _a;
4
5
  // if type is error and debug is false, do not log
5
6
  if (!window.Zonos.debug) {
6
7
  return;
7
8
  }
9
+ let loggingIframe = document.querySelector('iframe#zonos---debug-logging-iframe');
10
+ if (!loggingIframe) {
11
+ // add a hidden iframe
12
+ loggingIframe = document.createElement('iframe');
13
+ loggingIframe.id = 'zonos---debug-logging-iframe';
14
+ loggingIframe.style.display = 'none';
15
+ loggingIframe.style.opacity = '0';
16
+ loggingIframe.style.position = 'absolute';
17
+ loggingIframe.style.top = '-9999px';
18
+ loggingIframe.style.left = '-9999px';
19
+ loggingIframe.style.width = '1px';
20
+ loggingIframe.style.height = '1px';
21
+ loggingIframe.style.border = 'none';
22
+ loggingIframe.style.overflow = 'hidden';
23
+ loggingIframe.style.visibility = 'hidden';
24
+ document.body.appendChild(loggingIframe);
25
+ }
26
+ // use the logging iframe's console to log just in case the console is disabled (overriden) by the site owner
27
+ const console = ((_a = loggingIframe.contentWindow) === null || _a === void 0 ? void 0 : _a.window.console) || window.console;
8
28
  switch (type) {
9
29
  case 'warn':
10
30
  // eslint-disable-next-line no-console
@@ -30,6 +50,33 @@ const logError = (message, ...rest) => {
30
50
  console.error(message, ...rest);
31
51
  };
32
52
 
53
+ /**
54
+ * Extracts the zonosQaUrl from the url
55
+ *
56
+ * @param url - url to extract zonosQaUrl from
57
+ *
58
+ * **NOTE**: value of zonosQaUrl param should be without protocol, allowed characters are: a-z, A-Z, 0-9, -, _
59
+ * @example
60
+ * valid: https://www.zonos.com/?zonosQaUrl=some-feature-v988
61
+ * invalid: https://www.zonos.com/?zonosQaUrl=https://zonos-something
62
+ */
63
+ const extractZonosQaUrl = (url) => {
64
+ if (!url) {
65
+ return null;
66
+ }
67
+ // get params from url
68
+ const param = new URL(url).searchParams;
69
+ const zonosQaUrl = param.get('zonosQaUrl');
70
+ if (!zonosQaUrl) {
71
+ return null;
72
+ }
73
+ const hasInvalidCharacters = /[^a-zA-Z0-9-_]+/.test(zonosQaUrl);
74
+ if (!!hasInvalidCharacters) {
75
+ return null;
76
+ }
77
+ return zonosQaUrl;
78
+ };
79
+
33
80
  /* eslint-disable no-console */
34
81
  /** Loading stripe script extracted from stripe.js repository */
35
82
  const V3_URL = 'https://js.stripe.com/v3';
@@ -141,44 +188,40 @@ const zonosLoadStripe = async (...args) => {
141
188
  };
142
189
 
143
190
  var _a;
144
- // 3 hours
145
- const EXPIRED_QA_TIME = 3 * 60 * 60 * 1000;
146
- // validate the time format (yyyymmddhhmmss) in the qa params if exceeds 1 hour, don't use qa
147
- const isZonosQa = (() => {
148
- const zonosQaTime = window.location.search.match(/\?.*(&*)zonosQa=(\d+)/);
149
- if (!zonosQaTime) {
150
- return false;
151
- }
152
- const [, , zonosQaTimeExtracted] = zonosQaTime;
153
- if (!zonosQaTimeExtracted) {
154
- return false;
155
- }
156
- const zonosQaTimeValue = parseInt(zonosQaTimeExtracted, 10);
157
- const now = new Date();
158
- const nowTime = now.getTime();
159
- const isValid = nowTime - zonosQaTimeValue < EXPIRED_QA_TIME;
160
- if (isValid) {
161
- // Zonos class is not available in here yet, so we use console.warn instead of log util
162
- // eslint-disable-next-line no-console
163
- console.warn(`[ZONOS-WARNING] USING DEBUG DOMAIN, THIS IS ONLY FOR ZONOS DEVELOPER TO DEBUG, PLEASE REMOVE zonosQa=xxx OUT OF URL IF YOU DON'T KNOW WHAT YOU'RE DOING`);
191
+ const zonosQaUrl = (() => {
192
+ const qaUrl = extractZonosQaUrl(window.location.href);
193
+ if (!qaUrl) {
194
+ return null;
164
195
  }
165
- else {
166
- // Zonos class is not available in here yet, so we use console.warn instead of log util
196
+ const suffixDomain = 'preview.js.zonos.com';
197
+ const fullUrl = `https://${qaUrl}.${suffixDomain}`;
198
+ // eslint-disable-next-line no-console
199
+ console.warn(`[ZONOS-WARNING] using '${fullUrl}' for loading script`);
200
+ // request to the url and check if the request has an error
201
+ void fetch(fullUrl)
202
+ .then(() => {
203
+ // cleanup checkout session to avoid using the prod session in preview domain
204
+ window.sessionStorage.removeItem('zonos--checkout-session-id');
205
+ window.sessionStorage.removeItem('zonos--client-secret');
206
+ })
207
+ .catch(() => {
167
208
  // eslint-disable-next-line no-console
168
- console.warn(`[ZONOS-WARNING] QA DOMAIN IS EXPIRED, USING PRODUCTION DOMAIN NOW`);
169
- // remove the zonosQa param from url
209
+ alert(`[ZONOS-WARNING] '${fullUrl}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);
210
+ // remove the zonosQaUrl param from url
170
211
  const urlSearchParams = new URLSearchParams(window.location.search);
171
- urlSearchParams.delete('zonosQa');
172
- const newUrl = `${window.location.pathname}?${urlSearchParams.toString()}`;
212
+ urlSearchParams.delete('zonosQaUrl');
213
+ const { pathname } = window.location;
214
+ const newUrl = `${pathname}?${urlSearchParams.toString()}`;
173
215
  window.history.replaceState({}, '', newUrl);
174
- }
175
- return isValid;
216
+ window.location.reload();
217
+ return null;
218
+ });
219
+ return fullUrl;
176
220
  })();
177
- const ZONOS_URL = isZonosQa
178
- ? 'https://debug.js.zonos.com'
179
- : "https://v1.2.3.js.zonos.com";
180
- const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.3";
221
+ const ZONOS_URL = zonosQaUrl || "https://v1.2.4-alpha.10.js.zonos.com";
222
+ const UNPKG_ZONOS_URL = "https://unpkg.com/@zonos/elements@1.2.4-alpha.10";
181
223
  const INTER_FONT_URL = 'https://rsms.me';
224
+ const GOOGLE_FONT_URL = 'https://fonts.googleapis.com';
182
225
  const INTER_FONT_REGEX = /^https:\/\/rsms\.me\/inter\/inter\.css(.*)$/;
183
226
  class Zonos {
184
227
  }
@@ -188,10 +231,13 @@ Zonos.doneInit = false;
188
231
  Zonos.debug = !!window.location.search.match(/\?.*(&*)zonosDebug=1/);
189
232
  Zonos.isBigCommerce = false;
190
233
  Zonos.internationalHideSelector = '';
191
- Zonos.version = `v${"1.2.3"}`;
234
+ Zonos.zonosQaUrl = zonosQaUrl;
235
+ Zonos.version = `v${"1.2.4-alpha.10"}`;
236
+ Zonos.modeAlerted = false;
192
237
  Zonos.getCurrentTimestamp = () => new Date().getTime();
238
+ Zonos.zonosController = null;
193
239
  Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSettings, zonosApiKey, }) => {
194
- if (Zonos.doneInit) {
240
+ if (_a.doneInit) {
195
241
  // do nothing if zonos is already initializeds
196
242
  return;
197
243
  }
@@ -202,14 +248,16 @@ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSett
202
248
  }
203
249
  _a.zonosApiKey = zonosApiKey;
204
250
  log('init zonos');
251
+ // add sentry to the project
252
+ _a.injectSentryScript();
205
253
  // inject zonos cdn
206
- Zonos.injectZonosCdn();
254
+ _a.injectZonosCdn();
207
255
  // inject css for zonos elements
208
- Zonos.injectZonosCss();
256
+ _a.injectZonosCss();
209
257
  // inject fonts for zonos elements
210
- Zonos.injectFonts();
258
+ _a.injectFonts();
211
259
  // init zonos controller
212
- Zonos.injectController({
260
+ _a.injectController({
213
261
  config: {
214
262
  appearance,
215
263
  checkoutSettings,
@@ -218,7 +266,7 @@ Zonos.init = async ({ appearance, checkoutSettings, currencyConverter, helloSett
218
266
  },
219
267
  zonosApiKey,
220
268
  });
221
- Zonos.doneInit = true;
269
+ _a.doneInit = true;
222
270
  };
223
271
  Zonos.displayCurrency = () => {
224
272
  const zonosHello = document.querySelector('zonos-hello');
@@ -227,8 +275,8 @@ Zonos.displayCurrency = () => {
227
275
  }
228
276
  };
229
277
  Zonos.showNotification = (notification) => {
230
- const zonosController = document.querySelector('zonos-controller');
231
- void (zonosController === null || zonosController === void 0 ? void 0 : zonosController.showNotification(notification));
278
+ var _b;
279
+ void ((_b = _a.zonosController) === null || _b === void 0 ? void 0 : _b.showNotification(notification));
232
280
  };
233
281
  Zonos.disablePlaceOrderButtons = ({ autoEnable = true, disable, placeOrderButtonSelector, }) => {
234
282
  // if placeOrderAnchor is passed in the config for checkoutSettings, disable the place order button until zonos is initialized
@@ -295,9 +343,60 @@ Zonos.injectController = ({ config, zonosApiKey, }) => {
295
343
  void zonosController.initCheckoutElement(stripe);
296
344
  });
297
345
  document.body.appendChild(zonosController);
298
- // eslint-disable-next-line no-console
346
+ // set zonos controller to be global
347
+ _a.zonosController = zonosController;
299
348
  log('Zonos controller injected!');
300
349
  };
350
+ Zonos.injectSentryScript = () => {
351
+ const scriptUrl = 'https://browser.sentry-cdn.com/7.88.0/bundle.tracing.min.js';
352
+ const findScript = () => {
353
+ const script = document.querySelector(`script[src="${scriptUrl}"]`);
354
+ return !!script;
355
+ };
356
+ if (findScript()) {
357
+ // eslint-disable-next-line no-console
358
+ log('Sentry script already exists in the document', 'warn');
359
+ return;
360
+ }
361
+ const headOrBody = document.head || document.body;
362
+ // init zonos elements when the zonosKey is valid
363
+ // inject esmodule cdn for zonos elements
364
+ const script = document.createElement('script');
365
+ script.crossOrigin = 'anonymous';
366
+ script.src = scriptUrl;
367
+ script.integrity =
368
+ 'sha384-z/aQww1Fr6Mes0MO/2wlzQd2nXBCdDcKPXDTsMDMNPgTGRPqii3a4bzH79I+Vo8l';
369
+ script.setAttribute('data-lazy', 'no');
370
+ script.onerror = () => {
371
+ logError(`Failed to load ${script.src}`);
372
+ };
373
+ script.onload = () => {
374
+ var _b;
375
+ (_b = window.Sentry) === null || _b === void 0 ? void 0 : _b.init({
376
+ denyUrls: [
377
+ // Facebook flakiness
378
+ /graph\.facebook\.com/i,
379
+ // Facebook blocked
380
+ /connect\.facebook\.net\/en_US\/all\.js/i,
381
+ // Woopra flakiness
382
+ /eatdifferent\.com\.woopra-ns\.com/i,
383
+ /static\.woopra\.com\/js\/woopra\.js/i,
384
+ // Chrome extensions
385
+ /extensions\//i,
386
+ /^chrome:\/\//i,
387
+ /^chrome-extension:\/\//i,
388
+ // Other plugins
389
+ /webappstoolbarba\.texthelp\.com\//i,
390
+ /metrics\.itunes\.apple\.com\.edgesuite\.net\//i,
391
+ /dev.elements.zonos.com/i,
392
+ /js.zonos.com/,
393
+ ],
394
+ dsn: 'https://19168bd05af0e2e0e7520ad58953e4f2@o446983.ingest.sentry.io/4506400622837760',
395
+ release: `zonos-elements@${_a.version}`,
396
+ });
397
+ };
398
+ headOrBody.appendChild(script);
399
+ };
301
400
  Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) => {
302
401
  const fullScriptUrl = `${scriptDomain}/${theRestUrl}`;
303
402
  const findScript = () => {
@@ -320,6 +419,7 @@ Zonos.injectScript = ({ fallBackDomain, isModule, scriptDomain, theRestUrl, }) =
320
419
  script.noModule = true;
321
420
  }
322
421
  script.src = fullScriptUrl;
422
+ script.crossOrigin = 'anonymous';
323
423
  script.onerror = () => {
324
424
  // only fallback if the stylesheetDomain is versioned. (https://v1.2.3.something.com || https://v1.something.com)
325
425
  const isVersioned = /\/\/v\d+\./g.test(scriptDomain);
@@ -390,7 +490,6 @@ Zonos.injectZonosCss = () => {
390
490
  return !!document.querySelector(`link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]`);
391
491
  };
392
492
  if (findStyleLink()) {
393
- // eslint-disable-next-line no-console
394
493
  log('Zonos style links already injected', 'warn');
395
494
  return;
396
495
  }
@@ -400,7 +499,6 @@ Zonos.injectZonosCss = () => {
400
499
  stylesheetDomain: ZONOS_URL,
401
500
  theRestUrl: 'dist/zonos-elements/zonos-elements.css',
402
501
  });
403
- // eslint-disable-next-line no-console
404
502
  log('Zonos style css injected!');
405
503
  };
406
504
  Zonos.injectFonts = () => {
@@ -419,23 +517,49 @@ Zonos.injectFonts = () => {
419
517
  return null;
420
518
  };
421
519
  if (findFont()) {
422
- // eslint-disable-next-line no-console
423
520
  log('Inter font already injected', 'warn');
424
521
  return;
425
522
  }
426
523
  const headOrBody = document.head || document.body;
427
- // inject css for zonos elements
524
+ // inject font css for zonos elements
428
525
  const fontPreconnect = document.createElement('link');
429
526
  fontPreconnect.rel = 'preconnect';
430
527
  fontPreconnect.href = INTER_FONT_URL;
431
528
  headOrBody.appendChild(fontPreconnect);
432
- // inject css for zonos elements
529
+ // inject font css for zonos elements
433
530
  const font = document.createElement('link');
434
531
  font.rel = 'stylesheet';
435
532
  font.href = `${INTER_FONT_URL}/inter/inter.css`;
436
533
  headOrBody.appendChild(font);
437
- // eslint-disable-next-line no-console
438
534
  log('Zonos font injected!');
439
535
  };
536
+ // apply font for zonos elements and inject font if needed
537
+ Zonos.setupGoogleFont = (fontFamily) => {
538
+ var _b;
539
+ void ((_b = _a.zonosController) === null || _b === void 0 ? void 0 : _b.setupGoogleFont(fontFamily));
540
+ };
541
+ // 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
542
+ Zonos.injectSupportGoogleFont = (fontUrl) => {
543
+ var _b;
544
+ log(`[FONT] injecting ${fontUrl}`);
545
+ const fontFamily = (_b = fontUrl.match(/family=(.*?):/)) === null || _b === void 0 ? void 0 : _b[1];
546
+ const headOrBody = document.head || document.body;
547
+ // inject font css for zonos elements
548
+ if (!document.querySelector(`link[rel="preconnect"][href^="${GOOGLE_FONT_URL}"]`)) {
549
+ const customFontPreconnect = document.createElement('link');
550
+ customFontPreconnect.rel = 'preconnect';
551
+ customFontPreconnect.href = GOOGLE_FONT_URL;
552
+ headOrBody.appendChild(customFontPreconnect);
553
+ }
554
+ if (document.querySelector(`link[rel="stylesheet"][href="${fontUrl}"]`)) {
555
+ log(`[FONT] ${fontFamily} font already injected`, 'warn');
556
+ return;
557
+ }
558
+ const customFont = document.createElement('link');
559
+ customFont.rel = 'stylesheet';
560
+ customFont.href = fontUrl;
561
+ headOrBody.appendChild(customFont);
562
+ log(`[FONT] ${fontFamily} font injected!`);
563
+ };
440
564
 
441
565
  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
  }
@@ -1,36 +1,40 @@
1
1
  import { type EventEmitter } from '../../../../stencil-public-runtime';
2
2
  import type { PaymentIntent } from '@stripe/stripe-js';
3
- import type { ElementsUiStyle } from "../../../../types/index";
3
+ import { type ElementsUiStyle } from "../../../../types/index";
4
+ import type { GetOrderQuery } from "../../../../types/generated/graphql.customer.types";
4
5
  type OverrideNotification = {
5
- messages: string[];
6
- title: string;
7
- type: 'success' | 'error';
6
+ messages: string[];
7
+ title: string;
8
+ type: 'success' | 'error';
8
9
  };
9
10
  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;
11
+ /**
12
+ * The border radius style of the dialog
13
+ */
14
+ borderRadius: ElementsUiStyle;
15
+ /**
16
+ * Force status to test the UI for storybook
17
+ */
18
+ storybookForceStatus?: PaymentIntent['status'];
19
+ /**
20
+ * Override the notification message and title, bypass checking stripe payment status
21
+ *
22
+ */
23
+ overrideNotification?: OverrideNotification;
24
+ /**
25
+ * Event to emit when the continue button is clicked
26
+ */
27
+ closeClick: EventEmitter<void>;
28
+ isLoading: boolean;
29
+ notificationType: 'success' | 'error';
30
+ notificationTitle: string;
31
+ notificationMessages: string[];
32
+ order: GetOrderQuery['order'] | null;
33
+ private pullOrder;
34
+ private getPullOrder;
35
+ private checkPaymentStatus;
36
+ private closeClickHandler;
37
+ componentDidLoad(): void;
38
+ render(): any;
35
39
  }
36
40
  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
  }