@zonos/elements 1.2.3 → 1.2.4-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/dist/cjs/cart-4ddc2af5.js +616 -0
  2. package/dist/cjs/getBorderRadius-a97a5f75.js +18 -0
  3. package/dist/cjs/getHasMoreSpaceOnRight-4c94667f.js +10 -0
  4. package/dist/cjs/{index-9542d2e7.js → index-20cb112f.js} +127 -26
  5. package/dist/cjs/index.cjs.js +6 -6
  6. package/dist/cjs/isColorVariable-41cacd82.js +16 -0
  7. package/dist/cjs/{isDarkColor-f3446afd.js → isDarkColor-261fcf3d.js} +2 -2
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/cjs/localization-11360fed.js +3629 -0
  10. package/dist/cjs/submitGtag-bb093547.js +27 -0
  11. package/dist/cjs/zonos-address_2.cjs.entry.js +108 -108
  12. package/dist/cjs/zonos-badge.cjs.entry.js +25 -22
  13. package/dist/cjs/zonos-banner.cjs.entry.js +65 -53
  14. package/dist/cjs/zonos-button_2.cjs.entry.js +100 -99
  15. package/dist/cjs/zonos-card_2.cjs.entry.js +32 -27
  16. package/dist/cjs/zonos-cart-items_10.cjs.entry.js +422 -419
  17. package/dist/cjs/zonos-checkout.cjs.entry.js +356 -356
  18. package/dist/cjs/zonos-component.cjs.entry.js +15 -15
  19. package/dist/cjs/zonos-controller.cjs.entry.js +231 -193
  20. package/dist/cjs/zonos-country-flag_4.cjs.entry.js +85 -77
  21. package/dist/cjs/zonos-elements.cjs.js +3 -3
  22. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +101 -101
  23. package/dist/cjs/zonos-hello.cjs.entry.js +349 -349
  24. package/dist/cjs/zonos-icon.cjs.entry.js +22 -20
  25. package/dist/cjs/zonos-notification.cjs.entry.js +60 -57
  26. package/dist/cjs/zonos-payment.cjs.entry.js +45 -45
  27. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +40 -40
  28. package/dist/cjs/zonos-text.cjs.entry.js +145 -143
  29. package/dist/cjs/{zonosStore-a430ec5b.js → zonosStore-a0fa5b77.js} +102 -97
  30. package/dist/collection/__mocks__/vercel-app/loadZonos.js +492 -0
  31. package/dist/collection/__mocks__/vercel-app/localization.js +1 -0
  32. package/dist/collection/__mocks__/vercel-app/zonos-hello.entry.js +1 -0
  33. package/dist/collection/__mocks__/zonos-url/loadZonos.js +492 -0
  34. package/dist/{esm-es5/localization-f3828793.js → collection/__mocks__/zonos-url/localization.js} +1 -1
  35. package/dist/collection/__mocks__/zonos-url/zonos-hello.entry.js +1 -0
  36. package/dist/collection/__tests__/build-utils/urlCheckOne.js +59 -0
  37. package/dist/collection/collection-manifest.json +2 -2
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.css +4 -1
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +37 -37
  40. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.css +4 -1
  41. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +44 -44
  42. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.css +4 -1
  43. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +164 -164
  44. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.css +4 -1
  45. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +149 -149
  46. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.css +4 -1
  47. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +559 -559
  48. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +4 -1
  49. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +153 -153
  50. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.css +4 -1
  51. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.js +107 -107
  52. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +4 -1
  53. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +164 -164
  54. package/dist/collection/components/common/countries.js +261 -261
  55. package/dist/collection/components/common/zonos-badge/zonos-badge.css +4 -1
  56. package/dist/collection/components/common/zonos-badge/zonos-badge.js +189 -186
  57. package/dist/collection/components/common/zonos-banner/zonos-banner.css +4 -1
  58. package/dist/collection/components/common/zonos-banner/zonos-banner.js +140 -128
  59. package/dist/collection/components/common/zonos-button/zonos-button.css +5 -5
  60. package/dist/collection/components/common/zonos-button/zonos-button.js +407 -406
  61. package/dist/collection/components/common/zonos-card/zonos-card.css +4 -1
  62. package/dist/collection/components/common/zonos-card/zonos-card.js +165 -162
  63. package/dist/collection/components/common/zonos-collapse/zonos-collapse.css +4 -1
  64. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +85 -83
  65. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.css +4 -1
  66. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.js +101 -96
  67. package/dist/collection/components/common/zonos-country-select/zonos-country-select.css +4 -1
  68. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +73 -70
  69. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.css +4 -1
  70. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +62 -59
  71. package/dist/collection/components/common/zonos-dialog/zonos-dialog.css +4 -1
  72. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +373 -371
  73. package/dist/collection/components/common/zonos-icon/zonos-icon.css +4 -1
  74. package/dist/collection/components/common/zonos-icon/zonos-icon.js +123 -121
  75. package/dist/collection/components/common/zonos-logo/zonos-logo.css +4 -1
  76. package/dist/collection/components/common/zonos-logo/zonos-logo.js +92 -90
  77. package/dist/collection/components/common/zonos-notification/zonos-notification.css +4 -1
  78. package/dist/collection/components/common/zonos-notification/zonos-notification.js +128 -125
  79. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.css +4 -1
  80. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +168 -168
  81. package/dist/collection/components/common/zonos-spinner/zonos-spinner.css +4 -1
  82. package/dist/collection/components/common/zonos-spinner/zonos-spinner.js +71 -71
  83. package/dist/collection/components/common/zonos-text/zonos-text.css +4 -1
  84. package/dist/collection/components/common/zonos-text/zonos-text.js +193 -191
  85. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.css +4 -1
  86. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +70 -67
  87. package/dist/collection/components/component-template/zonos-component/zonos-component.css +4 -1
  88. package/dist/collection/components/component-template/zonos-component/zonos-component.js +81 -81
  89. package/dist/collection/components/hello/zonos-hello/zonos-hello.css +4 -2
  90. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +447 -446
  91. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.css +4 -1
  92. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +70 -70
  93. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.css +4 -1
  94. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +272 -272
  95. package/dist/collection/components/main/zonos-controller.css +4 -1
  96. package/dist/collection/components/main/zonos-controller.js +400 -319
  97. package/dist/collection/components/store/checkout/cart.js +162 -162
  98. package/dist/collection/components/store/checkout/stripe.js +264 -264
  99. package/dist/collection/components/store/hello/localization.js +112 -112
  100. package/dist/collection/components/store/translationStore/strings.arabic.js +147 -147
  101. package/dist/collection/components/store/translationStore/strings.base.js +147 -147
  102. package/dist/collection/components/store/translationStore/strings.chinese.js +147 -147
  103. package/dist/collection/components/store/translationStore/strings.danish.js +147 -147
  104. package/dist/collection/components/store/translationStore/strings.dutch.js +147 -147
  105. package/dist/collection/components/store/translationStore/strings.french.js +147 -147
  106. package/dist/collection/components/store/translationStore/strings.german.js +147 -147
  107. package/dist/collection/components/store/translationStore/strings.hebrew.js +147 -147
  108. package/dist/collection/components/store/translationStore/strings.indonesian.js +147 -147
  109. package/dist/collection/components/store/translationStore/strings.italian.js +147 -147
  110. package/dist/collection/components/store/translationStore/strings.japanese.js +147 -147
  111. package/dist/collection/components/store/translationStore/strings.korean.js +147 -147
  112. package/dist/collection/components/store/translationStore/strings.norwegian.js +147 -147
  113. package/dist/collection/components/store/translationStore/strings.polish.js +147 -147
  114. package/dist/collection/components/store/translationStore/strings.portuguese.js +147 -147
  115. package/dist/collection/components/store/translationStore/strings.russian.js +147 -147
  116. package/dist/collection/components/store/translationStore/strings.spanish.js +147 -147
  117. package/dist/collection/components/store/translationStore/strings.swedish.js +147 -147
  118. package/dist/collection/components/store/translationStore/strings.turkish.js +147 -147
  119. package/dist/collection/components/store/translationStore/strings.vietnamese.js +147 -147
  120. package/dist/collection/components/store/translationStore.js +65 -65
  121. package/dist/collection/components/store/zonosStore.js +98 -94
  122. package/dist/collection/components/stripe/zonos-address/zonos-address.css +4 -1
  123. package/dist/collection/components/stripe/zonos-address/zonos-address.js +142 -142
  124. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.css +4 -1
  125. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +76 -76
  126. package/dist/collection/components/stripe/zonos-payment/zonos-payment.css +4 -1
  127. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +81 -81
  128. package/dist/collection/components/utils/addDays.js +5 -5
  129. package/dist/collection/components/utils/api/calculateLandedCost.js +11 -11
  130. package/dist/collection/components/utils/api/checkItemRestrictions.js +13 -13
  131. package/dist/collection/components/utils/api/getCountries.js +11 -11
  132. package/dist/collection/components/utils/api/getCountryLandedCost.js +11 -11
  133. package/dist/collection/components/utils/api/getExchangeRate.js +17 -17
  134. package/dist/collection/components/utils/api/getLocaleMessages.js +9 -9
  135. package/dist/collection/components/utils/api/getLocalization.js +24 -19
  136. package/dist/collection/components/utils/api/getShippingZones.js +9 -9
  137. package/dist/collection/components/utils/api/getZonosSetting.js +7 -7
  138. package/dist/collection/components/utils/api/prepCalculateLandedCost.js +26 -26
  139. package/dist/collection/components/utils/checkout/initCheckout.js +16 -16
  140. package/dist/collection/components/utils/checkout/isCheckoutMobile.js +1 -1
  141. package/dist/collection/components/utils/darkenColor.js +4 -4
  142. package/dist/collection/components/utils/formatCurrency.js +8 -8
  143. package/dist/collection/components/utils/formatDate.js +2 -2
  144. package/dist/collection/components/utils/getBorderRadius.js +5 -5
  145. package/dist/collection/components/utils/getButtonTheme.js +8 -8
  146. package/dist/collection/components/utils/getDaysDifference.js +4 -4
  147. package/dist/collection/components/utils/handleFetch.js +89 -77
  148. package/dist/collection/components/utils/hello/currencyConversion/currencyConvert.js +9 -9
  149. package/dist/collection/components/utils/hello/currencyConversion/currencyConvertAndFormat.js +3 -3
  150. package/dist/collection/components/utils/hello/currencyConversion/currencyDisplay.js +10 -10
  151. package/dist/collection/components/utils/hello/currencyConversion/currencyFormat.js +29 -29
  152. package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +35 -35
  153. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyCode.js +6 -6
  154. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyElements.js +13 -13
  155. package/dist/collection/components/utils/hello/currencyConversion/getInitialElementAmount.js +12 -12
  156. package/dist/collection/components/utils/hello/currencyConversion/getLanguageCode.js +6 -6
  157. package/dist/collection/components/utils/hello/detectItemRestrictions.js +23 -23
  158. package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js +17 -17
  159. package/dist/collection/components/utils/hello/getHasMoreSpaceAbove.js +5 -5
  160. package/dist/collection/components/utils/hello/getHasMoreSpaceOnRight.js +5 -5
  161. package/dist/collection/components/utils/hello/getProductsOnPage.js +42 -42
  162. package/dist/collection/components/utils/hello/getZCountryUrlParam.js +5 -0
  163. package/dist/collection/components/utils/hello/initHello.js +15 -15
  164. package/dist/collection/components/utils/hello/setZCountryUrlParam.js +9 -0
  165. package/dist/collection/components/utils/isColorVariable.js +10 -10
  166. package/dist/collection/components/utils/isDarkColor.js +1 -1
  167. package/dist/collection/components/utils/isValidSelector.js +8 -8
  168. package/dist/collection/components/utils/jsonParse.js +10 -10
  169. package/dist/collection/components/utils/lightenColor.js +4 -4
  170. package/dist/collection/components/utils/logging/log.js +22 -22
  171. package/dist/collection/components/utils/logging/logError.js +2 -2
  172. package/dist/collection/components/utils/mergeConfig.js +3 -3
  173. package/dist/collection/components/utils/submitGtag.js +9 -9
  174. package/dist/collection/environment.js +139 -116
  175. package/dist/collection/scripts/extractZonosQaUrl.js +26 -0
  176. package/dist/collection/scripts/loadStripe.js +7 -7
  177. package/dist/collection/scripts/stripe.js +80 -80
  178. package/dist/collection/scripts/zonos.js +279 -254
  179. package/dist/collection/styles/stripe/addressRuleStyle.js +14 -14
  180. package/dist/collection/styles/stripe/defaultVariable.js +14 -14
  181. package/dist/collection/types/generated/graphql.customer.types.js +1424 -1424
  182. package/dist/collection/types/generated/graphql.frontend.types.js +376 -376
  183. package/dist/collection/types/stripe/Apperance.js +56 -56
  184. package/dist/collection/types/styles/Color.js +18 -18
  185. package/dist/collection/types/styles/Text.js +97 -97
  186. package/dist/collection/utils/format.js +1 -1
  187. package/dist/collection/utils/generateVercelDeployUrl.js +17 -17
  188. package/dist/components/cart.js +497 -497
  189. package/dist/components/formatCurrency.js +8 -8
  190. package/dist/components/getBorderRadius.js +5 -5
  191. package/dist/components/isColorVariable.js +10 -10
  192. package/dist/components/isDarkColor.js +1 -1
  193. package/dist/components/localization.js +3448 -3426
  194. package/dist/components/submitGtag.js +9 -9
  195. package/dist/components/zonos-address.d.ts +2 -2
  196. package/dist/components/zonos-address2.js +90 -90
  197. package/dist/components/zonos-badge.d.ts +2 -2
  198. package/dist/components/zonos-badge2.js +52 -43
  199. package/dist/components/zonos-banner.d.ts +2 -2
  200. package/dist/components/zonos-banner2.js +88 -76
  201. package/dist/components/zonos-button.d.ts +2 -2
  202. package/dist/components/zonos-button2.js +120 -119
  203. package/dist/components/zonos-card.d.ts +2 -2
  204. package/dist/components/zonos-card2.js +48 -39
  205. package/dist/components/zonos-cart-items.d.ts +2 -2
  206. package/dist/components/zonos-cart-items2.js +43 -43
  207. package/dist/components/zonos-cart-subtotal.d.ts +2 -2
  208. package/dist/components/zonos-cart-subtotal2.js +65 -65
  209. package/dist/components/zonos-checkout-finish.d.ts +2 -2
  210. package/dist/components/zonos-checkout-finish2.js +101 -101
  211. package/dist/components/zonos-checkout-payment.d.ts +2 -2
  212. package/dist/components/zonos-checkout-payment2.js +82 -82
  213. package/dist/components/zonos-checkout.d.ts +2 -2
  214. package/dist/components/zonos-checkout.js +498 -498
  215. package/dist/components/zonos-collapse.d.ts +2 -2
  216. package/dist/components/zonos-collapse2.js +48 -46
  217. package/dist/components/zonos-component.d.ts +2 -2
  218. package/dist/components/zonos-component.js +32 -32
  219. package/dist/components/zonos-controller.d.ts +2 -2
  220. package/dist/components/zonos-controller.js +259 -219
  221. package/dist/components/zonos-country-flag.d.ts +2 -2
  222. package/dist/components/zonos-country-flag2.js +41 -36
  223. package/dist/components/zonos-country-select.d.ts +2 -2
  224. package/dist/components/zonos-country-select2.js +82 -79
  225. package/dist/components/zonos-custom-message.d.ts +2 -2
  226. package/dist/components/zonos-custom-message2.js +44 -41
  227. package/dist/components/zonos-customer-info.d.ts +2 -2
  228. package/dist/components/zonos-customer-info2.js +82 -82
  229. package/dist/components/zonos-dialog.d.ts +2 -2
  230. package/dist/components/zonos-dialog2.js +105 -103
  231. package/dist/components/zonos-hello-dialog-footer.d.ts +2 -2
  232. package/dist/components/zonos-hello-dialog-footer2.js +46 -46
  233. package/dist/components/zonos-hello-dialog.d.ts +2 -2
  234. package/dist/components/zonos-hello-dialog2.js +182 -182
  235. package/dist/components/zonos-hello.d.ts +2 -2
  236. package/dist/components/zonos-hello.js +437 -437
  237. package/dist/components/zonos-icon.d.ts +2 -2
  238. package/dist/components/zonos-icon2.js +40 -38
  239. package/dist/components/zonos-link-authentication.d.ts +2 -2
  240. package/dist/components/zonos-link-authentication2.js +60 -60
  241. package/dist/components/zonos-logo.d.ts +2 -2
  242. package/dist/components/zonos-logo2.js +37 -35
  243. package/dist/components/zonos-notification.d.ts +2 -2
  244. package/dist/components/zonos-notification2.js +82 -79
  245. package/dist/components/zonos-payment.d.ts +2 -2
  246. package/dist/components/zonos-payment2.js +64 -64
  247. package/dist/components/zonos-review.d.ts +2 -2
  248. package/dist/components/zonos-review2.js +72 -72
  249. package/dist/components/zonos-shipping-rich-radio.d.ts +2 -2
  250. package/dist/components/zonos-shipping-rich-radio2.js +62 -62
  251. package/dist/components/zonos-shipping.d.ts +2 -2
  252. package/dist/components/zonos-shipping2.js +114 -114
  253. package/dist/components/zonos-spinner.d.ts +2 -2
  254. package/dist/components/zonos-spinner2.js +31 -31
  255. package/dist/components/zonos-text.d.ts +2 -2
  256. package/dist/components/zonos-text2.js +166 -164
  257. package/dist/components/zonos-v-stack.d.ts +2 -2
  258. package/dist/components/zonos-v-stack2.js +29 -26
  259. package/dist/components/zonosStore.js +101 -97
  260. package/dist/esm/cart-cd87f476.js +598 -0
  261. package/dist/esm/getBorderRadius-35e8acce.js +16 -0
  262. package/dist/esm/getHasMoreSpaceOnRight-70eb913a.js +8 -0
  263. package/dist/esm/{index-d1aa9293.js → index-3617e24c.js} +127 -26
  264. package/dist/esm/index.js +6 -6
  265. package/dist/esm/isColorVariable-91c33804.js +14 -0
  266. package/dist/esm/{isDarkColor-6fbb9b14.js → isDarkColor-44e9e451.js} +2 -2
  267. package/dist/esm/loader.js +3 -3
  268. package/dist/esm/localization-f573428e.js +3614 -0
  269. package/dist/esm/submitGtag-75af52be.js +24 -0
  270. package/dist/esm/zonos-address_2.entry.js +108 -108
  271. package/dist/esm/zonos-badge.entry.js +25 -22
  272. package/dist/esm/zonos-banner.entry.js +65 -53
  273. package/dist/esm/zonos-button_2.entry.js +100 -99
  274. package/dist/esm/zonos-card_2.entry.js +32 -27
  275. package/dist/esm/zonos-cart-items_10.entry.js +422 -419
  276. package/dist/esm/zonos-checkout.entry.js +356 -356
  277. package/dist/esm/zonos-component.entry.js +15 -15
  278. package/dist/esm/zonos-controller.entry.js +231 -193
  279. package/dist/esm/zonos-country-flag_4.entry.js +85 -77
  280. package/dist/esm/zonos-elements.js +4 -4
  281. package/dist/esm/zonos-hello-dialog.entry.js +101 -101
  282. package/dist/esm/zonos-hello.entry.js +349 -349
  283. package/dist/esm/zonos-icon.entry.js +22 -20
  284. package/dist/esm/zonos-notification.entry.js +60 -57
  285. package/dist/esm/zonos-payment.entry.js +45 -45
  286. package/dist/esm/zonos-shipping-rich-radio.entry.js +40 -40
  287. package/dist/esm/zonos-text.entry.js +145 -143
  288. package/dist/esm/{zonosStore-05a62104.js → zonosStore-e0b7a5cf.js} +102 -98
  289. package/dist/esm-es5/{cart-17650017.js → cart-cd87f476.js} +1 -1
  290. package/dist/esm-es5/getBorderRadius-35e8acce.js +1 -0
  291. package/dist/esm-es5/getHasMoreSpaceOnRight-70eb913a.js +1 -0
  292. package/dist/esm-es5/index-3617e24c.js +2 -0
  293. package/dist/esm-es5/index.js +1 -1
  294. package/dist/esm-es5/{isDarkColor-6fbb9b14.js → isDarkColor-44e9e451.js} +1 -1
  295. package/dist/esm-es5/loader.js +1 -1
  296. package/dist/esm-es5/localization-f573428e.js +1 -0
  297. package/dist/esm-es5/{submitGtag-a901ece5.js → submitGtag-75af52be.js} +1 -1
  298. package/dist/esm-es5/zonos-address_2.entry.js +1 -1
  299. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  300. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  301. package/dist/esm-es5/zonos-button_2.entry.js +1 -1
  302. package/dist/esm-es5/zonos-card_2.entry.js +1 -1
  303. package/dist/esm-es5/zonos-cart-items_10.entry.js +1 -1
  304. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  305. package/dist/esm-es5/zonos-component.entry.js +1 -1
  306. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  307. package/dist/esm-es5/zonos-country-flag_4.entry.js +1 -1
  308. package/dist/esm-es5/zonos-elements.js +1 -1
  309. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  310. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  311. package/dist/esm-es5/zonos-icon.entry.js +1 -1
  312. package/dist/esm-es5/zonos-notification.entry.js +1 -1
  313. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  314. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  315. package/dist/esm-es5/zonos-text.entry.js +1 -1
  316. package/dist/esm-es5/zonosStore-e0b7a5cf.js +1 -0
  317. package/dist/scripts/extractZonosQaUrl.js +30 -0
  318. package/dist/scripts/loadZonos.js +99 -48
  319. package/dist/scripts/zonos.js +99 -48
  320. package/dist/types/__tests__/build-utils/urlCheckOne.d.ts +6 -0
  321. package/dist/types/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.d.ts +2 -2
  322. package/dist/types/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.d.ts +1 -1
  323. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +28 -28
  324. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.d.ts +31 -31
  325. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +77 -77
  326. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +31 -31
  327. package/dist/types/components/checkout/zonos-checkout/zonos-review/zonos-review.d.ts +14 -14
  328. package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +29 -29
  329. package/dist/types/components/common/zonos-badge/zonos-badge.d.ts +35 -35
  330. package/dist/types/components/common/zonos-banner/zonos-banner.d.ts +21 -21
  331. package/dist/types/components/common/zonos-button/zonos-button.d.ts +92 -92
  332. package/dist/types/components/common/zonos-card/zonos-card.d.ts +29 -29
  333. package/dist/types/components/common/zonos-collapse/zonos-collapse.d.ts +14 -14
  334. package/dist/types/components/common/zonos-country-flag/zonos-country-flag.d.ts +16 -16
  335. package/dist/types/components/common/zonos-country-select/zonos-country-select.d.ts +9 -9
  336. package/dist/types/components/common/zonos-custom-message/zonos-custom-message.d.ts +9 -9
  337. package/dist/types/components/common/zonos-dialog/zonos-dialog.d.ts +75 -75
  338. package/dist/types/components/common/zonos-icon/zonos-icon.d.ts +27 -27
  339. package/dist/types/components/common/zonos-logo/zonos-logo.d.ts +13 -13
  340. package/dist/types/components/common/zonos-notification/zonos-notification.d.ts +28 -28
  341. package/dist/types/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.d.ts +35 -35
  342. package/dist/types/components/common/zonos-spinner/zonos-spinner.d.ts +11 -11
  343. package/dist/types/components/common/zonos-text/zonos-text.d.ts +30 -30
  344. package/dist/types/components/common/zonos-v-stack/zonos-v-stack.d.ts +10 -10
  345. package/dist/types/components/component-template/zonos-component/zonos-component.d.ts +14 -14
  346. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +68 -68
  347. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.d.ts +10 -10
  348. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +41 -41
  349. package/dist/types/components/main/zonos-controller.d.ts +47 -38
  350. package/dist/types/components/store/checkout/cart.d.ts +64 -64
  351. package/dist/types/components/store/checkout/stripe.d.ts +43 -43
  352. package/dist/types/components/store/hello/localization.d.ts +15 -15
  353. package/dist/types/components/store/translationStore/strings.arabic.d.ts +147 -147
  354. package/dist/types/components/store/translationStore/strings.base.d.ts +147 -147
  355. package/dist/types/components/store/translationStore/strings.chinese.d.ts +147 -147
  356. package/dist/types/components/store/translationStore/strings.danish.d.ts +147 -147
  357. package/dist/types/components/store/translationStore/strings.dutch.d.ts +147 -147
  358. package/dist/types/components/store/translationStore/strings.french.d.ts +147 -147
  359. package/dist/types/components/store/translationStore/strings.german.d.ts +147 -147
  360. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +147 -147
  361. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +147 -147
  362. package/dist/types/components/store/translationStore/strings.italian.d.ts +147 -147
  363. package/dist/types/components/store/translationStore/strings.japanese.d.ts +147 -147
  364. package/dist/types/components/store/translationStore/strings.korean.d.ts +147 -147
  365. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +147 -147
  366. package/dist/types/components/store/translationStore/strings.polish.d.ts +147 -147
  367. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +147 -147
  368. package/dist/types/components/store/translationStore/strings.russian.d.ts +147 -147
  369. package/dist/types/components/store/translationStore/strings.spanish.d.ts +147 -147
  370. package/dist/types/components/store/translationStore/strings.swedish.d.ts +147 -147
  371. package/dist/types/components/store/translationStore/strings.turkish.d.ts +147 -147
  372. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +147 -147
  373. package/dist/types/components/store/translationStore.d.ts +2 -2
  374. package/dist/types/components/store/zonosStore.d.ts +23 -22
  375. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +17 -17
  376. package/dist/types/components/stripe/zonos-link-authentication/zonos-link-authentication.d.ts +9 -9
  377. package/dist/types/components/stripe/zonos-payment/zonos-payment.d.ts +10 -10
  378. package/dist/types/components/utils/addDays.d.ts +6 -6
  379. package/dist/types/components/utils/api/checkItemRestrictions.d.ts +14 -14
  380. package/dist/types/components/utils/api/getCountryLandedCost.d.ts +6 -6
  381. package/dist/types/components/utils/api/getExchangeRate.d.ts +17 -17
  382. package/dist/types/components/utils/api/getLocaleMessages.d.ts +15 -15
  383. package/dist/types/components/utils/api/getLocalization.d.ts +2 -2
  384. package/dist/types/components/utils/api/getZonosSetting.d.ts +4 -4
  385. package/dist/types/components/utils/changeDeepProperty.d.ts +3 -3
  386. package/dist/types/components/utils/changeDeepPropertyAtIndex.d.ts +4 -4
  387. package/dist/types/components/utils/darkenColor.d.ts +2 -2
  388. package/dist/types/components/utils/formatCurrency.d.ts +3 -3
  389. package/dist/types/components/utils/formatDate.d.ts +6 -6
  390. package/dist/types/components/utils/handleFetch.d.ts +7 -7
  391. package/dist/types/components/utils/hello/detectItemRestrictions.d.ts +10 -10
  392. package/dist/types/components/utils/hello/getZCountryUrlParam.d.ts +2 -0
  393. package/dist/types/components/utils/hello/setZCountryUrlParam.d.ts +2 -0
  394. package/dist/types/components/utils/lightenColor.d.ts +2 -2
  395. package/dist/types/components/utils/mergeConfig.d.ts +1 -1
  396. package/dist/types/components/utils/submitGtag.d.ts +3 -3
  397. package/dist/types/components.d.ts +96 -0
  398. package/dist/types/environment.d.ts +39 -34
  399. package/dist/types/scripts/extractZonosQaUrl.d.ts +11 -0
  400. package/dist/types/scripts/stripe.d.ts +2 -2
  401. package/dist/types/scripts/zonos.d.ts +50 -40
  402. package/dist/types/stencil-public-runtime.d.ts +29 -0
  403. package/dist/types/styles/stripe/addressRuleStyle.d.ts +1 -1
  404. package/dist/types/styles/stripe/defaultVariable.d.ts +2 -2
  405. package/dist/types/types/ICountryJson.d.ts +20 -20
  406. package/dist/types/types/JsonError.d.ts +3 -3
  407. package/dist/types/types/Translation.d.ts +1 -1
  408. package/dist/types/types/checkout/CheckoutConfig.d.ts +52 -52
  409. package/dist/types/types/checkout/api/CalculateLandedCostRequest.d.ts +16 -16
  410. package/dist/types/types/generated/graphql.customer.types.d.ts +1968 -1968
  411. package/dist/types/types/generated/graphql.frontend.types.d.ts +449 -449
  412. package/dist/types/types/hello/HelloConfig.d.ts +20 -20
  413. package/dist/types/types/hello/Product.d.ts +3 -3
  414. package/dist/types/types/hello/RestrictedItem.d.ts +1 -1
  415. package/dist/types/types/online-store/OnlineStoreConfig.d.ts +1 -1
  416. package/dist/types/types/stripe/Apperance.d.ts +3 -3
  417. package/dist/types/types/styles/Text.d.ts +90 -90
  418. package/dist/types/types/utils/deep/IDeepKeyof.d.ts +1 -1
  419. package/dist/types/types/utils/deep/IDeepKeyofAtIndex.d.ts +2 -2
  420. package/dist/types/utils/generateVercelDeployUrl.d.ts +2 -2
  421. package/dist/zonos-elements/index.esm.js +1 -1
  422. package/dist/zonos-elements/p-0175125e.system.js +1 -0
  423. package/dist/zonos-elements/p-03923a86.system.entry.js +1 -0
  424. package/dist/zonos-elements/p-08298e74.entry.js +1 -0
  425. package/dist/zonos-elements/p-1bddc7ca.system.entry.js +1 -0
  426. package/dist/zonos-elements/{p-770c959e.js → p-1f8b684a.js} +1 -1
  427. package/dist/zonos-elements/p-2228b050.entry.js +1 -0
  428. package/dist/zonos-elements/p-23e7c655.system.js +1 -1
  429. package/dist/zonos-elements/p-2466df77.entry.js +1 -0
  430. package/dist/zonos-elements/p-29b993c2.system.entry.js +1 -0
  431. package/dist/zonos-elements/p-2a32dc0a.system.entry.js +1 -0
  432. package/dist/zonos-elements/p-2a666084.entry.js +1 -0
  433. package/dist/zonos-elements/p-2f1e9192.system.entry.js +1 -0
  434. package/dist/zonos-elements/{p-f7875c40.js → p-39a5e8e0.js} +1 -1
  435. package/dist/zonos-elements/p-44ddebe4.system.entry.js +1 -0
  436. package/dist/zonos-elements/p-4e8b5d86.system.entry.js +1 -0
  437. package/dist/zonos-elements/p-534dcbd4.system.js +1 -0
  438. package/dist/zonos-elements/p-5a41b5fd.entry.js +1 -0
  439. package/dist/zonos-elements/p-5d0eceaa.entry.js +1 -0
  440. package/dist/zonos-elements/{p-a1fa50fb.entry.js → p-62ccb686.entry.js} +1 -1
  441. package/dist/zonos-elements/p-643eeb24.system.js +1 -0
  442. package/dist/zonos-elements/p-660a588b.entry.js +1 -0
  443. package/dist/zonos-elements/p-6affe5cc.entry.js +1 -0
  444. package/dist/zonos-elements/p-72ea628d.system.js +1 -0
  445. package/dist/zonos-elements/{p-85ab35c9.system.js → p-754bdfdb.system.js} +1 -1
  446. package/dist/zonos-elements/{p-164fae93.system.js → p-779621e4.system.js} +1 -1
  447. package/dist/zonos-elements/{p-08695f4e.js → p-77a7929b.js} +1 -1
  448. package/dist/zonos-elements/p-7a15d841.entry.js +1 -0
  449. package/dist/zonos-elements/p-7a81ccb5.system.entry.js +1 -0
  450. package/dist/zonos-elements/p-80ba24a8.system.js +1 -0
  451. package/dist/zonos-elements/p-83d100b8.entry.js +1 -0
  452. package/dist/zonos-elements/{p-bf070bf6.js → p-8bbad467.js} +1 -1
  453. package/dist/zonos-elements/p-8ebc3ca5.system.entry.js +1 -0
  454. package/dist/zonos-elements/p-9c78d0ca.entry.js +1 -0
  455. package/dist/zonos-elements/p-9ef86de7.entry.js +1 -0
  456. package/dist/zonos-elements/p-ab46cee9.system.entry.js +1 -0
  457. package/dist/zonos-elements/p-b0268bc5.entry.js +1 -0
  458. package/dist/zonos-elements/p-b4db1620.entry.js +1 -0
  459. package/dist/zonos-elements/p-bc7bf53e.system.js +1 -0
  460. package/dist/zonos-elements/p-bec05c21.system.js +2 -0
  461. package/dist/zonos-elements/p-bec21999.system.js +1 -0
  462. package/dist/zonos-elements/{p-8378d94e.js → p-c299049e.js} +1 -1
  463. package/dist/zonos-elements/p-cd4f8e13.system.entry.js +1 -0
  464. package/dist/zonos-elements/p-ceb2cd7b.system.entry.js +1 -0
  465. package/dist/zonos-elements/p-cf4545ed.system.entry.js +1 -0
  466. package/dist/zonos-elements/p-cf8aaa17.js +2 -0
  467. package/dist/zonos-elements/p-dc9b318c.system.entry.js +1 -0
  468. package/dist/zonos-elements/p-dcf64928.system.entry.js +1 -0
  469. package/dist/zonos-elements/p-e1de2a1f.js +1 -0
  470. package/dist/zonos-elements/{p-3f3fbcea.entry.js → p-e694312d.entry.js} +1 -1
  471. package/dist/zonos-elements/p-ec26fe57.entry.js +1 -0
  472. package/dist/zonos-elements/p-edbea8df.system.js +1 -0
  473. package/dist/zonos-elements/p-f8198015.system.entry.js +1 -0
  474. package/dist/zonos-elements/p-fcd4fc66.system.entry.js +1 -0
  475. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  476. package/dist/zonos-elements/zonos-elements.js +15 -15
  477. package/package.json +55 -54
  478. package/dist/cjs/cart-55512e32.js +0 -616
  479. package/dist/cjs/getBorderRadius-fdd605c6.js +0 -18
  480. package/dist/cjs/getHasMoreSpaceOnRight-2855491b.js +0 -10
  481. package/dist/cjs/isColorVariable-c1ed7303.js +0 -16
  482. package/dist/cjs/localization-d7fe7290.js +0 -3606
  483. package/dist/cjs/submitGtag-d65003f9.js +0 -27
  484. package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js +0 -9
  485. package/dist/esm/cart-17650017.js +0 -598
  486. package/dist/esm/getBorderRadius-45764ad7.js +0 -16
  487. package/dist/esm/getHasMoreSpaceOnRight-feba1ae2.js +0 -8
  488. package/dist/esm/isColorVariable-4cda28c9.js +0 -14
  489. package/dist/esm/localization-f3828793.js +0 -3592
  490. package/dist/esm/submitGtag-a901ece5.js +0 -24
  491. package/dist/esm-es5/getBorderRadius-45764ad7.js +0 -1
  492. package/dist/esm-es5/getHasMoreSpaceOnRight-feba1ae2.js +0 -1
  493. package/dist/esm-es5/index-d1aa9293.js +0 -2
  494. package/dist/esm-es5/zonosStore-05a62104.js +0 -1
  495. package/dist/types/components/utils/hello/setZonosCountryUrlParam.d.ts +0 -2
  496. package/dist/zonos-elements/p-0190f7c4.entry.js +0 -1
  497. package/dist/zonos-elements/p-0e0b46a5.js +0 -1
  498. package/dist/zonos-elements/p-0ed3bb9f.system.entry.js +0 -1
  499. package/dist/zonos-elements/p-15b71f0b.system.entry.js +0 -1
  500. package/dist/zonos-elements/p-224125da.system.entry.js +0 -1
  501. package/dist/zonos-elements/p-23204b78.system.entry.js +0 -1
  502. package/dist/zonos-elements/p-28681677.entry.js +0 -1
  503. package/dist/zonos-elements/p-2b6325ab.entry.js +0 -1
  504. package/dist/zonos-elements/p-36425562.system.entry.js +0 -1
  505. package/dist/zonos-elements/p-3a56c240.entry.js +0 -1
  506. package/dist/zonos-elements/p-43a25dab.entry.js +0 -1
  507. package/dist/zonos-elements/p-4a5096d2.system.js +0 -1
  508. package/dist/zonos-elements/p-64fdb7b6.system.js +0 -1
  509. package/dist/zonos-elements/p-68d06767.system.js +0 -2
  510. package/dist/zonos-elements/p-6d82986c.system.entry.js +0 -1
  511. package/dist/zonos-elements/p-6dcd752e.system.js +0 -1
  512. package/dist/zonos-elements/p-6e7cd3f7.entry.js +0 -1
  513. package/dist/zonos-elements/p-7bacecf7.entry.js +0 -1
  514. package/dist/zonos-elements/p-824395fd.system.entry.js +0 -1
  515. package/dist/zonos-elements/p-84b00605.system.entry.js +0 -1
  516. package/dist/zonos-elements/p-8a75b765.system.entry.js +0 -1
  517. package/dist/zonos-elements/p-8aabbb9b.system.js +0 -1
  518. package/dist/zonos-elements/p-8b415737.system.entry.js +0 -1
  519. package/dist/zonos-elements/p-8c867835.system.js +0 -1
  520. package/dist/zonos-elements/p-9202375f.entry.js +0 -1
  521. package/dist/zonos-elements/p-9688bb12.entry.js +0 -1
  522. package/dist/zonos-elements/p-98a6e093.system.entry.js +0 -1
  523. package/dist/zonos-elements/p-aca66238.system.entry.js +0 -1
  524. package/dist/zonos-elements/p-b618cf03.entry.js +0 -1
  525. package/dist/zonos-elements/p-b75ffe64.system.entry.js +0 -1
  526. package/dist/zonos-elements/p-bc2c42f5.entry.js +0 -1
  527. package/dist/zonos-elements/p-c8ad044e.system.entry.js +0 -1
  528. package/dist/zonos-elements/p-cc070c1c.entry.js +0 -1
  529. package/dist/zonos-elements/p-cc1c785c.system.entry.js +0 -1
  530. package/dist/zonos-elements/p-cd71e41e.entry.js +0 -1
  531. package/dist/zonos-elements/p-cf97cc68.system.entry.js +0 -1
  532. package/dist/zonos-elements/p-d6b8563b.system.entry.js +0 -1
  533. package/dist/zonos-elements/p-dc8d7000.js +0 -2
  534. package/dist/zonos-elements/p-e5908de2.entry.js +0 -1
  535. package/dist/zonos-elements/p-f6add79c.system.js +0 -1
  536. package/dist/zonos-elements/p-f8491335.system.js +0 -1
  537. package/dist/zonos-elements/p-f868ed42.entry.js +0 -1
  538. package/dist/zonos-elements/p-f95ac9ec.system.js +0 -1
  539. /package/dist/esm-es5/{isColorVariable-4cda28c9.js → isColorVariable-91c33804.js} +0 -0
  540. /package/dist/zonos-elements/{p-0636859b.js → p-4c414a92.js} +0 -0
  541. /package/dist/zonos-elements/{p-b6c499d4.js → p-5883217a.js} +0 -0
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9542d2e7.js');
6
- const cart = require('./cart-55512e32.js');
7
- const localization = require('./localization-d7fe7290.js');
8
- const zonosStore = require('./zonosStore-a430ec5b.js');
9
- const submitGtag = require('./submitGtag-d65003f9.js');
5
+ const index = require('./index-20cb112f.js');
6
+ const cart = require('./cart-4ddc2af5.js');
7
+ const localization = require('./localization-11360fed.js');
8
+ const zonosStore = require('./zonosStore-a0fa5b77.js');
9
+ const submitGtag = require('./submitGtag-bb093547.js');
10
10
  const classes = require('./classes-b7918f56.js');
