@zonos/elements 1.2.2 → 1.2.4-alpha.1

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 (546) hide show
  1. package/dist/cjs/cart-4ddc2af5.js +616 -0
  2. package/dist/cjs/getBorderRadius-a97a5f75.js +18 -0
  3. package/dist/cjs/getHasMoreSpaceOnRight-4c94667f.js +10 -0
  4. package/dist/cjs/{index-9542d2e7.js → index-20cb112f.js} +127 -26
  5. package/dist/cjs/index.cjs.js +6 -6
  6. package/dist/cjs/isColorVariable-41cacd82.js +16 -0
  7. package/dist/cjs/{isDarkColor-f3446afd.js → isDarkColor-261fcf3d.js} +2 -2
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/cjs/localization-11360fed.js +3629 -0
  10. package/dist/cjs/submitGtag-bb093547.js +27 -0
  11. package/dist/cjs/zonos-address_2.cjs.entry.js +108 -108
  12. package/dist/cjs/zonos-badge.cjs.entry.js +25 -22
  13. package/dist/cjs/zonos-banner.cjs.entry.js +65 -53
  14. package/dist/cjs/zonos-button_2.cjs.entry.js +100 -99
  15. package/dist/cjs/zonos-card_2.cjs.entry.js +32 -27
  16. package/dist/cjs/zonos-cart-items_10.cjs.entry.js +422 -419
  17. package/dist/cjs/zonos-checkout.cjs.entry.js +356 -352
  18. package/dist/cjs/zonos-component.cjs.entry.js +15 -15
  19. package/dist/cjs/zonos-controller.cjs.entry.js +235 -151
  20. package/dist/cjs/zonos-country-flag_4.cjs.entry.js +85 -77
  21. package/dist/cjs/zonos-elements.cjs.js +3 -3
  22. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +101 -101
  23. package/dist/cjs/zonos-hello.cjs.entry.js +349 -349
  24. package/dist/cjs/zonos-icon.cjs.entry.js +22 -20
  25. package/dist/cjs/zonos-notification.cjs.entry.js +60 -57
  26. package/dist/cjs/zonos-payment.cjs.entry.js +45 -45
  27. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +40 -40
  28. package/dist/cjs/zonos-text.cjs.entry.js +145 -143
  29. package/dist/cjs/{zonosStore-a430ec5b.js → zonosStore-a0fa5b77.js} +102 -97
  30. package/dist/collection/__mocks__/vercel-app/loadZonos.js +492 -0
  31. package/dist/collection/__mocks__/vercel-app/localization.js +1 -0
  32. package/dist/collection/__mocks__/vercel-app/zonos-hello.entry.js +1 -0
  33. package/dist/collection/__mocks__/zonos-url/loadZonos.js +492 -0
  34. package/dist/{esm-es5/localization-f3828793.js → collection/__mocks__/zonos-url/localization.js} +1 -1
  35. package/dist/collection/__mocks__/zonos-url/zonos-hello.entry.js +1 -0
  36. package/dist/collection/__tests__/build-utils/urlCheckOne.js +59 -0
  37. package/dist/collection/collection-manifest.json +2 -2
  38. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.css +4 -1
  39. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +37 -37
  40. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.css +4 -1
  41. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +44 -44
  42. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.css +4 -1
  43. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +164 -164
  44. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.css +4 -1
  45. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +149 -149
  46. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.css +4 -1
  47. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +559 -555
  48. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +4 -1
  49. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +153 -153
  50. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.css +4 -1
  51. package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.js +107 -107
  52. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +4 -1
  53. package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +164 -164
  54. package/dist/collection/components/common/countries.js +261 -261
  55. package/dist/collection/components/common/zonos-badge/zonos-badge.css +4 -1
  56. package/dist/collection/components/common/zonos-badge/zonos-badge.js +189 -186
  57. package/dist/collection/components/common/zonos-banner/zonos-banner.css +4 -1
  58. package/dist/collection/components/common/zonos-banner/zonos-banner.js +140 -128
  59. package/dist/collection/components/common/zonos-button/zonos-button.css +5 -5
  60. package/dist/collection/components/common/zonos-button/zonos-button.js +407 -406
  61. package/dist/collection/components/common/zonos-card/zonos-card.css +4 -1
  62. package/dist/collection/components/common/zonos-card/zonos-card.js +165 -162
  63. package/dist/collection/components/common/zonos-collapse/zonos-collapse.css +4 -1
  64. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +85 -83
  65. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.css +4 -1
  66. package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.js +101 -96
  67. package/dist/collection/components/common/zonos-country-select/zonos-country-select.css +4 -1
  68. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +73 -70
  69. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.css +4 -1
  70. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +62 -59
  71. package/dist/collection/components/common/zonos-dialog/zonos-dialog.css +4 -1
  72. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +373 -371
  73. package/dist/collection/components/common/zonos-icon/zonos-icon.css +4 -1
  74. package/dist/collection/components/common/zonos-icon/zonos-icon.js +123 -121
  75. package/dist/collection/components/common/zonos-logo/zonos-logo.css +4 -1
  76. package/dist/collection/components/common/zonos-logo/zonos-logo.js +92 -90
  77. package/dist/collection/components/common/zonos-notification/zonos-notification.css +4 -1
  78. package/dist/collection/components/common/zonos-notification/zonos-notification.js +128 -125
  79. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.css +5 -1
  80. package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +168 -168
  81. package/dist/collection/components/common/zonos-spinner/zonos-spinner.css +4 -1
  82. package/dist/collection/components/common/zonos-spinner/zonos-spinner.js +71 -71
  83. package/dist/collection/components/common/zonos-text/zonos-text.css +4 -1
  84. package/dist/collection/components/common/zonos-text/zonos-text.js +193 -191
  85. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.css +4 -1
  86. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +70 -67
  87. package/dist/collection/components/component-template/zonos-component/zonos-component.css +4 -1
  88. package/dist/collection/components/component-template/zonos-component/zonos-component.js +81 -81
  89. package/dist/collection/components/hello/zonos-hello/zonos-hello.css +4 -2
  90. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +447 -446
  91. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.css +4 -1
  92. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +70 -70
  93. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.css +4 -1
  94. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +272 -272
  95. package/dist/collection/components/main/zonos-controller.css +4 -1
  96. package/dist/collection/components/main/zonos-controller.js +400 -273
  97. package/dist/collection/components/store/checkout/cart.js +162 -162
  98. package/dist/collection/components/store/checkout/stripe.js +264 -254
  99. package/dist/collection/components/store/hello/localization.js +112 -112
  100. package/dist/collection/components/store/translationStore/strings.arabic.js +147 -147
  101. package/dist/collection/components/store/translationStore/strings.base.js +147 -147
  102. package/dist/collection/components/store/translationStore/strings.chinese.js +147 -147
  103. package/dist/collection/components/store/translationStore/strings.danish.js +147 -147
  104. package/dist/collection/components/store/translationStore/strings.dutch.js +147 -147
  105. package/dist/collection/components/store/translationStore/strings.french.js +147 -147
  106. package/dist/collection/components/store/translationStore/strings.german.js +147 -147
  107. package/dist/collection/components/store/translationStore/strings.hebrew.js +147 -147
  108. package/dist/collection/components/store/translationStore/strings.indonesian.js +147 -147
  109. package/dist/collection/components/store/translationStore/strings.italian.js +147 -147
  110. package/dist/collection/components/store/translationStore/strings.japanese.js +147 -147
  111. package/dist/collection/components/store/translationStore/strings.korean.js +147 -147
  112. package/dist/collection/components/store/translationStore/strings.norwegian.js +147 -147
  113. package/dist/collection/components/store/translationStore/strings.polish.js +147 -147
  114. package/dist/collection/components/store/translationStore/strings.portuguese.js +147 -147
  115. package/dist/collection/components/store/translationStore/strings.russian.js +147 -147
  116. package/dist/collection/components/store/translationStore/strings.spanish.js +147 -147
  117. package/dist/collection/components/store/translationStore/strings.swedish.js +147 -147
  118. package/dist/collection/components/store/translationStore/strings.turkish.js +147 -147
  119. package/dist/collection/components/store/translationStore/strings.vietnamese.js +147 -147
  120. package/dist/collection/components/store/translationStore.js +65 -65
  121. package/dist/collection/components/store/zonosStore.js +98 -94
  122. package/dist/collection/components/stripe/zonos-address/zonos-address.css +4 -1
  123. package/dist/collection/components/stripe/zonos-address/zonos-address.js +142 -142
  124. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.css +4 -1
  125. package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +76 -76
  126. package/dist/collection/components/stripe/zonos-payment/zonos-payment.css +4 -1
  127. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +81 -81
  128. package/dist/collection/components/utils/addDays.js +5 -5
  129. package/dist/collection/components/utils/api/calculateLandedCost.js +11 -11
  130. package/dist/collection/components/utils/api/checkItemRestrictions.js +13 -13
  131. package/dist/collection/components/utils/api/getCountries.js +11 -11
  132. package/dist/collection/components/utils/api/getCountryLandedCost.js +11 -11
  133. package/dist/collection/components/utils/api/getExchangeRate.js +17 -17
  134. package/dist/collection/components/utils/api/getLocaleMessages.js +9 -9
  135. package/dist/collection/components/utils/api/getLocalization.js +24 -19
  136. package/dist/collection/components/utils/api/getShippingZones.js +9 -9
  137. package/dist/collection/components/utils/api/getZonosSetting.js +7 -7
  138. package/dist/collection/components/utils/api/prepCalculateLandedCost.js +26 -26
  139. package/dist/collection/components/utils/checkout/initCheckout.js +17 -17
  140. package/dist/collection/components/utils/checkout/isCheckoutMobile.js +1 -1
  141. package/dist/collection/components/utils/darkenColor.js +4 -4
  142. package/dist/collection/components/utils/formatCurrency.js +8 -8
  143. package/dist/collection/components/utils/formatDate.js +2 -2
  144. package/dist/collection/components/utils/getBorderRadius.js +5 -5
  145. package/dist/collection/components/utils/getButtonTheme.js +8 -8
  146. package/dist/collection/components/utils/getDaysDifference.js +4 -4
  147. package/dist/collection/components/utils/handleFetch.js +89 -77
  148. package/dist/collection/components/utils/hello/currencyConversion/currencyConvert.js +9 -9
  149. package/dist/collection/components/utils/hello/currencyConversion/currencyConvertAndFormat.js +3 -3
  150. package/dist/collection/components/utils/hello/currencyConversion/currencyDisplay.js +10 -10
  151. package/dist/collection/components/utils/hello/currencyConversion/currencyFormat.js +29 -29
  152. package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +35 -35
  153. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyCode.js +6 -6
  154. package/dist/collection/components/utils/hello/currencyConversion/getCurrencyElements.js +13 -13
  155. package/dist/collection/components/utils/hello/currencyConversion/getInitialElementAmount.js +12 -12
  156. package/dist/collection/components/utils/hello/currencyConversion/getLanguageCode.js +6 -6
  157. package/dist/collection/components/utils/hello/detectItemRestrictions.js +23 -23
  158. package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js +17 -17
  159. package/dist/collection/components/utils/hello/getHasMoreSpaceAbove.js +5 -5
  160. package/dist/collection/components/utils/hello/getHasMoreSpaceOnRight.js +5 -5
  161. package/dist/collection/components/utils/hello/getProductsOnPage.js +42 -42
  162. package/dist/collection/components/utils/hello/getZCountryUrlParam.js +5 -0
  163. package/dist/collection/components/utils/hello/initHello.js +15 -15
  164. package/dist/collection/components/utils/hello/setZCountryUrlParam.js +9 -0
  165. package/dist/collection/components/utils/isColorVariable.js +10 -10
  166. package/dist/collection/components/utils/isDarkColor.js +1 -1
  167. package/dist/collection/components/utils/isValidSelector.js +8 -8
  168. package/dist/collection/components/utils/jsonParse.js +10 -10
  169. package/dist/collection/components/utils/lightenColor.js +4 -4
  170. package/dist/collection/components/utils/logging/log.js +22 -22
  171. package/dist/collection/components/utils/logging/logError.js +2 -2
  172. package/dist/collection/components/utils/mergeConfig.js +3 -3
  173. package/dist/collection/components/utils/submitGtag.js +9 -9
  174. package/dist/collection/environment.js +142 -111
  175. package/dist/collection/scripts/extractZonosQaUrl.js +26 -0
  176. package/dist/collection/scripts/loadStripe.js +7 -7
  177. package/dist/collection/scripts/stripe.js +80 -80
  178. package/dist/collection/scripts/zonos.js +287 -181
  179. package/dist/collection/styles/stripe/addressRuleStyle.js +14 -14
  180. package/dist/collection/styles/stripe/defaultVariable.js +14 -14
  181. package/dist/collection/types/generated/graphql.customer.types.js +1424 -1424
  182. package/dist/collection/types/generated/graphql.frontend.types.js +376 -376
  183. package/dist/collection/types/stripe/Apperance.js +56 -56
  184. package/dist/collection/types/styles/Color.js +18 -18
  185. package/dist/collection/types/styles/Text.js +97 -97
  186. package/dist/collection/utils/format.js +1 -1
  187. package/dist/collection/utils/generateVercelDeployUrl.js +20 -19
  188. package/dist/components/cart.js +497 -487
  189. package/dist/components/formatCurrency.js +8 -8
  190. package/dist/components/getBorderRadius.js +5 -5
  191. package/dist/components/isColorVariable.js +10 -10
  192. package/dist/components/isDarkColor.js +1 -1
  193. package/dist/components/localization.js +3448 -3426
  194. package/dist/components/submitGtag.js +9 -9
  195. package/dist/components/zonos-address.d.ts +2 -2
  196. package/dist/components/zonos-address2.js +90 -90
  197. package/dist/components/zonos-badge.d.ts +2 -2
  198. package/dist/components/zonos-badge2.js +52 -43
  199. package/dist/components/zonos-banner.d.ts +2 -2
  200. package/dist/components/zonos-banner2.js +88 -76
  201. package/dist/components/zonos-button.d.ts +2 -2
  202. package/dist/components/zonos-button2.js +120 -119
  203. package/dist/components/zonos-card.d.ts +2 -2
  204. package/dist/components/zonos-card2.js +48 -39
  205. package/dist/components/zonos-cart-items.d.ts +2 -2
  206. package/dist/components/zonos-cart-items2.js +43 -43
  207. package/dist/components/zonos-cart-subtotal.d.ts +2 -2
  208. package/dist/components/zonos-cart-subtotal2.js +65 -65
  209. package/dist/components/zonos-checkout-finish.d.ts +2 -2
  210. package/dist/components/zonos-checkout-finish2.js +101 -101
  211. package/dist/components/zonos-checkout-payment.d.ts +2 -2
  212. package/dist/components/zonos-checkout-payment2.js +82 -82
  213. package/dist/components/zonos-checkout.d.ts +2 -2
  214. package/dist/components/zonos-checkout.js +498 -494
  215. package/dist/components/zonos-collapse.d.ts +2 -2
  216. package/dist/components/zonos-collapse2.js +48 -46
  217. package/dist/components/zonos-component.d.ts +2 -2
  218. package/dist/components/zonos-component.js +32 -32
  219. package/dist/components/zonos-controller.d.ts +2 -2
  220. package/dist/components/zonos-controller.js +263 -177
  221. package/dist/components/zonos-country-flag.d.ts +2 -2
  222. package/dist/components/zonos-country-flag2.js +41 -36
  223. package/dist/components/zonos-country-select.d.ts +2 -2
  224. package/dist/components/zonos-country-select2.js +82 -79
  225. package/dist/components/zonos-custom-message.d.ts +2 -2
  226. package/dist/components/zonos-custom-message2.js +44 -41
  227. package/dist/components/zonos-customer-info.d.ts +2 -2
  228. package/dist/components/zonos-customer-info2.js +82 -82
  229. package/dist/components/zonos-dialog.d.ts +2 -2
  230. package/dist/components/zonos-dialog2.js +105 -103
  231. package/dist/components/zonos-hello-dialog-footer.d.ts +2 -2
  232. package/dist/components/zonos-hello-dialog-footer2.js +46 -46
  233. package/dist/components/zonos-hello-dialog.d.ts +2 -2
  234. package/dist/components/zonos-hello-dialog2.js +182 -182
  235. package/dist/components/zonos-hello.d.ts +2 -2
  236. package/dist/components/zonos-hello.js +437 -437
  237. package/dist/components/zonos-icon.d.ts +2 -2
  238. package/dist/components/zonos-icon2.js +40 -38
  239. package/dist/components/zonos-link-authentication.d.ts +2 -2
  240. package/dist/components/zonos-link-authentication2.js +60 -60
  241. package/dist/components/zonos-logo.d.ts +2 -2
  242. package/dist/components/zonos-logo2.js +37 -35
  243. package/dist/components/zonos-notification.d.ts +2 -2
  244. package/dist/components/zonos-notification2.js +82 -79
  245. package/dist/components/zonos-payment.d.ts +2 -2
  246. package/dist/components/zonos-payment2.js +64 -64
  247. package/dist/components/zonos-review.d.ts +2 -2
  248. package/dist/components/zonos-review2.js +72 -72
  249. package/dist/components/zonos-shipping-rich-radio.d.ts +2 -2
  250. package/dist/components/zonos-shipping-rich-radio2.js +62 -62
  251. package/dist/components/zonos-shipping.d.ts +2 -2
  252. package/dist/components/zonos-shipping2.js +114 -114
  253. package/dist/components/zonos-spinner.d.ts +2 -2
  254. package/dist/components/zonos-spinner2.js +31 -31
  255. package/dist/components/zonos-text.d.ts +2 -2
  256. package/dist/components/zonos-text2.js +166 -164
  257. package/dist/components/zonos-v-stack.d.ts +2 -2
  258. package/dist/components/zonos-v-stack2.js +29 -26
  259. package/dist/components/zonosStore.js +101 -97
  260. package/dist/esm/cart-cd87f476.js +598 -0
  261. package/dist/esm/getBorderRadius-35e8acce.js +16 -0
  262. package/dist/esm/getHasMoreSpaceOnRight-70eb913a.js +8 -0
  263. package/dist/esm/{index-d1aa9293.js → index-3617e24c.js} +127 -26
  264. package/dist/esm/index.js +6 -6
  265. package/dist/esm/isColorVariable-91c33804.js +14 -0
  266. package/dist/esm/{isDarkColor-6fbb9b14.js → isDarkColor-44e9e451.js} +2 -2
  267. package/dist/esm/loader.js +3 -3
  268. package/dist/esm/localization-f573428e.js +3614 -0
  269. package/dist/esm/submitGtag-75af52be.js +24 -0
  270. package/dist/esm/zonos-address_2.entry.js +108 -108
  271. package/dist/esm/zonos-badge.entry.js +25 -22
  272. package/dist/esm/zonos-banner.entry.js +65 -53
  273. package/dist/esm/zonos-button_2.entry.js +100 -99
  274. package/dist/esm/zonos-card_2.entry.js +32 -27
  275. package/dist/esm/zonos-cart-items_10.entry.js +422 -419
  276. package/dist/esm/zonos-checkout.entry.js +356 -352
  277. package/dist/esm/zonos-component.entry.js +15 -15
  278. package/dist/esm/zonos-controller.entry.js +235 -151
  279. package/dist/esm/zonos-country-flag_4.entry.js +85 -77
  280. package/dist/esm/zonos-elements.js +4 -4
  281. package/dist/esm/zonos-hello-dialog.entry.js +101 -101
  282. package/dist/esm/zonos-hello.entry.js +349 -349
  283. package/dist/esm/zonos-icon.entry.js +22 -20
  284. package/dist/esm/zonos-notification.entry.js +60 -57
  285. package/dist/esm/zonos-payment.entry.js +45 -45
  286. package/dist/esm/zonos-shipping-rich-radio.entry.js +40 -40
  287. package/dist/esm/zonos-text.entry.js +145 -143
  288. package/dist/esm/{zonosStore-05a62104.js → zonosStore-e0b7a5cf.js} +102 -98
  289. package/dist/esm-es5/cart-cd87f476.js +1 -0
  290. package/dist/esm-es5/getBorderRadius-35e8acce.js +1 -0
  291. package/dist/esm-es5/getHasMoreSpaceOnRight-70eb913a.js +1 -0
  292. package/dist/esm-es5/index-3617e24c.js +2 -0
  293. package/dist/esm-es5/index.js +1 -1
  294. package/dist/esm-es5/{isDarkColor-6fbb9b14.js → isDarkColor-44e9e451.js} +1 -1
  295. package/dist/esm-es5/loader.js +1 -1
  296. package/dist/esm-es5/localization-f573428e.js +1 -0
  297. package/dist/esm-es5/{submitGtag-a901ece5.js → submitGtag-75af52be.js} +1 -1
  298. package/dist/esm-es5/zonos-address_2.entry.js +1 -1
  299. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  300. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  301. package/dist/esm-es5/zonos-button_2.entry.js +1 -1
  302. package/dist/esm-es5/zonos-card_2.entry.js +1 -1
  303. package/dist/esm-es5/zonos-cart-items_10.entry.js +1 -1
  304. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  305. package/dist/esm-es5/zonos-component.entry.js +1 -1
  306. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  307. package/dist/esm-es5/zonos-country-flag_4.entry.js +1 -1
  308. package/dist/esm-es5/zonos-elements.js +1 -1
  309. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  310. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  311. package/dist/esm-es5/zonos-icon.entry.js +1 -1
  312. package/dist/esm-es5/zonos-notification.entry.js +1 -1
  313. package/dist/esm-es5/zonos-payment.entry.js +1 -1
  314. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  315. package/dist/esm-es5/zonos-text.entry.js +1 -1
  316. package/dist/esm-es5/zonosStore-e0b7a5cf.js +1 -0
  317. package/dist/scripts/extractZonosQaUrl.js +30 -0
  318. package/dist/scripts/loadZonos.js +152 -20
  319. package/dist/scripts/zonos.js +152 -20
  320. package/dist/types/__tests__/build-utils/urlCheckOne.d.ts +6 -0
  321. package/dist/types/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.d.ts +2 -2
  322. package/dist/types/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.d.ts +1 -1
  323. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +28 -28
  324. package/dist/types/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.d.ts +31 -31
  325. package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +77 -77
  326. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +31 -31
  327. package/dist/types/components/checkout/zonos-checkout/zonos-review/zonos-review.d.ts +14 -14
  328. package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +29 -29
  329. package/dist/types/components/common/zonos-badge/zonos-badge.d.ts +35 -35
  330. package/dist/types/components/common/zonos-banner/zonos-banner.d.ts +21 -21
  331. package/dist/types/components/common/zonos-button/zonos-button.d.ts +92 -92
  332. package/dist/types/components/common/zonos-card/zonos-card.d.ts +29 -29
  333. package/dist/types/components/common/zonos-collapse/zonos-collapse.d.ts +14 -14
  334. package/dist/types/components/common/zonos-country-flag/zonos-country-flag.d.ts +16 -16
  335. package/dist/types/components/common/zonos-country-select/zonos-country-select.d.ts +9 -9
  336. package/dist/types/components/common/zonos-custom-message/zonos-custom-message.d.ts +9 -9
  337. package/dist/types/components/common/zonos-dialog/zonos-dialog.d.ts +75 -75
  338. package/dist/types/components/common/zonos-icon/zonos-icon.d.ts +27 -27
  339. package/dist/types/components/common/zonos-logo/zonos-logo.d.ts +13 -13
  340. package/dist/types/components/common/zonos-notification/zonos-notification.d.ts +28 -28
  341. package/dist/types/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.d.ts +35 -35
  342. package/dist/types/components/common/zonos-spinner/zonos-spinner.d.ts +11 -11
  343. package/dist/types/components/common/zonos-text/zonos-text.d.ts +30 -30
  344. package/dist/types/components/common/zonos-v-stack/zonos-v-stack.d.ts +10 -10
  345. package/dist/types/components/component-template/zonos-component/zonos-component.d.ts +14 -14
  346. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +68 -68
  347. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.d.ts +10 -10
  348. package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +41 -41
  349. package/dist/types/components/main/zonos-controller.d.ts +47 -37
  350. package/dist/types/components/store/checkout/cart.d.ts +64 -64
  351. package/dist/types/components/store/checkout/stripe.d.ts +44 -43
  352. package/dist/types/components/store/hello/localization.d.ts +15 -15
  353. package/dist/types/components/store/translationStore/strings.arabic.d.ts +147 -147
  354. package/dist/types/components/store/translationStore/strings.base.d.ts +147 -147
  355. package/dist/types/components/store/translationStore/strings.chinese.d.ts +147 -147
  356. package/dist/types/components/store/translationStore/strings.danish.d.ts +147 -147
  357. package/dist/types/components/store/translationStore/strings.dutch.d.ts +147 -147
  358. package/dist/types/components/store/translationStore/strings.french.d.ts +147 -147
  359. package/dist/types/components/store/translationStore/strings.german.d.ts +147 -147
  360. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +147 -147
  361. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +147 -147
  362. package/dist/types/components/store/translationStore/strings.italian.d.ts +147 -147
  363. package/dist/types/components/store/translationStore/strings.japanese.d.ts +147 -147
  364. package/dist/types/components/store/translationStore/strings.korean.d.ts +147 -147
  365. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +147 -147
  366. package/dist/types/components/store/translationStore/strings.polish.d.ts +147 -147
  367. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +147 -147
  368. package/dist/types/components/store/translationStore/strings.russian.d.ts +147 -147
  369. package/dist/types/components/store/translationStore/strings.spanish.d.ts +147 -147
  370. package/dist/types/components/store/translationStore/strings.swedish.d.ts +147 -147
  371. package/dist/types/components/store/translationStore/strings.turkish.d.ts +147 -147
  372. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +147 -147
  373. package/dist/types/components/store/translationStore.d.ts +2 -2
  374. package/dist/types/components/store/zonosStore.d.ts +23 -22
  375. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +17 -17
  376. package/dist/types/components/stripe/zonos-link-authentication/zonos-link-authentication.d.ts +9 -9
  377. package/dist/types/components/stripe/zonos-payment/zonos-payment.d.ts +10 -10
  378. package/dist/types/components/utils/addDays.d.ts +6 -6
  379. package/dist/types/components/utils/api/checkItemRestrictions.d.ts +14 -14
  380. package/dist/types/components/utils/api/getCountryLandedCost.d.ts +6 -6
  381. package/dist/types/components/utils/api/getExchangeRate.d.ts +17 -17
  382. package/dist/types/components/utils/api/getLocaleMessages.d.ts +15 -15
  383. package/dist/types/components/utils/api/getLocalization.d.ts +2 -2
  384. package/dist/types/components/utils/api/getZonosSetting.d.ts +4 -4
  385. package/dist/types/components/utils/changeDeepProperty.d.ts +4 -4
  386. package/dist/types/components/utils/changeDeepPropertyAtIndex.d.ts +5 -5
  387. package/dist/types/components/utils/checkout/initCheckout.d.ts +1 -1
  388. package/dist/types/components/utils/darkenColor.d.ts +2 -2
  389. package/dist/types/components/utils/formatCurrency.d.ts +3 -3
  390. package/dist/types/components/utils/formatDate.d.ts +6 -6
  391. package/dist/types/components/utils/handleFetch.d.ts +7 -7
  392. package/dist/types/components/utils/hello/detectItemRestrictions.d.ts +10 -10
  393. package/dist/types/components/utils/hello/getZCountryUrlParam.d.ts +2 -0
  394. package/dist/types/components/utils/hello/setZCountryUrlParam.d.ts +2 -0
  395. package/dist/types/components/utils/lightenColor.d.ts +2 -2
  396. package/dist/types/components/utils/mergeConfig.d.ts +1 -1
  397. package/dist/types/components/utils/submitGtag.d.ts +3 -3
  398. package/dist/types/components.d.ts +96 -0
  399. package/dist/types/environment.d.ts +42 -32
  400. package/dist/types/scripts/extractZonosQaUrl.d.ts +11 -0
  401. package/dist/types/scripts/stripe.d.ts +2 -2
  402. package/dist/types/scripts/zonos.d.ts +50 -37
  403. package/dist/types/stencil-public-runtime.d.ts +29 -0
  404. package/dist/types/styles/stripe/addressRuleStyle.d.ts +1 -1
  405. package/dist/types/styles/stripe/defaultVariable.d.ts +2 -2
  406. package/dist/types/types/ICountryJson.d.ts +20 -20
  407. package/dist/types/types/JsonError.d.ts +3 -3
  408. package/dist/types/types/Translation.d.ts +1 -1
  409. package/dist/types/types/checkout/CheckoutConfig.d.ts +52 -52
  410. package/dist/types/types/checkout/api/CalculateLandedCostRequest.d.ts +16 -16
  411. package/dist/types/types/generated/graphql.customer.types.d.ts +1968 -1968
  412. package/dist/types/types/generated/graphql.frontend.types.d.ts +449 -449
  413. package/dist/types/types/hello/HelloConfig.d.ts +20 -20
  414. package/dist/types/types/hello/Product.d.ts +3 -3
  415. package/dist/types/types/hello/RestrictedItem.d.ts +1 -1
  416. package/dist/types/types/online-store/OnlineStoreConfig.d.ts +1 -1
  417. package/dist/types/types/stripe/Apperance.d.ts +3 -3
  418. package/dist/types/types/styles/Text.d.ts +90 -90
  419. package/dist/types/types/utils/deep/IDeepKeyof.d.ts +1 -1
  420. package/dist/types/types/utils/deep/IDeepKeyofAtIndex.d.ts +2 -2
  421. package/dist/types/utils/generateVercelDeployUrl.d.ts +2 -2
  422. package/dist/zonos-elements/assets/RemoveIcon.svg +1 -1
  423. package/dist/zonos-elements/index.esm.js +1 -1
  424. package/dist/zonos-elements/p-0175125e.system.js +1 -0
  425. package/dist/zonos-elements/p-03923a86.system.entry.js +1 -0
  426. package/dist/zonos-elements/p-08298e74.entry.js +1 -0
  427. package/dist/zonos-elements/p-1bddc7ca.system.entry.js +1 -0
  428. package/dist/zonos-elements/{p-770c959e.js → p-1f8b684a.js} +1 -1
  429. package/dist/zonos-elements/p-2228b050.entry.js +1 -0
  430. package/dist/zonos-elements/p-23e7c655.system.js +1 -1
  431. package/dist/zonos-elements/p-2466df77.entry.js +1 -0
  432. package/dist/zonos-elements/p-29b993c2.system.entry.js +1 -0
  433. package/dist/zonos-elements/p-2a32dc0a.system.entry.js +1 -0
  434. package/dist/zonos-elements/p-2a666084.entry.js +1 -0
  435. package/dist/zonos-elements/p-2f1e9192.system.entry.js +1 -0
  436. package/dist/zonos-elements/{p-f7875c40.js → p-39a5e8e0.js} +1 -1
  437. package/dist/zonos-elements/p-44ddebe4.system.entry.js +1 -0
  438. package/dist/zonos-elements/p-4e8b5d86.system.entry.js +1 -0
  439. package/dist/zonos-elements/p-534dcbd4.system.js +1 -0
  440. package/dist/zonos-elements/p-5a41b5fd.entry.js +1 -0
  441. package/dist/zonos-elements/p-5d0eceaa.entry.js +1 -0
  442. package/dist/zonos-elements/p-62ccb686.entry.js +1 -0
  443. package/dist/zonos-elements/p-643eeb24.system.js +1 -0
  444. package/dist/zonos-elements/p-660a588b.entry.js +1 -0
  445. package/dist/zonos-elements/p-6affe5cc.entry.js +1 -0
  446. package/dist/zonos-elements/p-72ea628d.system.js +1 -0
  447. package/dist/zonos-elements/{p-85ab35c9.system.js → p-754bdfdb.system.js} +1 -1
  448. package/dist/zonos-elements/{p-164fae93.system.js → p-779621e4.system.js} +1 -1
  449. package/dist/zonos-elements/{p-08695f4e.js → p-77a7929b.js} +1 -1
  450. package/dist/zonos-elements/p-7a15d841.entry.js +1 -0
  451. package/dist/zonos-elements/p-7a81ccb5.system.entry.js +1 -0
  452. package/dist/zonos-elements/p-80ba24a8.system.js +1 -0
  453. package/dist/zonos-elements/p-83d100b8.entry.js +1 -0
  454. package/dist/zonos-elements/{p-bf070bf6.js → p-8bbad467.js} +1 -1
  455. package/dist/zonos-elements/p-8ebc3ca5.system.entry.js +1 -0
  456. package/dist/zonos-elements/p-9c78d0ca.entry.js +1 -0
  457. package/dist/zonos-elements/p-9ef86de7.entry.js +1 -0
  458. package/dist/zonos-elements/p-ab46cee9.system.entry.js +1 -0
  459. package/dist/zonos-elements/p-b0268bc5.entry.js +1 -0
  460. package/dist/zonos-elements/p-b4db1620.entry.js +1 -0
  461. package/dist/zonos-elements/p-bc7bf53e.system.js +1 -0
  462. package/dist/zonos-elements/p-bec05c21.system.js +2 -0
  463. package/dist/zonos-elements/p-bec21999.system.js +1 -0
  464. package/dist/zonos-elements/p-c299049e.js +1 -0
  465. package/dist/zonos-elements/p-cd4f8e13.system.entry.js +1 -0
  466. package/dist/zonos-elements/p-ceb2cd7b.system.entry.js +1 -0
  467. package/dist/zonos-elements/p-cf4545ed.system.entry.js +1 -0
  468. package/dist/zonos-elements/p-cf8aaa17.js +2 -0
  469. package/dist/zonos-elements/p-dc9b318c.system.entry.js +1 -0
  470. package/dist/zonos-elements/p-dcf64928.system.entry.js +1 -0
  471. package/dist/zonos-elements/p-e1de2a1f.js +1 -0
  472. package/dist/zonos-elements/{p-3f3fbcea.entry.js → p-e694312d.entry.js} +1 -1
  473. package/dist/zonos-elements/p-ec26fe57.entry.js +1 -0
  474. package/dist/zonos-elements/p-edbea8df.system.js +1 -0
  475. package/dist/zonos-elements/p-f8198015.system.entry.js +1 -0
  476. package/dist/zonos-elements/p-fcd4fc66.system.entry.js +1 -0
  477. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  478. package/dist/zonos-elements/zonos-elements.js +15 -15
  479. package/package.json +57 -56
  480. package/dist/cjs/cart-d4b52ae8.js +0 -606
  481. package/dist/cjs/getBorderRadius-fdd605c6.js +0 -18
  482. package/dist/cjs/getHasMoreSpaceOnRight-2855491b.js +0 -10
  483. package/dist/cjs/isColorVariable-c1ed7303.js +0 -16
  484. package/dist/cjs/localization-d7fe7290.js +0 -3606
  485. package/dist/cjs/submitGtag-d65003f9.js +0 -27
  486. package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js +0 -9
  487. package/dist/esm/cart-e1b93711.js +0 -588
  488. package/dist/esm/getBorderRadius-45764ad7.js +0 -16
  489. package/dist/esm/getHasMoreSpaceOnRight-feba1ae2.js +0 -8
  490. package/dist/esm/isColorVariable-4cda28c9.js +0 -14
  491. package/dist/esm/localization-f3828793.js +0 -3592
  492. package/dist/esm/submitGtag-a901ece5.js +0 -24
  493. package/dist/esm-es5/cart-e1b93711.js +0 -1
  494. package/dist/esm-es5/getBorderRadius-45764ad7.js +0 -1
  495. package/dist/esm-es5/getHasMoreSpaceOnRight-feba1ae2.js +0 -1
  496. package/dist/esm-es5/index-d1aa9293.js +0 -2
  497. package/dist/esm-es5/zonosStore-05a62104.js +0 -1
  498. package/dist/types/components/utils/hello/setZonosCountryUrlParam.d.ts +0 -2
  499. package/dist/zonos-elements/p-0190f7c4.entry.js +0 -1
  500. package/dist/zonos-elements/p-05256415.system.entry.js +0 -1
  501. package/dist/zonos-elements/p-0e0b46a5.js +0 -1
  502. package/dist/zonos-elements/p-15b71f0b.system.entry.js +0 -1
  503. package/dist/zonos-elements/p-23204b78.system.entry.js +0 -1
  504. package/dist/zonos-elements/p-25db3885.js +0 -1
  505. package/dist/zonos-elements/p-28681677.entry.js +0 -1
  506. package/dist/zonos-elements/p-2b6325ab.entry.js +0 -1
  507. package/dist/zonos-elements/p-34a49bce.entry.js +0 -1
  508. package/dist/zonos-elements/p-36425562.system.entry.js +0 -1
  509. package/dist/zonos-elements/p-365970ff.entry.js +0 -1
  510. package/dist/zonos-elements/p-40083e93.system.entry.js +0 -1
  511. package/dist/zonos-elements/p-40778e43.entry.js +0 -1
  512. package/dist/zonos-elements/p-43a25dab.entry.js +0 -1
  513. package/dist/zonos-elements/p-4a5096d2.system.js +0 -1
  514. package/dist/zonos-elements/p-53649e16.system.js +0 -1
  515. package/dist/zonos-elements/p-5d7ffddb.entry.js +0 -1
  516. package/dist/zonos-elements/p-60821b2a.entry.js +0 -1
  517. package/dist/zonos-elements/p-64fdb7b6.system.js +0 -1
  518. package/dist/zonos-elements/p-68d06767.system.js +0 -2
  519. package/dist/zonos-elements/p-6d82986c.system.entry.js +0 -1
  520. package/dist/zonos-elements/p-6dcd752e.system.js +0 -1
  521. package/dist/zonos-elements/p-6e7cd3f7.entry.js +0 -1
  522. package/dist/zonos-elements/p-7bacecf7.entry.js +0 -1
  523. package/dist/zonos-elements/p-81c699f7.system.entry.js +0 -1
  524. package/dist/zonos-elements/p-824395fd.system.entry.js +0 -1
  525. package/dist/zonos-elements/p-8a75b765.system.entry.js +0 -1
  526. package/dist/zonos-elements/p-8aabbb9b.system.js +0 -1
  527. package/dist/zonos-elements/p-8c867835.system.js +0 -1
  528. package/dist/zonos-elements/p-8db8cc05.system.js +0 -1
  529. package/dist/zonos-elements/p-914ce305.system.entry.js +0 -1
  530. package/dist/zonos-elements/p-9688bb12.entry.js +0 -1
  531. package/dist/zonos-elements/p-96a3c767.entry.js +0 -1
  532. package/dist/zonos-elements/p-98a6e093.system.entry.js +0 -1
  533. package/dist/zonos-elements/p-a3641931.system.entry.js +0 -1
  534. package/dist/zonos-elements/p-aca66238.system.entry.js +0 -1
  535. package/dist/zonos-elements/p-b618cf03.entry.js +0 -1
  536. package/dist/zonos-elements/p-b75ffe64.system.entry.js +0 -1
  537. package/dist/zonos-elements/p-c8ad044e.system.entry.js +0 -1
  538. package/dist/zonos-elements/p-cc070c1c.entry.js +0 -1
  539. package/dist/zonos-elements/p-cc1c785c.system.entry.js +0 -1
  540. package/dist/zonos-elements/p-dc8d7000.js +0 -2
  541. package/dist/zonos-elements/p-de9d8a4f.system.entry.js +0 -1
  542. package/dist/zonos-elements/p-f8491335.system.js +0 -1
  543. package/dist/zonos-elements/p-f868ed42.entry.js +0 -1
  544. /package/dist/esm-es5/{isColorVariable-4cda28c9.js → isColorVariable-91c33804.js} +0 -0
  545. /package/dist/zonos-elements/{p-0636859b.js → p-4c414a92.js} +0 -0
  546. /package/dist/zonos-elements/{p-b6c499d4.js → p-5883217a.js} +0 -0
