@zonos/elements 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/dist/cjs/{TaxId-Q6aDqqWv.js → TaxId-ChhNwG04.js} +36 -0
  2. package/dist/cjs/{cart-B6Aty-21.js → cart-BJpqPdFU.js} +100 -64
  3. package/dist/cjs/{collect-DnrvaXUI.js → collect-CyUttsvB.js} +4 -4
  4. package/dist/cjs/{debounce-Cd2emZPn.js → debounce-BhgA8_3W.js} +2 -2
  5. package/dist/cjs/{debounce-vY0QYT6o.js → debounce-DRPMxNew.js} +1 -1
  6. package/dist/cjs/{getBorderRadius-CyYZw4qq.js → getBorderRadius-CJ_95w3o.js} +1 -1
  7. package/dist/cjs/{getMissingRequiredShippingFields-D03ICqss.js → getMissingRequiredShippingFields-DEbNbRAZ.js} +1 -1
  8. package/dist/cjs/{handleFetch-DQLhurnE.js → handleFetch-DVfjFTYO.js} +181 -71
  9. package/dist/cjs/{hasInclusivePrice-CPCoVeU3.js → hasInclusivePrice-CEPf3_FG.js} +1 -1
  10. package/dist/cjs/index.cjs.js +116 -13
  11. package/dist/cjs/{invoice-Cj8W7NW0.js → invoice-DzRkkpLu.js} +4 -4
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/{localization-BzNeXeDe.js → localization-BhNVhLZs.js} +725 -89
  14. package/dist/cjs/{paypal-CuKshRmZ.js → paypal-DCSqbdjW.js} +5 -5
  15. package/dist/cjs/{placeTestOrder-7czjwkjm.js → placeTestOrder-Bkip4PUT.js} +3 -3
  16. package/dist/cjs/{renderCheckoutCurrency-BH8t2b2x.js → renderCheckoutCurrency-BDvEZ3Hv.js} +2 -2
  17. package/dist/cjs/shouldRenderShortAddressCodeInput-gpu_bMfp.js +21 -0
  18. package/dist/cjs/{shouldShowLanguageSelect-yAbtCmd8.js → shouldShowLanguageSelect-NOVWOU53.js} +1 -1
  19. package/dist/cjs/{submitGtag-D79e8u6s.js → submitGtag-D4sB7w4z.js} +2 -2
  20. package/dist/cjs/{throttle-zSVRQLC0.js → taxIdFields-e4OCgr8K.js} +57 -2
  21. package/dist/cjs/taxIdRules-BBj8kQxJ.js +58 -0
  22. package/dist/cjs/{updateCheckoutSessionAttributes-jMtfOL2m.js → updateCheckoutSessionAttributes-KxwcsKhM.js} +2 -2
  23. package/dist/cjs/zonos-address-completion-dialog_7.cjs.entry.js +26 -31
  24. package/dist/cjs/zonos-address-display_2.cjs.entry.js +4 -4
  25. package/dist/cjs/zonos-address_4.cjs.entry.js +28 -31
  26. package/dist/cjs/zonos-airwallex-payment.cjs.entry.js +8 -7
  27. package/dist/cjs/zonos-badge.cjs.entry.js +1 -1
  28. package/dist/cjs/zonos-banner.cjs.entry.js +1 -1
  29. package/dist/cjs/zonos-button_3.cjs.entry.js +2 -2
  30. package/dist/cjs/zonos-card_5.cjs.entry.js +9 -8
  31. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +91 -86
  32. package/dist/cjs/zonos-checkbox_2.cjs.entry.js +2 -2
  33. package/dist/cjs/zonos-checkout.cjs.entry.js +15 -14
  34. package/dist/cjs/zonos-collapse.cjs.entry.js +1 -1
  35. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +7 -6
  36. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +13 -12
  37. package/dist/cjs/zonos-collect.cjs.entry.js +10 -9
  38. package/dist/cjs/zonos-controller.cjs.entry.js +10 -9
  39. package/dist/cjs/zonos-country-flag.cjs.entry.js +3 -3
  40. package/dist/cjs/zonos-country-select_4.cjs.entry.js +4 -4
  41. package/dist/cjs/zonos-elements.cjs.js +1 -1
  42. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +5 -5
  43. package/dist/cjs/zonos-hello.cjs.entry.js +5 -5
  44. package/dist/cjs/zonos-input.cjs.entry.js +2 -2
  45. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +9 -8
  46. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +13 -12
  47. package/dist/cjs/zonos-invoice.cjs.entry.js +10 -9
  48. package/dist/cjs/zonos-language-select_2.cjs.entry.js +3 -3
  49. package/dist/cjs/zonos-logo.cjs.entry.js +1 -1
  50. package/dist/cjs/zonos-policy-consent_2.cjs.entry.js +8 -7
  51. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +2 -2
  52. package/dist/cjs/zonos-stripe-input.cjs.entry.js +2 -2
  53. package/dist/cjs/zonos-text.cjs.entry.js +1 -1
  54. package/dist/cjs/zonos-v-stack.cjs.entry.js +1 -1
  55. package/dist/cjs/{zonosStore-Bx9jK82G.js → zonosStore-CDV83QyK.js} +2 -0
  56. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +8 -7
  57. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +4 -3
  58. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +12 -4
  59. package/dist/collection/components/main/zonos-controller.js +3 -2
  60. package/dist/collection/components/store/checkout/cart.js +3 -2
  61. package/dist/collection/components/store/checkout/stripe.js +20 -21
  62. package/dist/collection/components/store/storageStore.js +7 -6
  63. package/dist/collection/components/store/translationStore/strings.arabic.js +35 -2
  64. package/dist/collection/components/store/translationStore/strings.base.js +35 -2
  65. package/dist/collection/components/store/translationStore/strings.chinese.js +35 -2
  66. package/dist/collection/components/store/translationStore/strings.danish.js +35 -2
  67. package/dist/collection/components/store/translationStore/strings.dutch.js +35 -2
  68. package/dist/collection/components/store/translationStore/strings.french.js +35 -2
  69. package/dist/collection/components/store/translationStore/strings.german.js +35 -2
  70. package/dist/collection/components/store/translationStore/strings.hebrew.js +35 -2
  71. package/dist/collection/components/store/translationStore/strings.indonesian.js +35 -2
  72. package/dist/collection/components/store/translationStore/strings.italian.js +35 -2
  73. package/dist/collection/components/store/translationStore/strings.japanese.js +35 -2
  74. package/dist/collection/components/store/translationStore/strings.korean.js +35 -2
  75. package/dist/collection/components/store/translationStore/strings.norwegian.js +35 -2
  76. package/dist/collection/components/store/translationStore/strings.polish.js +35 -2
  77. package/dist/collection/components/store/translationStore/strings.portuguese.js +35 -2
  78. package/dist/collection/components/store/translationStore/strings.russian.js +35 -2
  79. package/dist/collection/components/store/translationStore/strings.spanish.js +35 -2
  80. package/dist/collection/components/store/translationStore/strings.swedish.js +35 -2
  81. package/dist/collection/components/store/translationStore/strings.turkish.js +35 -2
  82. package/dist/collection/components/store/translationStore/strings.vietnamese.js +35 -2
  83. package/dist/collection/components/store/zonosStore.js +2 -1
  84. package/dist/collection/components/stripe/zonos-address/zonos-address.css +5 -0
  85. package/dist/collection/components/stripe/zonos-address/zonos-address.js +37 -22
  86. package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.css +5 -0
  87. package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +34 -21
  88. package/dist/collection/components/utils/__tests__/helpers/blockStorage.js +24 -0
  89. package/dist/collection/components/utils/api/getExchangeRate.js +2 -1
  90. package/dist/collection/components/utils/api/prepCalculateLandedCost.js +24 -35
  91. package/dist/collection/components/utils/checkout/getCheckoutTaxIdPayload.js +16 -0
  92. package/dist/collection/components/utils/checkout/getTaxIdFieldState.js +26 -0
  93. package/dist/collection/components/utils/checkout/resolveTaxIdSelection.js +23 -0
  94. package/dist/collection/components/utils/checkout/shouldRenderTaxIdInput.js +7 -11
  95. package/dist/collection/components/utils/checkout/taxIdFields.js +29 -0
  96. package/dist/collection/components/utils/handleFetch.js +19 -9
  97. package/dist/collection/components/utils/hello/countryOverrideStorage.js +17 -40
  98. package/dist/collection/components/utils/logging/installConstructorCapture.js +58 -0
  99. package/dist/collection/components/utils/logging/reportBlockedStorage.js +34 -0
  100. package/dist/collection/components/utils/logging/sendErrorLog.js +8 -1
  101. package/dist/collection/components/utils/logging/startZonosInit.js +35 -0
  102. package/dist/collection/components/utils/logging/thrownMessage.js +16 -0
  103. package/dist/collection/components/utils/safeStorage.js +39 -0
  104. package/dist/collection/components/utils/taxId/taxIdRules.js +44 -0
  105. package/dist/collection/components/utils/taxIdValidationResult.js +57 -58
  106. package/dist/collection/index.js +1 -0
  107. package/dist/collection/scripts/_getZonosQaUrl.js +3 -2
  108. package/dist/collection/scripts/_zonosBase.js +6 -2
  109. package/dist/collection/types/checkout/TaxId.js +31 -0
  110. package/dist/collection/types/generated/graphql.frontend.types.js +0 -16
  111. package/dist/collection/types/generated/graphql.internal.types.js +215 -1
  112. package/dist/esm/{TaxId-Cye-evFK.js → TaxId-DMIgN_sT.js} +32 -1
  113. package/dist/esm/{cart-BoQp8Ema.js → cart-BS5mSI8x.js} +100 -65
  114. package/dist/esm/{collect-Eo4gtyql.js → collect-B9ZxDDl7.js} +4 -4
  115. package/dist/esm/{debounce-BR3PaG8X.js → debounce-DHj2iHA1.js} +1 -1
  116. package/dist/esm/{debounce-CrmpwbEE.js → debounce-DWqMT4lo.js} +2 -2
  117. package/dist/esm/{getBorderRadius-DYfkeXdx.js → getBorderRadius-BiGd45jw.js} +1 -1
  118. package/dist/esm/{getMissingRequiredShippingFields-Ks6_tpjn.js → getMissingRequiredShippingFields-BkEV865q.js} +1 -1
  119. package/dist/esm/{handleFetch-D5GYDF-O.js → handleFetch-BFVO7oAR.js} +178 -72
  120. package/dist/esm/{hasInclusivePrice-CbEfIhI5.js → hasInclusivePrice-zSvDReDb.js} +1 -1
  121. package/dist/esm/index.js +106 -13
  122. package/dist/esm/{invoice-S1KahJ_Z.js → invoice-6iTuS6ek.js} +4 -4
  123. package/dist/esm/loader.js +1 -1
  124. package/dist/esm/{localization-BIh-4pc_.js → localization-CXHiWcJp.js} +725 -89
  125. package/dist/esm/{paypal-DNfvnuUU.js → paypal-BE_NVBoy.js} +5 -5
  126. package/dist/esm/{placeTestOrder-CQaMKFOg.js → placeTestOrder-BXA9K9Iy.js} +3 -3
  127. package/dist/esm/{renderCheckoutCurrency-C2Tw73uR.js → renderCheckoutCurrency-KMa4HlAf.js} +2 -2
  128. package/dist/esm/shouldRenderShortAddressCodeInput-Bc8k2vN0.js +19 -0
  129. package/dist/esm/{shouldShowLanguageSelect-CCD7gpSY.js → shouldShowLanguageSelect-BI_ApEsQ.js} +1 -1
  130. package/dist/esm/{submitGtag-df9AQ2zL.js → submitGtag-C5xzFHjG.js} +2 -2
  131. package/dist/esm/taxIdFields-BUKnHMaL.js +139 -0
  132. package/dist/esm/taxIdRules-xYlx7ZXW.js +47 -0
  133. package/dist/esm/{updateCheckoutSessionAttributes-4Jq6V4pO.js → updateCheckoutSessionAttributes-C9bMKTjz.js} +2 -2
  134. package/dist/esm/zonos-address-completion-dialog_7.entry.js +24 -29
  135. package/dist/esm/zonos-address-display_2.entry.js +4 -4
  136. package/dist/esm/zonos-address_4.entry.js +26 -29
  137. package/dist/esm/zonos-airwallex-payment.entry.js +8 -7
  138. package/dist/esm/zonos-badge.entry.js +1 -1
  139. package/dist/esm/zonos-banner.entry.js +1 -1
  140. package/dist/esm/zonos-button_3.entry.js +2 -2
  141. package/dist/esm/zonos-card_5.entry.js +9 -8
  142. package/dist/esm/zonos-cart-items_12.entry.js +90 -85
  143. package/dist/esm/zonos-checkbox_2.entry.js +2 -2
  144. package/dist/esm/zonos-checkout.entry.js +15 -14
  145. package/dist/esm/zonos-collapse.entry.js +1 -1
  146. package/dist/esm/zonos-collect-cart-items_3.entry.js +7 -6
  147. package/dist/esm/zonos-collect-finish_6.entry.js +13 -12
  148. package/dist/esm/zonos-collect.entry.js +10 -9
  149. package/dist/esm/zonos-controller.entry.js +10 -9
  150. package/dist/esm/zonos-country-flag.entry.js +3 -3
  151. package/dist/esm/zonos-country-select_4.entry.js +4 -4
  152. package/dist/esm/zonos-elements.js +1 -1
  153. package/dist/esm/zonos-hello-dialog.entry.js +5 -5
  154. package/dist/esm/zonos-hello.entry.js +5 -5
  155. package/dist/esm/zonos-input.entry.js +2 -2
  156. package/dist/esm/zonos-invoice-cart-items_2.entry.js +9 -8
  157. package/dist/esm/zonos-invoice-finish_5.entry.js +13 -12
  158. package/dist/esm/zonos-invoice.entry.js +10 -9
  159. package/dist/esm/zonos-language-select_2.entry.js +3 -3
  160. package/dist/esm/zonos-logo.entry.js +1 -1
  161. package/dist/esm/zonos-policy-consent_2.entry.js +8 -7
  162. package/dist/esm/zonos-shipping-rich-radio.entry.js +2 -2
  163. package/dist/esm/zonos-stripe-input.entry.js +2 -2
  164. package/dist/esm/zonos-text.entry.js +1 -1
  165. package/dist/esm/zonos-v-stack.entry.js +1 -1
  166. package/dist/esm/{zonosStore-msUlqmSD.js → zonosStore-BXP9FvIt.js} +2 -1
  167. package/dist/esm-es5/{TaxId-Cye-evFK.js → TaxId-DMIgN_sT.js} +2 -1
  168. package/dist/esm-es5/{cart-BoQp8Ema.js → cart-BS5mSI8x.js} +42 -31
  169. package/dist/esm-es5/{collect-Eo4gtyql.js → collect-B9ZxDDl7.js} +1 -1
  170. package/dist/esm-es5/{debounce-BR3PaG8X.js → debounce-DHj2iHA1.js} +7 -7
  171. package/dist/esm-es5/debounce-DWqMT4lo.js +1 -0
  172. package/dist/esm-es5/getBorderRadius-BiGd45jw.js +8 -0
  173. package/dist/esm-es5/{getMissingRequiredShippingFields-Ks6_tpjn.js → getMissingRequiredShippingFields-BkEV865q.js} +3 -3
  174. package/dist/esm-es5/handleFetch-BFVO7oAR.js +73 -0
  175. package/dist/esm-es5/{hasInclusivePrice-CbEfIhI5.js → hasInclusivePrice-zSvDReDb.js} +1 -1
  176. package/dist/esm-es5/index.js +30 -12
  177. package/dist/esm-es5/{invoice-S1KahJ_Z.js → invoice-6iTuS6ek.js} +1 -1
  178. package/dist/esm-es5/loader.js +1 -1
  179. package/dist/esm-es5/localization-CXHiWcJp.js +345 -0
  180. package/dist/esm-es5/{paypal-DNfvnuUU.js → paypal-BE_NVBoy.js} +1 -1
  181. package/dist/esm-es5/{placeTestOrder-CQaMKFOg.js → placeTestOrder-BXA9K9Iy.js} +1 -1
  182. package/dist/esm-es5/{renderCheckoutCurrency-C2Tw73uR.js → renderCheckoutCurrency-KMa4HlAf.js} +1 -1
  183. package/dist/esm-es5/shouldRenderShortAddressCodeInput-Bc8k2vN0.js +8 -0
  184. package/dist/esm-es5/{shouldShowLanguageSelect-CCD7gpSY.js → shouldShowLanguageSelect-BI_ApEsQ.js} +1 -1
  185. package/dist/esm-es5/{submitGtag-df9AQ2zL.js → submitGtag-C5xzFHjG.js} +1 -1
  186. package/dist/esm-es5/taxIdFields-BUKnHMaL.js +46 -0
  187. package/dist/esm-es5/taxIdRules-xYlx7ZXW.js +6 -0
  188. package/dist/esm-es5/{updateCheckoutSessionAttributes-4Jq6V4pO.js → updateCheckoutSessionAttributes-C9bMKTjz.js} +1 -1
  189. package/dist/esm-es5/zonos-address-completion-dialog_7.entry.js +253 -254
  190. package/dist/esm-es5/zonos-address-display_2.entry.js +1 -1
  191. package/dist/esm-es5/zonos-address_4.entry.js +8 -9
  192. package/dist/esm-es5/zonos-airwallex-payment.entry.js +1 -1
  193. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  194. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  195. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  196. package/dist/esm-es5/zonos-card_5.entry.js +6 -6
  197. package/dist/esm-es5/zonos-cart-items_12.entry.js +137 -136
  198. package/dist/esm-es5/zonos-checkbox_2.entry.js +1 -1
  199. package/dist/esm-es5/zonos-checkout.entry.js +3 -3
  200. package/dist/esm-es5/zonos-collapse.entry.js +1 -1
  201. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  202. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  203. package/dist/esm-es5/zonos-collect.entry.js +6 -6
  204. package/dist/esm-es5/zonos-controller.entry.js +5 -5
  205. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  206. package/dist/esm-es5/zonos-country-select_4.entry.js +2 -2
  207. package/dist/esm-es5/zonos-elements.js +1 -1
  208. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  209. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  210. package/dist/esm-es5/zonos-input.entry.js +1 -1
  211. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +2 -2
  212. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  213. package/dist/esm-es5/zonos-invoice.entry.js +3 -3
  214. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  215. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  216. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -1
  217. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  218. package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
  219. package/dist/esm-es5/zonos-text.entry.js +1 -1
  220. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  221. package/dist/esm-es5/{zonosStore-msUlqmSD.js → zonosStore-BXP9FvIt.js} +1 -1
  222. package/dist/scripts/index.d.ts +103 -1
  223. package/dist/scripts/index.js +1 -1
  224. package/dist/scripts/loadZonos.js +1 -1
  225. package/dist/scripts/zonos.js +1 -1
  226. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +4 -0
  227. package/dist/types/components/store/checkout/stripe.d.ts +9 -0
  228. package/dist/types/components/store/translationStore/strings.arabic.d.ts +34 -1
  229. package/dist/types/components/store/translationStore/strings.base.d.ts +34 -1
  230. package/dist/types/components/store/translationStore/strings.chinese.d.ts +34 -1
  231. package/dist/types/components/store/translationStore/strings.danish.d.ts +34 -1
  232. package/dist/types/components/store/translationStore/strings.dutch.d.ts +34 -1
  233. package/dist/types/components/store/translationStore/strings.french.d.ts +34 -1
  234. package/dist/types/components/store/translationStore/strings.german.d.ts +34 -1
  235. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +34 -1
  236. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +34 -1
  237. package/dist/types/components/store/translationStore/strings.italian.d.ts +34 -1
  238. package/dist/types/components/store/translationStore/strings.japanese.d.ts +34 -1
  239. package/dist/types/components/store/translationStore/strings.korean.d.ts +34 -1
  240. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +34 -1
  241. package/dist/types/components/store/translationStore/strings.polish.d.ts +34 -1
  242. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +34 -1
  243. package/dist/types/components/store/translationStore/strings.russian.d.ts +34 -1
  244. package/dist/types/components/store/translationStore/strings.spanish.d.ts +34 -1
  245. package/dist/types/components/store/translationStore/strings.swedish.d.ts +34 -1
  246. package/dist/types/components/store/translationStore/strings.turkish.d.ts +34 -1
  247. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +34 -1
  248. package/dist/types/components/store/zonosStore.d.ts +2 -1
  249. package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +4 -1
  250. package/dist/types/components/stripe/zonos-custom-address/zonos-custom-address.d.ts +4 -1
  251. package/dist/types/components/utils/__tests__/helpers/blockStorage.d.ts +3 -0
  252. package/dist/types/components/utils/checkout/getCheckoutTaxIdPayload.d.ts +6 -0
  253. package/dist/types/components/utils/checkout/getTaxIdFieldState.d.ts +18 -0
  254. package/dist/types/components/utils/checkout/resolveTaxIdSelection.d.ts +12 -0
  255. package/dist/types/components/utils/checkout/shouldRenderTaxIdInput.d.ts +2 -1
  256. package/dist/types/components/utils/checkout/taxIdFields.d.ts +11 -0
  257. package/dist/types/components/utils/logging/installConstructorCapture.d.ts +20 -0
  258. package/dist/types/components/utils/logging/reportBlockedStorage.d.ts +16 -0
  259. package/dist/types/components/utils/logging/startZonosInit.d.ts +5 -0
  260. package/dist/types/components/utils/logging/thrownMessage.d.ts +1 -0
  261. package/dist/types/components/utils/safeStorage.d.ts +4 -0
  262. package/dist/types/components/utils/taxId/taxIdRules.d.ts +37 -0
  263. package/dist/types/components/utils/taxIdValidationResult.d.ts +8 -2
  264. package/dist/types/components.d.ts +22 -0
  265. package/dist/types/index.d.ts +1 -0
  266. package/dist/types/scripts/cart/_setupCartDataWithSettings.d.ts +5 -0
  267. package/dist/types/types/checkout/TaxId.d.ts +45 -0
  268. package/dist/types/types/checkout/api/CalculateLandedCost.d.ts +11 -0
  269. package/dist/types/types/checkout/api/CreateParty.d.ts +2 -0
  270. package/dist/types/types/generated/graphql.frontend.types.d.ts +0 -22
  271. package/dist/types/types/generated/graphql.frontend.types.ts +0 -51
  272. package/dist/types/types/generated/graphql.internal.types.d.ts +270 -1
  273. package/dist/types/types/generated/graphql.internal.types.ts +341 -1
  274. package/dist/types/types/utils/ZonosSettings.d.ts +5 -0
  275. package/dist/zonos-elements/index.esm.js +1 -1
  276. package/dist/zonos-elements/p-08b01c96.entry.js +1 -0
  277. package/dist/zonos-elements/{p-c961caaf.entry.js → p-0909ef77.entry.js} +1 -1
  278. package/dist/zonos-elements/{p-23352709.system.entry.js → p-13015d34.system.entry.js} +4 -4
  279. package/dist/zonos-elements/{p-6c41b00c.entry.js → p-13d5b2f9.entry.js} +1 -1
  280. package/dist/zonos-elements/{p-5b80aff2.system.entry.js → p-150047b3.system.entry.js} +25 -25
  281. package/dist/zonos-elements/p-1986cc37.entry.js +1 -0
  282. package/dist/zonos-elements/{p-CBx5nYet.system.js → p-1OG3IJgY.system.js} +1 -1
  283. package/dist/zonos-elements/{p-d3d0656a.entry.js → p-1a5acbcd.entry.js} +1 -1
  284. package/dist/zonos-elements/{p-756d303f.system.entry.js → p-20eb00de.system.entry.js} +1 -1
  285. package/dist/zonos-elements/{p-9c33f7ed.system.entry.js → p-30bf4700.system.entry.js} +1 -1
  286. package/dist/zonos-elements/{p-d168023b.entry.js → p-3466bcba.entry.js} +1 -1
  287. package/dist/zonos-elements/p-383343c7.entry.js +1 -0
  288. package/dist/zonos-elements/{p-06030d3b.system.entry.js → p-3a506614.system.entry.js} +54 -54
  289. package/dist/zonos-elements/p-43c0ebe9.entry.js +1 -0
  290. package/dist/zonos-elements/{p-acd50b0b.entry.js → p-4612facd.entry.js} +1 -1
  291. package/dist/zonos-elements/{p-244e0302.system.entry.js → p-4715045c.system.entry.js} +1 -1
  292. package/dist/zonos-elements/p-4b65f192.entry.js +1 -0
  293. package/dist/zonos-elements/{p-5967a1c1.system.entry.js → p-573a4e7c.system.entry.js} +6 -6
  294. package/dist/zonos-elements/p-59fc32af.entry.js +1 -0
  295. package/dist/zonos-elements/{p-d82fd8a9.system.entry.js → p-5a296dbc.system.entry.js} +117 -116
  296. package/dist/zonos-elements/{p-193d9722.entry.js → p-61312d5b.entry.js} +1 -1
  297. package/dist/zonos-elements/{p-6abec43f.system.entry.js → p-68325c5a.system.entry.js} +4 -4
  298. package/dist/zonos-elements/{p-0b81f8b9.system.entry.js → p-6db7317a.system.entry.js} +6 -6
  299. package/dist/zonos-elements/{p-51400242.system.entry.js → p-709d1561.system.entry.js} +3 -3
  300. package/dist/zonos-elements/p-71d29603.entry.js +1 -0
  301. package/dist/zonos-elements/{p-7bd99479.system.entry.js → p-7214c953.system.entry.js} +21 -21
  302. package/dist/zonos-elements/p-74659d88.entry.js +1 -0
  303. package/dist/zonos-elements/{p-55916c90.entry.js → p-7f1bea9b.entry.js} +1 -1
  304. package/dist/zonos-elements/{p-0fca452b.entry.js → p-7fe83919.entry.js} +1 -1
  305. package/dist/zonos-elements/{p-1c150f26.entry.js → p-821e413a.entry.js} +1 -1
  306. package/dist/zonos-elements/{p-c403f004.system.entry.js → p-82e45d0c.system.entry.js} +1 -1
  307. package/dist/zonos-elements/{p-1409de3b.system.entry.js → p-88e20e99.system.entry.js} +1 -1
  308. package/dist/zonos-elements/{p-195f6e38.system.entry.js → p-89a3c4db.system.entry.js} +1 -1
  309. package/dist/zonos-elements/p-8ac26831.entry.js +1 -0
  310. package/dist/zonos-elements/{p-a40fd99b.system.entry.js → p-8f9f859f.system.entry.js} +39 -40
  311. package/dist/zonos-elements/{p-92fe9a1f.system.entry.js → p-902cca23.system.entry.js} +1 -1
  312. package/dist/zonos-elements/{p-0a4a7742.system.entry.js → p-93860183.system.entry.js} +1 -1
  313. package/dist/zonos-elements/{p-b5882fbb.system.entry.js → p-9449b4f4.system.entry.js} +1 -1
  314. package/dist/zonos-elements/{p-31043c2e.system.entry.js → p-96b250d8.system.entry.js} +298 -299
  315. package/dist/zonos-elements/p-97729873.entry.js +1 -0
  316. package/dist/zonos-elements/{p-1bac5ac1.system.entry.js → p-990fcf81.system.entry.js} +1 -1
  317. package/dist/zonos-elements/{p-7f031592.system.entry.js → p-9b3668a4.system.entry.js} +155 -155
  318. package/dist/zonos-elements/{p-249c1ee1.system.entry.js → p-9df31243.system.entry.js} +3 -3
  319. package/dist/zonos-elements/p-BD-9rD53.js +1 -0
  320. package/dist/zonos-elements/p-BI6VAB5B.js +1 -0
  321. package/dist/zonos-elements/p-BJFa5RwX.js +1 -0
  322. package/dist/zonos-elements/p-BJ_kE5rM.js +1 -0
  323. package/dist/zonos-elements/{p-Be3Hpms1.system.js → p-BKUlQxBd.system.js} +1 -1
  324. package/dist/zonos-elements/p-BUfCTQXY.system.js +528 -0
  325. package/dist/zonos-elements/{p-CZD8WvyY.system.js → p-BnQyot7Y.system.js} +23 -23
  326. package/dist/zonos-elements/p-Bu9WCfUC.system.js +2 -2
  327. package/dist/zonos-elements/{p-0mGRBGcf.js → p-C-zdj7MK.js} +1 -1
  328. package/dist/zonos-elements/p-C5fs3rIR.js +1 -0
  329. package/dist/zonos-elements/{p-sz4L-ZnB.js → p-CJmWr75U.js} +1 -1
  330. package/dist/zonos-elements/{p-XDxdMlQl.system.js → p-CMneHjck.system.js} +15 -15
  331. package/dist/zonos-elements/p-CP7KnfR3.system.js +245 -0
  332. package/dist/zonos-elements/p-CVRbGFV3.js +1 -0
  333. package/dist/zonos-elements/p-CYxMfUL7.system.js +1 -0
  334. package/dist/zonos-elements/p-Cl5yV0ak.js +1 -0
  335. package/dist/zonos-elements/{p-kaOxUR9u.system.js → p-Cp1IAJvW.system.js} +5 -5
  336. package/dist/zonos-elements/{p-W82paT5F.js → p-CqB9AfBf.js} +1 -1
  337. package/dist/zonos-elements/p-CzKlS3E-.system.js +6 -0
  338. package/dist/zonos-elements/p-D-Lnf8mS.system.js +345 -0
  339. package/dist/zonos-elements/p-D0DkOoAw.system.js +73 -0
  340. package/dist/zonos-elements/{p-c9QtIdJX.js → p-D4xpkSsK.js} +1 -1
  341. package/dist/zonos-elements/p-DATNIakn.js +1 -0
  342. package/dist/zonos-elements/{p-D4MevhAL.system.js → p-DC1OPJDq.system.js} +3 -3
  343. package/dist/zonos-elements/{p-8PPEbm_0.system.js → p-DIab60nK.system.js} +12 -12
  344. package/dist/zonos-elements/p-DKnphvmJ.js +1 -0
  345. package/dist/zonos-elements/{p-Cye-evFK.js → p-DMIgN_sT.js} +1 -1
  346. package/dist/zonos-elements/{p-BuU_p5DP.system.js → p-DTgUqgwV.system.js} +2 -2
  347. package/dist/zonos-elements/p-DW7I0zOF.js +1 -0
  348. package/dist/zonos-elements/{p-DoEHepOc.system.js → p-DXlojp_Y.system.js} +1 -1
  349. package/dist/zonos-elements/p-DqVePqqx.system.js +8 -0
  350. package/dist/zonos-elements/{p-B4Ufchqh.system.js → p-DrS-0mk7.system.js} +3 -3
  351. package/dist/zonos-elements/{p-7abqRc9V.js → p-DrbN3rPL.js} +2 -2
  352. package/dist/zonos-elements/{p-Cby4EkFu.system.js → p-DsBuZ6ob.system.js} +2 -1
  353. package/dist/zonos-elements/{p-DI2vXnXc.system.js → p-Dv5a-V6w.system.js} +1 -1
  354. package/dist/zonos-elements/p-Dwg61Ft_.js +1 -0
  355. package/dist/zonos-elements/{p-474e8a92.system.entry.js → p-a1022808.system.entry.js} +1 -1
  356. package/dist/zonos-elements/{p-17c7ea4a.system.entry.js → p-a3c147d2.system.entry.js} +3 -3
  357. package/dist/zonos-elements/p-aK18R41t.js +1 -0
  358. package/dist/zonos-elements/{p-83aa1c8c.entry.js → p-ad04bba2.entry.js} +1 -1
  359. package/dist/zonos-elements/p-af4ad54b.entry.js +1 -0
  360. package/dist/zonos-elements/p-af741506.entry.js +1 -0
  361. package/dist/zonos-elements/{p-a938c174.entry.js → p-b51010b9.entry.js} +1 -1
  362. package/dist/zonos-elements/{p-6db7c0b1.system.entry.js → p-b540c636.system.entry.js} +2 -2
  363. package/dist/zonos-elements/p-bac94956.entry.js +1 -0
  364. package/dist/zonos-elements/{p-69c3e367.system.entry.js → p-bb1b414a.system.entry.js} +9 -9
  365. package/dist/zonos-elements/{p-b79036fc.entry.js → p-bfa9e32a.entry.js} +1 -1
  366. package/dist/zonos-elements/{p-dfc87b10.system.entry.js → p-c33b8f6a.system.entry.js} +1 -1
  367. package/dist/zonos-elements/p-cf6bf7a4.entry.js +1 -0
  368. package/dist/zonos-elements/{p-CEK_Wk6v.system.js → p-dJcbnNlE.system.js} +1 -1
  369. package/dist/zonos-elements/p-db40b9c3.entry.js +1 -0
  370. package/dist/zonos-elements/p-dd003161.entry.js +1 -0
  371. package/dist/zonos-elements/{p-2603dce0.entry.js → p-e216cc8c.entry.js} +1 -1
  372. package/dist/zonos-elements/p-e374aaa4.entry.js +1 -0
  373. package/dist/zonos-elements/{p-155ed3d3.system.entry.js → p-e43470f7.system.entry.js} +21 -21
  374. package/dist/zonos-elements/p-ebc7ea54.system.entry.js +13 -0
  375. package/dist/zonos-elements/{p-11defdca.system.entry.js → p-f2ed52bc.system.entry.js} +8 -8
  376. package/dist/zonos-elements/{p-d4d2b39e.entry.js → p-fddf3556.entry.js} +1 -1
  377. package/dist/zonos-elements/p-gEViRqvf.js +1 -0
  378. package/dist/zonos-elements/{p-BpDCLBwW.js → p-n5PZKz1k.js} +1 -1
  379. package/dist/zonos-elements/{p-C_z9WL8a.js → p-r-YGHhLa.js} +1 -1
  380. package/dist/zonos-elements/{p-XqkqjeNV.system.js → p-yv7ekcdG.system.js} +2 -2
  381. package/dist/zonos-elements/{p-DQZncB2d.system.js → p-zsTASoh2.system.js} +3 -3
  382. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  383. package/package.json +1 -1
  384. package/dist/cjs/shouldRenderTaxIdInput-TxekHCp7.js +0 -43
  385. package/dist/esm/shouldRenderTaxIdInput-CKyZ6Zni.js +0 -40
  386. package/dist/esm/throttle-Cvlvb-dm.js +0 -85
  387. package/dist/esm-es5/debounce-CrmpwbEE.js +0 -1
  388. package/dist/esm-es5/getBorderRadius-DYfkeXdx.js +0 -8
  389. package/dist/esm-es5/handleFetch-D5GYDF-O.js +0 -60
  390. package/dist/esm-es5/localization-BIh-4pc_.js +0 -348
  391. package/dist/esm-es5/shouldRenderTaxIdInput-CKyZ6Zni.js +0 -17
  392. package/dist/esm-es5/throttle-Cvlvb-dm.js +0 -46
  393. package/dist/zonos-elements/p-06fe2939.entry.js +0 -1
  394. package/dist/zonos-elements/p-24f3c547.entry.js +0 -1
  395. package/dist/zonos-elements/p-30b3c9d3.entry.js +0 -1
  396. package/dist/zonos-elements/p-39ee1558.entry.js +0 -1
  397. package/dist/zonos-elements/p-3a2da031.entry.js +0 -1
  398. package/dist/zonos-elements/p-4679f0ec.entry.js +0 -1
  399. package/dist/zonos-elements/p-4806b264.system.entry.js +0 -13
  400. package/dist/zonos-elements/p-5873ab8e.entry.js +0 -1
  401. package/dist/zonos-elements/p-725e29bb.entry.js +0 -1
  402. package/dist/zonos-elements/p-BGktDPwA.system.js +0 -1
  403. package/dist/zonos-elements/p-Bi-s0fp_.system.js +0 -17
  404. package/dist/zonos-elements/p-CFbfEmjN.js +0 -1
  405. package/dist/zonos-elements/p-CUaf1cEg.js +0 -1
  406. package/dist/zonos-elements/p-CXxvn4GX.system.js +0 -227
  407. package/dist/zonos-elements/p-CcJF6xhQ.js +0 -1
  408. package/dist/zonos-elements/p-Cxuiqv1I.js +0 -1
  409. package/dist/zonos-elements/p-D-bZg-Pc.js +0 -1
  410. package/dist/zonos-elements/p-DE4a-QD5.js +0 -1
  411. package/dist/zonos-elements/p-DOD2I44l.system.js +0 -348
  412. package/dist/zonos-elements/p-DS-qw_qc.system.js +0 -517
  413. package/dist/zonos-elements/p-DZ2mevDK.js +0 -1
  414. package/dist/zonos-elements/p-DnjGkbEy.js +0 -1
  415. package/dist/zonos-elements/p-FRWZayxL.js +0 -1
  416. package/dist/zonos-elements/p-Mrz_lnC1.js +0 -1
  417. package/dist/zonos-elements/p-ad9ff14c.entry.js +0 -1
  418. package/dist/zonos-elements/p-bb3546c0.entry.js +0 -1
  419. package/dist/zonos-elements/p-c1cbfdba.entry.js +0 -1
  420. package/dist/zonos-elements/p-c47ce656.entry.js +0 -1
  421. package/dist/zonos-elements/p-c9d5d8f1.entry.js +0 -1
  422. package/dist/zonos-elements/p-clDfq9AL.js +0 -1
  423. package/dist/zonos-elements/p-d74bc3e8.entry.js +0 -1
  424. package/dist/zonos-elements/p-d8b312e5.entry.js +0 -1
  425. package/dist/zonos-elements/p-db87b0dd.entry.js +0 -1
  426. package/dist/zonos-elements/p-defc2d18.entry.js +0 -1
  427. package/dist/zonos-elements/p-rVp8hgWw.js +0 -1
  428. package/dist/zonos-elements/p-zVLAvre1.system.js +0 -60
