@zonos/elements 1.3.267 → 1.3.269

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 (348) hide show
  1. package/dist/cjs/{cart-ed2de167.js → cart-87fbbb5a.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-bf31fbdb.js → hasInclusivePrice-c86ed1f5.js} +1 -1
  6. package/dist/cjs/index.cjs.js +7 -7
  7. package/dist/cjs/{invoice-542c23e7.js → invoice-952f32c4.js} +3 -3
  8. package/dist/cjs/{isCollectMobileTablet-fe8149a5.js → isCollectMobileTablet-1cb21c59.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-66d378ab.js → localization-a969f224.js} +660 -3
  13. package/dist/cjs/{paypal-d8282578.js → paypal-cfe1e8e9.js} +60 -18
  14. package/dist/cjs/{placeTestOrder-0a4b9dd7.js → placeTestOrder-613878fb.js} +2 -2
  15. package/dist/cjs/{renderCheckoutCurrency-ac9083d9.js → renderCheckoutCurrency-5a333d29.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 +124 -154
  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 +6 -6
  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 +4 -47
  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/hello/zonos-hello/zonos-hello.js +2 -44
  57. package/dist/collection/components/store/checkout/paypal.js +57 -14
  58. package/dist/collection/components/store/checkout/policyConsent.js +58 -0
  59. package/dist/collection/components/store/checkout/stripe.js +66 -0
  60. package/dist/collection/components/store/hello/localization.js +12 -1
  61. package/dist/collection/components/store/translationStore/strings.arabic.js +21 -0
  62. package/dist/collection/components/store/translationStore/strings.base.js +21 -0
  63. package/dist/collection/components/store/translationStore/strings.chinese.js +21 -0
  64. package/dist/collection/components/store/translationStore/strings.danish.js +21 -0
  65. package/dist/collection/components/store/translationStore/strings.dutch.js +21 -0
  66. package/dist/collection/components/store/translationStore/strings.french.js +21 -0
  67. package/dist/collection/components/store/translationStore/strings.german.js +21 -0
  68. package/dist/collection/components/store/translationStore/strings.hebrew.js +21 -0
  69. package/dist/collection/components/store/translationStore/strings.indonesian.js +21 -0
  70. package/dist/collection/components/store/translationStore/strings.italian.js +21 -0
  71. package/dist/collection/components/store/translationStore/strings.japanese.js +21 -0
  72. package/dist/collection/components/store/translationStore/strings.korean.js +21 -0
  73. package/dist/collection/components/store/translationStore/strings.norwegian.js +21 -0
  74. package/dist/collection/components/store/translationStore/strings.polish.js +21 -0
  75. package/dist/collection/components/store/translationStore/strings.portuguese.js +21 -0
  76. package/dist/collection/components/store/translationStore/strings.russian.js +21 -0
  77. package/dist/collection/components/store/translationStore/strings.spanish.js +21 -0
  78. package/dist/collection/components/store/translationStore/strings.swedish.js +21 -0
  79. package/dist/collection/components/store/translationStore/strings.turkish.js +21 -0
  80. package/dist/collection/components/store/translationStore/strings.vietnamese.js +21 -0
  81. package/dist/collection/components/store/zonosStore.js +1 -0
  82. package/dist/collection/components/utils/checkout/bigcommerceStorefrontApi.js +28 -0
  83. package/dist/collection/components/utils/checkout/removeBigcommerceCartShipping.js +83 -0
  84. package/dist/collection/components/utils/hello/shouldShowHelloWidget.js +61 -0
  85. package/dist/collection/types/generated/graphql.internal.types.js +64 -0
  86. package/dist/collection/utils/toggleBigcommerceNativeCurrencySelector.js +2 -1
  87. package/dist/esm/{cart-49082718.js → cart-663ef7d5.js} +125 -5
  88. package/dist/esm/{debounce-ab526ca0.js → debounce-58e4ff3e.js} +1 -1
  89. package/dist/esm/{getBorderRadius-98c64be8.js → getBorderRadius-d23f47a6.js} +1 -1
  90. package/dist/esm/{getContrastColor-0aa643c1.js → getContrastColor-f0bd5b65.js} +2 -2
  91. package/dist/esm/{hasInclusivePrice-2323d514.js → hasInclusivePrice-f8bd057d.js} +1 -1
  92. package/dist/esm/index.js +7 -7
  93. package/dist/esm/{invoice-16c688e7.js → invoice-db7211a6.js} +3 -3
  94. package/dist/esm/{isCollectMobileTablet-910aea2e.js → isCollectMobileTablet-24c912b1.js} +3 -3
  95. package/dist/esm/{isContrastColor-6bad285e.js → isContrastColor-fbddacb6.js} +1 -1
  96. package/dist/esm/{isDarkColor-0a8453e7.js → isDarkColor-566f04c5.js} +1 -1
  97. package/dist/esm/loader.js +1 -1
  98. package/dist/esm/{localization-33a9f7ff.js → localization-dc19e8bb.js} +657 -4
  99. package/dist/esm/{paypal-2e9aa4ba.js → paypal-cdbe69ef.js} +60 -18
  100. package/dist/esm/{placeTestOrder-35c9b460.js → placeTestOrder-ba67e208.js} +2 -2
  101. package/dist/esm/{renderCheckoutCurrency-b84a6da7.js → renderCheckoutCurrency-fb1cbd28.js} +2 -2
  102. package/dist/esm/{submitGtag-ae9d5d91.js → submitGtag-c7ea1f2a.js} +1 -1
  103. package/dist/esm/{throttle-882b1f47.js → throttle-f09d0659.js} +2 -2
  104. package/dist/esm/{updateCheckoutSessionAttributes-da7fdd37.js → updateCheckoutSessionAttributes-40e301a4.js} +1 -1
  105. package/dist/esm/zonos-address-display_8.entry.js +7 -7
  106. package/dist/esm/zonos-address_4.entry.js +7 -7
  107. package/dist/esm/zonos-badge.entry.js +1 -1
  108. package/dist/esm/zonos-banner.entry.js +1 -1
  109. package/dist/esm/zonos-button_3.entry.js +3 -3
  110. package/dist/esm/zonos-card_5.entry.js +8 -8
  111. package/dist/esm/zonos-cart-items_12.entry.js +94 -27
  112. package/dist/esm/zonos-checkbox_2.entry.js +3 -3
  113. package/dist/esm/zonos-checkout.entry.js +113 -143
  114. package/dist/esm/zonos-collapse.entry.js +1 -1
  115. package/dist/esm/zonos-collect-cart-items_3.entry.js +5 -5
  116. package/dist/esm/zonos-collect-finish_6.entry.js +11 -11
  117. package/dist/esm/zonos-collect.entry.js +9 -9
  118. package/dist/esm/zonos-controller.entry.js +6 -6
  119. package/dist/esm/zonos-country-flag.entry.js +2 -2
  120. package/dist/esm/zonos-country-select_4.entry.js +3 -3
  121. package/dist/esm/zonos-elements.js +1 -1
  122. package/dist/esm/zonos-hello-dialog.entry.js +3 -3
  123. package/dist/esm/zonos-hello.entry.js +4 -47
  124. package/dist/esm/zonos-input.entry.js +2 -2
  125. package/dist/esm/zonos-invoice-cart-items_2.entry.js +7 -7
  126. package/dist/esm/zonos-invoice-finish_5.entry.js +11 -11
  127. package/dist/esm/zonos-invoice.entry.js +9 -9
  128. package/dist/esm/zonos-language-select_2.entry.js +2 -2
  129. package/dist/esm/zonos-logo.entry.js +1 -1
  130. package/dist/esm/{zonos-store-credit.entry.js → zonos-policy-consent_2.entry.js} +91 -7
  131. package/dist/esm/zonos-shipping-rich-radio.entry.js +5 -5
  132. package/dist/esm/zonos-stripe-input.entry.js +3 -3
  133. package/dist/esm/zonos-text.entry.js +1 -1
  134. package/dist/esm/zonos-v-stack.entry.js +1 -1
  135. package/dist/esm/{zonosStore-9662b071.js → zonosStore-8e19daff.js} +1 -0
  136. package/dist/esm-es5/cart-663ef7d5.js +1 -0
  137. package/dist/esm-es5/{debounce-ab526ca0.js → debounce-58e4ff3e.js} +1 -1
  138. package/dist/esm-es5/{getBorderRadius-98c64be8.js → getBorderRadius-d23f47a6.js} +1 -1
  139. package/dist/esm-es5/{getContrastColor-0aa643c1.js → getContrastColor-f0bd5b65.js} +1 -1
  140. package/dist/esm-es5/{hasInclusivePrice-2323d514.js → hasInclusivePrice-f8bd057d.js} +1 -1
  141. package/dist/esm-es5/index.js +1 -1
  142. package/dist/esm-es5/{invoice-16c688e7.js → invoice-db7211a6.js} +1 -1
  143. package/dist/esm-es5/{isCollectMobileTablet-910aea2e.js → isCollectMobileTablet-24c912b1.js} +1 -1
  144. package/dist/esm-es5/{isContrastColor-6bad285e.js → isContrastColor-fbddacb6.js} +1 -1
  145. package/dist/esm-es5/{isDarkColor-0a8453e7.js → isDarkColor-566f04c5.js} +1 -1
  146. package/dist/esm-es5/loader.js +1 -1
  147. package/dist/esm-es5/localization-dc19e8bb.js +1 -0
  148. package/dist/esm-es5/{paypal-2e9aa4ba.js → paypal-cdbe69ef.js} +2 -2
  149. package/dist/esm-es5/{placeTestOrder-35c9b460.js → placeTestOrder-ba67e208.js} +1 -1
  150. package/dist/esm-es5/{renderCheckoutCurrency-b84a6da7.js → renderCheckoutCurrency-fb1cbd28.js} +1 -1
  151. package/dist/esm-es5/{submitGtag-ae9d5d91.js → submitGtag-c7ea1f2a.js} +1 -1
  152. package/dist/esm-es5/throttle-f09d0659.js +1 -0
  153. package/dist/esm-es5/{updateCheckoutSessionAttributes-da7fdd37.js → updateCheckoutSessionAttributes-40e301a4.js} +1 -1
  154. package/dist/esm-es5/zonos-address-display_8.entry.js +1 -1
  155. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  156. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  157. package/dist/esm-es5/zonos-banner.entry.js +1 -1
  158. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  159. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  160. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  161. package/dist/esm-es5/zonos-checkbox_2.entry.js +1 -1
  162. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  163. package/dist/esm-es5/zonos-collapse.entry.js +1 -1
  164. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  165. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  166. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  167. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  168. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  169. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  170. package/dist/esm-es5/zonos-elements.js +1 -1
  171. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  172. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  173. package/dist/esm-es5/zonos-input.entry.js +1 -1
  174. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
  175. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  176. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  177. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  178. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  179. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -0
  180. package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
  181. package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
  182. package/dist/esm-es5/zonos-text.entry.js +1 -1
  183. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  184. package/dist/esm-es5/{zonosStore-9662b071.js → zonosStore-8e19daff.js} +1 -1
  185. package/dist/scripts/index.d.ts +80 -6
  186. package/dist/scripts/index.js +1 -1
  187. package/dist/scripts/loadZonos.js +1 -1
  188. package/dist/scripts/zonos.js +1 -1
  189. package/dist/types/components/checkout/zonos-checkout/zonos-policy-consent/zonos-policy-consent.d.ts +3 -0
  190. package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +0 -1
  191. package/dist/types/components/store/checkout/policyConsent.d.ts +41 -0
  192. package/dist/types/components/store/checkout/stripe.d.ts +13 -0
  193. package/dist/types/components/store/translationStore/strings.arabic.d.ts +21 -0
  194. package/dist/types/components/store/translationStore/strings.base.d.ts +21 -0
  195. package/dist/types/components/store/translationStore/strings.chinese.d.ts +21 -0
  196. package/dist/types/components/store/translationStore/strings.danish.d.ts +21 -0
  197. package/dist/types/components/store/translationStore/strings.dutch.d.ts +21 -0
  198. package/dist/types/components/store/translationStore/strings.french.d.ts +21 -0
  199. package/dist/types/components/store/translationStore/strings.german.d.ts +21 -0
  200. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +21 -0
  201. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +21 -0
  202. package/dist/types/components/store/translationStore/strings.italian.d.ts +21 -0
  203. package/dist/types/components/store/translationStore/strings.japanese.d.ts +21 -0
  204. package/dist/types/components/store/translationStore/strings.korean.d.ts +21 -0
  205. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +21 -0
  206. package/dist/types/components/store/translationStore/strings.polish.d.ts +21 -0
  207. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +21 -0
  208. package/dist/types/components/store/translationStore/strings.russian.d.ts +21 -0
  209. package/dist/types/components/store/translationStore/strings.spanish.d.ts +21 -0
  210. package/dist/types/components/store/translationStore/strings.swedish.d.ts +21 -0
  211. package/dist/types/components/store/translationStore/strings.turkish.d.ts +21 -0
  212. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +21 -0
  213. package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
  214. package/dist/types/components/utils/checkout/bigcommerceStorefrontApi.d.ts +9 -0
  215. package/dist/types/components/utils/checkout/removeBigcommerceCartShipping.d.ts +18 -0
  216. package/dist/types/components/utils/hello/shouldShowHelloWidget.d.ts +16 -0
  217. package/dist/types/components.d.ts +13 -0
  218. package/dist/types/scripts/cart/_setupCartDataWithSettings.d.ts +23 -6
  219. package/dist/types/types/checkout/CheckoutConfig.d.ts +23 -0
  220. package/dist/types/types/generated/graphql.frontend.types.d.ts +1 -1
  221. package/dist/types/types/generated/graphql.frontend.types.ts +1 -1
  222. package/dist/types/types/generated/graphql.internal.types.d.ts +170 -23
  223. package/dist/types/types/generated/graphql.internal.types.ts +152 -23
  224. package/dist/zonos-elements/index.esm.js +1 -1
  225. package/dist/zonos-elements/{p-90c932fd.entry.js → p-049fc407.entry.js} +1 -1
  226. package/dist/zonos-elements/{p-2a8fcb71.system.entry.js → p-0581cfc9.system.entry.js} +1 -1
  227. package/dist/zonos-elements/p-097d7819.js +1 -0
  228. package/dist/zonos-elements/{p-e850e6e7.system.entry.js → p-09d32e53.system.entry.js} +1 -1
  229. package/dist/zonos-elements/{p-1325bbd6.system.entry.js → p-0daed059.system.entry.js} +1 -1
  230. package/dist/zonos-elements/{p-79e5a629.system.entry.js → p-0e36a7cf.system.entry.js} +1 -1
  231. package/dist/zonos-elements/{p-b6df4cc2.system.entry.js → p-134c5010.system.entry.js} +1 -1
  232. package/dist/zonos-elements/p-14d6542f.system.js +1 -0
  233. package/dist/zonos-elements/{p-0207c91e.system.js → p-18af6aaa.system.js} +1 -1
  234. package/dist/zonos-elements/p-1bde60d5.system.entry.js +1 -0
  235. package/dist/zonos-elements/{p-9a5a2043.js → p-243dda5f.js} +1 -1
  236. package/dist/zonos-elements/p-263d14da.system.entry.js +1 -0
  237. package/dist/zonos-elements/{p-6b6cfc59.system.entry.js → p-26ae4ee7.system.entry.js} +1 -1
  238. package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
  239. package/dist/zonos-elements/{p-71fb6126.entry.js → p-2afecda7.entry.js} +1 -1
  240. package/dist/zonos-elements/{p-458df669.js → p-2be4335f.js} +1 -1
  241. package/dist/zonos-elements/p-33a37c42.system.entry.js +1 -0
  242. package/dist/zonos-elements/{p-d28be518.js → p-33d4be28.js} +1 -1
  243. package/dist/zonos-elements/{p-26c85188.entry.js → p-344a1fee.entry.js} +1 -1
  244. package/dist/zonos-elements/p-3b28fc76.js +1 -0
  245. package/dist/zonos-elements/{p-db3b101a.js → p-3dc3596b.js} +1 -1
  246. package/dist/zonos-elements/{p-3689821f.system.js → p-3e7ee89d.system.js} +1 -1
  247. package/dist/zonos-elements/{p-843ced6c.js → p-44147850.js} +1 -1
  248. package/dist/zonos-elements/{p-71c7a1ff.entry.js → p-488c1af1.entry.js} +1 -1
  249. package/dist/zonos-elements/{p-3516340a.system.entry.js → p-48ec0b61.system.entry.js} +1 -1
  250. package/dist/zonos-elements/p-4af88255.entry.js +1 -0
  251. package/dist/zonos-elements/p-4b6e367d.system.js +1 -0
  252. package/dist/zonos-elements/{p-ab0b23f2.js → p-4df08fc4.js} +1 -1
  253. package/dist/zonos-elements/{p-0ed70279.entry.js → p-513e8278.entry.js} +1 -1
  254. package/dist/zonos-elements/p-52bd7be3.system.js +1 -0
  255. package/dist/zonos-elements/{p-deaf0e38.system.entry.js → p-536cbab5.system.entry.js} +1 -1
  256. package/dist/zonos-elements/p-56711a61.js +1 -0
  257. package/dist/zonos-elements/{p-01497a20.entry.js → p-57b55808.entry.js} +1 -1
  258. package/dist/zonos-elements/p-57c3c68f.entry.js +1 -0
  259. package/dist/zonos-elements/{p-a49ba3ae.system.entry.js → p-5b4e5608.system.entry.js} +1 -1
  260. package/dist/zonos-elements/{p-1bf9a1b9.system.js → p-5d65be06.system.js} +1 -1
  261. package/dist/zonos-elements/{p-1957af5a.system.entry.js → p-5f92db80.system.entry.js} +1 -1
  262. package/dist/zonos-elements/{p-2a6be4a5.entry.js → p-658ab5e2.entry.js} +1 -1
  263. package/dist/zonos-elements/{p-8f9e95c2.entry.js → p-680da401.entry.js} +1 -1
  264. package/dist/zonos-elements/{p-4f718ef9.system.js → p-699276f2.system.js} +1 -1
  265. package/dist/zonos-elements/{p-f3cfd8fa.js → p-701d9a7c.js} +1 -1
  266. package/dist/zonos-elements/{p-ce103c66.system.entry.js → p-71528303.system.entry.js} +1 -1
  267. package/dist/zonos-elements/{p-8570e88a.system.js → p-7662d32a.system.js} +1 -1
  268. package/dist/zonos-elements/{p-27061873.entry.js → p-777d396e.entry.js} +1 -1
  269. package/dist/zonos-elements/{p-46071125.entry.js → p-7aca66cd.entry.js} +1 -1
  270. package/dist/zonos-elements/{p-eb99a625.system.js → p-7d9d2407.system.js} +1 -1
  271. package/dist/zonos-elements/{p-7003d093.system.entry.js → p-80df7e0b.system.entry.js} +1 -1
  272. package/dist/zonos-elements/{p-b7e4a020.system.entry.js → p-82ce355d.system.entry.js} +1 -1
  273. package/dist/zonos-elements/{p-5e1799bc.entry.js → p-84d4f04d.entry.js} +1 -1
  274. package/dist/zonos-elements/{p-180d3e3d.entry.js → p-858103a0.entry.js} +1 -1
  275. package/dist/zonos-elements/{p-9e0cb5b3.system.entry.js → p-882fb843.system.entry.js} +1 -1
  276. package/dist/zonos-elements/{p-648f3ada.entry.js → p-889a44fc.entry.js} +1 -1
  277. package/dist/zonos-elements/{p-4c89d04a.js → p-896fb969.js} +1 -1
  278. package/dist/zonos-elements/{p-2c854197.system.entry.js → p-8a24701c.system.entry.js} +1 -1
  279. package/dist/zonos-elements/{p-cb966d16.system.entry.js → p-8f0bdb87.system.entry.js} +1 -1
  280. package/dist/zonos-elements/p-8f817a47.system.js +18 -0
  281. package/dist/zonos-elements/{p-a78bc004.entry.js → p-9092f655.entry.js} +1 -1
  282. package/dist/zonos-elements/p-90d22087.system.js +1 -0
  283. package/dist/zonos-elements/{p-1ec9b3b0.entry.js → p-9377b5c2.entry.js} +1 -1
  284. package/dist/zonos-elements/{p-a6db8883.entry.js → p-9799193c.entry.js} +1 -1
  285. package/dist/zonos-elements/{p-55fb4ea3.system.entry.js → p-98bea13e.system.entry.js} +1 -1
  286. package/dist/zonos-elements/{p-ba9e2612.system.entry.js → p-990d1495.system.entry.js} +1 -1
  287. package/dist/zonos-elements/{p-601bb27e.entry.js → p-9a509268.entry.js} +1 -1
  288. package/dist/zonos-elements/{p-a1bad0c3.system.entry.js → p-9ea67d63.system.entry.js} +1 -1
  289. package/dist/zonos-elements/p-9f5fb332.js +1 -0
  290. package/dist/zonos-elements/{p-d950b0b4.entry.js → p-a237429e.entry.js} +1 -1
  291. package/dist/zonos-elements/{p-5d823ea7.system.js → p-a3a79b2f.system.js} +1 -1
  292. package/dist/zonos-elements/p-ac8cfdc0.js +1 -0
  293. package/dist/zonos-elements/p-accccb9c.entry.js +1 -0
  294. package/dist/zonos-elements/p-b0ed0fe7.system.entry.js +1 -0
  295. package/dist/zonos-elements/{p-b4b23475.entry.js → p-b35a0b1e.entry.js} +1 -1
  296. package/dist/zonos-elements/{p-bf5c3dd7.system.entry.js → p-b59fc3fa.system.entry.js} +1 -1
  297. package/dist/zonos-elements/{p-db5f6b8c.entry.js → p-ba127f51.entry.js} +1 -1
  298. package/dist/zonos-elements/p-bbef037c.js +1 -0
  299. package/dist/zonos-elements/{p-6a195559.system.js → p-bc919de1.system.js} +1 -1
  300. package/dist/zonos-elements/p-be64a52e.entry.js +1 -0
  301. package/dist/zonos-elements/{p-665bfd4f.entry.js → p-c1463da7.entry.js} +1 -1
  302. package/dist/zonos-elements/{p-311ba000.system.js → p-c2023a08.system.js} +1 -1
  303. package/dist/zonos-elements/{p-8d5f413c.system.entry.js → p-c4ef873a.system.entry.js} +1 -1
  304. package/dist/zonos-elements/p-c5caf47b.system.js +1 -0
  305. package/dist/zonos-elements/{p-baf0b24c.system.entry.js → p-c62293d5.system.entry.js} +1 -1
  306. package/dist/zonos-elements/{p-79f3c227.system.entry.js → p-c92a5ae5.system.entry.js} +1 -1
  307. package/dist/zonos-elements/p-cd34ecf2.js +1 -0
  308. package/dist/zonos-elements/p-cd5444b0.js +17 -0
  309. package/dist/zonos-elements/{p-cfb0059f.js → p-d437bc28.js} +1 -1
  310. package/dist/zonos-elements/p-d932973f.system.js +1 -0
  311. package/dist/zonos-elements/{p-28e2ac3b.entry.js → p-dae881f2.entry.js} +1 -1
  312. package/dist/zonos-elements/{p-087520f2.system.entry.js → p-df0c8fb6.system.entry.js} +1 -1
  313. package/dist/zonos-elements/{p-8571f3ce.entry.js → p-df55536b.entry.js} +1 -1
  314. package/dist/zonos-elements/p-e05e5825.entry.js +1 -0
  315. package/dist/zonos-elements/{p-928291e5.entry.js → p-e548b8ec.entry.js} +1 -1
  316. package/dist/zonos-elements/{p-5e6f85f0.system.js → p-f053975e.system.js} +1 -1
  317. package/dist/zonos-elements/{p-175c04a4.system.js → p-f5684fc2.system.js} +1 -1
  318. package/dist/zonos-elements/{p-22ba60f6.system.entry.js → p-fc270539.system.entry.js} +1 -1
  319. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  320. package/package.json +1 -1
  321. package/dist/esm-es5/cart-49082718.js +0 -1
  322. package/dist/esm-es5/localization-33a9f7ff.js +0 -1
  323. package/dist/esm-es5/throttle-882b1f47.js +0 -1
  324. package/dist/esm-es5/zonos-store-credit.entry.js +0 -1
  325. package/dist/zonos-elements/p-029be4a8.entry.js +0 -1
  326. package/dist/zonos-elements/p-034ab928.system.entry.js +0 -1
  327. package/dist/zonos-elements/p-07a76716.system.js +0 -1
  328. package/dist/zonos-elements/p-1f256673.entry.js +0 -1
  329. package/dist/zonos-elements/p-367a72bc.js +0 -1
  330. package/dist/zonos-elements/p-3b1b3598.system.js +0 -18
  331. package/dist/zonos-elements/p-40284821.system.js +0 -1
  332. package/dist/zonos-elements/p-4980facb.js +0 -1
  333. package/dist/zonos-elements/p-6987f9c9.js +0 -1
  334. package/dist/zonos-elements/p-6d81901a.js +0 -1
  335. package/dist/zonos-elements/p-703fc360.entry.js +0 -1
  336. package/dist/zonos-elements/p-77c2e465.system.js +0 -1
  337. package/dist/zonos-elements/p-84dbf474.js +0 -17
  338. package/dist/zonos-elements/p-9b0a6fe5.system.entry.js +0 -1
  339. package/dist/zonos-elements/p-adb9827c.js +0 -1
  340. package/dist/zonos-elements/p-b2d276e1.js +0 -1
  341. package/dist/zonos-elements/p-b5a26334.system.entry.js +0 -1
  342. package/dist/zonos-elements/p-b6a36c25.system.js +0 -1
  343. package/dist/zonos-elements/p-becac995.js +0 -1
  344. package/dist/zonos-elements/p-c9c17d08.system.entry.js +0 -1
  345. package/dist/zonos-elements/p-e056ae6b.entry.js +0 -1
  346. package/dist/zonos-elements/p-e3292be8.system.js +0 -1
  347. package/dist/zonos-elements/p-e5dfccd8.system.js +0 -1
  348. package/dist/zonos-elements/p-fb712719.entry.js +0 -1
@@ -1,22 +1,22 @@
1
1
  import { r as registerInstance, h, F as Fragment, a as Host } from './index-cfd394c8.js';
2
- import { s as stripeStoreGetDomesticShippingSession, a as stripeStoreSaveDomesticShippingSession, b as stripeStore, i as initStripeElements, c as stripeStoreRetrievePayment, d as cartStore, e as cartStoreUpdateItems, f as cartStoreReset, g as cartStoreResetTabItems, h as cartStoreClearCheckoutInterval, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, l as cartStoreStartCheckoutInterval, t as trackConversionEvent, m as getCheckoutSessionBody, n as cartStoreUpdateToErrorState, o as stripeStoreCleanupDomesticShippingSession, p as cartStoreSetCheckoutSession, q as stripeStorePrefetchLandedCost, r as cartStoreNextStep, u as stripeStoreUpdateCheckoutSessionBaseCurrency, v as stripeStoreHandleInventoryCheck, w as storeCreditStoreApplyCredit, x as storeCreditStoreCoversFullAmount, y as validateCheckoutSession, z as storeCreditStoreCreateOrder, A as stripeStoreConfirmPayment, B as stripeStoreHandleInventoryRefund, C as stripeStoreReset, D as cartStoreOnChange, E as stripeStoreOnChange, F as storeCreditStoreGetEffectiveAmount } from './cart-49082718.js';
3
- import { p as paypalStoreHasPaypalEnabled, s as submitAnalytics, a as paypalStore, b as paypalInitScript } from './paypal-2e9aa4ba.js';
4
- import { f as filterValidTests, l as localizationStore, a as localizationStoreUpdateSelectedCountryCode, g as getZCountryUrlParam, s as storageStore, V as VARIANT_TEST_KEY_EXPIRATION, b as storageStoreSetEnabledVariantTestKeys, t as translate, c as localizationStoreOnChange, d as currencyFormat } from './localization-33a9f7ff.js';
5
- import { z as zonosStore, g as getZonosStoreTheme, m as mergeConfig } from './zonosStore-9662b071.js';
2
+ import { s as stripeStoreGetDomesticShippingSession, a as stripeStoreSaveDomesticShippingSession, b as stripeStore, i as initStripeElements, c as stripeStoreRetrievePayment, d as cartStore, e as cartStoreUpdateItems, f as cartStoreReset, p as policyConsentStoreReset, g as cartStoreResetTabItems, h as cartStoreClearCheckoutInterval, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, l as cartStoreStartCheckoutInterval, t as trackConversionEvent, m as getCheckoutSessionBody, n as cartStoreUpdateToErrorState, o as stripeStoreCleanupDomesticShippingSession, q as cartStoreSetCheckoutSession, r as stripeStorePrefetchLandedCost, u as cartStoreNextStep, v as isPolicyConsentRequired, w as stripeStoreUpdateCheckoutSessionBaseCurrency, x as stripeStoreHandleInventoryCheck, y as storeCreditStoreApplyCredit, z as storeCreditStoreCoversFullAmount, A as validateCheckoutSession, B as storeCreditStoreCreateOrder, C as stripeStoreConfirmPayment, D as stripeStoreHandleInventoryRefund, E as policyConsentStore, F as stripeStoreReset, G as cartStoreOnChange, H as stripeStoreOnChange, I as storeCreditStoreGetEffectiveAmount } from './cart-663ef7d5.js';
3
+ import { p as paypalStoreHasPaypalEnabled, s as submitAnalytics, a as paypalStore, b as paypalInitScript } from './paypal-cdbe69ef.js';
4
+ import { f as filterValidTests, a as fetchCheckoutId, b as fetchBigCommerceCheckout, i as isBigCommerceCustomerLoggedIn, l as localizationStore, c as localizationStoreUpdateSelectedCountryCode, g as getZCountryUrlParam, s as storageStore, V as VARIANT_TEST_KEY_EXPIRATION, d as storageStoreSetEnabledVariantTestKeys, t as translate, e as localizationStoreOnChange, h as currencyFormat } from './localization-dc19e8bb.js';
5
+ import { z as zonosStore, g as getZonosStoreTheme, m as mergeConfig } from './zonosStore-8e19daff.js';
6
6
  import { b as buildCartItemsByTempCart } from './buildCartItemsByTempCart-a117f75d.js';
7
- import { h as handleFetch, l as logError, g as getIsTestMode, j as jsonParse, b as getAdditionalLogMetadata, s as sendErrorLog, a as getIsStagingMode, i as isCheckoutMobile } from './handleFetch-a844cac1.js';
8
- import { u as updateCheckoutSessionAttributes } from './updateCheckoutSessionAttributes-da7fdd37.js';
7
+ import { h as handleFetch, g as getIsTestMode, j as jsonParse, l as logError, b as getAdditionalLogMetadata, s as sendErrorLog, a as getIsStagingMode, i as isCheckoutMobile } from './handleFetch-a844cac1.js';
8
+ import { u as updateCheckoutSessionAttributes } from './updateCheckoutSessionAttributes-40e301a4.js';
9
9
  import { l as log, g as getElapsedTime, b as allLogs } from './VarianceTest-572cecf5.js';
10
10
  import { _ as _getIsValidCartId, c as checkoutHiddenBtnSelector, a as checkoutHiddenInternationalBtnSelector, d as domesticRedirectedBtnSelector, g as getAbandonedCartRenewTokenValue } from './CheckoutConfig-724d7bae.js';
11
11
  import { c as classes } from './classes-0d95c529.js';
12
12
  import { c as createCustomEvent } from './createCustomEvent-58159025.js';
13
- import { g as getBorderRadius } from './getBorderRadius-98c64be8.js';
14
- import { i as isDarkColor } from './isDarkColor-0a8453e7.js';
13
+ import { g as getBorderRadius } from './getBorderRadius-d23f47a6.js';
14
+ import { i as isDarkColor } from './isDarkColor-566f04c5.js';
15
15
  import { s as styles } from './styles-6fc2fad9.js';
16
16
  import { R as RemoveIcon } from './RemoveIcon-9dc5dd1a.js';
17
- import './isContrastColor-6bad285e.js';
18
- import './submitGtag-ae9d5d91.js';
19
- import './debounce-ab526ca0.js';
17
+ import './isContrastColor-fbddacb6.js';
18
+ import './submitGtag-c7ea1f2a.js';
19
+ import './debounce-58e4ff3e.js';
20
20
 
21
21
  /**
22
22
  * Check if store discount is enabled
@@ -93,63 +93,6 @@ const buildCartUrl = ({ cartId, checkoutSessionId, customerAddress1, customerAdd
93
93
  return `${hostedCheckoutUrl}?${urlParams.toString()}`;
94
94
  };
95
95
 
96
- /**
97
- * Fetch the checkout/cart ID from the BigCommerce Storefront Cart API.
98
- * The `/checkout` page URL does not include the checkout ID, so we
99
- * retrieve it from `/api/storefront/cart` which returns the active cart(s).
100
- */
101
- const fetchCheckoutId = async () => {
102
- var _a, _b;
103
- try {
104
- const response = await fetch('/api/storefront/cart', {
105
- credentials: 'same-origin',
106
- headers: {
107
- Accept: 'application/json',
108
- },
109
- });
110
- if (!response.ok) {
111
- log(`Failed to fetch BigCommerce cart: ${String(response.status)}`, 'error');
112
- return null;
113
- }
114
- const carts = (await response.json());
115
- return (_b = (_a = carts === null || carts === void 0 ? void 0 : carts[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null;
116
- }
117
- catch (error) {
118
- logError('Error fetching BigCommerce cart data', error);
119
- return null;
120
- }
121
- };
122
- /**
123
- * Fetch checkout data from the BigCommerce Storefront API.
124
- * This API is cookie-authenticated (same-origin), so no token is needed.
125
- */
126
- const fetchBigCommerceCheckout = async (checkoutId) => {
127
- try {
128
- const response = await fetch(`/api/storefront/checkouts/${checkoutId}?include=customer.customerGroup,customer.addresses`, {
129
- credentials: 'same-origin',
130
- headers: {
131
- Accept: 'application/json',
132
- 'Content-Type': 'application/json',
133
- },
134
- });
135
- if (!response.ok) {
136
- log(`Failed to fetch BigCommerce checkout: ${String(response.status)}`, 'error');
137
- return null;
138
- }
139
- return (await response.json());
140
- }
141
- catch (error) {
142
- logError('Error fetching BigCommerce checkout data', error);
143
- return null;
144
- }
145
- };
146
- /**
147
- * Whether the BigCommerce shopper is already logged in. We key off the
148
- * customer's numeric `id` since the storefront API populates it only for
149
- * authenticated sessions (guest checkouts have an empty `customer` object).
150
- */
151
- const isBigCommerceCustomerLoggedIn = (checkout) => { var _a; return !!((_a = checkout === null || checkout === void 0 ? void 0 : checkout.customer) === null || _a === void 0 ? void 0 : _a.id); };
152
-
153
96
  /**
154
97
  * The query flag that BigCommerce carries back to `cart.php` after the
155
98
  * shopper logs in. When present, Zonos-elements knows to resume the
@@ -1783,6 +1726,12 @@ const ZonosCheckout = class {
1783
1726
  // reset cart store if it's not preview mode and only when checkout is in the finish step.
1784
1727
  cartStoreReset();
1785
1728
  }
1729
+ // Clear policy consent on every close (not just finish) so a buyer who
1730
+ // checked the box mid-flow and then closed can't carry the prior
1731
+ // acceptance into a new attempt without a fresh checkbox click.
1732
+ if (!this.preview) {
1733
+ policyConsentStoreReset();
1734
+ }
1786
1735
  // reset step to customer info
1787
1736
  cartStore.step = 'customer-info';
1788
1737
  // reset the tab item, so that user needs to click on Continue button to re-quote the landed cost if needed.
@@ -2611,77 +2560,104 @@ const ZonosCheckout = class {
2611
2560
  stripeStore.shouldRenderPayInUsdButton &&
2612
2561
  !this.payInUsdConfirmDialogOpen) {
2613
2562
  this.payInUsdConfirmDialogOpen = true;
2563
+ // Don't unlock consent here — the USD-confirm dialog is mid-flow; the
2564
+ // lock should hold until the user resolves the dialog and we re-enter.
2614
2565
  return;
2615
2566
  }
2616
2567
  // Close the dialog after the user confirms to proceed with the payment in USD
2617
2568
  this.payInUsdConfirmDialogOpen = false;
2618
- // reset paypal error message
2619
- paypalStore.paypalErrorMessage = null;
2620
- // reset error state
2621
- stripeStore.hasPaymentError = false;
2622
- this.submitLoading = true;
2623
- // reset inventory check message
2624
- cartStore.inventoryCheckErrorMessage = null;
2625
- // Attempt to change settlement currency to USD
2626
- const baseCurrencyUpdateSuccess = await stripeStoreUpdateCheckoutSessionBaseCurrency();
2627
- // Should not proceed to confirm payment if base currency update failed
2628
- if (!baseCurrencyUpdateSuccess) {
2629
- stripeStore.hasPaymentError = true;
2630
- 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.', {
2631
- currency: stripeStore.checkoutSettlementCurrency,
2632
- });
2633
- this.submitLoading = false;
2634
- return;
2635
- }
2569
+ // Track whether consent was required at the start of this flow so we know
2570
+ // whether to release the lock in `finally`. The store reset on checkout
2571
+ // close will catch any stragglers, but releasing here lets the buyer
2572
+ // recover (uncheck / retry) when an async step aborts.
2573
+ const consentWasRequired = isPolicyConsentRequired();
2636
2574
  try {
2637
- // check inventory before proceeding to payment
2638
- cartStore.inventoryCheckErrorMessage =
2639
- await stripeStoreHandleInventoryCheck();
2640
- }
2641
- catch (_a) {
2642
- // If user provide callback and it throw an exception, default to this message and stop the payment.
2643
- cartStore.inventoryCheckErrorMessage = translate('Unable to check inventory. Please try again.');
2644
- }
2645
- // Don't proceed to payment if there's an error message
2646
- if (cartStore.inventoryCheckErrorMessage) {
2647
- // stop the submit loading state
2648
- this.submitLoading = false;
2649
- return;
2650
- }
2651
- // Apply store credit if customer has selected an amount
2652
- const storeCreditAmount = storeCreditStoreGetEffectiveAmount();
2653
- if (storeCreditAmount > 0) {
2654
- const storeCreditResult = await storeCreditStoreApplyCredit();
2655
- if (!storeCreditResult.success) {
2575
+ // reset paypal error message
2576
+ paypalStore.paypalErrorMessage = null;
2577
+ // reset error state
2578
+ stripeStore.hasPaymentError = false;
2579
+ this.submitLoading = true;
2580
+ // reset inventory check message
2581
+ cartStore.inventoryCheckErrorMessage = null;
2582
+ // Attempt to change settlement currency to USD
2583
+ const baseCurrencyUpdateSuccess = await stripeStoreUpdateCheckoutSessionBaseCurrency();
2584
+ // Should not proceed to confirm payment if base currency update failed
2585
+ if (!baseCurrencyUpdateSuccess) {
2656
2586
  stripeStore.hasPaymentError = true;
2657
- stripeStore.customErrorMessage =
2658
- storeCreditResult.error ||
2659
- translate('Unable to apply store credit. Please try again.');
2587
+ 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.', {
2588
+ currency: stripeStore.checkoutSettlementCurrency,
2589
+ });
2660
2590
  this.submitLoading = false;
2661
2591
  return;
2662
2592
  }
2663
- }
2664
- // If store credit covers the full order, create order directly without payment
2665
- if (storeCreditStoreCoversFullAmount()) {
2666
2593
  try {
2667
- // Validate checkout session (landed cost ID, etc.) before creating order
2668
- const checkoutSessionStatus = await validateCheckoutSession();
2669
- if (!checkoutSessionStatus.valid) {
2594
+ // check inventory before proceeding to payment
2595
+ cartStore.inventoryCheckErrorMessage =
2596
+ await stripeStoreHandleInventoryCheck();
2597
+ }
2598
+ catch (_a) {
2599
+ // If user provide callback and it throw an exception, default to this message and stop the payment.
2600
+ cartStore.inventoryCheckErrorMessage = translate('Unable to check inventory. Please try again.');
2601
+ }
2602
+ // Don't proceed to payment if there's an error message
2603
+ if (cartStore.inventoryCheckErrorMessage) {
2604
+ // stop the submit loading state
2605
+ this.submitLoading = false;
2606
+ return;
2607
+ }
2608
+ // Apply store credit if customer has selected an amount
2609
+ const storeCreditAmount = storeCreditStoreGetEffectiveAmount();
2610
+ if (storeCreditAmount > 0) {
2611
+ const storeCreditResult = await storeCreditStoreApplyCredit();
2612
+ if (!storeCreditResult.success) {
2670
2613
  stripeStore.hasPaymentError = true;
2671
- stripeStore.customErrorMessage = checkoutSessionStatus.errorMessage;
2614
+ stripeStore.customErrorMessage =
2615
+ storeCreditResult.error ||
2616
+ translate('Unable to apply store credit. Please try again.');
2672
2617
  this.submitLoading = false;
2673
2618
  return;
2674
2619
  }
2675
- const orderResult = await storeCreditStoreCreateOrder();
2676
- if (!orderResult.success) {
2620
+ }
2621
+ // If store credit covers the full order, create order directly without payment
2622
+ if (storeCreditStoreCoversFullAmount()) {
2623
+ try {
2624
+ // Validate checkout session (landed cost ID, etc.) before creating order
2625
+ const checkoutSessionStatus = await validateCheckoutSession();
2626
+ if (!checkoutSessionStatus.valid) {
2627
+ stripeStore.hasPaymentError = true;
2628
+ stripeStore.customErrorMessage = checkoutSessionStatus.errorMessage;
2629
+ this.submitLoading = false;
2630
+ return;
2631
+ }
2632
+ const orderResult = await storeCreditStoreCreateOrder();
2633
+ if (!orderResult.success) {
2634
+ stripeStore.hasPaymentError = true;
2635
+ stripeStore.customErrorMessage =
2636
+ orderResult.error ||
2637
+ translate('Unable to place order with store credit. Please try again.');
2638
+ this.submitLoading = false;
2639
+ return;
2640
+ }
2641
+ cartStoreNextStep();
2642
+ cartStoreClearCheckoutInterval();
2643
+ }
2644
+ catch (err) {
2645
+ logError(err);
2646
+ submitAnalytics({
2647
+ event: 'zonos-checkout-payment-fail',
2648
+ metadata: {
2649
+ checkoutSessionId: storageStore.checkoutSessionId,
2650
+ },
2651
+ });
2677
2652
  stripeStore.hasPaymentError = true;
2678
- stripeStore.customErrorMessage =
2679
- orderResult.error ||
2680
- translate('Unable to place order with store credit. Please try again.');
2681
- this.submitLoading = false;
2682
- return;
2683
2653
  }
2654
+ this.submitLoading = false;
2655
+ return;
2656
+ }
2657
+ try {
2658
+ await stripeStoreConfirmPayment();
2684
2659
  cartStoreNextStep();
2660
+ // clear the checkout session timeout timer when purchase is complete
2685
2661
  cartStoreClearCheckoutInterval();
2686
2662
  }
2687
2663
  catch (err) {
@@ -2693,32 +2669,22 @@ const ZonosCheckout = class {
2693
2669
  },
2694
2670
  });
2695
2671
  stripeStore.hasPaymentError = true;
2672
+ // should request inventory refund if there's an error during payment
2673
+ if (stripeStore.shouldInventoryRefund) {
2674
+ void stripeStoreHandleInventoryRefund();
2675
+ stripeStore.shouldInventoryRefund = false;
2676
+ }
2696
2677
  }
2697
2678
  this.submitLoading = false;
2698
- return;
2699
2679
  }
2700
- try {
2701
- await stripeStoreConfirmPayment();
2702
- cartStoreNextStep();
2703
- // clear the checkout session timeout timer when purchase is complete
2704
- cartStoreClearCheckoutInterval();
2705
- }
2706
- catch (err) {
2707
- logError(err);
2708
- submitAnalytics({
2709
- event: 'zonos-checkout-payment-fail',
2710
- metadata: {
2711
- checkoutSessionId: storageStore.checkoutSessionId,
2712
- },
2713
- });
2714
- stripeStore.hasPaymentError = true;
2715
- // should request inventory refund if there's an error during payment
2716
- if (stripeStore.shouldInventoryRefund) {
2717
- void stripeStoreHandleInventoryRefund();
2718
- stripeStore.shouldInventoryRefund = false;
2680
+ finally {
2681
+ // Release the consent lock on every terminal exit (success or failure)
2682
+ // so the buyer can re-toggle / retry. On success the cart advances and
2683
+ // the close-handler reset would clean this up anyway.
2684
+ if (consentWasRequired) {
2685
+ policyConsentStore.locked = false;
2719
2686
  }
2720
2687
  }
2721
- this.submitLoading = false;
2722
2688
  }
2723
2689
  async handleFinishClick() {
2724
2690
  // reset stripe store
@@ -2730,6 +2696,8 @@ const ZonosCheckout = class {
2730
2696
  }
2731
2697
  // reset cart store
2732
2698
  cartStoreReset();
2699
+ // reset policy consent so the next checkout starts un-accepted
2700
+ policyConsentStoreReset();
2733
2701
  // redirect to vendor store url if this is legacy checkout.
2734
2702
  if (window.Zonos.isLegacyCheckout && window.Zonos.cartData) {
2735
2703
  const storeBaseUrl = window.Zonos.cartData.storeBaseUrl ||
@@ -2931,6 +2899,8 @@ const ZonosCheckout = class {
2931
2899
  stripeStoreReset();
2932
2900
  // reset cart store
2933
2901
  cartStoreReset();
2902
+ // reset policy consent
2903
+ policyConsentStoreReset();
2934
2904
  // cleanup onChange listener
2935
2905
  this.storeUnsubscribeList.forEach(unsubscribe => unsubscribe());
2936
2906
  window.removeEventListener('message', this.handleHostedOpenWindowCallback);
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, a as Host, g as getElement } from './index-cfd394c8.js';
2
- import { f as zonosStoreFontFamily } from './zonosStore-9662b071.js';
2
+ import { f as zonosStoreFontFamily } from './zonosStore-8e19daff.js';
3
3
  import './VarianceTest-572cecf5.js';
4
4
 
5
5
  const zonosCollapseCss = ":host{font-family:var(--zonos--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--zonos--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host{-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;overflow:hidden}:host div{position:relative}:host iframe{width:0;height:100%;position:absolute;top:0;border:0}";
@@ -1,14 +1,14 @@
1
1
  import { r as registerInstance, e as getAssetPath, h, a as Host } from './index-cfd394c8.js';
2
- import { d as cartStore } from './cart-49082718.js';
2
+ import { d as cartStore } from './cart-663ef7d5.js';
3
3
  import { c as cleanHtmlMarkdown } from './cleanHtmlMarkdown-5f7856f2.js';
4
- import { f as zonosStoreFontFamily } from './zonosStore-9662b071.js';
4
+ import { f as zonosStoreFontFamily } from './zonosStore-8e19daff.js';
5
5
  import { c as classes } from './classes-0d95c529.js';
6
6
  import { s as styles } from './styles-6fc2fad9.js';
7
- import './localization-33a9f7ff.js';
7
+ import './localization-dc19e8bb.js';
8
8
  import './handleFetch-a844cac1.js';
9
9
  import './VarianceTest-572cecf5.js';
10
- import './isDarkColor-0a8453e7.js';
11
- import './getBorderRadius-98c64be8.js';
10
+ import './isDarkColor-566f04c5.js';
11
+ import './getBorderRadius-d23f47a6.js';
12
12
 
13
13
  const zonosCollectCartItemsCss = ":host{font-family:var(--zonos--font-family, Inter), Inter;display:block;white-space:normal}:host *{font-family:var(--zonos--font-family, Inter), Inter}:host img{max-width:100%}:host dl,:host dd,:host h1,:host h2,:host h3,:host h4,:host h5,:host h6,:host hr,:host figure,:host p,:host pre{margin:0}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host .zonos--cart-table{width:100%;border:none;border-collapse:collapse;overflow:auto;font-size:var(--zonos-elements-font-size-base)}:host .zonos--cart-table .zonos--column{padding:8px;padding-left:0;font-size:var(--zonos-elements-font-size-base)}:host .zonos--cart-table .zonos--column:first-child{width:48px}:host .zonos--cart-table td{vertical-align:middle}:host .zonos--cart-item-price zonos-text{white-space:nowrap}:host img{min-width:40px;margin-top:6px;-webkit-box-shadow:0 0 0 1px rgba(110, 110, 120, 0.1), 0 1px 2px 0 rgba(10, 10, 11, 0.06), 0 1px 3px 0 rgba(10, 10, 11, 0.1);box-shadow:0 0 0 1px rgba(110, 110, 120, 0.1), 0 1px 2px 0 rgba(10, 10, 11, 0.06), 0 1px 3px 0 rgba(10, 10, 11, 0.1);border-radius:10px}";
14
14
  const ZonosCollectCartItemsStyle0 = zonosCollectCartItemsCss;
@@ -1,21 +1,21 @@
1
1
  import { r as registerInstance, d as createEvent, h, F as Fragment, a as Host, g as getElement } from './index-cfd394c8.js';
2
- import { b as stripeStore, c as stripeStoreRetrievePayment, t as trackConversionEvent, L as stripeStoreResetPromoCode, C as stripeStoreReset, M as stripeStoreMessageBasedOnStatus, d as cartStore, r as cartStoreNextStep, D as cartStoreOnChange } from './cart-49082718.js';
3
- import { s as submitAnalytics, c as paypalStoreReset, a as paypalStore, b as paypalInitScript } from './paypal-2e9aa4ba.js';
4
- import { t as translate, s as storageStore, l as localizationStore, p as translationStoreOnChange } from './localization-33a9f7ff.js';
5
- import { z as zonosStore } from './zonosStore-9662b071.js';
2
+ import { b as stripeStore, c as stripeStoreRetrievePayment, t as trackConversionEvent, P as stripeStoreResetPromoCode, F as stripeStoreReset, Q as stripeStoreMessageBasedOnStatus, d as cartStore, u as cartStoreNextStep, G as cartStoreOnChange } from './cart-663ef7d5.js';
3
+ import { s as submitAnalytics, c as paypalStoreReset, a as paypalStore, b as paypalInitScript } from './paypal-cdbe69ef.js';
4
+ import { t as translate, s as storageStore, l as localizationStore, v as translationStoreOnChange } from './localization-dc19e8bb.js';
5
+ import { z as zonosStore } from './zonosStore-8e19daff.js';
6
6
  import { h as handleFetch, s as sendErrorLog, g as getIsTestMode, i as isCheckoutMobile, a as getIsStagingMode } from './handleFetch-a844cac1.js';
7
7
  import { c as createCustomEvent } from './createCustomEvent-58159025.js';
8
- import { g as getBorderRadius } from './getBorderRadius-98c64be8.js';
8
+ import { g as getBorderRadius } from './getBorderRadius-d23f47a6.js';
9
9
  import { l as log, b as allLogs } from './VarianceTest-572cecf5.js';
10
- import { i as isCollectMobile, a as isCollectTablet, e as collectStore } from './isCollectMobileTablet-910aea2e.js';
10
+ import { i as isCollectMobile, a as isCollectTablet, e as collectStore } from './isCollectMobileTablet-24c912b1.js';
11
11
  import { c as classes } from './classes-0d95c529.js';
12
12
  import { l as languages } from './ILanguage-cd6acb72.js';
13
- import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-b84a6da7.js';
14
- import { p as placeTestOrder } from './placeTestOrder-35c9b460.js';
13
+ import { r as renderCheckoutCurrency } from './renderCheckoutCurrency-fb1cbd28.js';
14
+ import { p as placeTestOrder } from './placeTestOrder-ba67e208.js';
15
15
  import { r as renderFallback } from './renderFallback-b250f4e9.js';
16
- import './isDarkColor-0a8453e7.js';
17
- import './isContrastColor-6bad285e.js';
18
- import './submitGtag-ae9d5d91.js';
16
+ import './isDarkColor-566f04c5.js';
17
+ import './isContrastColor-fbddacb6.js';
18
+ import './submitGtag-c7ea1f2a.js';
19
19
 
20
20
  const RemoveIcon = `<svg color="var(--zonos-elements-red-800)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z" data-is-secondary-color="true" fill="var(--zonos-elements-red-200)" fill-rule="evenodd"></path><path clip-rule="evenodd" d="M8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>`;
21
21
 
@@ -1,19 +1,19 @@
1
1
  import { r as registerInstance, h, a as Host, F as Fragment } from './index-cfd394c8.js';
2
- import { b as stripeStore, i as initStripeElements, c as stripeStoreRetrievePayment, d as cartStore, n as cartStoreUpdateToErrorState, e as cartStoreUpdateItems, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, u as stripeStoreUpdateCheckoutSessionBaseCurrency, A as stripeStoreConfirmPayment, E as stripeStoreOnChange, C as stripeStoreReset, f as cartStoreReset } from './cart-49082718.js';
3
- import { i as isCollectMobile, a as isCollectTablet, c as collectStoreUpdateSelectedShippingOption, b as collectStoreInitShippingInfo, d as collectStoreAsyncAddressUpdate, e as collectStore } from './isCollectMobileTablet-910aea2e.js';
4
- import { p as paypalStoreHasPaypalEnabled, a as paypalStore } from './paypal-2e9aa4ba.js';
5
- import { s as storageStore, t as translate, c as localizationStoreOnChange, d as currencyFormat, l as localizationStore } from './localization-33a9f7ff.js';
6
- import { z as zonosStore } from './zonosStore-9662b071.js';
2
+ import { b as stripeStore, i as initStripeElements, c as stripeStoreRetrievePayment, d as cartStore, n as cartStoreUpdateToErrorState, e as cartStoreUpdateItems, j as stripeStoreInitCheckoutSession, k as stripeStoreGetPaymentIntent, w as stripeStoreUpdateCheckoutSessionBaseCurrency, C as stripeStoreConfirmPayment, H as stripeStoreOnChange, F as stripeStoreReset, f as cartStoreReset } from './cart-663ef7d5.js';
3
+ import { i as isCollectMobile, a as isCollectTablet, c as collectStoreUpdateSelectedShippingOption, b as collectStoreInitShippingInfo, d as collectStoreAsyncAddressUpdate, e as collectStore } from './isCollectMobileTablet-24c912b1.js';
4
+ import { p as paypalStoreHasPaypalEnabled, a as paypalStore } from './paypal-cdbe69ef.js';
5
+ import { s as storageStore, t as translate, e as localizationStoreOnChange, h as currencyFormat, l as localizationStore } from './localization-dc19e8bb.js';
6
+ import { z as zonosStore } from './zonosStore-8e19daff.js';
7
7
  import { b as buildCartItemsByTempCart } from './buildCartItemsByTempCart-a117f75d.js';
8
8
  import { h as handleFetch, s as sendErrorLog, l as logError, g as getIsTestMode } from './handleFetch-a844cac1.js';
9
9
  import { c as classes } from './classes-0d95c529.js';
10
10
  import { l as log } from './VarianceTest-572cecf5.js';
11
11
  import { r as renderFallback } from './renderFallback-b250f4e9.js';
12
12
  import { l as languages } from './ILanguage-cd6acb72.js';
13
- import './isDarkColor-0a8453e7.js';
14
- import './getBorderRadius-98c64be8.js';
15
- import './isContrastColor-6bad285e.js';
16
- import './submitGtag-ae9d5d91.js';
13
+ import './isDarkColor-566f04c5.js';
14
+ import './getBorderRadius-d23f47a6.js';
15
+ import './isContrastColor-fbddacb6.js';
16
+ import './submitGtag-c7ea1f2a.js';
17
17
 
18
18
  const ChevronDownIcon = `<svg color="var(--zonos-elements-gray-400)" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="https://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M6.293 9.293a1 1 0 0 1 1.414 0L12 13.586l4.293-4.293a1 1 0 0 1 1.414 1.414l-4.93 4.93a1.1 1.1 0 0 1-1.555 0l-4.93-4.93a1 1 0 0 1 0-1.414Z" fill="currentColor" fill-rule="evenodd"></path></svg>`;
19
19
 
@@ -1,13 +1,13 @@
1
1
  import { r as registerInstance, d as createEvent, h, a as Host } from './index-cfd394c8.js';
2
- import { b as stripeStore } from './cart-49082718.js';
3
- import { e as getOverridenZCountry, i as isValidSelector, h as initLocalizationStore, s as storageStore, a as localizationStoreUpdateSelectedCountryCode } from './localization-33a9f7ff.js';
4
- import { z as zonosStore, e as zonosStoreInitSetting, f as zonosStoreFontFamily } from './zonosStore-9662b071.js';
2
+ import { b as stripeStore } from './cart-663ef7d5.js';
3
+ import { j as getOverridenZCountry, k as isValidSelector, m as initLocalizationStore, s as storageStore, c as localizationStoreUpdateSelectedCountryCode } from './localization-dc19e8bb.js';
4
+ import { z as zonosStore, e as zonosStoreInitSetting, f as zonosStoreFontFamily } from './zonosStore-8e19daff.js';
5
5
  import { g as getGenericSettingsOverride, i as iframeServices, a as injectPrivateIframe } from './getGenericSettingsOverride-0bc3e118.js';
6
6
  import { h as handleFetch, l as logError } from './handleFetch-a844cac1.js';
7
7
  import { l as log } from './VarianceTest-572cecf5.js';
8
- import { a as ensureAnalyticsRelayPing } from './submitGtag-ae9d5d91.js';
9
- import './isDarkColor-0a8453e7.js';
10
- import './getBorderRadius-98c64be8.js';
8
+ import { a as ensureAnalyticsRelayPing } from './submitGtag-c7ea1f2a.js';
9
+ import './isDarkColor-566f04c5.js';
10
+ import './getBorderRadius-d23f47a6.js';
11
11
 
12
12
  const getZonosSettings = async () => {
13
13
  if (window.Zonos.cartSettings) {
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, a as Host, g as getElement } from './index-cfd394c8.js';
2
- import { l as localizationStore } from './localization-33a9f7ff.js';
3
- import { f as zonosStoreFontFamily } from './zonosStore-9662b071.js';
2
+ import { l as localizationStore } from './localization-dc19e8bb.js';
3
+ import { f as zonosStoreFontFamily } from './zonosStore-8e19daff.js';
4
4
  import { c as classes } from './classes-0d95c529.js';
5
5
  import './handleFetch-a844cac1.js';
6
6
  import './VarianceTest-572cecf5.js';
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, h, a as Host, g as getElement } from './index-cfd394c8.js';
2
- import { a as localizationStoreUpdateSelectedCountryCode, t as translate, l as localizationStore } from './localization-33a9f7ff.js';
3
- import { f as zonosStoreFontFamily } from './zonosStore-9662b071.js';
2
+ import { c as localizationStoreUpdateSelectedCountryCode, t as translate, l as localizationStore } from './localization-dc19e8bb.js';
3
+ import { f as zonosStoreFontFamily } from './zonosStore-8e19daff.js';
4
4
  import { f as formatStringWithLinks } from './formatStringWithLinks-9e819405.js';
5
- import { i as isDarkColor } from './isDarkColor-0a8453e7.js';
5
+ import { i as isDarkColor } from './isDarkColor-566f04c5.js';
6
6
  import { l as languages } from './ILanguage-cd6acb72.js';
7
7
  import { c as classes } from './classes-0d95c529.js';
8
8
  import './handleFetch-a844cac1.js';