@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,8 +1,8 @@
1
- import { r as registerInstance, h, H as Host } from './index-d1aa9293.js';
2
- import { _ as _root, i as isObjectLike_1, e as _baseGetTag, f as isObject_1, z as zonosStore, m as mergeConfig } from './zonosStore-05a62104.js';
3
- import { h as handleFetch, b as logError, a as localizationStore, i as isValidSelector, t as translate, s as setZonosCountryUrlParam, l as log, e as currencyDisplay, f as currencyConvertAndFormat, g as currencyConvert, j as currencyFormat } from './localization-f3828793.js';
1
+ import { r as registerInstance, h, H as Host } from './index-36ff6342.js';
2
+ import { _ as _root, i as isObjectLike_1, f as _baseGetTag, g as isObject_1, z as zonosStore, m as mergeConfig } from './zonosStore-61e74f58.js';
3
+ import { h as handleFetch, b as logError, a as localizationStore, i as isValidSelector, t as translate, g as getZCountryUrlParam, s as setZCountryUrlParam, l as log, e as currencyDisplay, f as currencyConvertAndFormat, j as currencyConvert, k as currencyFormat } from './localization-a51ccbc2.js';
4
4
  import { c as classes } from './classes-0d95c529.js';
5
- import { g as getHasMoreSpaceOnRight } from './getHasMoreSpaceOnRight-feba1ae2.js';
5
+ import { g as getHasMoreSpaceOnRight } from './getHasMoreSpaceOnRight-70eb913a.js';
6
6
 