@@ -88,7 +88,43 @@ const shipToTaxIdLabels = {
88
88
  SI: { friendlyName: 'EORI number', placeholder: 'DE123456789' },
89
89
  SK: { friendlyName: 'EORI number', placeholder: 'DE123456789' },
90
90
  };
91
+ const isCountryRequireTaxId = (countryCode) => {
92
+ return countryRequireTaxId.some(code => code === countryCode);
93
+ };
94
+ const taxIdTypeOptions = {
95
+ MX: [
96
+ { label: 'RFC', placeholder: 'XAXX010101000', value: 'RFC' },
97
+ { label: 'CURP', placeholder: 'AAAA800101HDFRRR09', value: 'CURP' },
98
+ ],
99
+ PE: [
100
+ { label: 'DNI', placeholder: '12345678', value: 'DNI' },
101
+ { label: 'RUC', placeholder: '20123456789', value: 'RUC' },
102
+ {
103
+ label: 'Carné de extranjería',
104
+ placeholder: '001234567',
105
+ value: 'CE',
106
+ },
107
+ ],
108
+ };
109
+ const checkoutTaxIdTypeValueList = ['CE', 'CURP', 'DNI', 'RFC', 'RUC'];
110
+ /** Every document kind checkout can send. Older clients omit the field. */
111
+ const checkoutTaxIdTypeValues = checkoutTaxIdTypeValueList;
112
+ const peruTaxIdDigitLength = {
113
+ CE: 9,
114
+ DNI: 8,
115
+ RUC: 11,
116
+ };
117
+ const peruTaxIdFormatError = {
118
+ CE: 'Carné de extranjería must be 9 digits.',
119
+ DNI: 'DNI must be 8 digits.',
120
+ RUC: 'RUC must be 11 digits.',
121
+ };
91
122
 
