@zonos/elements 1.1.1 → 1.2.0

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 (832) hide show
  1. package/dist/cjs/{cart-108bc407.js → cart-ac9a3c40.js} +11 -9
  2. package/dist/cjs/classes-b7918f56.js +0 -2
  3. package/dist/cjs/{getBorderRadius-2904800c.js → getBorderRadius-1f9c0fa3.js} +1 -3
  4. package/dist/cjs/getHasMoreSpaceOnRight-2855491b.js +0 -2
  5. package/dist/cjs/index-9542d2e7.js +0 -2
  6. package/dist/cjs/index.cjs.js +20 -1
  7. package/dist/cjs/isColorVariable-c1ed7303.js +0 -2
  8. package/dist/cjs/{isDarkColor-a86b8a05.js → isDarkColor-0651a165.js} +1 -3
  9. package/dist/cjs/loader.cjs.js +1 -3
  10. package/dist/cjs/{localization-f6a1b679.js → localization-3a4b4a43.js} +208 -16
  11. package/dist/cjs/{submitGtag-b1b96579.js → submitGtag-9e873a0a.js} +2 -4
  12. package/dist/cjs/zonos-address_2.cjs.entry.js +5 -7
  13. package/dist/cjs/zonos-badge.cjs.entry.js +0 -2
  14. package/dist/cjs/zonos-banner.cjs.entry.js +66 -0
  15. package/dist/cjs/zonos-button_2.cjs.entry.js +3 -5
  16. package/dist/cjs/zonos-card_2.cjs.entry.js +0 -2
  17. package/dist/cjs/zonos-cart-items_10.cjs.entry.js +20 -15
  18. package/dist/cjs/zonos-checkout.cjs.entry.js +90 -50
  19. package/dist/cjs/zonos-component.cjs.entry.js +0 -2
  20. package/dist/cjs/zonos-controller.cjs.entry.js +8 -12
  21. package/dist/cjs/zonos-country-flag_4.cjs.entry.js +6 -8
  22. package/dist/cjs/zonos-elements.cjs.js +1 -3
  23. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +21 -10
  24. package/dist/cjs/zonos-hello.cjs.entry.js +241 -24
  25. package/dist/cjs/zonos-icon.cjs.entry.js +0 -2
  26. package/dist/cjs/zonos-notification.cjs.entry.js +0 -2
  27. package/dist/cjs/zonos-payment.cjs.entry.js +58 -0
  28. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +3 -5
  29. package/dist/cjs/zonos-text.cjs.entry.js +0 -2
  30. package/dist/cjs/{zonosStore-960e5542.js → zonosStore-270f79cc.js} +6 -23
  31. package/dist/collection/components/checkout/zonos-checkout/assets/LeftArrow.svg +1 -1
  32. package/dist/collection/components/checkout/zonos-checkout/assets/MessageIcon.svg +1 -1
  33. package/dist/collection/components/checkout/zonos-checkout/assets/RemoveIcon.svg +1 -1
  34. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +0 -1
  35. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/assets/InfoIcon.svg +1 -1
  36. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +0 -1
  37. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/assets/RemoveIcon.svg +1 -1
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/assets/SuccessIcon.svg +1 -1
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +7 -1
  40. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +0 -1
  41. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +85 -61
  42. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +1 -1
  43. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +0 -1
  44. package/dist/collection/components/checkout/zonos-checkout/zonos-review/assets/ChevronDownIcon.svg +1 -1
  45. package/dist/collection/components/checkout/zonos-checkout/zonos-review/assets/ChevronUpIcon.svg +1 -1
  46. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.js +0 -1
  47. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +0 -1
  48. package/dist/collection/components/common/countries.js +0 -1
  49. package/dist/collection/components/common/zonos-badge/zonos-badge.js +0 -1
  50. package/dist/collection/components/common/zonos-banner/zonos-banner.css +6 -1
  51. package/dist/collection/components/common/zonos-banner/zonos-banner.js +1 -2
  52. package/dist/collection/components/common/zonos-button/zonos-button.js +0 -1
  53. package/dist/collection/components/common/zonos-card/zonos-card.js +0 -1
  54. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +0 -1
  55. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.js +0 -1
  56. package/dist/collection/components/common/zonos-country-select/assets/arrowLeftBlue.svg +1 -1
  57. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +0 -1
  58. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +0 -1
  59. package/dist/collection/components/common/zonos-dialog/assets/removeIcon.svg +1 -1
  60. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +0 -1
  61. package/dist/collection/components/common/zonos-icon/zonos-icon.js +0 -1
  62. package/dist/collection/components/common/zonos-logo/zonos-logo.js +0 -1
  63. package/dist/collection/components/common/zonos-notification/zonos-notification.js +0 -1
  64. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +1 -2
  65. package/dist/collection/components/common/zonos-spinner/zonos-spinner.js +0 -1
  66. package/dist/collection/components/common/zonos-text/zonos-text.js +0 -1
  67. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +0 -1
  68. package/dist/collection/components/component-template/zonos-component/zonos-component.js +0 -1
  69. package/dist/collection/components/hello/zonos-hello/zonos-hello.css +20 -2
  70. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +139 -21
  71. package/dist/collection/components/hello/zonos-hello-dialog/assets/bagIcon.svg +1 -1
  72. package/dist/collection/components/hello/zonos-hello-dialog/assets/messageIcon.svg +1 -1
  73. package/dist/collection/components/hello/zonos-hello-dialog/assets/moneyIcon.svg +1 -1
  74. package/dist/collection/components/hello/zonos-hello-dialog/assets/removeIcon.svg +1 -1
  75. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/assets/chevronDownIcon.svg +1 -1
  76. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/assets/zonosIcon.svg +1 -1
  77. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +0 -1
  78. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.css +20 -4
  79. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +33 -2
  80. package/dist/collection/components/main/zonos-controller.js +0 -1
  81. package/dist/collection/components/store/checkout/cart.js +0 -1
  82. package/dist/collection/components/store/checkout/stripe.js +0 -1
  83. package/dist/collection/components/store/hello/localization.js +6 -5
  84. package/dist/collection/components/store/translationStore/strings.arabic.js +9 -1
  85. package/dist/collection/components/store/translationStore/strings.base.js +9 -1
  86. package/dist/collection/components/store/translationStore/strings.chinese.js +9 -1
  87. package/dist/collection/components/store/translationStore/strings.danish.js +9 -1
  88. package/dist/collection/components/store/translationStore/strings.dutch.js +9 -1
  89. package/dist/collection/components/store/translationStore/strings.french.js +9 -1
  90. package/dist/collection/components/store/translationStore/strings.german.js +9 -1
  91. package/dist/collection/components/store/translationStore/strings.hebrew.js +9 -1
  92. package/dist/collection/components/store/translationStore/strings.indonesian.js +9 -1
  93. package/dist/collection/components/store/translationStore/strings.italian.js +9 -1
  94. package/dist/collection/components/store/translationStore/strings.japanese.js +9 -1
  95. package/dist/collection/components/store/translationStore/strings.korean.js +9 -1
  96. package/dist/collection/components/store/translationStore/strings.norwegian.js +9 -1
  97. package/dist/collection/components/store/translationStore/strings.polish.js +9 -1
  98. package/dist/collection/components/store/translationStore/strings.portuguese.js +9 -1
  99. package/dist/collection/components/store/translationStore/strings.russian.js +9 -1
  100. package/dist/collection/components/store/translationStore/strings.spanish.js +9 -1
  101. package/dist/collection/components/store/translationStore/strings.swedish.js +9 -1
  102. package/dist/collection/components/store/translationStore/strings.turkish.js +9 -1
  103. package/dist/collection/components/store/translationStore/strings.vietnamese.js +9 -1
  104. package/dist/collection/components/store/translationStore.js +0 -1
  105. package/dist/collection/components/store/zonosStore.js +6 -4
  106. package/dist/collection/components/stripe/zonos-address/zonos-address.js +0 -1
  107. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +0 -1
  108. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +0 -1
  109. package/dist/collection/components/utils/addDays.js +0 -1
  110. package/dist/collection/components/utils/api/calculateLandedCost.js +0 -1
  111. package/dist/collection/components/utils/api/checkItemRestrictions.js +17 -0
  112. package/dist/collection/components/utils/api/getCountries.js +0 -1
  113. package/dist/collection/components/utils/api/getCountryLandedCost.js +0 -1
  114. package/dist/collection/components/utils/api/getExchangeRate.js +2 -3
  115. package/dist/collection/components/utils/api/getLocaleMessages.js +0 -1
  116. package/dist/collection/components/utils/api/getLocalization.js +3 -2
  117. package/dist/collection/components/utils/api/getShippingZones.js +0 -1
  118. package/dist/collection/components/utils/api/getZonosSetting.js +0 -1
  119. package/dist/collection/components/utils/api/prepCalculateLandedCost.js +2 -1
  120. package/dist/collection/components/utils/changeDeepProperty.js +0 -1
  121. package/dist/collection/components/utils/changeDeepPropertyAtIndex.js +0 -1
  122. package/dist/collection/components/utils/checkout/initCheckout.js +2 -5
  123. package/dist/collection/components/utils/checkout/isCheckoutMobile.js +0 -1
  124. package/dist/collection/components/utils/classes.js +0 -1
  125. package/dist/collection/components/utils/darkenColor.js +0 -1
  126. package/dist/collection/components/utils/formatCurrency.js +0 -1
  127. package/dist/collection/components/utils/formatDate.js +0 -1
  128. package/dist/collection/components/utils/getBorderRadius.js +0 -1
  129. package/dist/collection/components/utils/getButtonTheme.js +0 -1
  130. package/dist/collection/components/utils/getDaysDifference.js +0 -1
  131. package/dist/collection/components/utils/handleFetch.js +1 -2
  132. package/dist/collection/components/utils/hello/currencyConversion/currencyConvert.js +0 -1
  133. package/dist/collection/components/utils/hello/currencyConversion/currencyConvertAndFormat.js +0 -1
  134. package/dist/collection/components/utils/hello/currencyConversion/currencyDisplay.js +0 -1
  135. package/dist/collection/components/utils/hello/currencyConversion/currencyFormat.js +0 -1
  136. package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +0 -1
  137. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyCode.js +0 -1
  138. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyElements.js +0 -1
  139. package/dist/collection/components/utils/hello/currencyConversion/getInitialElementAmount.js +0 -1
  140. package/dist/collection/components/utils/hello/currencyConversion/getLanguageCode.js +0 -1
  141. package/dist/collection/components/utils/hello/detectItemRestrictions.js +28 -0
  142. package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js +8 -8
  143. package/dist/collection/components/utils/hello/getHasMoreSpaceAbove.js +9 -0
  144. package/dist/collection/components/utils/hello/getHasMoreSpaceOnRight.js +0 -1
  145. package/dist/collection/components/utils/hello/getProductsOnPage.js +48 -0
  146. package/dist/collection/components/utils/hello/initHello.js +0 -1
  147. package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js +9 -0
  148. package/dist/collection/components/utils/isColorVariable.js +0 -1
  149. package/dist/collection/components/utils/isDarkColor.js +0 -1
  150. package/dist/collection/components/utils/isValidSelector.js +0 -1
  151. package/dist/collection/components/utils/jsonParse.js +0 -1
  152. package/dist/collection/components/utils/lightenColor.js +0 -1
  153. package/dist/collection/components/utils/logging/log.js +0 -1
  154. package/dist/collection/components/utils/logging/logError.js +0 -1
  155. package/dist/collection/components/utils/mergeConfig.js +0 -1
  156. package/dist/collection/components/utils/submitGtag.js +0 -1
  157. package/dist/collection/environment.js +84 -10
  158. package/dist/collection/index.js +0 -1
  159. package/dist/collection/scripts/loadStripe.js +3 -4
  160. package/dist/collection/scripts/stripe.js +3 -4
  161. package/dist/collection/scripts/zonos.js +86 -31
  162. package/dist/collection/styles/stripe/addressRuleStyle.js +0 -1
  163. package/dist/collection/styles/stripe/defaultVariable.js +0 -1
  164. package/dist/collection/types/ICountryJson.js +0 -1
  165. package/dist/collection/types/JsonError.js +0 -1
  166. package/dist/collection/types/NoInfer.js +0 -1
  167. package/dist/collection/types/Translation.js +0 -1
  168. package/dist/collection/types/checkout/CheckoutConfig.js +0 -1
  169. package/dist/collection/types/checkout/api/CalculateLandedCostRequest.js +0 -1
  170. package/dist/collection/types/generated/graphql.customer.types.js +92 -1
  171. package/dist/collection/types/generated/graphql.frontend.types.js +0 -1
  172. package/dist/collection/types/hello/HelloConfig.js +0 -1
  173. package/dist/collection/types/hello/Product.js +1 -0
  174. package/dist/collection/types/hello/RestrictedItem.js +1 -0
  175. package/dist/collection/types/index.js +1 -1
  176. package/dist/collection/types/online-store/OnlineStoreConfig.js +0 -1
  177. package/dist/collection/types/stripe/Apperance.js +0 -1
  178. package/dist/collection/types/styles/Color.js +0 -1
  179. package/dist/collection/types/styles/GridSpacing.js +0 -1
  180. package/dist/collection/types/styles/Text.js +0 -1
  181. package/dist/collection/types/utils/deep/IDeepKeyof.js +0 -1
  182. package/dist/collection/types/utils/deep/IDeepKeyofAtIndex.js +0 -1
  183. package/dist/collection/utils/format.js +0 -1
  184. package/dist/collection/utils/generateVercelDeployUrl.js +0 -1
  185. package/dist/{esm/cart-2f83e048.js → components/cart.js} +10 -10
  186. package/dist/components/classes.js +0 -2
  187. package/dist/components/formatCurrency.js +0 -2
  188. package/dist/components/getBorderRadius.js +0 -2
  189. package/dist/components/index.js +1 -2
  190. package/dist/components/isColorVariable.js +0 -2
  191. package/dist/components/isDarkColor.js +0 -2
  192. package/dist/components/localization.js +207 -16
  193. package/dist/components/submitGtag.js +1 -3
  194. package/dist/components/zonos-address.js +0 -2
  195. package/dist/components/zonos-address2.js +2 -4
  196. package/dist/components/zonos-badge.js +0 -2
  197. package/dist/components/zonos-badge2.js +0 -2
  198. package/dist/components/zonos-banner.js +0 -2
  199. package/dist/components/zonos-banner2.js +2 -4
  200. package/dist/components/zonos-button.js +0 -2
  201. package/dist/components/zonos-button2.js +0 -2
  202. package/dist/components/zonos-card.js +0 -2
  203. package/dist/components/zonos-card2.js +0 -2
  204. package/dist/components/zonos-cart-items.js +0 -2
  205. package/dist/components/zonos-cart-items2.js +1 -3
  206. package/dist/components/zonos-cart-subtotal.js +0 -2
  207. package/dist/components/zonos-cart-subtotal2.js +2 -4
  208. package/dist/components/zonos-checkout-finish.js +0 -2
  209. package/dist/components/zonos-checkout-finish2.js +10 -5
  210. package/dist/components/zonos-checkout-payment.js +0 -2
  211. package/dist/components/zonos-checkout-payment2.js +1 -3
  212. package/dist/components/zonos-checkout.js +86 -47
  213. package/dist/components/zonos-collapse.js +0 -2
  214. package/dist/components/zonos-collapse2.js +0 -2
  215. package/dist/components/zonos-component.js +0 -2
  216. package/dist/components/zonos-controller.js +5 -9
  217. package/dist/components/zonos-country-flag.js +0 -2
  218. package/dist/components/zonos-country-flag2.js +1 -3
  219. package/dist/components/zonos-country-select.js +0 -2
  220. package/dist/components/zonos-country-select2.js +2 -4
  221. package/dist/components/zonos-custom-message.js +0 -2
  222. package/dist/components/zonos-custom-message2.js +0 -2
  223. package/dist/components/zonos-customer-info.js +0 -2
  224. package/dist/components/zonos-customer-info2.js +2 -4
  225. package/dist/components/zonos-dialog.js +0 -2
  226. package/dist/components/zonos-dialog2.js +1 -3
  227. package/dist/components/zonos-hello-dialog-footer.js +0 -2
  228. package/dist/components/zonos-hello-dialog-footer2.js +3 -5
  229. package/dist/components/zonos-hello-dialog.js +0 -2
  230. package/dist/components/zonos-hello-dialog2.js +28 -10
  231. package/dist/components/zonos-hello.js +251 -24
  232. package/dist/components/zonos-icon.js +0 -2
  233. package/dist/components/zonos-icon2.js +0 -2
  234. package/dist/components/zonos-link-authentication.js +0 -2
  235. package/dist/components/zonos-link-authentication2.js +1 -3
  236. package/dist/components/zonos-logo.js +0 -2
  237. package/dist/components/zonos-logo2.js +0 -2
  238. package/dist/components/zonos-notification.js +0 -2
  239. package/dist/components/zonos-notification2.js +0 -2
  240. package/dist/components/zonos-payment.js +0 -2
  241. package/dist/components/zonos-payment2.js +1 -3
  242. package/dist/components/zonos-review.js +0 -2
  243. package/dist/components/zonos-review2.js +3 -5
  244. package/dist/components/zonos-shipping-rich-radio.js +0 -2
  245. package/dist/components/zonos-shipping-rich-radio2.js +1 -3
  246. package/dist/components/zonos-shipping.js +0 -2
  247. package/dist/components/zonos-shipping2.js +1 -3
  248. package/dist/components/zonos-spinner.js +0 -2
  249. package/dist/components/zonos-spinner2.js +0 -2
  250. package/dist/components/zonos-text.js +0 -2
  251. package/dist/components/zonos-text2.js +0 -2
  252. package/dist/components/zonos-v-stack.js +0 -2
  253. package/dist/components/zonos-v-stack2.js +0 -2
  254. package/dist/components/zonosStore.js +6 -23
  255. package/dist/{zonos-elements/cart-2f83e048.js → esm/cart-cf46a264.js} +10 -10
  256. package/dist/esm/classes-0d95c529.js +0 -2
  257. package/dist/esm/{getBorderRadius-82fbaf25.js → getBorderRadius-278281bf.js} +1 -3
  258. package/dist/esm/getHasMoreSpaceOnRight-feba1ae2.js +0 -2
  259. package/dist/esm/index-d1aa9293.js +0 -2
  260. package/dist/esm/index.js +6 -3
  261. package/dist/esm/isColorVariable-4cda28c9.js +0 -2
  262. package/dist/esm/{isDarkColor-b21326ae.js → isDarkColor-8fd3a24e.js} +1 -3
  263. package/dist/esm/loader.js +1 -3
  264. package/dist/{zonos-elements/localization-4a424f49.js → esm/localization-add1d9e9.js} +208 -17
  265. package/dist/{zonos-elements/submitGtag-fbdb454b.js → esm/submitGtag-aa5fe441.js} +2 -4
  266. package/dist/esm/zonos-address_2.entry.js +5 -7
  267. package/dist/esm/zonos-badge.entry.js +0 -2
  268. package/dist/esm/zonos-banner.entry.js +62 -0
  269. package/dist/esm/zonos-button_2.entry.js +3 -5
  270. package/dist/esm/zonos-card_2.entry.js +0 -2
  271. package/dist/esm/zonos-cart-items_10.entry.js +20 -15
  272. package/dist/esm/zonos-checkout.entry.js +90 -50
  273. package/dist/esm/zonos-component.entry.js +0 -2
  274. package/dist/esm/zonos-controller.entry.js +8 -12
  275. package/dist/esm/zonos-country-flag_4.entry.js +6 -8
  276. package/dist/esm/zonos-elements.js +1 -3
  277. package/dist/esm/zonos-hello-dialog.entry.js +21 -10
  278. package/dist/esm/zonos-hello.entry.js +241 -24
  279. package/dist/esm/zonos-icon.entry.js +0 -2
  280. package/dist/esm/zonos-notification.entry.js +0 -2
  281. package/dist/esm/zonos-payment.entry.js +54 -0
  282. package/dist/esm/zonos-shipping-rich-radio.entry.js +3 -5
  283. package/dist/esm/zonos-text.entry.js +0 -2
  284. package/dist/{zonos-elements/zonosStore-13a7b534.js → esm/zonosStore-e5291656.js} +6 -23
  285. package/dist/esm-es5/cart-cf46a264.js +1 -0
  286. package/dist/esm-es5/classes-0d95c529.js +1 -2
  287. package/dist/esm-es5/getBorderRadius-278281bf.js +1 -0
  288. package/dist/esm-es5/getHasMoreSpaceOnRight-feba1ae2.js +1 -2
  289. package/dist/esm-es5/index-d1aa9293.js +1 -2
  290. package/dist/esm-es5/index.js +1 -2
  291. package/dist/esm-es5/isColorVariable-4cda28c9.js +1 -2
  292. package/dist/esm-es5/{isDarkColor-b21326ae.js → isDarkColor-8fd3a24e.js} +1 -2
  293. package/dist/esm-es5/loader.js +1 -2
  294. package/dist/esm-es5/localization-add1d9e9.js +1 -0
  295. package/dist/esm-es5/{submitGtag-fbdb454b.js → submitGtag-aa5fe441.js} +1 -2
  296. package/dist/esm-es5/zonos-address_2.entry.js +1 -2
  297. package/dist/esm-es5/zonos-badge.entry.js +1 -2
  298. package/dist/esm-es5/zonos-banner.entry.js +1 -0
  299. package/dist/esm-es5/zonos-button_2.entry.js +1 -2
  300. package/dist/esm-es5/zonos-card_2.entry.js +1 -2
  301. package/dist/esm-es5/zonos-cart-items_10.entry.js +1 -2
  302. package/dist/esm-es5/zonos-checkout.entry.js +1 -2
  303. package/dist/esm-es5/zonos-component.entry.js +1 -2
  304. package/dist/esm-es5/zonos-controller.entry.js +1 -2
  305. package/dist/esm-es5/zonos-country-flag_4.entry.js +1 -2
  306. package/dist/esm-es5/zonos-elements.js +1 -2
  307. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -2
  308. package/dist/esm-es5/zonos-hello.entry.js +1 -2
  309. package/dist/esm-es5/zonos-icon.entry.js +1 -2
  310. package/dist/esm-es5/zonos-notification.entry.js +1 -2
  311. package/dist/esm-es5/zonos-payment.entry.js +1 -0
  312. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -2
  313. package/dist/esm-es5/zonos-text.entry.js +1 -2
  314. package/dist/esm-es5/zonosStore-e5291656.js +1 -0
  315. package/dist/scripts/loadStripe.js +6 -6
  316. package/dist/scripts/loadZonos.js +95 -35
  317. package/dist/scripts/stripe.js +5 -5
  318. package/dist/scripts/zonos.js +95 -35
  319. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +1 -4
  320. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +24 -1
  321. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +6 -0
  322. package/dist/types/components/store/checkout/cart.d.ts +13 -1
  323. package/dist/types/components/store/translationStore/strings.arabic.d.ts +9 -0
  324. package/dist/types/components/store/translationStore/strings.base.d.ts +9 -0
  325. package/dist/types/components/store/translationStore/strings.chinese.d.ts +9 -0
  326. package/dist/types/components/store/translationStore/strings.danish.d.ts +9 -0
  327. package/dist/types/components/store/translationStore/strings.dutch.d.ts +9 -0
  328. package/dist/types/components/store/translationStore/strings.french.d.ts +9 -0
  329. package/dist/types/components/store/translationStore/strings.german.d.ts +9 -0
  330. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +9 -0
  331. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +9 -0
  332. package/dist/types/components/store/translationStore/strings.italian.d.ts +9 -0
  333. package/dist/types/components/store/translationStore/strings.japanese.d.ts +9 -0
  334. package/dist/types/components/store/translationStore/strings.korean.d.ts +9 -0
  335. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +9 -0
  336. package/dist/types/components/store/translationStore/strings.polish.d.ts +9 -0
  337. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +9 -0
  338. package/dist/types/components/store/translationStore/strings.russian.d.ts +9 -0
  339. package/dist/types/components/store/translationStore/strings.spanish.d.ts +9 -0
  340. package/dist/types/components/store/translationStore/strings.swedish.d.ts +9 -0
  341. package/dist/types/components/store/translationStore/strings.turkish.d.ts +9 -0
  342. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +9 -0
  343. package/dist/types/components/store/zonosStore.d.ts +1 -1
  344. package/dist/types/components/utils/api/checkItemRestrictions.d.ts +22 -0
  345. package/dist/types/components/utils/api/getExchangeRate.d.ts +2 -1
  346. package/dist/types/components/utils/hello/detectItemRestrictions.d.ts +14 -0
  347. package/dist/types/components/utils/hello/getCurrentHelloLocalePage.d.ts +2 -1
  348. package/dist/types/components/utils/hello/getHasMoreSpaceAbove.d.ts +1 -0
  349. package/dist/types/components/utils/hello/getProductsOnPage.d.ts +2 -0
  350. package/dist/types/components/utils/hello/setZonosCountryUrlParam.d.ts +2 -0
  351. package/dist/types/components.d.ts +12 -8
  352. package/dist/types/environment.d.ts +17 -0
  353. package/dist/types/scripts/loadStripe.d.ts +1 -1
  354. package/dist/types/scripts/stripe.d.ts +2 -2
  355. package/dist/types/scripts/zonos.d.ts +8 -0
  356. package/dist/types/types/checkout/CheckoutConfig.d.ts +2 -1
  357. package/dist/types/types/generated/graphql.customer.types.d.ts +144 -1
  358. package/dist/types/types/generated/graphql.customer.types.ts +204 -1
  359. package/dist/types/types/generated/graphql.frontend.types.d.ts +0 -4
  360. package/dist/types/types/generated/graphql.frontend.types.ts +0 -1
  361. package/dist/types/types/hello/HelloConfig.d.ts +4 -0
  362. package/dist/types/types/hello/Product.d.ts +5 -0
  363. package/dist/types/types/hello/RestrictedItem.d.ts +6 -0
  364. package/dist/types/types/index.d.ts +1 -0
  365. package/dist/zonos-elements/assets/ChevronDownIcon.svg +1 -1
  366. package/dist/zonos-elements/assets/ChevronUpIcon.svg +1 -1
  367. package/dist/zonos-elements/assets/InfoIcon.svg +1 -1
  368. package/dist/zonos-elements/assets/LeftArrow.svg +1 -1
  369. package/dist/zonos-elements/assets/MessageIcon.svg +1 -1
  370. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  371. package/dist/zonos-elements/assets/SuccessIcon.svg +1 -1
  372. package/dist/zonos-elements/assets/bagIcon.svg +1 -1
  373. package/dist/zonos-elements/assets/messageIcon.svg +1 -1
  374. package/dist/zonos-elements/assets/moneyIcon.svg +1 -1
  375. package/dist/zonos-elements/assets/removeIcon.svg +1 -1
  376. package/dist/zonos-elements/index.esm.js +1 -3
  377. package/dist/zonos-elements/p-0190f7c4.entry.js +1 -0
  378. package/dist/zonos-elements/p-01990dcd.js +1 -0
  379. package/dist/zonos-elements/p-0636859b.js +1 -0
  380. package/dist/zonos-elements/p-083b951d.system.entry.js +1 -0
  381. package/dist/zonos-elements/p-0a33b542.system.js +1 -0
  382. package/dist/zonos-elements/p-0cd4b073.system.js +1 -0
  383. package/dist/zonos-elements/p-0f64d234.entry.js +1 -0
  384. package/dist/zonos-elements/p-1293796f.js +1 -0
  385. package/dist/zonos-elements/p-15b71f0b.system.entry.js +1 -0
  386. package/dist/zonos-elements/p-1781245e.system.js +1 -0
  387. package/dist/zonos-elements/p-1835470b.system.entry.js +1 -0
  388. package/dist/zonos-elements/p-18d37ad9.system.js +1 -0
  389. package/dist/zonos-elements/p-1b6d064d.system.js +1 -0
  390. package/dist/zonos-elements/p-23204b78.system.entry.js +1 -0
  391. package/dist/zonos-elements/{classes-ce25a814.system.js → p-23e7c655.system.js} +1 -2
  392. package/dist/zonos-elements/p-2b6325ab.entry.js +1 -0
  393. package/dist/zonos-elements/p-36425562.system.entry.js +1 -0
  394. package/dist/zonos-elements/p-43a25dab.entry.js +1 -0
  395. package/dist/zonos-elements/p-466bae3a.entry.js +1 -0
  396. package/dist/zonos-elements/{getHasMoreSpaceOnRight-5a9efd60.system.js → p-4a5096d2.system.js} +1 -2
  397. package/dist/zonos-elements/{isColorVariable-be454101.system.js → p-64fdb7b6.system.js} +1 -2
  398. package/dist/zonos-elements/{index-87193773.system.js → p-68d06767.system.js} +1 -2
  399. package/dist/zonos-elements/p-6bb67f2e.system.entry.js +1 -0
  400. package/dist/zonos-elements/p-6cd7a90e.system.js +1 -0
  401. package/dist/zonos-elements/p-6d82986c.system.entry.js +1 -0
  402. package/dist/zonos-elements/p-7bacecf7.entry.js +1 -0
  403. package/dist/zonos-elements/p-824395fd.system.entry.js +1 -0
  404. package/dist/zonos-elements/p-82ab16e2.js +1 -0
  405. package/dist/zonos-elements/p-847a1b9a.system.entry.js +1 -0
  406. package/dist/zonos-elements/p-86825d4a.js +1 -0
  407. package/dist/zonos-elements/p-8fa1244b.entry.js +1 -0
  408. package/dist/zonos-elements/p-9688bb12.entry.js +1 -0
  409. package/dist/zonos-elements/p-96fbce98.system.entry.js +1 -0
  410. package/dist/zonos-elements/p-98a6e093.system.entry.js +1 -0
  411. package/dist/zonos-elements/p-9d06e3a3.system.js +1 -0
  412. package/dist/zonos-elements/p-a014d540.entry.js +1 -0
  413. package/dist/zonos-elements/p-a3f394b7.system.entry.js +1 -0
  414. package/dist/zonos-elements/p-aed841bf.entry.js +1 -0
  415. package/dist/zonos-elements/p-b0a39955.js +1 -0
  416. package/dist/zonos-elements/p-b4b7f705.js +1 -0
  417. package/dist/zonos-elements/p-b618cf03.entry.js +1 -0
  418. package/dist/zonos-elements/p-b6c499d4.js +1 -0
  419. package/dist/zonos-elements/p-b75ffe64.system.entry.js +1 -0
  420. package/dist/zonos-elements/p-bb35713f.entry.js +1 -0
  421. package/dist/zonos-elements/p-c4eb37b5.entry.js +1 -0
  422. package/dist/zonos-elements/p-d0ecfe92.system.entry.js +1 -0
  423. package/dist/zonos-elements/p-dc8d7000.js +2 -0
  424. package/dist/zonos-elements/p-ddc11127.system.entry.js +1 -0
  425. package/dist/zonos-elements/p-de86c2e4.system.entry.js +1 -0
  426. package/dist/zonos-elements/p-e80aae7d.entry.js +1 -0
  427. package/dist/zonos-elements/p-eb6cc449.system.entry.js +1 -0
  428. package/dist/zonos-elements/p-ebb4de4e.entry.js +1 -0
  429. package/dist/zonos-elements/p-ee671d13.js +1 -0
  430. package/dist/zonos-elements/p-f5392f7e.entry.js +1 -0
  431. package/dist/zonos-elements/p-f8491335.system.js +1 -0
  432. package/dist/zonos-elements/p-f868ed42.entry.js +1 -0
  433. package/dist/zonos-elements/zonos-elements.esm.js +1 -20
  434. package/dist/zonos-elements/zonos-elements.js +1 -1
  435. package/package.json +1 -1
  436. package/dist/cjs/cart-108bc407.js.map +0 -1
  437. package/dist/cjs/classes-b7918f56.js.map +0 -1
  438. package/dist/cjs/getBorderRadius-2904800c.js.map +0 -1
  439. package/dist/cjs/getHasMoreSpaceOnRight-2855491b.js.map +0 -1
  440. package/dist/cjs/index-9542d2e7.js.map +0 -1
  441. package/dist/cjs/index.cjs.js.map +0 -1
  442. package/dist/cjs/isColorVariable-c1ed7303.js.map +0 -1
  443. package/dist/cjs/isDarkColor-a86b8a05.js.map +0 -1
  444. package/dist/cjs/loader.cjs.js.map +0 -1
  445. package/dist/cjs/localization-f6a1b679.js.map +0 -1
  446. package/dist/cjs/submitGtag-b1b96579.js.map +0 -1
  447. package/dist/cjs/zonos-address_2.cjs.entry.js.map +0 -1
  448. package/dist/cjs/zonos-badge.cjs.entry.js.map +0 -1
  449. package/dist/cjs/zonos-banner_2.cjs.entry.js +0 -120
  450. package/dist/cjs/zonos-banner_2.cjs.entry.js.map +0 -1
  451. package/dist/cjs/zonos-button_2.cjs.entry.js.map +0 -1
  452. package/dist/cjs/zonos-card_2.cjs.entry.js.map +0 -1
  453. package/dist/cjs/zonos-cart-items_10.cjs.entry.js.map +0 -1
  454. package/dist/cjs/zonos-checkout.cjs.entry.js.map +0 -1
  455. package/dist/cjs/zonos-component.cjs.entry.js.map +0 -1
  456. package/dist/cjs/zonos-controller.cjs.entry.js.map +0 -1
  457. package/dist/cjs/zonos-country-flag_4.cjs.entry.js.map +0 -1
  458. package/dist/cjs/zonos-elements.cjs.js.map +0 -1
  459. package/dist/cjs/zonos-hello-dialog.cjs.entry.js.map +0 -1
  460. package/dist/cjs/zonos-hello.cjs.entry.js.map +0 -1
  461. package/dist/cjs/zonos-icon.cjs.entry.js.map +0 -1
  462. package/dist/cjs/zonos-notification.cjs.entry.js.map +0 -1
  463. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js.map +0 -1
  464. package/dist/cjs/zonos-text.cjs.entry.js.map +0 -1
  465. package/dist/cjs/zonosStore-960e5542.js.map +0 -1
  466. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js.map +0 -1
  467. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js.map +0 -1
  468. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js.map +0 -1
  469. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js.map +0 -1
  470. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js.map +0 -1
  471. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js.map +0 -1
  472. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.js.map +0 -1
  473. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js.map +0 -1
  474. package/dist/collection/components/common/countries.js.map +0 -1
  475. package/dist/collection/components/common/zonos-badge/zonos-badge.js.map +0 -1
  476. package/dist/collection/components/common/zonos-banner/zonos-banner.js.map +0 -1
  477. package/dist/collection/components/common/zonos-button/zonos-button.js.map +0 -1
  478. package/dist/collection/components/common/zonos-card/zonos-card.js.map +0 -1
  479. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js.map +0 -1
  480. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.js.map +0 -1
  481. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js.map +0 -1
  482. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js.map +0 -1
  483. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js.map +0 -1
  484. package/dist/collection/components/common/zonos-icon/zonos-icon.js.map +0 -1
  485. package/dist/collection/components/common/zonos-logo/zonos-logo.js.map +0 -1
  486. package/dist/collection/components/common/zonos-notification/zonos-notification.js.map +0 -1
  487. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js.map +0 -1
  488. package/dist/collection/components/common/zonos-spinner/zonos-spinner.js.map +0 -1
  489. package/dist/collection/components/common/zonos-text/zonos-text.js.map +0 -1
  490. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js.map +0 -1
  491. package/dist/collection/components/component-template/zonos-component/zonos-component.js.map +0 -1
  492. package/dist/collection/components/hello/zonos-hello/zonos-hello.js.map +0 -1
  493. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js.map +0 -1
  494. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js.map +0 -1
  495. package/dist/collection/components/main/zonos-controller.js.map +0 -1
  496. package/dist/collection/components/store/checkout/cart.js.map +0 -1
  497. package/dist/collection/components/store/checkout/stripe.js.map +0 -1
  498. package/dist/collection/components/store/hello/localization.js.map +0 -1
  499. package/dist/collection/components/store/translationStore/strings.arabic.js.map +0 -1
  500. package/dist/collection/components/store/translationStore/strings.base.js.map +0 -1
  501. package/dist/collection/components/store/translationStore/strings.chinese.js.map +0 -1
  502. package/dist/collection/components/store/translationStore/strings.danish.js.map +0 -1
  503. package/dist/collection/components/store/translationStore/strings.dutch.js.map +0 -1
  504. package/dist/collection/components/store/translationStore/strings.french.js.map +0 -1
  505. package/dist/collection/components/store/translationStore/strings.german.js.map +0 -1
  506. package/dist/collection/components/store/translationStore/strings.hebrew.js.map +0 -1
  507. package/dist/collection/components/store/translationStore/strings.indonesian.js.map +0 -1
  508. package/dist/collection/components/store/translationStore/strings.italian.js.map +0 -1
  509. package/dist/collection/components/store/translationStore/strings.japanese.js.map +0 -1
  510. package/dist/collection/components/store/translationStore/strings.korean.js.map +0 -1
  511. package/dist/collection/components/store/translationStore/strings.norwegian.js.map +0 -1
  512. package/dist/collection/components/store/translationStore/strings.polish.js.map +0 -1
  513. package/dist/collection/components/store/translationStore/strings.portuguese.js.map +0 -1
  514. package/dist/collection/components/store/translationStore/strings.russian.js.map +0 -1
  515. package/dist/collection/components/store/translationStore/strings.spanish.js.map +0 -1
  516. package/dist/collection/components/store/translationStore/strings.swedish.js.map +0 -1
  517. package/dist/collection/components/store/translationStore/strings.turkish.js.map +0 -1
  518. package/dist/collection/components/store/translationStore/strings.vietnamese.js.map +0 -1
  519. package/dist/collection/components/store/translationStore.js.map +0 -1
  520. package/dist/collection/components/store/zonosStore.js.map +0 -1
  521. package/dist/collection/components/stripe/zonos-address/zonos-address.js.map +0 -1
  522. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js.map +0 -1
  523. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js.map +0 -1
  524. package/dist/collection/components/utils/addDays.js.map +0 -1
  525. package/dist/collection/components/utils/api/calculateLandedCost.js.map +0 -1
  526. package/dist/collection/components/utils/api/getCountries.js.map +0 -1
  527. package/dist/collection/components/utils/api/getCountryLandedCost.js.map +0 -1
  528. package/dist/collection/components/utils/api/getExchangeRate.js.map +0 -1
  529. package/dist/collection/components/utils/api/getLocaleMessages.js.map +0 -1
  530. package/dist/collection/components/utils/api/getLocalization.js.map +0 -1
  531. package/dist/collection/components/utils/api/getShippingZones.js.map +0 -1
  532. package/dist/collection/components/utils/api/getZonosSetting.js.map +0 -1
  533. package/dist/collection/components/utils/api/prepCalculateLandedCost.js.map +0 -1
  534. package/dist/collection/components/utils/changeDeepProperty.js.map +0 -1
  535. package/dist/collection/components/utils/changeDeepPropertyAtIndex.js.map +0 -1
  536. package/dist/collection/components/utils/checkout/initCheckout.js.map +0 -1
  537. package/dist/collection/components/utils/checkout/isCheckoutMobile.js.map +0 -1
  538. package/dist/collection/components/utils/classes.js.map +0 -1
  539. package/dist/collection/components/utils/darkenColor.js.map +0 -1
  540. package/dist/collection/components/utils/formatCurrency.js.map +0 -1
  541. package/dist/collection/components/utils/formatDate.js.map +0 -1
  542. package/dist/collection/components/utils/getBorderRadius.js.map +0 -1
  543. package/dist/collection/components/utils/getButtonTheme.js.map +0 -1
  544. package/dist/collection/components/utils/getDaysDifference.js.map +0 -1
  545. package/dist/collection/components/utils/handleFetch.js.map +0 -1
  546. package/dist/collection/components/utils/hello/currencyConversion/currencyConvert.js.map +0 -1
  547. package/dist/collection/components/utils/hello/currencyConversion/currencyConvertAndFormat.js.map +0 -1
  548. package/dist/collection/components/utils/hello/currencyConversion/currencyDisplay.js.map +0 -1
  549. package/dist/collection/components/utils/hello/currencyConversion/currencyFormat.js.map +0 -1
  550. package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js.map +0 -1
  551. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyCode.js.map +0 -1
  552. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyElements.js.map +0 -1
  553. package/dist/collection/components/utils/hello/currencyConversion/getInitialElementAmount.js.map +0 -1
  554. package/dist/collection/components/utils/hello/currencyConversion/getLanguageCode.js.map +0 -1
  555. package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js.map +0 -1
  556. package/dist/collection/components/utils/hello/getHasMoreSpaceOnRight.js.map +0 -1
  557. package/dist/collection/components/utils/hello/initHello.js.map +0 -1
  558. package/dist/collection/components/utils/isColorVariable.js.map +0 -1
  559. package/dist/collection/components/utils/isDarkColor.js.map +0 -1
  560. package/dist/collection/components/utils/isValidSelector.js.map +0 -1
  561. package/dist/collection/components/utils/jsonParse.js.map +0 -1
  562. package/dist/collection/components/utils/lightenColor.js.map +0 -1
  563. package/dist/collection/components/utils/logging/log.js.map +0 -1
  564. package/dist/collection/components/utils/logging/logError.js.map +0 -1
  565. package/dist/collection/components/utils/mergeConfig.js.map +0 -1
  566. package/dist/collection/components/utils/submitGtag.js.map +0 -1
  567. package/dist/collection/environment.js.map +0 -1
  568. package/dist/collection/index.js.map +0 -1
  569. package/dist/collection/scripts/loadStripe.js.map +0 -1
  570. package/dist/collection/scripts/stripe.js.map +0 -1
  571. package/dist/collection/scripts/zonos.js.map +0 -1
  572. package/dist/collection/styles/stripe/addressRuleStyle.js.map +0 -1
  573. package/dist/collection/styles/stripe/defaultVariable.js.map +0 -1
  574. package/dist/collection/types/ICountryJson.js.map +0 -1
  575. package/dist/collection/types/JsonError.js.map +0 -1
  576. package/dist/collection/types/NoInfer.js.map +0 -1
  577. package/dist/collection/types/Translation.js.map +0 -1
  578. package/dist/collection/types/checkout/CheckoutConfig.js.map +0 -1
  579. package/dist/collection/types/checkout/api/CalculateLandedCostRequest.js.map +0 -1
  580. package/dist/collection/types/generated/graphql.customer.types.js.map +0 -1
  581. package/dist/collection/types/generated/graphql.frontend.types.js.map +0 -1
  582. package/dist/collection/types/hello/HelloConfig.js.map +0 -1
  583. package/dist/collection/types/index.js.map +0 -1
  584. package/dist/collection/types/online-store/OnlineStoreConfig.js.map +0 -1
  585. package/dist/collection/types/stripe/Apperance.js.map +0 -1
  586. package/dist/collection/types/styles/Color.js.map +0 -1
  587. package/dist/collection/types/styles/GridSpacing.js.map +0 -1
  588. package/dist/collection/types/styles/Text.js.map +0 -1
  589. package/dist/collection/types/utils/deep/IDeepKeyof.js.map +0 -1
  590. package/dist/collection/types/utils/deep/IDeepKeyofAtIndex.js.map +0 -1
  591. package/dist/collection/utils/format.js.map +0 -1
  592. package/dist/collection/utils/generateVercelDeployUrl.js.map +0 -1
  593. package/dist/components/classes.js.map +0 -1
  594. package/dist/components/formatCurrency.js.map +0 -1
  595. package/dist/components/getBorderRadius.js.map +0 -1
  596. package/dist/components/index.js.map +0 -1
  597. package/dist/components/isColorVariable.js.map +0 -1
  598. package/dist/components/isDarkColor.js.map +0 -1
  599. package/dist/components/localization.js.map +0 -1
  600. package/dist/components/stripe.js +0 -598
  601. package/dist/components/stripe.js.map +0 -1
  602. package/dist/components/submitGtag.js.map +0 -1
  603. package/dist/components/zonos-address.js.map +0 -1
  604. package/dist/components/zonos-address2.js.map +0 -1
  605. package/dist/components/zonos-badge.js.map +0 -1
  606. package/dist/components/zonos-badge2.js.map +0 -1
  607. package/dist/components/zonos-banner.js.map +0 -1
  608. package/dist/components/zonos-banner2.js.map +0 -1
  609. package/dist/components/zonos-button.js.map +0 -1
  610. package/dist/components/zonos-button2.js.map +0 -1
  611. package/dist/components/zonos-card.js.map +0 -1
  612. package/dist/components/zonos-card2.js.map +0 -1
  613. package/dist/components/zonos-cart-items.js.map +0 -1
  614. package/dist/components/zonos-cart-items2.js.map +0 -1
  615. package/dist/components/zonos-cart-subtotal.js.map +0 -1
  616. package/dist/components/zonos-cart-subtotal2.js.map +0 -1
  617. package/dist/components/zonos-checkout-finish.js.map +0 -1
  618. package/dist/components/zonos-checkout-finish2.js.map +0 -1
  619. package/dist/components/zonos-checkout-payment.js.map +0 -1
  620. package/dist/components/zonos-checkout-payment2.js.map +0 -1
  621. package/dist/components/zonos-checkout.js.map +0 -1
  622. package/dist/components/zonos-collapse.js.map +0 -1
  623. package/dist/components/zonos-collapse2.js.map +0 -1
  624. package/dist/components/zonos-component.js.map +0 -1
  625. package/dist/components/zonos-controller.js.map +0 -1
  626. package/dist/components/zonos-country-flag.js.map +0 -1
  627. package/dist/components/zonos-country-flag2.js.map +0 -1
  628. package/dist/components/zonos-country-select.js.map +0 -1
  629. package/dist/components/zonos-country-select2.js.map +0 -1
  630. package/dist/components/zonos-custom-message.js.map +0 -1
  631. package/dist/components/zonos-custom-message2.js.map +0 -1
  632. package/dist/components/zonos-customer-info.js.map +0 -1
  633. package/dist/components/zonos-customer-info2.js.map +0 -1
  634. package/dist/components/zonos-dialog.js.map +0 -1
  635. package/dist/components/zonos-dialog2.js.map +0 -1
  636. package/dist/components/zonos-hello-dialog-footer.js.map +0 -1
  637. package/dist/components/zonos-hello-dialog-footer2.js.map +0 -1
  638. package/dist/components/zonos-hello-dialog.js.map +0 -1
  639. package/dist/components/zonos-hello-dialog2.js.map +0 -1
  640. package/dist/components/zonos-hello.js.map +0 -1
  641. package/dist/components/zonos-icon.js.map +0 -1
  642. package/dist/components/zonos-icon2.js.map +0 -1
  643. package/dist/components/zonos-link-authentication.js.map +0 -1
  644. package/dist/components/zonos-link-authentication2.js.map +0 -1
  645. package/dist/components/zonos-logo.js.map +0 -1
  646. package/dist/components/zonos-logo2.js.map +0 -1
  647. package/dist/components/zonos-notification.js.map +0 -1
  648. package/dist/components/zonos-notification2.js.map +0 -1
  649. package/dist/components/zonos-payment.js.map +0 -1
  650. package/dist/components/zonos-payment2.js.map +0 -1
  651. package/dist/components/zonos-review.js.map +0 -1
  652. package/dist/components/zonos-review2.js.map +0 -1
  653. package/dist/components/zonos-shipping-rich-radio.js.map +0 -1
  654. package/dist/components/zonos-shipping-rich-radio2.js.map +0 -1
  655. package/dist/components/zonos-shipping.js.map +0 -1
  656. package/dist/components/zonos-shipping2.js.map +0 -1
  657. package/dist/components/zonos-spinner.js.map +0 -1
  658. package/dist/components/zonos-spinner2.js.map +0 -1
  659. package/dist/components/zonos-text.js.map +0 -1
  660. package/dist/components/zonos-text2.js.map +0 -1
  661. package/dist/components/zonos-v-stack.js.map +0 -1
  662. package/dist/components/zonos-v-stack2.js.map +0 -1
  663. package/dist/components/zonosStore.js.map +0 -1
  664. package/dist/esm/cart-2f83e048.js.map +0 -1
  665. package/dist/esm/classes-0d95c529.js.map +0 -1
  666. package/dist/esm/getBorderRadius-82fbaf25.js.map +0 -1
  667. package/dist/esm/getHasMoreSpaceOnRight-feba1ae2.js.map +0 -1
  668. package/dist/esm/index-d1aa9293.js.map +0 -1
  669. package/dist/esm/index.js.map +0 -1
  670. package/dist/esm/isColorVariable-4cda28c9.js.map +0 -1
  671. package/dist/esm/isDarkColor-b21326ae.js.map +0 -1
  672. package/dist/esm/loader.js.map +0 -1
  673. package/dist/esm/localization-4a424f49.js +0 -3374
  674. package/dist/esm/localization-4a424f49.js.map +0 -1
  675. package/dist/esm/submitGtag-fbdb454b.js +0 -26
  676. package/dist/esm/submitGtag-fbdb454b.js.map +0 -1
  677. package/dist/esm/zonos-address_2.entry.js.map +0 -1
  678. package/dist/esm/zonos-badge.entry.js.map +0 -1
  679. package/dist/esm/zonos-banner_2.entry.js +0 -115
  680. package/dist/esm/zonos-banner_2.entry.js.map +0 -1
  681. package/dist/esm/zonos-button_2.entry.js.map +0 -1
  682. package/dist/esm/zonos-card_2.entry.js.map +0 -1
  683. package/dist/esm/zonos-cart-items_10.entry.js.map +0 -1
  684. package/dist/esm/zonos-checkout.entry.js.map +0 -1
  685. package/dist/esm/zonos-component.entry.js.map +0 -1
  686. package/dist/esm/zonos-controller.entry.js.map +0 -1
  687. package/dist/esm/zonos-country-flag_4.entry.js.map +0 -1
  688. package/dist/esm/zonos-elements.js.map +0 -1
  689. package/dist/esm/zonos-hello-dialog.entry.js.map +0 -1
  690. package/dist/esm/zonos-hello.entry.js.map +0 -1
  691. package/dist/esm/zonos-icon.entry.js.map +0 -1
  692. package/dist/esm/zonos-notification.entry.js.map +0 -1
  693. package/dist/esm/zonos-shipping-rich-radio.entry.js.map +0 -1
  694. package/dist/esm/zonos-text.entry.js.map +0 -1
  695. package/dist/esm/zonosStore-13a7b534.js +0 -2639
  696. package/dist/esm/zonosStore-13a7b534.js.map +0 -1
  697. package/dist/esm-es5/cart-2f83e048.js +0 -2
  698. package/dist/esm-es5/cart-2f83e048.js.map +0 -1
  699. package/dist/esm-es5/classes-0d95c529.js.map +0 -1
  700. package/dist/esm-es5/getBorderRadius-82fbaf25.js +0 -2
  701. package/dist/esm-es5/getBorderRadius-82fbaf25.js.map +0 -1
  702. package/dist/esm-es5/getHasMoreSpaceOnRight-feba1ae2.js.map +0 -1
  703. package/dist/esm-es5/index-d1aa9293.js.map +0 -1
  704. package/dist/esm-es5/index.js.map +0 -1
  705. package/dist/esm-es5/isColorVariable-4cda28c9.js.map +0 -1
  706. package/dist/esm-es5/isDarkColor-b21326ae.js.map +0 -1
  707. package/dist/esm-es5/loader.js.map +0 -1
  708. package/dist/esm-es5/localization-4a424f49.js +0 -2
  709. package/dist/esm-es5/localization-4a424f49.js.map +0 -1
  710. package/dist/esm-es5/submitGtag-fbdb454b.js.map +0 -1
  711. package/dist/esm-es5/zonos-address_2.entry.js.map +0 -1
  712. package/dist/esm-es5/zonos-badge.entry.js.map +0 -1
  713. package/dist/esm-es5/zonos-banner_2.entry.js +0 -2
  714. package/dist/esm-es5/zonos-banner_2.entry.js.map +0 -1
  715. package/dist/esm-es5/zonos-button_2.entry.js.map +0 -1
  716. package/dist/esm-es5/zonos-card_2.entry.js.map +0 -1
  717. package/dist/esm-es5/zonos-cart-items_10.entry.js.map +0 -1
  718. package/dist/esm-es5/zonos-checkout.entry.js.map +0 -1
  719. package/dist/esm-es5/zonos-component.entry.js.map +0 -1
  720. package/dist/esm-es5/zonos-controller.entry.js.map +0 -1
  721. package/dist/esm-es5/zonos-country-flag_4.entry.js.map +0 -1
  722. package/dist/esm-es5/zonos-elements.js.map +0 -1
  723. package/dist/esm-es5/zonos-hello-dialog.entry.js.map +0 -1
  724. package/dist/esm-es5/zonos-hello.entry.js.map +0 -1
  725. package/dist/esm-es5/zonos-icon.entry.js.map +0 -1
  726. package/dist/esm-es5/zonos-notification.entry.js.map +0 -1
  727. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js.map +0 -1
  728. package/dist/esm-es5/zonos-text.entry.js.map +0 -1
  729. package/dist/esm-es5/zonosStore-13a7b534.js +0 -2
  730. package/dist/esm-es5/zonosStore-13a7b534.js.map +0 -1
  731. package/dist/zonos-elements/cart-2f83e048.js.map +0 -1
  732. package/dist/zonos-elements/cart-9780fa28.system.js +0 -2
  733. package/dist/zonos-elements/cart-9780fa28.system.js.map +0 -1
  734. package/dist/zonos-elements/classes-0d95c529.js +0 -14
  735. package/dist/zonos-elements/classes-0d95c529.js.map +0 -1
  736. package/dist/zonos-elements/classes-ce25a814.system.js.map +0 -1
  737. package/dist/zonos-elements/getBorderRadius-4fbe49de.system.js +0 -2
  738. package/dist/zonos-elements/getBorderRadius-4fbe49de.system.js.map +0 -1
  739. package/dist/zonos-elements/getBorderRadius-82fbaf25.js +0 -18
  740. package/dist/zonos-elements/getBorderRadius-82fbaf25.js.map +0 -1
  741. package/dist/zonos-elements/getHasMoreSpaceOnRight-5a9efd60.system.js.map +0 -1
  742. package/dist/zonos-elements/getHasMoreSpaceOnRight-feba1ae2.js +0 -10
  743. package/dist/zonos-elements/getHasMoreSpaceOnRight-feba1ae2.js.map +0 -1
  744. package/dist/zonos-elements/index-87193773.system.js.map +0 -1
  745. package/dist/zonos-elements/index-d1aa9293.js +0 -1884
  746. package/dist/zonos-elements/index-d1aa9293.js.map +0 -1
  747. package/dist/zonos-elements/index.esm.js.map +0 -1
  748. package/dist/zonos-elements/index.system.js +0 -2
  749. package/dist/zonos-elements/index.system.js.map +0 -1
  750. package/dist/zonos-elements/isColorVariable-4cda28c9.js +0 -16
  751. package/dist/zonos-elements/isColorVariable-4cda28c9.js.map +0 -1
  752. package/dist/zonos-elements/isColorVariable-be454101.system.js.map +0 -1
  753. package/dist/zonos-elements/isDarkColor-b21326ae.js +0 -1197
  754. package/dist/zonos-elements/isDarkColor-b21326ae.js.map +0 -1
  755. package/dist/zonos-elements/isDarkColor-dc2b7c8f.system.js +0 -2
  756. package/dist/zonos-elements/isDarkColor-dc2b7c8f.system.js.map +0 -1
  757. package/dist/zonos-elements/localization-3c43290f.system.js +0 -2
  758. package/dist/zonos-elements/localization-3c43290f.system.js.map +0 -1
  759. package/dist/zonos-elements/localization-4a424f49.js.map +0 -1
  760. package/dist/zonos-elements/submitGtag-23ecdc20.system.js +0 -2
  761. package/dist/zonos-elements/submitGtag-23ecdc20.system.js.map +0 -1
  762. package/dist/zonos-elements/submitGtag-fbdb454b.js.map +0 -1
  763. package/dist/zonos-elements/zonos-address_2.entry.js +0 -121
  764. package/dist/zonos-elements/zonos-address_2.entry.js.map +0 -1
  765. package/dist/zonos-elements/zonos-address_2.system.entry.js +0 -2
  766. package/dist/zonos-elements/zonos-address_2.system.entry.js.map +0 -1
  767. package/dist/zonos-elements/zonos-badge.entry.js +0 -32
  768. package/dist/zonos-elements/zonos-badge.entry.js.map +0 -1
  769. package/dist/zonos-elements/zonos-badge.system.entry.js +0 -2
  770. package/dist/zonos-elements/zonos-badge.system.entry.js.map +0 -1
  771. package/dist/zonos-elements/zonos-banner_2.entry.js +0 -115
  772. package/dist/zonos-elements/zonos-banner_2.entry.js.map +0 -1
  773. package/dist/zonos-elements/zonos-banner_2.system.entry.js +0 -2
  774. package/dist/zonos-elements/zonos-banner_2.system.entry.js.map +0 -1
  775. package/dist/zonos-elements/zonos-button_2.entry.js +0 -124
  776. package/dist/zonos-elements/zonos-button_2.entry.js.map +0 -1
  777. package/dist/zonos-elements/zonos-button_2.system.entry.js +0 -2
  778. package/dist/zonos-elements/zonos-button_2.system.entry.js.map +0 -1
  779. package/dist/zonos-elements/zonos-card_2.entry.js +0 -42
  780. package/dist/zonos-elements/zonos-card_2.entry.js.map +0 -1
  781. package/dist/zonos-elements/zonos-card_2.system.entry.js +0 -2
  782. package/dist/zonos-elements/zonos-card_2.system.entry.js.map +0 -1
  783. package/dist/zonos-elements/zonos-cart-items_10.entry.js +0 -494
  784. package/dist/zonos-elements/zonos-cart-items_10.entry.js.map +0 -1
  785. package/dist/zonos-elements/zonos-cart-items_10.system.entry.js +0 -2
  786. package/dist/zonos-elements/zonos-cart-items_10.system.entry.js.map +0 -1
  787. package/dist/zonos-elements/zonos-checkout.entry.js +0 -337
  788. package/dist/zonos-elements/zonos-checkout.entry.js.map +0 -1
  789. package/dist/zonos-elements/zonos-checkout.system.entry.js +0 -2
  790. package/dist/zonos-elements/zonos-checkout.system.entry.js.map +0 -1
  791. package/dist/zonos-elements/zonos-component.entry.js +0 -27
  792. package/dist/zonos-elements/zonos-component.entry.js.map +0 -1
  793. package/dist/zonos-elements/zonos-component.system.entry.js +0 -2
  794. package/dist/zonos-elements/zonos-component.system.entry.js.map +0 -1
  795. package/dist/zonos-elements/zonos-controller.entry.js +0 -165
  796. package/dist/zonos-elements/zonos-controller.entry.js.map +0 -1
  797. package/dist/zonos-elements/zonos-controller.system.entry.js +0 -2
  798. package/dist/zonos-elements/zonos-controller.system.entry.js.map +0 -1
  799. package/dist/zonos-elements/zonos-country-flag_4.entry.js +0 -1895
  800. package/dist/zonos-elements/zonos-country-flag_4.entry.js.map +0 -1
  801. package/dist/zonos-elements/zonos-country-flag_4.system.entry.js +0 -2
  802. package/dist/zonos-elements/zonos-country-flag_4.system.entry.js.map +0 -1
  803. package/dist/zonos-elements/zonos-elements.esm.js.map +0 -1
  804. package/dist/zonos-elements/zonos-elements.system.js +0 -2
  805. package/dist/zonos-elements/zonos-elements.system.js.map +0 -1
  806. package/dist/zonos-elements/zonos-hello-dialog.entry.js +0 -111
  807. package/dist/zonos-elements/zonos-hello-dialog.entry.js.map +0 -1
  808. package/dist/zonos-elements/zonos-hello-dialog.system.entry.js +0 -2
  809. package/dist/zonos-elements/zonos-hello-dialog.system.entry.js.map +0 -1
  810. package/dist/zonos-elements/zonos-hello.entry.js +0 -481
  811. package/dist/zonos-elements/zonos-hello.entry.js.map +0 -1
  812. package/dist/zonos-elements/zonos-hello.system.entry.js +0 -2
  813. package/dist/zonos-elements/zonos-hello.system.entry.js.map +0 -1
  814. package/dist/zonos-elements/zonos-icon.entry.js +0 -30
  815. package/dist/zonos-elements/zonos-icon.entry.js.map +0 -1
  816. package/dist/zonos-elements/zonos-icon.system.entry.js +0 -2
  817. package/dist/zonos-elements/zonos-icon.system.entry.js.map +0 -1
  818. package/dist/zonos-elements/zonos-notification.entry.js +0 -67
  819. package/dist/zonos-elements/zonos-notification.entry.js.map +0 -1
  820. package/dist/zonos-elements/zonos-notification.system.entry.js +0 -2
  821. package/dist/zonos-elements/zonos-notification.system.entry.js.map +0 -1
  822. package/dist/zonos-elements/zonos-shipping-rich-radio.entry.js +0 -50
  823. package/dist/zonos-elements/zonos-shipping-rich-radio.entry.js.map +0 -1
  824. package/dist/zonos-elements/zonos-shipping-rich-radio.system.entry.js +0 -2
  825. package/dist/zonos-elements/zonos-shipping-rich-radio.system.entry.js.map +0 -1
  826. package/dist/zonos-elements/zonos-text.entry.js +0 -156
  827. package/dist/zonos-elements/zonos-text.entry.js.map +0 -1
  828. package/dist/zonos-elements/zonos-text.system.entry.js +0 -2
  829. package/dist/zonos-elements/zonos-text.system.entry.js.map +0 -1
  830. package/dist/zonos-elements/zonosStore-13a7b534.js.map +0 -1
  831. package/dist/zonos-elements/zonosStore-77bcd7c0.system.js +0 -2
  832. package/dist/zonos-elements/zonosStore-77bcd7c0.system.js.map +0 -1
