@zonos/elements 1.3.266 → 1.3.268

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 (346) hide show
  1. package/dist/cjs/{cart-efc42379.js → cart-af7c024e.js} +129 -4
  2. package/dist/cjs/{debounce-606d1801.js → debounce-7990f5ea.js} +1 -1
  3. package/dist/cjs/{getBorderRadius-a91911e7.js → getBorderRadius-fc683d94.js} +1 -1
  4. package/dist/cjs/{getContrastColor-ce80dbe7.js → getContrastColor-d5134ef3.js} +2 -2
  5. package/dist/cjs/{hasInclusivePrice-400be1b2.js → hasInclusivePrice-0fa6e022.js} +1 -1
  6. package/dist/cjs/index.cjs.js +7 -7
  7. package/dist/cjs/{invoice-9e4d479f.js → invoice-c2e3f232.js} +3 -3
  8. package/dist/cjs/{isCollectMobileTablet-630fcf87.js → isCollectMobileTablet-6014787b.js} +3 -3
  9. package/dist/cjs/{isContrastColor-a02c4889.js → isContrastColor-76592c92.js} +1 -1
  10. package/dist/cjs/{isDarkColor-e317bb06.js → isDarkColor-5d6ca405.js} +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{localization-4b17c530.js → localization-f897bc45.js} +472 -1
  13. package/dist/cjs/{paypal-3bb55914.js → paypal-6756a0da.js} +60 -18
  14. package/dist/cjs/{placeTestOrder-313cbd78.js → placeTestOrder-a4874e51.js} +2 -2
  15. package/dist/cjs/{renderCheckoutCurrency-e0436f1c.js → renderCheckoutCurrency-584d50fe.js} +2 -2
  16. package/dist/cjs/{submitGtag-07a3b09e.js → submitGtag-4906b161.js} +1 -1
  17. package/dist/cjs/{throttle-8aebac7d.js → throttle-02c2e917.js} +2 -2
  18. package/dist/cjs/{updateCheckoutSessionAttributes-a9a97194.js → updateCheckoutSessionAttributes-47d73942.js} +1 -1
  19. package/dist/cjs/zonos-address-display_8.cjs.entry.js +7 -7
  20. package/dist/cjs/zonos-address_4.cjs.entry.js +7 -7
  21. package/dist/cjs/zonos-badge.cjs.entry.js +1 -1
  22. package/dist/cjs/zonos-banner.cjs.entry.js +1 -1
  23. package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
  24. package/dist/cjs/zonos-card_5.cjs.entry.js +8 -8
  25. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +94 -27
  26. package/dist/cjs/zonos-checkbox_2.cjs.entry.js +3 -3
  27. package/dist/cjs/zonos-checkout.cjs.entry.js +112 -85
  28. package/dist/cjs/zonos-collapse.cjs.entry.js +1 -1
  29. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +5 -5
  30. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +11 -11
  31. package/dist/cjs/zonos-collect.cjs.entry.js +9 -9
  32. package/dist/cjs/zonos-controller.cjs.entry.js +126 -7
  33. package/dist/cjs/zonos-country-flag.cjs.entry.js +2 -2
  34. package/dist/cjs/zonos-country-select_4.cjs.entry.js +3 -3
  35. package/dist/cjs/zonos-elements.cjs.js +1 -1
  36. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +3 -3
  37. package/dist/cjs/zonos-hello.cjs.entry.js +3 -3
  38. package/dist/cjs/zonos-input.cjs.entry.js +2 -2
  39. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +7 -7
  40. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +11 -11
  41. package/dist/cjs/zonos-invoice.cjs.entry.js +9 -9
  42. package/dist/cjs/zonos-language-select_2.cjs.entry.js +2 -2
  43. package/dist/cjs/zonos-logo.cjs.entry.js +1 -1
  44. package/dist/cjs/{zonos-store-credit.cjs.entry.js → zonos-policy-consent_2.cjs.entry.js} +91 -6
  45. package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +5 -5
  46. package/dist/cjs/zonos-stripe-input.cjs.entry.js +3 -3
  47. package/dist/cjs/zonos-text.cjs.entry.js +1 -1
  48. package/dist/cjs/zonos-v-stack.cjs.entry.js +1 -1
  49. package/dist/cjs/{zonosStore-0662b95f.js → zonosStore-45a87908.js} +1 -0
  50. package/dist/collection/collection-manifest.json +1 -0
  51. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.js +7 -2
  52. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +66 -12
  53. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +103 -75
  54. package/dist/collection/components/checkout/zonos-checkout/zonos-policy-consent/zonos-policy-consent.css +93 -0
  55. package/dist/collection/components/checkout/zonos-checkout/zonos-policy-consent/zonos-policy-consent.js +93 -0
  56. package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js +1 -1
  57. package/dist/collection/components/main/zonos-controller.js +6 -2
  58. package/dist/collection/components/store/checkout/paypal.js +57 -14
  59. package/dist/collection/components/store/checkout/policyConsent.js +58 -0
  60. package/dist/collection/components/store/checkout/stripe.js +66 -0
  61. package/dist/collection/components/store/hello/localization.js +6 -0
  62. package/dist/collection/components/store/translationStore/strings.arabic.js +21 -0
  63. package/dist/collection/components/store/translationStore/strings.base.js +21 -0
  64. package/dist/collection/components/store/translationStore/strings.chinese.js +21 -0
  65. package/dist/collection/components/store/translationStore/strings.danish.js +21 -0
  66. package/dist/collection/components/store/translationStore/strings.dutch.js +21 -0
  67. package/dist/collection/components/store/translationStore/strings.french.js +21 -0
  68. package/dist/collection/components/store/translationStore/strings.german.js +21 -0
  69. package/dist/collection/components/store/translationStore/strings.hebrew.js +21 -0
  70. package/dist/collection/components/store/translationStore/strings.indonesian.js +21 -0
  71. package/dist/collection/components/store/translationStore/strings.italian.js +21 -0
  72. package/dist/collection/components/store/translationStore/strings.japanese.js +21 -0
  73. package/dist/collection/components/store/translationStore/strings.korean.js +21 -0
  74. package/dist/collection/components/store/translationStore/strings.norwegian.js +21 -0
  75. package/dist/collection/components/store/translationStore/strings.polish.js +21 -0
  76. package/dist/collection/components/store/translationStore/strings.portuguese.js +21 -0
  77. package/dist/collection/components/store/translationStore/strings.russian.js +21 -0
  78. package/dist/collection/components/store/translationStore/strings.spanish.js +21 -0
  79. package/dist/collection/components/store/translationStore/strings.swedish.js +21 -0
  80. package/dist/collection/components/store/translationStore/strings.turkish.js +21 -0
  81. package/dist/collection/components/store/translationStore/strings.vietnamese.js +21 -0
  82. package/dist/collection/components/store/zonosStore.js +1 -0
  83. package/dist/collection/components/utils/checkout/injectDomesticElementHideStyle.js +116 -0
  84. package/dist/collection/types/generated/graphql.internal.types.js +351 -73
  85. package/dist/collection/utils/toggleBigcommerceNativeCurrencySelector.js +48 -0
  86. package/dist/esm/{cart-62c166fc.js → cart-68c16805.js} +125 -5
  87. package/dist/esm/{debounce-ab526ca0.js → debounce-58e4ff3e.js} +1 -1
  88. package/dist/esm/{getBorderRadius-98c64be8.js → getBorderRadius-d23f47a6.js} +1 -1
  89. package/dist/esm/{getContrastColor-0aa643c1.js → getContrastColor-f0bd5b65.js} +2 -2
  90. package/dist/esm/{hasInclusivePrice-a73f64b7.js → hasInclusivePrice-f1ca1610.js} +1 -1
  91. package/dist/esm/index.js +7 -7
  92. package/dist/esm/{invoice-fa4ff6fb.js → invoice-d0eadc6a.js} +3 -3
  93. package/dist/esm/{isCollectMobileTablet-5f50ec81.js → isCollectMobileTablet-11ade63f.js} +3 -3
  94. package/dist/esm/{isContrastColor-6bad285e.js → isContrastColor-fbddacb6.js} +1 -1
  95. package/dist/esm/{isDarkColor-0a8453e7.js → isDarkColor-566f04c5.js} +1 -1
  96. package/dist/esm/loader.js +1 -1
  97. package/dist/esm/{localization-d2631105.js → localization-8e81b696.js} +472 -1
  98. package/dist/esm/{paypal-424d040d.js → paypal-e32877e9.js} +60 -18
  99. package/dist/esm/{placeTestOrder-cf237d95.js → placeTestOrder-4cf429d7.js} +2 -2
  100. package/dist/esm/{renderCheckoutCurrency-513ead96.js → renderCheckoutCurrency-9459b8a3.js} +2 -2
  101. package/dist/esm/{submitGtag-ae9d5d91.js → submitGtag-c7ea1f2a.js} +1 -1
  102. package/dist/esm/{throttle-882b1f47.js → throttle-f09d0659.js} +2 -2
  103. package/dist/esm/{updateCheckoutSessionAttributes-da7fdd37.js → updateCheckoutSessionAttributes-40e301a4.js} +1 -1
  104. package/dist/esm/zonos-address-display_8.entry.js +7 -7
  105. package/dist/esm/zonos-address_4.entry.js +7 -7
  106. package/dist/esm/zonos-badge.entry.js +1 -1
  107. package/dist/esm/zonos-banner.entry.js +1 -1
  108. package/dist/esm/zonos-button_3.entry.js +3 -3
  109. package/dist/esm/zonos-card_5.entry.js +8 -8
  110. package/dist/esm/zonos-cart-items_12.entry.js +94 -27
  111. package/dist/esm/zonos-checkbox_2.entry.js +3 -3
  112. package/dist/esm/zonos-checkout.entry.js +112 -85
  113. package/dist/esm/zonos-collapse.entry.js +1 -1
  114. package/dist/esm/zonos-collect-cart-items_3.entry.js +5 -5
  115. package/dist/esm/zonos-collect-finish_6.entry.js +11 -11
  116. package/dist/esm/zonos-collect.entry.js +9 -9
  117. package/dist/esm/zonos-controller.entry.js +126 -7
  118. package/dist/esm/zonos-country-flag.entry.js +2 -2
  119. package/dist/esm/zonos-country-select_4.entry.js +3 -3
  120. package/dist/esm/zonos-elements.js +1 -1
  121. package/dist/esm/zonos-hello-dialog.entry.js +3 -3
  122. package/dist/esm/zonos-hello.entry.js +3 -3
  123. package/dist/esm/zonos-input.entry.js +2 -2
  124. package/dist/esm/zonos-invoice-cart-items_2.entry.js +7 -7
  125. package/dist/esm/zonos-invoice-finish_5.entry.js +11 -11
  126. package/dist/esm/zonos-invoice.entry.js +9 -9
  127. package/dist/esm/zonos-language-select_2.entry.js +2 -2
  128. package/dist/esm/zonos-logo.entry.js +1 -1
  129. package/dist/esm/{zonos-store-credit.entry.js → zonos-policy-consent_2.entry.js} +91 -7
  130. package/dist/esm/zonos-shipping-rich-radio.entry.js +5 -5
  131. package/dist/esm/zonos-stripe-input.entry.js +3 -3
  132. package/dist/esm/zonos-text.entry.js +1 -1
  133. package/dist/esm/zonos-v-stack.entry.js +1 -1
  134. package/dist/esm/{zonosStore-9662b071.js → zonosStore-8e19daff.js} +1 -0
  135. package/dist/esm-es5/cart-68c16805.js +1 -0
  136. package/dist/esm-es5/{debounce-ab526ca0.js → debounce-58e4ff3e.js} +1 -1
  137. package/dist/esm-es5/{getBorderRadius-98c64be8.js → getBorderRadius-d23f47a6.js} +1 -1
  138. package/dist/esm-es5/{getContrastColor-0aa643c1.js → getContrastColor-f0bd5b65.js} +1 -1
  139. package/dist/esm-es5/{hasInclusivePrice-a73f64b7.js → hasInclusivePrice-f1ca1610.js} +1 -1
  140. package/dist/esm-es5/index.js +1 -1
  141. package/dist/esm-es5/{invoice-fa4ff6fb.js → invoice-d0eadc6a.js} +1 -1
  142. package/dist/esm-es5/{isCollectMobileTablet-5f50ec81.js → isCollectMobileTablet-11ade63f.js} +1 -1
  143. package/dist/esm-es5/{isContrastColor-6bad285e.js → isContrastColor-fbddacb6.js} +1 -1
  144. package/dist/esm-es5/{isDarkColor-0a8453e7.js → isDarkColor-566f04c5.js} +1 -1
  145. package/dist/esm-es5/loader.js +1 -1
  146. package/dist/esm-es5/localization-8e81b696.js +1 -0
  147. package/dist/esm-es5/{paypal-424d040d.js → paypal-e32877e9.js} +2 -2
  148. package/dist/esm-es5/{placeTestOrder-cf237d95.js → placeTestOrder-4cf429d7.js} +1 -1
  149. package/dist/esm-es5/{renderCheckoutCurrency-513ead96.js → renderCheckoutCurrency-9459b8a3.js} +1 -1
  150. package/dist/esm-es5/{submitGtag-ae9d5d91.js → submitGtag-c7ea1f2a.js} +1 -1
  151. package/dist/esm-es5/throttle-f09d0659.js +1 -0
  152. package/dist/esm-es5/{updateCheckoutSessionAttributes-da7fdd37.js → updateCheckoutSessionAttributes-40e301a4.js} +1 -1
  153. package/dist/esm-es5/zonos-address-display_8.entry.js +1 -1
  154. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  155. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  156. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  157. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  158. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  159. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  160. package/dist/esm-es5/zonos-checkbox_2.entry.js +1 -1
  161. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  162. package/dist/esm-es5/zonos-collapse.entry.js +1 -1
  163. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  164. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  165. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  166. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  167. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  168. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  169. package/dist/esm-es5/zonos-elements.js +1 -1
  170. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  171. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  172. package/dist/esm-es5/zonos-input.entry.js +1 -1
  173. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
  174. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  175. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  176. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  177. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  178. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -0
  179. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  180. package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
  181. package/dist/esm-es5/zonos-text.entry.js +1 -1
  182. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  183. package/dist/esm-es5/{zonosStore-9662b071.js → zonosStore-8e19daff.js} +1 -1
  184. package/dist/scripts/index.d.ts +105 -11
  185. package/dist/scripts/index.js +1 -1
  186. package/dist/scripts/loadZonos.js +1 -1
  187. package/dist/scripts/zonos.js +1 -1
  188. package/dist/types/components/checkout/zonos-checkout/zonos-policy-consent/zonos-policy-consent.d.ts +3 -0
  189. package/dist/types/components/store/checkout/policyConsent.d.ts +41 -0
  190. package/dist/types/components/store/checkout/stripe.d.ts +13 -0
  191. package/dist/types/components/store/translationStore/strings.arabic.d.ts +21 -0
  192. package/dist/types/components/store/translationStore/strings.base.d.ts +21 -0
  193. package/dist/types/components/store/translationStore/strings.chinese.d.ts +21 -0
  194. package/dist/types/components/store/translationStore/strings.danish.d.ts +21 -0
  195. package/dist/types/components/store/translationStore/strings.dutch.d.ts +21 -0
  196. package/dist/types/components/store/translationStore/strings.french.d.ts +21 -0
  197. package/dist/types/components/store/translationStore/strings.german.d.ts +21 -0
  198. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +21 -0
  199. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +21 -0
  200. package/dist/types/components/store/translationStore/strings.italian.d.ts +21 -0
  201. package/dist/types/components/store/translationStore/strings.japanese.d.ts +21 -0
  202. package/dist/types/components/store/translationStore/strings.korean.d.ts +21 -0
  203. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +21 -0
  204. package/dist/types/components/store/translationStore/strings.polish.d.ts +21 -0
  205. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +21 -0
  206. package/dist/types/components/store/translationStore/strings.russian.d.ts +21 -0
  207. package/dist/types/components/store/translationStore/strings.spanish.d.ts +21 -0
  208. package/dist/types/components/store/translationStore/strings.swedish.d.ts +21 -0
  209. package/dist/types/components/store/translationStore/strings.turkish.d.ts +21 -0
  210. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +21 -0
  211. package/dist/types/components/utils/checkout/injectDomesticElementHideStyle.d.ts +18 -0
  212. package/dist/types/components.d.ts +13 -0
  213. package/dist/types/scripts/cart/_setupCartDataWithSettings.d.ts +29 -11
  214. package/dist/types/types/checkout/CheckoutConfig.d.ts +32 -0
  215. package/dist/types/types/generated/graphql.internal.types.d.ts +501 -119
  216. package/dist/types/types/generated/graphql.internal.types.ts +561 -154
  217. package/dist/types/types/utils/ZonosSettings.d.ts +9 -0
  218. package/dist/types/utils/toggleBigcommerceNativeCurrencySelector.d.ts +17 -0
  219. package/dist/zonos-elements/index.esm.js +1 -1
  220. package/dist/zonos-elements/{p-7b640194.entry.js → p-000b895a.entry.js} +1 -1
  221. package/dist/zonos-elements/p-01913da8.js +1 -0
  222. package/dist/zonos-elements/{p-bbbbae9a.system.entry.js → p-06e7fe2a.system.entry.js} +1 -1
  223. package/dist/zonos-elements/p-0803ad10.js +1 -0
  224. package/dist/zonos-elements/{p-79e5a629.system.entry.js → p-0e36a7cf.system.entry.js} +1 -1
  225. package/dist/zonos-elements/{p-8cd0a098.system.entry.js → p-108b5307.system.entry.js} +1 -1
  226. package/dist/zonos-elements/p-11439d12.entry.js +1 -0
  227. package/dist/zonos-elements/{p-b6df4cc2.system.entry.js → p-134c5010.system.entry.js} +1 -1
  228. package/dist/zonos-elements/{p-ea88f7f5.system.entry.js → p-1376e67f.system.entry.js} +1 -1
  229. package/dist/zonos-elements/p-14d6542f.system.js +1 -0
  230. package/dist/zonos-elements/p-17be8409.entry.js +1 -0
  231. package/dist/zonos-elements/{p-a75baf3e.js → p-17e3cd62.js} +1 -1
  232. package/dist/zonos-elements/{p-0207c91e.system.js → p-18af6aaa.system.js} +1 -1
  233. package/dist/zonos-elements/p-1eef8c23.system.js +1 -0
  234. package/dist/zonos-elements/p-24091606.system.entry.js +1 -0
  235. package/dist/zonos-elements/{p-6b6cfc59.system.entry.js → p-26ae4ee7.system.entry.js} +1 -1
  236. package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
  237. package/dist/zonos-elements/{p-71fb6126.entry.js → p-2afecda7.entry.js} +1 -1
  238. package/dist/zonos-elements/p-2ccd20c0.system.js +1 -0
  239. package/dist/zonos-elements/{p-d28be518.js → p-33d4be28.js} +1 -1
  240. package/dist/zonos-elements/{p-26c85188.entry.js → p-344a1fee.entry.js} +1 -1
  241. package/dist/zonos-elements/{p-f1bbad73.entry.js → p-38311c16.entry.js} +1 -1
  242. package/dist/zonos-elements/p-3b28fc76.js +1 -0
  243. package/dist/zonos-elements/{p-db3b101a.js → p-3dc3596b.js} +1 -1
  244. package/dist/zonos-elements/{p-3689821f.system.js → p-3e7ee89d.system.js} +1 -1
  245. package/dist/zonos-elements/{p-2b30beea.system.js → p-44b279cc.system.js} +1 -1
  246. package/dist/zonos-elements/{p-4d433020.system.entry.js → p-48805ed6.system.entry.js} +1 -1
  247. package/dist/zonos-elements/{p-ab0b23f2.js → p-4df08fc4.js} +1 -1
  248. package/dist/zonos-elements/p-4fe3d5e0.system.js +18 -0
  249. package/dist/zonos-elements/{p-227ef22f.entry.js → p-50362897.entry.js} +1 -1
  250. package/dist/zonos-elements/p-52bd7be3.system.js +1 -0
  251. package/dist/zonos-elements/{p-deaf0e38.system.entry.js → p-536cbab5.system.entry.js} +1 -1
  252. package/dist/zonos-elements/{p-305e2dd8.system.js → p-53a59935.system.js} +1 -1
  253. package/dist/zonos-elements/{p-27513bfe.system.entry.js → p-593764cf.system.entry.js} +1 -1
  254. package/dist/zonos-elements/{p-01384124.system.js → p-5b05b461.system.js} +1 -1
  255. package/dist/zonos-elements/{p-a49ba3ae.system.entry.js → p-5b4e5608.system.entry.js} +1 -1
  256. package/dist/zonos-elements/{p-1bf9a1b9.system.js → p-5d65be06.system.js} +1 -1
  257. package/dist/zonos-elements/{p-bce7bfcc.system.entry.js → p-5e18d92b.system.entry.js} +1 -1
  258. package/dist/zonos-elements/{p-1957af5a.system.entry.js → p-5f92db80.system.entry.js} +1 -1
  259. package/dist/zonos-elements/p-5fa2395d.system.js +1 -0
  260. package/dist/zonos-elements/{p-2431f95c.entry.js → p-620a9013.entry.js} +1 -1
  261. package/dist/zonos-elements/p-623fc89a.system.entry.js +1 -0
  262. package/dist/zonos-elements/p-64e8f05d.system.entry.js +1 -0
  263. package/dist/zonos-elements/{p-2a6be4a5.entry.js → p-658ab5e2.entry.js} +1 -1
  264. package/dist/zonos-elements/{p-bb77b580.entry.js → p-673407b8.entry.js} +1 -1
  265. package/dist/zonos-elements/{p-6ab742d9.system.entry.js → p-69089a6f.system.entry.js} +1 -1
  266. package/dist/zonos-elements/{p-f76d5249.entry.js → p-6f41c193.entry.js} +1 -1
  267. package/dist/zonos-elements/{p-f3cfd8fa.js → p-701d9a7c.js} +1 -1
  268. package/dist/zonos-elements/{p-02d812c8.entry.js → p-7166df08.entry.js} +1 -1
  269. package/dist/zonos-elements/p-72960738.js +1 -0
  270. package/dist/zonos-elements/p-72c3756a.js +1 -0
  271. package/dist/zonos-elements/{p-5ae695a3.entry.js → p-7628569a.entry.js} +1 -1
  272. package/dist/zonos-elements/p-774de1ec.system.js +1 -0
  273. package/dist/zonos-elements/{p-27061873.entry.js → p-777d396e.entry.js} +1 -1
  274. package/dist/zonos-elements/{p-ce44c942.system.js → p-7a220941.system.js} +1 -1
  275. package/dist/zonos-elements/{p-46071125.entry.js → p-7aca66cd.entry.js} +1 -1
  276. package/dist/zonos-elements/p-7cf8e1f0.js +1 -0
  277. package/dist/zonos-elements/{p-eb99a625.system.js → p-7d9d2407.system.js} +1 -1
  278. package/dist/zonos-elements/{p-889e5db0.entry.js → p-7fef8558.entry.js} +1 -1
  279. package/dist/zonos-elements/{p-7003d093.system.entry.js → p-80df7e0b.system.entry.js} +1 -1
  280. package/dist/zonos-elements/p-8116d3ba.entry.js +1 -0
  281. package/dist/zonos-elements/{p-648f3ada.entry.js → p-889a44fc.entry.js} +1 -1
  282. package/dist/zonos-elements/{p-4c89d04a.js → p-896fb969.js} +1 -1
  283. package/dist/zonos-elements/{p-0ea16658.system.entry.js → p-8ddc21f1.system.entry.js} +1 -1
  284. package/dist/zonos-elements/p-90d22087.system.js +1 -0
  285. package/dist/zonos-elements/{p-7c101a92.system.entry.js → p-95b460e9.system.entry.js} +1 -1
  286. package/dist/zonos-elements/{p-08934304.system.entry.js → p-95f3bbad.system.entry.js} +1 -1
  287. package/dist/zonos-elements/{p-7677c45a.entry.js → p-97da66f2.entry.js} +1 -1
  288. package/dist/zonos-elements/{p-55fb4ea3.system.entry.js → p-98bea13e.system.entry.js} +1 -1
  289. package/dist/zonos-elements/{p-ba9e2612.system.entry.js → p-990d1495.system.entry.js} +1 -1
  290. package/dist/zonos-elements/p-9f5fb332.js +1 -0
  291. package/dist/zonos-elements/{p-6b682a6b.system.entry.js → p-a0ee01dd.system.entry.js} +1 -1
  292. package/dist/zonos-elements/p-ac8cfdc0.js +1 -0
  293. package/dist/zonos-elements/{p-7b74e5f2.system.entry.js → p-af12a1b7.system.entry.js} +1 -1
  294. package/dist/zonos-elements/{p-b4b23475.entry.js → p-b35a0b1e.entry.js} +1 -1
  295. package/dist/zonos-elements/{p-bf5c3dd7.system.entry.js → p-b59fc3fa.system.entry.js} +1 -1
  296. package/dist/zonos-elements/p-b71ef46e.js +17 -0
  297. package/dist/zonos-elements/{p-d63e18a8.entry.js → p-b93b66c2.entry.js} +1 -1
  298. package/dist/zonos-elements/p-b9a615bc.system.entry.js +1 -0
  299. package/dist/zonos-elements/{p-6a195559.system.js → p-bc919de1.system.js} +1 -1
  300. package/dist/zonos-elements/{p-72efa5b7.system.entry.js → p-bc9a30a1.system.entry.js} +1 -1
  301. package/dist/zonos-elements/{p-665bfd4f.entry.js → p-c1463da7.entry.js} +1 -1
  302. package/dist/zonos-elements/{p-03e95598.entry.js → p-c3459f4a.entry.js} +1 -1
  303. package/dist/zonos-elements/{p-781cc8de.system.entry.js → p-c7ca3e98.system.entry.js} +1 -1
  304. package/dist/zonos-elements/p-c91fade3.entry.js +1 -0
  305. package/dist/zonos-elements/{p-79f3c227.system.entry.js → p-c92a5ae5.system.entry.js} +1 -1
  306. package/dist/zonos-elements/p-cd34ecf2.js +1 -0
  307. package/dist/zonos-elements/{p-28e2ac3b.entry.js → p-dae881f2.entry.js} +1 -1
  308. package/dist/zonos-elements/{p-9b660cd3.js → p-dcafbd4e.js} +1 -1
  309. package/dist/zonos-elements/{p-8571f3ce.entry.js → p-df55536b.entry.js} +1 -1
  310. package/dist/zonos-elements/{p-acf42bc1.entry.js → p-e3d6f9b4.entry.js} +1 -1
  311. package/dist/zonos-elements/{p-928291e5.entry.js → p-e548b8ec.entry.js} +1 -1
  312. package/dist/zonos-elements/{p-5e6f85f0.system.js → p-f053975e.system.js} +1 -1
  313. package/dist/zonos-elements/{p-72187e00.entry.js → p-fc5007e0.entry.js} +1 -1
  314. package/dist/zonos-elements/zonos-elements.css +1 -1
  315. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  316. package/package.json +1 -1
  317. package/dist/esm-es5/cart-62c166fc.js +0 -1
  318. package/dist/esm-es5/localization-d2631105.js +0 -1
  319. package/dist/esm-es5/throttle-882b1f47.js +0 -1
  320. package/dist/esm-es5/zonos-store-credit.entry.js +0 -1
  321. package/dist/zonos-elements/p-06c4d422.system.js +0 -1
  322. package/dist/zonos-elements/p-0efd2d5a.js +0 -1
  323. package/dist/zonos-elements/p-1a470353.entry.js +0 -1
  324. package/dist/zonos-elements/p-1d6f3ab9.js +0 -1
  325. package/dist/zonos-elements/p-209d7728.system.entry.js +0 -1
  326. package/dist/zonos-elements/p-27eeaf56.system.js +0 -1
  327. package/dist/zonos-elements/p-367a72bc.js +0 -1
  328. package/dist/zonos-elements/p-37207963.system.js +0 -1
  329. package/dist/zonos-elements/p-40284821.system.js +0 -1
  330. package/dist/zonos-elements/p-40a45837.system.entry.js +0 -1
  331. package/dist/zonos-elements/p-4495f149.system.entry.js +0 -1
  332. package/dist/zonos-elements/p-456a600b.entry.js +0 -1
  333. package/dist/zonos-elements/p-4980facb.js +0 -1
  334. package/dist/zonos-elements/p-5e10d4ff.system.entry.js +0 -1
  335. package/dist/zonos-elements/p-61d73d69.js +0 -1
  336. package/dist/zonos-elements/p-6d81901a.js +0 -1
  337. package/dist/zonos-elements/p-8ccd6d3f.js +0 -1
  338. package/dist/zonos-elements/p-9aaa1d80.entry.js +0 -1
  339. package/dist/zonos-elements/p-a371f770.system.js +0 -1
  340. package/dist/zonos-elements/p-a9425900.system.js +0 -18
  341. package/dist/zonos-elements/p-b2d276e1.js +0 -1
  342. package/dist/zonos-elements/p-c7047a1c.js +0 -1
  343. package/dist/zonos-elements/p-cd88efdb.js +0 -17
  344. package/dist/zonos-elements/p-daeb57cb.entry.js +0 -1
  345. package/dist/zonos-elements/p-e3292be8.system.js +0 -1
  346. package/dist/zonos-elements/p-e5dfccd8.system.js +0 -1