123
+ exports.checkoutTaxIdTypeValues = checkoutTaxIdTypeValues;
92
124
  exports.countryRequireTaxId = countryRequireTaxId;
93
125
  exports.euCountryCodes = euCountryCodes;
126
+ exports.isCountryRequireTaxId = isCountryRequireTaxId;
127
+ exports.peruTaxIdDigitLength = peruTaxIdDigitLength;
128
+ exports.peruTaxIdFormatError = peruTaxIdFormatError;
94
129
  exports.shipToTaxIdLabels = shipToTaxIdLabels;
130
+ exports.taxIdTypeOptions = taxIdTypeOptions;
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var zonosStore = require('./zonosStore-Bx9jK82G.js');
4
- var localization = require('./localization-BzNeXeDe.js');
3
+ var zonosStore = require('./zonosStore-CDV83QyK.js');
4
+ var localization = require('./localization-BhNVhLZs.js');
5
+ var taxIdRules = require('./taxIdRules-BBj8kQxJ.js');
6
+ var TaxId = require('./TaxId-ChhNwG04.js');
5
7
  var VarianceTest = require('./VarianceTest-C98whVgO.js');
6
- var handleFetch = require('./handleFetch-DQLhurnE.js');
8
+ var handleFetch = require('./handleFetch-DVfjFTYO.js');
7
9
  var isDarkColor = require('./isDarkColor-f-fD9c2l.js');