7
7
  /**
8
8
  * Gets the timestamp of the number of milliseconds that have elapsed since
@@ -341,371 +341,371 @@ function debounce(func, wait, options) {
341
341
  var debounce_1 = debounce;
342
342
 
343
343
  const checkItemRestrictions = async ({ items, shipFrom, shipTo, }) => {
344
- var _a;
345
- const url = `${"https://v1.route.js.zonos.com"}/api/check-item-restrictions`;
346
- const body = {
347
- items,
348
- shipFrom,
349
- shipTo,
350
- };
351
- const { errors, json } = await handleFetch(url, { body, method: 'POST' });
352
- if (errors.length || !json) {
353
- logError(`Error fetching item restrictions: ${(_a = errors.find(Boolean)) === null || _a === void 0 ? void 0 : _a.message}`);
354
- return [];
355
- }
356
- return json.filter(Boolean);
344
+ var _a;
345
+ const url = `${"https://v1.route.js.zonos.com"}/api/zonos-elements/check-item-restrictions`;
346
+ const body = {
347
+ items,
348
+ shipFrom,
349
+ shipTo,
350
+ };
351
+ const { errors, json } = await handleFetch(url, { body, method: 'POST' });
352
+ if (errors.length || !json) {
353
+ logError(`Error fetching item restrictions: ${(_a = errors.find(Boolean)) === null || _a === void 0 ? void 0 : _a.message}`);
354
+ return [];
355
+ }
356
+ return json.filter(Boolean);
357
357
  };
358
358
 
359
359
  const detectItemRestrictions = async (newProducts) => {
360
- if (!newProducts.length) {
361
- return [];
362
- }
363
- const { selectedCountryCode } = localizationStore;
364
- if (!selectedCountryCode) {
365
- logError('Hello Could not check item restrictions - No country code selected');
366
- return [];
367
- }
368
- const items = newProducts.map(product => ({
369
- description: product.description,
370
- name: product.title,
371
- }));
372
- const restrictedItems = await checkItemRestrictions({
373
- items: items,
374
- shipFrom: 'AD',
375
- shipTo: selectedCountryCode,
376
- });
377
- const restrictedItemsWithName = restrictedItems.map(item => {
378
- var _a;
379
- const name = ((_a = items.filter(x => x.description === item.itemDescription).find(Boolean)) === null || _a === void 0 ? void 0 : _a.name) || '';
380
- return Object.assign(Object.assign({}, item), { name });
381
- });
382
- return restrictedItemsWithName;
360
+ if (!newProducts.length) {
361
+ return [];
362
+ }
363
+ const { selectedCountryCode } = localizationStore;
364
+ if (!selectedCountryCode) {
365
+ logError('Hello Could not check item restrictions - No country code selected');
366
+ return [];
367
+ }
368
+ const items = newProducts.map(product => ({
369
+ description: product.description,
370
+ name: product.title,
371
+ }));
372
+ const restrictedItems = await checkItemRestrictions({
373
+ items: items,
374
+ shipFrom: 'AD',
375
+ shipTo: selectedCountryCode,
376
+ });
377
+ const restrictedItemsWithName = restrictedItems.map(item => {
378
+ var _a;
379
+ const name = ((_a = items.filter(x => x.description === item.itemDescription).find(Boolean)) === null || _a === void 0 ? void 0 : _a.name) || '';
380
+ return Object.assign(Object.assign({}, item), { name });
381
+ });
382
+ return restrictedItemsWithName;
383
383
  };
384
384
 
385
385
  const getCurrentHelloLocalePage = () => {
386
- const { href } = window.location;
387
- const { cartUrlPattern, homepageUrlPattern, productDetailUrlPattern, productListUrlPattern, } = zonosStore.helloSettings;
388
- // The 'if' statements are sorted by most specific to least specific to help with regex matching
389
- if (cartUrlPattern && new RegExp(cartUrlPattern).test(href)) {
390
- return 'cart';
391
- }
392
- if (productDetailUrlPattern &&
393
- new RegExp(productDetailUrlPattern).test(href)) {
394
- return 'productDetail';
395
- }
396
- if (productListUrlPattern && new RegExp(productListUrlPattern).test(href)) {
397
- return 'productList';
398
- }
399
- if (homepageUrlPattern && new RegExp(homepageUrlPattern).test(href)) {
400
- return 'home';
401
- }
402
- return '';
386
+ const { href } = window.location;
387
+ const { cartUrlPattern, homepageUrlPattern, productDetailUrlPattern, productListUrlPattern, } = zonosStore.helloSettings;
388
+ // The 'if' statements are sorted by most specific to least specific to help with regex matching
389
+ if (cartUrlPattern && new RegExp(cartUrlPattern).test(href)) {
390
+ return 'cart';
391
+ }
392
+ if (productDetailUrlPattern &&
393
+ new RegExp(productDetailUrlPattern).test(href)) {
394
+ return 'productDetail';
395
+ }
396
+ if (productListUrlPattern && new RegExp(productListUrlPattern).test(href)) {
397
+ return 'productList';
398
+ }
399
+ if (homepageUrlPattern && new RegExp(homepageUrlPattern).test(href)) {
400
+ return 'home';
401
+ }
402
+ return '';
403
403
  };
404
404
 
405
405
  const getProductsOnPage = () => {
406
- var _a, _b;
407
- const { productAddToCartElementSelector, productDescriptionElementSelector, productTitleElementSelector, restrictionBehavior, } = zonosStore.helloSettings;
408
- if (!productTitleElementSelector || !productDescriptionElementSelector) {
409
- logError(`Hello Could not check item restrictions - must provide title and description selectors.`);
410
- }
411
- const titleNodes = (productTitleElementSelector &&
412
- isValidSelector(productTitleElementSelector) &&
413
- document.querySelectorAll(productTitleElementSelector)) ||
414
- [];
415
- const descriptionNodes = (productDescriptionElementSelector &&
416
- isValidSelector(productDescriptionElementSelector) &&
417
- document.querySelectorAll(productDescriptionElementSelector)) ||
418
- [];
419
- if (titleNodes.length !== descriptionNodes.length) {
420
- // If the title and description selectors don't match, kill item restrictions altogether
421
- logError('Hello Could not check item restrictions - Title and description selectors do not match');
422
- return [];
423
- }
424
- const shouldDisableCart = restrictionBehavior === 'RESTRICT_AND_BLOCK';
425
- const cartButtonNodes = (shouldDisableCart &&
426
- productAddToCartElementSelector &&
427
- isValidSelector(productAddToCartElementSelector) &&
428
- document.querySelectorAll(productAddToCartElementSelector)) ||
429
- [];
430
- if (shouldDisableCart && cartButtonNodes.length !== descriptionNodes.length) {
431
- // If the "add to cart" selectors don't match, log the error and continue
432
- logError('Hello could not disable "Add to cart" buttons - Title and add to cart selectors do not match');
433
- }
434
- const mergedElements = [];
435
- for (let i = 0; i < titleNodes.length; i++) {
436
- const titleNode = titleNodes[i];
437
- const descriptionNode = descriptionNodes[i];
438
- const cartButtonNode = cartButtonNodes[i];
439
- if (titleNode && descriptionNode) {
440
- const element = {
441
- cartButtonNode: cartButtonNode || null,
442
- description: ((_a = descriptionNode.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '',
443
- title: ((_b = titleNode.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || '',
444
- };
445
- mergedElements.push(element);
406
+ var _a, _b;
407
+ const { productAddToCartElementSelector, productDescriptionElementSelector, productTitleElementSelector, restrictionBehavior, } = zonosStore.helloSettings;
408
+ if (!productTitleElementSelector || !productDescriptionElementSelector) {
409
+ logError(`Hello Could not check item restrictions - must provide title and description selectors.`);
446
410
  }
447
- }
448
- return mergedElements;
411
+ const titleNodes = (productTitleElementSelector &&
412
+ isValidSelector(productTitleElementSelector) &&
413
+ document.querySelectorAll(productTitleElementSelector)) ||
414
+ [];
415
+ const descriptionNodes = (productDescriptionElementSelector &&
416
+ isValidSelector(productDescriptionElementSelector) &&
417
+ document.querySelectorAll(productDescriptionElementSelector)) ||
418
+ [];
419
+ if (titleNodes.length !== descriptionNodes.length) {
420
+ // If the title and description selectors don't match, kill item restrictions altogether
421
+ logError('Hello Could not check item restrictions - Title and description selectors do not match');
422
+ return [];
423
+ }
424
+ const shouldDisableCart = restrictionBehavior === 'RESTRICT_AND_BLOCK';
425
+ const cartButtonNodes = (shouldDisableCart &&
426
+ productAddToCartElementSelector &&
427
+ isValidSelector(productAddToCartElementSelector) &&
428
+ document.querySelectorAll(productAddToCartElementSelector)) ||
429
+ [];
430
+ if (shouldDisableCart && cartButtonNodes.length !== descriptionNodes.length) {
431
+ // If the "add to cart" selectors don't match, log the error and continue
432
+ logError('Hello could not disable "Add to cart" buttons - Title and add to cart selectors do not match');
433
+ }
434
+ const mergedElements = [];
435
+ for (let i = 0; i < titleNodes.length; i++) {
436
+ const titleNode = titleNodes[i];
437
+ const descriptionNode = descriptionNodes[i];
438
+ const cartButtonNode = cartButtonNodes[i];
439
+ if (titleNode && descriptionNode) {
440
+ const element = {
441
+ cartButtonNode: cartButtonNode || null,
442
+ description: ((_a = descriptionNode.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '',
443
+ title: ((_b = titleNode.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || '',
444
+ };
445
+ mergedElements.push(element);
446
+ }
447
+ }
448
+ return mergedElements;
449
449
  };
450
450
 
451
- 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}";
451
+ 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}";
452
452
 
453
453
  const PEEK_MESSAGE_CLOSE_DELAY_MS = 3000;
454
454
  const RESIZE_DEBOUNCE_DELAY_MS = 500;
455
455
  const ZonosHello = class {
456
- constructor(hostRef) {
457
- registerInstance(this, hostRef);
458
- this.getHelloPeekMessage = () => {
459
- const isRestrictionPage = zonosStore.currentHelloPage === 'productDetail' ||
460
- zonosStore.currentHelloPage === 'productList';
461
- if (isRestrictionPage && this.allRestrictedItems.length) {
462
- const clickMessage = translate('click to learn more');
463
- const restrictMessage = zonosStore.currentHelloPage === 'productDetail'
464
- ? translate('Restricted item')
465
- : translate('Restricted items found');
466
- return `${restrictMessage} - ${clickMessage}`;
467
- }
468
- switch (zonosStore.currentHelloPage) {
469
- case 'cart':
470
- return translate(`Prepay duties and taxes at checkout`);
471
- case 'productList':
472
- case 'productDetail':
473
- return translate(`See duty and tax thresholds`);
474
- default:
475
- return `${translate('Welcome to')} ${zonosStore.organizationName}`;
476
- }
477
- };
478
- this.enableShowPeekMessage = () => {
479
- if (this.peekMessage) {
480
- this.showPeekMessage = true;
481
- }
482
- };
483
- this.getNewItemRestrictions = async (newProducts) => {
484
- const isRestrictionPage = zonosStore.currentHelloPage === 'productDetail' ||
485
- zonosStore.currentHelloPage === 'productList';
486
- // Only run detectItemRestrictions on product pages if the restrictionBehavior is not DISABLED
487
- if (!isRestrictionPage ||
488
- zonosStore.helloSettings.restrictionBehavior === 'DISABLED') {
489
- return [];
490
- }
491
- const newRestrictions = await detectItemRestrictions(newProducts);
492
- return newRestrictions;
493
- };
494
- this.triggerShowPeekMessage = () => {
495
- this.peekMessage = this.getHelloPeekMessage();
496
- const { peekMessageBehavior, peekMessageDelay } = zonosStore.helloSettings;
497
- // peek message delay is passed in seconds, but setTimeout expects milliseconds
498
- const peekMessageDelayToUse = peekMessageDelay * 1000;
499
- if (peekMessageBehavior === 'ENABLED') {
500
- setTimeout(() => {
501
- this.enableShowPeekMessage();
502
- const hasRestrictions = this.allRestrictedItems.some(item => this.productsOnPage.some(product => product.description === item.itemDescription));
503
- if (!hasRestrictions) {
504
- // If restrictions, persist the message until they hover over the hello widget
505
- setTimeout(() => {
506
- this.showPeekMessage = false;
507
- }, PEEK_MESSAGE_CLOSE_DELAY_MS);
508
- }
509
- }, peekMessageDelayToUse);
510
- }
511
- };
512
- this.disableAddToCartButtons = () => {
513
- // Remove disabled attribute from all "add to cart" buttons
514
- if (this.productsOnPage.length) {
515
- this.productsOnPage.forEach(product => {
516
- var _a, _b;
517
- const isRestricted = this.allRestrictedItems.some(item => item.itemDescription === product.description);
518
- // if a product description matches a restrictedItems itemDescription, then disable the add to cart button. Otherwise, enable it.
519
- if (isRestricted) {
520
- (_a = product.cartButtonNode) === null || _a === void 0 ? void 0 : _a.setAttribute('disabled', 'disabled');
521
- }
522
- else {
523
- (_b = product.cartButtonNode) === null || _b === void 0 ? void 0 : _b.removeAttribute('disabled');
524
- }
525
- });
526
- }
527
- };
528
- this.handleItemRestrictions = async () => {
529
- this.productsOnPage = getProductsOnPage();
530
- const newProducts = this.productsOnPage.filter(product => !this.allFoundProducts.some(foundProduct => foundProduct.title === product.title));
531
- const newRestrictions = await this.getNewItemRestrictions(newProducts);
532
- this.allRestrictedItems.push(...newRestrictions);
533
- this.allFoundProducts.push(...newProducts);
534
- this.disableAddToCartButtons();
535
- };
536
- this.reloadHelloData = async () => {
537
- await this.handleItemRestrictions();
538
- this.triggerShowPeekMessage();
539
- void this.displayCurrency();
540
- };
541
- this.handleProductCountChange = debounce_1(() => {
542
- const { productTitleElementSelector } = zonosStore.helloSettings;
543
- if (productTitleElementSelector) {
544
- const allProductsOnPage = getProductsOnPage();
545
- if (this.allFoundProducts.length !== allProductsOnPage.length &&
546
- window.location.href === this.initialUrl) {
547
- // if allFoundProducts length is 0 (first render or no products), kill item restriction process as initial restrictions are handled in updateHelloOnPageChange
548
- if (!this.allFoundProducts.length) {
549
- return;
550
- }
551
- void this.reloadHelloData();
552
- }
553
- }
554
- }, 1000);
555
- this.watchProductCountChange = () => {
556
- const observer = new MutationObserver(this.handleProductCountChange);
557
- observer.observe(document.body, {
558
- childList: true,
559
- subtree: true,
560
- });
561
- };
562
- this.updateHelloOnPageChange = () => {
563
- // If the product count changes on the same url (loading more products), update the peek message and item restrictions
564
- this.watchProductCountChange();
565
- // Check url change on interval. If changed, update the peek message and item restrictions
566
- setInterval(() => {
567
- if (window.location.href !== this.initialUrl) {
568
- const prevUrl = this.initialUrl && new URL(this.initialUrl);
569
- const initialZonosCountry = prevUrl && prevUrl.searchParams.get('zonosCountry');
570
- // If the zonosCountry url param changes, reset current item restriction tracking
571
- if (initialZonosCountry !== localizationStore.selectedCountryCode) {
572
- this.allFoundProducts = [];
573
- this.allRestrictedItems = [];
574
- this.productsOnPage = [];
575
- }
576
- this.initialUrl = window.location.href;
577
- zonosStore.currentHelloPage = getCurrentHelloLocalePage();
578
- const currentUrl = new URL(window.location.href);
579
- const zonosCountry = currentUrl.searchParams.get('zonosCountry');
580
- if (!zonosCountry) {
581
- setZonosCountryUrlParam(localizationStore.selectedCountryCode);
456
+ constructor(hostRef) {
457
+ registerInstance(this, hostRef);
458
+ this.getHelloPeekMessage = () => {
459
+ const isRestrictionPage = zonosStore.currentHelloPage === 'productDetail' ||
460
+ zonosStore.currentHelloPage === 'productList';
461
+ if (isRestrictionPage && this.allRestrictedItems.length) {
462
+ const clickMessage = translate('click to learn more');
463
+ const restrictMessage = zonosStore.currentHelloPage === 'productDetail'
464
+ ? translate('Restricted item')
465
+ : translate('Restricted items found');
466
+ return `${restrictMessage} - ${clickMessage}`;
467
+ }
468
+ switch (zonosStore.currentHelloPage) {
469
+ case 'cart':
470
+ return translate(`Prepay duties and taxes at checkout`);
471
+ case 'productList':
472
+ case 'productDetail':
473
+ return translate(`See duty and tax thresholds`);
474
+ default:
475
+ return `${translate('Welcome to')} ${zonosStore.organizationName}`;
476
+ }
477
+ };
478
+ this.enableShowPeekMessage = () => {
479
+ if (this.peekMessage) {
480
+ this.showPeekMessage = true;
481
+ }
482
+ };
483
+ this.getNewItemRestrictions = async (newProducts) => {
484
+ const isRestrictionPage = zonosStore.currentHelloPage === 'productDetail' ||
485
+ zonosStore.currentHelloPage === 'productList';
486
+ // Only run detectItemRestrictions on product pages if the restrictionBehavior is not DISABLED
487
+ if (!isRestrictionPage ||
488
+ zonosStore.helloSettings.restrictionBehavior === 'DISABLED') {
489
+ return [];
490
+ }
491
+ const newRestrictions = await detectItemRestrictions(newProducts);
492
+ return newRestrictions;
493
+ };
494
+ this.triggerShowPeekMessage = () => {
495
+ this.peekMessage = this.getHelloPeekMessage();
496
+ const { peekMessageBehavior, peekMessageDelay } = zonosStore.helloSettings;
497
+ // peek message delay is passed in seconds, but setTimeout expects milliseconds
498
+ const peekMessageDelayToUse = peekMessageDelay * 1000;
499
+ if (peekMessageBehavior === 'ENABLED') {
500
+ setTimeout(() => {
501
+ this.enableShowPeekMessage();
502
+ const hasRestrictions = this.allRestrictedItems.some(item => this.productsOnPage.some(product => product.description === item.itemDescription));
503
+ if (!hasRestrictions) {
504
+ // If restrictions, persist the message until they hover over the hello widget
505
+ setTimeout(() => {
506
+ this.showPeekMessage = false;
507
+ }, PEEK_MESSAGE_CLOSE_DELAY_MS);
508
+ }
509
+ }, peekMessageDelayToUse);
510
+ }
511
+ };
512
+ this.disableAddToCartButtons = () => {
513
+ // Remove disabled attribute from all "add to cart" buttons
514
+ if (this.productsOnPage.length) {
515
+ this.productsOnPage.forEach(product => {
516
+ var _a, _b;
517
+ const isRestricted = this.allRestrictedItems.some(item => item.itemDescription === product.description);
518
+ // if a product description matches a restrictedItems itemDescription, then disable the add to cart button. Otherwise, enable it.
519
+ if (isRestricted) {
520
+ (_a = product.cartButtonNode) === null || _a === void 0 ? void 0 : _a.setAttribute('disabled', 'disabled');
521
+ }
522
+ else {
523
+ (_b = product.cartButtonNode) === null || _b === void 0 ? void 0 : _b.removeAttribute('disabled');
524
+ }
525
+ });
526
+ }
527
+ };
528
+ this.handleItemRestrictions = async () => {
529
+ this.productsOnPage = getProductsOnPage();
530
+ const newProducts = this.productsOnPage.filter(product => !this.allFoundProducts.some(foundProduct => foundProduct.title === product.title));
531
+ const newRestrictions = await this.getNewItemRestrictions(newProducts);
532
+ this.allRestrictedItems.push(...newRestrictions);
533
+ this.allFoundProducts.push(...newProducts);
534
+ this.disableAddToCartButtons();
535
+ };
536
+ this.reloadHelloData = async () => {
537
+ await this.handleItemRestrictions();
538
+ this.triggerShowPeekMessage();
539
+ void this.displayCurrency();
540
+ };
541
+ this.handleProductCountChange = debounce_1(() => {
542
+ const { productTitleElementSelector } = zonosStore.helloSettings;
543
+ if (productTitleElementSelector) {
544
+ const allProductsOnPage = getProductsOnPage();
545
+ if (this.allFoundProducts.length !== allProductsOnPage.length &&
546
+ window.location.href === this.initialUrl) {
547
+ // if allFoundProducts length is 0 (first render or no products), kill item restriction process as initial restrictions are handled in updateHelloOnPageChange
548
+ if (!this.allFoundProducts.length) {
549
+ return;
550
+ }
551
+ void this.reloadHelloData();
552
+ }
553
+ }
554
+ }, 1000);
555
+ this.watchProductCountChange = () => {
556
+ const observer = new MutationObserver(this.handleProductCountChange);
557
+ observer.observe(document.body, {
558
+ childList: true,
559
+ subtree: true,
560
+ });
561
+ };
562
+ this.updateHelloOnPageChange = () => {
563
+ // If the product count changes on the same url (loading more products), update the peek message and item restrictions
564
+ this.watchProductCountChange();
565
+ // Check url change on interval. If changed, update the peek message and item restrictions
566
+ setInterval(() => {
567
+ if (window.location.href !== this.initialUrl) {
568
+ const prevUrl = this.initialUrl && new URL(this.initialUrl);
569
+ const initialZonosCountry = prevUrl && getZCountryUrlParam(prevUrl.searchParams);
570
+ // If the zCountry url param changes, reset current item restriction tracking
571
+ if (initialZonosCountry !== localizationStore.selectedCountryCode) {
572
+ this.allFoundProducts = [];
573
+ this.allRestrictedItems = [];
574
+ this.productsOnPage = [];
575
+ }
576
+ this.initialUrl = window.location.href;
577
+ zonosStore.currentHelloPage = getCurrentHelloLocalePage();
578
+ const currentUrl = new URL(window.location.href);
579
+ const zCountry = getZCountryUrlParam(currentUrl.searchParams);
580
+ if (!zCountry) {
581
+ setZCountryUrlParam(localizationStore.selectedCountryCode);
582
+ return;
583
+ }
584
+ void this.reloadHelloData();
585
+ }
586
+ }, 1000);
587
+ };
588
+ this.changeShowDialog = (value) => {
589
+ this.showDialog = value;
590
+ };
591
+ this.shouldAnimateLeftDesktop = () => {
592
+ // Get Hello position (relative = desktop, fixed = mobile)
593
+ const elPosition = this.helloRef && getComputedStyle(this.helloRef).position;
594
+ // If relative position, determine if peek message should animate left or right. Mobile is pre-determined.
595
+ if (this.helloRef && elPosition === 'relative') {
596
+ const hasMoreSpaceOnRight = getHasMoreSpaceOnRight(this.helloRef);
597
+ return hasMoreSpaceOnRight;
598
+ }
599
+ };
600
+ this.isShippableCountry = (showLog = true) => {
601
+ if (!localizationStore.localizationLoaded) {
602
+ return false;
603
+ }
604
+ // if localization is loaded and the localization is not a shippable country, keep the original click event
605
+ if (!localizationStore.isShippableCountry) {
606
+ if (showLog) {
607
+ log(`Hello: not shippable country`);
608
+ }
609
+ return false;
610
+ }
611
+ return true;
612
+ };
613
+ this.mobileLocationOverride = undefined;
614
+ this.animateFromLeftOverride = undefined;
615
+ this.appearanceSettingsOverride = undefined;
616
+ this.showPeekMessage = false;
617
+ this.zonosStoreHelloSettings = zonosStore.helloSettings;
618
+ this.showDialog = false;
619
+ this.peekMessage = '';
620
+ this.initialUrl = '';
621
+ this.allRestrictedItems = [];
622
+ this.allFoundProducts = [];
623
+ this.productsOnPage = [];
624
+ }
625
+ componentWillLoad() {
626
+ const initInterval = setInterval(async () => {
627
+ if (!this.helloRef) {
628
+ return;
629
+ }
630
+ if (zonosStore.loadedConfig) {
631
+ this.helloRef.setAttribute('data-zonos-hello-loaded', '');
632
+ this.updateHelloOnPageChange();
633
+ clearInterval(initInterval);
634
+ }
635
+ }, 100);
636
+ }
637
+ /**
638
+ * This method will trigger the currency conversion and display the converted value
639
+ * @returns void
640
+ */
641
+ async displayCurrency() {
642
+ if (!localizationStore.exchangeRate) {
643
+ // eslint-disable-next-line no-console
644
+ console.error('Could not display currency. Exchange rate and format data is not available.');
582
645
  return;
583
- }
584
- void this.reloadHelloData();
585
- }
586
- }, 1000);
587
- };
588
- this.changeShowDialog = (value) => {
589
- this.showDialog = value;
590
- };
591
- this.shouldAnimateLeftDesktop = () => {
592
- // Get Hello position (relative = desktop, fixed = mobile)
593
- const elPosition = this.helloRef && getComputedStyle(this.helloRef).position;
594
- // If relative position, determine if peek message should animate left or right. Mobile is pre-determined.
595
- if (this.helloRef && elPosition === 'relative') {
596
- const hasMoreSpaceOnRight = getHasMoreSpaceOnRight(this.helloRef);
597
- return hasMoreSpaceOnRight;
598
- }
599
- };
600
- this.isShippableCountry = (showLog = true) => {
601
- if (!localizationStore.localizationLoaded) {
602
- return false;
603
- }
604
- // if localization is loaded and the localization is not a shippable country, keep the original click event
605
- if (!localizationStore.isShippableCountry) {
606
- if (showLog) {
607
- log(`Hello: not shippable country`);
608
646
  }
609
- return false;
610
- }
611
- return true;
612
- };
613
- this.mobileLocationOverride = undefined;
614
- this.animateFromLeftOverride = undefined;
615
- this.appearanceSettingsOverride = undefined;
616
- this.showPeekMessage = false;
617
- this.zonosStoreHelloSettings = zonosStore.helloSettings;
618
- this.showDialog = false;
619
- this.peekMessage = '';
620
- this.initialUrl = '';
621
- this.allRestrictedItems = [];
622
- this.allFoundProducts = [];
623
- this.productsOnPage = [];
624
- }
625
- componentWillLoad() {
626
- const initInterval = setInterval(async () => {
627
- if (!this.helloRef) {
628
- return;
629
- }
630
- if (zonosStore.loadedConfig) {
631
- this.helloRef.setAttribute('data-zonos-hello-loaded', '');
632
- this.updateHelloOnPageChange();
633
- clearInterval(initInterval);
634
- }
635
- }, 100);
636
- }
637
- /**
638
- * This method will trigger the currency conversion and display the converted value
639
- * @returns void
640
- */
641
- async displayCurrency() {
642
- if (!localizationStore.exchangeRate) {
643
- // eslint-disable-next-line no-console
644
- console.error('Could not display currency. Exchange rate and format data is not available.');
645
- return;
647
+ currencyDisplay();
646
648
  }
647
- currencyDisplay();
648
- }
649
- /**
650
- * This method will call convert and format, and return the converted and formatted string
651
- * @returns string
652
- */
653
- async convertAndFormat(value) {
654
- currencyConvertAndFormat(value);
655
- }
656
- /**
657
- * This method will convert the currency and return the converted value
658
- * @returns number
659
- */
660
- async convert(value) {
661
- currencyConvert(value);
662
- }
663
- /**
664
- * This method will format the currency and return the formatted string
665
- * @returns number
666
- */
667
- async format(value) {
668
- currencyFormat(value);
669
- }
670
- handleResize() {
671
- debounce_1(this.render.bind(this), RESIZE_DEBOUNCE_DELAY_MS);
672
- }
673
- render() {
674
- var _a, _b;
675
- const isExcludedUrl = (_a = zonosStore.helloSettings.excludedUrlPatterns) === null || _a === void 0 ? void 0 : _a.some(pattern => new RegExp(pattern).test(window.location.href));
676
- if (isExcludedUrl) {
677
- log('Hello is excluded on this url', 'warn');
678
- return null;
649
+ /**
650
+ * This method will call convert and format, and return the converted and formatted string
651
+ * @returns string
652
+ */
653
+ async convertAndFormat(value) {
654
+ currencyConvertAndFormat(value);
655
+ }
656
+ /**
657
+ * This method will convert the currency and return the converted value
658
+ * @returns number
659
+ */
660
+ async convert(value) {
661
+ currencyConvert(value);
662
+ }
663
+ /**
664
+ * This method will format the currency and return the formatted string
665
+ * @returns number
666
+ */
667
+ async format(value) {
668
+ currencyFormat(value);
669
+ }
670
+ handleResize() {
671
+ debounce_1(this.render.bind(this), RESIZE_DEBOUNCE_DELAY_MS);
672
+ }
673
+ render() {
674
+ var _a, _b;
675
+ const isExcludedUrl = (_a = zonosStore.helloSettings.excludedUrlPatterns) === null || _a === void 0 ? void 0 : _a.some(pattern => new RegExp(pattern).test(window.location.href));
676
+ if (isExcludedUrl) {
677
+ log('Hello is excluded on this url', 'warn');
678
+ return null;
679
+ }
680
+ const { selectedCountryCode } = localizationStore;
681
+ const mobileLocation = this.mobileLocationOverride || zonosStore.helloSettings.mobileLocation;
682
+ const isMobileWindow = window.innerWidth < 768;
683
+ const isOnLeft = this.animateFromLeftOverride ||
684
+ (isMobileWindow && mobileLocation.includes('LEFT')) ||
685
+ this.shouldAnimateLeftDesktop() ||
686
+ false;
687
+ const isOnTop = mobileLocation.includes('TOP');
688
+ const appearanceSettings = mergeConfig(zonosStore.appearance, this.appearanceSettingsOverride);
689
+ const { theme } = appearanceSettings;
690
+ const restrictedItemsOnPage = (_b = this.allRestrictedItems) === null || _b === void 0 ? void 0 : _b.filter(product => this.productsOnPage.some(restriction => restriction.description === product.itemDescription));
691
+ const showHello = this.isShippableCountry() && !!selectedCountryCode;
692
+ return (h(Host, { class: "zonos--hello zonos--elements", "data-theme": theme }, showHello && (h("div", { class: "zonos--hello-wrapper" }, h("button", { class: classes([
693
+ 'zonos--hello-widget',
694
+ this.showPeekMessage && 'zonos--hello-show-peek-message',
695
+ this.mobileLocationOverride && 'zonos--hello-mobile-override',
696
+ isOnLeft &&
697
+ 'zonos--hello-widget-left zonos--hello-widget-animate-from-left',
698
+ isOnTop && 'zonos--hello-widget-top',
699
+ !!this.allRestrictedItems.length &&
700
+ 'zonos--hello-has-restrictions',
701
+ ]), onClick: () => {
702
+ this.changeShowDialog(!this.showDialog);
703
+ }, 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([
704
+ 'zonos--hello-dialog-wrapper',
705
+ this.mobileLocationOverride &&
706
+ 'zonos--hello-dialog-wrapper-mobile-override',
707
+ ]), 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 }))))));
679
708
  }
680
- const { selectedCountryCode } = localizationStore;
681
- const mobileLocation = this.mobileLocationOverride || zonosStore.helloSettings.mobileLocation;
682
- const isMobileWindow = window.innerWidth < 768;
683
- const isOnLeft = this.animateFromLeftOverride ||
684
- (isMobileWindow && mobileLocation.includes('LEFT')) ||
685
- this.shouldAnimateLeftDesktop() ||
686
- false;
687
- const isOnTop = mobileLocation.includes('TOP');
688
- const appearanceSettings = mergeConfig(zonosStore.appearance, this.appearanceSettingsOverride);
689
- const { theme } = appearanceSettings;
690
- const restrictedItemsOnPage = (_b = this.allRestrictedItems) === null || _b === void 0 ? void 0 : _b.filter(product => this.productsOnPage.some(restriction => restriction.description === product.itemDescription));
691
- const showHello = this.isShippableCountry() && !!selectedCountryCode;
692
- return (h(Host, { class: "zonos--hello zonos--elements", "data-theme": theme }, showHello && (h("div", { class: "zonos--hello-wrapper" }, h("button", { class: classes([
693
- 'zonos--hello-widget',
694
- this.showPeekMessage && 'zonos--hello-show-peek-message',
695
- this.mobileLocationOverride && 'zonos--hello-mobile-override',
696
- isOnLeft &&
697
- 'zonos--hello-widget-left zonos--hello-widget-animate-from-left',
698
- isOnTop && 'zonos--hello-widget-top',
699
- !!this.allRestrictedItems.length &&
700
- 'zonos--hello-has-restrictions',
701
- ]), onClick: () => {
702
- this.changeShowDialog(!this.showDialog);
703
- }, 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([
704
- 'zonos--hello-dialog-wrapper',
705
- this.mobileLocationOverride &&
706
- 'zonos--hello-dialog-wrapper-mobile-override',
707
- ]), 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 }))))));
708
- }
709
709
  };
710
710
  ZonosHello.style = zonosHelloCss;
711
711