@zonos/elements 1.3.282 → 1.3.284

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 (388) hide show
  1. package/dist/cjs/{cart-dc31b242.js → cart-94908542.js} +4 -4
  2. package/dist/cjs/{collect-463ab3d7.js → collect-0c05e2b4.js} +3 -3
  3. package/dist/cjs/{debounce-9a712c79.js → debounce-7ca3c878.js} +1 -1
  4. package/dist/cjs/{getBorderRadius-4da24d7c.js → getBorderRadius-97fd5e02.js} +1 -1
  5. package/dist/cjs/{getContrastColor-2fb235b8.js → getContrastColor-956dfaf7.js} +2 -2
  6. package/dist/cjs/{getMissingRequiredShippingFields-7cd21100.js → getMissingRequiredShippingFields-124b3f20.js} +1 -1
  7. package/dist/cjs/{hasInclusivePrice-d14b9d71.js → hasInclusivePrice-d0cd2007.js} +1 -1
  8. package/dist/cjs/index.cjs.js +7 -7
  9. package/dist/cjs/{invoice-8c995041.js → invoice-205fb5bc.js} +3 -3
  10. package/dist/cjs/{isContrastColor-ef24b7aa.js → isContrastColor-30f84a91.js} +1 -1
  11. package/dist/cjs/{isDarkColor-ebc74b4d.js → isDarkColor-a6e6fd5e.js} +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/{localization-491121ad.js → localization-fb2ece37.js} +63 -2
  14. package/dist/cjs/{paypal-2a4c374c.js → paypal-45ca5301.js} +5 -5
  15. package/dist/cjs/{placeTestOrder-a940a2e9.js → placeTestOrder-302b6862.js} +2 -2
  16. package/dist/cjs/{renderCheckoutCurrency-ab39875a.js → renderCheckoutCurrency-1b0cd5f2.js} +2 -2
  17. package/dist/cjs/shouldShowLanguageSelect-82985128.js +13 -0
  18. package/dist/cjs/{submitGtag-74762255.js → submitGtag-8a25f001.js} +1 -1
  19. package/dist/cjs/{throttle-34f7abf1.js → throttle-366c204b.js} +2 -2
  20. package/dist/cjs/{updateCheckoutSessionAttributes-f595319d.js → updateCheckoutSessionAttributes-de7b1466.js} +1 -1
  21. package/dist/cjs/zonos-address-completion-dialog_7.cjs.entry.js +101 -60
  22. package/dist/cjs/zonos-address-display_2.cjs.entry.js +17 -10
  23. package/dist/cjs/zonos-address_4.cjs.entry.js +13 -13
  24. package/dist/cjs/zonos-airwallex-payment.cjs.entry.js +6 -6
  25. package/dist/cjs/zonos-badge.cjs.entry.js +4 -4
  26. package/dist/cjs/zonos-banner.cjs.entry.js +1 -1
  27. package/dist/cjs/zonos-button_3.cjs.entry.js +6 -6
  28. package/dist/cjs/zonos-card_5.cjs.entry.js +14 -14
  29. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +29 -26
  30. package/dist/cjs/zonos-checkbox_2.cjs.entry.js +8 -8
  31. package/dist/cjs/zonos-checkout.cjs.entry.js +10 -10
  32. package/dist/cjs/zonos-collapse.cjs.entry.js +3 -3
  33. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +9 -9
  34. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +28 -26
  35. package/dist/cjs/zonos-collect.cjs.entry.js +10 -11
  36. package/dist/cjs/zonos-component.cjs.entry.js +1 -1
  37. package/dist/cjs/zonos-controller.cjs.entry.js +7 -7
  38. package/dist/cjs/zonos-country-flag.cjs.entry.js +2 -2
  39. package/dist/cjs/zonos-country-select_4.cjs.entry.js +16 -14
  40. package/dist/cjs/zonos-elements.cjs.js +1 -1
  41. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +7 -7
  42. package/dist/cjs/zonos-hello.cjs.entry.js +3 -3
  43. package/dist/cjs/zonos-input.cjs.entry.js +6 -6
  44. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +11 -11
  45. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +23 -21
  46. package/dist/cjs/zonos-invoice.cjs.entry.js +10 -11
  47. package/dist/cjs/zonos-language-select_2.cjs.entry.js +6 -7
  48. package/dist/cjs/zonos-link.cjs.entry.js +1 -1
  49. package/dist/cjs/zonos-logo.cjs.entry.js +3 -3
  50. package/dist/cjs/zonos-policy-consent_2.cjs.entry.js +6 -6
  51. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +5 -5
  52. package/dist/cjs/zonos-stripe-input.cjs.entry.js +7 -7
  53. package/dist/cjs/zonos-text.cjs.entry.js +1 -1
  54. package/dist/cjs/zonos-tooltip.cjs.entry.js +2 -2
  55. package/dist/cjs/zonos-v-stack.cjs.entry.js +3 -3
  56. package/dist/cjs/{zonosStore-fee716c9.js → zonosStore-0af0b937.js} +3 -0
  57. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-display/zonos-address-display.js +11 -4
  58. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.js +8 -4
  59. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +2 -2
  60. package/dist/collection/components/checkout/zonos-collect/zonos-collect-cart-items/zonos-collect-cart-items.js +1 -1
  61. package/dist/collection/components/checkout/zonos-collect/zonos-collect-finish/zonos-collect-finish.js +2 -2
  62. package/dist/collection/components/checkout/zonos-collect/zonos-collect-footer/zonos-collect-footer.js +7 -4
  63. package/dist/collection/components/checkout/zonos-collect/zonos-collect-review/zonos-collect-review.js +3 -3
  64. package/dist/collection/components/checkout/zonos-collect/zonos-collect-subtotal/zonos-collect-subtotal.js +5 -5
  65. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-cart-items/zonos-invoice-cart-items.js +2 -2
  66. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-finish/zonos-invoice-finish.js +2 -2
  67. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-footer/zonos-invoice-footer.js +7 -4
  68. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-review/zonos-invoice-review.js +3 -3
  69. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-subtotal/zonos-invoice-subtotal.js +2 -2
  70. package/dist/collection/components/common/zonos-badge/zonos-badge.js +3 -3
  71. package/dist/collection/components/common/zonos-button/zonos-button.js +3 -3
  72. package/dist/collection/components/common/zonos-card/zonos-card.js +4 -4
  73. package/dist/collection/components/common/zonos-checkbox/zonos-checkbox.js +3 -3
  74. package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.js +3 -3
  75. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +2 -2
  76. package/dist/collection/components/common/zonos-confirm-dialog/zonos-confirm-dialog.js +3 -3
  77. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +3 -3
  78. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +2 -2
  79. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +3 -3
  80. package/dist/collection/components/common/zonos-h-stack/zonos-h-stack.js +2 -2
  81. package/dist/collection/components/common/zonos-input/zonos-input.js +4 -4
  82. package/dist/collection/components/common/zonos-language-select/zonos-language-select.js +3 -3
  83. package/dist/collection/components/common/zonos-link/zonos-link.js +1 -1
  84. package/dist/collection/components/common/zonos-loading-overlay/zonos-loading-overlay.js +1 -1
  85. package/dist/collection/components/common/zonos-logo/zonos-logo.js +2 -2
  86. package/dist/collection/components/common/zonos-rest-state/zonos-rest-state.js +3 -3
  87. package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.js +2 -2
  88. package/dist/collection/components/common/zonos-skeleton/zonos-skeleton.js +1 -1
  89. package/dist/collection/components/common/zonos-stripe-input/zonos-stripe-input.js +4 -4
  90. package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js +17 -5
  91. package/dist/collection/components/common/zonos-toggle/zonos-toggle.js +2 -2
  92. package/dist/collection/components/common/zonos-tooltip/zonos-tooltip.js +2 -2
  93. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +2 -2
  94. package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.js +2 -2
  95. package/dist/collection/components/component-template/zonos-component/zonos-component.js +1 -1
  96. package/dist/collection/components/hello/zonos-hello/zonos-hello.js +1 -1
  97. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +6 -3
  98. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +5 -5
  99. package/dist/collection/components/main/zonos-controller.js +1 -1
  100. package/dist/collection/components/paypal/zonos-paypal-payment.js +1 -1
  101. package/dist/collection/components/store/hello/localization.js +22 -1
  102. package/dist/collection/components/store/zonosStore.js +3 -0
  103. package/dist/collection/components/stripe/zonos-address/zonos-address.js +2 -2
  104. package/dist/collection/components/stripe/zonos-custom-address/zonos-address-suggestions/zonos-address-suggestions.js +2 -2
  105. package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +52 -48
  106. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +1 -1
  107. package/dist/collection/components/utils/checkout/getAddressCountryOptions.js +23 -0
  108. package/dist/collection/components/utils/getSupportedLanguages.js +17 -0
  109. package/dist/collection/components/utils/shouldShowLanguageSelect.js +8 -0
  110. package/dist/collection/types/generated/graphql.frontend.types.js +4 -0
  111. package/dist/collection/types/generated/graphql.internal.types.js +302 -15
  112. package/dist/esm/{cart-5282f6c1.js → cart-2e407f7b.js} +4 -4
  113. package/dist/esm/{collect-fdbab973.js → collect-19428e18.js} +3 -3
  114. package/dist/esm/{debounce-c8d67b17.js → debounce-84ade9c2.js} +1 -1
  115. package/dist/esm/{getBorderRadius-dc982fe6.js → getBorderRadius-1f7be586.js} +1 -1
  116. package/dist/esm/{getContrastColor-af895b60.js → getContrastColor-4c0ae8c1.js} +2 -2
  117. package/dist/esm/{getMissingRequiredShippingFields-bdeecbff.js → getMissingRequiredShippingFields-719b206f.js} +1 -1
  118. package/dist/esm/{hasInclusivePrice-161e203f.js → hasInclusivePrice-d801be22.js} +1 -1
  119. package/dist/esm/index.js +7 -7
  120. package/dist/esm/{invoice-cf6ad79e.js → invoice-67a47785.js} +3 -3
  121. package/dist/esm/{isContrastColor-089de6ac.js → isContrastColor-9fa0d013.js} +1 -1
  122. package/dist/esm/{isDarkColor-039ef212.js → isDarkColor-939d8e9c.js} +1 -1
  123. package/dist/esm/loader.js +1 -1
  124. package/dist/esm/{localization-0953a048.js → localization-36a4dc22.js} +62 -3
  125. package/dist/esm/{paypal-7c82eac4.js → paypal-6dca6567.js} +5 -5
  126. package/dist/esm/{placeTestOrder-6a746207.js → placeTestOrder-9563c89a.js} +2 -2
  127. package/dist/esm/{renderCheckoutCurrency-44f897a1.js → renderCheckoutCurrency-282384f0.js} +2 -2
  128. package/dist/esm/shouldShowLanguageSelect-328f50e2.js +11 -0
  129. package/dist/esm/{submitGtag-dc54f5b9.js → submitGtag-71c450b6.js} +1 -1
  130. package/dist/esm/{throttle-44bfb6b5.js → throttle-c4c24e86.js} +2 -2
  131. package/dist/esm/{updateCheckoutSessionAttributes-e0a282d9.js → updateCheckoutSessionAttributes-23b222de.js} +1 -1
  132. package/dist/esm/zonos-address-completion-dialog_7.entry.js +101 -60
  133. package/dist/esm/zonos-address-display_2.entry.js +17 -10
  134. package/dist/esm/zonos-address_4.entry.js +13 -13
  135. package/dist/esm/zonos-airwallex-payment.entry.js +6 -6
  136. package/dist/esm/zonos-badge.entry.js +4 -4
  137. package/dist/esm/zonos-banner.entry.js +1 -1
  138. package/dist/esm/zonos-button_3.entry.js +6 -6
  139. package/dist/esm/zonos-card_5.entry.js +14 -14
  140. package/dist/esm/zonos-cart-items_12.entry.js +28 -25
  141. package/dist/esm/zonos-checkbox_2.entry.js +8 -8
  142. package/dist/esm/zonos-checkout.entry.js +10 -10
  143. package/dist/esm/zonos-collapse.entry.js +3 -3
  144. package/dist/esm/zonos-collect-cart-items_3.entry.js +9 -9
  145. package/dist/esm/zonos-collect-finish_6.entry.js +27 -25
  146. package/dist/esm/zonos-collect.entry.js +9 -10
  147. package/dist/esm/zonos-component.entry.js +1 -1
  148. package/dist/esm/zonos-controller.entry.js +7 -7
  149. package/dist/esm/zonos-country-flag.entry.js +2 -2
  150. package/dist/esm/zonos-country-select_4.entry.js +15 -13
  151. package/dist/esm/zonos-elements.js +1 -1
  152. package/dist/esm/zonos-hello-dialog.entry.js +7 -7
  153. package/dist/esm/zonos-hello.entry.js +3 -3
  154. package/dist/esm/zonos-input.entry.js +6 -6
  155. package/dist/esm/zonos-invoice-cart-items_2.entry.js +11 -11
  156. package/dist/esm/zonos-invoice-finish_5.entry.js +22 -20
  157. package/dist/esm/zonos-invoice.entry.js +9 -10
  158. package/dist/esm/zonos-language-select_2.entry.js +6 -7
  159. package/dist/esm/zonos-link.entry.js +1 -1
  160. package/dist/esm/zonos-logo.entry.js +3 -3
  161. package/dist/esm/zonos-policy-consent_2.entry.js +6 -6
  162. package/dist/esm/zonos-shipping-rich-radio.entry.js +5 -5
  163. package/dist/esm/zonos-stripe-input.entry.js +7 -7
  164. package/dist/esm/zonos-text.entry.js +1 -1
  165. package/dist/esm/zonos-tooltip.entry.js +2 -2
  166. package/dist/esm/zonos-v-stack.entry.js +3 -3
  167. package/dist/esm/{zonosStore-b7d3f9b0.js → zonosStore-eca1e364.js} +3 -0
  168. package/dist/esm-es5/{cart-5282f6c1.js → cart-2e407f7b.js} +1 -1
  169. package/dist/esm-es5/{collect-fdbab973.js → collect-19428e18.js} +1 -1
  170. package/dist/esm-es5/{debounce-c8d67b17.js → debounce-84ade9c2.js} +1 -1
  171. package/dist/esm-es5/{getBorderRadius-dc982fe6.js → getBorderRadius-1f7be586.js} +1 -1
  172. package/dist/esm-es5/{getContrastColor-af895b60.js → getContrastColor-4c0ae8c1.js} +1 -1
  173. package/dist/esm-es5/{getMissingRequiredShippingFields-bdeecbff.js → getMissingRequiredShippingFields-719b206f.js} +1 -1
  174. package/dist/esm-es5/{hasInclusivePrice-161e203f.js → hasInclusivePrice-d801be22.js} +1 -1
  175. package/dist/esm-es5/index.js +1 -1
  176. package/dist/esm-es5/{invoice-cf6ad79e.js → invoice-67a47785.js} +1 -1
  177. package/dist/esm-es5/{isContrastColor-089de6ac.js → isContrastColor-9fa0d013.js} +1 -1
  178. package/dist/esm-es5/{isDarkColor-039ef212.js → isDarkColor-939d8e9c.js} +1 -1
  179. package/dist/esm-es5/loader.js +1 -1
  180. package/dist/esm-es5/{localization-0953a048.js → localization-36a4dc22.js} +1 -1
  181. package/dist/esm-es5/{paypal-7c82eac4.js → paypal-6dca6567.js} +1 -1
  182. package/dist/esm-es5/{placeTestOrder-6a746207.js → placeTestOrder-9563c89a.js} +1 -1
  183. package/dist/esm-es5/{renderCheckoutCurrency-44f897a1.js → renderCheckoutCurrency-282384f0.js} +1 -1
  184. package/dist/esm-es5/shouldShowLanguageSelect-328f50e2.js +1 -0
  185. package/dist/esm-es5/{submitGtag-dc54f5b9.js → submitGtag-71c450b6.js} +1 -1
  186. package/dist/esm-es5/throttle-c4c24e86.js +1 -0
  187. package/dist/esm-es5/{updateCheckoutSessionAttributes-e0a282d9.js → updateCheckoutSessionAttributes-23b222de.js} +1 -1
  188. package/dist/esm-es5/zonos-address-completion-dialog_7.entry.js +1 -1
  189. package/dist/esm-es5/zonos-address-display_2.entry.js +1 -1
  190. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  191. package/dist/esm-es5/zonos-airwallex-payment.entry.js +1 -1
  192. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  193. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  194. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  195. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  196. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  197. package/dist/esm-es5/zonos-checkbox_2.entry.js +1 -1
  198. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  199. package/dist/esm-es5/zonos-collapse.entry.js +1 -1
  200. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  201. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  202. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  203. package/dist/esm-es5/zonos-component.entry.js +1 -1
  204. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  205. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  206. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  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 +1 -1
  212. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  213. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  214. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  215. package/dist/esm-es5/zonos-link.entry.js +1 -1
  216. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  217. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -1
  218. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  219. package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
  220. package/dist/esm-es5/zonos-text.entry.js +1 -1
  221. package/dist/esm-es5/zonos-tooltip.entry.js +1 -1
  222. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  223. package/dist/esm-es5/{zonosStore-b7d3f9b0.js → zonosStore-eca1e364.js} +1 -1
  224. package/dist/scripts/index.d.ts +54 -34
  225. package/dist/scripts/index.js +1 -1
  226. package/dist/scripts/loadZonos.js +1 -1
  227. package/dist/scripts/zonos.js +1 -1
  228. package/dist/types/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.d.ts +1 -0
  229. package/dist/types/components/store/hello/localization.d.ts +8 -1
  230. package/dist/types/components/store/zonosStore.d.ts +7 -0
  231. package/dist/types/components/stripe/zonos-custom-address/zonos-custom-address.d.ts +9 -13
  232. package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
  233. package/dist/types/components/utils/checkout/getAddressCountryOptions.d.ts +29 -0
  234. package/dist/types/components/utils/getSupportedLanguages.d.ts +167 -0
  235. package/dist/types/components/utils/shouldShowLanguageSelect.d.ts +7 -0
  236. package/dist/types/scripts/cart/_setupCartDataWithSettings.d.ts +25 -24
  237. package/dist/types/types/generated/graphql.frontend.types.d.ts +9 -1
  238. package/dist/types/types/generated/graphql.frontend.types.ts +6 -1
  239. package/dist/types/types/generated/graphql.internal.types.d.ts +463 -107
  240. package/dist/types/types/generated/graphql.internal.types.ts +601 -102
  241. package/dist/zonos-elements/index.esm.js +1 -1
  242. package/dist/zonos-elements/{p-b93013f7.system.entry.js → p-083a11cd.system.entry.js} +1 -1
  243. package/dist/zonos-elements/p-0b29169b.js +1 -0
  244. package/dist/zonos-elements/{p-62609f19.entry.js → p-0c972ddf.entry.js} +1 -1
  245. package/dist/zonos-elements/{p-7ab15d20.js → p-0c9fec73.js} +1 -1
  246. package/dist/zonos-elements/{p-f1dbeb85.system.entry.js → p-0e199a6c.system.entry.js} +1 -1
  247. package/dist/zonos-elements/p-0ff845ec.js +1 -0
  248. package/dist/zonos-elements/p-1277abac.system.entry.js +1 -0
  249. package/dist/zonos-elements/p-14afffa8.system.js +1 -0
  250. package/dist/zonos-elements/{p-56e9a29e.entry.js → p-171a7e1e.entry.js} +1 -1
  251. package/dist/zonos-elements/{p-f1aea919.js → p-1834f486.js} +1 -1
  252. package/dist/zonos-elements/p-1ac0c631.system.js +1 -0
  253. package/dist/zonos-elements/{p-fa80a973.entry.js → p-1be53c82.entry.js} +1 -1
  254. package/dist/zonos-elements/p-1cdd27ec.js +1 -0
  255. package/dist/zonos-elements/{p-c634546a.system.entry.js → p-1f8648c8.system.entry.js} +1 -1
  256. package/dist/zonos-elements/p-22e10b7d.entry.js +1 -0
  257. package/dist/zonos-elements/p-260ad739.system.entry.js +1 -0
  258. package/dist/zonos-elements/{p-9a417eeb.js → p-27660512.js} +1 -1
  259. package/dist/zonos-elements/{p-28ee0860.system.js → p-2989da12.system.js} +1 -1
  260. package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
  261. package/dist/zonos-elements/{p-cd3f7fd7.system.js → p-2b8c96e3.system.js} +1 -1
  262. package/dist/zonos-elements/{p-7bdce9d4.js → p-2bbe9d91.js} +1 -1
  263. package/dist/zonos-elements/{p-543b25f9.entry.js → p-2c2afed4.entry.js} +1 -1
  264. package/dist/zonos-elements/{p-32b53999.entry.js → p-2c44e013.entry.js} +1 -1
  265. package/dist/zonos-elements/{p-e0cbc7c7.entry.js → p-2c7a425d.entry.js} +1 -1
  266. package/dist/zonos-elements/{p-0e1f13ff.system.entry.js → p-2cab1746.system.entry.js} +1 -1
  267. package/dist/zonos-elements/{p-aa37f436.system.entry.js → p-2cdd1b49.system.entry.js} +1 -1
  268. package/dist/zonos-elements/{p-d1e84608.entry.js → p-2ce039e5.entry.js} +1 -1
  269. package/dist/zonos-elements/{p-26bf0c31.entry.js → p-3490b6d0.entry.js} +1 -1
  270. package/dist/zonos-elements/p-3a13e58c.system.js +1 -0
  271. package/dist/zonos-elements/{p-ef2c264c.entry.js → p-4671fde7.entry.js} +1 -1
  272. package/dist/zonos-elements/{p-1977f4b5.js → p-46cd14e5.js} +1 -1
  273. package/dist/zonos-elements/{p-fb8dc23f.system.js → p-4a20893e.system.js} +1 -1
  274. package/dist/zonos-elements/{p-a4eddf6c.system.js → p-4b159ff3.system.js} +1 -1
  275. package/dist/zonos-elements/{p-34d6eb83.js → p-502d6eeb.js} +1 -1
  276. package/dist/zonos-elements/{p-8fa3a8f8.system.entry.js → p-51e4e61a.system.entry.js} +1 -1
  277. package/dist/zonos-elements/{p-496accce.system.js → p-551fa762.system.js} +1 -1
  278. package/dist/zonos-elements/p-5a491f28.js +1 -0
  279. package/dist/zonos-elements/{p-0fb4e032.entry.js → p-5b990c91.entry.js} +1 -1
  280. package/dist/zonos-elements/{p-23eee868.entry.js → p-5ebb7ae6.entry.js} +1 -1
  281. package/dist/zonos-elements/p-60832726.system.js +1 -0
  282. package/dist/zonos-elements/{p-2394b186.system.js → p-60a6b71d.system.js} +1 -1
  283. package/dist/zonos-elements/p-62f6a757.entry.js +1 -0
  284. package/dist/zonos-elements/p-65c1f51e.entry.js +1 -0
  285. package/dist/zonos-elements/{p-dab78981.system.js → p-6890e060.system.js} +1 -1
  286. package/dist/zonos-elements/{p-21f7d57b.entry.js → p-6afd5fab.entry.js} +1 -1
  287. package/dist/zonos-elements/{p-71fc8a22.js → p-6bdc5c96.js} +1 -1
  288. package/dist/zonos-elements/{p-fdd7ec44.system.entry.js → p-6dde1e85.system.entry.js} +1 -1
  289. package/dist/zonos-elements/{p-e3d0d8ff.entry.js → p-6ee4e027.entry.js} +1 -1
  290. package/dist/zonos-elements/p-7176f582.entry.js +1 -0
  291. package/dist/zonos-elements/{p-333f6018.system.entry.js → p-76834a0a.system.entry.js} +1 -1
  292. package/dist/zonos-elements/{p-f2431e47.entry.js → p-7ada039e.entry.js} +1 -1
  293. package/dist/zonos-elements/{p-d706852e.system.js → p-7fbbdb0f.system.js} +1 -1
  294. package/dist/zonos-elements/{p-10584546.entry.js → p-8311edc7.entry.js} +1 -1
  295. package/dist/zonos-elements/p-8a0b8175.system.entry.js +1 -0
  296. package/dist/zonos-elements/p-8a6c4017.js +1 -0
  297. package/dist/zonos-elements/p-8b298971.system.entry.js +1 -0
  298. package/dist/zonos-elements/p-8be02f3a.system.js +1 -0
  299. package/dist/zonos-elements/{p-1cf76dd3.entry.js → p-8bfe5b2b.entry.js} +1 -1
  300. package/dist/zonos-elements/{p-fc45b3a5.entry.js → p-8e6338b9.entry.js} +1 -1
  301. package/dist/zonos-elements/{p-1d31b966.system.js → p-916228fb.system.js} +1 -1
  302. package/dist/zonos-elements/{p-c12ca8fe.system.entry.js → p-94722bf6.system.entry.js} +1 -1
  303. package/dist/zonos-elements/p-947e4402.system.entry.js +1 -0
  304. package/dist/zonos-elements/p-9639a8ed.entry.js +1 -0
  305. package/dist/zonos-elements/{p-f2511b86.system.entry.js → p-9ad640b2.system.entry.js} +1 -1
  306. package/dist/zonos-elements/{p-781b3345.system.entry.js → p-9ecb9afc.system.entry.js} +1 -1
  307. package/dist/zonos-elements/{p-5a37683b.system.entry.js → p-a04e2750.system.entry.js} +1 -1
  308. package/dist/zonos-elements/{p-95042e71.entry.js → p-a07e5011.entry.js} +1 -1
  309. package/dist/zonos-elements/{p-5d6b018c.system.entry.js → p-a9ad74e5.system.entry.js} +1 -1
  310. package/dist/zonos-elements/{p-db65c60b.system.entry.js → p-acb7dee1.system.entry.js} +1 -1
  311. package/dist/zonos-elements/{p-3d28353a.js → p-adfbf57b.js} +1 -1
  312. package/dist/zonos-elements/{p-e6e3a303.entry.js → p-ae0de3e4.entry.js} +1 -1
  313. package/dist/zonos-elements/p-aecb5d61.entry.js +1 -0
  314. package/dist/zonos-elements/p-aed4ffb2.entry.js +1 -0
  315. package/dist/zonos-elements/{p-e977562b.system.js → p-af19722c.system.js} +1 -1
  316. package/dist/zonos-elements/{p-59518657.entry.js → p-b1e95f95.entry.js} +1 -1
  317. package/dist/zonos-elements/{p-c8df5eee.system.entry.js → p-b4ae66cb.system.entry.js} +1 -1
  318. package/dist/zonos-elements/{p-55c5977b.entry.js → p-bb09ee50.entry.js} +1 -1
  319. package/dist/zonos-elements/{p-21489ff1.system.entry.js → p-bcaffb85.system.entry.js} +1 -1
  320. package/dist/zonos-elements/p-bced320e.entry.js +1 -0
  321. package/dist/zonos-elements/p-be6cd28c.system.entry.js +1 -0
  322. package/dist/zonos-elements/p-c1631c9c.js +1 -0
  323. package/dist/zonos-elements/{p-cb376f03.entry.js → p-c77b049c.entry.js} +1 -1
  324. package/dist/zonos-elements/{p-6146bfaa.system.entry.js → p-ca87ada5.system.entry.js} +1 -1
  325. package/dist/zonos-elements/{p-4417475f.entry.js → p-cb49dcfe.entry.js} +1 -1
  326. package/dist/zonos-elements/p-cb4cb5a3.system.js +1 -0
  327. package/dist/zonos-elements/{p-b91a8f31.system.entry.js → p-d20fe2c2.system.entry.js} +1 -1
  328. package/dist/zonos-elements/{p-c9e44c77.system.entry.js → p-d42bd250.system.entry.js} +1 -1
  329. package/dist/zonos-elements/{p-aa1f3060.system.entry.js → p-d6a73125.system.entry.js} +1 -1
  330. package/dist/zonos-elements/{p-5953208b.js → p-dc80cb87.js} +1 -1
  331. package/dist/zonos-elements/p-dd3c00d6.system.entry.js +1 -0
  332. package/dist/zonos-elements/{p-47a1d469.system.js → p-de58684b.system.js} +1 -1
  333. package/dist/zonos-elements/{p-1735a69b.js → p-e160b75f.js} +1 -1
  334. package/dist/zonos-elements/p-e1ef3984.system.entry.js +1 -0
  335. package/dist/zonos-elements/{p-323279b8.entry.js → p-e27b8e18.entry.js} +1 -1
  336. package/dist/zonos-elements/{p-646e6b47.system.entry.js → p-e2b4c082.system.entry.js} +1 -1
  337. package/dist/zonos-elements/{p-f1aa60fd.system.entry.js → p-e32ee011.system.entry.js} +1 -1
  338. package/dist/zonos-elements/{p-5b11bbca.system.entry.js → p-e4b07f7d.system.entry.js} +1 -1
  339. package/dist/zonos-elements/{p-7c70e0c7.js → p-e5c76a9b.js} +2 -2
  340. package/dist/zonos-elements/p-e8587f9f.system.entry.js +1 -0
  341. package/dist/zonos-elements/{p-ab61ef19.system.js → p-eb5f3451.system.js} +2 -2
  342. package/dist/zonos-elements/p-ebbda085.system.js +1 -0
  343. package/dist/zonos-elements/{p-daab3824.entry.js → p-f37150e8.entry.js} +1 -1
  344. package/dist/zonos-elements/p-f4720b0a.js +1 -0
  345. package/dist/zonos-elements/{p-c8bc4ede.js → p-f4acce01.js} +1 -1
  346. package/dist/zonos-elements/p-f59a0129.system.entry.js +1 -0
  347. package/dist/zonos-elements/{p-ca9231a0.system.entry.js → p-f8356934.system.entry.js} +1 -1
  348. package/dist/zonos-elements/{p-e57f862d.system.js → p-fe5f05fc.system.js} +1 -1
  349. package/dist/zonos-elements/p-ff4e6811.entry.js +1 -0
  350. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  351. package/package.json +3 -1
  352. package/dist/cjs/ILanguage-98b04442.js +0 -26
  353. package/dist/esm/ILanguage-cd6acb72.js +0 -24
  354. package/dist/esm-es5/ILanguage-cd6acb72.js +0 -1
  355. package/dist/esm-es5/throttle-44bfb6b5.js +0 -1
  356. package/dist/zonos-elements/p-0287f9cd.system.js +0 -1
  357. package/dist/zonos-elements/p-05cb0a0d.system.entry.js +0 -1
  358. package/dist/zonos-elements/p-193fc2da.entry.js +0 -1
  359. package/dist/zonos-elements/p-1cf5e2ce.system.entry.js +0 -1
  360. package/dist/zonos-elements/p-30cfc9f4.entry.js +0 -1
  361. package/dist/zonos-elements/p-30e9a6d7.system.js +0 -1
  362. package/dist/zonos-elements/p-35fd0fdb.js +0 -1
  363. package/dist/zonos-elements/p-3642dd99.entry.js +0 -1
  364. package/dist/zonos-elements/p-3b479012.js +0 -1
  365. package/dist/zonos-elements/p-3c62acbd.js +0 -1
  366. package/dist/zonos-elements/p-5987dea1.js +0 -1
  367. package/dist/zonos-elements/p-5c30d04b.js +0 -1
  368. package/dist/zonos-elements/p-63b462dd.system.entry.js +0 -1
  369. package/dist/zonos-elements/p-68631285.system.entry.js +0 -1
  370. package/dist/zonos-elements/p-6f874ed9.entry.js +0 -1
  371. package/dist/zonos-elements/p-76e36d6d.entry.js +0 -1
  372. package/dist/zonos-elements/p-8418aa07.entry.js +0 -1
  373. package/dist/zonos-elements/p-8fb15a6b.system.entry.js +0 -1
  374. package/dist/zonos-elements/p-97aceb11.js +0 -1
  375. package/dist/zonos-elements/p-987b5d8f.js +0 -1
  376. package/dist/zonos-elements/p-a3c116d6.system.js +0 -1
  377. package/dist/zonos-elements/p-c121b2b8.entry.js +0 -1
  378. package/dist/zonos-elements/p-c5bfe522.system.js +0 -1
  379. package/dist/zonos-elements/p-c9e433c0.system.js +0 -1
  380. package/dist/zonos-elements/p-d06486ba.system.entry.js +0 -1
  381. package/dist/zonos-elements/p-d0767f88.entry.js +0 -1
  382. package/dist/zonos-elements/p-d2cb99ee.system.entry.js +0 -1
  383. package/dist/zonos-elements/p-ddd0e703.system.entry.js +0 -1
  384. package/dist/zonos-elements/p-dfd83cff.entry.js +0 -1
  385. package/dist/zonos-elements/p-e101b0de.system.entry.js +0 -1
  386. package/dist/zonos-elements/p-f1298203.system.entry.js +0 -1
  387. package/dist/zonos-elements/p-f29bcf8b.system.js +0 -1
  388. package/dist/zonos-elements/p-f61c0eef.system.js +0 -1