8
- var getBorderRadius = require('./getBorderRadius-CyYZw4qq.js');
9
- var TaxId = require('./TaxId-Q6aDqqWv.js');
10
+ var getBorderRadius = require('./getBorderRadius-CJ_95w3o.js');
10
11
 
11
12
  const getCheckoutSession = async () => {
12
13
  if (!localization.storageStore.checkoutSessionId) {
@@ -306,6 +307,57 @@ const getEnabledPolicies = () => {
306
307
  };
307
308
  const isPolicyConsentRequired = () => getEnabledPolicies().length > 0;
308
309
 
310
+ /**
311
+ * Checks if the tax ID input should be rendered based on the company name and country code.
312
+ */
313
+ const shouldRenderTaxIdInput = ({ companyName, countryCode, shouldRequirePeruTaxId, }) => {
314
+ if (taxIdRules.isPeruTaxIdActive({ countryCode, shouldRequirePeruTaxId })) {
315
+ return true;
316
+ }
317
+ // Only show the tax ID input if the country is in the EU and the company name is provided
318
+ if (TaxId.euCountryCodes.includes(countryCode)) {
319
+ return companyName.trim().length > 0;
320
+ }
321
+ // If country require tax id, show the input
322
+ return TaxId.isCountryRequireTaxId(countryCode);
323
+ };
324
+
325
+ /** Whether the field is showing, and which of this country's types is selected. */
326
+ const resolveTaxIdSelection = ({ companyName, countryCode, shouldRequirePeruTaxId, taxIdType, }) => {
327
+ var _a;
328
+ const typeOptions = taxIdRules.taxIdTypeOptionsForCheckout({
329
+ countryCode,
330
+ shouldRequirePeruTaxId,
331
+ });
332
+ const selectedType = (_a = typeOptions === null || typeOptions === void 0 ? void 0 : typeOptions.find(option => option.value === taxIdType)) !== null && _a !== void 0 ? _a : null;
333
+ const rendered = shouldRenderTaxIdInput({
334
+ companyName,
335
+ countryCode,
336
+ shouldRequirePeruTaxId,
337
+ });
338
+ return {
339
+ rendered,
340
+ selectedType,
341
+ // A multi-type country sends a number only after the shopper picks a type.
342
+ send: rendered && (!typeOptions || !!selectedType),
343
+ typeOptions,
344
+ };
345
+ };
346
+
347
+ /** Tax id to send for the destination, or null while the field is hidden. */
348
+ const getCheckoutTaxIdPayload = (countryCode) => {
349
+ const { selectedType, send } = resolveTaxIdSelection({
350
+ companyName: stripeStore.companyName,
351
+ countryCode,
352
+ shouldRequirePeruTaxId: zonosStore.getShouldRequirePeruTaxId(),
353
+ taxIdType: stripeStore.taxIdType,
354
+ });
355
+ if (!send) {
356
+ return null;
357
+ }
358
+ return Object.assign({ taxId: stripeStore.taxId }, (selectedType ? { taxIdType: selectedType.value } : {}));
359
+ };
360
+
309
361
  /**
310
362
  * Extract first name and last name from the name string
311
363
  * If first name and last name are provided, use them
@@ -324,6 +376,15 @@ const extractName = ({ firstName, lastName, name, }) => {
324
376
  return { firstName: _firstName, lastName: _lastName };
325
377
  };
326
378
 
379
+ const shipToTaxIdFields = (countryCode) => {
380
+ const taxIdPayload = getCheckoutTaxIdPayload(countryCode);
381
+ if (!taxIdPayload) {
382
+ return {};
383
+ }
384
+ return Object.assign({ shipToTaxId: taxIdPayload.taxId }, (taxIdPayload.taxIdType
385
+ ? { shipToTaxIdType: taxIdPayload.taxIdType }
386
+ : {}));
387
+ };
327
388
  /**
328
389
  * Extract value from translated object
329
390
  */
@@ -374,16 +435,15 @@ const prepCartCalculateLandedCost = (cartId) => {
374
435
  name: translatedBillingAddress.name,
375
436
  });
376
437
  const checkoutSessionCountry = localization.getOverridenZCountry() || 'US';
377
- return {
378
- billingAddress: {
438
+ const shipToTaxId = shipToTaxIdFields(translatedShippingAddress.country);
439
+ return Object.assign(Object.assign({ billingAddress: {
379
440
  addressLine1: translatedBillingAddress.line1,
380
441
  addressLine2: translatedBillingAddress.line2 || '',
381
442
  city: translatedBillingAddress.city,
382
443
  country: translatedBillingAddress.country,
383
444
  postalCode: translatedBillingAddress.postal_code,
384
445
  state: translatedBillingAddress.state,
385
- },
386
- billingContact: {
446
+ }, billingContact: {
387
447
  // firstName and lastName should be valid now since stripe only mark
388
448
  // the address as complete when both fields are filled.
389
449
  firstName: billingFirstName,
@@ -391,13 +451,7 @@ const prepCartCalculateLandedCost = (cartId) => {
391
451
  phone: translatedBillingAddress.phone,
392
452
  },
393
453
  // Use the first item's currency code
394
- cartCurrencyCode: (_a = cartStore.items[0]) === null || _a === void 0 ? void 0 : _a.currencyCode,
395
- cartId,
396
- checkoutSessionCountry: checkoutSessionCountry ||
397
- localization.localizationStore.selectedCountryCode ||
398
- undefined,
399
- checkoutSessionId: localization.storageStore.checkoutSessionId || '',
400
- contact: {
454
+ cartCurrencyCode: (_a = cartStore.items[0]) === null || _a === void 0 ? void 0 : _a.currencyCode, cartId, checkoutSessionCountry: checkoutSessionCountry, checkoutSessionId: localization.storageStore.checkoutSessionId || '', contact: {
401
455
  companyName: stripeStore.companyName,
402
456
  email: stripeLinkData === null || stripeLinkData === void 0 ? void 0 : stripeLinkData.value.email,
403
457
  // firstName and lastName should be valid now since stripe only mark
@@ -405,9 +459,7 @@ const prepCartCalculateLandedCost = (cartId) => {
405
459
  firstName: shippingFirstName,
406
460
  lastName: shippingLastName,
407
461
  phone: translatedShippingAddress.phone,
408
- },
409
- isTest: !!isE2ETest,
410
- landedCostAdjustments: cartStore.promoCode
462
+ }, isTest: !!isE2ETest, landedCostAdjustments: cartStore.promoCode
411
463
  ? [
412
464
  {
413
465
  amount: 0,
@@ -417,18 +469,14 @@ const prepCartCalculateLandedCost = (cartId) => {
417
469
  type: 'PROMO_CODE',
418
470
  },
419
471
  ]
420
- : [],
421
- shipToShortAddressCode: stripeStore.shortAddressCode,
422
- shipToTaxId: stripeStore.taxId,
423
- shippingAddress: {
472
+ : [], shipToShortAddressCode: stripeStore.shortAddressCode }, shipToTaxId), { shippingAddress: {
424
473
  addressLine1: translatedShippingAddress.line1,
425
474
  addressLine2: translatedShippingAddress.line2,
426
475
  city: translatedShippingAddress.city,
427
476
  country: translatedShippingAddress.country,
428
477
  postalCode: translatedShippingAddress.postal_code,
429
478
  state: translatedShippingAddress.state,
430
- },
431
- };
479
+ } });
432
480
  };
433
481
  const prepCalculateLandedCost = () => {
434
482
  const isE2ETest = new URLSearchParams(window.location.search).get('zonosE2ETest') === '1';
@@ -476,24 +524,21 @@ const prepCalculateLandedCost = () => {
476
524
  ...convertedCartAdjuments,
477
525
  ]
478
526
  : convertedCartAdjuments;
479
- return {
480
- billingAddress: {
527
+ const shipToTaxId = shipToTaxIdFields(translatedShippingAddress.country);
528
+ return Object.assign(Object.assign({ billingAddress: {
481
529
  addressLine1: translatedBillingAddress.line1,
482
530
  addressLine2: translatedBillingAddress.line2 || '',
483
531
  city: translatedBillingAddress.city,
484
532
  country: translatedBillingAddress.country,
485
533
  postalCode: translatedBillingAddress.postal_code,
486
534
  state: translatedBillingAddress.state,
487
- },
488
- billingContact: {
535
+ }, billingContact: {
489
536
  // firstName and lastName should be valid now since stripe only mark
490
537
  // the address as complete when both fields are filled.
491
538
  firstName: billingFirstName,
492
539
  lastName: billingLastName,
493
540
  phone: translatedBillingAddress.phone,
494
- },
495
- checkoutSessionId: localization.storageStore.checkoutSessionId || '',
496
- contact: {
541
+ }, checkoutSessionId: localization.storageStore.checkoutSessionId || '', contact: {
497
542
  companyName: stripeStore.companyName,
498
543
  email: stripeLinkData === null || stripeLinkData === void 0 ? void 0 : stripeLinkData.value.email,
499
544
  // firstName and lastName should be valid now since stripe only mark
@@ -501,21 +546,14 @@ const prepCalculateLandedCost = () => {
501
546
  firstName: shippingFirstName,
502
547
  lastName: shippingLastName,
503
548
  phone: translatedShippingAddress.phone,
504
- },
505
- isTest: isE2ETest,
506
- items: cartStore.items,
507
- landedCostAdjustments: adjustments,
508
- shipToShortAddressCode: stripeStore.shortAddressCode,
509
- shipToTaxId: stripeStore.taxId,
510
- shippingAddress: {
549
+ }, isTest: isE2ETest, items: cartStore.items, landedCostAdjustments: adjustments, shipToShortAddressCode: stripeStore.shortAddressCode }, shipToTaxId), { shippingAddress: {
511
550
  addressLine1: translatedShippingAddress.line1,
512
551
  addressLine2: translatedShippingAddress.line2,
513
552
  city: translatedShippingAddress.city,
514
553
  country: translatedShippingAddress.country,
515
554
  postalCode: translatedShippingAddress.postal_code,
516
555
  state: translatedShippingAddress.state,
517
- },
518
- };
556
+ } });
519
557
  };
520
558
 
521
559
  const triggerBuildLandedCost = async (buildLandedCost) => {
@@ -936,7 +974,7 @@ const checkoutPaymentProcessorType = {
936
974
 
937
975
  const { onChange: stripeStoreOnChange, reset: reset$1, state: stripeStore, } = zonosStore.createStore(() => ({
938
976
  checkoutSettlementCurrency: 'USD',
939
- clientSecret: sessionStorage.getItem('zonos--client-secret') || '',
977
+ clientSecret: handleFetch.safeGetItem('session', 'zonos--client-secret') || '',
940
978
  companyName: '',
941
979
  companyNameUsedWhenAsyncAddressUpdate: '',
942
980
  customAddressErrors: {
@@ -999,6 +1037,8 @@ const { onChange: stripeStoreOnChange, reset: reset$1, state: stripeStore, } = z
999
1037
  stripePaymentEventData: null,
1000
1038
  stripeShippingSameAsBilling: true,
1001
1039
  taxId: '',
1040
+ taxIdType: '',
1041
+ taxIdTypeUsedWhenAsyncAddressUpdate: '',
1002
1042
  taxIdUsedWhenAsyncAddressUpdate: '',
1003
1043
  translatedAddress: {
1004
1044
  address: {},
@@ -1044,14 +1084,14 @@ const getStripeOptions = ({ clientSecret, overrideBorderRadius, overridePrimaryC
1044
1084
  };
1045
1085
  };
1046
1086
  const stripeStoreCleanupDomesticShippingSession = () => {
1047
- window.sessionStorage.removeItem('zonos--bigcommerce-domestic-checkout-shipping');
1087
+ handleFetch.safeRemoveItem('session', 'zonos--bigcommerce-domestic-checkout-shipping');
1048
1088
  };
1049
1089
  // Save shipping address to session storage
1050
1090
  const stripeStoreSaveDomesticShippingSession = (props) => {
1051
- window.sessionStorage.setItem('zonos--bigcommerce-domestic-checkout-shipping', JSON.stringify(props));
1091
+ handleFetch.safeSetItem('session', 'zonos--bigcommerce-domestic-checkout-shipping', JSON.stringify(props));
1052
1092
  };
1053
1093
  const stripeStoreGetDomesticShippingSession = () => {
1054
- const session = window.sessionStorage.getItem('zonos--bigcommerce-domestic-checkout-shipping');
1094
+ const session = handleFetch.safeGetItem('session', 'zonos--bigcommerce-domestic-checkout-shipping');
1055
1095
  return handleFetch.jsonParse(session);
1056
1096
  };
1057
1097
  const initStripeElements = async (props) => {
@@ -1098,7 +1138,7 @@ const initStripeElements = async (props) => {
1098
1138
  };
1099
1139
  const stripeStoreReset = () => {
1100
1140
  // clean clientSecret so that we can start the new one.
1101
- sessionStorage.removeItem('zonos--client-secret');
1141
+ handleFetch.safeRemoveItem('session', 'zonos--client-secret');
1102
1142
  // cleanup stripe elements
1103
1143
  reset$1();
1104
1144
  // set stripe back to window.Zonos.stripe
@@ -1134,7 +1174,8 @@ const checkIsAddressOutdatedForAsyncAddressUpdate = () => {
1134
1174
  const isAddressDataDirty = JSON.stringify((_e = stripeStore.stripeAddressUsedWhenAsyncAddressUpdate) === null || _e === void 0 ? void 0 : _e.value) !== JSON.stringify((_f = stripeStore.stripeAddressEventData) === null || _f === void 0 ? void 0 : _f.value);
1135
1175
  const isBillingAddressDataDirty = !stripeStore.stripeShippingSameAsBilling &&
1136
1176
  JSON.stringify((_g = stripeStore.stripeBillingAddressUsedWhenAsyncAddressUpdate) === null || _g === void 0 ? void 0 : _g.value) !== JSON.stringify((_h = stripeStore.stripeBillingAddressEventData) === null || _h === void 0 ? void 0 : _h.value);
1137
- const isTaxIdDirty = stripeStore.taxIdUsedWhenAsyncAddressUpdate !== stripeStore.taxId;
1177
+ const isTaxIdDirty = stripeStore.taxIdUsedWhenAsyncAddressUpdate !== stripeStore.taxId ||
1178
+ stripeStore.taxIdTypeUsedWhenAsyncAddressUpdate !== stripeStore.taxIdType;
1138
1179
  const isCompanyNameDirty = stripeStore.companyNameUsedWhenAsyncAddressUpdate !==
1139
1180
  stripeStore.companyName;
1140
1181
  return (isLinkDataDirty ||
@@ -1188,7 +1229,7 @@ const stripeStoreBuildAddressForPartyCreate = ({ address, firstName, lastName, n
1188
1229
  };
1189
1230
  };
1190
1231
  const stripeStoreAsyncAddressUpdate = async () => {
1191
- var _a, _b, _c, _d;
1232
+ var _a, _b, _c, _d, _e;
1192
1233
  if (!((_a = stripeStore.stripeAddressEventData) === null || _a === void 0 ? void 0 : _a.complete) ||
1193
1234
  (!stripeStore.stripeShippingSameAsBilling &&
1194
1235
  !((_b = stripeStore.stripeBillingAddressEventData) === null || _b === void 0 ? void 0 : _b.complete)) ||
@@ -1242,17 +1283,10 @@ const stripeStoreAsyncAddressUpdate = async () => {
1242
1283
  phone: stripeStore.stripeBillingAddressEventData.value.phone,
1243
1284
  });
1244
1285
  const isE2ETest = new URLSearchParams(window.location.search).get('zonosE2ETest') === '1';
1286
+ const taxIdPayload = getCheckoutTaxIdPayload(address.country);
1245
1287
  const { errors, json } = await handleFetch.handleFetch('/api/zonos-elements/create-parties', {
1246
- body: {
1247
- address,
1248
- billingAddress,
1249
- companyName: stripeStore.companyName,
1250
- email: ((_d = stripeStore.stripeLinkEventData) === null || _d === void 0 ? void 0 : _d.value.email) || '',
1251
- isTest: isE2ETest,
1252
- rootId: firstLandedCostRootId,
1253
- shortAddressCode: stripeStore.shortAddressCode,
1254
- taxId: stripeStore.taxId,
1255
- },
1288
+ body: Object.assign({ address,
1289
+ billingAddress, companyName: stripeStore.companyName, email: ((_d = stripeStore.stripeLinkEventData) === null || _d === void 0 ? void 0 : _d.value.email) || '', isTest: isE2ETest, rootId: firstLandedCostRootId, shortAddressCode: stripeStore.shortAddressCode, taxId: (_e = taxIdPayload === null || taxIdPayload === void 0 ? void 0 : taxIdPayload.taxId) !== null && _e !== void 0 ? _e : '' }, ((taxIdPayload === null || taxIdPayload === void 0 ? void 0 : taxIdPayload.taxIdType) ? { taxIdType: taxIdPayload.taxIdType } : {})),
1256
1290
  method: 'POST',
1257
1291
  });
1258
1292
  if (errors.length || !json) {
@@ -1277,6 +1311,7 @@ const stripeStoreAsyncAddressUpdate = async () => {
1277
1311
  stripeStore.stripeAddressEventData;
1278
1312
  stripeStore.stripeBillingAddressUsedWhenAsyncAddressUpdate =
1279
1313
  stripeStore.stripeBillingAddressEventData;
1314
+ stripeStore.taxIdTypeUsedWhenAsyncAddressUpdate = stripeStore.taxIdType;
1280
1315
  stripeStore.taxIdUsedWhenAsyncAddressUpdate = stripeStore.taxId;
1281
1316
  stripeStore.partyBillingId = json.billToPartyId;
1282
1317
  stripeStore.partyShippingId = json.shipToPartyId;
@@ -1436,7 +1471,7 @@ const stripeCalculateLandedCost = async () => {
1436
1471
  cartStore.promoCodeError = isInvalidPromoCode;
1437
1472
  // When promocode is valid, set promoCode to session storage so if user close the modal, we can still reapply for them
1438
1473
  if (!isInvalidPromoCode) {
1439
- sessionStorage.setItem('zonos--promo-code', cartStore.promoCode);
1474
+ handleFetch.safeSetItem('session', 'zonos--promo-code', cartStore.promoCode);
1440
1475
  }
1441
1476
  };
1442
1477
  const stripeStorePrefetchLandedCost = async (params) => {
@@ -1568,7 +1603,7 @@ const stripeStoreApplyPromoCode = async () => {
1568
1603
  };
1569
1604
  const stripeStoreResetPromoCode = () => {
1570
1605
  cartStore.promoCode = '';
1571
- sessionStorage.removeItem('zonos--promo-code');
1606
+ handleFetch.safeRemoveItem('session', 'zonos--promo-code');
1572
1607
  // reset promocode error state
1573
1608
  cartStore.promoCodeError = false;
1574
1609
  cartStore.promoCodeApplied = false;
@@ -2190,10 +2225,10 @@ const stripeStoreTranslateAddressToLatin = async ({ addressInvalidCharactersList
2190
2225
  stripeStoreOnChange('clientSecret', clientSecret => {
2191
2226
  // update stripe elements when client secret changes
2192
2227
  if (clientSecret && stripeStore.stripe) {
2193
- sessionStorage.setItem('zonos--client-secret', clientSecret);
2228
+ handleFetch.safeSetItem('session', 'zonos--client-secret', clientSecret);
2194
2229
  }
2195
2230
  if (!clientSecret) {
2196
- sessionStorage.removeItem('zonos--client-secret');
2231
+ handleFetch.safeRemoveItem('session', 'zonos--client-secret');
2197
2232
  }
2198
2233
  });
2199
2234
 
@@ -2237,9 +2272,9 @@ const { onChange: cartStoreOnChange, reset, state: cartStore, } = zonosStore.cre
2237
2272
  landedCostData: null,
2238
2273
  landedCostMethod: 'DDP',
2239
2274
  partiesData: [],
2240
- promoCode: sessionStorage.getItem('zonos--promo-code') || '',
2275
+ promoCode: handleFetch.safeGetItem('session', 'zonos--promo-code') || '',
2241
2276
  // When user clicked applied button, save promocode into session storage for later use. So if session has promocode, applied button is clicked
2242
- promoCodeApplied: !!sessionStorage.getItem('zonos--promo-code'),
2277
+ promoCodeApplied: !!handleFetch.safeGetItem('session', 'zonos--promo-code'),
2243
2278
  promoCodeError: false,
2244
2279
  restrictedItems: [],
2245
2280
  selectedLandedCost: null,
@@ -2768,6 +2803,7 @@ exports.isEuDapRemittance = isEuDapRemittance;
2768
2803
  exports.isPolicyConsentRequired = isPolicyConsentRequired;
2769
2804
  exports.policyConsentStore = policyConsentStore;
2770
2805
  exports.policyConsentStoreReset = policyConsentStoreReset;
2806
+ exports.resolveTaxIdSelection = resolveTaxIdSelection;
2771
2807
  exports.sortServiceLevelOptionsByAmount = sortServiceLevelOptionsByAmount;
2772
2808
  exports.storeCreditStore = storeCreditStore;
2773
2809
  exports.storeCreditStoreApplyCredit = storeCreditStoreApplyCredit;
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var zonosStore = require('./zonosStore-Bx9jK82G.js');
4
- var localization = require('./localization-BzNeXeDe.js');
5
- var handleFetch = require('./handleFetch-DQLhurnE.js');
3
+ var zonosStore = require('./zonosStore-CDV83QyK.js');
4
+ var localization = require('./localization-BhNVhLZs.js');
5
+ var handleFetch = require('./handleFetch-DVfjFTYO.js');
6
6
  var VarianceTest = require('./VarianceTest-C98whVgO.js');
7
- var cart = require('./cart-B6Aty-21.js');
7
+ var cart = require('./cart-BJpqPdFU.js');
8
8
 
9
9
  // src/constant/common.ts
10
10
  function _array_like_to_array(arr, len) {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var zonosStore = require('./zonosStore-Bx9jK82G.js');
4
- var debounce$1 = require('./debounce-vY0QYT6o.js');
3
+ var zonosStore = require('./zonosStore-CDV83QyK.js');
4
+ var debounce$1 = require('./debounce-DRPMxNew.js');
5
5
 
6
6
  var debounceExports = debounce$1.requireDebounce();
7
7
  var debounce = /*@__PURE__*/zonosStore.getDefaultExportFromCjs(debounceExports);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var zonosStore = require('./zonosStore-Bx9jK82G.js');
3
+ var zonosStore = require('./zonosStore-CDV83QyK.js');
4
4
 
5
5
  var now_1;
6
6
  var hasRequiredNow;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var zonosStore = require('./zonosStore-Bx9jK82G.js');
3
+ var zonosStore = require('./zonosStore-CDV83QyK.js');
4
4
 
5
5
  /**
6
6
  * Get the border radius for the elements based on the style
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var cart = require('./cart-B6Aty-21.js');
3
+ var cart = require('./cart-BJpqPdFU.js');
4
4
 
5
5
  /**
6
6
  * Minimum number of characters we treat as a valid postal code. Mirrors the