@@ -1,8 +1,9 @@
1
1
  import { Fragment, h, Host, } from "@stencil/core";
2
2
  import { cartStore, cartStoreNextStep, } from "../../../store/checkout/cart";
3
3
  import { paypalStore } from "../../../store/checkout/paypal";
4
+ import { isPolicyConsentRequired, policyConsentStore, } from "../../../store/checkout/policyConsent";
4
5
  import { storeCreditStore, storeCreditStoreCoversFullAmount, } from "../../../store/checkout/storeCredit";
5
- import { stripeStore } from "../../../store/checkout/stripe";
6
+ import { stripeStore, stripeStoreRecordPolicyConsent, } from "../../../store/checkout/stripe";
6
7
  import { storageStore } from "../../../store/storageStore";
7
8
  import { translate } from "../../../store/translationStore";
8
9
  import { zonosStore } from "../../../store/zonosStore";
@@ -67,6 +68,30 @@ export class ZonosCheckoutPayment {
67
68
  }, 10);
68
69
  return;
69
70
  }
71
+ // Block submit when the merchant requires policy consent and the buyer hasn't accepted.
72
+ if (isPolicyConsentRequired() && !policyConsentStore.accepted) {
73
+ policyConsentStore.showError = true;
74
+ setTimeout(() => {
75
+ var _a;
76
+ (_a = this.ele
77
+ .querySelector('zonos-policy-consent')) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' });
78
+ }, 10);
79
+ return;
80
+ }
81
+ // Lock consent state for the rest of the flow so the buyer can't uncheck
82
+ // during the async work below (which would create a race where the
83
+ // metadata builder sees `accepted=false` and skips writing the consent
84
+ // entry). Cleared on every checkout close.
85
+ if (isPolicyConsentRequired()) {
86
+ policyConsentStore.locked = true;
87
+ }
88
+ // Persist the buyer's consent into the checkout session metadata BEFORE confirming
89
+ // payment, so the recorded consent is durable even if Stripe takes a while or fails.
90
+ // We deliberately don't block payment on a recording failure — a transient network
91
+ // hiccup shouldn't gate the buyer out, and the failure is logged inside the helper
92
+ // via `logError` for observability. The buyer's consent intent is also captured
93
+ // client-side via the checkbox state and `acceptedAt` timestamp.
94
+ await stripeStoreRecordPolicyConsent();
70
95
  stripeStore.checkoutSettlementCurrency = currencyCode;