@@ -19,6 +19,7 @@ import { translate } from "../../store/translationStore";
19
19
  import { zonosStore } from "../../store/zonosStore";
20
20
  import { trackConversionEvent } from "../../utils/api/trackConversionEvent";
21
21
  import { isValidZip } from "../../utils/checkout/form/isValidZip";
22
+ import { getAddressCountryOptions, } from "../../utils/checkout/getAddressCountryOptions";
22
23
  import { isCheckoutMobile } from "../../utils/checkout/isCheckoutMobile";
23
24
  import { shouldRenderShortAddressCodeInput } from "../../utils/checkout/shouldRenderShortAddressCodeInput";
24
25
  import { shouldRenderTaxIdInput } from "../../utils/checkout/shouldRenderTaxIdInput";
@@ -70,14 +71,6 @@ export class ZonosAddress {
70
71
  * Whether to start google place suggestions
71
72
  */
72
73
  this.startGooglePlaceSuggestions = false;
73
- /**
74
- * List of countries to show in the address element
75
- */
76
- this.shipToCountries = null;
77
- /**
78
- * Shipping zones from localization
79
- */
80
- this.shippingZones = null;
81
74
  this.city = '';
82
75
  this.country = '';
83
76
  this.firstName = '';
@@ -117,6 +110,14 @@ export class ZonosAddress {
117
110
  * Google autocomplete overlay is conflict with our button, this is to adjust z index of the autocomplete
118
111
  */
119
112
  this.isAutoCompleteAdjusted = false;
113
+ /**
114
+ * Memoized country options, keyed on the store references they derive from.
115
+ * `render()` runs on every keystroke, and rebuilding the list each time would
116
+ * re-sort ~244 countries and hand `zonos-stripe-select` a new array identity,
117
+ * re-rendering it needlessly. `@stencil/store` replaces these references
118
+ * wholesale rather than mutating them, so reference equality is a safe key.
119
+ */
120
+ this.countryOptionsCache = null;
120
121
  // Create a single throttled instance that persists
121
122
  this.throttledGetAddressSuggestions = throttle(() => {
122
123
  if (zonosStore.checkoutAddressService) {
@@ -268,6 +269,28 @@ export class ZonosAddress {
268
269
  this.onStoreCheckoutSessionIdChangedSubscription = storageStoreOnChange('checkoutSessionId', onCheckoutSessionIdChange);
269
270
  };
270
271
  }
272
+ getCountryOptions() {
273
+ const { allCountries, shippingZoneCountries } = localizationStore;
274
+ const cache = this.countryOptionsCache;
275
+ if (cache &&
276
+ cache.allCountries === allCountries &&
277
+ cache.shippingZoneCountries === shippingZoneCountries &&
278
+ cache.type === this.type) {
279
+ return cache.options;
280
+ }
281
+ const options = getAddressCountryOptions({
282
+ allCountries,
283
+ shippingZoneCountries,
284
+ type: this.type,
285
+ });
286
+ this.countryOptionsCache = {
287
+ allCountries,
288
+ options,
289
+ shippingZoneCountries,
290
+ type: this.type,
291
+ };
292
+ return options;
293
+ }
271
294
  getStripeAddressInstance() {
272
295
  if (this.type === 'billing') {
273
296
  return {
@@ -694,24 +717,19 @@ export class ZonosAddress {
694
717
  this.initAddressSuggestions();
695
718
  this.initDefaultCustomAddressForm();
696
719
  }
697
- shippingZonesChanged() {
698
- this.shippingZones = localizationStore.shippingZoneCountries;
699
- this.shipToCountries = Object.values(this.shippingZones || {})
700
- .map(country => ({
701
- label: country.displayName,
702
- value: country.code,
703
- }))
704
- .sort((a, b) => {
705
- return a.label.localeCompare(b.label);
706
- });
707
- }
708
720
  renderCustomAddressForm() {
709
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
710
- const _t = this.getCustomAddressErrors(), { showError } = _t, customAddressErrors = __rest(_t, ["showError"]);
721
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
722
+ const _s = this.getCustomAddressErrors(), { showError } = _s, customAddressErrors = __rest(_s, ["showError"]);
711
723
  const stripeAddressEventData = this.getStripeAddressInstance().stripeAddressEventData;
712
724
  const countryCode = stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country;
713
- const firstCountry = (_a = this.shipToCountries) === null || _a === void 0 ? void 0 : _a[0];
714
- const stateOptions = Object.entries(((_b = this.countryField) === null || _b === void 0 ? void 0 : _b.regions) || {})
725
+ /**
726
+ * Billing addresses are not limited to the shipping zone: a shopper's card
727
+ * can be billed to any country, so restricting it would block them from
728
+ * checking out entirely (05CHECK-915).
729
+ */
730
+ const countryOptions = this.getCountryOptions();
731
+ const firstCountry = countryOptions[0];
732
+ const stateOptions = Object.entries(((_a = this.countryField) === null || _a === void 0 ? void 0 : _a.regions) || {})
715
733
  .map(([label, region]) => ({
716
734
  label,
717
735
  value: region.interpayCode,
@@ -745,7 +763,7 @@ export class ZonosAddress {
745
763
  * Therefore, we must update the value after validation to ensure correct error state
746
764
  */
747
765
  this.lastName = event.detail;
748
- }, required: true }), h("zonos-stripe-select", { "aria-required": "true", autoComplete: "shipping country", class: "zonos--custom-address-form-input", name: `${this.type}-country`, onSelectChange: (event) => {
766
+ }, required: true }), h("zonos-stripe-select", { "aria-required": "true", autoComplete: `${this.type} country`, class: "zonos--custom-address-form-input", name: `${this.type}-country`, onSelectChange: (event) => {
749
767
  this.countryChanged(event.detail);
750
768
  // revalidate the postal code since with empty value so it would reset the customAddressErrors
751
769
  this.validate({
@@ -774,9 +792,9 @@ export class ZonosAddress {
774
792
  this.city = '';
775
793
  this.state = '';
776
794
  this.postalCode = '';
777
- }, options: this.shipToCountries || [], required: true, selectLabel: translate('Country'), selectedValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country) ||
795
+ }, options: countryOptions, required: true, selectLabel: translate('Country'), selectedValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country) ||
778
796
  localizationStore.selectedCountryCode ||
779
- (firstCountry === null || firstCountry === void 0 ? void 0 : firstCountry.value), title: `${this.type} country` }), h("div", { class: "zonos--custom-address-form-line1-wrapper" }, h("zonos-stripe-input", { "aria-autocomplete": "list", "aria-controls": "autocomplete-search", "aria-required": "true", autoComplete: "shipping address-line1", class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.line1 : undefined, inputLabel: translate('Address line 1'), inputValue: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.line1, name: "address-line1", onInputChange: (event) => {
797
+ (firstCountry === null || firstCountry === void 0 ? void 0 : firstCountry.value), title: `${this.type} country` }), h("div", { class: "zonos--custom-address-form-line1-wrapper" }, h("zonos-stripe-input", { "aria-autocomplete": "list", "aria-controls": "autocomplete-search", "aria-required": "true", autoComplete: `${this.type} address-line1`, class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.line1 : undefined, inputLabel: translate('Address line 1'), inputValue: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.line1, name: "address-line1", onInputChange: (event) => {
780
798
  this.validate({
781
799
  type: this.type,
782
800
  value: event.detail,
@@ -807,9 +825,9 @@ export class ZonosAddress {
807
825
  }, suggestions: this.addressSuggestions, type: this.type })), h("div", { "aria-label": "Additional address details", class: classes([
808
826
  'zonos--custom-address-form-additional-fields',
809
827
  countryCode && this.isAddressLine1Entered ? 'zonos--show' : '',
810
- ]), role: "group" }, h("zonos-stripe-input", { "aria-required": "false", autoComplete: "shipping address-line2", class: "zonos--custom-address-form-input", inputLabel: translate(((_c = this.countryField) === null || _c === void 0 ? void 0 : _c.address2Label) || 'Address line 2'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.line2) || '', onInputChange: (event) => {
828
+ ]), role: "group" }, h("zonos-stripe-input", { "aria-required": "false", autoComplete: `${this.type} address-line2`, class: "zonos--custom-address-form-input", inputLabel: translate(((_b = this.countryField) === null || _b === void 0 ? void 0 : _b.address2Label) || 'Address line 2'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.line2) || '', onInputChange: (event) => {
811
829
  this.line2 = event.detail;
812
- } }), ((_d = this.countryField) === null || _d === void 0 ? void 0 : _d.cityShow) && (h("zonos-stripe-input", { "aria-required": ((_e = this.countryField) === null || _e === void 0 ? void 0 : _e.cityRequired) ? 'true' : 'false', autoComplete: "shipping address-level2", class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.city : undefined, inputLabel: translate(((_f = this.countryField) === null || _f === void 0 ? void 0 : _f.cityLabel) || 'City'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.city) || '', name: "locality", onInputChange: (event) => {
830
+ } }), ((_c = this.countryField) === null || _c === void 0 ? void 0 : _c.cityShow) && (h("zonos-stripe-input", { "aria-required": ((_d = this.countryField) === null || _d === void 0 ? void 0 : _d.cityRequired) ? 'true' : 'false', autoComplete: `${this.type} address-level2`, class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.city : undefined, inputLabel: translate(((_e = this.countryField) === null || _e === void 0 ? void 0 : _e.cityLabel) || 'City'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.city) || '', name: "locality", onInputChange: (event) => {
813
831
  this.validate({
814
832
  type: this.type,
815
833
  value: event.detail,
@@ -823,7 +841,7 @@ export class ZonosAddress {
823
841
  * Therefore, we must update the value after validation to ensure correct error state
824
842
  */
825
843
  this.city = event.detail;
826
- }, required: (_g = this.countryField) === null || _g === void 0 ? void 0 : _g.cityRequired })), h("div", { class: "zonos--custom-address-form-state-zip-wrapper" }, ((_h = this.countryField) === null || _h === void 0 ? void 0 : _h.stateShow) && (h("zonos-stripe-select", { "aria-required": ((_j = this.countryField) === null || _j === void 0 ? void 0 : _j.stateRequired) ? 'true' : 'false', autoComplete: "shipping address-level1", class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.state : undefined, isError: showError && !!customAddressErrors.state, name: `${this.type}-state`, onSelectChange: (event) => {
844
+ }, required: (_f = this.countryField) === null || _f === void 0 ? void 0 : _f.cityRequired })), h("div", { class: "zonos--custom-address-form-state-zip-wrapper" }, ((_g = this.countryField) === null || _g === void 0 ? void 0 : _g.stateShow) && (h("zonos-stripe-select", { "aria-required": ((_h = this.countryField) === null || _h === void 0 ? void 0 : _h.stateRequired) ? 'true' : 'false', autoComplete: `${this.type} address-level1`, class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.state : undefined, isError: showError && !!customAddressErrors.state, name: `${this.type}-state`, onSelectChange: (event) => {
827
845
  this.validate({
828
846
  type: this.type,
829
847
  value: event.detail,
@@ -837,9 +855,9 @@ export class ZonosAddress {
837
855
  * Therefore, we must update the value after validation to ensure correct error state
838
856
  */
839
857
  this.state = event.detail;
840
- }, options: stateOptions, required: (_k = this.countryField) === null || _k === void 0 ? void 0 : _k.stateRequired, selectLabel: translate(((_l = this.countryField) === null || _l === void 0 ? void 0 : _l.stateLabel) || 'State'), selectedValue: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.state, title: `${this.type} state` })), ((_m = this.countryField) === null || _m === void 0 ? void 0 : _m.zipShow) && (h("zonos-stripe-input", { "aria-describedby": ((_o = this.countryField) === null || _o === void 0 ? void 0 : _o.zipFormat)
858
+ }, options: stateOptions, required: (_j = this.countryField) === null || _j === void 0 ? void 0 : _j.stateRequired, selectLabel: translate(((_k = this.countryField) === null || _k === void 0 ? void 0 : _k.stateLabel) || 'State'), selectedValue: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.state, title: `${this.type} state` })), ((_l = this.countryField) === null || _l === void 0 ? void 0 : _l.zipShow) && (h("zonos-stripe-input", { "aria-describedby": ((_m = this.countryField) === null || _m === void 0 ? void 0 : _m.zipFormat)
841
859
  ? `zip-format-${this.type}`
842
- : undefined, "aria-required": ((_p = this.countryField) === null || _p === void 0 ? void 0 : _p.zipRequired) ? 'true' : 'false', autoComplete: "shipping postal-code", class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.postalCode : undefined, inputLabel: translate(((_q = this.countryField) === null || _q === void 0 ? void 0 : _q.zipLabel) || 'Zip'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.postal_code) || '', name: "postalCode", onInputChange: (event) => {
860
+ : undefined, "aria-required": ((_o = this.countryField) === null || _o === void 0 ? void 0 : _o.zipRequired) ? 'true' : 'false', autoComplete: `${this.type} postal-code`, class: "zonos--custom-address-form-input", error: showError ? customAddressErrors.postalCode : undefined, inputLabel: translate(((_p = this.countryField) === null || _p === void 0 ? void 0 : _p.zipLabel) || 'Zip'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.postal_code) || '', name: "postalCode", onInputChange: (event) => {
843
861
  this.validate({
844
862
  type: this.type,
845
863
  value: event.detail,
@@ -853,7 +871,7 @@ export class ZonosAddress {
853
871
  * Therefore, we must update the value after validation to ensure correct error state
854
872
  */
855
873
  this.postalCode = event.detail;
856
- }, required: (_r = this.countryField) === null || _r === void 0 ? void 0 : _r.zipRequired, title: `${this.type} zip code` }))), h("zonos-stripe-phone-input", { autoComplete: "shipping tel", class: "zonos--custom-address-form-input", countryCode: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country, countryOptions: (_s = zonosStore.genericSettings) === null || _s === void 0 ? void 0 : _s.countryFields, error: showError ? customAddressErrors.phone : undefined, inputLabel: translate('Phone number'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.phone) || '', onInputValueChange: event => {
874
+ }, required: (_q = this.countryField) === null || _q === void 0 ? void 0 : _q.zipRequired, title: `${this.type} zip code` }))), h("zonos-stripe-phone-input", { autoComplete: `${this.type} tel`, class: "zonos--custom-address-form-input", countryCode: stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.address.country, countryOptions: (_r = zonosStore.genericSettings) === null || _r === void 0 ? void 0 : _r.countryFields, error: showError ? customAddressErrors.phone : undefined, inputLabel: translate('Phone number'), inputValue: (stripeAddressEventData === null || stripeAddressEventData === void 0 ? void 0 : stripeAddressEventData.value.phone) || '', onInputValueChange: event => {
857
875
  const { isEmpty, phoneNumber, valid, wrongFormat } = event.detail;
858
876
  // Validate the phone number
859
877
  this.validate({
@@ -894,14 +912,6 @@ export class ZonosAddress {
894
912
  }
895
913
  componentDidLoad() {
896
914
  const stripeAddressEventData = this.getStripeAddressInstance().stripeAddressEventData;
897
- this.shipToCountries = Object.values(localizationStore.shippingZoneCountries || {})
898
- .map(country => ({
899
- label: country.displayName,
900
- value: country.code,
901
- }))
902
- .sort((a, b) => {
903
- return a.label.localeCompare(b.label);
904
- });
905
915
  this.isDirtyAddress =
906
916
  !!stripeAddressEventData &&
907
917
  stripeAddressEventData.value.address.line1.length > 0;
@@ -914,7 +924,6 @@ export class ZonosAddress {
914
924
  }
915
925
  render() {
916
926
  var _a;
917
- this.shippingZones = localizationStore.shippingZoneCountries;
918
927
  this.addressService = zonosStore.checkoutAddressService;
919
928
  if ((_a = stripeStore.stripeAddressEventData) === null || _a === void 0 ? void 0 : _a.complete) {
920
929
  this.isAddressFilled = true;
@@ -924,10 +933,10 @@ export class ZonosAddress {
924
933
  this.country = localizationStore.selectedCountryCode;
925
934
  }
926
935
  // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here
927
- return (h(Host, { key: '1e90973654268e1af1e98bf606f71d55c63f5656', class: classes([
936
+ return (h(Host, { key: 'b4e39a6e92e646f98c0061bf3de8e028c9285556', class: classes([
928
937
  'zonos--address zonos--elements',
929
938
  `zonos--${this.type}-address`,
930
- ]) }, h("zonos-text", { key: 'f986a00640502fb262cc424e57f5edb1f4cdbb9c', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), h("slot", { key: '57ae4b8393e350b99112e6a7800a97d6a524d57c', name: "below-title" }), this.renderCompanyNameInput(), this.renderTaxIdInput(), this.renderShortAddressCodeInput(), this.renderCustomAddressForm()));
939
+ ]) }, h("zonos-text", { key: '28d21737c78a1b8125c5170c67f214e3f39939ff', class: "zonos--title", type: "semiBoldLabel" }, this.titleText), h("slot", { key: '97357f001b27197b8648d6158b786b153c31a7ba', name: "below-title" }), this.renderCompanyNameInput(), this.renderTaxIdInput(), this.renderShortAddressCodeInput(), this.renderCustomAddressForm()));
931
940
  }
932
941
  static get is() { return "zonos-custom-address"; }
933
942
  static get encapsulation() { return "scoped"; }
@@ -1056,8 +1065,6 @@ export class ZonosAddress {
1056
1065
  "addressSuggestions": {},
1057
1066
  "countryField": {},
1058
1067
  "startGooglePlaceSuggestions": {},
1059
- "shipToCountries": {},
1060
- "shippingZones": {},
1061
1068
  "city": {},
1062
1069
  "country": {},
1063
1070
  "firstName": {},
@@ -1166,9 +1173,6 @@ export class ZonosAddress {
1166
1173
  }, {
1167
1174
  "propName": "addressService",
1168
1175
  "methodName": "shouldEnabledCustomAddressChanged"
1169
- }, {
1170
- "propName": "shippingZones",
1171
- "methodName": "shippingZonesChanged"
1172
1176
  }];
1173
1177
  }
1174
1178
  }
@@ -67,7 +67,7 @@ export class ZonosPayment {
67
67
  }
68
68
  render() {
69
69
  // this component loads iframe from the stripe elements and puts here, so we don't need to do anything here
70
- return (h(Host, { key: '8ccf61c2c78fac6b3d981b18dedae1e32921eb14', class: "zonos--payment zonos--elements" }, this.titleText && (h("zonos-text", { key: '5ae4d0452d284b793ac179254b1891c183d63f03', class: "zonos--title", type: "semiBoldLabel" }, this.titleText)), h("div", { key: '251e74ccefed8ee31135cc29cdd71497f7cb1a8a', class: "zonos--payment-component" }), h("div", { key: 'b32c007382c63482f3e7f9af7c60afaaf8b4dbb9', class: "zonos--payment-paypal-container" })));
70
+ return (h(Host, { key: 'faf7791e4cbf6bf8c98fe0b2f368f408ef32b644', class: "zonos--payment zonos--elements" }, this.titleText && (h("zonos-text", { key: 'e6103d0e04f9905b90533bf94539aaae1d5aa604', class: "zonos--title", type: "semiBoldLabel" }, this.titleText)), h("div", { key: 'b042060ff6fef2d7f20b20ec672b2696cb5f837c', class: "zonos--payment-component" }), h("div", { key: 'b6a220513bb964a057c70141dcec89059dbbb0c8', class: "zonos--payment-paypal-container" })));
71
71
  }
72
72
  static get is() { return "zonos-payment"; }
73
73
  static get encapsulation() { return "scoped"; }
@@ -0,0 +1,23 @@
1
+ const hasCountries = (countries) => !!countries && Object.keys(countries).length > 0;
2
+ /**
3
+ * Builds the country options for an address form's country dropdown.
4
+ *
5
+ * Shipping addresses are restricted to the merchant's shipping zone, since we
6
+ * can only fulfill orders to those countries. Billing addresses are not — a
7
+ * shopper's card can be billed to any country, so restricting the billing
8
+ * country prevents them from checking out at all (05CHECK-915).
9
+ *
10
+ * When the full country list is unavailable we fall back to the shipping zone
11
+ * so the dropdown is never empty.
12
+ */
13
+ export const getAddressCountryOptions = ({ allCountries, shippingZoneCountries, type, }) => {
14
+ const countries = type === 'billing' && hasCountries(allCountries)
15
+ ? allCountries
16
+ : shippingZoneCountries;
17
+ return Object.values(countries || {})
18
+ .map(country => ({
19
+ label: country.displayName,
20
+ value: country.code,
21
+ }))
22
+ .sort((a, b) => a.label.localeCompare(b.label));
23
+ };
@@ -0,0 +1,17 @@
1
+ import { zonosStore } from "../store/zonosStore";
2
+ import { languages } from "../../types/ILanguage";
3
+ /**
4
+ * The languages offered in the language selector, honoring the merchant's
5
+ * `appearanceSettings.supportedLocales`. Falls back to every supported language when the
6
+ * merchant has not restricted the list, or when their selection matches nothing we ship
7
+ * translations for — an empty selector is never the right answer.
8
+ */
9
+ export const getSupportedLanguages = () => {
10
+ const { supportedLocales } = zonosStore.appearance;
11
+ if (!(supportedLocales === null || supportedLocales === void 0 ? void 0 : supportedLocales.length)) {
12
+ return languages;
13
+ }
14
+ const allowedLocales = new Set(supportedLocales);
15
+ const supportedLanguages = languages.filter(language => allowedLocales.has(language.code));
16
+ return supportedLanguages.length ? supportedLanguages : languages;
17
+ };
@@ -0,0 +1,8 @@
1
+ import { getSupportedLanguages } from "./getSupportedLanguages";
2
+ /**
3
+ * Whether to offer the language selector. Hidden when the merchant has narrowed
4
+ * `appearanceSettings.supportedLocales` to a single language — there is nothing to pick, so the
5
+ * trigger would only open a one-item dialog. Checkout and Hello both gate their footer trigger on
6
+ * this so the two surfaces stay in lockstep.
7
+ */
8
+ export const shouldShowLanguageSelect = () => getSupportedLanguages().length > 1;
@@ -13,6 +13,7 @@ export const errorProjectNameEnum = {
13
13
  export const featureAspectKeyEnum = {
14
14
  AdminRulesWrite: 'admin_rules_write',
15
15
  AirwallexBeta: 'airwallex_beta',
16
+ ChannelIntegrations: 'channel_integrations',
16
17
  Checkout_2_0: 'checkout_2_0',
17
18
  ClassifyBulk: 'classify_bulk',
18
19
  ClassifyBulkExportViewConfidenceScore: 'classify_bulk_export_view_confidence_score',
@@ -36,6 +37,7 @@ export const featureAspectKeyEnum = {
36
37
  NewPayoutReport: 'new_payout_report',
37
38
  NewRefundsUx: 'new_refunds_ux',
38
39
  OnboardingBeta: 'onboarding_beta',
40
+ OrderReturns: 'order_returns',
39
41
  PageAuditor: 'page_auditor',
40
42
  PromptExplorer: 'prompt_explorer',
41
43
  RulesUiCreate: 'rules_ui_create',
@@ -47,6 +49,7 @@ export const featureAudienceNameEnum = {
47
49
  AccountsReceivable: 'accounts_receivable',
48
50
  AdminRulesEditor: 'admin_rules_editor',
49
51
  AirwallexBetaMerchant: 'airwallex_beta_merchant',
52
+ ChannelIntegrationsMerchant: 'channel_integrations_merchant',
50
53
  CheckoutSales: 'checkout_sales',
51
54
  ClassifyBulkMerchant: 'classify_bulk_merchant',
52
55
  ClassifyBulkMerchantExportConfidenceScore: 'classify_bulk_merchant_export_confidence_score',
@@ -69,6 +72,7 @@ export const featureAudienceNameEnum = {
69
72
  NewRefundsUxMerchant: 'new_refunds_ux_merchant',
70
73
  Onboarding: 'onboarding',
71
74
  OnboardingBetaMerchant: 'onboarding_beta_merchant',
75
+ OrderReturnsMerchant: 'order_returns_merchant',
72
76
  PrincipalEngineer: 'principal_engineer',
73
77
  ProServeHead: 'pro_serve_head',
74
78
  ProductManager: 'product_manager',