@@ -1,120 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-9542d2e7.js');
6
- const classes = require('./classes-b7918f56.js');
7
- const cart = require('./cart-108bc407.js');
8
- require('./zonosStore-960e5542.js');
9
- require('./localization-f6a1b679.js');
10
- require('./isDarkColor-a86b8a05.js');
11
- require('./getBorderRadius-2904800c.js');
12
-
13
- const zonosBannerCss = ":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{border-radius:var(--amino-radius-10);padding:var(--amino-space-16);background:var(--amino-gray-100)}:host .zonos--container{display:grid;-ms-flex-align:center;align-items:center;grid-template-areas:\"icon header\" \". content\";grid-template-columns:32px auto 0}:host .zonos--icon-wrapper{grid-area:icon;display:-ms-flexbox;display:flex;justify-self:start}:host .zonos--header-wrapper{grid-area:header}:host .zonos--content-wrapper{grid-area:content;margin-top:8px}:host(.info){background-color:var(--amino-blue-100)}:host(.success){background-color:var(--amino-green-100)}:host(.error){background-color:var(--amino-red-100)}:host(.warning){background-color:var(--amino-orange-100)}";
14
-
15
- const ZonosBanner = class {
16
- constructor(hostRef) {
17
- index.registerInstance(this, hostRef);
18
- /**
19
- * Detect if the button has an content
20
- */
21
- this.handleSlotChange = () => {
22
- this.hasContent = true;
23
- };
24
- this.bannerTitle = undefined;
25
- this.intent = undefined;
26
- this.class = '';
27
- this.hasContent = false;
28
- }
29
- render() {
30
- const renderContent = ({ color }) => {
31
- const primaryColor = `var(--amino-${color}-800)`;
32
- const secondaryColor = `var(--amino-${color}-300)`;
33
- const [header, content] = [
34
- this.bannerTitle,
35
- index.h("slot", { onSlotchange: this.handleSlotChange }),
36
- ].filter(Boolean);
37
- const textColor = color === 'gray' ? 'gray-1200' : `${color}-800`;
38
- return (index.h("div", { class: classes.classes(['zonos--container']) }, index.h("div", { class: "zonos--icon-wrapper" }, index.h("svg", { color: primaryColor, fill: "none", height: "20", viewBox: "0 0 24 24", width: "20", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { "clip-rule": "evenodd", d: "M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Z", "data-is-secondary-color": "true", fill: secondaryColor, "fill-rule": "evenodd" }), index.h("path", { "clip-rule": "evenodd", d: "M12 6.99a1 1 0 0 1 1 1V8a1 1 0 1 1-2 0v-.01a1 1 0 0 1 1-1ZM12 11a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0v-4a1 1 0 0 1 1-1Z", fill: "currentColor", "fill-rule": "evenodd" }))), index.h("div", { class: "zonos--header-wrapper" }, index.h("zonos-text", { color: textColor, type: "label", weight: 600 }, header)), content && (index.h("div", { class: "zonos--content-wrapper" }, index.h("zonos-text", { color: textColor }, content)))));
39
- };
40
- const baseClass = classes.classes([
41
- 'zonos--elements zonos--banner',
42
- this.class,
43
- this.intent,
44
- ]);
45
- switch (this.intent) {
46
- case 'error':
47
- return (index.h(index.Host, { class: baseClass }, renderContent({
48
- color: 'red',
49
- })));
50
- case 'info':
51
- return (index.h(index.Host, { class: baseClass }, renderContent({
52
- color: 'blue',
53
- })));
54
- case 'success':
55
- return (index.h(index.Host, { class: baseClass }, renderContent({
56
- color: 'green',
57
- })));
58
- case 'warning':
59
- return (index.h(index.Host, { class: baseClass }, renderContent({
60
- color: 'orange',
61
- })));
62
- default:
63
- return (index.h(index.Host, { class: baseClass }, renderContent({
64
- color: 'gray',
65
- })));
66
- }
67
- }
68
- };
69
- ZonosBanner.style = zonosBannerCss;
70
-
71
- const zonosPaymentCss = ".sc-zonos-payment-h{font-family:Inter;display:block}.sc-zonos-payment-h img.sc-zonos-payment{max-width:100%}.sc-zonos-payment-h dl.sc-zonos-payment,.sc-zonos-payment-h dd.sc-zonos-payment,.sc-zonos-payment-h h1.sc-zonos-payment,.sc-zonos-payment-h h2.sc-zonos-payment,.sc-zonos-payment-h h3.sc-zonos-payment,.sc-zonos-payment-h h4.sc-zonos-payment,.sc-zonos-payment-h h5.sc-zonos-payment,.sc-zonos-payment-h h6.sc-zonos-payment,.sc-zonos-payment-h hr.sc-zonos-payment,.sc-zonos-payment-h figure.sc-zonos-payment,.sc-zonos-payment-h p.sc-zonos-payment,.sc-zonos-payment-h pre.sc-zonos-payment{margin:0}.sc-zonos-payment-h{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.sc-zonos-payment-h .zonos--title.sc-zonos-payment{margin-bottom:var(--amino-space-16)}";
72
-
73
- const ZonosPayment = class {
74
- constructor(hostRef) {
75
- index.registerInstance(this, hostRef);
76
- this.titleText = undefined;
77
- this.stripe = cart.stripeStore.stripe;
78
- this.stripeElements = cart.stripeStore.stripeElements;
79
- }
80
- watchInitStripe() {
81
- if (!this.stripeElements) {
82
- return;
83
- }
84
- // Create and mount the Authentication Element in ${type} mode
85
- const paymentElement = cart.stripeStore.stripePaymentElement ||
86
- this.stripeElements.create('payment', {
87
- layout: 'tabs',
88
- });
89
- const paymentElementContainer = this.el.querySelector('.zonos--payment-component');
90
- if (!paymentElementContainer) {
91
- // eslint-disable-next-line no-console
92
- console.error('Cannot find container element for paymentElement');
93
- return;
94
- }
95
- paymentElement.mount(paymentElementContainer);
96
- paymentElement.on('change', event => {
97
- cart.stripeStore.stripePaymentEventData = event;
98
- });
99
- cart.stripeStore.stripePaymentElement = paymentElement;
100
- }
101
- componentDidLoad() {
102
- // @Watch doesn't get trigger on initial load
103
- this.watchInitStripe();
104
- }
105
- render() {
106
- // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here
107
- return (index.h(index.Host, { class: "zonos--payment zonos--elements" }, this.titleText && (index.h("zonos-text", { class: "zonos--title", type: "semiBoldLabel" }, this.titleText)), index.h("div", { class: "zonos--payment-component" })));
108
- }
109
- get el() { return index.getElement(this); }
110
- static get watchers() { return {
111
- "stripeElements": ["watchInitStripe"],
112
- "stripe": ["watchInitStripe"]
113
- }; }
114
- };
115
- ZonosPayment.style = zonosPaymentCss;
116
-
117
- exports.zonos_banner = ZonosBanner;
118
- exports.zonos_payment = ZonosPayment;
119
-
120
- //# sourceMappingURL=zonos-banner_2.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"zonos-banner.zonos-payment.entry.cjs.js","mappings":"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","names":["h","classes","Host","stripeStore"],"sources":["src/components/common/zonos-banner/zonos-banner.scss?tag=zonos-banner&encapsulation=shadow","src/components/common/zonos-banner/zonos-banner.tsx","src/components/stripe/zonos-payment/zonos-payment.scss?tag=zonos-payment&encapsulation=scoped","src/components/stripe/zonos-payment/zonos-payment.tsx"],"sourcesContent":[":host {\n border-radius: $amino-radius-10;\n padding: $amino-space-16;\n background: $amino-gray-100;\n .zonos--container {\n display: grid;\n align-items: center;\n grid-template-areas:\n 'icon header'\n '. content';\n grid-template-columns: 32px auto 0;\n }\n\n .zonos--icon-wrapper {\n grid-area: icon;\n display: flex;\n justify-self: start;\n }\n .zonos--header-wrapper {\n grid-area: header;\n }\n .zonos--content-wrapper {\n grid-area: content;\n margin-top: 8px;\n }\n}\n\n:host(.info) {\n background-color: $amino-blue-100;\n}\n\n:host(.success) {\n background-color: $amino-green-100;\n}\n\n:host(.error) {\n background-color: $amino-red-100;\n}\n\n:host(.warning) {\n background-color: $amino-orange-100;\n}\n","import { Component, h, Host, Prop, State } from '@stencil/core';\n\nimport { classes } from 'src/components/utils/classes';\nimport type { Color, ColorPrefix } from 'src/types/styles/Color';\n\nexport type BannerIntent = 'default' | 'error' | 'success' | 'warning' | 'info';\n\n@Component({\n shadow: true,\n styleUrl: 'zonos-banner.scss',\n tag: 'zonos-banner',\n})\nexport class ZonosBanner {\n /**\n * Whether or not the banner is bold\n */\n @Prop() bannerTitle?: string;\n\n /**\n * Intent of the banner (success, warning, error)\n */\n @Prop() intent?: BannerIntent;\n\n /**\n * css class for the component\n */\n @Prop() class: string = '';\n /**\n * Whether or not the button has content\n */\n @State() hasContent: boolean = false;\n\n /**\n * Detect if the button has an content\n */\n private handleSlotChange = () => {\n this.hasContent = true;\n };\n\n render() {\n const renderContent = ({ color }: { color: ColorPrefix }) => {\n const primaryColor = `var(--amino-${color}-800)`;\n const secondaryColor = `var(--amino-${color}-300)`;\n\n const [header, content] = [\n this.bannerTitle,\n <slot onSlotchange={this.handleSlotChange} />,\n ].filter(Boolean);\n\n const textColor: Color = color === 'gray' ? 'gray-1200' : `${color}-800`;\n return (\n <div class={classes(['zonos--container'])}>\n <div class=\"zonos--icon-wrapper\">\n {/* Info svg icon (couldn't use zonos-icon because \n this component only use one icon, and only\n need to update the color).\n Use svg directly better in this case */}\n <svg\n color={primaryColor}\n fill=\"none\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clip-rule=\"evenodd\"\n d=\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Z\"\n data-is-secondary-color=\"true\"\n fill={secondaryColor}\n fill-rule=\"evenodd\"\n ></path>\n <path\n clip-rule=\"evenodd\"\n d=\"M12 6.99a1 1 0 0 1 1 1V8a1 1 0 1 1-2 0v-.01a1 1 0 0 1 1-1ZM12 11a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0v-4a1 1 0 0 1 1-1Z\"\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n ></path>\n </svg>\n </div>\n <div class=\"zonos--header-wrapper\">\n <zonos-text color={textColor} type=\"label\" weight={600}>\n {header}\n </zonos-text>\n </div>\n {content && (\n <div class=\"zonos--content-wrapper\">\n <zonos-text color={textColor}>{content}</zonos-text>\n </div>\n )}\n </div>\n );\n };\n\n const baseClass = classes([\n 'zonos--elements zonos--banner',\n this.class,\n this.intent,\n ]);\n switch (this.intent) {\n case 'error':\n return (\n <Host class={baseClass}>\n {renderContent({\n color: 'red',\n })}\n </Host>\n );\n\n case 'info':\n return (\n <Host class={baseClass}>\n {renderContent({\n color: 'blue',\n })}\n </Host>\n );\n\n case 'success':\n return (\n <Host class={baseClass}>\n {renderContent({\n color: 'green',\n })}\n </Host>\n );\n\n case 'warning':\n return (\n <Host class={baseClass}>\n {renderContent({\n color: 'orange',\n })}\n </Host>\n );\n default:\n return (\n <Host class={baseClass}>\n {renderContent({\n color: 'gray',\n })}\n </Host>\n );\n }\n }\n}\n",":host {\n .zonos--title {\n margin-bottom: $amino-space-16;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport type { Stripe, StripeElements } from '@stripe/stripe-js';\n\nimport { stripeStore } from 'src/components/store/checkout/stripe';\n\n@Component({\n /**\n * Use `scope` here just because this component is using stripe elements and stripe\n * need to be able to inject iframe into this component\n * **NOTE**: Prefer `shadow` when creating new component\n * */\n scoped: true,\n styleUrl: 'zonos-payment.scss',\n tag: 'zonos-payment',\n})\n/**\n * This component is a wrapper for the stripe authentication element that would render default style object\n */\nexport class ZonosPayment {\n /**\n * The title text for the authentication element\n */\n @Prop() titleText?: string;\n\n @State() stripe: Stripe | null = stripeStore.stripe;\n\n @State() stripeElements: StripeElements | null = stripeStore.stripeElements;\n\n @Element() el!: HTMLZonosPaymentElement;\n\n @Watch('stripeElements')\n @Watch('stripe')\n watchInitStripe() {\n if (!this.stripeElements) {\n return;\n }\n\n // Create and mount the Authentication Element in ${type} mode\n const paymentElement =\n stripeStore.stripePaymentElement ||\n this.stripeElements.create('payment', {\n layout: 'tabs',\n });\n\n const paymentElementContainer = this.el.querySelector<HTMLElement>(\n '.zonos--payment-component',\n );\n\n if (!paymentElementContainer) {\n // eslint-disable-next-line no-console\n console.error('Cannot find container element for paymentElement');\n return;\n }\n\n paymentElement.mount(paymentElementContainer);\n paymentElement.on('change', event => {\n stripeStore.stripePaymentEventData = event;\n });\n\n stripeStore.stripePaymentElement = paymentElement;\n }\n\n componentDidLoad() {\n // @Watch doesn't get trigger on initial load\n this.watchInitStripe();\n }\n\n render() {\n // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here\n return (\n <Host class=\"zonos--payment zonos--elements\">\n {this.titleText && (\n <zonos-text class=\"zonos--title\" type=\"semiBoldLabel\">\n {this.titleText}\n </zonos-text>\n )}\n <div class=\"zonos--payment-component\"></div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"zonos-button.zonos-spinner.entry.cjs.js","mappings":"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","names":["zonosStore","isColorVariable","isDarkColor","getBorderRadius","h","Host","classes"],"sources":["src/components/utils/getButtonTheme.ts","src/components/common/zonos-button/zonos-button.scss?tag=zonos-button&encapsulation=shadow","src/components/common/zonos-button/zonos-button.tsx","src/components/common/zonos-spinner/zonos-spinner.scss?tag=zonos-spinner&encapsulation=shadow","src/components/common/zonos-spinner/zonos-spinner.tsx"],"sourcesContent":["import { zonosStore } from 'src/components/store/zonosStore';\nimport { isColorVariable } from 'src/components/utils/isColorVariable';\nimport { isDarkColor } from 'src/components/utils/isDarkColor';\nimport type { ElementsUiTheme } from 'src/types/generated/graphql.customer.types';\n\n/**\n * Get theme for button text based on background color\n */\nexport const getButtonTheme = (overrideBackground?: string) => {\n // use override background if it exists, otherwise use color from setting\n const background = overrideBackground || zonosStore.appearance.colorSecondary;\n\n const backgroundColor =\n background && isColorVariable(background)\n ? `var(--amino-${background})`\n : background;\n\n // determine theme based on background color (to change button text color if needed)\n const buttonTheme: ElementsUiTheme =\n backgroundColor && isDarkColor(backgroundColor) ? 'DARK' : 'LIGHT';\n\n return buttonTheme;\n};\n","$color: var(--color, $amino-gray-1200);\n\n$border-radius: var(--border-radius, $amino-radius-10);\n\n@function get-text-color($defaultColor) {\n @return var(--color, $defaultColor);\n}\n@function get-background-color($defaultColor) {\n @return var(--background-color, $defaultColor);\n}\n\n:host {\n display: inline-flex;\n\n .zonos--spinner-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n background-color: $amino-surface-color;\n justify-content: center;\n border-radius: $amino-radius-10;\n gap: $amino-space-8;\n }\n\n button {\n display: inline-flex;\n width: 100%;\n position: relative;\n outline: none;\n font-size: 14px;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0 $amino-space-16;\n background-color: $amino-surface-color;\n border: none;\n outline: 1px solid $amino-surface-color;\n border-radius: $border-radius;\n transition: $amino-transition;\n font-weight: 500;\n user-select: none;\n font-family: $amino-font-sans;\n letter-spacing: normal;\n cursor: pointer;\n white-space: nowrap;\n padding: $amino-space-8 $amino-space-24;\n color: $color;\n\n &.sm,\n &.md,\n &.lg {\n &.no-background {\n background: none;\n outline: none;\n }\n &.no-padding-left {\n padding-left: 0;\n }\n &.no-padding-right {\n padding-right: 0;\n }\n }\n\n &[disabled] {\n cursor: not-allowed;\n background-color: $amino-gray-200;\n .zonos--spinner-wrapper {\n background-color: $amino-gray-200;\n }\n }\n\n &:active {\n transform: scale(0.99);\n }\n\n /** Button size */\n &.sm {\n height: $amino-size-sm;\n line-height: $amino-size-sm;\n padding: $amino-space-4 $amino-space-8;\n // only icon and no content\n &:not(.has-content).has-icon {\n padding: 0 $amino-space-4;\n }\n }\n &.md {\n height: $amino-size-md;\n line-height: $amino-size-md;\n padding: $amino-space-8 $amino-space-16;\n // only icon and no content\n &:not(.has-content).has-icon {\n padding: 0 $amino-space-8;\n }\n }\n &.lg {\n height: $amino-size-lg;\n line-height: $amino-size-lg;\n padding: $amino-space-12 $amino-space-24;\n // only icon and no content\n &:not(.has-content).has-icon {\n padding: 0 $amino-space-16;\n }\n }\n\n &:not(.only-icon).has-icon {\n gap: $amino-space-8;\n }\n\n // styling button with override background color setting\n &.override-background {\n background-color: get-background-color($amino-gray-0);\n color: get-text-color($amino-gray-1200);\n outline: 1px solid get-background-color($amino-gray-0);\n &:disabled {\n opacity: 0.8;\n }\n &:not(:disabled):hover {\n opacity: 0.9;\n }\n }\n\n &:not(.override-background) {\n /** Button variant */\n &.primary {\n background: $amino-blue-600;\n outline: 1px solid $amino-blue-600;\n color: $amino-gray-0;\n\n &:not([disabled]) {\n &:hover {\n background-image: $amino-button-primary-hover;\n }\n &:active {\n background: $amino-blue-700;\n }\n &:focus {\n box-shadow: $amino-focus-button;\n }\n }\n\n &[disabled] {\n background: $amino-blue-400;\n .zonos--spinner-wrapper {\n background-color: $amino-blue-400;\n }\n }\n\n .zonos--spinner-wrapper {\n background-color: $amino-blue-600;\n }\n }\n &.success {\n background: $amino-green-600;\n outline: 1px solid $amino-green-600;\n color: $amino-gray-0;\n\n &:not([disabled]) {\n &:hover {\n background-image: $amino-button-success-hover;\n }\n &:active {\n background: $amino-green-700;\n }\n &:focus {\n box-shadow: $amino-focus-button;\n }\n }\n\n &[disabled] {\n background: $amino-green-400;\n .zonos--spinner-wrapper {\n background-color: $amino-green-400;\n }\n }\n }\n &.danger {\n background: $amino-red-600;\n outline: 1px solid $amino-red-600;\n color: $amino-gray-0;\n\n &:not([disabled]) {\n &:hover {\n background-image: $amino-button-danger-hover;\n }\n &:active {\n background: $amino-red-700;\n }\n &:focus {\n box-shadow: $amino-focus-button;\n }\n }\n\n &[disabled] {\n background: $amino-red-400;\n .zonos--spinner-wrapper {\n background-color: $amino-red-400;\n }\n }\n }\n &.warning {\n background: $amino-orange-600;\n outline: 1px solid $amino-orange-600;\n color: $amino-gray-0;\n\n &:not([disabled]) {\n &:hover {\n background-image: $amino-button-warning-hover;\n }\n &:active {\n background: $amino-orange-700;\n }\n &:focus {\n box-shadow: $amino-focus-button;\n }\n }\n\n &[disabled] {\n background: $amino-orange-400;\n .zonos--spinner-wrapper {\n background-color: $amino-orange-400;\n }\n }\n }\n &.subtle {\n background: transparent;\n color: var(--color);\n\n &:not([disabled]) {\n &:hover {\n background: $amino-gray-100;\n }\n &:active {\n background: $amino-gray-200;\n }\n }\n\n &:focus {\n box-shadow: $amino-button-focus-ring;\n }\n\n &[disabled] {\n .content {\n opacity: 0.6;\n }\n .zonos--spinner-wrapper {\n background-color: $amino-gray-0;\n }\n }\n }\n &.outline {\n background: transparent;\n outline: 1px solid $amino-gray-700;\n\n &:not([disabled]) {\n &:hover {\n background-color: $amino-gray-100;\n }\n &:active {\n background: $amino-gray-200;\n }\n }\n }\n }\n }\n}\n","import { Component, h, Host, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport { zonosStore } from 'src/components/store/zonosStore';\nimport { classes } from 'src/components/utils/classes';\nimport { getBorderRadius } from 'src/components/utils/getBorderRadius';\nimport { getButtonTheme } from 'src/components/utils/getButtonTheme';\nimport { isColorVariable } from 'src/components/utils/isColorVariable';\nimport type {\n ElementsUiStyle,\n ElementsUiTheme,\n} from 'src/types/generated/graphql.customer.types';\nimport type { Color } from 'src/types/styles/Color';\n\n@Component({\n shadow: true,\n styleUrl: 'zonos-button.scss',\n tag: 'zonos-button',\n})\nexport class ZonosButton {\n /**\n * css class for the component\n */\n @Prop() class: string = '';\n\n /**\n * The color of the button text and svg\n */\n @Prop() color?: Color | (string & { _placeholder?: never });\n\n /**\n * The color of the button text and svg\n * **NOTE**: If the button `variant` is set to 'standard', backgroundColor will be disregarded\n */\n @Prop() backgroundColor?: Color | (string & { _placeholder?: never });\n\n /**\n * The border style of the button\n * @default ROUNDED\n */\n @Prop() borderStyle?: ElementsUiStyle;\n\n /**\n * Whether or not the button is disabled\n * @note Prop should not conflict name with native html attribute if the prop is also affected by another prop.\n * The issue is the component has internal disabled @prop(). @prop decorator is to watch the update of the attribute of the component in the dom.\n * And `disabled` prop is not an only factor to determine the component is disabled. isLoading @prop() also affect that.\n * <Host> is also referred to a component itself, if disabled prop is true, the `zonos-button` will have disabled attribute.\n * So let's say when the loading state is true, and the component consume the zonos-button doesn't pass the disabled prop down.\n * It accidentally turns the disabled prop on even thought the disabled state is not changed from the outside.\n */\n @Prop() isDisabled: boolean = false;\n\n /**\n * The icon element to display\n * @default null\n */\n @Prop() icon: HTMLZonosIconElement | null = null;\n\n /**\n * Whether or not the icon is on the right\n * @default false\n */\n @Prop() iconRight?: boolean = false;\n\n /**\n * The size of the button\n * @default 'sm'\n */\n @Prop() size: 'sm' | 'md' | 'lg' = 'sm';\n\n /**\n * The variance of the button\n * **NOTE**: If the button `variant` is set to 'standard', backgroundColor will be disregarded\n */\n @Prop() variant:\n | 'primary'\n | 'success'\n | 'subtle'\n | 'outline'\n | 'standard'\n | 'danger'\n | 'warning' = 'standard';\n\n /**\n * Whether or not the button has a background\n * @default false\n */\n @Prop() noBackground: boolean = false;\n\n /**\n * Whether or not the button has a left padding\n */\n @Prop() noPaddingLeft: boolean = false;\n\n /**\n * Whether or not the button has a right padding\n */\n @Prop() noPaddingRight: boolean = false;\n\n /**\n * Whether or not the button is loading\n */\n @Prop() loading: boolean = false;\n\n /**\n * The theme of the button\n */\n @Prop() theme?: ElementsUiTheme;\n\n /**\n * Whether or not the button has an icon\n */\n @State() hasIcon: boolean = !!this.icon;\n /**\n * Detect if the icon changes and update the state accordingly\n */\n @Watch('icon')\n iconChangeHandler() {\n this.hasIcon = !!this.icon;\n }\n\n /**\n * Whether or not the button has content\n */\n @State() hasContent: boolean = false;\n\n @Listen('click', {\n capture: true,\n })\n clickHandler(event: MouseEvent) {\n if (this.loading || this.isDisabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /**\n * Detect if the button has an content\n */\n private handleSlotChange = () => {\n this.hasContent = true;\n };\n\n componentWillLoad() {\n this.iconChangeHandler();\n }\n\n render() {\n const disabled = this.loading || this.isDisabled;\n\n const color =\n this.color && isColorVariable(this.color)\n ? `var(--amino-${this.color})`\n : this.color;\n\n // use override background if it exists, otherwise use color from setting\n const overrideBackground =\n this.backgroundColor || zonosStore.appearance.colorSecondary;\n // only set theme for button to change text color if variant is standard and override background is set\n const buttonTheme =\n this.variant === 'standard'\n ? getButtonTheme(overrideBackground)\n : undefined;\n\n const borderStyle = getBorderRadius(this.borderStyle);\n return (\n <Host\n class={classes(['zonos--elements', this.class])}\n data-theme={this.theme || buttonTheme}\n disabled={disabled}\n style={{\n '--background-color': overrideBackground,\n '--border-radius': borderStyle,\n '--color': color,\n }}\n >\n <button\n class={classes([\n this.hasIcon && 'has-icon',\n this.hasContent && 'has-content',\n this.noBackground && 'no-background',\n this.noPaddingLeft && 'no-padding-left',\n this.noPaddingRight && 'no-padding-right',\n this.iconRight && 'icon-right',\n this.variant,\n this.size,\n // only override background if variant is set to standard\n this.backgroundColor &&\n this.variant === 'standard' &&\n 'override-background',\n ])}\n disabled={disabled}\n >\n {this.loading && (\n <div class=\"zonos--spinner-wrapper\">\n <zonos-spinner size={16}></zonos-spinner>\n </div>\n )}\n {/* show content if not loading */}\n {!this.loading && !this.iconRight && this.icon}\n <slot onSlotchange={this.handleSlotChange} />\n {!this.loading && this.iconRight && this.icon}\n </button>\n </Host>\n );\n }\n}\n","$size: var(--size);\n\n:host {\n position: relative;\n overflow: hidden;\n width: $size;\n height: $size;\n display: inline-flex;\n svg {\n width: $size;\n height: $size;\n stroke: $amino-blue-600;\n animation: rotate 2s linear infinite;\n }\n\n circle.track {\n stroke: $amino-gray-200;\n }\n\n &.black {\n stroke: $amino-spinner-stroke-black;\n\n circle.track {\n stroke: $amino-spinner-track-black;\n }\n }\n &.white {\n stroke: $amino-spinner-stroke-white;\n\n circle.track {\n stroke: $amino-spinner-track-white;\n }\n }\n &.info {\n stroke: $amino-blue-600;\n circle.track {\n stroke: $amino-blue-100;\n }\n }\n &.success {\n stroke: $amino-green-600;\n circle.track {\n stroke: $amino-green-100;\n }\n }\n &.danger {\n stroke: $amino-red-600;\n circle.track {\n stroke: $amino-red-100;\n }\n }\n &.warning {\n stroke: $amino-orange-600;\n circle.track {\n stroke: $amino-orange-100;\n }\n }\n\n @keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n\n @keyframes dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n }\n\n circle:not(.track) {\n stroke-linecap: round;\n animation: dash 1.5s ease-in-out infinite;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\nimport { classes } from 'src/components/utils/classes';\n\nexport type SpinnerColor =\n | 'primary'\n | 'info'\n | 'success'\n | 'danger'\n | 'warning'\n | 'black'\n | 'white';\n\n@Component({\n shadow: true,\n styleUrl: 'zonos-spinner.scss',\n tag: 'zonos-spinner',\n})\nexport class ZonosSpinner {\n /**\n * The size of the spinner\n * @default 32\n */\n @Prop() size: number = 32;\n\n /**\n * Color of the spinner\n */\n @Prop() color?: SpinnerColor;\n\n @Element() el!: HTMLZonosSpinnerElement;\n\n render() {\n if (!this.el.shadowRoot) {\n return null;\n }\n\n return (\n <Host\n class={classes(['zonos--elements', this.color])}\n style={{\n '--size': `${this.size}px`,\n }}\n >\n <svg viewBox=\"0 0 50 50\">\n <circle\n class=\"track\"\n cx=\"25\"\n cy=\"25\"\n fill=\"none\"\n id=\"loading-spinner-circle\"\n r=\"20\"\n stroke-width=\"5\"\n />\n <circle\n cx=\"25\"\n cy=\"25\"\n fill=\"none\"\n id=\"loading-spinner-circle\"\n r=\"20\"\n stroke-width=\"5\"\n />\n </svg>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"zonos-card.zonos-v-stack.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,YAAY,GAAG,mgDAAmgD;;MCU3gD,SAAS;;;;;;;;;mBAkCO,MAAM;;EAEjC,MAAM;IACJ,QACEA,QAACC,UAAI,QACHD,iBACE,KAAK,EAAEE,eAAO,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAE/B,IAAI,CAAC,KAAK,KACTF,oBAAQ,KAAK,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAC1DA,4BAAgB,IAAI,EAAC,WAAW,IAAE,IAAI,CAAC,KAAK,CAAkB,EAE9DA,qBAAS,OAAO,EAAE,CAAC,IAAG,IAAI,CAAC,OAAO,CAAW,CACtC,CACV,EAGDA,qBAAa,EAEZ,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,MACxCA,oBACE,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE;QACL,MAAM,EAAE,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,MAAM;QAC7D,OAAO,EAAE,IAAI,CAAC,OAAO;OACtB,IAEDA,qBAAM,IAAI,CAAC,aAAa,CAAO,EAC/BA,qBAAS,OAAO,EAAE,CAAC,IAAG,IAAI,CAAC,aAAa,CAAW,CAC5C,CACV,CACG,CACD,EACP;GACH;;;;AC/EH,MAAM,cAAc,GAAG,sXAAsX;;MCWhY,MAAM;;;mBAKc,EAAE;iBAKT,EAAE;;EAE1B,MAAM;IACJ,QACEA,QAACC,UAAI,QACHD,iBACE,KAAK,EAAEE,eAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EACtC,KAAK,EAAE,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,IAE9CF,qBAAa,CACT,CACD,EACP;GACH;;;;;;;","names":["h","Host","classes"],"sources":["src/components/common/zonos-card/zonos-card.scss?tag=zonos-card&encapsulation=shadow","src/components/common/zonos-card/zonos-card.tsx","src/components/common/zonos-v-stack/zonos-v-stack.scss?tag=zonos-v-stack&encapsulation=shadow","src/components/common/zonos-v-stack/zonos-v-stack.tsx"],"sourcesContent":[":host {\n .styled-card {\n border: $amino-border;\n border-radius: $amino-radius-6;\n padding: var(--spacing, $amino-space-24);\n text-align: left;\n\n hr {\n margin-left: calc(var(--spacing, $amino-space-24) * -1);\n margin-right: calc(var(--spacing, $amino-space-24) * -1);\n }\n\n .card-header {\n margin: calc(var(--spacing, $amino-space-24) * -1);\n padding: var(--spacing, $amino-space-24);\n display: flex;\n align-items: center;\n margin-bottom: var(--spacing, $amino-space-24);\n border-bottom: $amino-border;\n height: 65px;\n line-height: 65px;\n user-select: none;\n\n h5 {\n margin-bottom: 0;\n flex: 1;\n }\n }\n\n .card-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: calc(var(--spacing, $amino-space-24) * -1);\n padding: var(--spacing, $amino-space-24);\n border-top: $amino-border;\n background: $amino-surface-color-secondary;\n margin-top: var(--spacing, $amino-space-24);\n border-bottom-left-radius: $amino-radius-8;\n border-bottom-right-radius: $amino-radius-8;\n height: var(--footerHeight);\n }\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\nimport { Host } from '@stencil/core/internal';\n\nimport { classes } from 'src/components/utils/classes';\n\n@Component({\n shadow: true,\n styleUrl: 'zonos-card.scss',\n tag: 'zonos-card',\n})\nexport class ZonosCard {\n /**\n * The actions to display in the header of the card\n */\n @Prop() actions?: HTMLElement;\n\n /**\n * The CSS class to apply to the card element\n */\n @Prop() class?: string;\n\n /**\n * The actions to display in the footer of the card\n */\n @Prop() footerActions?: HTMLElement;\n\n /**\n * The content to display in the footer of the card\n */\n @Prop() footerContent?: HTMLElement;\n\n /**\n * The height of the footer in pixels\n */\n @Prop() footerHeight?: number;\n\n /**\n * The label to display in the header of the card\n */\n @Prop() label?: HTMLElement;\n\n /**\n * The spacing to apply between elements in the card\n */\n @Prop() spacing?: string = '24px';\n\n render() {\n return (\n <Host>\n <div\n class={classes(['styled-card', this.class])}\n style={{ padding: this.spacing }}\n >\n {this.label && (\n <header class=\"card-header\" style={{ padding: this.spacing }}>\n <text-component type=\"subheader\">{this.label}</text-component>\n\n <h-stack spacing={8}>{this.actions}</h-stack>\n </header>\n )}\n\n {/* Slot automatically inherits the children passed in */}\n <slot></slot>\n\n {(this.footerActions || this.footerContent) && (\n <footer\n class=\"card-footer\"\n style={{\n height: this.footerHeight ? `${this.footerHeight}px` : 'auto',\n padding: this.spacing,\n }}\n >\n <div>{this.footerContent}</div>\n <h-stack spacing={8}>{this.footerActions}</h-stack>\n </footer>\n )}\n </div>\n </Host>\n );\n }\n}\n",":host {\n .vstack {\n display: grid;\n grid-auto-columns: minmax(0, 1fr);\n grid-row-gap: var(--spacing, 24px);\n grid-auto-flow: row;\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\nimport { Host } from '@stencil/core/internal';\n\nimport { classes } from 'src/components/utils/classes';\nimport type { GridSpacing } from 'src/types/styles/GridSpacing';\n\n@Component({\n shadow: true,\n styleUrl: 'zonos-v-stack.scss',\n tag: 'zonos-v-stack',\n})\nexport class VStack {\n /**\n * The spacing between elements in the stack\n * @default 24\n */\n @Prop() spacing: GridSpacing = 24;\n\n /**\n * The CSS class to apply to the stack element\n */\n @Prop() class: string = '';\n\n render() {\n return (\n <Host>\n <div\n class={classes(['vstack', this.class])}\n style={{ 'grid-row-gap': `${this.spacing}px` }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"zonos-cart-items.zonos-cart-subtotal.zonos-checkout-finish.zonos-checkout-payment.zonos-collapse.zonos-customer-info.zonos-dialog.zonos-logo.zonos-review.zonos-shipping.entry.cjs.js","mappings":"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","names":["getAssetPath","cartStore","h","Host","translate","stripeStore","stripeStoreRetrievePayment","submitGtag","stripeStoreReset","getBorderRadius","RemoveIcon","classes","isCheckoutMobile","zonosStore","cartStoreUpdateSelectedShippingOption","cartStoreGetShippingTransitInfo"],"sources":["src/components/utils/formatCurrency.ts","src/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.scss?tag=zonos-cart-items&encapsulation=shadow","src/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.tsx","src/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.scss?tag=zonos-cart-subtotal&encapsulation=shadow","src/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.tsx","src/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.scss?tag=zonos-checkout-finish&encapsulation=shadow","src/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.tsx","src/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.scss?tag=zonos-checkout-payment&encapsulation=scoped","src/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.tsx","src/components/common/zonos-collapse/zonos-collapse.scss?tag=zonos-collapse&encapsulation=shadow","src/components/common/zonos-collapse/zonos-collapse.tsx","src/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.scss?tag=zonos-customer-info&encapsulation=scoped","src/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.tsx","src/components/common/zonos-dialog/zonos-dialog.scss?tag=zonos-dialog&encapsulation=shadow","src/components/common/zonos-dialog/zonos-dialog.tsx","src/components/common/zonos-logo/zonos-logo.scss?tag=zonos-logo&encapsulation=shadow","src/components/common/zonos-logo/zonos-logo.tsx","src/components/checkout/zonos-checkout/zonos-review/zonos-review.scss?tag=zonos-review&encapsulation=shadow","src/components/checkout/zonos-checkout/zonos-review/zonos-review.tsx","src/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.scss?tag=zonos-shipping&encapsulation=scoped","src/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.tsx"],"sourcesContent":["export const formatCurrency = ({\n amount,\n currency,\n showCurrencyText,\n}: {\n amount: number;\n currency: string;\n showCurrencyText?: boolean;\n}) =>\n showCurrencyText\n ? `${new Intl.NumberFormat('en-US', {\n currency,\n style: 'currency',\n }).format(amount)} ${currency}`\n : new Intl.NumberFormat('en-US', {\n currency,\n style: 'currency',\n }).format(amount);\n",":host {\n .zonos--cart-table {\n width: 100%;\n border: none;\n border-collapse: collapse;\n overflow: auto;\n font-size: $amino-font-size-base;\n .zonos--column {\n padding: $amino-space-8;\n font-size: $amino-font-size-base;\n &:last-child {\n text-align: right;\n }\n &:first-child {\n width: 60px;\n }\n }\n }\n img {\n min-width: 40px;\n }\n}\n","import { Component, getAssetPath, h, Host, State } from '@stencil/core';\n\nimport { cartStore } from 'src/components/store/checkout/cart';\nimport { formatCurrency } from 'src/components/utils/formatCurrency';\n\n@Component({\n assetsDirs: ['assets'],\n shadow: true,\n styleUrl: 'zonos-cart-items.scss',\n tag: 'zonos-cart-items',\n})\nexport class ZonosCartItems {\n @State() errorImages: string[] = [];\n\n render() {\n const emptyItemImg = getAssetPath('./assets/empty-item.jpeg');\n const rate = cartStore.exchangeRate?.rate || 1;\n return (\n <Host class=\"zonos--cart-items zonos--elements\">\n <table class=\"zonos--cart-table\">\n <tbody>\n {cartStore.items.map(item => {\n const itemImg = item.imageUrl;\n return (\n <tr class=\"zonos--cart-item\">\n <td class=\"zonos--column zonos--cart-item-image\">\n {itemImg && !this.errorImages.includes(itemImg) ? (\n <img\n alt={item.name}\n onError={() => {\n this.errorImages = [...this.errorImages, itemImg];\n }}\n src={item.imageUrl}\n style={{\n 'min-width': '40px',\n }}\n width={40}\n />\n ) : (\n <img alt={item.name} src={emptyItemImg} width={40} />\n )}\n </td>\n <td class=\"zonos--column zonos--cart-item-name\">\n <zonos-text type=\"label\">{item.name}</zonos-text>\n </td>\n <td class=\"zonos--column zonos--cart-item-price\">\n <zonos-text type=\"semiBoldLabel\">\n {formatCurrency({\n amount: item.amount * item.quantity * rate,\n currency: cartStore.currency,\n })}\n </zonos-text>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </Host>\n );\n }\n}\n",":host {\n .zonos--cart-table {\n width: 100%;\n border: none;\n border-collapse: collapse;\n overflow: auto;\n font-size: $amino-font-size-base;\n .zonos--column {\n padding: $amino-space-20 $amino-space-8;\n vertical-align: top;\n &:last-child {\n text-align: right;\n }\n &:first-child {\n width: 60px;\n }\n }\n }\n .zonos--title-with-icon {\n display: flex;\n align-items: center;\n gap: $amino-space-8;\n }\n .zonos--cart-subtotal-title,\n .zonos--cart-subtotal-price {\n border-bottom: 1px solid $amino-gray-200;\n }\n\n .zonos--cart-subtotal-price {\n text-align: right;\n }\n}\n","import { Component, Fragment, h, Host } from '@stencil/core';\n\nimport { cartStore } from 'src/components/store/checkout/cart';\nimport { translate } from 'src/components/store/translationStore';\nimport { formatCurrency } from 'src/components/utils/formatCurrency';\n\n// These assets neet to be in relative path as https://www.npmjs.com/package/stencil-inline-svg suggested\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport InfoIcon from './assets/InfoIcon.svg';\n@Component({\n assetsDirs: ['assets'],\n shadow: true,\n styleUrl: 'zonos-cart-subtotal.scss',\n tag: 'zonos-cart-subtotal',\n})\nexport class ZonosCartSubtotal {\n render() {\n const totalWithoutTaxes = cartStore.total - cartStore.dutiesTaxFees;\n const renderShippingInfo = () => {\n if (!cartStore.selectedShippingOption) {\n return (\n <>\n <zonos-text class=\"zonos--title\" type=\"semiBoldLabel\">\n {translate('Shipping')}\n </zonos-text>\n <zonos-text class=\"zonos--caption\" type=\"caption\">\n {translate('No shipping method selected')}\n </zonos-text>\n </>\n );\n }\n return (\n <>\n <zonos-text class=\"zonos--title\" type=\"semiBoldLabel\">\n {cartStore.selectedShippingOption.displayName}\n </zonos-text>\n {cartStore.selectedShippingOptionTransitTime && (\n <zonos-text class=\"zonos--caption\" type=\"caption\">\n {cartStore.selectedShippingOptionTransitTime}{' '}\n {translate('business days')}\n </zonos-text>\n )}\n </>\n );\n };\n return (\n <Host class=\"zonos--cart-subtotal zonos--elements\">\n <table class=\"zonos--cart-table\">\n <tr class=\"zonos--row zonos--cart-subtotal\">\n <td class=\"zonos--column\"></td>\n <td class=\"zonos--column zonos--cart-subtotal-title\">\n <zonos-text type=\"semiBoldLabel\">\n {translate('Cart subtotal')}\n </zonos-text>\n </td>\n <td class=\"zonos--column zonos--cart-subtotal-price\">\n <zonos-text type=\"semiBoldLabel\">\n {formatCurrency({\n amount: cartStore.subtotal,\n currency: cartStore.currency,\n })}\n </zonos-text>\n </td>\n </tr>\n <tr class=\"zonos--row zonos--cart-shipping\">\n <td class=\"zonos--column\"></td>\n <td class=\"zonos--column zonos--cart-subtotal-title\">\n {renderShippingInfo()}\n </td>\n <td class=\"zonos--column zonos--cart-subtotal-price\">\n {cartStore.shipping\n ? formatCurrency({\n amount: cartStore.shipping,\n currency: cartStore.currency,\n })\n : '-'}\n </td>\n </tr>\n {/* Only show fee row when step is payment */}\n {cartStore.step === 'payment' && (\n <tr class=\"zonos--row zonos--cart-duties\">\n <td class=\"zonos--column\"></td>\n <td class=\"zonos--column zonos--cart-subtotal-title\">\n <div class=\"zonos--title-with-icon\">\n <zonos-text class=\"zonos--title\" type=\"semiBoldLabel\">\n {translate('Duties, taxes, and fees')}\n </zonos-text>\n <zonos-icon content={InfoIcon} size={16}></zonos-icon>\n </div>\n {!!cartStore.isSelectedShippingAboveDeminimis && (\n <zonos-text color=\"gray-800\" type=\"body\">\n {translate(\n 'Order is over the de minimis threshold for both duty and tax',\n )}\n </zonos-text>\n )}\n </td>\n <td class=\"zonos--column zonos--cart-subtotal-price\">\n {cartStore.dutiesTaxFees\n ? formatCurrency({\n amount: cartStore.dutiesTaxFees,\n currency: cartStore.currency,\n })\n : '-'}\n {cartStore.isSelectedShippingGuarantee && (\n <zonos-badge>{translate('Guaranteed')}</zonos-badge>\n )}\n </td>\n </tr>\n )}\n <tr class=\"zonos--row zonos--cart-pay-total\">\n <td class=\"zonos--column\"></td>\n <td class=\"zonos--column\">\n <zonos-text class=\"zonos--title\" type=\"semiBoldLabel\">\n {translate('Order total')}\n </zonos-text>\n </td>\n <td class=\"zonos--column\">\n <zonos-text type=\"semiBoldLabel\">\n {formatCurrency({\n amount:\n // show total without taxes when step is shipping, show total with taxes when step is payment\n cartStore.step === 'shipping'\n ? totalWithoutTaxes\n : cartStore.total,\n currency: cartStore.currency,\n })}\n </zonos-text>\n </td>\n </tr>\n </table>\n </Host>\n );\n }\n}\n","$border-radius: var(--border-radius, 10px);\n\n:host {\n display: flex;\n flex-direction: column;\n .zonos--group {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-bottom: $amino-space-24;\n border-radius: $border-radius;\n gap: $amino-space-24;\n max-width: 360px;\n width: auto;\n margin: auto;\n margin-top: $amino-space-24;\n background-color: $amino-gray-50;\n padding: $amino-space-20;\n }\n zonos-button {\n width: 100%;\n }\n .loading-wrapper {\n min-height: 300px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n}\n","import {\n type EventEmitter,\n Component,\n Event,\n Fragment,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport type { PaymentIntent } from '@stripe/stripe-js';\n\nimport {\n stripeStore,\n stripeStoreReset,\n stripeStoreRetrievePayment,\n} from 'src/components/store/checkout/stripe';\nimport { translate } from 'src/components/store/translationStore';\nimport { getBorderRadius } from 'src/components/utils/getBorderRadius';\nimport { submitGtag } from 'src/components/utils/submitGtag';\nimport type { ElementsUiStyle } from 'src/types';\n\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport RemoveIcon from './assets/RemoveIcon.svg';\n/* Need to use relative import because inline-svg-stencil couldn't resolve absolute path */\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport SuccessIcon from './assets/SuccessIcon.svg';\n\ntype OverrideNotification = {\n messages: string[];\n title: string;\n type: 'success' | 'error';\n};\n\n@Component({\n assetsDirs: ['assets'],\n shadow: true,\n styleUrl: 'zonos-checkout-finish.scss',\n tag: 'zonos-checkout-finish',\n})\nexport class ZonosCheckoutFinish {\n /**\n * The border radius style of the dialog\n */\n @Prop() borderRadius: ElementsUiStyle = 'ROUNDED';\n\n /**\n * Force status to test the UI for storybook\n */\n @Prop() storybookForceStatus?: PaymentIntent['status'];\n\n /**\n * Override the notification message and title, bypass checking stripe payment status\n *\n */\n @Prop() overrideNotification?: OverrideNotification;\n\n /**\n * Event to emit when the continue button is clicked\n */\n @Event() closeClick!: EventEmitter<void>;\n\n @State() isLoading: boolean = true;\n @State() notificationType: 'success' | 'error' = 'success';\n @State() notificationTitle: string = '';\n @State() notificationMessages: string[] = [];\n\n private checkPaymentStatus = async () => {\n this.isLoading = true;\n const clientSecret =\n new URLSearchParams(window.location.search).get(\n 'payment_intent_client_secret',\n ) || stripeStore.clientSecret;\n if (clientSecret || this.storybookForceStatus) {\n const { error, messages } = await stripeStoreRetrievePayment({\n clientSecret,\n storybookForceStatus: this.storybookForceStatus,\n });\n this.notificationType = error ? 'error' : 'success';\n this.notificationMessages = messages || [];\n this.notificationTitle = error\n ? translate('Payment failed')\n : translate(\"You're all set!\");\n\n if (error) {\n submitGtag('zonos-checkout-payment-fail');\n } else {\n submitGtag('zonos-checkout-success');\n }\n }\n stripeStoreReset();\n this.isLoading = false;\n };\n\n private closeClickHandler = () => {\n this.closeClick.emit();\n };\n\n componentDidLoad() {\n if (this.overrideNotification) {\n // just show the notification and don't check any of the payment status\n this.notificationType = this.overrideNotification.type;\n this.notificationTitle = this.overrideNotification.title;\n this.notificationMessages = this.overrideNotification.messages;\n return;\n }\n void this.checkPaymentStatus();\n }\n\n render() {\n return (\n <Host\n class=\"zonos--checkout-finish zonos--elements\"\n style={{\n '--border-radius': getBorderRadius(this.borderRadius),\n }}\n >\n {this.isLoading && (\n <div class=\"loading-wrapper\">\n <zonos-spinner></zonos-spinner>\n </div>\n )}\n {!this.isLoading && (\n <div class=\"zonos--group\">\n {this.notificationType === 'success' ? (\n <zonos-icon\n color={'blue-800'}\n content={SuccessIcon}\n size={50}\n ></zonos-icon>\n ) : (\n <zonos-icon\n color={'red-800'}\n content={RemoveIcon}\n size={50}\n ></zonos-icon>\n )}\n <zonos-text class=\"zonos--title\" type=\"semiBoldSubheader\">\n {this.notificationTitle}\n </zonos-text>\n <zonos-text>\n {this.notificationMessages.map(message => (\n <>\n {message}\n <br />\n </>\n ))}\n </zonos-text>\n <zonos-button\n onClick={() => this.closeClickHandler()}\n size=\"md\"\n variant=\"primary\"\n >\n {translate('Keep shopping')}\n </zonos-button>\n </div>\n )}\n </Host>\n );\n }\n}\n",":host {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n .zonos--title {\n margin-bottom: $amino-space-24;\n }\n .zonos--group {\n margin-bottom: $amino-space-20;\n overflow: auto;\n padding: 0 5px;\n\n @include zonos--scrollbar;\n }\n\n .zonos--payment-error-banner {\n margin-bottom: $amino-space-8;\n }\n\n zonos-button {\n width: 100%;\n }\n}\n","import {\n type EventEmitter,\n Component,\n Event,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nimport { cartStore } from 'src/components/store/checkout/cart';\nimport { stripeStore } from 'src/components/store/checkout/stripe';\nimport { translate } from 'src/components/store/translationStore';\nimport { formatCurrency } from 'src/components/utils/formatCurrency';\nimport { submitGtag } from 'src/components/utils/submitGtag';\n\n@Component({\n /**\n * Use `scope` here just because this component is `zonos-address` which is using stripe elements and stripe\n * need to be able to inject iframe into this component from the DOM\n */\n scoped: true,\n styleUrl: 'zonos-checkout-payment.scss',\n tag: 'zonos-checkout-payment',\n})\nexport class ZonosCheckoutPayment {\n /**\n * Error occurred during payment\n */\n @Prop() paymentError: boolean = false;\n\n /**\n * Whether or not the checkout is in mobile mode\n */\n @Prop() submitBtnType?: HTMLZonosButtonElement['variant'];\n\n /**\n * Whether or not the continue button is loading\n */\n @Prop() continueLoading: boolean = false;\n\n /**\n * Submit button main color\n */\n @Prop() submitBtnColor?: string;\n\n /**\n * Event to emit when the continue button is clicked\n */\n @Event() continueClicked!: EventEmitter<void>;\n\n /**\n * Whether or not the continue button is disabled\n * @default true\n */\n @State() disabled: boolean = true;\n\n @Watch('disabled')\n watchFormComplete() {\n if (!this.disabled) {\n // submit google tag when the form is complete\n submitGtag('zonos-checkout-payment-info');\n }\n }\n\n /**\n * handler for continue button click\n */\n private continueClickHandler = () => {\n this.continueClicked.emit();\n };\n\n render() {\n if (!stripeStore.stripeElements) {\n return null;\n }\n\n this.disabled = !stripeStore.stripePaymentEventData?.complete;\n\n return (\n <Host class=\"zonos--checkout-payment zonos--elements\">\n <div class=\"zonos--group\">\n <zonos-text class=\"zonos--title\" type=\"semiBoldSubheader\">\n {translate('Payment method')}\n </zonos-text>\n {this.paymentError && (\n <zonos-banner class=\"zonos--payment-error-banner\" intent=\"error\">\n {translate(\n \"We couldn't complete your payment. Please verify the payment details and try again.\",\n )}\n </zonos-banner>\n )}\n <zonos-payment></zonos-payment>\n </div>\n <zonos-button\n backgroundColor={this.submitBtnColor}\n is-disabled={this.disabled}\n loading={this.continueLoading}\n onClick={() => this.continueClickHandler()}\n size=\"lg\"\n // use primary type when on mobile mode\n variant={this.submitBtnType}\n >\n Pay{' '}\n {formatCurrency({\n amount: cartStore.total,\n currency: cartStore.currency,\n })}\n </zonos-button>\n </Host>\n );\n }\n}\n",":host {\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n div {\n position: relative;\n }\n iframe {\n width: 0;\n height: 100%;\n position: absolute;\n top: 0;\n border: 0;\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\nimport { Element, Host, State } from '@stencil/core/internal';\n\n@Component({\n shadow: true,\n styleUrl: 'zonos-collapse.scss',\n tag: 'zonos-collapse',\n})\nexport class ZonosCollapse {\n /**\n * Collapsed state of the element\n */\n @Prop() collapsed: boolean = false;\n /**\n * Collapsed size when collapsed\n */\n @Prop() collapseSize: number = 0;\n\n @Element() el!: HTMLZonosCollapseElement;\n\n @State() height: number = this.el.scrollHeight;\n\n private getElementHeight() {\n const fullHeight = `${this.height}px`;\n const collapsedHeight = `${this.collapseSize}px`;\n return this.collapsed ? collapsedHeight : fullHeight;\n }\n\n componentDidLoad() {\n this.height = this.el.scrollHeight;\n }\n\n componentDidRender() {\n this.el.shadowRoot\n ?.querySelector('iframe')\n ?.contentWindow?.addEventListener('resize', () => {\n this.height = this.el.scrollHeight;\n });\n }\n\n render() {\n this.height = this.el.scrollHeight;\n return (\n <Host\n class={'zonos--elements zonos--collapse'}\n style={{\n height: this.getElementHeight(),\n }}\n >\n <div>\n <iframe\n class=\"height-change-listener\"\n tabindex=\"-1\"\n title=\"collapse-height-change-listener\"\n ></iframe>\n <slot />\n </div>\n </Host>\n );\n }\n}\n",":host {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n .zonos--title {\n margin-bottom: $amino-space-20;\n }\n .zonos--link-authentication {\n margin-bottom: $amino-space-32;\n }\n\n .zonos--group {\n margin-bottom: $amino-space-20;\n overflow: auto;\n padding: 0 5px;\n\n @include zonos--scrollbar;\n }\n\n zonos-button {\n width: 100%;\n }\n}\n","import {\n type EventEmitter,\n Component,\n Event,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nimport {\n type ContactOption,\n stripeStore,\n} from 'src/components/store/checkout/stripe';\nimport { translate } from 'src/components/store/translationStore';\nimport { submitGtag } from 'src/components/utils/submitGtag';\n\n@Component({\n /**\n * Use `scope` here just because this component is `zonos-address` which is using stripe elements and stripe\n * need to be able to inject iframe into this component from the DOM\n */\n scoped: true,\n styleUrl: 'zonos-customer-info.scss',\n tag: 'zonos-customer-info',\n})\nexport class ZonosCustomerInfo {\n /**\n * Whether or not the continue button is loading\n */\n @Prop() continueLoading: boolean = false;\n\n /**\n * Whether or not the checkout is in mobile mode\n */\n @Prop() submitBtnType?: HTMLZonosButtonElement['variant'];\n\n /**\n * Submit button main color\n */\n @Prop() submitBtnColor?: string;\n\n /**\n * Default address to use for the checkout (preview mode)\n */\n @Prop() defaultAddress: ContactOption | null = null;\n\n /**\n * Event to emit when the continue button is clicked\n */\n @Event() continueClicked!: EventEmitter<void>;\n\n /**\n * Whether or not the continue button is disabled\n * @default true\n */\n @State() disabled: boolean = true;\n\n @Watch('disabled')\n watchFormComplete() {\n if (!this.disabled) {\n // submit google tag when the form is complete\n submitGtag('zonos-checkout-customer-info');\n }\n }\n\n /**\n * handler for continue button click\n */\n private continueClickHandler = () => {\n this.continueClicked.emit();\n };\n\n render() {\n if (!stripeStore.stripeElements) {\n return null;\n }\n // make sure data is valid\n this.disabled =\n !stripeStore.stripeAddressEventData?.complete ||\n !stripeStore.stripeLinkEventData?.complete;\n\n return (\n <Host class=\"zonos--customer-info zonos--elements\">\n <div class=\"zonos--group\">\n <zonos-text class=\"zonos--title\" type=\"semiBoldSubheader\">\n {translate('Customer information')}\n </zonos-text>\n <zonos-link-authentication\n titleText={translate('Contact')}\n ></zonos-link-authentication>\n <zonos-address\n defaultAddress={this.defaultAddress}\n titleText={translate('Address')}\n type=\"shipping\"\n ></zonos-address>\n </div>\n <zonos-button\n backgroundColor={this.submitBtnColor}\n isDisabled={this.disabled}\n loading={this.continueLoading}\n onClick={() => this.continueClickHandler()}\n size=\"lg\"\n // use primary type when on mobile mode\n variant={this.submitBtnType}\n >\n {translate('Continue to shipping')}\n </zonos-button>\n </Host>\n );\n }\n}\n","$border-radius: var(--border-radius, $amino-radius-10);\n$height: var(--height, auto);\n$width: var(--width, auto);\n\n:host {\n .zonos--backdrop,\n .zonos--dialog-layout {\n opacity: 0;\n z-index: -999;\n visibility: hidden;\n transition: 0.3s all ease;\n }\n // close by default\n .zonos--backdrop {\n width: 100vw;\n height: 100vh;\n left: 0px;\n top: 0px;\n background: $amino-backdrop-color;\n z-index: -999;\n opacity: 0;\n visibility: hidden;\n position: fixed;\n }\n .zonos--loading {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1002;\n background: white;\n }\n\n // close by default\n .zonos--dialog-layout {\n width: 100vw;\n height: 100vh;\n left: 0;\n top: 0;\n position: fixed;\n display: flex;\n justify-content: center;\n align-items: center;\n color: $amino-text-color;\n visibility: hidden;\n }\n\n .zonos--dialog {\n position: relative;\n z-index: 1001;\n background: $amino-gray-0;\n max-width: calc(90vw);\n max-height: 90vh;\n min-height: 500px;\n height: $height;\n width: $width;\n border-radius: $border-radius;\n outline: none;\n box-shadow: $amino-v3-shadow-xxl;\n border: $amino-border;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .zonos--header {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding: $amino-space-16 $amino-space-24;\n\n .-zonos-stencil-library--header-text {\n flex-grow: 1;\n }\n\n .zonos--close-button {\n width: $amino-size-md;\n height: $amino-size-md;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: $amino-radius-10;\n &:hover {\n background: $amino-hover-color;\n }\n }\n }\n\n .zonos--body {\n padding: $amino-space-8 $amino-space-24;\n max-height: 100%;\n height: 100%;\n overflow: auto;\n &.zonos--no-body-padding {\n padding: 0;\n }\n }\n\n .zonos--footer {\n padding: $amino-space-16 $amino-space-24;\n }\n}\n\n:host(.open) {\n .zonos--dialog-layout,\n .zonos--backdrop {\n visibility: visible;\n }\n .zonos--backdrop {\n z-index: 1001;\n opacity: 0.65;\n }\n .zonos--dialog-layout {\n opacity: 1;\n z-index: 1002;\n transform: scale(1);\n }\n}\n\n:host(.no-border) {\n .zonos--dialog {\n border: none;\n }\n}\n\n:host(.mobile) {\n .zonos--dialog {\n max-width: 100vw;\n max-height: 100vh;\n height: 100%;\n width: 100%;\n border-radius: 0;\n box-shadow: none;\n border: none;\n }\n}\n","import {\n type EventEmitter,\n Component,\n Event,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\n\nimport { classes } from 'src/components/utils/classes';\nimport { getBorderRadius } from 'src/components/utils/getBorderRadius';\nimport type { ElementsUiStyle } from 'src/types';\n\n/** These assets neet to be in relative path as https://www.npmjs.com/package/stencil-inline-svg suggested */\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport RemoveIcon from './assets/removeIcon.svg';\n\n@Component({\n assetsDirs: ['assets'],\n shadow: true,\n styleUrl: 'zonos-dialog.scss',\n tag: 'zonos-dialog',\n})\nexport class ZonosDialog {\n /**\n * Whether or not the dialog is open\n * @default false\n */\n @Prop() open: boolean = false;\n /**\n * The header text for the dialog\n */\n @Prop() headerText: string = '';\n /**\n * The width of the dialog\n * @default 460px\n */\n @Prop() width: string = '460px';\n /**\n * The height of the dialog (max-wdith still 90vh)\n */\n @Prop() height?: string;\n /**\n * Whether or not to show the header\n * @default false\n */\n @Prop() noHeader: boolean = false;\n\n /**\n * Whether or not to have body padding\n * @default false\n */\n @Prop() noBodyPadding: boolean = false;\n\n /**\n * Whether or not to have body padding\n * @default false\n */\n @Prop() noBorder: boolean = false;\n\n /**\n * The right area for the action in the footer\n * @default null\n */\n @Prop() footerRightAction: HTMLElement | null = null;\n\n /**\n * The border style of the button\n * @default ROUNDED\n */\n @Prop() borderStyle?: ElementsUiStyle;\n\n /**\n * Close dialog button click\n */\n // @Prop() onCloseDialog!: () => void;\n\n /**\n * Whether or not to show the close button\n * @default false\n */\n @Prop() noCloseButton: boolean = false;\n\n /**\n * Whether or not to close the dialog when clicking outside of it\n * @default false\n */\n @Prop() noClickOutside: boolean = false;\n\n /**\n * Flag to determine if the checkout is on mobile\n */\n @Prop() mobile: boolean = false;\n\n /**\n * Load loading spinner for the dialog or not\n */\n @Prop() isLoading: boolean = true;\n\n @State() isMobile: boolean = false;\n\n /**\n * Close dialog button click\n */\n @Event() closeDialog!: EventEmitter<void>;\n\n @Listen('resize', { target: 'window' })\n handleWindowResize() {\n this.isMobile = this.isMobileMode();\n }\n\n private isMobileMode = () => {\n return this.mobile || window.innerWidth <= 768;\n };\n\n private closeButtonHandler = () => {\n this.closeDialog.emit();\n };\n\n private clickOutsideDialogHandler = (event: MouseEvent) => {\n if (event.target === event.currentTarget && !this.noClickOutside) {\n this.closeDialog.emit();\n }\n };\n\n componentDidLoad() {\n this.isMobile = this.isMobileMode();\n }\n\n render() {\n // disable scroll on the body when dialog is open\n if (this.open) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'auto';\n }\n\n const borderStyle = getBorderRadius(this.borderStyle);\n return (\n <Host\n class={classes([\n 'zonos--elements',\n this.open && 'open',\n this.isLoading && 'is-loading',\n this.noBorder && 'no-border',\n this.isMobile && 'mobile',\n ])}\n style={{\n '--border-radius': borderStyle,\n '--height': this.height || 'initial',\n '--width': this.width,\n }}\n >\n <div class=\"zonos--backdrop\"></div>\n <div\n aria-hidden=\"true\"\n class=\"zonos--dialog-layout\"\n onClick={this.clickOutsideDialogHandler}\n >\n <div class=\"zonos--dialog\">\n {this.isLoading && (\n <div class=\"zonos--loading\">\n <zonos-spinner size={30}></zonos-spinner>\n </div>\n )}\n {(this.headerText || !this.noCloseButton) && (\n <div class=\"zonos--header\">\n {this.headerText && (\n <h3 class=\"zonos--header-text\">{this.headerText}</h3>\n )}\n {!this.noCloseButton && (\n <zonos-button\n class=\"zonos--close-button\"\n icon={<zonos-icon content={RemoveIcon}></zonos-icon>}\n noBackground\n onClick={this.closeButtonHandler}\n ></zonos-button>\n )}\n </div>\n )}\n <div\n class={classes([\n 'zonos--body',\n this.noBodyPadding && 'zonos--no-body-padding',\n ])}\n >\n <slot />\n </div>\n {this.footerRightAction && (\n <div class=\"zonos--footer\">\n <div class=\"zonos--footer-right-action\">\n {this.footerRightAction}\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n","$filter-color: var(--filter-color);\n$width: var(--width);\n\n:host {\n display: inline-flex;\n img {\n filter: $filter-color;\n width: $width;\n }\n}\n","import { Component, getAssetPath, h, Host, Prop } from '@stencil/core';\n\nimport { classes } from 'src/components/utils/classes';\nimport type { ElementsUiTheme } from 'src/types';\n\n@Component({\n assetsDirs: ['assets'],\n shadow: true,\n styleUrl: 'zonos-logo.scss',\n tag: 'zonos-logo',\n})\nexport class ZonosLogo {\n /**\n * Theme to change the color of the logo\n */\n @Prop() theme: ElementsUiTheme = 'LIGHT';\n\n /**\n * The width of the logo\n */\n @Prop() width: string = 'auto';\n\n /**\n * css class for the component\n */\n @Prop() class: string = '';\n\n render() {\n const filterColor =\n this.theme === 'DARK'\n ? 'invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%)'\n : 'whiteinvert(0%) sepia(100%) saturate(32%) hue-rotate(92deg) brightness(107%) contrast(107%)';\n\n return (\n <Host\n class={classes(['zonos--elements zonos--logo', this.class])}\n style={{\n '--filter-color': filterColor,\n '--width': this.width,\n }}\n >\n <img alt=\"Zonos Logo\" src={getAssetPath('./assets/ZonosLogo.png')} />\n </Host>\n );\n }\n}\n",":host {\n .zonos--total-pay {\n margin: $amino-space-16 0 $amino-space-32;\n }\n}\n\n:host(.mobile) {\n @include checkout-review-mobile;\n}\n","import { Component, h, Host, Listen, Prop, State } from '@stencil/core';\n\nimport { cartStore } from 'src/components/store/checkout/cart';\nimport { translate } from 'src/components/store/translationStore';\nimport { zonosStore } from 'src/components/store/zonosStore';\nimport { isCheckoutMobile } from 'src/components/utils/checkout/isCheckoutMobile';\nimport { classes } from 'src/components/utils/classes';\nimport { formatCurrency } from 'src/components/utils/formatCurrency';\n\n/** These assets neet to be in relative path as https://www.npmjs.com/package/stencil-inline-svg suggested */\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport ChevronDownIcon from './assets/ChevronDownIcon.svg';\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport ChevronUpIcon from './assets/ChevronUpIcon.svg';\n@Component({\n assetsDirs: ['assets'],\n shadow: true,\n styleUrl: 'zonos-review.scss',\n tag: 'zonos-review',\n})\nexport class ZonosReview {\n /**\n * Whether or not the component is being rendered with mobile styles\n */\n @Prop() mobile: boolean = false;\n\n /**\n * Whether or not to show the collapse icon\n * This is controled from the collapsed state of the zonos-collapse component\n * to show the collapse icon\n */\n @Prop() collapsed: boolean = false;\n\n @State() isMobile: boolean = false;\n\n @Listen('resize', { target: 'window' })\n handleWindowResize() {\n this.isMobile = isCheckoutMobile(this.mobile);\n }\n\n componentWillLoad() {\n this.isMobile = isCheckoutMobile(this.mobile);\n }\n\n render() {\n const titleTextType = this.isMobile ? 'boldSubheader' : 'semiBoldLabel';\n const totalTextType = this.isMobile\n ? 'boldSubheader'\n : 'secondaryPageHeader';\n\n const titleTextColor = this.isMobile ? 'gray-1200' : 'gray-800';\n const totalWithoutTaxes = cartStore.total - cartStore.dutiesTaxFees;\n const renderCollapseIcon = () => {\n // only display the collapse icon if the component is being rendered with mobile styles\n if (!this.isMobile) {\n return null;\n }\n\n if (!this.collapsed) {\n return (\n <zonos-icon color=\"gray-1200\" content={ChevronDownIcon}></zonos-icon>\n );\n }\n return (\n <zonos-icon color=\"gray-1200\" content={ChevronUpIcon}></zonos-icon>\n );\n };\n return (\n <Host\n class={classes([\n 'zonos--review zonos--elements',\n this.isMobile && 'mobile',\n ])}\n >\n <div class=\"zonos--title\">\n <zonos-text color={titleTextColor} type={titleTextType}>\n {translate('Pay')} {zonosStore.organizationName}\n </zonos-text>\n {renderCollapseIcon()}\n </div>\n <div class=\"zonos--total-pay\">\n <zonos-text type={totalTextType}>\n {formatCurrency({\n amount:\n // show total without taxes when step is shipping, show total with taxes when step is payment\n cartStore.step === 'shipping'\n ? totalWithoutTaxes\n : cartStore.total,\n currency: cartStore.currency,\n })}\n </zonos-text>\n </div>\n </Host>\n );\n }\n}\n",":host {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n .zonos--title {\n margin-bottom: $amino-space-24;\n }\n .zonos--shipping-method-title {\n margin-bottom: $amino-space-16;\n }\n\n .zonos-shipping-rich-radio {\n margin-bottom: $amino-space-24;\n }\n\n .zonos--group {\n margin-bottom: $amino-space-20;\n overflow: auto;\n padding-right: 5px;\n\n @include zonos--scrollbar;\n }\n\n zonos-button {\n width: 100%;\n }\n zonos-banner {\n margin-top: $amino-space-24;\n }\n}\n","import {\n type EventEmitter,\n Component,\n Event,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nimport {\n cartStore,\n cartStoreGetShippingTransitInfo,\n cartStoreUpdateSelectedShippingOption,\n} from 'src/components/store/checkout/cart';\nimport { stripeStore } from 'src/components/store/checkout/stripe';\nimport { translate } from 'src/components/store/translationStore';\nimport { formatCurrency } from 'src/components/utils/formatCurrency';\nimport { submitGtag } from 'src/components/utils/submitGtag';\nimport type { ShippingRichRadioItem } from 'src/types';\n\n@Component({\n /**\n * Use `scope` here just because this component is `zonos-address` which is using stripe elements and stripe\n * need to be able to inject iframe into this component from the DOM\n */\n scoped: true,\n styleUrl: 'zonos-shipping.scss',\n tag: 'zonos-shipping',\n})\nexport class ZonosShipping {\n /**\n * Whether or not the continue button is loading\n */\n @Prop() continueLoading: boolean = false;\n\n /**\n * Submit button main color\n */\n @Prop() submitBtnColor?: string;\n\n /**\n * Whether or not the checkout is in mobile mode\n */\n @Prop() submitBtnType?: HTMLZonosButtonElement['variant'];\n\n /**\n * Event to emit when the continue button is clicked\n */\n @Event() continueClicked!: EventEmitter<void>;\n\n @State() selectedShippingMethod: ShippingRichRadioItem | null = null;\n\n /**\n * Whether or not the continue button is disabled\n * @default true\n */\n @State() disabled: boolean = true;\n\n @Watch('disabled')\n watchFormComplete() {\n if (!this.disabled) {\n // submit google tag when the form is complete\n submitGtag('zonos-checkout-shipping-info');\n }\n }\n\n private handleRadioSelected = async (\n e: CustomEvent<ShippingRichRadioItem>,\n ) => {\n this.selectedShippingMethod = e.detail;\n if (!this.selectedShippingMethod) {\n return;\n }\n\n const selectedShippingOption =\n cartStore.shippingData?.find(\n item => item.id === this.selectedShippingMethod?.value,\n ) || null;\n if (!selectedShippingOption) {\n return;\n }\n\n // save selected shipping option to store\n const updateStatus = await cartStoreUpdateSelectedShippingOption(\n selectedShippingOption,\n );\n if (!updateStatus) {\n return;\n }\n\n this.disabled = false;\n };\n\n /**\n * handler for continue button click\n */\n private continueClickHandler = () => {\n this.continueClicked.emit();\n };\n\n render() {\n const shipToCountry =\n stripeStore.stripeAddressEventData?.value.address.country;\n\n const serviceLevels = cartStore.shippingData?.flatMap(\n (item): ShippingRichRadioItem => {\n const { expectedDate, maxTransit, minTransit } =\n cartStoreGetShippingTransitInfo(item);\n const sublabel = expectedDate\n ? `${translate('Expected delivery')} ${expectedDate}`\n : '';\n const caption =\n minTransit && maxTransit\n ? `(${minTransit}-${maxTransit} ${translate('business days')})`\n : '';\n const shippingAmount =\n cartStore.landedCostData?.find(\n landedCostItem =>\n landedCostItem.landedCost?.shipmentRating.id === item.id,\n )?.subtotals.shipping || 0;\n return {\n caption,\n label: item.displayName,\n price: formatCurrency({\n amount: shippingAmount,\n currency: cartStore.currency,\n }),\n sublabel,\n value: item.id,\n };\n },\n );\n return (\n <Host class=\"zonos--shipping zonos--elements\">\n <div class=\"zonos--group\">\n <zonos-text class=\"zonos--title\" type=\"semiBoldSubheader\">\n {translate('Shipping information')}\n </zonos-text>\n <zonos-text class=\"zonos--shipping-method-title\" type=\"semiBoldLabel\">\n {translate('Shipping method')}\n </zonos-text>\n {!serviceLevels?.length ? (\n <zonos-banner\n bannerTitle=\"No shipping methods found - try editing your address or contacting support if the error persists\"\n intent=\"error\"\n ></zonos-banner>\n ) : (\n <zonos-shipping-rich-radio\n items={serviceLevels || []}\n onRadioSelected={e => this.handleRadioSelected(e)}\n ></zonos-shipping-rich-radio>\n )}\n\n {cartStore.isSelectedShippingAboveDeminimis && (\n <zonos-banner intent=\"warning\">\n {translate('Above de minimis threshold for')} {shipToCountry}.{' '}\n {translate(\n 'Duties and taxes will be applied to items and shipping.',\n )}\n </zonos-banner>\n )}\n </div>\n <zonos-button\n backgroundColor={this.submitBtnColor}\n is-disabled={this.disabled}\n loading={this.continueLoading}\n onClick={() => this.continueClickHandler()}\n size=\"lg\"\n // use primary type when on mobile mode\n variant={this.submitBtnType}\n >\n {translate('Go to payment')}\n </zonos-button>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"zonos-checkout.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,gBAAgB,GAAG,+hNAA+hN;;MCiE3iN,aAAa;;;IAyFhB,qBAAgB,GAAG;;MACzB,MAAM,KAAK,GACT,CAAA,MAAA,IAAI,CAAC,0BAA0B,0CAAE,KAAK,KAAIA,qBAAU,CAAC,UAAU,CAAC,KAAK,CAAC;MAExE,MAAMC,uBAAkB,CAAC;QACvB,oBAAoB,EAAE,MAAA,IAAI,CAAC,0BAA0B,0CAAE,KAAK;QAC5D,oBAAoB,EAAE,MAAA,IAAI,CAAC,0BAA0B,0CAAE,YAAY;;QAEnE,aAAa,EAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS;OACjD,CAAC,CAAC;KACJ,CAAC;IAiNM,6BAAwB,GAAG;MACjC,QAAQC,cAAS,CAAC,IAAI;QACpB,KAAK,eAAe;UAClB,OAAO,wBAAwB,CAAC;QAClC,KAAK,UAAU;UACb,OAAO,wBAAwB,CAAC;QAClC,KAAK,SAAS;UACZ,OAAO,uBAAuB,CAAC;QAEjC;UACE,OAAO,IAAI,CAAC;OACf;KACF,CAAC;;mBAxTyB,KAAK;kBAKN,KAAK;gCAKsB,IAAI;0BAKV,IAAI;2BAKhB,KAAK;gBAKf,IAAI,CAAC,eAAe;kBAKZ,MAAM,CAAC,KAAK,CAAC,MAAM;yBAKlB,KAAK;wBAKN,KAAK;gCAEG,KAAK;yBAMrB,KAAK;oBAED,KAAK;;;;;;;EAUlC,MAAM,mBAAmB,CAAC,CAA0B;IAClD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAKC,yBAAoB,CAAC,SAAS,CAAC,CAAC;GACtC;;;;EAMD,MAAM,kBAAkB;IACtBC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;IAE1C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAIF,cAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;;MAEhDG,mBAAc,EAAE,CAAC;KAClB;;IAEDH,cAAS,CAAC,IAAI,GAAG,eAAe,CAAC;GAClC;EAcO,MAAM,gBAAgB;IAC5B,IAAIF,qBAAU,CAAC,gBAAgB,CAAC,eAAe,EAAE;MAC/CM,gBAAG,CAAC,mBAAmB,CAAC,CAAC;MACzB,MAAM,SAAS,GAAG,MAAMN,qBAAU,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;MACtE,MAAMG,yBAAoB,CAAC,SAAS,CAAC,CAAC;KACvC;;IAGD,IAAI,CAACI,gBAAW,CAAC,YAAY,EAAE;MAC7B,MAAM,OAAO,GAAG,MAAMC,mCAA8B,EAAE,CAAC;MACvD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;OACd;KACF;;IAGD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC;GACb;EAEO,cAAc;IACpB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;;MAE9B,OAAO;KACR;;IAED,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM;MACtC,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CACzC,8BAA8B,CAC/B,CAAC;MACF,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAM,CAAC;UACtC,IAAI,CAACC,8BAAiB,CAAC,kBAAkB,EAAE;YACzC,OAAO;WACR;;UAED,IAAI,CAACA,8BAAiB,CAAC,kBAAkB,EAAE;YACzCH,gBAAG,CAAC,uBAAuB,CAAC,CAAC;YAC7B,OAAO;WACR;UACD,CAAC,CAAC,cAAc,EAAE,CAAC;UACnB,CAAC,CAAC,eAAe,EAAE,CAAC;UACpBA,gBAAG,CAAC,+BAA+B,CAAC,CAAC;UACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;UAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;UAC7C,IAAI,CAAC,MAAM,EAAE;YACXI,gCAA2B,CAAC;cAC1B,QAAQ,EAAE;gBACRC,sBAAS,CACP,4HAA4H,CAC7H;eACF;cACD,KAAK,EAAEA,sBAAS,CAAC,yBAAyB,CAAC;aAC5C,CAAC,CAAC;YACH,OAAO;WACR;UACDP,qBAAU,CAAC,sBAAsB,CAAC,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;OAC7D;KACF,CAAC,CAAC;GACJ;EAGD,iCAAiC;IAC/B,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;MACpC,OAAO;KACR;;IAGD,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;GAC9B;;;;EAMM,MAAM,IAAI;IACfG,gBAAW,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;;IAGlC,MAAM,QAAQ,GAAG,WAAW,CAAC;MAC3BA,gBAAW,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;MACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;MAElC,IAAI,CAACE,8BAAiB,CAAC,kBAAkB,EAAE;QACzC,OAAO;OACR;;;MAGD,IAAI,CAACA,8BAAiB,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QAC1DH,gBAAG,CAAC,uBAAuB,CAAC,CAAC;QAC7B,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO;OACR;MAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAChBA,gBAAG,CAAC,iCAAiC,CAAC,CAAC;QACvC,OAAO;OACR;MAED,IAAI,IAAI,CAAC,8BAA8B,EAAE;QACvC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO;OACR;MAEDA,gBAAG,CAAC,eAAe,CAAC,CAAC;MACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE;QACxC,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;OAC9B;WAAM;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;OACvB;MACD,aAAa,CAAC,QAAQ,CAAC,CAAC;KACzB,EAAE,GAAG,CAAC,CAAC;IAER,UAAU,CAAC;;MAET,aAAa,CAAC,QAAQ,CAAC,CAAC;KACzB,EAAE,KAAM,CAAC,CAAC;GACZ;;;;EAMM,MAAM,eAAe,CAAC,kBAA4C;IACvEJ,cAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;IAC1B,IAAI,CAAC,8BAA8B,GAAG,kBAAkB,CAAC;GAC1D;EAEO,MAAM,0BAA0B;IACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;;IAG1B,MAAMU,kCAA6B,EAAE,CAAC;;IAGtC,MAAM,QAAQ,GAAG,WAAW,CAAC;MAC3B,IAAIV,cAAS,CAAC,cAAc,IAAI,CAACK,gBAAW,CAAC,oBAAoB,EAAE;QACjE,IAAIL,cAAS,CAAC,cAAc,EAAE;;UAE5BW,sBAAiB,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,aAAa,CAAC,QAAQ,CAAC,CAAC;OACzB;KACF,EAAE,GAAG,CAAC,CAAC;GACT;EAEO,MAAM,sBAAsB;IAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;;IAE1B,UAAU,CAAC;MACTA,sBAAiB,EAAE,CAAC;MACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B,EAAE,GAAG,CAAC,CAAC;GACT;EAEO,MAAM,6BAA6B;;IAEzC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC1B,IAAI;MACF,MAAMC,8BAAyB,EAAE,CAAC;MAClCD,sBAAiB,EAAE,CAAC;KACrB;IAAC,OAAO,GAAG,EAAE;;MAEZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;MACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC1B;IACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;GAC5B;EAEO,MAAM,iBAAiB;;IAE7BE,qBAAgB,EAAE,CAAC;IAEnB,IAAI,IAAI,CAAC,OAAO,EAAE;MAChBb,cAAS,CAAC,IAAI,GAAG,eAAe,CAAC;MACjC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;MAClB,OAAO;KACR;;IAEDG,mBAAc,EAAE,CAAC;;IAGjB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;;IAGjC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;IAGnC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;GACnB;EAEO,MAAM,eAAe;;IAE3B,IAAIH,cAAS,CAAC,IAAI,KAAK,eAAe,EAAE;MACtC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;MAChC,OAAO;KACR;IACDc,0BAAqB,EAAE,CAAC;GACzB;EAiBD,kBAAkB;IAChB,IAAI,CAAC,QAAQ,GAAGC,2BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;IAE9C,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7BX,gBAAG,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;GACjC;EAGD,kBAAkB;IAChB,IAAI,CAAC,QAAQ,GAAGW,2BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;IAE9C,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7BX,gBAAG,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;GACjC;EAED,iBAAiB;IACf,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IACjB,IAAI,CAAC,QAAQ,GAAGW,2BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9CX,gBAAG,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;GACjC;;EAGD,oBAAoB;;IAElBS,qBAAgB,EAAE,CAAC;;IAEnBV,mBAAc,EAAE,CAAC;GAClB;EAED,MAAM;;IACJ,MAAM,aAAa;;IAEjB,CAACH,cAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAACK,gBAAW,CAAC,cAAc;MAC3DA,gBAAW,CAAC,iBAAiB,CAAC;IAEhC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,GAAGW,sBAAW,CAClElB,qBAAU,CAAC,UAAU,EACrB,IAAI,CAAC,0BAA0B,CAChC,CAAC;IAEF,MAAM,SAAS,GAAGA,qBAAU,CAAC,UAAU,CAAC,gBAAgB,KAAK,SAAS,CAAC;IAEvE,MAAM,cAAc,GAAGA,qBAAU,CAAC,UAAU,CAAC,KAAK,CAAC;IAEnD,MAAM,sBAAsB,GAC1B,YAAY,IAAImB,uBAAW,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC;;IAG/D,MAAM,aAAa,GAAoB,IAAI,CAAC,QAAQ;QAChD,cAAc;QACd,sBAAsB,CAAC;;IAG3B,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC;IAEtE,MAAM,EAAE,cAAc,EAAE,GAAGV,8BAAiB,CAAC;IAC7C,MAAM,cAAc,GAClB,CAAA,MAAA,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,0CAAE,OAAO;MACpE,mEAAmE,CAAC;IAEtE,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACvD,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAC5C,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,cAAc,CACnC,CAAC;IAEF,MAAM,UAAU,GAAG,OACjBW,iBAAK,KAAK,EAAC,aAAa,IACrB,OAAO,KACNA,iBACE,GAAG,EAAE,GAAGpB,qBAAU,CAAC,gBAAgB,OAAO,EAC1C,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,GAAG,GACV,CACH,CACG,CACP,CAAC;IAEF,MAAM,eAAe,GAAG,OACtBoB,+BACG,UAAU,EAAE,EAEZ,gBAAgB,CAAC,GAAG,CAAC,CAAC,KACrBA,kCACE,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,CAAC,OAAO,GACI,CACzB,CAAC,EAEFA,qBACEA,0BACE,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EAAEA,wBAAY,OAAO,EAAE,SAAS,GAAe,EACnD,YAAY,QACZ,aAAa,QACb,cAAc,QACd,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,EACrC,KAAK,EAAE,aAAa,IAEnBT,sBAAS,CAAC,MAAM,CAAC,CACL,CACX,CACQ,CACjB,CAAC;IAEF,MAAM,YAAY,GAAG,MACnB,SAAS,KACPS,iBAAK,KAAK,EAAC,eAAe,gBAAa,cAAc,IACnDA,wBAAY,IAAI,EAAC,UAAU,IAAET,sBAAS,CAAC,YAAY,CAAC,CAAc,EAClES,wBAAY,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,OAAO,GAAc,CAC1D,CACP,CAAC;IAEJ,MAAM,aAAa,GAAG;;MACpB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;MAC5D,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,CAAC;MAC5D,QACEA,iBACE,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE;UACL,iBAAiB,EAAEC,+BAAe,CAAC,KAAK,CAAC;SAC1C,IAEAnB,cAAS,CAAC,IAAI,KAAK,QAAQ,IAAIA,cAAS,CAAC,IAAI,KAAK,OAAO,KACxDkB,8BACEA,iBACE,KAAK,EAAC,aAAa,gBACP,aAAa,EACzB,KAAK,EAAE;UACL,iBAAiB,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,EAAE;SACtD,IAEA,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAe,EAAE,EACnClB,cAAS,CAAC,IAAI,KAAK,eAAe,KACjCkB,iCACE,eAAe,EAAE,IAAI,CAAC,aAAa,EACnC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,MAAM,IAAI,CAAC,0BAA0B,EAAE,EAC1D,cAAc,EAAE,iBAAiB,EACjC,aAAa,EAAE,aAAa,GACP,CACxB,EACAlB,cAAS,CAAC,IAAI,KAAK,UAAU,KAC5BkB,4BACE,eAAe,EAAE,IAAI,CAAC,aAAa,EACnC,iBAAiB,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,EACtD,cAAc,EAAE,iBAAiB,EACjC,aAAa,EAAE,aAAa,GACZ,CACnB,EACAlB,cAAS,CAAC,IAAI,KAAK,SAAS,KAC3BkB,oCACE,eAAe,EAAE,IAAI,CAAC,aAAa,EACnC,iBAAiB,EAAE,MACjB,IAAI,CAAC,6BAA6B,EAAE,EAEtC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,cAAc,EAAE,iBAAiB,EACjC,aAAa,EAAE,aAAa,GACJ,CAC3B,CACG,EACNA,iBAAK,KAAK,EAAC,cAAc,gBAAa,cAAc,IACjD,IAAI,CAAC,QAAQ,IAAI,eAAe,EAAE,EAClC,CAAC,IAAI,CAAC,QAAQ,KACbA,0BACE,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAEA,wBAAY,OAAO,EAAE,UAAU,GAAe,EACpD,YAAY,QACZ,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,GAC1B,CACjB,EACDA,iBAAK,KAAK,EAAC,eAAe,IACxBA,iBAAK,KAAK,EAAC,gBAAgB,IACzBA,4BACE,YAAY,EAAE,iBAAiB,EAC/B,SAAS,EAAE,IAAI,CAAC,oBAAoB,IAEpCA,0BACE,SAAS,EAAE,IAAI,CAAC,oBAAoB,EACpC,MAAM,EAAE,IAAI,CAAC,QAAQ,EACrB,OAAO,EAAE;UACP,IAAI,CAAC,oBAAoB;YACvB,CAAC,IAAI,CAAC,oBAAoB,CAAC;SAC9B,EACD,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,GACvB,EAEhBA,iCAAqC,CACtB,CACb,EAENA,2BAAe,OAAO,EAAE,EAAE,IAExBA,oCAA2C,EAE3CA,kCACE,KAAK,EAAC,iCAAiC,EACvC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,GACD,CACV,CACZ,EAGL,CAAC,IAAI,CAAC,QAAQ,IAAI,YAAY,EAAE,CAC7B,EAEL,IAAI,CAAC,QAAQ,IAAI,YAAY,EAAE,CAC/B,CACJ,EAEA,CAAClB,cAAS,CAAC,IAAI,KAAK,QAAQ,IAAIA,cAAS,CAAC,IAAI,KAAK,OAAO,MACzDkB,iBAAK,KAAK,EAAC,aAAa,gBAAa,cAAc,IACjDA,iBAAK,KAAK,EAAC,eAAe,IACvB,UAAU,EAAE,EACbA,0BACE,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAEA,wBAAY,OAAO,EAAE,UAAU,GAAe,EACpD,YAAY,QACZ,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,EACvC,KAAK,EAAE,cAAc,GACP,CACZ,EACNA,mCACE,YAAY,EAAE,KAAK,EACnB,YAAY,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAC5C,oBAAoB,EAClBlB,cAAS,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAACA,cAAS,CAAC,KAAK;4CAEtCA,cAAS,CAAC,KAAK,KAClB,IAAI,EAAE,OAAO,MAEf,SAAS,EAEf,oBAAoB,EAAE,IAAI,CAAC,8BAA8B,GAClC,CACrB,CACP,CACG,EACN;KACH,CAAC;IAEF,QACEkB,QAACE,UAAI,IACH,KAAK,EAAEC,eAAO,CAAC;QACb,iCAAiC;QACjC,SAAS,IAAI,YAAY;QACzB,IAAI,CAAC,OAAO,IAAI,SAAS;QACzB,IAAI,CAAC,QAAQ,IAAI,QAAQ;OAC1B,CAAC,IAED,IAAI,CAAC,OAAO,IACX,aAAa,EAAE,KAEfH,0BACE,WAAW,EAAE,KAAK,gBACN,cAAc,EAC1B,MAAM,EAAC,OAAO,EACd,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,EACrB,aAAa,QACb,QAAQ,QACR,cAAc,QACd,aAAa,QACb,aAAa,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAC9C,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,QAAQ,IAEb,aAAa,EAAE,CACH,CAChB,CACI,EACP;GACH;;;;;;;;;;;","names":["zonosStore","initStripeElements","cartStore","cartStoreUpdateItems","submitGtag","cartStoreReset","log","stripeStore","stripeStoreInitCheckoutSession","localizationStore","cartStoreUpdateToErrorState","translate","stripeStorePrefetchLandedCost","cartStoreNextStep","stripeStoreConfirmPayment","stripeStoreReset","cartStorePreviousStep","isCheckoutMobile","mergeConfig","isDarkColor","h","getBorderRadius","Host","classes"],"sources":["src/components/checkout/zonos-checkout/zonos-checkout.scss?tag=zonos-checkout&encapsulation=scoped","src/components/checkout/zonos-checkout/zonos-checkout.tsx"],"sourcesContent":["$primary-color: var(--primary-color, $amino-gray-0);\n$border-radius: var(--border-radius, $amino-radius-10);\n\n:host {\n * {\n @include zonos--scrollbar;\n }\n .zonos--content {\n display: flex;\n height: 100%;\n overflow: hidden;\n border-radius: $border-radius;\n .zonos--left,\n .zonos--right {\n flex: 1;\n padding: $amino-space-48 $amino-space-56;\n }\n .zonos--left {\n background-color: $primary-color;\n border-right: 1px solid $amino-gray-200;\n }\n .zonos--right {\n background-color: $amino-gray-0;\n padding-bottom: $amino-space-80;\n }\n\n .zonos--done {\n width: 100%;\n max-height: 100%;\n height: 100%;\n overflow: auto;\n flex-direction: column;\n background-color: $amino-gray-0;\n align-items: center;\n justify-content: center;\n padding: $amino-space-24;\n padding-bottom: 50px;\n .zonos--header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n img {\n width: 150px;\n min-width: 150px;\n }\n }\n .zonos--logo {\n margin-bottom: 0;\n }\n\n zonos-checkout-finish {\n flex: 1;\n }\n }\n }\n\n .zonos--left {\n display: flex;\n flex-direction: column;\n .zonos--back-button {\n margin-bottom: $amino-space-24;\n }\n .zonos--wrapper {\n padding: 0 $amino-space-8 $amino-space-8;\n }\n .zonos--payment-error-banner {\n margin-top: $amino-space-24;\n }\n }\n\n .zonos--right {\n position: relative;\n .zonos--close-button {\n position: absolute;\n right: $amino-space-32;\n top: $amino-space-32;\n }\n }\n .zonos--footer {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n position: absolute;\n bottom: $amino-space-32;\n right: $amino-space-56;\n gap: $amino-space-8;\n }\n\n .zonos--wrapper {\n overflow: auto;\n max-height: 100%;\n position: relative;\n }\n\n .flex--wrapper {\n display: flex;\n flex-direction: column;\n max-height: 100%;\n }\n\n .zonos--logo {\n display: flex;\n align-items: center;\n }\n\n .zonos--checkout-default-message {\n margin-left: $amino-space-76;\n margin-bottom: $amino-space-8;\n }\n}\n\n:host(.preview) {\n min-width: 500px;\n margin: auto;\n .zonos--content {\n border: $amino-border;\n .zonos--done {\n padding: $amino-space-32;\n }\n }\n}\n\n:host(.mobile) {\n @include checkout-mobile;\n}\n","import {\n Component,\n Fragment,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { PaymentIntent, Stripe } from '@stripe/stripe-js';\n\nimport {\n type CartItem,\n cartStore,\n cartStoreNextStep,\n cartStorePreviousStep,\n cartStoreReset,\n cartStoreUpdateItems,\n cartStoreUpdateToErrorState,\n} from 'src/components/store/checkout/cart';\nimport {\n type ContactOption,\n initStripeElements,\n stripeStore,\n stripeStoreConfirmPayment,\n stripeStoreInitCheckoutSession,\n stripeStorePrefetchLandedCost,\n stripeStoreReset,\n} from 'src/components/store/checkout/stripe';\nimport { localizationStore } from 'src/components/store/hello/localization';\nimport { translate } from 'src/components/store/translationStore';\nimport {\n type AppearanceConfig,\n zonosStore,\n} from 'src/components/store/zonosStore';\nimport { isCheckoutMobile } from 'src/components/utils/checkout/isCheckoutMobile';\nimport { classes } from 'src/components/utils/classes';\nimport { getBorderRadius } from 'src/components/utils/getBorderRadius';\nimport { isDarkColor } from 'src/components/utils/isDarkColor';\nimport { log } from 'src/components/utils/logging/log';\nimport { mergeConfig } from 'src/components/utils/mergeConfig';\nimport { submitGtag } from 'src/components/utils/submitGtag';\nimport type { ElementsUiTheme } from 'src/types/generated/graphql.customer.types';\nimport type { Locale_PageName_Enum } from 'src/types/generated/graphql.frontend.types';\n\n/** These assets neet to be in relative path as https://www.npmjs.com/package/stencil-inline-svg suggested */\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport LeftArrow from './assets/LeftArrow.svg';\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport MessageIcon from './assets/MessageIcon.svg';\n// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths\nimport RemoveIcon from './assets/RemoveIcon.svg';\n\n@Component({\n /**\n * Use `scope` here just because this component is `zonos-address` which is using stripe elements and stripe\n * need to be able to inject iframe into this component from the DOM\n */\n assetsDirs: ['assets'],\n scoped: true,\n styleUrl: 'zonos-checkout.scss',\n tag: 'zonos-checkout',\n})\nexport class ZonosCheckout {\n /**\n * Override appearance config\n */\n @Prop() appearanceSettingsOverride?: Partial<AppearanceConfig>;\n /**\n * Preview checkout without needing to click on the button. This would be useful for demo purpose\n */\n @Prop() preview: boolean = false;\n\n /**\n * Flag to determine if the checkout is on mobile\n */\n @Prop() mobile: boolean = false;\n\n /**\n * The button element that will open the dialog\n */\n @Prop() buttonAnchorElements: HTMLElement[] | null = null;\n\n /**\n * Default address to use for the checkout (preview mode)\n */\n @Prop() defaultAddress: ContactOption | null = null;\n\n /**\n * Force dialog to be open\n */\n @Prop() forceDialogOpen: boolean = false;\n\n /**\n * Whether or not the dialog is open\n */\n @State() open: boolean = this.forceDialogOpen;\n\n /**\n * The stripe instance\n */\n @State() stripe: Stripe | null = window.Zonos.stripe;\n\n /**\n * Whether or not the submit button is loading in `step` component\n */\n @State() submitLoading: boolean = false;\n\n /**\n * Error when submitting payment\n */\n @State() paymentError: boolean = false;\n\n @State() collapseReviewMobile: boolean = false;\n\n /**\n * Determine if we should skip and not hijack the Checkout button click event\n * Sometimes stripe or our api has error, we don't want to hijack the click event.\n */\n @State() isAttachError = false;\n\n @State() isMobile: boolean = false;\n\n @State() zonosReviewRef?: HTMLZonosReviewElement;\n\n @State() storybookPaymentStatusOverride?: PaymentIntent['status'];\n\n /**\n * Init cart info handler event\n */\n @Listen('zonos--init-cart-info', { target: 'body' })\n async initCartInfoHandler(e: CustomEvent<CartItem[]>) {\n const cartItems = e.detail;\n void cartStoreUpdateItems(cartItems);\n }\n\n /**\n * Close dialog action\n */\n @Method()\n async closeDialogHandler() {\n submitGtag('zonos-checkout-close');\n this.open = this.forceDialogOpen || false;\n\n if (!this.preview && cartStore.step === 'finish') {\n // reset cart store if it's not preview mode and only when checkout is in the finish step.\n cartStoreReset();\n }\n // reset step to customer info\n cartStore.step = 'customer-info';\n }\n\n private applyStripeTheme = async () => {\n const theme =\n this.appearanceSettingsOverride?.theme || zonosStore.appearance.theme;\n\n await initStripeElements({\n overrideBorderRaidus: this.appearanceSettingsOverride?.style,\n overridePrimaryColor: this.appearanceSettingsOverride?.colorPrimary,\n // only override theme or theme from appearance if it's mobile\n overrideTheme: this.isMobile ? theme : undefined,\n });\n };\n\n private async buildCartAndInit() {\n if (zonosStore.checkoutSettings.buildCartDetail) {\n log('build cart detail');\n const cartItems = await zonosStore.checkoutSettings.buildCartDetail();\n await cartStoreUpdateItems(cartItems);\n }\n\n // if client secret doesn't exist, request a new one.\n if (!stripeStore.clientSecret) {\n const success = await stripeStoreInitCheckoutSession();\n if (!success) {\n return false;\n }\n }\n\n // apply theme to stripe elements\n await this.applyStripeTheme();\n return true;\n }\n\n private attachCheckout() {\n if (!this.buttonAnchorElements) {\n // do nothing if button element is not found\n return;\n }\n // only attach event once, and looping through all of the button elements\n this.buttonAnchorElements.forEach(button => {\n const isEventAttached = button.getAttribute(\n 'data-zonos-checkout-attached',\n );\n if (!isEventAttached) {\n button.addEventListener('click', async e => {\n if (!localizationStore.localizationLoaded) {\n return;\n }\n // if localization is loaded and the localization is not a shippable country, keep the original click event\n if (!localizationStore.isShippableCountry) {\n log(`not shippable country`);\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n log('zonos checkout button clicked');\n this.open = true;\n\n const result = await this.buildCartAndInit();\n if (!result) {\n cartStoreUpdateToErrorState({\n messages: [\n translate(\n \"There's been an error creating your checkout session. Please reload and try again or contact support if the error persists\",\n ),\n ],\n title: translate('Error creating Checkout'),\n });\n return;\n }\n submitGtag('zonos-checkout-start');\n });\n button.setAttribute('data-zonos-checkout-attached', 'true');\n }\n });\n }\n\n @Watch('appearanceSettingsOverride')\n appearanceSettingsOverrideChanged() {\n if (!this.appearanceSettingsOverride) {\n return;\n }\n\n // apply theme to stripe elements\n void this.applyStripeTheme();\n }\n\n /**\n * Setup all of the event listeners for the component on first load\n */\n @Method()\n public async init() {\n stripeStore.stripe = window.Zonos.stripe;\n this.stripe = window.Zonos.stripe;\n\n // only init checkout if visitor's country is in the shipping zones.\n const interval = setInterval(() => {\n stripeStore.stripe = window.Zonos.stripe;\n this.stripe = window.Zonos.stripe;\n\n if (!localizationStore.localizationLoaded) {\n return;\n }\n // if localization is loaded and the localization is not a shippable country, stop the interval and don't init checkout\n // No need to check localization if it's preview mode\n if (!localizationStore.isShippableCountry && !this.preview) {\n log('not shippable country');\n clearInterval(interval);\n return;\n }\n\n if (!this.stripe) {\n log('waiting for stripe to be loaded');\n return;\n }\n\n if (this.storybookPaymentStatusOverride) {\n clearInterval(interval);\n return;\n }\n\n log('init checkout');\n if (this.preview || this.forceDialogOpen) {\n void this.buildCartAndInit();\n } else {\n this.attachCheckout();\n }\n clearInterval(interval);\n }, 100);\n\n setTimeout(() => {\n // if localization is not loaded after 10 seconds, stop the interval and don't init checkout\n clearInterval(interval);\n }, 10_000);\n }\n\n /**\n * For storybook to set to finish step, this is to trigger in the story for zonos-checkout-finish\n */\n @Method()\n public async setToFinishStep(forcePaymentStatus?: PaymentIntent['status']) {\n cartStore.step = 'finish';\n this.storybookPaymentStatusOverride = forcePaymentStatus;\n }\n\n private async handleCustomerInfoContinue() {\n this.submitLoading = true;\n\n // fetch landed cost data if we not fetching.\n await stripeStorePrefetchLandedCost();\n\n // keep checking landed cost data until it's ready to move to next screen\n const interval = setInterval(() => {\n if (cartStore.landedCostData || !stripeStore.isFetchingLandedCost) {\n if (cartStore.landedCostData) {\n // only go to next step if landed cost data is ready\n cartStoreNextStep();\n }\n this.submitLoading = false;\n clearInterval(interval);\n }\n }, 500);\n }\n\n private async handleShippingContinue() {\n this.submitLoading = true;\n // show loading for the button for a bit\n setTimeout(() => {\n cartStoreNextStep();\n this.submitLoading = false;\n }, 500);\n }\n\n private async handleCheckoutPaymentContinue() {\n // reset error state\n this.paymentError = false;\n this.submitLoading = true;\n try {\n await stripeStoreConfirmPayment();\n cartStoreNextStep();\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error(err);\n this.paymentError = true;\n }\n this.submitLoading = false;\n }\n\n private async handleFinishClick() {\n // reset stripe store\n stripeStoreReset();\n\n if (this.preview) {\n cartStore.step = 'customer-info';\n await this.init();\n return;\n }\n // reset cart store\n cartStoreReset();\n\n // reset url\n const url = window.location.href;\n\n // Remove query parameters\n const cleanUrl = url.split('?')[0];\n\n // Update the URL without query parameters\n window.history.replaceState({}, document.title, cleanUrl);\n this.open = false;\n }\n\n private async handleBackClick() {\n // close the modal if back button is clicked on customer info step\n if (cartStore.step === 'customer-info') {\n await this.closeDialogHandler();\n return;\n }\n cartStorePreviousStep();\n }\n\n private getCurrentLocalePageEnum = (): Locale_PageName_Enum | null => {\n switch (cartStore.step) {\n case 'customer-info':\n return 'checkout_customer_info';\n case 'shipping':\n return 'checkout_shipping_info';\n case 'payment':\n return 'checkout_payment_info';\n\n default:\n return null;\n }\n };\n\n @Listen('resize', { target: 'window' })\n handleWindowResize() {\n this.isMobile = isCheckoutMobile(this.mobile);\n // apply theme to stripe elements\n void this.applyStripeTheme();\n log(`mobile: ${this.isMobile}`);\n }\n\n @Watch('mobile')\n handleMobileChange() {\n this.isMobile = isCheckoutMobile(this.mobile);\n // apply theme to stripe elements\n void this.applyStripeTheme();\n log(`mobile: ${this.isMobile}`);\n }\n\n componentWillLoad() {\n void this.init();\n this.isMobile = isCheckoutMobile(this.mobile);\n log(`mobile: ${this.isMobile}`);\n }\n\n // do clean up when component is unmounted\n disconnectedCallback() {\n // reset stripe store\n stripeStoreReset();\n // reset cart store\n cartStoreReset();\n }\n\n render() {\n const dialogLoading =\n // if it's last step, don't need to check stripe elements\n (cartStore.step !== 'finish' && !stripeStore.stripeElements) ||\n stripeStore.isFetchingSession;\n\n const { colorPrimary, colorSecondary, logoUrl, style } = mergeConfig(\n zonosStore.appearance,\n this.appearanceSettingsOverride,\n );\n\n const hasFooter = zonosStore.appearance.zonosAttribution === 'ENABLED';\n\n const rightSideTheme = zonosStore.appearance.theme;\n\n const themePrimaryColorBased: ElementsUiTheme =\n colorPrimary && isDarkColor(colorPrimary) ? 'DARK' : 'LIGHT';\n\n // use right side theme if it's mobile, otherwise use themePrimaryColorBased\n const leftSideTheme: ElementsUiTheme = this.isMobile\n ? rightSideTheme\n : themePrimaryColorBased;\n\n // only use submit button color if it's on desktop\n const submitButtonColor = !this.isMobile ? colorSecondary : undefined;\n\n const { customMessages } = localizationStore;\n const defaultMessage =\n customMessages.find(x => x.pageName === 'checkout_default')?.message ||\n 'Know about duties and taxes before you buy. Shop with confidence!';\n\n const localePageEnum = this.getCurrentLocalePageEnum();\n const filteredMessages = customMessages.filter(\n x => x.pageName === localePageEnum,\n );\n\n const renderLogo = () => (\n <div class=\"zonos--logo\">\n {logoUrl && (\n <img\n alt={`${zonosStore.organizationName} logo`}\n src={logoUrl}\n width={100}\n />\n )}\n </div>\n );\n\n const renderTopHeader = () => (\n <zonos-v-stack>\n {renderLogo()}\n\n {filteredMessages.map(x => (\n <zonos-custom-message\n icon={MessageIcon}\n message={x.message}\n ></zonos-custom-message>\n ))}\n\n <div>\n <zonos-button\n class=\"zonos--back-button\"\n icon={<zonos-icon content={LeftArrow}></zonos-icon>}\n noBackground\n noPaddingLeft\n noPaddingRight\n onClick={() => this.handleBackClick()}\n theme={leftSideTheme}\n >\n {translate('Back')}\n </zonos-button>\n </div>\n </zonos-v-stack>\n );\n\n const renderFooter = () =>\n hasFooter && (\n <div class=\"zonos--footer\" data-theme={rightSideTheme}>\n <zonos-text type=\"hintText\">{translate('Powered by')}</zonos-text>\n <zonos-logo theme={rightSideTheme} width=\"100px\"></zonos-logo>\n </div>\n );\n\n const renderContent = () => {\n const submitBtnType = this.isMobile ? 'primary' : undefined;\n const reviewElementSize = this.zonosReviewRef?.scrollHeight;\n return (\n <div\n class={'zonos--content'}\n style={{\n '--border-radius': getBorderRadius(style),\n }}\n >\n {cartStore.step !== 'finish' && cartStore.step !== 'error' && (\n <>\n <div\n class=\"zonos--left\"\n data-theme={leftSideTheme}\n style={{\n '--primary-color': !this.isMobile ? colorPrimary : '',\n }}\n >\n {!this.isMobile && renderTopHeader()}\n {cartStore.step === 'customer-info' && (\n <zonos-customer-info\n continueLoading={this.submitLoading}\n defaultAddress={this.defaultAddress}\n onContinueClicked={() => this.handleCustomerInfoContinue()}\n submitBtnColor={submitButtonColor}\n submitBtnType={submitBtnType}\n ></zonos-customer-info>\n )}\n {cartStore.step === 'shipping' && (\n <zonos-shipping\n continueLoading={this.submitLoading}\n onContinueClicked={() => this.handleShippingContinue()}\n submitBtnColor={submitButtonColor}\n submitBtnType={submitBtnType}\n ></zonos-shipping>\n )}\n {cartStore.step === 'payment' && (\n <zonos-checkout-payment\n continueLoading={this.submitLoading}\n onContinueClicked={() =>\n this.handleCheckoutPaymentContinue()\n }\n paymentError={this.paymentError}\n submitBtnColor={submitButtonColor}\n submitBtnType={submitBtnType}\n ></zonos-checkout-payment>\n )}\n </div>\n <div class=\"zonos--right\" data-theme={rightSideTheme}>\n {this.isMobile && renderTopHeader()}\n {!this.isMobile && (\n <zonos-button\n class=\"zonos--close-button\"\n icon={<zonos-icon content={RemoveIcon}></zonos-icon>}\n noBackground\n onClick={() => this.closeDialogHandler()}\n ></zonos-button>\n )}\n <div class=\"flex--wrapper\">\n <div class=\"zonos--wrapper\">\n <zonos-collapse\n collapseSize={reviewElementSize}\n collapsed={this.collapseReviewMobile}\n >\n <zonos-review\n collapsed={this.collapseReviewMobile}\n mobile={this.isMobile}\n onClick={() => {\n this.collapseReviewMobile =\n !this.collapseReviewMobile;\n }}\n ref={el => (this.zonosReviewRef = el)}\n ></zonos-review>\n {/* Cart item rows */}\n <zonos-cart-items></zonos-cart-items>\n </zonos-collapse>\n </div>\n\n <zonos-v-stack spacing={16}>\n {/* Cart subtotal row */}\n <zonos-cart-subtotal></zonos-cart-subtotal>\n\n <zonos-custom-message\n class=\"zonos--checkout-default-message\"\n icon={MessageIcon}\n message={defaultMessage}\n ></zonos-custom-message>\n </zonos-v-stack>\n </div>\n\n {/* Only show footer on desktop */}\n {!this.isMobile && renderFooter()}\n </div>\n {/* Only show footer on mobile */}\n {this.isMobile && renderFooter()}\n </>\n )}\n\n {(cartStore.step === 'finish' || cartStore.step === 'error') && (\n <div class=\"zonos--done\" data-theme={rightSideTheme}>\n <div class=\"zonos--header\">\n {renderLogo()}\n <zonos-button\n class=\"zonos--close-button\"\n icon={<zonos-icon content={RemoveIcon}></zonos-icon>}\n noBackground\n onClick={() => this.handleFinishClick()}\n theme={rightSideTheme}\n ></zonos-button>\n </div>\n <zonos-checkout-finish\n borderRadius={style}\n onCloseClick={() => this.handleFinishClick()}\n overrideNotification={\n cartStore.step === 'error' && !!cartStore.error\n ? {\n ...cartStore.error,\n type: 'error',\n }\n : undefined\n }\n storybookForceStatus={this.storybookPaymentStatusOverride}\n ></zonos-checkout-finish>\n </div>\n )}\n </div>\n );\n };\n\n return (\n <Host\n class={classes([\n 'zonos--checkout zonos--elements',\n hasFooter && 'has-footer',\n this.preview && 'preview',\n this.isMobile && 'mobile',\n ])}\n >\n {this.preview ? (\n renderContent()\n ) : (\n <zonos-dialog\n borderStyle={style}\n data-theme={rightSideTheme}\n height=\"980px\"\n isLoading={dialogLoading}\n mobile={this.isMobile}\n noBodyPadding\n noBorder\n noClickOutside\n noCloseButton\n onCloseDialog={() => this.closeDialogHandler()}\n open={this.open}\n width=\"1200px\"\n >\n {renderContent()}\n </zonos-dialog>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"zonos-component.entry.cjs.js","mappings":";;;;;;SAAgB,MAAM,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY;EAChE,QACE,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,EACvE;AACJ;;ACJA,MAAM,iBAAiB,GAAG,mSAAmS;;MCShT,cAAc;;;iBAID,EAAE;kBAKD,EAAE;gBAKJ,EAAE;;EAEjB,OAAO;IACb,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;GACnD;EAED,MAAM;IACJ,OAAOA,2CAAwB,IAAI,CAAC,OAAO,EAAE,CAAO,CAAC;GACtD;;;;;;","names":["h"],"sources":["src/utils/format.ts","src/components/component-template/zonos-component/zonos-component.scss?tag=zonos-component&encapsulation=shadow","src/components/component-template/zonos-component/zonos-component.tsx"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (\n (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '')\n );\n}\n","div {\n color: red;\n font-size: large;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\nimport { format } from 'src/utils/format';\n\n@Component({\n shadow: true,\n styleUrl: 'zonos-component.scss',\n tag: 'zonos-component',\n})\nexport class ZonosComponent {\n /**\n * The first name\n */\n @Prop() first: string = '';\n\n /**\n * The middle name\n */\n @Prop() middle: string = '';\n\n /**\n * The last name\n */\n @Prop() last: string = '';\n\n private getText(): string {\n return format(this.first, this.middle, this.last);\n }\n\n render() {\n return <div>Hello, World! I'm {this.getText()}</div>;\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"zonos-controller.entry.cjs.js","mappings":"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","names":["handleFetch","logError","isValidSelector","log","stripeStore","zonosStore","zonosStoreInitSetting","initLocalizationStore","localizationStoreUpdateSelectedCountryCode","h","Host"],"sources":["src/components/utils/api/getZonosSetting.ts","src/components/utils/checkout/initCheckout.ts","src/components/utils/hello/initHello.ts","src/components/main/zonos-controller.scss?tag=zonos-controller&encapsulation=shadow","src/components/main/zonos-controller.tsx"],"sourcesContent":["import { handleFetch } from 'src/components/utils/handleFetch';\nimport { logError } from 'src/components/utils/logging/logError';\nimport type { ZonosSettingsQuery } from 'src/types/generated/graphql.customer.types';\n\nexport const getZonosSetting = async () => {\n const url = `${process.env.NEXT_PUBLIC_ZONOS_ROUTE_URL}/api/zonos-setting`;\n const { errors, json } = await handleFetch<ZonosSettingsQuery>(url);\n if (errors.length) {\n logError(\n `Error occurs when getting zonos settings. If this is not an unauthorized error, it will use user setting or default setting`,\n );\n return { errors, json: null };\n }\n return { errors: [], json };\n};\n","import { isValidSelector } from 'src/components/utils/isValidSelector';\nimport { logError } from 'src/components/utils/logging/logError';\nimport type { CheckoutConfig } from 'src/types/checkout/CheckoutConfig';\n\nconst injectCheckoutElement = (triggerAnchorElement: HTMLElement[] | null) => {\n // append checkout component if doesn't exist\n const checkoutElement = document.querySelector('zonos-checkout');\n\n if (!checkoutElement) {\n const newCheckoutElement = document.createElement('zonos-checkout');\n newCheckoutElement.buttonAnchorElements = triggerAnchorElement;\n\n document.body.appendChild(newCheckoutElement);\n }\n};\n\nexport const initCheckout = async (config: Partial<CheckoutConfig>) => {\n if (!config.placeOrderButtonSelector) {\n // do nothing if checkout button anchor is not set\n return;\n }\n\n // check if checkout button anchor selector user pass in is valid\n if (!isValidSelector(config.placeOrderButtonSelector)) {\n logError(\n `Selector checkoutButtonAnchor \"${config.placeOrderButtonSelector}\" is not a valid selector`,\n );\n return;\n }\n\n const triggerElement = document.querySelectorAll(\n config.placeOrderButtonSelector,\n );\n injectCheckoutElement(triggerElement as unknown as HTMLElement[]);\n};\n","import { isValidSelector } from 'src/components/utils/isValidSelector';\nimport { log } from 'src/components/utils/logging/log';\nimport { logError } from 'src/components/utils/logging/logError';\nimport type { HelloSettingFragment } from 'src/types/generated/graphql.customer.types';\n\nconst injectHelloComponent = (triggerAnchorElement: HTMLElement | null) => {\n // append checkout component if doesn't exist\n const helloElement = document.querySelector('zonos-hello');\n\n if (!helloElement && triggerAnchorElement) {\n const newHelloElement = document.createElement('zonos-hello');\n triggerAnchorElement.appendChild(newHelloElement);\n }\n};\n\nexport const initHello = async (\n helloSettings: Partial<HelloSettingFragment>,\n) => {\n const { anchorElementSelector } = helloSettings;\n // check if checkout button anchor selector user pass in is valid to setup hello\n if (!anchorElementSelector || !isValidSelector(anchorElementSelector)) {\n logError(\n `Selector anchorElementSelector \"${helloSettings.anchorElementSelector}\" is not a valid selector.`,\n );\n return;\n }\n\n const triggerElement = document.querySelector<HTMLElement>(\n anchorElementSelector,\n );\n\n log('Hello init complete');\n injectHelloComponent(triggerElement);\n};\n",":host {\n visibility: hidden;\n opacity: 0;\n height: 0;\n}\n","import {\n type EventEmitter,\n Component,\n Event,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport type { Stripe } from '@stripe/stripe-js';\n\nimport type { NotificationInit } from 'src/components/common/zonos-notification/zonos-notification';\nimport { stripeStore } from 'src/components/store/checkout/stripe';\nimport {\n initLocalizationStore,\n localizationStoreUpdateSelectedCountryCode,\n} from 'src/components/store/hello/localization';\nimport {\n zonosStore,\n zonosStoreInitSetting,\n} from 'src/components/store/zonosStore';\nimport { getZonosSetting } from 'src/components/utils/api/getZonosSetting';\nimport { initCheckout } from 'src/components/utils/checkout/initCheckout';\nimport { initHello } from 'src/components/utils/hello/initHello';\nimport { log } from 'src/components/utils/logging/log';\nimport type { LoadZonosParamsConfig } from 'src/scripts/zonos';\nimport type { CountryCode } from 'src/types/generated/graphql.customer.types';\n\n@Component({\n shadow: true,\n styleUrl: 'zonos-controller.scss',\n tag: 'zonos-controller',\n})\nexport class ZonosController {\n /**\n * The zonos config object\n */\n @Prop() config!: LoadZonosParamsConfig;\n\n /**\n * The zonos api key\n */\n @Prop() zonosApiKey!: string;\n\n /**\n * Event emitted when stripe is initialized\n */\n @Event() stripeInitEvent?: EventEmitter<{ publishableKey: string }>;\n\n /**\n * Method to initialize checkout element\n */\n @Method()\n public async initCheckoutElement(stripe: Stripe) {\n if (!stripe) {\n // eslint-disable-next-line no-console\n log('Stripe is not loaded yet - cannot init checkout element', 'warn');\n return;\n }\n stripeStore.stripe = stripe;\n void initCheckout(zonosStore.checkoutSettings);\n log('init checkout element');\n }\n\n /**\n * Init zonos notification\n */\n private initZonosNotification() {\n const existingNotification = document.querySelector('zonos-notification');\n if (existingNotification) {\n return;\n }\n const zonosNotification = document.createElement('zonos-notification');\n document.body.appendChild(zonosNotification);\n }\n\n async componentWillLoad() {\n zonosStore.zonosApiKey = this.zonosApiKey;\n // running with scope async function to avoid blocking the main thread\n (async () => {\n const { errors, json } = await getZonosSetting();\n if (errors[0]?.type.toString() === '403') {\n log(\n 'Failed to load zonos settings. This domain may not have access',\n 'warn',\n );\n return;\n }\n\n // init zonos notification\n this.initZonosNotification();\n\n // load default setting if fail to load user setting\n zonosStoreInitSetting({\n overrideSettings: this.config,\n zonosSettings: json,\n });\n\n if (zonosStore.helloSettings) {\n void initHello(zonosStore.helloSettings);\n }\n // init localization store\n await initLocalizationStore();\n\n // checkout init\n const publishableKey =\n json?.checkoutSettings?.externalServiceTokens.find(\n item => item.type === 'STRIPE_PUBLISHABLE_TOKEN',\n ) || null;\n\n if (!publishableKey || !this.stripeInitEvent) {\n log('Checkout failed to load -- missing publishable key', 'warn');\n return;\n }\n\n // send publishable key out to load stripe\n this.stripeInitEvent.emit({\n publishableKey: publishableKey.token,\n });\n\n // eslint-disable-next-line no-console\n log('zonos controller loaded');\n })();\n }\n\n /**\n * Show notification\n */\n @Method()\n public async showNotification(notification: NotificationInit) {\n const notificationElement = document.querySelector('zonos-notification');\n if (!notificationElement) {\n log('Failed to show notification - zonos-notification not found', 'warn');\n return;\n }\n void notificationElement.showNotification(notification);\n }\n\n /**\n * Override the setting\n * @param config config that need to override the default setting\n */\n @Method()\n public async overrideConfig(config: LoadZonosParamsConfig) {\n zonosStoreInitSetting({\n overrideSettings: config,\n zonosSettings: null,\n });\n }\n\n /**\n * Override country code for storybook\n */\n @Method()\n public async overrideCountry(countryCode: CountryCode) {\n void localizationStoreUpdateSelectedCountryCode(countryCode);\n }\n\n render() {\n return <Host class=\"zonos--elements\"></Host>;\n }\n}\n"],"version":3}