@@ -11,300 +11,310 @@ import { logError } from "../../utils/logging/logError";
11
11
  import { addressRuleStyle } from "../../../styles/stripe/addressRuleStyle";
12
12
  import { defaultVariable } from "../../../styles/stripe/defaultVariable";
13
13
  const { onChange, reset, state: stripeStore, } = createStore(() => ({
14
- clientSecret: sessionStorage.getItem('zonos--client-secret') || null,
15
- fetchingLandedCostAbordController: null,
16
- isFetchingLandedCost: false,
17
- isFetchingSession: false,
18
- stripe: null,
19
- stripeAddressElement: null,
20
- stripeAddressEventData: null,
21
- stripeAddressUsedWhenFetchingLC: null,
22
- stripeElements: null,
23
- stripeLinkElement: null,
24
- stripeLinkEventData: null,
25
- stripeLinkUsedWhenFetchingLC: null,
26
- stripePaymentElement: null,
27
- stripePaymentEventData: null,
14
+ clientSecret: sessionStorage.getItem('zonos--client-secret') || null,
15
+ fetchingLandedCostAbordController: null,
16
+ isFetchingLandedCost: false,
17
+ isFetchingSession: false,
18
+ stripe: null,
19
+ stripeAddressElement: null,
20
+ stripeAddressEventData: null,
21
+ stripeAddressUsedWhenFetchingLC: null,
22
+ stripeElements: null,
23
+ stripeElementsOptions: null,
24
+ stripeLinkElement: null,
25
+ stripeLinkEventData: null,
26
+ stripeLinkUsedWhenFetchingLC: null,
27
+ stripePaymentElement: null,
28
+ stripePaymentEventData: null,
28
29
  }));