11
- const getBorderRadius = require('./getBorderRadius-fdd605c6.js');
12
- const isDarkColor = require('./isDarkColor-f3446afd.js');
11
+ const getBorderRadius = require('./getBorderRadius-a97a5f75.js');
12
+ const isDarkColor = require('./isDarkColor-261fcf3d.js');
13
13
 
14
14
  const LeftArrow = `<svg color="var(--amino-gray-800)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M9.707 16.707a1 1 0 0 1-1.414 0l-3.647-3.646a1.5 1.5 0 0 1 0-2.122l3.647-3.646a1 1 0 0 1 1.414 1.414L7.414 11H19a1 1 0 1 1 0 2H7.414l2.293 2.293a1 1 0 0 1 0 1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>`;
15
15
 
@@ -20,372 +20,372 @@ const MessageIcon = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none"
20
20
 
21
21
  const RemoveIcon = `<svg color="var(--amino-gray-800)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z" data-is-secondary-color="true" fill="var(--amino-gray-200)" fill-rule="evenodd"></path><path clip-rule="evenodd" d="M8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>`;
22
22
 
23
- const zonosCheckoutCss = ".sc-zonos-checkout-h{font-family:Inter;display:block}.sc-zonos-checkout-h img.sc-zonos-checkout{max-width:100%}.sc-zonos-checkout-h dl.sc-zonos-checkout,.sc-zonos-checkout-h dd.sc-zonos-checkout,.sc-zonos-checkout-h h1.sc-zonos-checkout,.sc-zonos-checkout-h h2.sc-zonos-checkout,.sc-zonos-checkout-h h3.sc-zonos-checkout,.sc-zonos-checkout-h h4.sc-zonos-checkout,.sc-zonos-checkout-h h5.sc-zonos-checkout,.sc-zonos-checkout-h h6.sc-zonos-checkout,.sc-zonos-checkout-h hr.sc-zonos-checkout,.sc-zonos-checkout-h figure.sc-zonos-checkout,.sc-zonos-checkout-h p.sc-zonos-checkout,.sc-zonos-checkout-h pre.sc-zonos-checkout{margin:0}.sc-zonos-checkout-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar{width:10px}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-track{background:var(--amino-gray-50)}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;height:100%;overflow:hidden;border-radius:var(--border-radius, var(--amino-radius-10))}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex:1;flex:1;padding:var(--amino-space-48) var(--amino-space-56)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{background-color:var(--primary-color, var(--amino-gray-0));border-right:1px solid var(--amino-gray-200)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{background-color:var(--amino-gray-0);padding-bottom:var(--amino-space-80)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:100%;max-height:100%;height:100%;overflow:auto;-ms-flex-direction:column;flex-direction:column;background-color:var(--amino-gray-0);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:var(--amino-space-24);padding-bottom:50px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;width:100%}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout img.sc-zonos-checkout{width:150px;min-width:150px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--logo.sc-zonos-checkout{margin-bottom:0}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout zonos-checkout-finish.sc-zonos-checkout{-ms-flex:1;flex:1}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--back-button.sc-zonos-checkout{margin-bottom:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{padding:0 var(--amino-space-8) var(--amino-space-8)}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--payment-error-banner.sc-zonos-checkout{margin-top:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout{position:relative}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout .zonos--close-button.sc-zonos-checkout{position:absolute;right:var(--amino-space-24);top:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--footer.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;position:absolute;bottom:var(--amino-space-32);right:var(--amino-space-56);gap:var(--amino-space-8)}.sc-zonos-checkout-h .zonos--wrapper.sc-zonos-checkout{overflow:auto;max-height:100%;position:relative}.sc-zonos-checkout-h .flex--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:100%}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:var(--amino-space-76);margin-bottom:var(--amino-space-8)}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{border:var(--amino-border)}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{padding:var(--amino-space-32)}.mobile.sc-zonos-checkout-h{min-width:auto}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;border-radius:0;max-height:100%;height:100%;border:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding:var(--amino-space-12)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{-ms-flex-order:2;order:2}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex-order:1;order:1;padding-top:var(--amino-space-16)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--amino-space-16);margin-top:var(--amino-space-24);border:var(--amino-border);border-radius:var(--border-radius, var(--amino-radius-10));background-color:var(--amino-gray-50);padding:var(--amino-space-12);margin-top:var(--amino-space-32)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{max-height:100%}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:auto}.mobile.sc-zonos-checkout-h .zonos--cart-subtotal.sc-zonos-checkout{margin:0}.mobile.sc-zonos-checkout-h .zonos--footer.sc-zonos-checkout{bottom:0;left:0;padding:var(--amino-space-12);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:var(--amino-gray-0)}";
23
+ const zonosCheckoutCss = ".sc-zonos-checkout-h{font-family:var(--font-family, Inter), Inter;display:block}.sc-zonos-checkout-h *.sc-zonos-checkout{font-family:var(--font-family, Inter), Inter}.sc-zonos-checkout-h img.sc-zonos-checkout{max-width:100%}.sc-zonos-checkout-h dl.sc-zonos-checkout,.sc-zonos-checkout-h dd.sc-zonos-checkout,.sc-zonos-checkout-h h1.sc-zonos-checkout,.sc-zonos-checkout-h h2.sc-zonos-checkout,.sc-zonos-checkout-h h3.sc-zonos-checkout,.sc-zonos-checkout-h h4.sc-zonos-checkout,.sc-zonos-checkout-h h5.sc-zonos-checkout,.sc-zonos-checkout-h h6.sc-zonos-checkout,.sc-zonos-checkout-h hr.sc-zonos-checkout,.sc-zonos-checkout-h figure.sc-zonos-checkout,.sc-zonos-checkout-h p.sc-zonos-checkout,.sc-zonos-checkout-h pre.sc-zonos-checkout{margin:0}.sc-zonos-checkout-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar{width:10px}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-track{background:var(--amino-gray-50)}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb{border-radius:10px;background:#cccccc;border:3px solid transparent;background-clip:content-box}.sc-zonos-checkout-h *.sc-zonos-checkout::-webkit-scrollbar-thumb:hover{background:#d6d6d6}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;height:100%;overflow:hidden;border-radius:var(--border-radius, var(--amino-radius-10))}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex:1;flex:1;padding:var(--amino-space-48) var(--amino-space-56)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{background-color:var(--primary-color, var(--amino-gray-0));border-right:1px solid var(--amino-gray-200)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{background-color:var(--amino-gray-0);padding-bottom:var(--amino-space-80)}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:100%;max-height:100%;height:100%;overflow:auto;-ms-flex-direction:column;flex-direction:column;background-color:var(--amino-gray-0);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:var(--amino-space-24);padding-bottom:50px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;width:100%}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--header.sc-zonos-checkout img.sc-zonos-checkout{width:150px;min-width:150px}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout .zonos--logo.sc-zonos-checkout{margin-bottom:0}.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout zonos-checkout-finish.sc-zonos-checkout{-ms-flex:1;flex:1}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--back-button.sc-zonos-checkout{margin-bottom:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{padding:0 var(--amino-space-8) var(--amino-space-8)}.sc-zonos-checkout-h .zonos--left.sc-zonos-checkout .zonos--payment-error-banner.sc-zonos-checkout{margin-top:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout{position:relative}.sc-zonos-checkout-h .zonos--right.sc-zonos-checkout .zonos--close-button.sc-zonos-checkout{position:absolute;right:var(--amino-space-24);top:var(--amino-space-24)}.sc-zonos-checkout-h .zonos--footer.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;position:absolute;bottom:var(--amino-space-32);right:var(--amino-space-56);gap:var(--amino-space-8)}.sc-zonos-checkout-h .zonos--wrapper.sc-zonos-checkout{overflow:auto;max-height:100%;position:relative}.sc-zonos-checkout-h .flex--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:100%}.sc-zonos-checkout-h .zonos--logo.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sc-zonos-checkout-h .zonos--checkout-default-message.sc-zonos-checkout{margin-left:var(--amino-space-76);margin-bottom:var(--amino-space-8)}.preview.sc-zonos-checkout-h{min-width:500px;margin:auto}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{border:var(--amino-border)}.preview.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{padding:var(--amino-space-32)}.mobile.sc-zonos-checkout-h{min-width:auto}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:auto;border-radius:0;max-height:100%;height:100%;border:0}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout,.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{padding:var(--amino-space-12)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--left.sc-zonos-checkout{-ms-flex-order:2;order:2}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout{-ms-flex-order:1;order:1;padding-top:var(--amino-space-16)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--right.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--amino-space-16);margin-top:var(--amino-space-24);border:var(--amino-border);border-radius:var(--border-radius, var(--amino-radius-10));background-color:var(--amino-gray-50);padding:var(--amino-space-12);margin-top:var(--amino-space-32)}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--wrapper.sc-zonos-checkout{max-height:100%}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--footer.sc-zonos-checkout{-ms-flex-order:3;order:3}.mobile.sc-zonos-checkout-h .zonos--content.sc-zonos-checkout .zonos--done.sc-zonos-checkout{width:auto}.mobile.sc-zonos-checkout-h .zonos--cart-subtotal.sc-zonos-checkout{margin:0}.mobile.sc-zonos-checkout-h .zonos--footer.sc-zonos-checkout{bottom:0;left:0;padding:var(--amino-space-12);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:var(--amino-gray-0)}";
24
24
 