71
96
  // submit google tag when the form is complete
72
97
  submitAnalytics({
@@ -106,17 +131,46 @@ export class ZonosCheckoutPayment {
106
131
  });
107
132
  };
108
133
  this.placeTestOrder = async () => {
109
- this.internalContinueLoading = true;
110
- const { errors } = await placeTestOrder();
111
- if (errors.length) {
112
- this.stagingOrderCreateErrorMessage =
113
- errors[0] || 'Failed to create staging order. Please try again.';
114
- this.internalContinueLoading = false;
134
+ // Staging "Place test order" still represents the buyer placing an order,
135
+ // so apply the same consent gate the real Pay button uses. Consistency
136
+ // matters here: merchants testing the flow should see the same blockers
137
+ // a real buyer would hit.
138
+ if (isPolicyConsentRequired() && !policyConsentStore.accepted) {
139
+ policyConsentStore.showError = true;
140
+ setTimeout(() => {
141
+ var _a;
142
+ (_a = this.ele
143
+ .querySelector('zonos-policy-consent')) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' });
144
+ }, 10);
115
145
  return;
116
146
  }
117
- this.internalContinueLoading = false;
118
- // continue to the next step
119
- cartStoreNextStep();
147
+ const consentWasRequired = isPolicyConsentRequired();
148
+ if (consentWasRequired) {
149
+ policyConsentStore.locked = true;
150
+ }
151
+ try {
152
+ this.internalContinueLoading = true;
153
+ // Don't block the test order on a consent-record failure — failure is logged
154
+ // inside the helper and surfaced in Vercel logs for observability.
155
+ await stripeStoreRecordPolicyConsent();
156
+ const { errors } = await placeTestOrder();
157
+ if (errors.length) {
158
+ this.stagingOrderCreateErrorMessage =
159
+ errors[0] || 'Failed to create staging order. Please try again.';
160
+ this.internalContinueLoading = false;
161
+ return;
162
+ }
163
+ this.internalContinueLoading = false;
164
+ // continue to the next step
165
+ cartStoreNextStep();
166
+ }
167
+ finally {
168
+ // Release the consent lock on every terminal exit so a failed test order
169
+ // doesn't leave the checkbox stuck disabled in the merchant's staging UI.
170
+ if (consentWasRequired) {
171
+ policyConsentStore.locked = false;
172
+ }
173
+ }
120
174
  };
121
175
  }