29
30
  const getStripeOptions = ({ clientSecret, overrideBorderRaidus, overridePrimaryColor, overrideTheme, }) => {
30
- const primaryColor = overridePrimaryColor || zonosStore.appearance.colorPrimary;
31
- const themeBasedColor = primaryColor && isDarkColor(primaryColor) ? 'night' : 'flat';
32
- // if overrideTheme is provided, use it. Otherwise, use theme based on primary color
33
- const theme = overrideTheme === 'DARK' ? 'night' : 'flat';
34
- return {
35
- appearance: {
36
- labels: 'floating',
37
- rules: Object.assign({}, addressRuleStyle({ theme: 'LIGHT' })),
38
- // get contrast theme color base on primary color
39
- theme: overrideTheme ? theme : themeBasedColor,
40
- variables: Object.assign({}, defaultVariable({
41
- borderStyle: overrideBorderRaidus,
42
- theme: 'LIGHT',
43
- })),
44
- },
45
- clientSecret,
46
- locale: localizationStore.selectedLocale,
47
- };
31
+ const primaryColor = overridePrimaryColor || zonosStore.appearance.colorPrimary;
32
+ const themeBasedColor = primaryColor && isDarkColor(primaryColor) ? 'night' : 'flat';
33
+ // if overrideTheme is provided, use it. Otherwise, use theme based on primary color
34
+ const theme = overrideTheme === 'DARK' ? 'night' : 'flat';
35
+ return {
36
+ appearance: {
37
+ labels: 'floating',
38
+ rules: Object.assign({}, addressRuleStyle({ theme: 'LIGHT' })),
39
+ // get contrast theme color base on primary color
40
+ theme: overrideTheme ? theme : themeBasedColor,
41
+ variables: Object.assign({}, defaultVariable({
42
+ borderStyle: overrideBorderRaidus,
43
+ theme: 'LIGHT',
44
+ })),
45
+ },
46
+ clientSecret,
47
+ locale: localizationStore.selectedLocale,
48
+ };
48
49
  };
