@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,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { _ as _root, i as isObjectLike_1, e as _baseGetTag, f as isObject_1, z as zonosStore, m as mergeConfig } from './zonosStore.js';
3
- import { h as handleFetch, l as logError, b as localizationStore, i as isValidSelector, t as translate, s as setZonosCountryUrlParam, a as log, e as currencyDisplay, f as currencyConvertAndFormat, g as currencyConvert, j as currencyFormat } from './localization.js';
2
+ import { _ as _root, i as isObjectLike_1, f as _baseGetTag, g as isObject_1, z as zonosStore, m as mergeConfig } from './zonosStore.js';
3
+ import { h as handleFetch, l as logError, b as localizationStore, i as isValidSelector, t as translate, g as getZCountryUrlParam, s as setZCountryUrlParam, a as log, e as currencyDisplay, f as currencyConvertAndFormat, j as currencyConvert, k as currencyFormat } from './localization.js';
4
4
  import { c as classes } from './classes.js';
5
5
  import { g as getHasMoreSpaceOnRight, d as defineCustomElement$7 } from './zonos-hello-dialog2.js';
6
6
  import { d as defineCustomElement$d } from './zonos-banner2.js';
@@ -352,463 +352,463 @@ function debounce(func, wait, options) {
352
352
  var debounce_1 = debounce;
353
353
 
354
354
  const checkItemRestrictions = async ({ items, shipFrom, shipTo, }) => {
355
- var _a;
356
- const url = `${"https://v1.route.js.zonos.com"}/api/check-item-restrictions`;
357
- const body = {
358
- items,
359
- shipFrom,
360
- shipTo,
361
- };
362
- const { errors, json } = await handleFetch(url, { body, method: 'POST' });
363
- if (errors.length || !json) {
364
- logError(`Error fetching item restrictions: ${(_a = errors.find(Boolean)) === null || _a === void 0 ? void 0 : _a.message}`);
365
- return [];
366
- }
367
- return json.filter(Boolean);
355
+ var _a;
356
+ const url = `${"https://v1.route.js.zonos.com"}/api/zonos-elements/check-item-restrictions`;
357
+ const body = {
358
+ items,
359
+ shipFrom,
360
+ shipTo,
361
+ };
362
+ const { errors, json } = await handleFetch(url, { body, method: 'POST' });
363
+ if (errors.length || !json) {
364
+ logError(`Error fetching item restrictions: ${(_a = errors.find(Boolean)) === null || _a === void 0 ? void 0 : _a.message}`);
365
+ return [];
366
+ }
367
+ return json.filter(Boolean);
368
368
  };
369
369
 
370
370
  const detectItemRestrictions = async (newProducts) => {
371
- if (!newProducts.length) {
372
- return [];
373
- }
374
- const { selectedCountryCode } = localizationStore;
375
- if (!selectedCountryCode) {
376
- logError('Hello Could not check item restrictions - No country code selected');
377
- return [];
378
- }
379
- const items = newProducts.map(product => ({
380
- description: product.description,
381
- name: product.title,
382
- }));
383
- const restrictedItems = await checkItemRestrictions({
384
- items: items,
385
- shipFrom: 'AD',
386
- shipTo: selectedCountryCode,
387
- });
388
- const restrictedItemsWithName = restrictedItems.map(item => {
389
- var _a;
390
- const name = ((_a = items.filter(x => x.description === item.itemDescription).find(Boolean)) === null || _a === void 0 ? void 0 : _a.name) || '';
391
- return Object.assign(Object.assign({}, item), { name });
392
- });
393
- return restrictedItemsWithName;
371
+ if (!newProducts.length) {
372
+ return [];
373
+ }
374
+ const { selectedCountryCode } = localizationStore;
375
+ if (!selectedCountryCode) {
376
+ logError('Hello Could not check item restrictions - No country code selected');
377
+ return [];
378
+ }
379
+ const items = newProducts.map(product => ({
380
+ description: product.description,
381
+ name: product.title,
382
+ }));
383
+ const restrictedItems = await checkItemRestrictions({
384
+ items: items,
385
+ shipFrom: 'AD',
386
+ shipTo: selectedCountryCode,
387
+ });
388
+ const restrictedItemsWithName = restrictedItems.map(item => {
389
+ var _a;
390
+ const name = ((_a = items.filter(x => x.description === item.itemDescription).find(Boolean)) === null || _a === void 0 ? void 0 : _a.name) || '';
391
+ return Object.assign(Object.assign({}, item), { name });
392
+ });
393
+ return restrictedItemsWithName;
394
394
  };
395
395
 
396
396
  const getCurrentHelloLocalePage = () => {
397
- const { href } = window.location;
398
- const { cartUrlPattern, homepageUrlPattern, productDetailUrlPattern, productListUrlPattern, } = zonosStore.helloSettings;
399
- // The 'if' statements are sorted by most specific to least specific to help with regex matching
400
- if (cartUrlPattern && new RegExp(cartUrlPattern).test(href)) {
401
- return 'cart';
402
- }
403
- if (productDetailUrlPattern &&
404
- new RegExp(productDetailUrlPattern).test(href)) {
405
- return 'productDetail';
406
- }
407
- if (productListUrlPattern && new RegExp(productListUrlPattern).test(href)) {
408
- return 'productList';
409
- }
410
- if (homepageUrlPattern && new RegExp(homepageUrlPattern).test(href)) {
411
- return 'home';
412
- }
413
- return '';
397
+ const { href } = window.location;
398
+ const { cartUrlPattern, homepageUrlPattern, productDetailUrlPattern, productListUrlPattern, } = zonosStore.helloSettings;
399
+ // The 'if' statements are sorted by most specific to least specific to help with regex matching
400
+ if (cartUrlPattern && new RegExp(cartUrlPattern).test(href)) {
401
+ return 'cart';
402
+ }
403
+ if (productDetailUrlPattern &&
404
+ new RegExp(productDetailUrlPattern).test(href)) {
405
+ return 'productDetail';
406
+ }
407
+ if (productListUrlPattern && new RegExp(productListUrlPattern).test(href)) {
408
+ return 'productList';
409
+ }
410
+ if (homepageUrlPattern && new RegExp(homepageUrlPattern).test(href)) {
411
+ return 'home';
412
+ }
413
+ return '';
414
414
  };
415
415
 
416
416
  const getProductsOnPage = () => {
417
- var _a, _b;
418
- const { productAddToCartElementSelector, productDescriptionElementSelector, productTitleElementSelector, restrictionBehavior, } = zonosStore.helloSettings;
419
- if (!productTitleElementSelector || !productDescriptionElementSelector) {
420
- logError(`Hello Could not check item restrictions - must provide title and description selectors.`);
421
- }
422
- const titleNodes = (productTitleElementSelector &&
423
- isValidSelector(productTitleElementSelector) &&
424
- document.querySelectorAll(productTitleElementSelector)) ||
425
- [];
426
- const descriptionNodes = (productDescriptionElementSelector &&
427
- isValidSelector(productDescriptionElementSelector) &&
428
- document.querySelectorAll(productDescriptionElementSelector)) ||
429
- [];
430
- if (titleNodes.length !== descriptionNodes.length) {
431
- // If the title and description selectors don't match, kill item restrictions altogether
432
- logError('Hello Could not check item restrictions - Title and description selectors do not match');
433
- return [];
434
- }
435
- const shouldDisableCart = restrictionBehavior === 'RESTRICT_AND_BLOCK';
436
- const cartButtonNodes = (shouldDisableCart &&
437
- productAddToCartElementSelector &&
438
- isValidSelector(productAddToCartElementSelector) &&
439
- document.querySelectorAll(productAddToCartElementSelector)) ||
440
- [];
441
- if (shouldDisableCart && cartButtonNodes.length !== descriptionNodes.length) {
442
- // If the "add to cart" selectors don't match, log the error and continue
443
- logError('Hello could not disable "Add to cart" buttons - Title and add to cart selectors do not match');
444
- }
445
- const mergedElements = [];
446
- for (let i = 0; i < titleNodes.length; i++) {
447
- const titleNode = titleNodes[i];
448
- const descriptionNode = descriptionNodes[i];
449
- const cartButtonNode = cartButtonNodes[i];
450
- if (titleNode && descriptionNode) {
451
- const element = {
452
- cartButtonNode: cartButtonNode || null,
453
- description: ((_a = descriptionNode.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '',
454
- title: ((_b = titleNode.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || '',
455
- };
456
- mergedElements.push(element);
417
+ var _a, _b;
418
+ const { productAddToCartElementSelector, productDescriptionElementSelector, productTitleElementSelector, restrictionBehavior, } = zonosStore.helloSettings;
419
+ if (!productTitleElementSelector || !productDescriptionElementSelector) {
420
+ logError(`Hello Could not check item restrictions - must provide title and description selectors.`);
457
421
  }
458
- }
459
- return mergedElements;
422
+ const titleNodes = (productTitleElementSelector &&
423
+ isValidSelector(productTitleElementSelector) &&
424
+ document.querySelectorAll(productTitleElementSelector)) ||
425
+ [];
426
+ const descriptionNodes = (productDescriptionElementSelector &&
427
+ isValidSelector(productDescriptionElementSelector) &&
428
+ document.querySelectorAll(productDescriptionElementSelector)) ||
429
+ [];
430
+ if (titleNodes.length !== descriptionNodes.length) {
431
+ // If the title and description selectors don't match, kill item restrictions altogether
432
+ logError('Hello Could not check item restrictions - Title and description selectors do not match');
433
+ return [];
434
+ }
435
+ const shouldDisableCart = restrictionBehavior === 'RESTRICT_AND_BLOCK';
436
+ const cartButtonNodes = (shouldDisableCart &&
437
+ productAddToCartElementSelector &&
438
+ isValidSelector(productAddToCartElementSelector) &&
439
+ document.querySelectorAll(productAddToCartElementSelector)) ||
440
+ [];
441
+ if (shouldDisableCart && cartButtonNodes.length !== descriptionNodes.length) {
442
+ // If the "add to cart" selectors don't match, log the error and continue
443
+ logError('Hello could not disable "Add to cart" buttons - Title and add to cart selectors do not match');
444
+ }
445
+ const mergedElements = [];
446
+ for (let i = 0; i < titleNodes.length; i++) {
447
+ const titleNode = titleNodes[i];
448
+ const descriptionNode = descriptionNodes[i];
449
+ const cartButtonNode = cartButtonNodes[i];
450
+ if (titleNode && descriptionNode) {
451
+ const element = {
452
+ cartButtonNode: cartButtonNode || null,
453
+ description: ((_a = descriptionNode.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '',
454
+ title: ((_b = titleNode.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || '',
455
+ };
456
+ mergedElements.push(element);
457
+ }
458
+ }
459
+ return mergedElements;
460
460
  };
461
461
 
462
- const zonosHelloCss = ":host{font-family:Inter;display:block}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{display:inline-block}:host .zonos--hello-wrapper{position:relative}:host .zonos--hello-wrapper .zonos--hello-dialog-wrapper-mobile-override{position:fixed;bottom:0;left:0;width:100vw;z-index:1001;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}@media (max-width: 768px){:host .zonos--hello-wrapper{position:fixed;bottom:0;left:0;width:100vw;z-index:1001;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}}:host .zonos--hello-widget{-webkit-transition:all 0.7s cubic-bezier(0.31, -0.02, 0.06, 1.53);transition:all 0.7s cubic-bezier(0.31, -0.02, 0.06, 1.53);padding:6px;border-radius:30px;background:var(--amino-page-background);font-size:var(--amino-font-size-s);border:var(--amino-border);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;z-index:1000}:host .zonos--hello-widget>.zonos--hello-message{-ms-flex-order:0;order:0;width:100%;max-width:0;height:100%;white-space:nowrap;-webkit-transition:border 0.3s ease-in, all 0.7s cubic-bezier(0.31, -0.02, 0.06, 1.53);transition:border 0.3s ease-in, all 0.7s cubic-bezier(0.31, -0.02, 0.06, 1.53);overflow:hidden;color:var(--amino-text-color);position:absolute;background:var(--amino-page-background);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-top-left-radius:30px;border-bottom-left-radius:30px;left:0;-webkit-transform:translateX(calc(-100% + var(--amino-space-16)));transform:translateX(calc(-100% + var(--amino-space-16)));width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border-top:var(--amino-border);border-bottom:var(--amino-border)}:host .zonos--hello-widget.zonos--hello-has-restrictions{background:var(--amino-red-100);border:1px solid var(--amino-red-200)}:host .zonos--hello-widget.zonos--hello-has-restrictions>.zonos--hello-message{background:var(--amino-red-100);color:var(--amino-red-800);font-weight:500}:host .zonos--hello-widget.zonos--hello-has-restrictions.zonos--hello-show-peek-message>.zonos--hello-message{border:1px solid var(--amino-red-200)}:host .zonos--hello-widget.zonos--hello-show-peek-message{max-width:100vw;width:100%}:host .zonos--hello-widget.zonos--hello-show-peek-message>.zonos--hello-message{max-width:100vw;padding:0 6px;padding-right:var(--amino-space-16);border:var(--amino-border)}:host .zonos--hello-widget.zonos--hello-show-peek-message:not(.zonos--hello-widget-animate-from-left){border-top-left-radius:0;border-bottom-left-radius:0}:host .zonos--hello-widget.zonos--hello-show-peek-message:not(.zonos--hello-widget-animate-from-left)>.zonos--hello-message{border-right:none}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left{border-top-right-radius:0;border-bottom-right-radius:0}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left>.zonos--hello-message{border-left:0}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left>.zonos--hello-message{padding-left:var(--amino-space-16);padding-right:6px;border-left:none}:host .zonos--hello-widget.zonos--hello-widget-animate-from-left>.zonos--hello-message{-ms-flex-order:1;order:1;-webkit-transform:translateX(calc(100% - var(--amino-space-16)));transform:translateX(calc(100% - var(--amino-space-16)));right:0;left:auto;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:30px;border-bottom-right-radius:30px}:host .zonos--hello-widget .zonos--hello-country-flag-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}:host .zonos--hello-widget .zonos--hello-country-flag-wrapper .zonos--hello-country-flag{height:18px;width:18px;position:relative;overflow:hidden;border-radius:30px;-webkit-box-shadow:var(--amino-v3-shadow-medium);box-shadow:var(--amino-v3-shadow-medium);z-index:10;justify-self:center}@media (max-width: 768px){:host .zonos--hello-widget .zonos--hello-country-flag-wrapper .zonos--hello-country-flag{border-radius:var(--amino-radius-4);width:24px}}@media (max-width: 768px){:host .zonos--hello-widget{position:fixed;bottom:var(--amino-space-32);right:var(--amino-space-32);border-radius:var(--amino-radius-4);padding:var(--amino-space-4);border:1px solid transparent}:host .zonos--hello-widget.zonos--hello-widget-left{left:var(--amino-space-32);right:auto}:host .zonos--hello-widget.zonos--hello-widget-top{bottom:auto;top:var(--amino-space-32)}:host .zonos--hello-widget.zonos--hello-has-restrictions.zonos--hello-show-peek-message>.zonos--hello-message{border:none}:host .zonos--hello-widget>.zonos--hello-message{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:30px;top:0;bottom:0;left:0;-webkit-transform:translateX(0);transform:translateX(0);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border:none}:host .zonos--hello-widget.zonos--hello-widget-animate-from-left>.zonos--hello-message{-webkit-transform:translateX(0);transform:translateX(0)}:host .zonos--hello-widget.zonos--hello-show-peek-message{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host .zonos--hello-widget.zonos--hello-show-peek-message:not(.zonos--hello-widget-animate-from-left){border-top-left-radius:var(--amino-radius-4);border-bottom-left-radius:var(--amino-radius-4)}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left{border-top-right-radius:var(--amino-radius-4);border-bottom-right-radius:var(--amino-radius-4)}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left>.zonos--hello-message{padding-left:var(--amino-space-8);padding-right:var(--amino-space-4)}:host .zonos--hello-widget.zonos--hello-show-peek-message>.zonos--hello-message{padding:0 var(--amino-radius-4);padding-right:6px;border:none}:host .zonos--hello-widget .zonos--hello-country-flag-wrapper{border-radius:var(--amino-radius-4)}}:host .zonos--hello-mobile-override.zonos--hello-widget{position:fixed;bottom:var(--amino-space-32);right:var(--amino-space-32);border-radius:var(--amino-radius-4);padding:var(--amino-space-4);border:1px solid transparent}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-widget-left{left:var(--amino-space-32);right:auto}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-widget-top{bottom:auto;top:var(--amino-space-32)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-has-restrictions.zonos--hello-show-peek-message>.zonos--hello-message{border:none}:host .zonos--hello-mobile-override.zonos--hello-widget>.zonos--hello-message{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:30px;top:0;bottom:0;left:0;-webkit-transform:translateX(0);transform:translateX(0);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border:none}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-widget-animate-from-left>.zonos--hello-message{-webkit-transform:translateX(0);transform:translateX(0)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message:not(.zonos--hello-widget-animate-from-left){border-top-left-radius:var(--amino-radius-4);border-bottom-left-radius:var(--amino-radius-4)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left{border-top-right-radius:var(--amino-radius-4);border-bottom-right-radius:var(--amino-radius-4)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left>.zonos--hello-message{padding-left:var(--amino-space-8);padding-right:var(--amino-space-4)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message>.zonos--hello-message{padding:0 var(--amino-radius-4);padding-right:6px;border:none}:host .zonos--hello-mobile-override.zonos--hello-widget .zonos--hello-country-flag-wrapper{border-radius:var(--amino-radius-4)}:host .zonos--hello-mobile-override.zonos--hello-widget .zonos--hello-country-flag{border-radius:var(--amino-radius-4);width:24px}";
462
+ const zonosHelloCss = ":host{font-family:var(--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{display:inline-block}:host .zonos--hello-wrapper{position:relative}:host .zonos--hello-wrapper .zonos--hello-dialog-wrapper-mobile-override{position:fixed;bottom:0;left:0;width:100vw;z-index:1001;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}@media (max-width: 768px){:host .zonos--hello-wrapper{position:fixed;bottom:0;left:0;width:100vw;z-index:1001;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}}:host .zonos--hello-widget{-webkit-transition:all 0.7s cubic-bezier(0.31, -0.02, 0.06, 1.53);transition:all 0.7s cubic-bezier(0.31, -0.02, 0.06, 1.53);padding:6px;border-radius:30px;background:var(--amino-page-background);font-size:var(--amino-font-size-s);border:var(--amino-border);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;z-index:1000}:host .zonos--hello-widget>.zonos--hello-message{-ms-flex-order:0;order:0;max-width:0;height:100%;white-space:nowrap;-webkit-transition:border 0.3s ease-in, all 0.7s cubic-bezier(0.31, -0.02, 0.06, 1.53);transition:border 0.3s ease-in, all 0.7s cubic-bezier(0.31, -0.02, 0.06, 1.53);overflow:hidden;color:var(--amino-text-color);position:absolute;background:var(--amino-page-background);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-top-left-radius:30px;border-bottom-left-radius:30px;left:0;-webkit-transform:translateX(calc(-100% + var(--amino-space-16)));transform:translateX(calc(-100% + var(--amino-space-16)));width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border-top:var(--amino-border);border-bottom:var(--amino-border)}:host .zonos--hello-widget.zonos--hello-has-restrictions{background:var(--amino-red-100);border:1px solid var(--amino-red-200)}:host .zonos--hello-widget.zonos--hello-has-restrictions>.zonos--hello-message{background:var(--amino-red-100);color:var(--amino-red-800);font-weight:500}:host .zonos--hello-widget.zonos--hello-has-restrictions.zonos--hello-show-peek-message>.zonos--hello-message{border:1px solid var(--amino-red-200)}:host .zonos--hello-widget.zonos--hello-show-peek-message{max-width:100vw;width:100%}:host .zonos--hello-widget.zonos--hello-show-peek-message>.zonos--hello-message{max-width:100vw;padding:0 6px;padding-right:var(--amino-space-16);border:var(--amino-border)}:host .zonos--hello-widget.zonos--hello-show-peek-message:not(.zonos--hello-widget-animate-from-left){border-top-left-radius:0;border-bottom-left-radius:0}:host .zonos--hello-widget.zonos--hello-show-peek-message:not(.zonos--hello-widget-animate-from-left)>.zonos--hello-message{border-right:none}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left{border-top-right-radius:0;border-bottom-right-radius:0}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left>.zonos--hello-message{border-left:0}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left>.zonos--hello-message{padding-left:var(--amino-space-16);padding-right:6px;border-left:none}:host .zonos--hello-widget.zonos--hello-widget-animate-from-left>.zonos--hello-message{-ms-flex-order:1;order:1;-webkit-transform:translateX(calc(100% - var(--amino-space-16)));transform:translateX(calc(100% - var(--amino-space-16)));right:0;left:auto;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:30px;border-bottom-right-radius:30px}:host .zonos--hello-widget .zonos--hello-country-flag-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}:host .zonos--hello-widget .zonos--hello-country-flag-wrapper .zonos--hello-country-flag{height:18px;width:18px;position:relative;overflow:hidden;border-radius:30px;-webkit-box-shadow:var(--amino-v3-shadow-medium);box-shadow:var(--amino-v3-shadow-medium);z-index:10;justify-self:center}@media (max-width: 768px){:host .zonos--hello-widget .zonos--hello-country-flag-wrapper .zonos--hello-country-flag{border-radius:var(--amino-radius-4);width:24px}}@media (max-width: 768px){:host .zonos--hello-widget{position:fixed;bottom:var(--amino-space-32);right:var(--amino-space-32);border-radius:var(--amino-radius-4);padding:var(--amino-space-4);border:1px solid transparent}:host .zonos--hello-widget.zonos--hello-widget-left{left:var(--amino-space-32);right:auto}:host .zonos--hello-widget.zonos--hello-widget-top{bottom:auto;top:var(--amino-space-32)}:host .zonos--hello-widget.zonos--hello-has-restrictions.zonos--hello-show-peek-message>.zonos--hello-message{border:none}:host .zonos--hello-widget>.zonos--hello-message{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:30px;top:0;bottom:0;left:0;-webkit-transform:translateX(0);transform:translateX(0);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border:none}:host .zonos--hello-widget.zonos--hello-widget-animate-from-left>.zonos--hello-message{-webkit-transform:translateX(0);transform:translateX(0)}:host .zonos--hello-widget.zonos--hello-show-peek-message{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host .zonos--hello-widget.zonos--hello-show-peek-message:not(.zonos--hello-widget-animate-from-left){border-top-left-radius:var(--amino-radius-4);border-bottom-left-radius:var(--amino-radius-4)}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left{border-top-right-radius:var(--amino-radius-4);border-bottom-right-radius:var(--amino-radius-4)}:host .zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left>.zonos--hello-message{padding-left:var(--amino-space-8);padding-right:var(--amino-space-4)}:host .zonos--hello-widget.zonos--hello-show-peek-message>.zonos--hello-message{padding:0 var(--amino-radius-4);padding-right:6px;border:none}:host .zonos--hello-widget .zonos--hello-country-flag-wrapper{border-radius:var(--amino-radius-4)}}:host .zonos--hello-mobile-override.zonos--hello-widget{position:fixed;bottom:var(--amino-space-32);right:var(--amino-space-32);border-radius:var(--amino-radius-4);padding:var(--amino-space-4);border:1px solid transparent}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-widget-left{left:var(--amino-space-32);right:auto}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-widget-top{bottom:auto;top:var(--amino-space-32)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-has-restrictions.zonos--hello-show-peek-message>.zonos--hello-message{border:none}:host .zonos--hello-mobile-override.zonos--hello-widget>.zonos--hello-message{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:30px;top:0;bottom:0;left:0;-webkit-transform:translateX(0);transform:translateX(0);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border:none}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-widget-animate-from-left>.zonos--hello-message{-webkit-transform:translateX(0);transform:translateX(0)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message:not(.zonos--hello-widget-animate-from-left){border-top-left-radius:var(--amino-radius-4);border-bottom-left-radius:var(--amino-radius-4)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left{border-top-right-radius:var(--amino-radius-4);border-bottom-right-radius:var(--amino-radius-4)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message.zonos--hello-widget-animate-from-left>.zonos--hello-message{padding-left:var(--amino-space-8);padding-right:var(--amino-space-4)}:host .zonos--hello-mobile-override.zonos--hello-widget.zonos--hello-show-peek-message>.zonos--hello-message{padding:0 var(--amino-radius-4);padding-right:6px;border:none}:host .zonos--hello-mobile-override.zonos--hello-widget .zonos--hello-country-flag-wrapper{border-radius:var(--amino-radius-4)}:host .zonos--hello-mobile-override.zonos--hello-widget .zonos--hello-country-flag{border-radius:var(--amino-radius-4);width:24px}";
463
463
 
464
464
  const PEEK_MESSAGE_CLOSE_DELAY_MS = 3000;
465
465
  const RESIZE_DEBOUNCE_DELAY_MS = 500;
466
466
  const ZonosHello$1 = /*@__PURE__*/ proxyCustomElement(class ZonosHello extends HTMLElement {
467
- constructor() {
468
- super();
469
- this.__registerHost();
470
- this.__attachShadow();
471
- this.getHelloPeekMessage = () => {
472
- const isRestrictionPage = zonosStore.currentHelloPage === 'productDetail' ||
473
- zonosStore.currentHelloPage === 'productList';
474
- if (isRestrictionPage && this.allRestrictedItems.length) {
475
- const clickMessage = translate('click to learn more');
476
- const restrictMessage = zonosStore.currentHelloPage === 'productDetail'
477
- ? translate('Restricted item')
478
- : translate('Restricted items found');
479
- return `${restrictMessage} - ${clickMessage}`;
480
- }
481
- switch (zonosStore.currentHelloPage) {
482
- case 'cart':
483
- return translate(`Prepay duties and taxes at checkout`);
484
- case 'productList':
485
- case 'productDetail':
486
- return translate(`See duty and tax thresholds`);
487
- default:
488
- return `${translate('Welcome to')} ${zonosStore.organizationName}`;
489
- }
490
- };
491
- this.enableShowPeekMessage = () => {
492
- if (this.peekMessage) {
493
- this.showPeekMessage = true;
494
- }
495
- };
496
- this.getNewItemRestrictions = async (newProducts) => {
497
- const isRestrictionPage = zonosStore.currentHelloPage === 'productDetail' ||
498
- zonosStore.currentHelloPage === 'productList';
499
- // Only run detectItemRestrictions on product pages if the restrictionBehavior is not DISABLED
500
- if (!isRestrictionPage ||
501
- zonosStore.helloSettings.restrictionBehavior === 'DISABLED') {
502
- return [];
503
- }
504
- const newRestrictions = await detectItemRestrictions(newProducts);
505
- return newRestrictions;
506
- };
507
- this.triggerShowPeekMessage = () => {
508
- this.peekMessage = this.getHelloPeekMessage();
509
- const { peekMessageBehavior, peekMessageDelay } = zonosStore.helloSettings;
510
- // peek message delay is passed in seconds, but setTimeout expects milliseconds
511
- const peekMessageDelayToUse = peekMessageDelay * 1000;
512
- if (peekMessageBehavior === 'ENABLED') {
513
- setTimeout(() => {
514
- this.enableShowPeekMessage();
515
- const hasRestrictions = this.allRestrictedItems.some(item => this.productsOnPage.some(product => product.description === item.itemDescription));
516
- if (!hasRestrictions) {
517
- // If restrictions, persist the message until they hover over the hello widget
518
- setTimeout(() => {
519
- this.showPeekMessage = false;
520
- }, PEEK_MESSAGE_CLOSE_DELAY_MS);
521
- }
522
- }, peekMessageDelayToUse);
523
- }
524
- };
525
- this.disableAddToCartButtons = () => {
526
- // Remove disabled attribute from all "add to cart" buttons
527
- if (this.productsOnPage.length) {
528
- this.productsOnPage.forEach(product => {
529
- var _a, _b;
530
- const isRestricted = this.allRestrictedItems.some(item => item.itemDescription === product.description);
531
- // if a product description matches a restrictedItems itemDescription, then disable the add to cart button. Otherwise, enable it.
532
- if (isRestricted) {
533
- (_a = product.cartButtonNode) === null || _a === void 0 ? void 0 : _a.setAttribute('disabled', 'disabled');
534
- }
535
- else {
536
- (_b = product.cartButtonNode) === null || _b === void 0 ? void 0 : _b.removeAttribute('disabled');
537
- }
538
- });
539
- }
540
- };
541
- this.handleItemRestrictions = async () => {
542
- this.productsOnPage = getProductsOnPage();
543
- const newProducts = this.productsOnPage.filter(product => !this.allFoundProducts.some(foundProduct => foundProduct.title === product.title));
544
- const newRestrictions = await this.getNewItemRestrictions(newProducts);
545
- this.allRestrictedItems.push(...newRestrictions);
546
- this.allFoundProducts.push(...newProducts);
547
- this.disableAddToCartButtons();
548
- };
549
- this.reloadHelloData = async () => {
550
- await this.handleItemRestrictions();
551
- this.triggerShowPeekMessage();
552
- void this.displayCurrency();
553
- };
554
- this.handleProductCountChange = debounce_1(() => {
555
- const { productTitleElementSelector } = zonosStore.helloSettings;
556
- if (productTitleElementSelector) {
557
- const allProductsOnPage = getProductsOnPage();
558
- if (this.allFoundProducts.length !== allProductsOnPage.length &&
559
- window.location.href === this.initialUrl) {
560
- // if allFoundProducts length is 0 (first render or no products), kill item restriction process as initial restrictions are handled in updateHelloOnPageChange
561
- if (!this.allFoundProducts.length) {
562
- return;
563
- }
564
- void this.reloadHelloData();
565
- }
566
- }
567
- }, 1000);
568
- this.watchProductCountChange = () => {
569
- const observer = new MutationObserver(this.handleProductCountChange);
570
- observer.observe(document.body, {
571
- childList: true,
572
- subtree: true,
573
- });
574
- };
575
- this.updateHelloOnPageChange = () => {
576
- // If the product count changes on the same url (loading more products), update the peek message and item restrictions
577
- this.watchProductCountChange();
578
- // Check url change on interval. If changed, update the peek message and item restrictions
579
- setInterval(() => {
580
- if (window.location.href !== this.initialUrl) {
581
- const prevUrl = this.initialUrl && new URL(this.initialUrl);
582
- const initialZonosCountry = prevUrl && prevUrl.searchParams.get('zonosCountry');
583
- // If the zonosCountry url param changes, reset current item restriction tracking
584
- if (initialZonosCountry !== localizationStore.selectedCountryCode) {
585
- this.allFoundProducts = [];
586
- this.allRestrictedItems = [];
587
- this.productsOnPage = [];
588
- }
589
- this.initialUrl = window.location.href;
590
- zonosStore.currentHelloPage = getCurrentHelloLocalePage();
591
- const currentUrl = new URL(window.location.href);
592
- const zonosCountry = currentUrl.searchParams.get('zonosCountry');
593
- if (!zonosCountry) {
594
- setZonosCountryUrlParam(localizationStore.selectedCountryCode);
467
+ constructor() {
468
+ super();
469
+ this.__registerHost();
470
+ this.__attachShadow();
471
+ this.getHelloPeekMessage = () => {
472
+ const isRestrictionPage = zonosStore.currentHelloPage === 'productDetail' ||
473
+ zonosStore.currentHelloPage === 'productList';
474
+ if (isRestrictionPage && this.allRestrictedItems.length) {
475
+ const clickMessage = translate('click to learn more');
476
+ const restrictMessage = zonosStore.currentHelloPage === 'productDetail'
477
+ ? translate('Restricted item')
478
+ : translate('Restricted items found');
479
+ return `${restrictMessage} - ${clickMessage}`;
480
+ }
481
+ switch (zonosStore.currentHelloPage) {
482
+ case 'cart':
483
+ return translate(`Prepay duties and taxes at checkout`);
484
+ case 'productList':
485
+ case 'productDetail':
486
+ return translate(`See duty and tax thresholds`);
487
+ default:
488
+ return `${translate('Welcome to')} ${zonosStore.organizationName}`;
489
+ }
490
+ };
491
+ this.enableShowPeekMessage = () => {
492
+ if (this.peekMessage) {
493
+ this.showPeekMessage = true;
494
+ }
495
+ };
496
+ this.getNewItemRestrictions = async (newProducts) => {
497
+ const isRestrictionPage = zonosStore.currentHelloPage === 'productDetail' ||
498
+ zonosStore.currentHelloPage === 'productList';
499
+ // Only run detectItemRestrictions on product pages if the restrictionBehavior is not DISABLED
500
+ if (!isRestrictionPage ||
501
+ zonosStore.helloSettings.restrictionBehavior === 'DISABLED') {
502
+ return [];
503
+ }
504
+ const newRestrictions = await detectItemRestrictions(newProducts);
505
+ return newRestrictions;
506
+ };
507
+ this.triggerShowPeekMessage = () => {
508
+ this.peekMessage = this.getHelloPeekMessage();
509
+ const { peekMessageBehavior, peekMessageDelay } = zonosStore.helloSettings;
510
+ // peek message delay is passed in seconds, but setTimeout expects milliseconds
511
+ const peekMessageDelayToUse = peekMessageDelay * 1000;
512
+ if (peekMessageBehavior === 'ENABLED') {
513
+ setTimeout(() => {
514
+ this.enableShowPeekMessage();
515
+ const hasRestrictions = this.allRestrictedItems.some(item => this.productsOnPage.some(product => product.description === item.itemDescription));
516
+ if (!hasRestrictions) {
517
+ // If restrictions, persist the message until they hover over the hello widget
518
+ setTimeout(() => {
519
+ this.showPeekMessage = false;
520
+ }, PEEK_MESSAGE_CLOSE_DELAY_MS);
521
+ }
522
+ }, peekMessageDelayToUse);
523
+ }
524
+ };
525
+ this.disableAddToCartButtons = () => {
526
+ // Remove disabled attribute from all "add to cart" buttons
527
+ if (this.productsOnPage.length) {
528
+ this.productsOnPage.forEach(product => {
529
+ var _a, _b;
530
+ const isRestricted = this.allRestrictedItems.some(item => item.itemDescription === product.description);
531
+ // if a product description matches a restrictedItems itemDescription, then disable the add to cart button. Otherwise, enable it.
532
+ if (isRestricted) {
533
+ (_a = product.cartButtonNode) === null || _a === void 0 ? void 0 : _a.setAttribute('disabled', 'disabled');
534
+ }
535
+ else {
536
+ (_b = product.cartButtonNode) === null || _b === void 0 ? void 0 : _b.removeAttribute('disabled');
537
+ }
538
+ });
539
+ }
540
+ };
541
+ this.handleItemRestrictions = async () => {
542
+ this.productsOnPage = getProductsOnPage();
543
+ const newProducts = this.productsOnPage.filter(product => !this.allFoundProducts.some(foundProduct => foundProduct.title === product.title));
544
+ const newRestrictions = await this.getNewItemRestrictions(newProducts);
545
+ this.allRestrictedItems.push(...newRestrictions);
546
+ this.allFoundProducts.push(...newProducts);
547
+ this.disableAddToCartButtons();
548
+ };
549
+ this.reloadHelloData = async () => {
550
+ await this.handleItemRestrictions();
551
+ this.triggerShowPeekMessage();
552
+ void this.displayCurrency();
553
+ };
554
+ this.handleProductCountChange = debounce_1(() => {
555
+ const { productTitleElementSelector } = zonosStore.helloSettings;
556
+ if (productTitleElementSelector) {
557
+ const allProductsOnPage = getProductsOnPage();
558
+ if (this.allFoundProducts.length !== allProductsOnPage.length &&
559
+ window.location.href === this.initialUrl) {
560
+ // if allFoundProducts length is 0 (first render or no products), kill item restriction process as initial restrictions are handled in updateHelloOnPageChange
561
+ if (!this.allFoundProducts.length) {
562
+ return;
563
+ }
564
+ void this.reloadHelloData();
565
+ }
566
+ }
567
+ }, 1000);
568
+ this.watchProductCountChange = () => {
569
+ const observer = new MutationObserver(this.handleProductCountChange);
570
+ observer.observe(document.body, {
571
+ childList: true,
572
+ subtree: true,
573
+ });
574
+ };
575
+ this.updateHelloOnPageChange = () => {
576
+ // If the product count changes on the same url (loading more products), update the peek message and item restrictions
577
+ this.watchProductCountChange();
578
+ // Check url change on interval. If changed, update the peek message and item restrictions
579
+ setInterval(() => {
580
+ if (window.location.href !== this.initialUrl) {
581
+ const prevUrl = this.initialUrl && new URL(this.initialUrl);
582
+ const initialZonosCountry = prevUrl && getZCountryUrlParam(prevUrl.searchParams);
583
+ // If the zCountry url param changes, reset current item restriction tracking
584
+ if (initialZonosCountry !== localizationStore.selectedCountryCode) {
585
+ this.allFoundProducts = [];
586
+ this.allRestrictedItems = [];
587
+ this.productsOnPage = [];
588
+ }
589
+ this.initialUrl = window.location.href;
590
+ zonosStore.currentHelloPage = getCurrentHelloLocalePage();
591
+ const currentUrl = new URL(window.location.href);
592
+ const zCountry = getZCountryUrlParam(currentUrl.searchParams);
593
+ if (!zCountry) {
594
+ setZCountryUrlParam(localizationStore.selectedCountryCode);
595
+ return;
596
+ }
597
+ void this.reloadHelloData();
598
+ }
599
+ }, 1000);
600
+ };
601
+ this.changeShowDialog = (value) => {
602
+ this.showDialog = value;
603
+ };
604
+ this.shouldAnimateLeftDesktop = () => {
605
+ // Get Hello position (relative = desktop, fixed = mobile)
606
+ const elPosition = this.helloRef && getComputedStyle(this.helloRef).position;
607
+ // If relative position, determine if peek message should animate left or right. Mobile is pre-determined.
608
+ if (this.helloRef && elPosition === 'relative') {
609
+ const hasMoreSpaceOnRight = getHasMoreSpaceOnRight(this.helloRef);
610
+ return hasMoreSpaceOnRight;
611
+ }
612
+ };
613
+ this.isShippableCountry = (showLog = true) => {
614
+ if (!localizationStore.localizationLoaded) {
615
+ return false;
616
+ }
617
+ // if localization is loaded and the localization is not a shippable country, keep the original click event
618
+ if (!localizationStore.isShippableCountry) {
619
+ if (showLog) {
620
+ log(`Hello: not shippable country`);
621
+ }
622
+ return false;
623
+ }
624
+ return true;
625
+ };
626
+ this.mobileLocationOverride = undefined;
627
+ this.animateFromLeftOverride = undefined;
628
+ this.appearanceSettingsOverride = undefined;
629
+ this.showPeekMessage = false;
630
+ this.zonosStoreHelloSettings = zonosStore.helloSettings;
631
+ this.showDialog = false;
632
+ this.peekMessage = '';
633
+ this.initialUrl = '';
634
+ this.allRestrictedItems = [];
635
+ this.allFoundProducts = [];
636
+ this.productsOnPage = [];
637
+ }
638
+ componentWillLoad() {
639
+ const initInterval = setInterval(async () => {
640
+ if (!this.helloRef) {
641
+ return;
642
+ }
643
+ if (zonosStore.loadedConfig) {
644
+ this.helloRef.setAttribute('data-zonos-hello-loaded', '');
645
+ this.updateHelloOnPageChange();
646
+ clearInterval(initInterval);
647
+ }
648
+ }, 100);
649
+ }
650
+ /**
651
+ * This method will trigger the currency conversion and display the converted value
652
+ * @returns void
653
+ */
654
+ async displayCurrency() {
655
+ if (!localizationStore.exchangeRate) {
656
+ // eslint-disable-next-line no-console
657
+ console.error('Could not display currency. Exchange rate and format data is not available.');
595
658
  return;
596
- }
597
- void this.reloadHelloData();
598
- }
599
- }, 1000);
600
- };
601
- this.changeShowDialog = (value) => {
602
- this.showDialog = value;
603
- };
604
- this.shouldAnimateLeftDesktop = () => {
605
- // Get Hello position (relative = desktop, fixed = mobile)
606
- const elPosition = this.helloRef && getComputedStyle(this.helloRef).position;
607
- // If relative position, determine if peek message should animate left or right. Mobile is pre-determined.
608
- if (this.helloRef && elPosition === 'relative') {
609
- const hasMoreSpaceOnRight = getHasMoreSpaceOnRight(this.helloRef);
610
- return hasMoreSpaceOnRight;
611
- }
612
- };
613
- this.isShippableCountry = (showLog = true) => {
614
- if (!localizationStore.localizationLoaded) {
615
- return false;
616
- }
617
- // if localization is loaded and the localization is not a shippable country, keep the original click event
618
- if (!localizationStore.isShippableCountry) {
619
- if (showLog) {
620
- log(`Hello: not shippable country`);
621
659
  }
622
- return false;
623
- }
624
- return true;
625
- };
626
- this.mobileLocationOverride = undefined;
627
- this.animateFromLeftOverride = undefined;
628
- this.appearanceSettingsOverride = undefined;
629
- this.showPeekMessage = false;
630
- this.zonosStoreHelloSettings = zonosStore.helloSettings;
631
- this.showDialog = false;
632
- this.peekMessage = '';
633
- this.initialUrl = '';
634
- this.allRestrictedItems = [];
635
- this.allFoundProducts = [];
636
- this.productsOnPage = [];
637
- }
638
- componentWillLoad() {
639
- const initInterval = setInterval(async () => {
640
- if (!this.helloRef) {
641
- return;
642
- }
643
- if (zonosStore.loadedConfig) {
644
- this.helloRef.setAttribute('data-zonos-hello-loaded', '');
645
- this.updateHelloOnPageChange();
646
- clearInterval(initInterval);
647
- }
648
- }, 100);
649
- }
650
- /**
651
- * This method will trigger the currency conversion and display the converted value
652
- * @returns void
653
- */
654
- async displayCurrency() {
655
- if (!localizationStore.exchangeRate) {
656
- // eslint-disable-next-line no-console
657
- console.error('Could not display currency. Exchange rate and format data is not available.');
658
- return;
660
+ currencyDisplay();
659
661
  }
660
- currencyDisplay();
661
- }
662
- /**
663
- * This method will call convert and format, and return the converted and formatted string
664
- * @returns string
665
- */
666
- async convertAndFormat(value) {
667
- currencyConvertAndFormat(value);
668
- }
669
- /**
670
- * This method will convert the currency and return the converted value
671
- * @returns number
672
- */
673
- async convert(value) {
674
- currencyConvert(value);
675
- }
676
- /**
677
- * This method will format the currency and return the formatted string
678
- * @returns number
679
- */
680
- async format(value) {
681
- currencyFormat(value);
682
- }
683
- handleResize() {
684
- debounce_1(this.render.bind(this), RESIZE_DEBOUNCE_DELAY_MS);
685
- }
686
- render() {
687
- var _a, _b;
688
- const isExcludedUrl = (_a = zonosStore.helloSettings.excludedUrlPatterns) === null || _a === void 0 ? void 0 : _a.some(pattern => new RegExp(pattern).test(window.location.href));
689
- if (isExcludedUrl) {
690
- log('Hello is excluded on this url', 'warn');
691
- return null;
662
+ /**
663
+ * This method will call convert and format, and return the converted and formatted string
664
+ * @returns string
665
+ */
666
+ async convertAndFormat(value) {
667
+ currencyConvertAndFormat(value);
692
668
  }
693
- const { selectedCountryCode } = localizationStore;
694
- const mobileLocation = this.mobileLocationOverride || zonosStore.helloSettings.mobileLocation;
695
- const isMobileWindow = window.innerWidth < 768;
696
- const isOnLeft = this.animateFromLeftOverride ||
697
- (isMobileWindow && mobileLocation.includes('LEFT')) ||
698
- this.shouldAnimateLeftDesktop() ||
699
- false;
700
- const isOnTop = mobileLocation.includes('TOP');
701
- const appearanceSettings = mergeConfig(zonosStore.appearance, this.appearanceSettingsOverride);
702
- const { theme } = appearanceSettings;
703
- const restrictedItemsOnPage = (_b = this.allRestrictedItems) === null || _b === void 0 ? void 0 : _b.filter(product => this.productsOnPage.some(restriction => restriction.description === product.itemDescription));
704
- const showHello = this.isShippableCountry() && !!selectedCountryCode;
705
- return (h(Host, { class: "zonos--hello zonos--elements", "data-theme": theme }, showHello && (h("div", { class: "zonos--hello-wrapper" }, h("button", { class: classes([
706
- 'zonos--hello-widget',
707
- this.showPeekMessage && 'zonos--hello-show-peek-message',
708
- this.mobileLocationOverride && 'zonos--hello-mobile-override',
709
- isOnLeft &&
710
- 'zonos--hello-widget-left zonos--hello-widget-animate-from-left',
711
- isOnTop && 'zonos--hello-widget-top',
712
- !!this.allRestrictedItems.length &&
713
- 'zonos--hello-has-restrictions',
714
- ]), onClick: () => {
715
- this.changeShowDialog(!this.showDialog);
716
- }, onMouseEnter: () => this.enableShowPeekMessage(), onMouseLeave: () => (this.showPeekMessage = false), ref: el => el && (this.helloRef = el) }, h("span", { class: "zonos--hello-message" }, this.peekMessage), selectedCountryCode && (h("div", { class: "zonos--hello-country-flag-wrapper" }, h("zonos-country-flag", { class: "zonos--hello-country-flag", countryCode: selectedCountryCode })))), h("div", { class: classes([
717
- 'zonos--hello-dialog-wrapper',
718
- this.mobileLocationOverride &&
719
- 'zonos--hello-dialog-wrapper-mobile-override',
720
- ]), style: { height: this.showDialog ? 'fit-content' : '0px' } }, h("zonos-hello-dialog", { animateFromLeftOverride: this.animateFromLeftOverride, appearanceSettings: appearanceSettings, isOpen: this.showDialog, mobileLocationOverride: this.mobileLocationOverride, restrictedItems: restrictedItemsOnPage, setIsOpen: this.changeShowDialog }))))));
721
- }
722
- static get style() { return zonosHelloCss; }
669
+ /**
670
+ * This method will convert the currency and return the converted value
671
+ * @returns number
672
+ */
673
+ async convert(value) {
674
+ currencyConvert(value);
675
+ }
676
+ /**
677
+ * This method will format the currency and return the formatted string
678
+ * @returns number
679
+ */
680
+ async format(value) {
681
+ currencyFormat(value);
682
+ }
683
+ handleResize() {
684
+ debounce_1(this.render.bind(this), RESIZE_DEBOUNCE_DELAY_MS);
685
+ }
686
+ render() {
687
+ var _a, _b;
688
+ const isExcludedUrl = (_a = zonosStore.helloSettings.excludedUrlPatterns) === null || _a === void 0 ? void 0 : _a.some(pattern => new RegExp(pattern).test(window.location.href));
689
+ if (isExcludedUrl) {
690
+ log('Hello is excluded on this url', 'warn');
691
+ return null;
692
+ }
693
+ const { selectedCountryCode } = localizationStore;
694
+ const mobileLocation = this.mobileLocationOverride || zonosStore.helloSettings.mobileLocation;
695
+ const isMobileWindow = window.innerWidth < 768;
696
+ const isOnLeft = this.animateFromLeftOverride ||
697
+ (isMobileWindow && mobileLocation.includes('LEFT')) ||
698
+ this.shouldAnimateLeftDesktop() ||
699
+ false;
700
+ const isOnTop = mobileLocation.includes('TOP');
701
+ const appearanceSettings = mergeConfig(zonosStore.appearance, this.appearanceSettingsOverride);
702
+ const { theme } = appearanceSettings;
703
+ const restrictedItemsOnPage = (_b = this.allRestrictedItems) === null || _b === void 0 ? void 0 : _b.filter(product => this.productsOnPage.some(restriction => restriction.description === product.itemDescription));
704
+ const showHello = this.isShippableCountry() && !!selectedCountryCode;
705
+ return (h(Host, { class: "zonos--hello zonos--elements", "data-theme": theme }, showHello && (h("div", { class: "zonos--hello-wrapper" }, h("button", { class: classes([
706
+ 'zonos--hello-widget',
707
+ this.showPeekMessage && 'zonos--hello-show-peek-message',
708
+ this.mobileLocationOverride && 'zonos--hello-mobile-override',
709
+ isOnLeft &&
710
+ 'zonos--hello-widget-left zonos--hello-widget-animate-from-left',
711
+ isOnTop && 'zonos--hello-widget-top',
712
+ !!this.allRestrictedItems.length &&
713
+ 'zonos--hello-has-restrictions',
714
+ ]), onClick: () => {
715
+ this.changeShowDialog(!this.showDialog);
716
+ }, onMouseEnter: () => this.enableShowPeekMessage(), onMouseLeave: () => (this.showPeekMessage = false), ref: el => el && (this.helloRef = el) }, h("zonos-text", { class: "zonos--hello-message" }, this.peekMessage), selectedCountryCode && (h("div", { class: "zonos--hello-country-flag-wrapper" }, h("zonos-country-flag", { class: "zonos--hello-country-flag", countryCode: selectedCountryCode })))), h("div", { class: classes([
717
+ 'zonos--hello-dialog-wrapper',
718
+ this.mobileLocationOverride &&
719
+ 'zonos--hello-dialog-wrapper-mobile-override',
720
+ ]), style: { height: this.showDialog ? 'fit-content' : '0px' } }, h("zonos-hello-dialog", { animateFromLeftOverride: this.animateFromLeftOverride, appearanceSettings: appearanceSettings, isOpen: this.showDialog, mobileLocationOverride: this.mobileLocationOverride, restrictedItems: restrictedItemsOnPage, setIsOpen: this.changeShowDialog }))))));
721
+ }
722
+ static get style() { return zonosHelloCss; }
723
723
  }, [1, "zonos-hello", {
724
- "mobileLocationOverride": [1, "mobile-location-override"],
725
- "animateFromLeftOverride": [4, "animate-from-left-override"],
726
- "appearanceSettingsOverride": [16],
727
- "showPeekMessage": [32],
728
- "zonosStoreHelloSettings": [32],
729
- "showDialog": [32],
730
- "peekMessage": [32],
731
- "initialUrl": [32],
732
- "allRestrictedItems": [32],
733
- "allFoundProducts": [32],
734
- "productsOnPage": [32],
735
- "displayCurrency": [64],
736
- "convertAndFormat": [64],
737
- "convert": [64],
738
- "format": [64]
739
- }, [[9, "resize", "handleResize"]]]);
724
+ "mobileLocationOverride": [1, "mobile-location-override"],
725
+ "animateFromLeftOverride": [4, "animate-from-left-override"],
726
+ "appearanceSettingsOverride": [16],
727
+ "showPeekMessage": [32],
728
+ "zonosStoreHelloSettings": [32],
729
+ "showDialog": [32],
730
+ "peekMessage": [32],
731
+ "initialUrl": [32],
732
+ "allRestrictedItems": [32],
733
+ "allFoundProducts": [32],
734
+ "productsOnPage": [32],
735
+ "displayCurrency": [64],
736
+ "convertAndFormat": [64],
737
+ "convert": [64],
738
+ "format": [64]
739
+ }, [[9, "resize", "handleResize"]]]);
740
740
  function defineCustomElement$1() {
741
- if (typeof customElements === "undefined") {
742
- return;
743
- }
744
- const components = ["zonos-hello", "zonos-banner", "zonos-button", "zonos-card", "zonos-country-flag", "zonos-country-select", "zonos-custom-message", "zonos-hello-dialog", "zonos-hello-dialog-footer", "zonos-icon", "zonos-spinner", "zonos-text", "zonos-v-stack"];
745
- components.forEach(tagName => { switch (tagName) {
746
- case "zonos-hello":
747
- if (!customElements.get(tagName)) {
748
- customElements.define(tagName, ZonosHello$1);
749
- }
750
- break;
751
- case "zonos-banner":
752
- if (!customElements.get(tagName)) {
753
- defineCustomElement$d();
754
- }
755
- break;
756
- case "zonos-button":
757
- if (!customElements.get(tagName)) {
758
- defineCustomElement$c();
759
- }
760
- break;
761
- case "zonos-card":
762
- if (!customElements.get(tagName)) {
763
- defineCustomElement$b();
764
- }
765
- break;
766
- case "zonos-country-flag":
767
- if (!customElements.get(tagName)) {
768
- defineCustomElement$a();
769
- }
770
- break;
771
- case "zonos-country-select":
772
- if (!customElements.get(tagName)) {
773
- defineCustomElement$9();
774
- }
775
- break;
776
- case "zonos-custom-message":
777
- if (!customElements.get(tagName)) {
778
- defineCustomElement$8();
779
- }
780
- break;
781
- case "zonos-hello-dialog":
782
- if (!customElements.get(tagName)) {
783
- defineCustomElement$7();
784
- }
785
- break;
786
- case "zonos-hello-dialog-footer":
787
- if (!customElements.get(tagName)) {
788
- defineCustomElement$6();
789
- }
790
- break;
791
- case "zonos-icon":
792
- if (!customElements.get(tagName)) {
793
- defineCustomElement$5();
794
- }
795
- break;
796
- case "zonos-spinner":
797
- if (!customElements.get(tagName)) {
798
- defineCustomElement$4();
799
- }
800
- break;
801
- case "zonos-text":
802
- if (!customElements.get(tagName)) {
803
- defineCustomElement$3();
804
- }
805
- break;
806
- case "zonos-v-stack":
807
- if (!customElements.get(tagName)) {
808
- defineCustomElement$2();
809
- }
810
- break;
811
- } });
741
+ if (typeof customElements === "undefined") {
742
+ return;
743
+ }
744
+ const components = ["zonos-hello", "zonos-banner", "zonos-button", "zonos-card", "zonos-country-flag", "zonos-country-select", "zonos-custom-message", "zonos-hello-dialog", "zonos-hello-dialog-footer", "zonos-icon", "zonos-spinner", "zonos-text", "zonos-v-stack"];
745
+ components.forEach(tagName => { switch (tagName) {
746
+ case "zonos-hello":
747
+ if (!customElements.get(tagName)) {
748
+ customElements.define(tagName, ZonosHello$1);
749
+ }
750
+ break;
751
+ case "zonos-banner":
752
+ if (!customElements.get(tagName)) {
753
+ defineCustomElement$d();
754
+ }
755
+ break;
756
+ case "zonos-button":
757
+ if (!customElements.get(tagName)) {
758
+ defineCustomElement$c();
759
+ }
760
+ break;
761
+ case "zonos-card":
762
+ if (!customElements.get(tagName)) {
763
+ defineCustomElement$b();
764
+ }
765
+ break;
766
+ case "zonos-country-flag":
767
+ if (!customElements.get(tagName)) {
768
+ defineCustomElement$a();
769
+ }
770
+ break;
771
+ case "zonos-country-select":
772
+ if (!customElements.get(tagName)) {
773
+ defineCustomElement$9();
774
+ }
775
+ break;
776
+ case "zonos-custom-message":
777
+ if (!customElements.get(tagName)) {
778
+ defineCustomElement$8();
779
+ }
780
+ break;
781
+ case "zonos-hello-dialog":
782
+ if (!customElements.get(tagName)) {
783
+ defineCustomElement$7();
784
+ }
785
+ break;
786
+ case "zonos-hello-dialog-footer":
787
+ if (!customElements.get(tagName)) {
788
+ defineCustomElement$6();
789
+ }
790
+ break;
791
+ case "zonos-icon":
792
+ if (!customElements.get(tagName)) {
793
+ defineCustomElement$5();
794
+ }
795
+ break;
796
+ case "zonos-spinner":
797
+ if (!customElements.get(tagName)) {
798
+ defineCustomElement$4();
799
+ }
800
+ break;
801
+ case "zonos-text":
802
+ if (!customElements.get(tagName)) {
803
+ defineCustomElement$3();
804
+ }
805
+ break;
806
+ case "zonos-v-stack":
807
+ if (!customElements.get(tagName)) {
808
+ defineCustomElement$2();
809
+ }
810
+ break;
811
+ } });
812
812
  }
813
813
 
814
814
  const ZonosHello = ZonosHello$1;