122
176
  continueLoadingWatcher() {
@@ -155,7 +209,7 @@ export class ZonosCheckoutPayment {
155
209
  const theme = this.isMobile
156
210
  ? zonosStore.appearance.theme
157
211
  : themeBasedColor;
158
- return (h(Fragment, null, this.stagingOrderCreateErrorMessage && (h("zonos-banner", { class: "zonos--error-banner", intent: "error" }, this.stagingOrderCreateErrorMessage)), h("zonos-empty-state-payment", { emptyStateText: translate('No payment method needed for staging'), theme: theme }), h("div", { class: "zonos--group-btn" }, h("zonos-button", { backgroundColor: this.submitBtnColor, loading: this.internalContinueLoading, onClick: () => {
212
+ return (h(Fragment, null, this.stagingOrderCreateErrorMessage && (h("zonos-banner", { class: "zonos--error-banner", intent: "error" }, this.stagingOrderCreateErrorMessage)), h("zonos-empty-state-payment", { emptyStateText: translate('No payment method needed for staging'), theme: theme }), h("zonos-policy-consent", null), h("div", { class: "zonos--group-btn" }, h("zonos-button", { backgroundColor: this.submitBtnColor, loading: this.internalContinueLoading, onClick: () => {
159
213
  void this.placeTestOrder();
160
214
  }, size: "lg",
161
215
  // use primary type when on mobile mode
@@ -164,7 +218,7 @@ export class ZonosCheckoutPayment {
164
218
  return (h(Fragment, null, this.showErrorBanner && (h("zonos-banner", { class: "zonos--error-banner", intent: "error" }, translate('Missing required fields. Make sure all fields are completed.'))), this.hasStripePaymentError && (h("zonos-banner", { class: "zonos--payment-error-banner", intent: "error" }, stripeStore.customErrorMessage ||
165
219
  translate("We couldn't complete your payment. Please verify the payment details and try again."))), paypalStore.paypalErrorMessage && (h("zonos-banner", { class: "zonos--payment-error-banner", intent: "error" }, paypalStore.paypalErrorMessage)), cartStore.customerAuthenticationToken &&
166
220
  storeCreditStore.availableBalance != null &&
167
- storeCreditStore.availableBalance > 0 && (h("zonos-store-credit", null)), storeCreditCoversFullOrder ? (h("zonos-banner", { intent: "info" }, translate('Store credit covers your full order'))) : (h("zonos-payment", null)), h("div", { class: "zonos--group-btn" }, (!isPaypalTabSelected || storeCreditCoversFullOrder) && (h(Fragment, null, h("zonos-button", { backgroundColor: this.submitBtnColor, bold: true, isDisabled: this.continueLoading &&
221
+ storeCreditStore.availableBalance > 0 && (h("zonos-store-credit", null)), storeCreditCoversFullOrder ? (h("zonos-banner", { intent: "info" }, translate('Store credit covers your full order'))) : (h("zonos-payment", null)), h("zonos-policy-consent", null), h("div", { class: "zonos--group-btn" }, (!isPaypalTabSelected || storeCreditCoversFullOrder) && (h(Fragment, null, h("zonos-button", { backgroundColor: this.submitBtnColor, bold: true, isDisabled: this.continueLoading &&
168
222
  stripeStore.checkoutSettlementCurrency === 'USD', loading: this.continueLoading &&
169
223
  stripeStore.checkoutSettlementCurrency !== 'USD', onClick: async () => {
170
224
  if (!cartStore.checkoutSession) {
@@ -1,6 +1,7 @@
1
1
  import { Fragment, h, Host, } from "@stencil/core";
2
2
  import { cartStore, cartStoreClearCheckoutInterval, cartStoreNextStep, cartStoreOnChange, cartStoreReset, cartStoreResetTabItems, cartStoreSetCheckoutSession, cartStoreStartCheckoutInterval, cartStoreUpdateItems, cartStoreUpdateToErrorState, } from "../../store/checkout/cart";
3
3
  import { paypalInitScript, paypalStore, paypalStoreHasPaypalEnabled, } from "../../store/checkout/paypal";
4
+ import { isPolicyConsentRequired, policyConsentStore, policyConsentStoreReset, } from "../../store/checkout/policyConsent";
4
5
  import { storeCreditStoreApplyCredit, storeCreditStoreCoversFullAmount, storeCreditStoreCreateOrder, storeCreditStoreGetEffectiveAmount, } from "../../store/checkout/storeCredit";
5
6
  import { getCheckoutSessionBody, initStripeElements, stripeStore, stripeStoreCleanupDomesticShippingSession, stripeStoreConfirmPayment, stripeStoreGetPaymentIntent, stripeStoreHandleInventoryCheck, stripeStoreHandleInventoryRefund, stripeStoreInitCheckoutSession, stripeStoreOnChange, stripeStorePrefetchLandedCost, stripeStoreReset, stripeStoreRetrievePayment, stripeStoreUpdateCheckoutSessionBaseCurrency, } from "../../store/checkout/stripe";
6
7
  import { localizationStore, localizationStoreOnChange, } from "../../store/hello/localization";
@@ -562,6 +563,12 @@ export class ZonosCheckout {
562
563
  // reset cart store if it's not preview mode and only when checkout is in the finish step.
563
564
  cartStoreReset();
564
565
  }
566
+ // Clear policy consent on every close (not just finish) so a buyer who
567
+ // checked the box mid-flow and then closed can't carry the prior
568
+ // acceptance into a new attempt without a fresh checkbox click.
569
+ if (!this.preview) {
570
+ policyConsentStoreReset();
571
+ }
565
572
  // reset step to customer info
566
573
  cartStore.step = 'customer-info';
567
574
  // reset the tab item, so that user needs to click on Continue button to re-quote the landed cost if needed.
@@ -1390,77 +1397,104 @@ export class ZonosCheckout {
1390
1397
  stripeStore.shouldRenderPayInUsdButton &&
1391
1398
  !this.payInUsdConfirmDialogOpen) {
1392
1399
  this.payInUsdConfirmDialogOpen = true;
1400
+ // Don't unlock consent here — the USD-confirm dialog is mid-flow; the
1401
+ // lock should hold until the user resolves the dialog and we re-enter.
1393
1402
  return;
1394
1403
  }
1395
1404
  // Close the dialog after the user confirms to proceed with the payment in USD
1396
1405
  this.payInUsdConfirmDialogOpen = false;
1397
- // reset paypal error message
1398
- paypalStore.paypalErrorMessage = null;
1399
- // reset error state
1400
- stripeStore.hasPaymentError = false;
1401
- this.submitLoading = true;
1402
- // reset inventory check message
1403
- cartStore.inventoryCheckErrorMessage = null;
1404
- // Attempt to change settlement currency to USD
1405
- const baseCurrencyUpdateSuccess = await stripeStoreUpdateCheckoutSessionBaseCurrency();
1406
- // Should not proceed to confirm payment if base currency update failed
1407
- if (!baseCurrencyUpdateSuccess) {
1408
- stripeStore.hasPaymentError = true;
1409
- stripeStore.customErrorMessage = translate('Unable to complete payment in [currency]. Please try again or select a different currency. If the issue persists, contact our support team for assistance.', {
1410
- currency: stripeStore.checkoutSettlementCurrency,
1411
- });
1412
- this.submitLoading = false;
1413
- return;
1414
- }
1406
+ // Track whether consent was required at the start of this flow so we know
1407
+ // whether to release the lock in `finally`. The store reset on checkout
1408
+ // close will catch any stragglers, but releasing here lets the buyer
1409
+ // recover (uncheck / retry) when an async step aborts.
1410
+ const consentWasRequired = isPolicyConsentRequired();
1415
1411
  try {
1416
- // check inventory before proceeding to payment
1417
- cartStore.inventoryCheckErrorMessage =
1418
- await stripeStoreHandleInventoryCheck();
1419
- }
1420
- catch (_a) {
1421
- // If user provide callback and it throw an exception, default to this message and stop the payment.
1422
- cartStore.inventoryCheckErrorMessage = translate('Unable to check inventory. Please try again.');
1423
- }
1424
- // Don't proceed to payment if there's an error message
1425
- if (cartStore.inventoryCheckErrorMessage) {
1426
- // stop the submit loading state
1427
- this.submitLoading = false;
1428
- return;
1429
- }
1430
- // Apply store credit if customer has selected an amount
1431
- const storeCreditAmount = storeCreditStoreGetEffectiveAmount();
1432
- if (storeCreditAmount > 0) {
1433
- const storeCreditResult = await storeCreditStoreApplyCredit();
1434
- if (!storeCreditResult.success) {
1412
+ // reset paypal error message
1413
+ paypalStore.paypalErrorMessage = null;
1414
+ // reset error state
1415
+ stripeStore.hasPaymentError = false;
1416
+ this.submitLoading = true;
1417
+ // reset inventory check message
1418
+ cartStore.inventoryCheckErrorMessage = null;
1419
+ // Attempt to change settlement currency to USD
1420
+ const baseCurrencyUpdateSuccess = await stripeStoreUpdateCheckoutSessionBaseCurrency();
1421
+ // Should not proceed to confirm payment if base currency update failed
1422
+ if (!baseCurrencyUpdateSuccess) {
1435
1423
  stripeStore.hasPaymentError = true;
1436
- stripeStore.customErrorMessage =
1437
- storeCreditResult.error ||
1438
- translate('Unable to apply store credit. Please try again.');
1424
+ stripeStore.customErrorMessage = translate('Unable to complete payment in [currency]. Please try again or select a different currency. If the issue persists, contact our support team for assistance.', {
1425
+ currency: stripeStore.checkoutSettlementCurrency,
1426
+ });
1439
1427
  this.submitLoading = false;
1440
1428
  return;
1441
1429
  }
1442
- }
1443
- // If store credit covers the full order, create order directly without payment
1444
- if (storeCreditStoreCoversFullAmount()) {
1445
1430
  try {
1446
- // Validate checkout session (landed cost ID, etc.) before creating order
1447
- const checkoutSessionStatus = await validateCheckoutSession();
1448
- if (!checkoutSessionStatus.valid) {
1431
+ // check inventory before proceeding to payment
1432
+ cartStore.inventoryCheckErrorMessage =
1433
+ await stripeStoreHandleInventoryCheck();
1434
+ }
1435
+ catch (_a) {
1436
+ // If user provide callback and it throw an exception, default to this message and stop the payment.
1437
+ cartStore.inventoryCheckErrorMessage = translate('Unable to check inventory. Please try again.');
1438
+ }
1439
+ // Don't proceed to payment if there's an error message
1440
+ if (cartStore.inventoryCheckErrorMessage) {
1441
+ // stop the submit loading state
1442
+ this.submitLoading = false;
1443
+ return;
1444
+ }
1445
+ // Apply store credit if customer has selected an amount
1446
+ const storeCreditAmount = storeCreditStoreGetEffectiveAmount();
1447
+ if (storeCreditAmount > 0) {
1448
+ const storeCreditResult = await storeCreditStoreApplyCredit();
1449
+ if (!storeCreditResult.success) {
1449
1450
  stripeStore.hasPaymentError = true;
1450
- stripeStore.customErrorMessage = checkoutSessionStatus.errorMessage;
1451
+ stripeStore.customErrorMessage =
1452
+ storeCreditResult.error ||
1453
+ translate('Unable to apply store credit. Please try again.');
1451
1454
  this.submitLoading = false;
1452
1455
  return;
1453
1456
  }
1454
- const orderResult = await storeCreditStoreCreateOrder();
1455
- if (!orderResult.success) {
1457
+ }
1458
+ // If store credit covers the full order, create order directly without payment
1459
+ if (storeCreditStoreCoversFullAmount()) {
1460
+ try {
1461
+ // Validate checkout session (landed cost ID, etc.) before creating order
1462
+ const checkoutSessionStatus = await validateCheckoutSession();
1463
+ if (!checkoutSessionStatus.valid) {
1464
+ stripeStore.hasPaymentError = true;
1465
+ stripeStore.customErrorMessage = checkoutSessionStatus.errorMessage;
1466
+ this.submitLoading = false;
1467
+ return;
1468
+ }
1469
+ const orderResult = await storeCreditStoreCreateOrder();
1470
+ if (!orderResult.success) {
1471
+ stripeStore.hasPaymentError = true;
1472
+ stripeStore.customErrorMessage =
1473
+ orderResult.error ||
1474
+ translate('Unable to place order with store credit. Please try again.');
1475
+ this.submitLoading = false;
1476
+ return;
1477
+ }
1478
+ cartStoreNextStep();
1479
+ cartStoreClearCheckoutInterval();
1480
+ }
1481
+ catch (err) {
1482
+ logError(err);
1483
+ submitAnalytics({
1484
+ event: 'zonos-checkout-payment-fail',
1485
+ metadata: {
1486
+ checkoutSessionId: storageStore.checkoutSessionId,
1487
+ },
1488
+ });
1456
1489
  stripeStore.hasPaymentError = true;
1457
- stripeStore.customErrorMessage =
1458
- orderResult.error ||
1459
- translate('Unable to place order with store credit. Please try again.');
1460
- this.submitLoading = false;
1461
- return;
1462
1490
  }
1491
+ this.submitLoading = false;
1492
+ return;
1493
+ }
1494
+ try {
1495
+ await stripeStoreConfirmPayment();
1463
1496
  cartStoreNextStep();
1497
+ // clear the checkout session timeout timer when purchase is complete
1464
1498
  cartStoreClearCheckoutInterval();
1465
1499
  }
1466
1500
  catch (err) {
@@ -1472,32 +1506,22 @@ export class ZonosCheckout {
1472
1506
  },
1473
1507
  });
1474
1508
  stripeStore.hasPaymentError = true;
1509
+ // should request inventory refund if there's an error during payment
1510
+ if (stripeStore.shouldInventoryRefund) {
1511
+ void stripeStoreHandleInventoryRefund();
1512
+ stripeStore.shouldInventoryRefund = false;
1513
+ }
1475
1514
  }
1476
1515
  this.submitLoading = false;
1477
- return;
1478
1516
  }
1479
- try {
1480
- await stripeStoreConfirmPayment();
1481
- cartStoreNextStep();
1482
- // clear the checkout session timeout timer when purchase is complete
1483
- cartStoreClearCheckoutInterval();
1484
- }
1485
- catch (err) {
1486
- logError(err);
1487
- submitAnalytics({
1488
- event: 'zonos-checkout-payment-fail',
1489
- metadata: {
1490
- checkoutSessionId: storageStore.checkoutSessionId,
1491
- },
1492
- });
1493
- stripeStore.hasPaymentError = true;
1494
- // should request inventory refund if there's an error during payment
1495
- if (stripeStore.shouldInventoryRefund) {
1496
- void stripeStoreHandleInventoryRefund();
1497
- stripeStore.shouldInventoryRefund = false;
1517
+ finally {
1518
+ // Release the consent lock on every terminal exit (success or failure)
1519
+ // so the buyer can re-toggle / retry. On success the cart advances and
1520
+ // the close-handler reset would clean this up anyway.
1521
+ if (consentWasRequired) {
1522
+ policyConsentStore.locked = false;
1498
1523
  }
1499
1524
  }
1500
- this.submitLoading = false;
1501
1525
  }
1502
1526
  async handleFinishClick() {
1503
1527
  // reset stripe store
@@ -1509,6 +1533,8 @@ export class ZonosCheckout {
1509
1533
  }
1510
1534
  // reset cart store
1511
1535
  cartStoreReset();
1536
+ // reset policy consent so the next checkout starts un-accepted
1537
+ policyConsentStoreReset();
1512
1538
  // redirect to vendor store url if this is legacy checkout.
1513
1539
  if (window.Zonos.isLegacyCheckout && window.Zonos.cartData) {
1514
1540
  const storeBaseUrl = window.Zonos.cartData.storeBaseUrl ||
@@ -1710,6 +1736,8 @@ export class ZonosCheckout {
1710
1736
  stripeStoreReset();
1711
1737
  // reset cart store
1712
1738
  cartStoreReset();
1739
+ // reset policy consent
1740
+ policyConsentStoreReset();
1713
1741
  // cleanup onChange listener
1714
1742
  this.storeUnsubscribeList.forEach(unsubscribe => unsubscribe());
1715
1743
  window.removeEventListener('message', this.handleHostedOpenWindowCallback);
@@ -0,0 +1,93 @@
1
+ :host {
2
+ font-family: var(--zonos--font-family, Inter), Inter;
3
+ display: block;
4
+ white-space: normal;
5
+ }
6
+ :host * {
7
+ font-family: var(--zonos--font-family, Inter), Inter;
8
+ }
9
+ :host img {
10
+ max-width: 100%;
11
+ }
12
+ :host dl,
13
+ :host dd,
14
+ :host h1,
15
+ :host h2,
16
+ :host h3,
17
+ :host h4,
18
+ :host h5,
19
+ :host h6,
20
+ :host hr,
21
+ :host figure,
22
+ :host p,
23
+ :host pre {
24
+ margin: 0;
25
+ }
26
+
27
+ /* All sets of variable are here */
28
+ /* smooth font rendering */
29
+ :host {
30
+ -moz-osx-font-smoothing: grayscale;
31
+ -webkit-font-smoothing: antialiased;
32
+ }
33
+
34
+ :host {
35
+ display: block;
36
+ margin-top: 20px;
37
+ }
38
+
39
+ .zonos--policy-consent {
40
+ background-color: var(--zonos-elements-gray-50);
41
+ border: 1px solid var(--zonos-elements-gray-200);
42
+ border-radius: 8px;
43
+ padding: 12px 14px;
44
+ transition: border-color 0.15s ease, background-color 0.15s ease;
45
+ }
46
+
47
+ .zonos--policy-consent:hover {
48
+ border-color: var(--zonos-elements-gray-300);
49
+ }
50
+
51
+ .zonos--policy-consent--error {
52
+ background-color: var(--zonos-elements-red-50);
53
+ border-color: var(--zonos-elements-red-400);
54
+ }
55
+
56
+ .zonos--policy-consent-label {
57
+ align-items: center;
58
+ cursor: pointer;
59
+ display: flex;
60
+ gap: 10px;
61
+ user-select: none;
62
+ }
63
+
64
+ .zonos--policy-consent-checkbox {
65
+ accent-color: var(--zonos-elements-blue-600);
66
+ cursor: pointer;
67
+ flex-shrink: 0;
68
+ height: 18px;
69
+ margin: 0;
70
+ width: 18px;
71
+ }
72
+
73
+ .zonos--policy-consent-text {
74
+ color: var(--zonos-elements-gray-800);
75
+ font-size: 14px;
76
+ line-height: 1.45;
77
+ }
78
+ .zonos--policy-consent-text a {
79
+ color: var(--zonos-elements-blue-600);
80
+ text-decoration: underline;
81
+ text-underline-offset: 2px;
82
+ }
83
+ .zonos--policy-consent-text a:hover {
84
+ color: var(--zonos-elements-blue-700);
85
+ }
86
+
87
+ .zonos--policy-consent-error {
88
+ color: var(--zonos-elements-red-600);
89
+ font-size: 13px;
90
+ line-height: 1.4;
91
+ margin-top: 8px;
92
+ padding: 0 4px;
93
+ }
@@ -0,0 +1,93 @@
1
+ import { Fragment, h, Host } from "@stencil/core";
2
+ import { getEnabledPolicies, policyConsentStore, } from "../../../store/checkout/policyConsent";
3
+ import { localizationStore } from "../../../store/hello/localization";
4
+ import { translate } from "../../../store/translationStore";
5
+ import { zonosStore } from "../../../store/zonosStore";
6
+ const POLICIES_SENTINEL = 'POLICIES';
7
+ export class ZonosPolicyConsent {
8
+ render() {
9
+ const policies = getEnabledPolicies();
10
+ if (!policies.length) {
11
+ return null;
12
+ }
13
+ // Build the locale-aware joined list ("X, Y, and Z" in English, equivalent in other locales).
14
+ const ListFormatCtor = Intl
15
+ .ListFormat;
16
+ const parts = ListFormatCtor
17
+ ? new ListFormatCtor(localizationStore.selectedLocale, {
18
+ style: 'long',
19
+ type: 'conjunction',
20
+ }).formatToParts(policies.map(p => p.name))
21
+ : // Fallback for environments without Intl.ListFormat: simple ", "-joined list.
22
+ policies.flatMap((p, idx) => idx === 0
23
+ ? [{ type: 'element', value: p.name }]
24
+ : [
25
+ { type: 'literal', value: ', ' },
26
+ { type: 'element', value: p.name },
27
+ ]);
28
+ const listNodes = parts.map(part => {
29
+ if (part.type === 'literal') {
30
+ return part.value;
31
+ }
32
+ // 'element' part — match back to the policy by name to recover its URL.
33
+ const policy = policies.find(p => p.name === part.value);
34
+ if (!policy) {
35
+ return part.value;
36
+ }
37
+ return (h("a", { href: policy.url,
38
+ // Prevent the surrounding <label> from also activating the checkbox
39
+ // when the link is clicked — `stopPropagation` alone doesn't suppress
40
+ // the label's default behavior in every browser. We explicitly open
41
+ // the URL ourselves and call `preventDefault` to swallow the click.
42
+ onClick: (event) => {
43
+ event.preventDefault();
44
+ event.stopPropagation();
45
+ window.open(policy.url, '_blank', 'noopener,noreferrer');
46
+ }, rel: "noopener noreferrer", target: "_blank" }, part.value));
47
+ });
48
+ // Use the merchant-name template when an org name is available, falling back to the generic
49
+ // phrasing otherwise so we never render a stray apostrophe (e.g. " 's Terms...").
50
+ // Reads from `zonosStore` so this works when consumed via the npm package
51
+ // (where `window.Zonos.cartSettings` may not be populated).
52
+ const merchantName = zonosStore.organizationName;
53
+ const template = merchantName
54
+ ? translate("I agree to [merchantName]'s [policies]", {
55
+ merchantName,
56
+ policies: POLICIES_SENTINEL,
57
+ })
58
+ : translate('I agree to the [policies]', {
59
+ policies: POLICIES_SENTINEL,
60
+ });
61
+ const [before = '', after = ''] = template.split(POLICIES_SENTINEL);
62
+ const showError = policyConsentStore.showError;
63
+ const errorId = 'zonos--policy-consent-error';
64
+ return (h(Host, { class: "zonos--policy-consent-host" }, h("div", { class: `zonos--policy-consent${showError ? ' zonos--policy-consent--error' : ''}` }, h("label", { class: "zonos--policy-consent-label" }, h("input", { "aria-describedby": showError ? errorId : undefined, "aria-invalid": showError ? 'true' : 'false', checked: policyConsentStore.accepted, class: "zonos--policy-consent-checkbox", disabled: policyConsentStore.locked, onChange: (event) => {
65
+ const isChecked = event.target.checked;
66
+ policyConsentStore.accepted = isChecked;
67
+ if (isChecked) {
68
+ // Snapshot the timestamp at the moment of acceptance so later
69
+ // session-metadata updates don't drift it forward.
70
+ if (!policyConsentStore.acceptedAt) {
71
+ policyConsentStore.acceptedAt = new Date().toISOString();
72
+ }
73
+ policyConsentStore.showError = false;
74
+ }
75
+ else {
76
+ // If the buyer un-checks, the prior acceptance is no longer valid.
77
+ policyConsentStore.acceptedAt = null;
78
+ }
79
+ }, type: "checkbox" }), h("span", { class: "zonos--policy-consent-text" }, before, h(Fragment, null, listNodes), after))), showError && (h("div", { class: "zonos--policy-consent-error", id: errorId, role: "alert" }, translate('You must accept the policies to place this order')))));
80
+ }
81
+ static get is() { return "zonos-policy-consent"; }
82
+ static get encapsulation() { return "shadow"; }
83
+ static get originalStyleUrls() {
84
+ return {
85
+ "$": ["zonos-policy-consent.scss"]
86
+ };
87
+ }
88
+ static get styleUrls() {
89
+ return {
90
+ "$": ["zonos-policy-consent.css"]
91
+ };
92
+ }
93
+ }
@@ -259,7 +259,7 @@ export class ZonosStripePhoneInput {
259
259
  "mutable": false,
260
260
  "complexType": {
261
261
  "original": "GenericZonosSettings['countryFields'] | null",
262
- "resolved": "null | undefined | { CC: CountryFields; TO: CountryFields; AD: CountryFields; AE: CountryFields; AF: CountryFields; AG: CountryFields; AI: CountryFields; AL: CountryFields; AM: CountryFields; AO: CountryFields; AQ: CountryFields; AR: CountryFields; AS: CountryFields; AT: CountryFields; AU: CountryFields; AW: CountryFields; AX: CountryFields; AZ: CountryFields; BA: CountryFields; BB: CountryFields; BD: CountryFields; BE: CountryFields; BF: CountryFields; BG: CountryFields; BH: CountryFields; BI: CountryFields; BJ: CountryFields; BL: CountryFields; BM: CountryFields; BN: CountryFields; BO: CountryFields; BQ: CountryFields; BR: CountryFields; BS: CountryFields; BT: CountryFields; BV: CountryFields; BW: CountryFields; BY: CountryFields; BZ: CountryFields; CA: CountryFields; CD: CountryFields; CF: CountryFields; CG: CountryFields; CH: CountryFields; CI: CountryFields; CK: CountryFields; CL: CountryFields; CM: CountryFields; CN: CountryFields; CO: CountryFields; CR: CountryFields; CU: CountryFields; CV: CountryFields; CW: CountryFields; CX: CountryFields; CY: CountryFields; CZ: CountryFields; DE: CountryFields; DJ: CountryFields; DK: CountryFields; DM: CountryFields; DO: CountryFields; DZ: CountryFields; EC: CountryFields; EE: CountryFields; EG: CountryFields; EH: CountryFields; ER: CountryFields; ES: CountryFields; ET: CountryFields; FI: CountryFields; FJ: CountryFields; FK: CountryFields; FM: CountryFields; FO: CountryFields; FR: CountryFields; GA: CountryFields; GB: CountryFields; GD: CountryFields; GE: CountryFields; GF: CountryFields; GG: CountryFields; GH: CountryFields; GI: CountryFields; GL: CountryFields; GM: CountryFields; GN: CountryFields; GP: CountryFields; GQ: CountryFields; GR: CountryFields; GS: CountryFields; GT: CountryFields; GU: CountryFields; GW: CountryFields; GY: CountryFields; HK: CountryFields; HM: CountryFields; HN: CountryFields; HR: CountryFields; HT: CountryFields; HU: CountryFields; IC: CountryFields; ID: CountryFields; IE: CountryFields; IL: CountryFields; IM: CountryFields; IN: CountryFields; IO: CountryFields; IQ: CountryFields; IR: CountryFields; IS: CountryFields; IT: CountryFields; JE: CountryFields; JM: CountryFields; JO: CountryFields; JP: CountryFields; KE: CountryFields; KG: CountryFields; KH: CountryFields; KI: CountryFields; KM: CountryFields; KN: CountryFields; KP: CountryFields; KR: CountryFields; KW: CountryFields; KY: CountryFields; KZ: CountryFields; LA: CountryFields; LB: CountryFields; LC: CountryFields; LI: CountryFields; LK: CountryFields; LR: CountryFields; LS: CountryFields; LT: CountryFields; LU: CountryFields; LV: CountryFields; LY: CountryFields; MA: CountryFields; MC: CountryFields; MD: CountryFields; ME: CountryFields; MF: CountryFields; MG: CountryFields; MH: CountryFields; MK: CountryFields; ML: CountryFields; MM: CountryFields; MN: CountryFields; MO: CountryFields; MP: CountryFields; MQ: CountryFields; MR: CountryFields; MS: CountryFields; MT: CountryFields; MU: CountryFields; MV: CountryFields; MW: CountryFields; MX: CountryFields; MY: CountryFields; MZ: CountryFields; NA: CountryFields; NC: CountryFields; NE: CountryFields; NF: CountryFields; NG: CountryFields; NI: CountryFields; NL: CountryFields; NO: CountryFields; NP: CountryFields; NR: CountryFields; NU: CountryFields; NZ: CountryFields; OM: CountryFields; PA: CountryFields; PE: CountryFields; PF: CountryFields; PG: CountryFields; PH: CountryFields; PK: CountryFields; PL: CountryFields; PM: CountryFields; PN: CountryFields; PR: CountryFields; PS: CountryFields; PT: CountryFields; PW: CountryFields; PY: CountryFields; QA: CountryFields; RE: CountryFields; RO: CountryFields; RS: CountryFields; RU: CountryFields; RW: CountryFields; SA: CountryFields; SB: CountryFields; SC: CountryFields; SD: CountryFields; SE: CountryFields; SG: CountryFields; SH: CountryFields; SI: CountryFields; SJ: CountryFields; SK: CountryFields; SL: CountryFields; SM: CountryFields; SN: CountryFields; SO: CountryFields; SR: CountryFields; SS: CountryFields; ST: CountryFields; SV: CountryFields; SX: CountryFields; SY: CountryFields; SZ: CountryFields; TC: CountryFields; TD: CountryFields; TF: CountryFields; TG: CountryFields; TH: CountryFields; TJ: CountryFields; TK: CountryFields; TL: CountryFields; TM: CountryFields; TN: CountryFields; TR: CountryFields; TT: CountryFields; TV: CountryFields; TW: CountryFields; TZ: CountryFields; UA: CountryFields; UG: CountryFields; UM: CountryFields; US: CountryFields; UY: CountryFields; UZ: CountryFields; VA: CountryFields; VC: CountryFields; VE: CountryFields; VG: CountryFields; VI: CountryFields; VN: CountryFields; VU: CountryFields; WF: CountryFields; WS: CountryFields; YE: CountryFields; YT: CountryFields; ZA: CountryFields; ZM: CountryFields; ZW: CountryFields; }",
262
+ "resolved": "null | undefined | { AQ: CountryFields; AX: CountryFields; CC: CountryFields; ER: CountryFields; PF: CountryFields; SO: CountryFields; SX: CountryFields; TO: CountryFields; AD: CountryFields; AE: CountryFields; AF: CountryFields; AG: CountryFields; AI: CountryFields; AL: CountryFields; AM: CountryFields; AO: CountryFields; AR: CountryFields; AS: CountryFields; AT: CountryFields; AU: CountryFields; AW: CountryFields; AZ: CountryFields; BA: CountryFields; BB: CountryFields; BD: CountryFields; BE: CountryFields; BF: CountryFields; BG: CountryFields; BH: CountryFields; BI: CountryFields; BJ: CountryFields; BL: CountryFields; BM: CountryFields; BN: CountryFields; BO: CountryFields; BQ: CountryFields; BR: CountryFields; BS: CountryFields; BT: CountryFields; BV: CountryFields; BW: CountryFields; BY: CountryFields; BZ: CountryFields; CA: CountryFields; CD: CountryFields; CF: CountryFields; CG: CountryFields; CH: CountryFields; CI: CountryFields; CK: CountryFields; CL: CountryFields; CM: CountryFields; CN: CountryFields; CO: CountryFields; CR: CountryFields; CU: CountryFields; CV: CountryFields; CW: CountryFields; CX: CountryFields; CY: CountryFields; CZ: CountryFields; DE: CountryFields; DJ: CountryFields; DK: CountryFields; DM: CountryFields; DO: CountryFields; DZ: CountryFields; EC: CountryFields; EE: CountryFields; EG: CountryFields; EH: CountryFields; ES: CountryFields; ET: CountryFields; FI: CountryFields; FJ: CountryFields; FK: CountryFields; FM: CountryFields; FO: CountryFields; FR: CountryFields; GA: CountryFields; GB: CountryFields; GD: CountryFields; GE: CountryFields; GF: CountryFields; GG: CountryFields; GH: CountryFields; GI: CountryFields; GL: CountryFields; GM: CountryFields; GN: CountryFields; GP: CountryFields; GQ: CountryFields; GR: CountryFields; GS: CountryFields; GT: CountryFields; GU: CountryFields; GW: CountryFields; GY: CountryFields; HK: CountryFields; HM: CountryFields; HN: CountryFields; HR: CountryFields; HT: CountryFields; HU: CountryFields; IC: CountryFields; ID: CountryFields; IE: CountryFields; IL: CountryFields; IM: CountryFields; IN: CountryFields; IO: CountryFields; IQ: CountryFields; IR: CountryFields; IS: CountryFields; IT: CountryFields; JE: CountryFields; JM: CountryFields; JO: CountryFields; JP: CountryFields; KE: CountryFields; KG: CountryFields; KH: CountryFields; KI: CountryFields; KM: CountryFields; KN: CountryFields; KP: CountryFields; KR: CountryFields; KW: CountryFields; KY: CountryFields; KZ: CountryFields; LA: CountryFields; LB: CountryFields; LC: CountryFields; LI: CountryFields; LK: CountryFields; LR: CountryFields; LS: CountryFields; LT: CountryFields; LU: CountryFields; LV: CountryFields; LY: CountryFields; MA: CountryFields; MC: CountryFields; MD: CountryFields; ME: CountryFields; MF: CountryFields; MG: CountryFields; MH: CountryFields; MK: CountryFields; ML: CountryFields; MM: CountryFields; MN: CountryFields; MO: CountryFields; MP: CountryFields; MQ: CountryFields; MR: CountryFields; MS: CountryFields; MT: CountryFields; MU: CountryFields; MV: CountryFields; MW: CountryFields; MX: CountryFields; MY: CountryFields; MZ: CountryFields; NA: CountryFields; NC: CountryFields; NE: CountryFields; NF: CountryFields; NG: CountryFields; NI: CountryFields; NL: CountryFields; NO: CountryFields; NP: CountryFields; NR: CountryFields; NU: CountryFields; NZ: CountryFields; OM: CountryFields; PA: CountryFields; PE: CountryFields; PG: CountryFields; PH: CountryFields; PK: CountryFields; PL: CountryFields; PM: CountryFields; PN: CountryFields; PR: CountryFields; PS: CountryFields; PT: CountryFields; PW: CountryFields; PY: CountryFields; QA: CountryFields; RE: CountryFields; RO: CountryFields; RS: CountryFields; RU: CountryFields; RW: CountryFields; SA: CountryFields; SB: CountryFields; SC: CountryFields; SD: CountryFields; SE: CountryFields; SG: CountryFields; SH: CountryFields; SI: CountryFields; SJ: CountryFields; SK: CountryFields; SL: CountryFields; SM: CountryFields; SN: CountryFields; SR: CountryFields; SS: CountryFields; ST: CountryFields; SV: CountryFields; SY: CountryFields; SZ: CountryFields; TC: CountryFields; TD: CountryFields; TF: CountryFields; TG: CountryFields; TH: CountryFields; TJ: CountryFields; TK: CountryFields; TL: CountryFields; TM: CountryFields; TN: CountryFields; TR: CountryFields; TT: CountryFields; TV: CountryFields; TW: CountryFields; TZ: CountryFields; UA: CountryFields; UG: CountryFields; UM: CountryFields; US: CountryFields; UY: CountryFields; UZ: CountryFields; VA: CountryFields; VC: CountryFields; VE: CountryFields; VG: CountryFields; VI: CountryFields; VN: CountryFields; VU: CountryFields; WF: CountryFields; WS: CountryFields; YE: CountryFields; YT: CountryFields; ZA: CountryFields; ZM: CountryFields; ZW: CountryFields; }",
263
263
  "references": {
264
264
  "GenericZonosSettings": {
265
265
  "location": "import",
@@ -7,6 +7,7 @@ import { getZonosSettings } from "../utils/api/getZonosSettings";
7
7
  import { initCheckout } from "../utils/checkout/initCheckout";
8
8
  import { initCollect } from "../utils/checkout/initCollect";
9
9
  import { initInvoice } from "../utils/checkout/initInvoice";
10
+ import { injectDomesticElementHideStyle } from "../utils/checkout/injectDomesticElementHideStyle";
10
11
  import { handleFetch } from "../utils/handleFetch";
11
12
  import { initHello } from "../utils/hello/initHello";
12
13
  import { CheckoutAddressService } from "../utils/iframe/CheckoutAddressService";
@@ -234,6 +235,9 @@ export class ZonosController {
234
235
  zonosSettings: json,
235
236
  });
236
237
  zonosStore.zonosMode = zonosMode;
238
+ // Inject the merchant's domestic-element hide style now that
239
+ // checkoutSettings have been merged into the store.
240
+ injectDomesticElementHideStyle(zonosStore.checkoutSettings.domesticElementSelector);
237
241
  // setup google font after store loaded
238
242
  void this.setupGoogleFont();
239
243
  if (zonosStore.helloSettings.visibilityStatus === 'DISABLED') {
@@ -331,7 +335,7 @@ export class ZonosController {
331
335
  zonosStore.organizationName = organizationName;
332
336
  }
333
337
  render() {
334
- return h(Host, { key: '681a81baa59bfe91e9fe0927aee49fa720fcb35b', class: "zonos--elements" });
338
+ return h(Host, { key: 'fe1f262a2bfbf4f6f39c0f23783c132bde8d2dd7', class: "zonos--elements" });
335
339
  }
336
340
  static get is() { return "zonos-controller"; }
337
341
  static get encapsulation() { return "shadow"; }
@@ -602,7 +606,7 @@ export class ZonosController {
602
606
  "signature": "(countryCode: CountryCode) => Promise<void>",
603
607
  "parameters": [{
604
608
  "name": "countryCode",
605
- "type": "\"CC\" | \"TO\" | \"AD\" | \"AE\" | \"AF\" | \"AG\" | \"AI\" | \"AL\" | \"AM\" | \"AO\" | \"AQ\" | \"AR\" | \"AS\" | \"AT\" | \"AU\" | \"AW\" | \"AX\" | \"AZ\" | \"BA\" | \"BB\" | \"BD\" | \"BE\" | \"BF\" | \"BG\" | \"BH\" | \"BI\" | \"BJ\" | \"BL\" | \"BM\" | \"BN\" | \"BO\" | \"BQ\" | \"BR\" | \"BS\" | \"BT\" | \"BV\" | \"BW\" | \"BY\" | \"BZ\" | \"CA\" | \"CD\" | \"CF\" | \"CG\" | \"CH\" | \"CI\" | \"CK\" | \"CL\" | \"CM\" | \"CN\" | \"CO\" | \"CR\" | \"CU\" | \"CV\" | \"CW\" | \"CX\" | \"CY\" | \"CZ\" | \"DE\" | \"DJ\" | \"DK\" | \"DM\" | \"DO\" | \"DZ\" | \"EC\" | \"EE\" | \"EG\" | \"EH\" | \"ER\" | \"ES\" | \"ET\" | \"FI\" | \"FJ\" | \"FK\" | \"FM\" | \"FO\" | \"FR\" | \"GA\" | \"GB\" | \"GD\" | \"GE\" | \"GF\" | \"GG\" | \"GH\" | \"GI\" | \"GL\" | \"GM\" | \"GN\" | \"GP\" | \"GQ\" | \"GR\" | \"GS\" | \"GT\" | \"GU\" | \"GW\" | \"GY\" | \"HK\" | \"HM\" | \"HN\" | \"HR\" | \"HT\" | \"HU\" | \"IC\" | \"ID\" | \"IE\" | \"IL\" | \"IM\" | \"IN\" | \"IO\" | \"IQ\" | \"IR\" | \"IS\" | \"IT\" | \"JE\" | \"JM\" | \"JO\" | \"JP\" | \"KE\" | \"KG\" | \"KH\" | \"KI\" | \"KM\" | \"KN\" | \"KP\" | \"KR\" | \"KW\" | \"KY\" | \"KZ\" | \"LA\" | \"LB\" | \"LC\" | \"LI\" | \"LK\" | \"LR\" | \"LS\" | \"LT\" | \"LU\" | \"LV\" | \"LY\" | \"MA\" | \"MC\" | \"MD\" | \"ME\" | \"MF\" | \"MG\" | \"MH\" | \"MK\" | \"ML\" | \"MM\" | \"MN\" | \"MO\" | \"MP\" | \"MQ\" | \"MR\" | \"MS\" | \"MT\" | \"MU\" | \"MV\" | \"MW\" | \"MX\" | \"MY\" | \"MZ\" | \"NA\" | \"NC\" | \"NE\" | \"NF\" | \"NG\" | \"NI\" | \"NL\" | \"NO\" | \"NP\" | \"NR\" | \"NU\" | \"NZ\" | \"OM\" | \"PA\" | \"PE\" | \"PF\" | \"PG\" | \"PH\" | \"PK\" | \"PL\" | \"PM\" | \"PN\" | \"PR\" | \"PS\" | \"PT\" | \"PW\" | \"PY\" | \"QA\" | \"RE\" | \"RO\" | \"RS\" | \"RU\" | \"RW\" | \"SA\" | \"SB\" | \"SC\" | \"SD\" | \"SE\" | \"SG\" | \"SH\" | \"SI\" | \"SJ\" | \"SK\" | \"SL\" | \"SM\" | \"SN\" | \"SO\" | \"SR\" | \"SS\" | \"ST\" | \"SV\" | \"SX\" | \"SY\" | \"SZ\" | \"TC\" | \"TD\" | \"TF\" | \"TG\" | \"TH\" | \"TJ\" | \"TK\" | \"TL\" | \"TM\" | \"TN\" | \"TR\" | \"TT\" | \"TV\" | \"TW\" | \"TZ\" | \"UA\" | \"UG\" | \"UM\" | \"US\" | \"UY\" | \"UZ\" | \"VA\" | \"VC\" | \"VE\" | \"VG\" | \"VI\" | \"VN\" | \"VU\" | \"WF\" | \"WS\" | \"YE\" | \"YT\" | \"ZA\" | \"ZM\" | \"ZW\"",
609
+ "type": "\"AQ\" | \"AX\" | \"CC\" | \"ER\" | \"PF\" | \"SO\" | \"SX\" | \"TO\" | \"AD\" | \"AE\" | \"AF\" | \"AG\" | \"AI\" | \"AL\" | \"AM\" | \"AO\" | \"AR\" | \"AS\" | \"AT\" | \"AU\" | \"AW\" | \"AZ\" | \"BA\" | \"BB\" | \"BD\" | \"BE\" | \"BF\" | \"BG\" | \"BH\" | \"BI\" | \"BJ\" | \"BL\" | \"BM\" | \"BN\" | \"BO\" | \"BQ\" | \"BR\" | \"BS\" | \"BT\" | \"BV\" | \"BW\" | \"BY\" | \"BZ\" | \"CA\" | \"CD\" | \"CF\" | \"CG\" | \"CH\" | \"CI\" | \"CK\" | \"CL\" | \"CM\" | \"CN\" | \"CO\" | \"CR\" | \"CU\" | \"CV\" | \"CW\" | \"CX\" | \"CY\" | \"CZ\" | \"DE\" | \"DJ\" | \"DK\" | \"DM\" | \"DO\" | \"DZ\" | \"EC\" | \"EE\" | \"EG\" | \"EH\" | \"ES\" | \"ET\" | \"FI\" | \"FJ\" | \"FK\" | \"FM\" | \"FO\" | \"FR\" | \"GA\" | \"GB\" | \"GD\" | \"GE\" | \"GF\" | \"GG\" | \"GH\" | \"GI\" | \"GL\" | \"GM\" | \"GN\" | \"GP\" | \"GQ\" | \"GR\" | \"GS\" | \"GT\" | \"GU\" | \"GW\" | \"GY\" | \"HK\" | \"HM\" | \"HN\" | \"HR\" | \"HT\" | \"HU\" | \"IC\" | \"ID\" | \"IE\" | \"IL\" | \"IM\" | \"IN\" | \"IO\" | \"IQ\" | \"IR\" | \"IS\" | \"IT\" | \"JE\" | \"JM\" | \"JO\" | \"JP\" | \"KE\" | \"KG\" | \"KH\" | \"KI\" | \"KM\" | \"KN\" | \"KP\" | \"KR\" | \"KW\" | \"KY\" | \"KZ\" | \"LA\" | \"LB\" | \"LC\" | \"LI\" | \"LK\" | \"LR\" | \"LS\" | \"LT\" | \"LU\" | \"LV\" | \"LY\" | \"MA\" | \"MC\" | \"MD\" | \"ME\" | \"MF\" | \"MG\" | \"MH\" | \"MK\" | \"ML\" | \"MM\" | \"MN\" | \"MO\" | \"MP\" | \"MQ\" | \"MR\" | \"MS\" | \"MT\" | \"MU\" | \"MV\" | \"MW\" | \"MX\" | \"MY\" | \"MZ\" | \"NA\" | \"NC\" | \"NE\" | \"NF\" | \"NG\" | \"NI\" | \"NL\" | \"NO\" | \"NP\" | \"NR\" | \"NU\" | \"NZ\" | \"OM\" | \"PA\" | \"PE\" | \"PG\" | \"PH\" | \"PK\" | \"PL\" | \"PM\" | \"PN\" | \"PR\" | \"PS\" | \"PT\" | \"PW\" | \"PY\" | \"QA\" | \"RE\" | \"RO\" | \"RS\" | \"RU\" | \"RW\" | \"SA\" | \"SB\" | \"SC\" | \"SD\" | \"SE\" | \"SG\" | \"SH\" | \"SI\" | \"SJ\" | \"SK\" | \"SL\" | \"SM\" | \"SN\" | \"SR\" | \"SS\" | \"ST\" | \"SV\" | \"SY\" | \"SZ\" | \"TC\" | \"TD\" | \"TF\" | \"TG\" | \"TH\" | \"TJ\" | \"TK\" | \"TL\" | \"TM\" | \"TN\" | \"TR\" | \"TT\" | \"TV\" | \"TW\" | \"TZ\" | \"UA\" | \"UG\" | \"UM\" | \"US\" | \"UY\" | \"UZ\" | \"VA\" | \"VC\" | \"VE\" | \"VG\" | \"VI\" | \"VN\" | \"VU\" | \"WF\" | \"WS\" | \"YE\" | \"YT\" | \"ZA\" | \"ZM\" | \"ZW\"",
606
610
  "docs": ""
607
611
  }],
608
612
  "references": {