49
50
  const initStripeElements = async (props) => {
50
- var _a;
51
- const clientSecret = stripeStore.clientSecret;
52
- if (!stripeStore.stripe) {
53
- log('Skip. Stripe is not initialized');
54
- return;
55
- }
56
- if (clientSecret) {
57
- const stripeOptions = getStripeOptions({
58
- clientSecret,
59
- overrideBorderRaidus: props === null || props === void 0 ? void 0 : props.overrideBorderRaidus,
60
- overridePrimaryColor: props === null || props === void 0 ? void 0 : props.overridePrimaryColor,
61
- overrideTheme: props === null || props === void 0 ? void 0 : props.overrideTheme,
62
- });
63
- if (!stripeStore.stripeElements) {
64
- // init stripe elements if it doesn't exist
65
- stripeStore.stripeElements = (_a = stripeStore.stripe) === null || _a === void 0 ? void 0 : _a.elements(stripeOptions);
51
+ var _a;
52
+ const clientSecret = stripeStore.clientSecret;
53
+ if (!stripeStore.stripe) {
54
+ log('Skip. Stripe is not initialized');
55
+ return;
66
56
  }
67
- else {
68
- // update elements with new option if it already exists
69
- stripeStore.stripeElements.update(stripeOptions);
57
+ if (clientSecret) {
58
+ const stripeOptions = getStripeOptions({
59
+ clientSecret,
60
+ overrideBorderRaidus: props === null || props === void 0 ? void 0 : props.overrideBorderRaidus,
61
+ overridePrimaryColor: props === null || props === void 0 ? void 0 : props.overridePrimaryColor,
62
+ overrideTheme: props === null || props === void 0 ? void 0 : props.overrideTheme,
63
+ });
64
+ // compare with the previous options to see if we need to update
65
+ const isSameOptions = JSON.stringify(stripeOptions) ===
66
+ JSON.stringify(stripeStore.stripeElementsOptions);
67
+ if (!stripeStore.stripeElements) {
68
+ // init stripe elements if it doesn't exist
69
+ stripeStore.stripeElements = (_a = stripeStore.stripe) === null || _a === void 0 ? void 0 : _a.elements(stripeOptions);
70
+ // save stripe elements options for later comparison
71
+ stripeStore.stripeElementsOptions = stripeOptions;
72
+ log('Stripe elements initialized');
73
+ return;
74
+ }
75
+ if (!isSameOptions) {
76
+ // update elements with new option if it already exists
77
+ stripeStore.stripeElements.update(stripeOptions);
78
+ // save stripe elements options for later comparison
79
+ stripeStore.stripeElementsOptions = stripeOptions;
80
+ }
81
+ log('Stripe elements initialized');
70
82
  }
71
- log('Stripe elements initialized');
72
- }
73
83
  };
74
84
  const stripeStoreReset = () => {
75
- // clean clientSecret so that we can start the new one.
76
- sessionStorage.removeItem('zonos--client-secret');
77
- // cleanup stripe elements
78
- reset();
79
- // set stripe back to window.Zonos.stripe
80
- stripeStore.stripe = window.Zonos.stripe;
85
+ // clean clientSecret so that we can start the new one.
86
+ sessionStorage.removeItem('zonos--client-secret');
87
+ // cleanup stripe elements
88
+ reset();
89
+ // set stripe back to window.Zonos.stripe
90
+ stripeStore.stripe = window.Zonos.stripe;
81
91
  };
82
92
  /**
83
93
  * Check if the address and email info used when fetching landed cost with the current email and address info are different
84
94
  * Purpose is to resend the request if the info used when fetching landed cost is different from the current info
85
95
  */
86
96
  const isPrefetchInfoOutdated = () => {
87
- var _a, _b, _c, _d;
88
- const hasAbortController = stripeStore.fetchingLandedCostAbordController;
89
- if (!hasAbortController) {
90
- // if there is no abort controller, this is a new request
91
- return false;
92
- }
93
- const isLinkDataDirty = JSON.stringify((_a = stripeStore.stripeLinkUsedWhenFetchingLC) === null || _a === void 0 ? void 0 : _a.value) !==
94
- JSON.stringify((_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.value);
95
- const isAddressDataDirty = JSON.stringify((_c = stripeStore.stripeAddressUsedWhenFetchingLC) === null || _c === void 0 ? void 0 : _c.value) !==
96
- JSON.stringify((_d = stripeStore.stripeAddressEventData) === null || _d === void 0 ? void 0 : _d.value);
97
- return isLinkDataDirty || isAddressDataDirty;
97
+ var _a, _b, _c, _d;
98
+ const hasAbortController = stripeStore.fetchingLandedCostAbordController;
99
+ if (!hasAbortController) {
100
+ // if there is no abort controller, this is a new request
101
+ return false;
102
+ }
103
+ const isLinkDataDirty = JSON.stringify((_a = stripeStore.stripeLinkUsedWhenFetchingLC) === null || _a === void 0 ? void 0 : _a.value) !==
104
+ JSON.stringify((_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.value);
105
+ const isAddressDataDirty = JSON.stringify((_c = stripeStore.stripeAddressUsedWhenFetchingLC) === null || _c === void 0 ? void 0 : _c.value) !==
106
+ JSON.stringify((_d = stripeStore.stripeAddressEventData) === null || _d === void 0 ? void 0 : _d.value);
107
+ return isLinkDataDirty || isAddressDataDirty;
98
108
  };
99
109
  const stripeStorePrefetchLandedCost = async () => {
100
- var _a, _b, _c, _d;
101
- const stripeAddressReady = !!((_a = stripeStore.stripeAddressEventData) === null || _a === void 0 ? void 0 : _a.complete);
102
- const stripeLinkReady = !!((_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.complete);
103
- const shouldRefetch = isPrefetchInfoOutdated();
104
- if (shouldRefetch) {
105
- // if the info used when fetching landed cost is different from the current info, abort the previous request
106
- (_c = stripeStore.fetchingLandedCostAbordController) === null || _c === void 0 ? void 0 : _c.abort();
107
- stripeStore.fetchingLandedCostAbordController = null;
108
- }
109
- // only fetch if we are not fetching or we need to refetch
110
- if (stripeAddressReady &&
111
- stripeLinkReady &&
112
- (shouldRefetch || !stripeStore.isFetchingLandedCost)) {
113
- stripeStore.isFetchingLandedCost = true;
114
- if (stripeStore.stripeAddressEventData) {
115
- stripeStore.stripeAddressUsedWhenFetchingLC = Object.assign({}, stripeStore.stripeAddressEventData);
116
- }
117
- if (stripeStore.stripeLinkEventData) {
118
- stripeStore.stripeLinkUsedWhenFetchingLC = Object.assign({}, stripeStore.stripeLinkEventData);
119
- }
120
- try {
121
- const abortController = new AbortController();
122
- stripeStore.fetchingLandedCostAbordController = abortController;
123
- const { checkoutSessionWorkflow, shipmentRatingCalculateWorkflow } = await calculateLandedCost(abortController);
124
- // reset abort controller after we are done
125
- stripeStore.fetchingLandedCostAbordController = null;
126
- // update cart store with landed cost info
127
- cartStore.landedCostData =
128
- (checkoutSessionWorkflow === null || checkoutSessionWorkflow === void 0 ? void 0 : checkoutSessionWorkflow.filter(Boolean)) || null;
129
- cartStore.shippingData =
130
- (shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || null;
131
- // apply new subtotal and total, this is mainly to show items in the presentment currency
132
- const firstLandedCostData = (_d = cartStore.landedCostData) === null || _d === void 0 ? void 0 : _d.find(Boolean);
133
- const subtotals = !!firstLandedCostData
134
- ? firstLandedCostData.subtotals
135
- : null;
136
- if (subtotals) {
137
- // prefetch landed cost will not update shipping and taxes since we haven't selected shipping method yet
138
- cartStoreApplySubtotals({
139
- exchangeRate: subtotals.exchangeRate,
140
- items: subtotals.items,
141
- landedCostTotal: 0,
142
- presentmentCurrencyCode: subtotals.presentmentCurrencyCode,
143
- shipping: 0,
144
- total: subtotals.items,
145
- });
146
- }
110
+ var _a, _b, _c, _d;
111
+ const stripeAddressReady = !!((_a = stripeStore.stripeAddressEventData) === null || _a === void 0 ? void 0 : _a.complete);
112
+ const stripeLinkReady = !!((_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.complete);
113
+ const shouldRefetch = isPrefetchInfoOutdated();
114
+ if (shouldRefetch) {
115
+ // if the info used when fetching landed cost is different from the current info, abort the previous request
116
+ (_c = stripeStore.fetchingLandedCostAbordController) === null || _c === void 0 ? void 0 : _c.abort();
117
+ stripeStore.fetchingLandedCostAbordController = null;
147
118
  }
148
- catch (err) {
149
- logError(err);
119
+ // only fetch if we are not fetching or we need to refetch
120
+ if (stripeAddressReady &&
121
+ stripeLinkReady &&
122
+ (shouldRefetch || !stripeStore.isFetchingLandedCost)) {
123
+ stripeStore.isFetchingLandedCost = true;
124
+ if (stripeStore.stripeAddressEventData) {
125
+ stripeStore.stripeAddressUsedWhenFetchingLC = Object.assign({}, stripeStore.stripeAddressEventData);
126
+ }
127
+ if (stripeStore.stripeLinkEventData) {
128
+ stripeStore.stripeLinkUsedWhenFetchingLC = Object.assign({}, stripeStore.stripeLinkEventData);
129
+ }
130
+ try {
131
+ const abortController = new AbortController();
132
+ stripeStore.fetchingLandedCostAbordController = abortController;
133
+ const { checkoutSessionWorkflow, shipmentRatingCalculateWorkflow } = await calculateLandedCost(abortController);
134
+ // reset abort controller after we are done
135
+ stripeStore.fetchingLandedCostAbordController = null;
136
+ // update cart store with landed cost info
137
+ cartStore.landedCostData =
138
+ (checkoutSessionWorkflow === null || checkoutSessionWorkflow === void 0 ? void 0 : checkoutSessionWorkflow.filter(Boolean)) || null;
139
+ cartStore.shippingData =
140
+ (shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || null;
141
+ // apply new subtotal and total, this is mainly to show items in the presentment currency
142
+ const firstLandedCostData = (_d = cartStore.landedCostData) === null || _d === void 0 ? void 0 : _d.find(Boolean);
143
+ const subtotals = !!firstLandedCostData
144
+ ? firstLandedCostData.subtotals
145
+ : null;
146
+ if (subtotals) {
147
+ // prefetch landed cost will not update shipping and taxes since we haven't selected shipping method yet
148
+ cartStoreApplySubtotals({
149
+ exchangeRate: subtotals.exchangeRate,
150
+ items: subtotals.items,
151
+ landedCostTotal: 0,
152
+ presentmentCurrencyCode: subtotals.presentmentCurrencyCode,
153
+ shipping: 0,
154
+ total: subtotals.items,
155
+ });
156
+ }
157
+ }
158
+ catch (err) {
159
+ logError(err);
160
+ }
161
+ stripeStore.isFetchingLandedCost = false;
150
162
  }
151
- stripeStore.isFetchingLandedCost = false;
152
- }
153
163
  };
154
164
  const getStripeMessageBasedOnStatus = (status) => {
155
- let messages = [];
156
- let isError = true;
157
- // Inspect the PaymentIntent `status` to indicate the status of the payment
158
- // to your customer.
159
- //
160
- // Some payment methods will [immediately succeed or fail][0] upon
161
- // confirmation, while others will first enter a `processing` state.
162
- //
163
- // [0]: https://stripe.com/docs/payments/payment-methods#payment-notification
164
- switch (status) {
165
- case 'succeeded': {
166
- messages = [
167
- translate('Your payment went through successfully! Thank you for shopping with us! We hope you had an enjoyable experience and your support means the world to us.'),
168
- '',
169
- '',
170
- translate("We've sent an email confirmation of the order details for your review. And our team is carefully preparing your order so it arrives on time."),
171
- ];
172
- isError = false;
173
- break;
174
- }
175
- case 'requires_capture':
176
- case 'processing': {
177
- messages = [
178
- translate("Payment processing. We'll update you when payment is received."),
179
- ];
180
- isError = false;
181
- break;
182
- }
183
- case 'requires_payment_method': {
184
- messages = [
185
- translate('Payment failed. Please try another payment method.'),
186
- ];
187
- break;
188
- }
189
- default: {
190
- messages = [translate('Something went wrong.')];
191
- break;
165
+ let messages = [];
166
+ let isError = true;
167
+ // Inspect the PaymentIntent `status` to indicate the status of the payment
168
+ // to your customer.
169
+ //
170
+ // Some payment methods will [immediately succeed or fail][0] upon
171
+ // confirmation, while others will first enter a `processing` state.
172
+ //
173
+ // [0]: https://stripe.com/docs/payments/payment-methods#payment-notification
174
+ switch (status) {
175
+ case 'succeeded': {
176
+ messages = [
177
+ translate('Your payment went through successfully! Thank you for shopping with us! We hope you had an enjoyable experience and your support means the world to us.'),
178
+ '',
179
+ '',
180
+ translate("We've sent an email confirmation of the order details for your review. And our team is carefully preparing your order so it arrives on time."),
181
+ ];
182
+ isError = false;
183
+ break;
184
+ }
185
+ case 'requires_capture':
186
+ case 'processing': {
187
+ messages = [
188
+ translate("Payment processing. We'll update you when payment is received."),
189
+ ];
190
+ isError = false;
191
+ break;
192
+ }
193
+ case 'requires_payment_method': {
194
+ messages = [
195
+ translate('Payment failed. Please try another payment method.'),
196
+ ];
197
+ break;
198
+ }
199
+ default: {
200
+ messages = [translate('Something went wrong.')];
201
+ break;
202
+ }
192
203
  }
193
- }
194
- return {
195
- isError,
196
- messages,
197
- };
204
+ return {
205
+ isError,
206
+ messages,
207
+ };
198
208
  };
199
209
  const stripeStoreRetrievePayment = async ({ clientSecret: _clientSecret, storybookForceStatus, }) => {
200
- if (storybookForceStatus) {
201
- // return status right away if we are in storybook mode
202
- const { isError, messages } = getStripeMessageBasedOnStatus(storybookForceStatus);
210
+ if (storybookForceStatus) {
211
+ // return status right away if we are in storybook mode
212
+ const { isError, messages } = getStripeMessageBasedOnStatus(storybookForceStatus);
213
+ return { error: isError, messages };
214
+ }
215
+ const clientSecret = _clientSecret || stripeStore.clientSecret;
216
+ if (!stripeStore.stripe || !clientSecret) {
217
+ logError('Failed to retrieve payment intent. Stripe is not initialized');
218
+ return { error: true, message: [translate('Something went wrong.')] };
219
+ }
220
+ const { paymentIntent } = await stripeStore.stripe.retrievePaymentIntent(clientSecret);
221
+ const status = paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status;
222
+ const { isError, messages } = getStripeMessageBasedOnStatus(status);
203
223
  return { error: isError, messages };
204
- }
205
- const clientSecret = _clientSecret || stripeStore.clientSecret;
206
- if (!stripeStore.stripe || !clientSecret) {
207
- logError('Failed to retrieve payment intent. Stripe is not initialized');
208
- return { error: true, message: [translate('Something went wrong.')] };
209
- }
210
- const { paymentIntent } = await stripeStore.stripe.retrievePaymentIntent(clientSecret);
211
- const status = paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status;
212
- const { isError, messages } = getStripeMessageBasedOnStatus(status);
213
- return { error: isError, messages };
214
224
  };
215
225
  const stripeStoreConfirmPayment = async () => {
216
- var _a, _b, _c;
217
- const stripePaymentReady = !!((_a = stripeStore.stripePaymentEventData) === null || _a === void 0 ? void 0 : _a.complete);
218
- const stripeElements = stripeStore.stripeElements;
219
- const stripe = stripeStore.stripe;
220
- const stripeClientSecret = stripeStore.clientSecret;
221
- if (stripe && stripeElements && stripePaymentReady && stripeClientSecret) {
222
- const { error } = await stripe.confirmPayment({
223
- confirmParams: {
224
- receipt_email: (_c = (_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.email,
225
- return_url: window.location.href,
226
- },
227
- elements: stripeElements,
228
- redirect: 'if_required',
229
- });
230
- if (error) {
231
- if (error.type === 'card_error' || error.type === 'validation_error') {
232
- throw new Error(error.message);
233
- }
234
- if (error.type === 'invalid_request_error') {
235
- if (error.code === 'payment_intent_unexpected_state') {
236
- // PaymentIntent was canceled or expired, or status is `require_capture`.
237
- // don't throw error here because we will reset the checkout session last step
238
- return;
226
+ var _a, _b, _c;
227
+ const stripePaymentReady = !!((_a = stripeStore.stripePaymentEventData) === null || _a === void 0 ? void 0 : _a.complete);
228
+ const stripeElements = stripeStore.stripeElements;
229
+ const stripe = stripeStore.stripe;
230
+ const stripeClientSecret = stripeStore.clientSecret;
231
+ if (stripe && stripeElements && stripePaymentReady && stripeClientSecret) {
232
+ const { error } = await stripe.confirmPayment({
233
+ confirmParams: {
234
+ receipt_email: (_c = (_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.email,
235
+ return_url: window.location.href,
236
+ },
237
+ elements: stripeElements,
238
+ redirect: 'if_required',
239
+ });
240
+ if (error) {
241
+ if (error.type === 'card_error' || error.type === 'validation_error') {
242
+ throw new Error(error.message);
243
+ }
244
+ if (error.type === 'invalid_request_error') {
245
+ if (error.code === 'payment_intent_unexpected_state') {
246
+ // PaymentIntent was canceled or expired, or status is `require_capture`.
247
+ // don't throw error here because we will reset the checkout session last step
248
+ return;
249
+ }
250
+ }
251
+ throw new Error('An unexpected error occurred.');
239
252
  }
240
- }
241
- throw new Error('An unexpected error occurred.');
242
253
  }
243
- }
244
254
  };
245
255
  /**
246
256
  * Init checkout session
247
257
  * @returns {boolean} whether or not the checkout session is successfully created
248
258
  */
249
259
  const stripeStoreInitCheckoutSession = async () => {
250
- var _a;
251
- const total = cartStore.items.reduce((amount, item) => amount + item.amount * item.quantity, 0);
252
- if (!total || !localizationStore.targetCurrency) {
253
- logError('Fail to create checkout session - invalid total or currency');
254
- return false;
255
- }
256
- stripeStore.isFetchingSession = true;
257
- const { errors, json } = await handleFetch(`${process.env.NEXT_PUBLIC_ZONOS_ROUTE_URL}/api/create-checkout-session`, {
258
- body: {
259
- currency: ((_a = cartStore.items.find(Boolean)) === null || _a === void 0 ? void 0 : _a.currencyCode) || '',
260
- itemsAmount: total,
261
- presentmentCountryCode: localizationStore.selectedCountryCode || null,
262
- },
263
- method: 'POST',
264
- });
265
- stripeStore.isFetchingSession = false;
266
- if (errors.length || !json) {
267
- logError('Error occurs when creating checkout session', JSON.stringify(errors, null, 2));
268
- return false;
269
- }
270
- const result = json.checkoutSessionCreate;
271
- stripeStore.clientSecret = result.clientSecret;
272
- // update cart store with updated informations
273
- cartStore.checkoutSessionId = result.id;
274
- cartStoreApplySubtotals(Object.assign(Object.assign({}, result.subtotals), { landedCostTotal: 0, shipping: 0, total: result.subtotals.items }));
275
- log('Exchange rate updated for cart items (checkout session create)', 'info', cartStore.exchangeRate);
276
- log('done-init-checkout-session');
277
- return true;
260
+ var _a;
261
+ const total = cartStore.items.reduce((amount, item) => amount + item.amount * item.quantity, 0);
262
+ if (!total || !localizationStore.targetCurrency) {
263
+ logError('Fail to create checkout session - invalid total or currency');
264
+ return false;
265
+ }
266
+ stripeStore.isFetchingSession = true;
267
+ const { errors, json } = await handleFetch(`${process.env.NEXT_PUBLIC_ZONOS_ROUTE_URL}/api/create-checkout-session`, {
268
+ body: {
269
+ currency: ((_a = cartStore.items.find(Boolean)) === null || _a === void 0 ? void 0 : _a.currencyCode) || '',
270
+ itemsAmount: total,
271
+ presentmentCountryCode: localizationStore.selectedCountryCode || null,
272
+ },
273
+ method: 'POST',
274
+ });
275
+ stripeStore.isFetchingSession = false;
276
+ if (errors.length || !json) {
277
+ logError('Error occurs when creating checkout session', JSON.stringify(errors, null, 2));
278
+ return false;
279
+ }
280
+ const result = json.checkoutSessionCreate;
281
+ stripeStore.clientSecret = result.clientSecret;
282
+ // update cart store with updated informations
283
+ cartStore.checkoutSessionId = result.id;
284
+ cartStoreApplySubtotals(Object.assign(Object.assign({}, result.subtotals), { landedCostTotal: 0, shipping: 0, total: result.subtotals.items }));
285
+ log('Exchange rate updated for cart items (checkout session create)', 'info', cartStore.exchangeRate);
286
+ log('done-init-checkout-session');
287
+ return true;
278
288
  };
279
289
  /**
280
290
  * Update checkout session. Use for updating amount with landed cost id, or update session when cart items change
281
291
  */
282
292
  const stripeStoreUpdateCheckoutSession = async ({ currency, id, itemsAmount, landedCostId, presentmentCountryCode, }) => {
283
- // No need to set loading state here because this function will be called under the hood to update
284
- // landed cost id for the section.
285
- const { errors, json } = await handleFetch(`${process.env.NEXT_PUBLIC_ZONOS_ROUTE_URL}/api/update-checkout-session`, {
286
- body: {
287
- currency,
288
- id,
289
- itemsAmount,
290
- landedCostId,
291
- presentmentCountryCode,
292
- },
293
- method: 'POST',
294
- });
295
- if (errors.length || !json) {
296
- logError('Error occurs when updating checkout session', JSON.stringify(errors, null, 2));
297
- return { errors, json };
298
- }
299
- return { errors: [], json };
293
+ // No need to set loading state here because this function will be called under the hood to update
294
+ // landed cost id for the section.
295
+ const { errors, json } = await handleFetch(`${process.env.NEXT_PUBLIC_ZONOS_ROUTE_URL}/api/update-checkout-session`, {
296
+ body: {
297
+ currency,
298
+ id,
299
+ itemsAmount,
300
+ landedCostId,
301
+ presentmentCountryCode,
302
+ },
303
+ method: 'POST',
304
+ });
305
+ if (errors.length || !json) {
306
+ logError('Error occurs when updating checkout session', JSON.stringify(errors, null, 2));
307
+ return { errors, json };
308
+ }
309
+ return { errors: [], json };
300
310
  };
301
311
  onChange('clientSecret', clientSecret => {
302
- // update stripe elements when client secret changes
303
- if (clientSecret && stripeStore.stripe) {
304
- sessionStorage.setItem('zonos--client-secret', clientSecret);
305
- }
306
- if (!clientSecret) {
307
- sessionStorage.removeItem('zonos--client-secret');
308
- }
312
+ // update stripe elements when client secret changes
313
+ if (clientSecret && stripeStore.stripe) {
314
+ sessionStorage.setItem('zonos--client-secret', clientSecret);
315
+ }
316
+ if (!clientSecret) {
317
+ sessionStorage.removeItem('zonos--client-secret');
318
+ }
309
319
  });
310
320
  export { initStripeElements, stripeStore, stripeStoreConfirmPayment, stripeStoreInitCheckoutSession, stripeStorePrefetchLandedCost, stripeStoreReset, stripeStoreRetrievePayment, stripeStoreUpdateCheckoutSession, };