25
25
  const ZonosCheckout = class {
26
- constructor(hostRef) {
27
- index.registerInstance(this, hostRef);
28
- this.applyStripeTheme = async () => {
29
- var _a, _b, _c;
30
- const theme = ((_a = this.appearanceSettingsOverride) === null || _a === void 0 ? void 0 : _a.theme) || zonosStore.zonosStore.appearance.theme;
31
- await cart.initStripeElements({
32
- overrideBorderRaidus: (_b = this.appearanceSettingsOverride) === null || _b === void 0 ? void 0 : _b.style,
33
- overridePrimaryColor: (_c = this.appearanceSettingsOverride) === null || _c === void 0 ? void 0 : _c.colorPrimary,
34
- // only override theme or theme from appearance if it's mobile
35
- overrideTheme: this.isMobile ? theme : undefined,
36
- });
37
- };
38
- this.isShippableCountry = (showLog = true) => {
39
- if (!localization.localizationStore.localizationLoaded) {
40
- return false;
41
- }
42
- // if localization is loaded and the localization is not a shippable country, keep the original click event
43
- if (!localization.localizationStore.isShippableCountry) {
44
- if (showLog) {
45
- localization.log(`Checkout: not shippable country`);
46
- }
47
- return false;
48
- }
49
- return true;
50
- };
51
- this.getCurrentLocalePageEnum = () => {
52
- switch (cart.cartStore.step) {
53
- case 'customer-info':
54
- return 'checkout_customer_info';
55
- case 'shipping':
56
- return 'checkout_shipping_info';
57
- case 'payment':
58
- return 'checkout_payment_info';
59
- default:
60
- return null;
61
- }
62
- };
63
- this.appearanceSettingsOverride = undefined;
64
- this.preview = false;
65
- this.mobile = false;
66
- this.defaultAddress = null;
67
- this.forceDialogOpen = false;
68
- this.open = this.forceDialogOpen;
69
- this.stripe = window.Zonos.stripe;
70
- this.submitLoading = false;
71
- this.paymentError = false;
72
- this.collapseReviewMobile = false;
73
- this.isAttachError = false;
74
- this.isMobile = false;
75
- this.zonosReviewRef = undefined;
76
- this.storybookPaymentStatusOverride = undefined;
77
- }
78
- /**
79
- * Init cart info handler event
80
- */
81
- async initCartInfoHandler(e) {
82
- const cartItems = e.detail;
83
- void cart.cartStoreUpdateItems(cartItems);
84
- }
85
- /**
86
- * Close dialog action
87
- */
88
- async closeDialogHandler() {
89
- submitGtag.submitGtag('zonos-checkout-close');
90
- this.open = this.forceDialogOpen || false;
91
- if (!this.preview && cart.cartStore.step === 'finish') {
92
- // reset cart store if it's not preview mode and only when checkout is in the finish step.
93
- cart.cartStoreReset();
26
+ constructor(hostRef) {
27
+ index.registerInstance(this, hostRef);
28
+ this.applyStripeTheme = async () => {
29
+ var _a, _b, _c;
30
+ const theme = ((_a = this.appearanceSettingsOverride) === null || _a === void 0 ? void 0 : _a.theme) || zonosStore.zonosStore.appearance.theme;
31
+ await cart.initStripeElements({
32
+ overrideBorderRaidus: (_b = this.appearanceSettingsOverride) === null || _b === void 0 ? void 0 : _b.style,
33
+ overridePrimaryColor: (_c = this.appearanceSettingsOverride) === null || _c === void 0 ? void 0 : _c.colorPrimary,
34
+ // only override theme or theme from appearance if it's mobile
35
+ overrideTheme: this.isMobile ? theme : undefined,
36
+ });
37
+ };
38
+ this.isShippableCountry = (showLog = true) => {
39
+ if (!localization.localizationStore.localizationLoaded) {
40
+ return false;
41
+ }
42
+ // if localization is loaded and the localization is not a shippable country, keep the original click event
43
+ if (!localization.localizationStore.isShippableCountry) {
44
+ if (showLog) {
45
+ localization.log(`Checkout: not shippable country`);
46
+ }
47
+ return false;
48
+ }
49
+ return true;
50
+ };
51
+ this.getCurrentLocalePageEnum = () => {
52
+ switch (cart.cartStore.step) {
53
+ case 'customer-info':
54
+ return 'checkout_customer_info';
55
+ case 'shipping':
56
+ return 'checkout_shipping_info';
57
+ case 'payment':
58
+ return 'checkout_payment_info';
59
+ default:
60
+ return null;
61
+ }
62
+ };
63
+ this.appearanceSettingsOverride = undefined;
64
+ this.preview = false;
65
+ this.mobile = false;
66
+ this.defaultAddress = null;
67
+ this.forceDialogOpen = false;
68
+ this.open = this.forceDialogOpen;
69
+ this.stripe = window.Zonos.stripe;
70
+ this.submitLoading = false;
71
+ this.paymentError = false;
72
+ this.collapseReviewMobile = false;
73
+ this.isAttachError = false;
74
+ this.isMobile = false;
75
+ this.zonosReviewRef = undefined;
76
+ this.storybookPaymentStatusOverride = undefined;
94
77
  }
95
- // reset step to customer info
96
- cart.cartStore.step = 'customer-info';
97
- }
98
- async buildCartAndInit() {
99
- if (zonosStore.zonosStore.checkoutSettings.buildCartDetail) {
100
- localization.log('build cart detail');
101
- const cartItems = await zonosStore.zonosStore.checkoutSettings.buildCartDetail();
102
- await cart.cartStoreUpdateItems(cartItems);
78
+ /**
79
+ * Init cart info handler event
80
+ */
81
+ async initCartInfoHandler(e) {
82
+ const cartItems = e.detail;
83
+ void cart.cartStoreUpdateItems(cartItems);
103
84
  }
104
- // if client secret doesn't exist, request a new one.
105
- if (!cart.stripeStore.clientSecret) {
106
- const success = await cart.stripeStoreInitCheckoutSession();
107
- localization.log(`stripeStoreInitCheckoutSession: ${success}`);
108
- if (!success) {
109
- return false;
110
- }
85
+ /**
86
+ * Close dialog action
87
+ */
88
+ async closeDialogHandler() {
89
+ submitGtag.submitGtag('zonos-checkout-close');
90
+ this.open = this.forceDialogOpen || false;
91
+ if (!this.preview && cart.cartStore.step === 'finish') {
92
+ // reset cart store if it's not preview mode and only when checkout is in the finish step.
93
+ cart.cartStoreReset();
94
+ }
95
+ // reset step to customer info
96
+ cart.cartStore.step = 'customer-info';
111
97
  }
112
- // apply theme to stripe elements
113
- await this.applyStripeTheme();
114
- return true;
115
- }
116
- attachCheckout() {
117
- const buttonAnchorSelector = zonosStore.zonosStore.checkoutSettings.placeOrderButtonSelector;
118
- if (!buttonAnchorSelector) {
119
- // do nothing if button element is not found
120
- return;
98
+ async buildCartAndInit() {
99
+ if (zonosStore.zonosStore.checkoutSettings.buildCartDetail) {
100
+ localization.log('build cart detail');
101
+ const cartItems = await zonosStore.zonosStore.checkoutSettings.buildCartDetail();
102
+ await cart.cartStoreUpdateItems(cartItems);
103
+ }
104
+ // if client secret doesn't exist, request a new one.
105
+ if (!cart.stripeStore.clientSecret) {
106
+ const success = await cart.stripeStoreInitCheckoutSession();
107
+ localization.log(`stripeStoreInitCheckoutSession: ${success}`);
108
+ if (!success) {
109
+ return false;
110
+ }
111
+ }
112
+ // apply theme to stripe elements
113
+ await this.applyStripeTheme();
114
+ return true;
115
+ }
116
+ attachCheckout() {
117
+ const buttonAnchorSelector = zonosStore.zonosStore.checkoutSettings.placeOrderButtonSelector;
118
+ if (!buttonAnchorSelector) {
119
+ // do nothing if button element is not found
120
+ return;
121
+ }
122
+ const buttonAnchorElements = document.querySelectorAll(buttonAnchorSelector);
123
+ // only attach event once, and looping through all of the button elements
124
+ buttonAnchorElements.forEach(button => {
125
+ const isEventAttached = button.getAttribute('data-zonos-checkout-attached');
126
+ if (isEventAttached) {
127
+ // do nothing if event is already attached
128
+ return;
129
+ }
130
+ button.addEventListener('click', async (e) => {
131
+ // do nothing if it's not shippable country
132
+ if (!this.isShippableCountry()) {
133
+ return;
134
+ }
135
+ e.preventDefault();
136
+ e.stopPropagation();
137
+ localization.log('zonos checkout button clicked');
138
+ // start loading
139
+ cart.stripeStore.isFetchingSession = true;
140
+ this.open = true;
141
+ try {
142
+ // buildCartDetail need to be catch since it may throw error
143
+ const result = await this.buildCartAndInit();
144
+ if (!result) {
145
+ throw new Error('Error building cart');
146
+ }
147
+ submitGtag.submitGtag('zonos-checkout-start');
148
+ }
149
+ catch (err) {
150
+ // stop loading
151
+ cart.stripeStore.isFetchingSession = false;
152
+ cart.cartStoreUpdateToErrorState({
153
+ messages: [
154
+ localization.translate("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists"),
155
+ ],
156
+ title: localization.translate('Error creating Checkout'),
157
+ });
158
+ }
159
+ });
160
+ button.setAttribute('data-zonos-checkout-attached', 'true');
161
+ });
121
162
  }
122
- const buttonAnchorElements = document.querySelectorAll(buttonAnchorSelector);
123
- // only attach event once, and looping through all of the button elements
124
- buttonAnchorElements.forEach(button => {
125
- const isEventAttached = button.getAttribute('data-zonos-checkout-attached');
126
- if (isEventAttached) {
127
- // do nothing if event is already attached
128
- return;
129
- }
130
- button.addEventListener('click', async (e) => {
131
- // do nothing if it's not shippable country
132
- if (!this.isShippableCountry()) {
133
- return;
163
+ appearanceSettingsOverrideChanged() {
164
+ if (!this.appearanceSettingsOverride) {
165
+ return;
134
166
  }
135
- e.preventDefault();
136
- e.stopPropagation();
137
- localization.log('zonos checkout button clicked');
138
- // start loading
139
- cart.stripeStore.isFetchingSession = true;
140
- this.open = true;
167
+ // apply theme to stripe elements
168
+ void this.applyStripeTheme();
169
+ }
170
+ /**
171
+ * Setup all of the event listeners for the component on first load
172
+ */
173
+ async init() {
174
+ cart.stripeStore.stripe = window.Zonos.stripe;
175
+ this.stripe = window.Zonos.stripe;
176
+ const hideInternationalOrderInterval = setInterval(() => {
177
+ const internationalSelector = window.Zonos.internationalHideSelector;
178
+ if (!internationalSelector) {
179
+ // cleanup right away if selector is not found
180
+ clearInterval(hideInternationalOrderInterval);
181
+ return;
182
+ }
183
+ // hide the selector if it's international
184
+ const isInternationalOrder = this.isShippableCountry(false);
185
+ const selector = document.querySelectorAll(internationalSelector);
186
+ if (!isInternationalOrder) {
187
+ // show the selector when it's domestic
188
+ selector === null || selector === void 0 ? void 0 : selector.forEach(el => {
189
+ const element = el;
190
+ const display = element.getAttribute('data-zonos-checkout-original-display') ||
191
+ getComputedStyle(element).display;
192
+ // fallback to initial (browser value) if "display" is not found
193
+ element.style.display = display || 'initial';
194
+ });
195
+ return;
196
+ }
197
+ selector === null || selector === void 0 ? void 0 : selector.forEach(el => {
198
+ const element = el;
199
+ const display = element.style.display;
200
+ // save the display state so we can restore it later
201
+ element.setAttribute('data-zonos-checkout-original-display', display);
202
+ element.style.display = 'none';
203
+ });
204
+ }, 100);
205
+ // only init checkout if visitor's country is in the shipping zones.
206
+ const interval = setInterval(() => {
207
+ cart.stripeStore.stripe = window.Zonos.stripe;
208
+ this.stripe = window.Zonos.stripe;
209
+ if (!this.stripe) {
210
+ localization.log('waiting for stripe to be loaded');
211
+ return;
212
+ }
213
+ if (this.storybookPaymentStatusOverride) {
214
+ clearInterval(interval);
215
+ return;
216
+ }
217
+ localization.log('init checkout');
218
+ if (this.preview || this.forceDialogOpen) {
219
+ void this.buildCartAndInit();
220
+ }
221
+ else {
222
+ this.attachCheckout();
223
+ // keep checking for checkout selector every 50ms just in case the selector is not loaded in the DOM yet
224
+ setInterval(() => {
225
+ this.attachCheckout();
226
+ }, 50);
227
+ }
228
+ clearInterval(interval);
229
+ }, 50);
230
+ setTimeout(() => {
231
+ // if localization is not loaded after 10 seconds, stop the interval and don't init checkout
232
+ clearInterval(interval);
233
+ }, 10000);
234
+ }
235
+ /**
236
+ * For storybook to set to finish step, this is to trigger in the story for zonos-checkout-finish
237
+ */
238
+ async setToFinishStep(forcePaymentStatus) {
239
+ cart.cartStore.step = 'finish';
240
+ this.storybookPaymentStatusOverride = forcePaymentStatus;
241
+ }
242
+ async handleCustomerInfoContinue() {
243
+ this.submitLoading = true;
244
+ // fetch landed cost data if we not fetching.
245
+ await cart.stripeStorePrefetchLandedCost();
246
+ // keep checking landed cost data until it's ready to move to next screen
247
+ const interval = setInterval(() => {
248
+ if (cart.cartStore.landedCostData || !cart.stripeStore.isFetchingLandedCost) {
249
+ if (cart.cartStore.landedCostData) {
250
+ // only go to next step if landed cost data is ready
251
+ cart.cartStoreNextStep();
252
+ }
253
+ this.submitLoading = false;
254
+ clearInterval(interval);
255
+ }
256
+ }, 500);
257
+ }
258
+ async handleShippingContinue() {
259
+ this.submitLoading = true;
260
+ // show loading for the button for a bit
261
+ setTimeout(() => {
262
+ cart.cartStoreNextStep();
263
+ this.submitLoading = false;
264
+ }, 500);
265
+ }
266
+ async handleCheckoutPaymentContinue() {
267
+ // reset error state
268
+ this.paymentError = false;
269
+ this.submitLoading = true;
141
270
  try {
142
- // buildCartDetail need to be catch since it may throw error
143
- const result = await this.buildCartAndInit();
144
- if (!result) {
145
- throw new Error('Error building cart');
146
- }
147
- submitGtag.submitGtag('zonos-checkout-start');
271
+ await cart.stripeStoreConfirmPayment();
272
+ cart.cartStoreNextStep();
148
273
  }
149
274
  catch (err) {
150
- // stop loading
151
- cart.stripeStore.isFetchingSession = false;
152
- cart.cartStoreUpdateToErrorState({
153
- messages: [
154
- localization.translate("There's been an error creating your checkout session. Please reload and try again or contact support if the error persists"),
155
- ],
156
- title: localization.translate('Error creating Checkout'),
157
- });
275
+ // eslint-disable-next-line no-console
276
+ console.error(err);
277
+ this.paymentError = true;
158
278
  }
159
- });
160
- button.setAttribute('data-zonos-checkout-attached', 'true');
161
- });
162
- }
163
- appearanceSettingsOverrideChanged() {
164
- if (!this.appearanceSettingsOverride) {
165
- return;
279
+ this.submitLoading = false;
166
280
  }
167
- // apply theme to stripe elements
168
- void this.applyStripeTheme();
169
- }
170
- /**
171
- * Setup all of the event listeners for the component on first load
172
- */
173
- async init() {
174
- cart.stripeStore.stripe = window.Zonos.stripe;
175
- this.stripe = window.Zonos.stripe;
176
- const hideInternationalOrderInterval = setInterval(() => {
177
- const internationalSelector = window.Zonos.internationalHideSelector;
178
- if (!internationalSelector) {
179
- // cleanup right away if selector is not found
180
- clearInterval(hideInternationalOrderInterval);
181
- return;
182
- }
183
- // hide the selector if it's international
184
- const isInternationalOrder = this.isShippableCountry(false);
185
- const selector = document.querySelectorAll(internationalSelector);
186
- if (!isInternationalOrder) {
187
- // show the selector when it's domestic
188
- selector === null || selector === void 0 ? void 0 : selector.forEach(el => {
189
- const element = el;
190
- const display = element.getAttribute('data-zonos-checkout-original-display') ||
191
- getComputedStyle(element).display;
192
- // fallback to initial (browser value) if "display" is not found
193
- element.style.display = display || 'initial';
194
- });
195
- return;
196
- }
197
- selector === null || selector === void 0 ? void 0 : selector.forEach(el => {
198
- const element = el;
199
- const display = element.style.display;
200
- // save the display state so we can restore it later
201
- element.setAttribute('data-zonos-checkout-original-display', display);
202
- element.style.display = 'none';
203
- });
204
- }, 100);
205
- // only init checkout if visitor's country is in the shipping zones.
206
- const interval = setInterval(() => {
207
- cart.stripeStore.stripe = window.Zonos.stripe;
208
- this.stripe = window.Zonos.stripe;
209
- if (!this.stripe) {
210
- localization.log('waiting for stripe to be loaded');
211
- return;
212
- }
213
- if (this.storybookPaymentStatusOverride) {
214
- clearInterval(interval);
215
- return;
216
- }
217
- localization.log('init checkout');
218
- if (this.preview || this.forceDialogOpen) {
219
- void this.buildCartAndInit();
220
- }
221
- else {
222
- this.attachCheckout();
223
- // keep checking for checkout selector every 50ms just in case the selector is not loaded in the DOM yet
224
- setInterval(() => {
225
- this.attachCheckout();
226
- }, 50);
227
- }
228
- clearInterval(interval);
229
- }, 50);
230
- setTimeout(() => {
231
- // if localization is not loaded after 10 seconds, stop the interval and don't init checkout
232
- clearInterval(interval);
233
- }, 10000);
234
- }
235
- /**
236
- * For storybook to set to finish step, this is to trigger in the story for zonos-checkout-finish
237
- */
238
- async setToFinishStep(forcePaymentStatus) {
239
- cart.cartStore.step = 'finish';
240
- this.storybookPaymentStatusOverride = forcePaymentStatus;
241
- }
242
- async handleCustomerInfoContinue() {
243
- this.submitLoading = true;
244
- // fetch landed cost data if we not fetching.
245
- await cart.stripeStorePrefetchLandedCost();
246
- // keep checking landed cost data until it's ready to move to next screen
247
- const interval = setInterval(() => {
248
- if (cart.cartStore.landedCostData || !cart.stripeStore.isFetchingLandedCost) {
249
- if (cart.cartStore.landedCostData) {
250
- // only go to next step if landed cost data is ready
251
- cart.cartStoreNextStep();
281
+ async handleFinishClick() {
282
+ // reset stripe store
283
+ cart.stripeStoreReset();
284
+ if (this.preview) {
285
+ cart.cartStore.step = 'customer-info';
286
+ await this.init();
287
+ return;
252
288
  }
253
- this.submitLoading = false;
254
- clearInterval(interval);
255
- }
256
- }, 500);
257
- }
258
- async handleShippingContinue() {
259
- this.submitLoading = true;
260
- // show loading for the button for a bit
261
- setTimeout(() => {
262
- cart.cartStoreNextStep();
263
- this.submitLoading = false;
264
- }, 500);
265
- }
266
- async handleCheckoutPaymentContinue() {
267
- // reset error state
268
- this.paymentError = false;
269
- this.submitLoading = true;
270
- try {
271
- await cart.stripeStoreConfirmPayment();
272
- cart.cartStoreNextStep();
289
+ // reset cart store
290
+ cart.cartStoreReset();
291
+ // reset url
292
+ const url = window.location.href;
293
+ // Remove query parameters
294
+ const cleanUrl = url.split('?')[0];
295
+ // Update the URL without query parameters
296
+ window.history.replaceState({}, document.title, cleanUrl);
297
+ this.open = false;
273
298
  }
274
- catch (err) {
275
- // eslint-disable-next-line no-console
276
- console.error(err);
277
- this.paymentError = true;
299
+ async handleBackClick() {
300
+ // close the modal if back button is clicked on customer info step
301
+ if (cart.cartStore.step === 'customer-info') {
302
+ await this.closeDialogHandler();
303
+ return;
304
+ }
305
+ cart.cartStorePreviousStep();
278
306
  }
279
- this.submitLoading = false;
280
- }
281
- async handleFinishClick() {
282
- // reset stripe store
283
- cart.stripeStoreReset();
284
- if (this.preview) {
285
- cart.cartStore.step = 'customer-info';
286
- await this.init();
287
- return;
307
+ handleWindowResize() {
308
+ this.isMobile = submitGtag.isCheckoutMobile(this.mobile);
309
+ // apply theme to stripe elements
310
+ void this.applyStripeTheme();
311
+ localization.log(`mobile: ${this.isMobile}`);
288
312
  }
289
- // reset cart store
290
- cart.cartStoreReset();
291
- // reset url
292
- const url = window.location.href;
293
- // Remove query parameters
294
- const cleanUrl = url.split('?')[0];
295
- // Update the URL without query parameters
296
- window.history.replaceState({}, document.title, cleanUrl);
297
- this.open = false;
298
- }
299
- async handleBackClick() {
300
- // close the modal if back button is clicked on customer info step
301
- if (cart.cartStore.step === 'customer-info') {
302
- await this.closeDialogHandler();
303
- return;
313
+ handleMobileChange() {
314
+ this.isMobile = submitGtag.isCheckoutMobile(this.mobile);
315
+ // apply theme to stripe elements
316
+ void this.applyStripeTheme();
317
+ localization.log(`mobile: ${this.isMobile}`);
304
318
  }
305
- cart.cartStorePreviousStep();
306
- }
307
- handleWindowResize() {
308
- this.isMobile = submitGtag.isCheckoutMobile(this.mobile);
309
- // apply theme to stripe elements
310
- void this.applyStripeTheme();
311
- localization.log(`mobile: ${this.isMobile}`);
312
- }
313
- handleMobileChange() {
314
- this.isMobile = submitGtag.isCheckoutMobile(this.mobile);
315
- // apply theme to stripe elements
316
- void this.applyStripeTheme();
317
- localization.log(`mobile: ${this.isMobile}`);
318
- }
319
- componentWillLoad() {
320
- void this.init();
321
- this.isMobile = submitGtag.isCheckoutMobile(this.mobile);
322
- localization.log(`mobile: ${this.isMobile}`);
323
- }
324
- // do clean up when component is unmounted
325
- disconnectedCallback() {
326
- // reset stripe store
327
- cart.stripeStoreReset();
328
- // reset cart store
329
- cart.cartStoreReset();
330
- }
331
- render() {
332
- var _a;
333
- const dialogLoading =
334
- // if it's last step, don't need to check stripe elements
335
- (cart.cartStore.step !== 'finish' &&
336
- cart.cartStore.step !== 'error' &&
337
- !cart.stripeStore.stripeElements) ||
338
- cart.stripeStore.isFetchingSession;
339
- const { colorPrimary, colorSecondary, logoUrl, style } = zonosStore.mergeConfig(zonosStore.zonosStore.appearance, this.appearanceSettingsOverride);
340
- const hasFooter = zonosStore.zonosStore.appearance.zonosAttribution === 'ENABLED';
341
- const rightSideTheme = zonosStore.zonosStore.appearance.theme;
342
- const themePrimaryColorBased = colorPrimary && isDarkColor.isDarkColor(colorPrimary) ? 'DARK' : 'LIGHT';
343
- // use right side theme if it's mobile, otherwise use themePrimaryColorBased
344
- const leftSideTheme = this.isMobile
345
- ? rightSideTheme
346
- : themePrimaryColorBased;
347
- // only use submit button color if it's on desktop
348
- const submitButtonColor = !this.isMobile ? colorSecondary : undefined;
349
- const { customMessages } = localization.localizationStore;
350
- const defaultMessage = ((_a = customMessages.find(x => x.pageName === 'checkout_default')) === null || _a === void 0 ? void 0 : _a.message) ||
351
- 'Know about duties and taxes before you buy. Shop with confidence!';
352
- const localePageEnum = this.getCurrentLocalePageEnum();
353
- const filteredMessages = customMessages.filter(x => x.pageName === localePageEnum);
354
- const renderLogo = () => (index.h("div", { class: "zonos--logo" }, logoUrl && (index.h("img", { alt: `${zonosStore.zonosStore.organizationName} logo`, src: logoUrl, width: 100 }))));
355
- const renderTopHeader = () => (index.h("zonos-v-stack", null, renderLogo(), filteredMessages.map(x => (index.h("zonos-custom-message", { icon: MessageIcon, message: x.message }))), index.h("div", null, index.h("zonos-button", { class: "zonos--back-button", icon: index.h("zonos-icon", { content: LeftArrow }), noBackground: true, noPaddingLeft: true, noPaddingRight: true, onClick: () => this.handleBackClick(), theme: leftSideTheme }, localization.translate('Back')))));
356
- const renderFooter = () => hasFooter && (index.h("div", { class: "zonos--footer", "data-theme": rightSideTheme }, index.h("zonos-text", { type: "hintText" }, localization.translate('Powered by')), index.h("zonos-logo", { theme: rightSideTheme, width: "100px" })));
357
- const renderContent = () => {
358
- var _a;
359
- const submitBtnType = this.isMobile ? 'primary' : undefined;
360
- const reviewElementSize = (_a = this.zonosReviewRef) === null || _a === void 0 ? void 0 : _a.scrollHeight;
361
- return (index.h("div", { class: 'zonos--content', style: {
362
- '--border-radius': getBorderRadius.getBorderRadius(style),
363
- } }, cart.cartStore.step !== 'finish' && cart.cartStore.step !== 'error' && (index.h(index.Fragment, null, index.h("div", { class: "zonos--left", "data-theme": leftSideTheme, style: {
364
- '--primary-color': !this.isMobile ? colorPrimary : '',
365
- } }, !this.isMobile && renderTopHeader(), cart.cartStore.step === 'customer-info' && (index.h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor, submitBtnType: submitBtnType })), cart.cartStore.step === 'shipping' && (index.h("zonos-shipping", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor, submitBtnType: submitBtnType })), cart.cartStore.step === 'payment' && (index.h("zonos-checkout-payment", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleCheckoutPaymentContinue(), paymentError: this.paymentError, submitBtnColor: submitButtonColor, submitBtnType: submitBtnType }))), index.h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), !this.isMobile && (index.h("zonos-button", { class: "zonos--close-button", icon: index.h("zonos-icon", { content: RemoveIcon }), noBackground: true, onClick: () => this.closeDialogHandler() })), index.h("div", { class: "flex--wrapper" }, index.h("div", { class: "zonos--wrapper" }, index.h("zonos-collapse", { collapseSize: reviewElementSize,
366
- // only collapse on mobile
367
- collapsed: this.collapseReviewMobile && this.isMobile }, index.h("zonos-review", { collapsed: this.collapseReviewMobile, mobile: this.isMobile, onClick: () => {
368
- // do nothing if it's not mobile
369
- if (!this.isMobile) {
370
- return;
371
- }
372
- this.collapseReviewMobile =
373
- !this.collapseReviewMobile;
374
- }, ref: el => (this.zonosReviewRef = el) }), index.h("zonos-cart-items", null))), index.h("zonos-v-stack", { spacing: 16 }, index.h("zonos-cart-subtotal", null), index.h("zonos-custom-message", { class: "zonos--checkout-default-message", icon: MessageIcon, message: defaultMessage }))), !this.isMobile && renderFooter()), this.isMobile && renderFooter())), (cart.cartStore.step === 'finish' || cart.cartStore.step === 'error') && (index.h("div", { class: "zonos--done", "data-theme": rightSideTheme }, index.h("div", { class: "zonos--header" }, renderLogo(), index.h("zonos-button", { class: "zonos--close-button", icon: index.h("zonos-icon", { content: RemoveIcon }), noBackground: true, onClick: () => this.handleFinishClick(), theme: rightSideTheme })), index.h("zonos-checkout-finish", { borderRadius: style, onCloseClick: () => this.handleFinishClick(), overrideNotification: cart.cartStore.step === 'error' && !!cart.cartStore.error
375
- ? Object.assign(Object.assign({}, cart.cartStore.error), { type: 'error' }) : undefined, storybookForceStatus: this.storybookPaymentStatusOverride })))));
376
- };
377
- return (index.h(index.Host, { class: classes.classes([
378
- 'zonos--checkout zonos--elements',
379
- hasFooter && 'has-footer',
380
- this.preview && 'preview',
381
- this.isMobile && 'mobile',
382
- ]) }, this.preview ? (renderContent()) : (index.h("zonos-dialog", { borderStyle: style, "data-theme": rightSideTheme, height: "980px", isLoading: dialogLoading, mobile: this.isMobile, noBodyPadding: true, noBorder: true, noClickOutside: true, noCloseButton: true, onCloseDialog: () => this.closeDialogHandler(), open: this.open, width: "1200px" }, renderContent()))));
383
- }
384
- static get assetsDirs() { return ["assets"]; }
385
- static get watchers() { return {
386
- "appearanceSettingsOverride": ["appearanceSettingsOverrideChanged"],
387
- "mobile": ["handleMobileChange"]
388
- }; }
319
+ componentWillLoad() {
320
+ void this.init();
321
+ this.isMobile = submitGtag.isCheckoutMobile(this.mobile);
322
+ localization.log(`mobile: ${this.isMobile}`);
323
+ }
324
+ // do clean up when component is unmounted
325
+ disconnectedCallback() {
326
+ // reset stripe store
327
+ cart.stripeStoreReset();
328
+ // reset cart store
329
+ cart.cartStoreReset();
330
+ }
331
+ render() {
332
+ var _a;
333
+ const dialogLoading =
334
+ // if it's last step, don't need to check stripe elements
335
+ (cart.cartStore.step !== 'finish' &&
336
+ cart.cartStore.step !== 'error' &&
337
+ !cart.stripeStore.stripeElements) ||
338
+ cart.stripeStore.isFetchingSession;
339
+ const { colorPrimary, colorSecondary, logoUrl, style } = zonosStore.mergeConfig(zonosStore.zonosStore.appearance, this.appearanceSettingsOverride);
340
+ const hasFooter = zonosStore.zonosStore.appearance.zonosAttribution === 'ENABLED';
341
+ const rightSideTheme = zonosStore.zonosStore.appearance.theme;
342
+ const themePrimaryColorBased = colorPrimary && isDarkColor.isDarkColor(colorPrimary) ? 'DARK' : 'LIGHT';
343
+ // use right side theme if it's mobile, otherwise use themePrimaryColorBased
344
+ const leftSideTheme = this.isMobile
345
+ ? rightSideTheme
346
+ : themePrimaryColorBased;
347
+ // only use submit button color if it's on desktop
348
+ const submitButtonColor = !this.isMobile ? colorSecondary : undefined;
349
+ const { customMessages } = localization.localizationStore;
350
+ const defaultMessage = ((_a = customMessages.find(x => x.pageName === 'checkout_default')) === null || _a === void 0 ? void 0 : _a.message) ||
351
+ 'Know about duties and taxes before you buy. Shop with confidence!';
352
+ const localePageEnum = this.getCurrentLocalePageEnum();
353
+ const filteredMessages = customMessages.filter(x => x.pageName === localePageEnum);
354
+ const renderLogo = () => (index.h("div", { class: "zonos--logo" }, logoUrl && (index.h("img", { alt: `${zonosStore.zonosStore.organizationName} logo`, src: logoUrl, width: 100 }))));
355
+ const renderTopHeader = () => (index.h("zonos-v-stack", null, renderLogo(), filteredMessages.map(x => (index.h("zonos-custom-message", { icon: MessageIcon, message: x.message }))), index.h("div", null, index.h("zonos-button", { class: "zonos--back-button", icon: index.h("zonos-icon", { content: LeftArrow }), noBackground: true, noPaddingLeft: true, noPaddingRight: true, onClick: () => this.handleBackClick(), theme: leftSideTheme }, localization.translate('Back')))));
356
+ const renderFooter = () => hasFooter && (index.h("div", { class: "zonos--footer", "data-theme": rightSideTheme }, index.h("zonos-text", { type: "hintText" }, localization.translate('Powered by')), index.h("zonos-logo", { theme: rightSideTheme, width: "100px" })));
357
+ const renderContent = () => {
358
+ var _a;
359
+ const submitBtnType = this.isMobile ? 'primary' : undefined;
360
+ const reviewElementSize = (_a = this.zonosReviewRef) === null || _a === void 0 ? void 0 : _a.scrollHeight;
361
+ return (index.h("div", { class: 'zonos--content', style: {
362
+ '--border-radius': getBorderRadius.getBorderRadius(style),
363
+ } }, cart.cartStore.step !== 'finish' && cart.cartStore.step !== 'error' && (index.h(index.Fragment, null, index.h("div", { class: "zonos--left", "data-theme": leftSideTheme, style: {
364
+ '--primary-color': !this.isMobile ? colorPrimary : '',
365
+ } }, !this.isMobile && renderTopHeader(), cart.cartStore.step === 'customer-info' && (index.h("zonos-customer-info", { continueLoading: this.submitLoading, defaultAddress: this.defaultAddress, onContinueClicked: () => this.handleCustomerInfoContinue(), submitBtnColor: submitButtonColor, submitBtnType: submitBtnType })), cart.cartStore.step === 'shipping' && (index.h("zonos-shipping", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleShippingContinue(), submitBtnColor: submitButtonColor, submitBtnType: submitBtnType })), cart.cartStore.step === 'payment' && (index.h("zonos-checkout-payment", { continueLoading: this.submitLoading, onContinueClicked: () => this.handleCheckoutPaymentContinue(), paymentError: this.paymentError, submitBtnColor: submitButtonColor, submitBtnType: submitBtnType }))), index.h("div", { class: "zonos--right", "data-theme": rightSideTheme }, this.isMobile && renderTopHeader(), !this.isMobile && (index.h("zonos-button", { class: "zonos--close-button", icon: index.h("zonos-icon", { content: RemoveIcon }), noBackground: true, onClick: () => this.closeDialogHandler() })), index.h("div", { class: "flex--wrapper" }, index.h("div", { class: "zonos--wrapper" }, index.h("zonos-collapse", { collapseSize: reviewElementSize,
366
+ // only collapse on mobile
367
+ collapsed: this.collapseReviewMobile && this.isMobile }, index.h("zonos-review", { collapsed: this.collapseReviewMobile, mobile: this.isMobile, onClick: () => {
368
+ // do nothing if it's not mobile
369
+ if (!this.isMobile) {
370
+ return;
371
+ }
372
+ this.collapseReviewMobile =
373
+ !this.collapseReviewMobile;
374
+ }, ref: el => (this.zonosReviewRef = el) }), index.h("zonos-cart-items", null))), index.h("zonos-v-stack", { spacing: 16 }, index.h("zonos-cart-subtotal", null), index.h("zonos-custom-message", { class: "zonos--checkout-default-message", icon: MessageIcon, message: defaultMessage }))), !this.isMobile && renderFooter()), this.isMobile && renderFooter())), (cart.cartStore.step === 'finish' || cart.cartStore.step === 'error') && (index.h("div", { class: "zonos--done", "data-theme": rightSideTheme }, index.h("div", { class: "zonos--header" }, renderLogo(), index.h("zonos-button", { class: "zonos--close-button", icon: index.h("zonos-icon", { content: RemoveIcon }), noBackground: true, onClick: () => this.handleFinishClick(), theme: rightSideTheme })), index.h("zonos-checkout-finish", { borderRadius: style, onCloseClick: () => this.handleFinishClick(), overrideNotification: cart.cartStore.step === 'error' && !!cart.cartStore.error
375
+ ? Object.assign(Object.assign({}, cart.cartStore.error), { type: 'error' }) : undefined, storybookForceStatus: this.storybookPaymentStatusOverride })))));
376
+ };
377
+ return (index.h(index.Host, { class: classes.classes([
378
+ 'zonos--checkout zonos--elements',
379
+ hasFooter && 'has-footer',
380
+ this.preview && 'preview',
381
+ this.isMobile && 'mobile',
382
+ ]) }, this.preview ? (renderContent()) : (index.h("zonos-dialog", { borderStyle: style, "data-theme": rightSideTheme, height: "980px", isLoading: dialogLoading, mobile: this.isMobile, noBodyPadding: true, noBorder: true, noClickOutside: true, noCloseButton: true, onCloseDialog: () => this.closeDialogHandler(), open: this.open, width: "1200px" }, renderContent()))));
383
+ }
384
+ static get assetsDirs() { return ["assets"]; }
385
+ static get watchers() { return {
386
+ "appearanceSettingsOverride": ["appearanceSettingsOverrideChanged"],
387
+ "mobile": ["handleMobileChange"]
388
+ }; }
389
389
  };
390
390
  ZonosCheckout.style = zonosCheckoutCss;
391
391