@zonos/elements 1.3.280 → 1.3.282

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 (355) hide show
  1. package/dist/cjs/{TaxId-12acedde.js → TaxId-cd9d490e.js} +1 -1
  2. package/dist/cjs/{cart-0fa312a5.js → cart-dc31b242.js} +3 -2
  3. package/dist/cjs/{collect-f9c4ca7c.js → collect-463ab3d7.js} +2 -2
  4. package/dist/cjs/getMissingRequiredShippingFields-7cd21100.js +50 -0
  5. package/dist/cjs/{hasInclusivePrice-95431bca.js → hasInclusivePrice-d14b9d71.js} +1 -1
  6. package/dist/cjs/index.cjs.js +8 -8
  7. package/dist/cjs/{invoice-ce757565.js → invoice-8c995041.js} +2 -2
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/{localization-7fded969.js → localization-491121ad.js} +320 -80
  10. package/dist/cjs/{paypal-57ab3ab6.js → paypal-2a4c374c.js} +2 -2
  11. package/dist/cjs/{placeTestOrder-35e0d3bd.js → placeTestOrder-a940a2e9.js} +2 -2
  12. package/dist/cjs/{renderCheckoutCurrency-41d48407.js → renderCheckoutCurrency-ab39875a.js} +2 -2
  13. package/dist/cjs/{shouldRenderTaxIdInput-b8abf6de.js → shouldRenderTaxIdInput-7d19556c.js} +1 -1
  14. package/dist/cjs/{zonos-address-display_8.cjs.entry.js → zonos-address-completion-dialog_7.cjs.entry.js} +143 -151
  15. package/dist/cjs/zonos-address-display_2.cjs.entry.js +150 -0
  16. package/dist/cjs/zonos-address_4.cjs.entry.js +75 -14
  17. package/dist/cjs/zonos-airwallex-payment.cjs.entry.js +4 -4
  18. package/dist/cjs/zonos-badge.cjs.entry.js +3 -3
  19. package/dist/cjs/zonos-button_3.cjs.entry.js +3 -3
  20. package/dist/cjs/zonos-card_5.cjs.entry.js +10 -10
  21. package/dist/cjs/zonos-cart-items_12.cjs.entry.js +97 -25
  22. package/dist/cjs/zonos-checkbox_2.cjs.entry.js +5 -5
  23. package/dist/cjs/zonos-checkout.cjs.entry.js +4 -4
  24. package/dist/cjs/zonos-collapse.cjs.entry.js +2 -2
  25. package/dist/cjs/zonos-collect-cart-items_3.cjs.entry.js +7 -7
  26. package/dist/cjs/zonos-collect-finish_6.cjs.entry.js +20 -20
  27. package/dist/cjs/zonos-collect.cjs.entry.js +5 -5
  28. package/dist/cjs/zonos-component.cjs.entry.js +1 -1
  29. package/dist/cjs/zonos-controller.cjs.entry.js +4 -4
  30. package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
  31. package/dist/cjs/zonos-country-select_4.cjs.entry.js +10 -10
  32. package/dist/cjs/zonos-elements.cjs.js +1 -1
  33. package/dist/cjs/zonos-hello-dialog.cjs.entry.js +7 -7
  34. package/dist/cjs/zonos-hello.cjs.entry.js +1 -1
  35. package/dist/cjs/zonos-input.cjs.entry.js +4 -4
  36. package/dist/cjs/zonos-invoice-cart-items_2.cjs.entry.js +9 -9
  37. package/dist/cjs/zonos-invoice-finish_5.cjs.entry.js +15 -15
  38. package/dist/cjs/zonos-invoice.cjs.entry.js +5 -5
  39. package/dist/cjs/zonos-language-select_2.cjs.entry.js +5 -5
  40. package/dist/cjs/zonos-link.cjs.entry.js +1 -1
  41. package/dist/cjs/zonos-logo.cjs.entry.js +2 -2
  42. package/dist/cjs/zonos-policy-consent_2.cjs.entry.js +4 -4
  43. package/dist/cjs/zonos-stripe-input.cjs.entry.js +4 -4
  44. package/dist/cjs/zonos-tooltip.cjs.entry.js +2 -2
  45. package/dist/cjs/zonos-v-stack.cjs.entry.js +2 -2
  46. package/dist/collection/collection-manifest.json +1 -0
  47. package/dist/collection/components/checkout/zonos-checkout/zonos-address-completion-dialog/zonos-address-completion-dialog.css +105 -0
  48. package/dist/collection/components/checkout/zonos-checkout/zonos-address-completion-dialog/zonos-address-completion-dialog.js +341 -0
  49. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-form/zonos-address-form.js +5 -5
  50. package/dist/collection/components/checkout/zonos-checkout/zonos-address-update-dialog/zonos-address-update-dialog.js +3 -3
  51. package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +1 -1
  52. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +4 -4
  53. package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-footer/zonos-checkout-footer.js +2 -2
  54. package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +52 -2
  55. package/dist/collection/components/checkout/zonos-collect/zonos-collect-cart-items/zonos-collect-cart-items.js +1 -1
  56. package/dist/collection/components/checkout/zonos-collect/zonos-collect-finish/zonos-collect-finish.js +2 -2
  57. package/dist/collection/components/checkout/zonos-collect/zonos-collect-footer/zonos-collect-footer.js +3 -3
  58. package/dist/collection/components/checkout/zonos-collect/zonos-collect-review/zonos-collect-review.js +3 -3
  59. package/dist/collection/components/checkout/zonos-collect/zonos-collect-subtotal/zonos-collect-subtotal.js +5 -5
  60. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-cart-items/zonos-invoice-cart-items.js +2 -2
  61. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-finish/zonos-invoice-finish.js +2 -2
  62. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-footer/zonos-invoice-footer.js +3 -3
  63. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-review/zonos-invoice-review.js +3 -3
  64. package/dist/collection/components/checkout/zonos-invoice/zonos-invoice-subtotal/zonos-invoice-subtotal.js +2 -2
  65. package/dist/collection/components/common/zonos-badge/zonos-badge.js +3 -3
  66. package/dist/collection/components/common/zonos-button/zonos-button.js +3 -3
  67. package/dist/collection/components/common/zonos-card/zonos-card.js +4 -4
  68. package/dist/collection/components/common/zonos-checkbox/zonos-checkbox.js +3 -3
  69. package/dist/collection/components/common/zonos-checkout-progress-tabs/zonos-checkout-progress-tabs.js +3 -3
  70. package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +2 -2
  71. package/dist/collection/components/common/zonos-confirm-dialog/zonos-confirm-dialog.js +3 -3
  72. package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +3 -3
  73. package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +2 -2
  74. package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +3 -3
  75. package/dist/collection/components/common/zonos-h-stack/zonos-h-stack.js +2 -2
  76. package/dist/collection/components/common/zonos-input/zonos-input.js +4 -4
  77. package/dist/collection/components/common/zonos-language-select/zonos-language-select.js +2 -2
  78. package/dist/collection/components/common/zonos-link/zonos-link.js +1 -1
  79. package/dist/collection/components/common/zonos-loading-overlay/zonos-loading-overlay.js +1 -1
  80. package/dist/collection/components/common/zonos-logo/zonos-logo.js +2 -2
  81. package/dist/collection/components/common/zonos-rest-state/zonos-rest-state.js +3 -3
  82. package/dist/collection/components/common/zonos-select-dialog-header/zonos-select-dialog-header.js +2 -2
  83. package/dist/collection/components/common/zonos-skeleton/zonos-skeleton.js +1 -1
  84. package/dist/collection/components/common/zonos-stripe-input/zonos-stripe-input.js +4 -4
  85. package/dist/collection/components/common/zonos-stripe-phone-input/zonos-stripe-phone-input.js +5 -5
  86. package/dist/collection/components/common/zonos-toggle/zonos-toggle.js +2 -2
  87. package/dist/collection/components/common/zonos-tooltip/zonos-tooltip.js +2 -2
  88. package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +2 -2
  89. package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.js +2 -2
  90. package/dist/collection/components/component-template/zonos-component/zonos-component.js +1 -1
  91. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +2 -2
  92. package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +4 -4
  93. package/dist/collection/components/main/zonos-controller.js +1 -1
  94. package/dist/collection/components/paypal/zonos-paypal-payment.js +1 -1
  95. package/dist/collection/components/store/checkout/stripe.js +1 -1
  96. package/dist/collection/components/store/translationStore/strings.arabic.js +16 -4
  97. package/dist/collection/components/store/translationStore/strings.base.js +16 -4
  98. package/dist/collection/components/store/translationStore/strings.chinese.js +16 -4
  99. package/dist/collection/components/store/translationStore/strings.danish.js +16 -4
  100. package/dist/collection/components/store/translationStore/strings.dutch.js +16 -4
  101. package/dist/collection/components/store/translationStore/strings.french.js +16 -4
  102. package/dist/collection/components/store/translationStore/strings.german.js +16 -4
  103. package/dist/collection/components/store/translationStore/strings.hebrew.js +16 -4
  104. package/dist/collection/components/store/translationStore/strings.indonesian.js +16 -4
  105. package/dist/collection/components/store/translationStore/strings.italian.js +16 -4
  106. package/dist/collection/components/store/translationStore/strings.japanese.js +16 -4
  107. package/dist/collection/components/store/translationStore/strings.korean.js +16 -4
  108. package/dist/collection/components/store/translationStore/strings.norwegian.js +16 -4
  109. package/dist/collection/components/store/translationStore/strings.polish.js +16 -4
  110. package/dist/collection/components/store/translationStore/strings.portuguese.js +16 -4
  111. package/dist/collection/components/store/translationStore/strings.russian.js +16 -4
  112. package/dist/collection/components/store/translationStore/strings.spanish.js +16 -4
  113. package/dist/collection/components/store/translationStore/strings.swedish.js +16 -4
  114. package/dist/collection/components/store/translationStore/strings.turkish.js +16 -4
  115. package/dist/collection/components/store/translationStore/strings.vietnamese.js +16 -4
  116. package/dist/collection/components/stripe/zonos-address/zonos-address.js +11 -6
  117. package/dist/collection/components/stripe/zonos-custom-address/zonos-address-suggestions/zonos-address-suggestions.js +2 -2
  118. package/dist/collection/components/stripe/zonos-custom-address/zonos-custom-address.js +2 -2
  119. package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +1 -1
  120. package/dist/collection/components/utils/checkout/applyAddressCompletion.js +23 -0
  121. package/dist/collection/components/utils/checkout/buildAddressContacts.js +57 -0
  122. package/dist/collection/components/utils/checkout/getMissingRequiredShippingFields.js +44 -0
  123. package/dist/collection/components/utils/taxIdValidationResult.js +6 -3
  124. package/dist/collection/types/checkout/TaxId.js +1 -1
  125. package/dist/esm/{TaxId-50d72254.js → TaxId-63a14057.js} +1 -1
  126. package/dist/esm/{cart-4699e6ab.js → cart-5282f6c1.js} +3 -3
  127. package/dist/esm/{collect-24cc2e12.js → collect-fdbab973.js} +2 -2
  128. package/dist/esm/getMissingRequiredShippingFields-bdeecbff.js +47 -0
  129. package/dist/esm/{hasInclusivePrice-f81ddcd6.js → hasInclusivePrice-161e203f.js} +1 -1
  130. package/dist/esm/index.js +8 -8
  131. package/dist/esm/{invoice-575dc93d.js → invoice-cf6ad79e.js} +2 -2
  132. package/dist/esm/loader.js +1 -1
  133. package/dist/esm/{localization-da2f407f.js → localization-0953a048.js} +320 -80
  134. package/dist/esm/{paypal-d4436abd.js → paypal-7c82eac4.js} +2 -2
  135. package/dist/esm/{placeTestOrder-d87b2c6a.js → placeTestOrder-6a746207.js} +2 -2
  136. package/dist/esm/{renderCheckoutCurrency-08526996.js → renderCheckoutCurrency-44f897a1.js} +2 -2
  137. package/dist/esm/{shouldRenderTaxIdInput-2572bf77.js → shouldRenderTaxIdInput-ef7b5860.js} +1 -1
  138. package/dist/esm/{zonos-address-display_8.entry.js → zonos-address-completion-dialog_7.entry.js} +144 -151
  139. package/dist/esm/zonos-address-display_2.entry.js +145 -0
  140. package/dist/esm/zonos-address_4.entry.js +75 -14
  141. package/dist/esm/zonos-airwallex-payment.entry.js +4 -4
  142. package/dist/esm/zonos-badge.entry.js +3 -3
  143. package/dist/esm/zonos-button_3.entry.js +3 -3
  144. package/dist/esm/zonos-card_5.entry.js +10 -10
  145. package/dist/esm/zonos-cart-items_12.entry.js +98 -26
  146. package/dist/esm/zonos-checkbox_2.entry.js +5 -5
  147. package/dist/esm/zonos-checkout.entry.js +4 -4
  148. package/dist/esm/zonos-collapse.entry.js +2 -2
  149. package/dist/esm/zonos-collect-cart-items_3.entry.js +7 -7
  150. package/dist/esm/zonos-collect-finish_6.entry.js +20 -20
  151. package/dist/esm/zonos-collect.entry.js +5 -5
  152. package/dist/esm/zonos-component.entry.js +1 -1
  153. package/dist/esm/zonos-controller.entry.js +4 -4
  154. package/dist/esm/zonos-country-flag.entry.js +1 -1
  155. package/dist/esm/zonos-country-select_4.entry.js +10 -10
  156. package/dist/esm/zonos-elements.js +1 -1
  157. package/dist/esm/zonos-hello-dialog.entry.js +7 -7
  158. package/dist/esm/zonos-hello.entry.js +1 -1
  159. package/dist/esm/zonos-input.entry.js +4 -4
  160. package/dist/esm/zonos-invoice-cart-items_2.entry.js +9 -9
  161. package/dist/esm/zonos-invoice-finish_5.entry.js +15 -15
  162. package/dist/esm/zonos-invoice.entry.js +5 -5
  163. package/dist/esm/zonos-language-select_2.entry.js +5 -5
  164. package/dist/esm/zonos-link.entry.js +1 -1
  165. package/dist/esm/zonos-logo.entry.js +2 -2
  166. package/dist/esm/zonos-policy-consent_2.entry.js +4 -4
  167. package/dist/esm/zonos-stripe-input.entry.js +4 -4
  168. package/dist/esm/zonos-tooltip.entry.js +2 -2
  169. package/dist/esm/zonos-v-stack.entry.js +2 -2
  170. package/dist/esm-es5/{TaxId-50d72254.js → TaxId-63a14057.js} +1 -1
  171. package/dist/esm-es5/{cart-4699e6ab.js → cart-5282f6c1.js} +1 -1
  172. package/dist/esm-es5/{collect-24cc2e12.js → collect-fdbab973.js} +1 -1
  173. package/dist/esm-es5/getMissingRequiredShippingFields-bdeecbff.js +1 -0
  174. package/dist/esm-es5/{hasInclusivePrice-f81ddcd6.js → hasInclusivePrice-161e203f.js} +1 -1
  175. package/dist/esm-es5/index.js +1 -1
  176. package/dist/esm-es5/{invoice-575dc93d.js → invoice-cf6ad79e.js} +1 -1
  177. package/dist/esm-es5/loader.js +1 -1
  178. package/dist/esm-es5/localization-0953a048.js +1 -0
  179. package/dist/esm-es5/{paypal-d4436abd.js → paypal-7c82eac4.js} +1 -1
  180. package/dist/esm-es5/{placeTestOrder-d87b2c6a.js → placeTestOrder-6a746207.js} +1 -1
  181. package/dist/esm-es5/{renderCheckoutCurrency-08526996.js → renderCheckoutCurrency-44f897a1.js} +1 -1
  182. package/dist/esm-es5/{shouldRenderTaxIdInput-2572bf77.js → shouldRenderTaxIdInput-ef7b5860.js} +1 -1
  183. package/dist/esm-es5/zonos-address-completion-dialog_7.entry.js +1 -0
  184. package/dist/esm-es5/zonos-address-display_2.entry.js +1 -0
  185. package/dist/esm-es5/zonos-address_4.entry.js +1 -1
  186. package/dist/esm-es5/zonos-airwallex-payment.entry.js +1 -1
  187. package/dist/esm-es5/zonos-badge.entry.js +1 -1
  188. package/dist/esm-es5/zonos-button_3.entry.js +1 -1
  189. package/dist/esm-es5/zonos-card_5.entry.js +1 -1
  190. package/dist/esm-es5/zonos-cart-items_12.entry.js +1 -1
  191. package/dist/esm-es5/zonos-checkbox_2.entry.js +1 -1
  192. package/dist/esm-es5/zonos-checkout.entry.js +1 -1
  193. package/dist/esm-es5/zonos-collapse.entry.js +1 -1
  194. package/dist/esm-es5/zonos-collect-cart-items_3.entry.js +1 -1
  195. package/dist/esm-es5/zonos-collect-finish_6.entry.js +1 -1
  196. package/dist/esm-es5/zonos-collect.entry.js +1 -1
  197. package/dist/esm-es5/zonos-component.entry.js +1 -1
  198. package/dist/esm-es5/zonos-controller.entry.js +1 -1
  199. package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
  200. package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
  201. package/dist/esm-es5/zonos-elements.js +1 -1
  202. package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
  203. package/dist/esm-es5/zonos-hello.entry.js +1 -1
  204. package/dist/esm-es5/zonos-input.entry.js +1 -1
  205. package/dist/esm-es5/zonos-invoice-cart-items_2.entry.js +1 -1
  206. package/dist/esm-es5/zonos-invoice-finish_5.entry.js +1 -1
  207. package/dist/esm-es5/zonos-invoice.entry.js +1 -1
  208. package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
  209. package/dist/esm-es5/zonos-link.entry.js +1 -1
  210. package/dist/esm-es5/zonos-logo.entry.js +1 -1
  211. package/dist/esm-es5/zonos-policy-consent_2.entry.js +1 -1
  212. package/dist/esm-es5/zonos-stripe-input.entry.js +1 -1
  213. package/dist/esm-es5/zonos-tooltip.entry.js +1 -1
  214. package/dist/esm-es5/zonos-v-stack.entry.js +1 -1
  215. package/dist/scripts/index.d.ts +125 -2
  216. package/dist/scripts/index.js +1 -1
  217. package/dist/scripts/loadZonos.js +1 -1
  218. package/dist/scripts/zonos.js +1 -1
  219. package/dist/types/components/checkout/zonos-checkout/zonos-address-completion-dialog/zonos-address-completion-dialog.d.ts +75 -0
  220. package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +16 -0
  221. package/dist/types/components/store/checkout/stripe.d.ts +4 -0
  222. package/dist/types/components/store/translationStore/strings.arabic.d.ts +14 -2
  223. package/dist/types/components/store/translationStore/strings.base.d.ts +14 -2
  224. package/dist/types/components/store/translationStore/strings.chinese.d.ts +14 -2
  225. package/dist/types/components/store/translationStore/strings.danish.d.ts +14 -2
  226. package/dist/types/components/store/translationStore/strings.dutch.d.ts +14 -2
  227. package/dist/types/components/store/translationStore/strings.french.d.ts +14 -2
  228. package/dist/types/components/store/translationStore/strings.german.d.ts +14 -2
  229. package/dist/types/components/store/translationStore/strings.hebrew.d.ts +14 -2
  230. package/dist/types/components/store/translationStore/strings.indonesian.d.ts +14 -2
  231. package/dist/types/components/store/translationStore/strings.italian.d.ts +14 -2
  232. package/dist/types/components/store/translationStore/strings.japanese.d.ts +14 -2
  233. package/dist/types/components/store/translationStore/strings.korean.d.ts +14 -2
  234. package/dist/types/components/store/translationStore/strings.norwegian.d.ts +14 -2
  235. package/dist/types/components/store/translationStore/strings.polish.d.ts +14 -2
  236. package/dist/types/components/store/translationStore/strings.portuguese.d.ts +14 -2
  237. package/dist/types/components/store/translationStore/strings.russian.d.ts +14 -2
  238. package/dist/types/components/store/translationStore/strings.spanish.d.ts +14 -2
  239. package/dist/types/components/store/translationStore/strings.swedish.d.ts +14 -2
  240. package/dist/types/components/store/translationStore/strings.turkish.d.ts +14 -2
  241. package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +14 -2
  242. package/dist/types/components/utils/checkout/applyAddressCompletion.d.ts +25 -0
  243. package/dist/types/components/utils/checkout/buildAddressContacts.d.ts +21 -0
  244. package/dist/types/components/utils/checkout/getMissingRequiredShippingFields.d.ts +35 -0
  245. package/dist/types/components/utils/taxIdValidationResult.d.ts +1 -1
  246. package/dist/types/components.d.ts +97 -0
  247. package/dist/types/types/checkout/TaxId.d.ts +1 -1
  248. package/dist/zonos-elements/index.esm.js +1 -1
  249. package/dist/zonos-elements/{p-b330e451.system.js → p-0287f9cd.system.js} +1 -1
  250. package/dist/zonos-elements/{p-5aee5de5.system.entry.js → p-05cb0a0d.system.entry.js} +1 -1
  251. package/dist/zonos-elements/{p-3f90cb36.entry.js → p-0fb4e032.entry.js} +1 -1
  252. package/dist/zonos-elements/{p-dbd5be5d.entry.js → p-10584546.entry.js} +1 -1
  253. package/dist/zonos-elements/p-193fc2da.entry.js +1 -0
  254. package/dist/zonos-elements/p-1977f4b5.js +1 -0
  255. package/dist/zonos-elements/p-1cf5e2ce.system.entry.js +1 -0
  256. package/dist/zonos-elements/p-1cf76dd3.entry.js +1 -0
  257. package/dist/zonos-elements/p-1d31b966.system.js +1 -0
  258. package/dist/zonos-elements/{p-0ad6a92b.system.entry.js → p-21489ff1.system.entry.js} +1 -1
  259. package/dist/zonos-elements/{p-734d646b.entry.js → p-21f7d57b.entry.js} +1 -1
  260. package/dist/zonos-elements/{p-b8c019b9.system.js → p-2394b186.system.js} +1 -1
  261. package/dist/zonos-elements/{p-5b54f10c.entry.js → p-23eee868.entry.js} +1 -1
  262. package/dist/zonos-elements/{p-b5f67807.entry.js → p-26bf0c31.entry.js} +1 -1
  263. package/dist/zonos-elements/{p-40a0c1d3.system.js → p-28ee0860.system.js} +1 -1
  264. package/dist/zonos-elements/p-29b60bf3.system.js +1 -1
  265. package/dist/zonos-elements/{p-6bea1787.entry.js → p-30cfc9f4.entry.js} +1 -1
  266. package/dist/zonos-elements/{p-aff7112b.entry.js → p-323279b8.entry.js} +1 -1
  267. package/dist/zonos-elements/{p-8c54aaec.entry.js → p-32b53999.entry.js} +1 -1
  268. package/dist/zonos-elements/{p-c15476a1.system.entry.js → p-333f6018.system.entry.js} +1 -1
  269. package/dist/zonos-elements/p-3642dd99.entry.js +1 -0
  270. package/dist/zonos-elements/p-3c62acbd.js +1 -0
  271. package/dist/zonos-elements/{p-fc2d5dd9.entry.js → p-4417475f.entry.js} +1 -1
  272. package/dist/zonos-elements/p-543b25f9.entry.js +1 -0
  273. package/dist/zonos-elements/{p-1992fd91.entry.js → p-55c5977b.entry.js} +1 -1
  274. package/dist/zonos-elements/{p-72c1bd64.entry.js → p-56e9a29e.entry.js} +1 -1
  275. package/dist/zonos-elements/p-59518657.entry.js +1 -0
  276. package/dist/zonos-elements/p-5953208b.js +1 -0
  277. package/dist/zonos-elements/p-5987dea1.js +1 -0
  278. package/dist/zonos-elements/{p-a44591f6.system.entry.js → p-5a37683b.system.entry.js} +1 -1
  279. package/dist/zonos-elements/{p-36b311f9.system.entry.js → p-5b11bbca.system.entry.js} +1 -1
  280. package/dist/zonos-elements/{p-b05da593.system.entry.js → p-5d6b018c.system.entry.js} +1 -1
  281. package/dist/zonos-elements/p-63b462dd.system.entry.js +1 -0
  282. package/dist/zonos-elements/p-646e6b47.system.entry.js +1 -0
  283. package/dist/zonos-elements/{p-81c4f04a.system.entry.js → p-68631285.system.entry.js} +1 -1
  284. package/dist/zonos-elements/{p-12452213.entry.js → p-6f874ed9.entry.js} +1 -1
  285. package/dist/zonos-elements/p-71fc8a22.js +1 -0
  286. package/dist/zonos-elements/{p-c4a479ad.entry.js → p-76e36d6d.entry.js} +1 -1
  287. package/dist/zonos-elements/{p-a3d3ce5d.system.entry.js → p-781b3345.system.entry.js} +1 -1
  288. package/dist/zonos-elements/{p-275fa2da.js → p-7ab15d20.js} +1 -1
  289. package/dist/zonos-elements/{p-48d55793.system.js → p-7ac8846c.system.js} +1 -1
  290. package/dist/zonos-elements/{p-96e7b465.js → p-7c70e0c7.js} +1 -1
  291. package/dist/zonos-elements/p-8418aa07.entry.js +1 -0
  292. package/dist/zonos-elements/{p-99e8743e.system.entry.js → p-8fa3a8f8.system.entry.js} +1 -1
  293. package/dist/zonos-elements/{p-944148db.system.entry.js → p-8fb15a6b.system.entry.js} +1 -1
  294. package/dist/zonos-elements/{p-6451537c.entry.js → p-95042e71.entry.js} +1 -1
  295. package/dist/zonos-elements/p-987b5d8f.js +1 -0
  296. package/dist/zonos-elements/{p-2b8345d8.system.js → p-989cb22b.system.js} +1 -1
  297. package/dist/zonos-elements/{p-2dbdf883.system.js → p-a4eddf6c.system.js} +1 -1
  298. package/dist/zonos-elements/p-a553e132.js +1 -0
  299. package/dist/zonos-elements/{p-6197aa73.system.entry.js → p-aa1f3060.system.entry.js} +1 -1
  300. package/dist/zonos-elements/p-aa37f436.system.entry.js +1 -0
  301. package/dist/zonos-elements/{p-788a16bb.system.js → p-ab61ef19.system.js} +1 -1
  302. package/dist/zonos-elements/{p-362215b6.system.entry.js → p-b91a8f31.system.entry.js} +1 -1
  303. package/dist/zonos-elements/{p-15097876.system.entry.js → p-b93013f7.system.entry.js} +1 -1
  304. package/dist/zonos-elements/{p-6b361d2b.js → p-bcf5cffb.js} +1 -1
  305. package/dist/zonos-elements/{p-807e7ebc.entry.js → p-c121b2b8.entry.js} +1 -1
  306. package/dist/zonos-elements/{p-66223935.system.entry.js → p-c12ca8fe.system.entry.js} +1 -1
  307. package/dist/zonos-elements/p-c5bfe522.system.js +1 -0
  308. package/dist/zonos-elements/{p-732e7373.system.entry.js → p-c634546a.system.entry.js} +1 -1
  309. package/dist/zonos-elements/{p-f3759c70.js → p-c8bc4ede.js} +1 -1
  310. package/dist/zonos-elements/{p-a7f0e824.system.entry.js → p-c8df5eee.system.entry.js} +1 -1
  311. package/dist/zonos-elements/{p-43a14674.system.entry.js → p-c9e44c77.system.entry.js} +1 -1
  312. package/dist/zonos-elements/{p-cf0c8c77.system.entry.js → p-ca9231a0.system.entry.js} +1 -1
  313. package/dist/zonos-elements/{p-3e058b4e.entry.js → p-cb376f03.entry.js} +1 -1
  314. package/dist/zonos-elements/{p-016b5bde.system.js → p-cd3f7fd7.system.js} +1 -1
  315. package/dist/zonos-elements/{p-b6cd6e62.system.entry.js → p-d06486ba.system.entry.js} +1 -1
  316. package/dist/zonos-elements/{p-db9cb522.entry.js → p-d0767f88.entry.js} +1 -1
  317. package/dist/zonos-elements/{p-46f88c11.system.entry.js → p-d2cb99ee.system.entry.js} +1 -1
  318. package/dist/zonos-elements/p-ddd0e703.system.entry.js +1 -0
  319. package/dist/zonos-elements/{p-85796e67.entry.js → p-dfd83cff.entry.js} +1 -1
  320. package/dist/zonos-elements/{p-4efd7178.entry.js → p-e0cbc7c7.entry.js} +1 -1
  321. package/dist/zonos-elements/{p-b6049eef.system.entry.js → p-e101b0de.system.entry.js} +1 -1
  322. package/dist/zonos-elements/{p-dd6da3de.entry.js → p-e3d0d8ff.entry.js} +1 -1
  323. package/dist/zonos-elements/{p-a30f03d6.system.js → p-e57f862d.system.js} +1 -1
  324. package/dist/zonos-elements/{p-1bb85ff1.entry.js → p-e6e3a303.entry.js} +1 -1
  325. package/dist/zonos-elements/{p-5d4201d5.entry.js → p-ef2c264c.entry.js} +1 -1
  326. package/dist/zonos-elements/{p-564c7bb5.system.entry.js → p-f1298203.system.entry.js} +1 -1
  327. package/dist/zonos-elements/{p-0adab1d5.system.entry.js → p-f1aa60fd.system.entry.js} +1 -1
  328. package/dist/zonos-elements/{p-429ab545.system.entry.js → p-f1dbeb85.system.entry.js} +1 -1
  329. package/dist/zonos-elements/{p-2825431d.entry.js → p-f2431e47.entry.js} +1 -1
  330. package/dist/zonos-elements/{p-29c1703c.system.entry.js → p-f2511b86.system.entry.js} +1 -1
  331. package/dist/zonos-elements/{p-08e78d79.entry.js → p-fa80a973.entry.js} +1 -1
  332. package/dist/zonos-elements/p-fb8dc23f.system.js +1 -0
  333. package/dist/zonos-elements/{p-f59514e9.entry.js → p-fc45b3a5.entry.js} +1 -1
  334. package/dist/zonos-elements/{p-3068247c.system.entry.js → p-fdd7ec44.system.entry.js} +1 -1
  335. package/dist/zonos-elements/zonos-elements.esm.js +1 -1
  336. package/package.json +1 -1
  337. package/dist/esm-es5/localization-da2f407f.js +0 -1
  338. package/dist/esm-es5/zonos-address-display_8.entry.js +0 -1
  339. package/dist/zonos-elements/p-19f4e77a.entry.js +0 -1
  340. package/dist/zonos-elements/p-28b1c189.entry.js +0 -1
  341. package/dist/zonos-elements/p-39e2642f.js +0 -1
  342. package/dist/zonos-elements/p-3f8f4c78.js +0 -1
  343. package/dist/zonos-elements/p-63a383f4.js +0 -1
  344. package/dist/zonos-elements/p-65fe75e1.entry.js +0 -1
  345. package/dist/zonos-elements/p-67b2e46c.js +0 -1
  346. package/dist/zonos-elements/p-7237ec6f.system.entry.js +0 -1
  347. package/dist/zonos-elements/p-75da4ba0.entry.js +0 -1
  348. package/dist/zonos-elements/p-79b6070a.js +0 -1
  349. package/dist/zonos-elements/p-94329e56.js +0 -1
  350. package/dist/zonos-elements/p-a5afcea1.system.entry.js +0 -1
  351. package/dist/zonos-elements/p-c2014d57.system.entry.js +0 -1
  352. package/dist/zonos-elements/p-dff1d3be.entry.js +0 -1
  353. package/dist/zonos-elements/p-ec53c436.system.entry.js +0 -1
  354. package/dist/zonos-elements/p-f55a2352.system.js +0 -1
  355. package/dist/zonos-elements/p-fd2d4d04.system.js +0 -1
@@ -1 +1 @@
1
- (function(){"use strict";const e=({id:e,payload:o,target:t,type:n})=>{var r;t instanceof HTMLIFrameElement?null===(r=t.contentWindow)||void 0===r||r.postMessage({id:e,payload:o,type:n},"*"):t.postMessage({id:e,payload:o,type:n},"*")};class o{constructor(o,t){this.targetElement=o,this.targetId=t,this.sendMessage=(o,t)=>{e({id:this.targetId,payload:t,target:this.targetElement,type:o})}}}o.iframeServices={GOOGLE_PLACES:"zonos--private-iframe-google-places-service-m9bmuh7g"},o.sendMessage=e,o.injectPrivateIframe=({id:e,onload:o,src:t})=>{const n=document.createElement("iframe");return n.src=t,n.id=e,n.style.display="none",n.role="presentation",n.ariaHidden="true",n.tabIndex=-1,n.style.border="none !important",n.style.margin="0px !important",n.style.padding="0px !important",n.style.width="1px !important",n.style.minWidth="100% !important",n.style.overflow="hidden !important",n.style.display="block !important",n.style.visibility="hidden !important",n.style.position="fixed !important",n.style.pointerEvents="none !important",n.style.userSelect="none !important",n.style.height="1px !important",n.onload=()=>o(n),document.body.appendChild(n),n};const t=performance.now(),n=e=>{if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(o){if(e&&"function"==typeof e.toString){return e.toString()}return"Unable to stringify info"}},r=(e,o,...r)=>{var s,i;const{elapsedTimePretty:a}=(()=>{const e=performance.now()-t,o=e>1e3?`${(e/1e3).toFixed(2)}s`:`${e.toFixed(2)}ms`;return{elapsedTime:e,elapsedTimePretty:o}})(),l=[`(${a})`,...r];l.map(n).join(" ");if(!(!!(null===(s=window.Zonos)||void 0===s?void 0:s.debug)||!!window.location.search.match(/\?.*(&*)zonosDebug=1/)))return;let d=document.querySelector("iframe#zonos---debug-logging-iframe");d||(d=document.createElement("iframe"),d.id="zonos---debug-logging-iframe",d.style.display="none",d.style.opacity="0",d.style.position="absolute",d.style.top="-9999px",d.style.left="-9999px",d.style.width="1px",d.style.height="1px",d.style.border="none",d.style.overflow="hidden",d.style.visibility="hidden",document.body.appendChild(d));const c=(null===(i=d.contentWindow)||void 0===i?void 0:i.window.console)||window.console;switch(o){case"warn":c.warn(e,...l);break;case"info":c.info(e,...l);break;case"error":c.error(e,...l);break;default:c.groupCollapsed(e,...l),c.trace(),c.groupEnd()}},s=(e,...o)=>{r(e,"error",...o)},i=["jsdelivr","cdnjs","unpkg","vercel"],a="jsdelivr",l=e=>{const o=i.indexOf(e);return i[o+1]||null},d=()=>window.location.search.includes("zonosStagingMode=1"),c=()=>{var e;return(null===(e=window.Zonos.zonosApiKey)||void 0===e?void 0:e.includes("test"))||window.location.search.includes("zonosTestMode=1")};function u(e,o){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&o.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)o.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(t[n[r]]=e[n[r]])}return t}"function"==typeof SuppressedError&&SuppressedError;const p=["cloudflare","vercel"],m=p[0],w={cloudflare:"https://route.elements.zonos.com",vercel:"https://route.js.zonos.com"},y=w[m],h=(e=m)=>{const o=p.indexOf(e),t=p[o+1];return t||null},g=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(e){return null}return null},f=()=>{const e="userAgentData"in window.navigator?window.navigator.userAgentData:null,o=(()=>{const e="connection"in window.navigator?window.navigator.connection:null,o="mozConnection"in window.navigator?window.navigator.mozConnection:null,t="webkitConnection"in window.navigator?window.navigator.webkitConnection:null;return e||o||t})();return{connectionDownlink:null==o?void 0:o.downlink,connectionEffectiveType:null==o?void 0:o.effectiveType,connectionRtt:null==o?void 0:o.rtt,connectionSaveData:null==o?void 0:o.saveData,isHostedCheckout:window.Zonos.isLegacyCheckout,screenHeight:window.screen.height,screenWidth:window.innerWidth,userAgent:e&&e.brands.length>0?e:window.navigator.userAgent}},v=["/api/zonos-elements/log-script-load","/api/zonos-elements/log-bulk-load-data"],b=async({response:e,shouldLog:o=!0,shouldThrow:t=!1})=>{try{const o=await e.text(),t=g(o);if(!t)throw new Error(`Failed to parse content: ${o}`);return t}catch(e){if(t)throw e;return o&&console.error(e),null}},S=async({basePathType:e,options:o,path:t})=>{let n;const r=window.Zonos.zonosQaUrlApi||w[e]||m,s=new URL(r+t),i=window.Zonos.cartId?`${window.location.hostname}-${window.Zonos.cartId}`:window.location.hostname;s.searchParams.set("zToken",(e=>{try{return btoa(e).replace(/=/g,"")}catch(o){return e.replace(/[^A-Za-z0-9]/g,"").split("").reverse().join("")}})(i));try{n=await fetch(s.toString(),o)}catch(e){if(e instanceof Error)return{baseUrl:r,errors:[{message:e.message,type:"unknown"}],json:null,response:null,zonosMode:null};return{baseUrl:r,errors:[{message:"Failed to fetch",type:"unknown"}],json:null,response:null,zonosMode:null}}const a=n.headers.get("Zonos-Mode"),l=window.Zonos.zonosQaUrl;if(!window.Zonos.modeAlerted&&a&&l&&(window.Zonos.modeAlerted=!0),n.ok){return{baseUrl:r,errors:[],json:await b({response:n}),response:n,zonosMode:a}}const d=n.status.toString();try{const e=await b({response:n,shouldThrow:!0});if(e&&"errors"in e&&Array.isArray(e.errors)){const o=e.errors;return{baseUrl:r,errors:o.map(e=>"string"==typeof e?{message:e,type:d}:e),json:null,response:n,zonosMode:a}}return{baseUrl:r,errors:[{message:JSON.stringify(e),type:d}],json:null,response:n,zonosMode:a}}catch(e){return{baseUrl:r,errors:[{message:`${d}: ${"Unknown error"}`,type:d}],json:null,response:null,zonosMode:a}}},C=async({basePathType:e,options:o,path:t})=>{var n,s;const i=t.startsWith("/api/bigcommerce")?"vercel":e,a=performance.now(),l=await S({basePathType:i,options:o,path:t}),{errors:d,response:c}=l,p=u(l,["errors","response"]),m=performance.now()-a;r(`${t} (${m.toFixed(2)}ms)`,"info");const b=null==c?void 0:c.headers.get("Zonos-Duration");200===(null==c?void 0:c.status)&&(({apiPath:e,apiType:o,loadTimeInternal:t,loadTimeTotal:n})=>{if(v.includes(e))return;const r=n-t;if(r<0)return;const s=e.split("?")[0]||e,i=f(),a="object"==typeof i.userAgent&&i.userAgent.mobile,l={apiType:o,connectionType:i.connectionEffectiveType,href:s,isHostedCheckout:window.Zonos.isLegacyCheckout,isMobile:(d=a,d||window.innerWidth<890),loadTimeBrowserApi:r,loadTimeInternal:t,loadTimeTotal:n,metadata:Object.assign({},i),screenHeight:i.screenHeight,screenWidth:i.screenWidth,userAgent:"string"==typeof i.userAgent?i.userAgent:i.userAgent.brands.map(e=>e.brand).filter(e=>!/Not.*A.*Brand.*/.test(e)).join(",")};var d;window.Zonos.loadTimeApiInfoList.push(l)})({apiPath:t,apiType:i,loadTimeInternal:b?Number(b):0,loadTimeTotal:m});const z=h(i),k=d.find(({type:e})=>"unknown"===e),Z=d.find(({message:e})=>"string"==typeof e&&(e.includes("signal is aborted")||e.includes("The operation was aborted")||e.includes("Fetch is aborted"))),I=!!k||404===(null==c?void 0:c.status)||500===(null==c?void 0:c.status),j=z&&I;return I&&!Z&&(async({endpoint:e,errors:o,metadata:t,shouldPostReleaseErrorReporting:n})=>{r("sendErrorLog","warn",e,t,o);{const e=Number(window.Zonos.releaseDate);if((new Date).getTime()-e>36e5)return}const s="userAgentData"in window.navigator?window.navigator.userAgentData:null,i={endpoint:e,errors:o,href:window.location.href,metadata:Object.assign({appVersion:window.Zonos.version,domain:window.Zonos.domain,publicCredential:window.Zonos.zonosApiKey,userAgent:s&&s.brands.length>0?s:window.navigator.userAgent},t)};try{fetch(`${y}/api/zonos-elements/log-error`,{body:JSON.stringify(i),headers:{"Zonos-Referer":window.location.hostname},method:"POST"})}catch(e){const o=h();if(!o)return;fetch(`${w[o]}/api/zonos-elements/log-error`,{body:JSON.stringify(i),method:"POST"})}})({endpoint:w[i]+t,errors:d.map(({message:e})=>`API: ${e}`),metadata:{currentBasePath:i,nextFallbackApiType:z,requestHeaders:null==o?void 0:o.headers,requestPayload:g(null===(n=null==o?void 0:o.body)||void 0===n?void 0:n.toString())||(null===(s=null==o?void 0:o.body)||void 0===s?void 0:s.toString()),shouldCallFallback:j,status:null==c?void 0:c.status,statusText:null==c?void 0:c.statusText},shouldPostReleaseErrorReporting:!0}),j?(r(`=== "${t}" failed to fetch, trying next fallback ${z}`),C({basePathType:z,options:o,path:t})):Object.assign({errors:d,response:c},p)},z=async(e,o)=>{const t=u(o||{},[]),n=t.body?JSON.stringify(t.body):void 0,r=t.method||"GET",s=Object.assign({"Content-Type":"application/json","Zonos-Is-BigCommerce":window.Zonos.isBigCommerce.toString(),"Zonos-Referer":window.location.hostname,"Zonos-Staging-Mode":d()?"1":void 0,"Zonos-Test-Mode":c()?"1":void 0,"Zonos-Version":window.Zonos.version,credentialtoken:window.Zonos.zonosApiKey||"Empty credential token from zonos-elements"},t.headers);Object.keys(s).forEach(e=>void 0===s[e]&&delete s[e]);const i=Object.assign(Object.assign({},t),{body:"GET"===r?void 0:n,headers:s,method:r}),a=new URLSearchParams(window.location.search).get("useFallbackApi");return C({basePathType:a||m,options:i,path:e})},k=()=>{const e=window&&window.location.href.includes("forceLoadCdn");if("undefined"==typeof window||e)return null;const o=(e=>{if(!e)return null;const o=new URL(e).searchParams.get("zonosQaUrl");return o?/[^a-zA-Z0-9-_]+/.test(o)?null:o:null})(window.location.href),t="https://v1.3.280.js.zonos.com";if(!o&&(t.includes("test.")||t.includes("test-")))return t;if(!o&&["dev.demo.elements.zonos.com","dev.checkout.elements.zonos.com","dev.storybook.elements.zonos.com"].includes(window.location.hostname))return"https://dev.elements.zonos.com";if(!o)return null;if("dev-elements"===o)return"https://dev.elements.zonos.com";const n=`https://${o}.preview.js.zonos.com`;return r(`[ZONOS-WARNING] using '${n}' for loading elements script`,"warn"),fetch(n).then(()=>{window.sessionStorage.removeItem("zonos--checkout-session-id"),window.sessionStorage.removeItem("zonos--client-secret")}).catch(()=>{alert(`[ZONOS-WARNING] '${n}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);const e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");const{pathname:o}=window.location,t=`${o}?${e.toString()}`;return window.history.replaceState(window.history.state,"",t),window.location.reload(),null}),n},Z="https://js.stripe.com/v3",I=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;let j=null;const O=e=>(null!==j||(j=new Promise((o,t)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe)o(window.Stripe);else try{let n=(()=>{const e=document.querySelectorAll(`script[src^="${Z}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&I.test(t.src))return t}return null})();n&&e?console.warn("loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used"):n||(n=(()=>{const e=document.createElement("script");e.src=`${Z}`;const o=document.head||document.body;return o?(o.appendChild(e),e):(s("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})()),null==n||n.addEventListener("load",()=>{window.Stripe?o(window.Stripe):t(new Error("Stripe.js not available"))}),null==n||n.addEventListener("error",()=>{t(new Error("Failed to load Stripe.js"))})}catch(e){return void t(e)}else o(null)})),j),A=Promise.resolve().then(()=>(()=>{var e,o;return"undefined"!=typeof window&&("function"==typeof(null===(e=window.Zonos)||void 0===e?void 0:e.createCartId)||"function"==typeof(null===(o=window.Zonos)||void 0===o?void 0:o.buildCartDetail))})()?O(null):null);let E=!1;A.catch(e=>{E||console.warn(e)});const T=async({cartId:e,retries:o})=>{const t=c(),n=(()=>{const e=new URLSearchParams(window.location.search);return{overrideShouldEnabledCustomAddress:window.Zonos.overrideUseCustomAddressForm?"1":e.get("overrideShouldEnabledCustomAddress")}})(),s=(()=>{const e=new URLSearchParams(window.location.search).get("validityToken");if(!e||!/^[A-Za-z0-9+/]+={0,2}$/.test(e)||e.length%4!=0)return null;try{return atob(e),e}catch(e){return null}})()||void 0,i=new URLSearchParams;n.overrideShouldEnabledCustomAddress&&i.set("overrideShouldEnabledCustomAddress",n.overrideShouldEnabledCustomAddress);const{errors:a,json:l,zonosMode:d}=await z(`/api/zonos-elements/get-cart?${i.toString()}`,{body:{isTestMode:t,renewCartExpirationToken:s,tempCartUUID:e},headers:{"Content-Type":"application/json"},method:"POST"}),u=!l||a.length;return u&&o?(r("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:o}),await new Promise(e=>setTimeout(e,500)),T({cartId:e,retries:o-1})):u?null:Object.assign(Object.assign({},l),{zonosMode:d})},L=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,P=new RegExp(`^${L.source}$`),$=new RegExp(`^cart_${L.source}$`),D=/^[a-zA-Z0-9]{2,}$/,U=/^cart_[a-zA-Z0-9]{2,}$/,N=async e=>{const{isDgsCartId:o,isLegacyCartId:t}=(e=>e?e.includes("undefined")?{isDgsCartId:!1,isLegacyCartId:!1}:U.test(e)?{isDgsCartId:!0,isLegacyCartId:!1}:D.test(e)?{isDgsCartId:!1,isLegacyCartId:!0}:$.test(e)?{isDgsCartId:!0,isLegacyCartId:!1}:P.test(e)?{isDgsCartId:!1,isLegacyCartId:!0}:{isDgsCartId:!1,isLegacyCartId:!1}:{isDgsCartId:!1,isLegacyCartId:!1})(e);if(!t&&!o)return s("[ZONOS - loadZonos] invalid cart id"),null;const n=await T({cartId:e,retries:5});return r("[ZONOS - loadZonos] getting temp cart data","info",n),n?(window.Zonos.storeId=n.cartData.storeId,window.Zonos.zonosApiKey=n.cartData.credentialToken,window.Zonos.zonosMode=n.zonosMode,{cartData:n.cartData,settings:n.settings,storeFavicon:n.storeFaviconUrl,storeId:n.cartData.storeId,storeLogo:n.storeLogoUrl,zonosApiKey:n.cartData.credentialToken}):(s("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process."),null)},R="zonos--checkout-hidden-international-button";var F;const x=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:o,isWhiteListed:t}=(({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const o=new URL(e).origin,t=["dev.elements.zonos.com","dev.assets-checkout.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some(e=>o.includes(e)),n=["qa.js.zonos.com"].some(e=>o.includes(e));return{currentLoadScriptUrl:o,isForceLoadVersionDomain:n,isWhiteListed:t}})({loadScriptSrc:null==e?void 0:e.src});return t?o:null})(),M=Date.now(),B="https://v1.3.280.js.zonos.com",q=x||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.280",W="https://fonts.googleapis.com",K=/^https:\/\/fonts\.googleapis\.com/;class G{}F=G,G.doneInit=!1,G.cartSettings=null,G.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),G.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),G._paypalMockResponse=null,G.iframeLogType="undefined"!=typeof window?new URLSearchParams(window.location.search).get("iframeLogType"):null,G.isBigCommerce=!1,G.releaseDate="1783609483296",G.isLegacyCheckout=!1,G.googleAnalyticId=null,G.googleAnalyticReady=!1,G.facebookPixelId=null,G.facebookPixelReady=!1,G.startLoadTime=M,G.domain="undefined"!=typeof window?window.location!=window.parent.location&&document.referrer||document.location.hostname:"",G.showBaseForeign="undefined"!=typeof window&&window.location.search.includes("zonosShowBaseForeign"),G.overrideUseCustomAddressForm=!1,G.isCollect=!1,G.isInvoice=!1,G.isNpm=!0,G.zonosQaUrl=null,G.zonosQaUrlApi=null,G.trackEventLogs=[],G.version="v1.3.280",G.modeAlerted=!1,G.cartData=null,G.paypal=null,G.zonosMode=null,G.IframeService=o,G.getCurrentTimestamp=()=>(new Date).getTime(),G.zonosController=null,G.loadTimeApiInfoList=[],G.logIntervalId=null,G.init=async e=>{const{appearance:o,checkoutSettings:t,currencyConverter:n,helloSettings:i,onCountryChange:a,overrideCurrencyFormat:l,storeId:u,zonosApiKey:p}=e;if(F.cartId=new URLSearchParams(window.location.search).get("tempCartUUID"),F.createCartId=null==t?void 0:t.createCartId,F.buildCartDetail=null==t?void 0:t.buildCartDetail,F.doneInit)return;if(r(`====== ZONOS DEBUG MODE: on (${F.version}) ======`),F.zonosApiKey=p,F.storeId=u,"undefined"!=typeof window&&window.parent===window&&(F.googleAnalyticReady=!0,F.facebookPixelReady=!0),F.isNpm){r("====== ZONOS LOADING FROM NPM ======");const o=k();if(o&&!window.isZonosPreview){r(`====== RE-INJECT "zonos.js" FROM PRVIEW: ${o} ======`,"info");const t=document.createElement("script");return t.src=`${o}/dist/scripts/zonos.js`,document.head.appendChild(t),t.addEventListener("load",()=>{window.Zonos.isNpm=F.isNpm,window.Zonos.isBigCommerce=F.isBigCommerce,window.Zonos.isLegacyCheckout=F.isLegacyCheckout,window.Zonos.zonosMode=F.zonosMode,window.Zonos.init(e)}),t.addEventListener("error",()=>{alert(`[ZONOS - loadZonos] Failed to load "loadZonos.js" from zonosQaUrl: ${o}`)}),void(window.isZonosPreview=!0)}if(!p&&!F.cartId)return void s("Zonos API key is required unless `tempCartUUID` is provided in url query params.");if(!F.cartData&&F.cartId){r("Initialize cart data");const e=await N(F.cartId);if(!e)return void s("Failed to get cart data");F.cartData=e.cartData,F.zonosApiKey=e.zonosApiKey,F.cartSettings=e.settings}const t=await(async()=>{const e=c(),o=d();if(!e&&!o||!window.Zonos.zonosApiKey)return null;if(r("[ZONOS - loadZonos] Attempt test public credential","info"),window.Zonos.zonosApiKey.includes("credential_test"))return r("[ZONOS - loadZonos] Test mode is enabled but the API key is already a test key","info"),null;const{errors:t,json:n}=await z("/api/get-test-public-credential");if(t.length||!n)return s("[ZONOS - loadZonos] Failed to get test public credential. Keep using production key",t),null;const i=n.publicCredential;return i?(r(`[ZONOS - loadZonos] Retrieve new test public token ${i}`,"info"),i):(s("[ZONOS - loadZonos] No test public key credential. Keep using production key"),null)})();t&&(F.zonosApiKey=t)}const m=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");if(F.cartId&&F.cartData||!!m){r("Cart data or stripe client secret is available, inject hidden button and trigger checkout");const e=document.createElement("button");e.style.display="none",e.id="zonos--checkout-hidden-button",document.body.appendChild(e)}r("init zonos"),F.restoreNativeBrowserFunctions(),F.injectCustomScriptForHostedCheckout(),F.injectZonosCdn(),F.injectZonosCss(),F.injectFonts(),F.injectCheckoutInternationalButton(),F.injectController({config:{appearance:o,checkoutSettings:t,currencyConverter:n,helloSettings:i,onCountryChange:a,overrideCurrencyFormat:l}}),F.doneInit=!0},G.injectCheckoutInternationalButton=()=>{if(!document.querySelector(`#${R}`)){const e=document.createElement("button");e.id=R,e.style.display="none",document.body.appendChild(e)}},G.injectCustomScriptForHostedCheckout=()=>{const e=F.cartData,o=(null==e?void 0:e.metadata)||[],t=o.find(e=>"customHeaderScript"===e.key),n=o.find(e=>"customFooterScript"===e.key);if(window.Zonos.isLegacyCheckout&&(t||n)){if(t){r("Injecting custom header script");const e=document.createElement("script");e.textContent=t.value,document.head.appendChild(e)}if(n){r("Injecting custom footer script");const e=document.createElement("script");e.textContent=n.value,document.body.appendChild(e)}}else r("Skip injecting custom script for hosted checkout","info",{footerScript:n,headerScript:t,isLegacyCheckout:window.Zonos.isLegacyCheckout})},G.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},G.triggerCheckoutInternational=async()=>{const e=document.querySelector(`#${R}`);setTimeout(()=>{var o;e&&e.dispatchEvent(new CustomEvent("click",{detail:o}))},10)},G.openHelloDialog=e=>{const o=document.querySelector("zonos-hello");o&&o.openHelloDialog(null==e||e)},G.showNotification=e=>{var o;null===(o=F.zonosController)||void 0===o||o.showNotification(e)},G.updateOrganizationName=e=>{var o;null===(o=F.zonosController)||void 0===o||o.updateOrganizationName(e)},G.disablePlaceOrderButtons=({autoEnable:e=!0,config:o,disable:t,placeOrderButtonSelector:n})=>{var r;if(!(null===(r=o.checkoutSettings)||void 0===r?void 0:r.disablePlaceOrderButtonActivation)&&n){const o=document.querySelectorAll(n),r=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};o.forEach(e=>{e.getAttribute("data-zonos-checkout-attached")||(t?(e.setAttribute("disabled","true"),e.addEventListener("click",r)):(e.removeAttribute("disabled"),e.removeEventListener("click",r)))}),e&&t&&setTimeout(()=>{o.forEach(e=>{e.removeAttribute("disabled"),e.removeEventListener("click",r)})},5e3)}},G.restoreNativeBrowserFunctions=()=>{var e;if("1"===new URL(window.location.href).searchParams.get("useMerchantPolyfill"))return;const o="zonos---native-browser";let t=document.querySelector(`iframe#${o}`);t||(t=document.createElement("iframe"),t.id=o,t.style.display="none",t.style.opacity="0",t.style.position="absolute",t.style.top="-9999px",t.style.left="-9999px",t.style.width="1px",t.style.height="1px",t.style.border="none",t.style.overflow="hidden",t.style.visibility="hidden",document.body.appendChild(t));const n=(null===(e=t.contentWindow)||void 0===e?void 0:e.window.Array.from)||Array.from;Array.from=n,document.body.removeChild(t)},G.injectController=({config:e})=>{var o,t;if(document.querySelector("zonos-controller"))return;if(null===(o=e.checkoutSettings)||void 0===o?void 0:o.placeOrderButtonSelector){const o=e.checkoutSettings.placeOrderButtonSelector;F.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o});new MutationObserver(()=>{F.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o})}).observe(document.body,{childList:!0,subtree:!0})}if(null===(t=e.checkoutSettings)||void 0===t?void 0:t.alwaysTriggerInternationalCheckoutSelector){const o=e.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;F.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o});new MutationObserver(()=>{F.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o})}).observe(document.body,{childList:!0,subtree:!0})}const n=document.createElement("zonos-controller");n.config=e,n.zonosApiKey=F.zonosApiKey||"",n.addEventListener("stripeInitEvent",async e=>{const{detail:o}=e;r("loading Stripe");const t=await(async(...e)=>{var o;E=!0;const t=Date.now();return((e,o,t)=>{if(null===e)return null;const n=e.apply(void 0,o);return((e,o)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:o})})(n,t),n})(null!==(o=await A)&&void 0!==o?o:await O(null),e,t)})(o.publishableKey);t?(window.Zonos.stripe=t,window.Zonos.isCollect?n.initCollectElement(t):window.Zonos.isInvoice?n.initInvoiceElement(t):n.initCheckoutElement(t)):s("API seems to be invalid or missing. Failed to load Stripe")}),document.body.appendChild(n),F.zonosController=n,r("Zonos controller injected!")},G.injectScript=({cdnType:e,isModule:o,theRestUrl:t})=>{const n=`${F.getZonosUrl(e)}/${t}`;if(document.querySelector(`script[src="${n}"]`))return void r(`Zonos script "${n}" already exists in the document`,"warn");const i=document.head||document.body,a=document.createElement("script");o?a.type="module":a.noModule=!0,a.src=n,a.crossOrigin="anonymous",a.onerror=()=>{s(`Failed to load ${a.src}`);const n=l(e);n&&F.injectScript({cdnType:n,isModule:o,theRestUrl:t})},i.appendChild(a)},G.getZonosUrl=e=>{const o=()=>{switch(e){case"jsdelivr":return q;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.280";case"cdnjs":return"https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.280";case"vercel":return B}};if(F.isNpm){return k()||o()}return o()},G.injectZonosCdn=()=>{F.injectScript({cdnType:a,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),F.injectScript({cdnType:a,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),r("Zonos cdn script injected!")},G.injectStylesheet=({cdnType:e,theRestUrl:o})=>{const t=F.getZonosUrl(e),n=document.head||document.body,r=document.createElement("link");r.rel="preconnect",r.href=`${B}/`,n.appendChild(r);const i=document.createElement("link");i.rel="stylesheet",i.href=`${t}/${o}`,i.onerror=()=>{s(`Failed to load ${i.href}`);const t=l(e);t&&F.injectStylesheet({cdnType:t,theRestUrl:o})},n.appendChild(i)},G.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?r("Zonos style links already injected","warn"):(F.injectStylesheet({cdnType:a,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),r("Zonos style css injected!"))},G.injectFonts=()=>{if((()=>{if(document.fonts.check("1em Inter"))return void r("Inter font already loaded","warn");const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${W}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&!K.test(t.href))return t}return null})())return void r("Inter font already injected","warn");const e=document.head||document.body,o=document.createElement("link");o.rel="preconnect",o.href=W,e.appendChild(o);const t=document.createElement("link");t.rel="stylesheet",t.href=`${W}/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap`,e.appendChild(t),r("Zonos font injected!")},G.setupGoogleFont=e=>{var o;null===(o=F.zonosController)||void 0===o||o.setupGoogleFont(e)},G.injectSupportGoogleFont=e=>{var o;r(`[FONT] injecting ${e}`);const t=null===(o=e.match(/family=(.*?):/))||void 0===o?void 0:o[1],n=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${W}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=W,n.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${e}"]`))return void r(`[FONT] ${t} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=e,n.appendChild(s),r(`[FONT] ${t} font injected!`)},window.Zonos&&window.Zonos.doneInit||(window.Zonos=G)})();
1
+ (function(){"use strict";const e=({id:e,payload:o,target:t,type:n})=>{var r;t instanceof HTMLIFrameElement?null===(r=t.contentWindow)||void 0===r||r.postMessage({id:e,payload:o,type:n},"*"):t.postMessage({id:e,payload:o,type:n},"*")};class o{constructor(o,t){this.targetElement=o,this.targetId=t,this.sendMessage=(o,t)=>{e({id:this.targetId,payload:t,target:this.targetElement,type:o})}}}o.iframeServices={GOOGLE_PLACES:"zonos--private-iframe-google-places-service-m9bmuh7g"},o.sendMessage=e,o.injectPrivateIframe=({id:e,onload:o,src:t})=>{const n=document.createElement("iframe");return n.src=t,n.id=e,n.style.display="none",n.role="presentation",n.ariaHidden="true",n.tabIndex=-1,n.style.border="none !important",n.style.margin="0px !important",n.style.padding="0px !important",n.style.width="1px !important",n.style.minWidth="100% !important",n.style.overflow="hidden !important",n.style.display="block !important",n.style.visibility="hidden !important",n.style.position="fixed !important",n.style.pointerEvents="none !important",n.style.userSelect="none !important",n.style.height="1px !important",n.onload=()=>o(n),document.body.appendChild(n),n};const t=performance.now(),n=e=>{if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(o){if(e&&"function"==typeof e.toString){return e.toString()}return"Unable to stringify info"}},r=(e,o,...r)=>{var s,i;const{elapsedTimePretty:a}=(()=>{const e=performance.now()-t,o=e>1e3?`${(e/1e3).toFixed(2)}s`:`${e.toFixed(2)}ms`;return{elapsedTime:e,elapsedTimePretty:o}})(),l=[`(${a})`,...r];l.map(n).join(" ");if(!(!!(null===(s=window.Zonos)||void 0===s?void 0:s.debug)||!!window.location.search.match(/\?.*(&*)zonosDebug=1/)))return;let d=document.querySelector("iframe#zonos---debug-logging-iframe");d||(d=document.createElement("iframe"),d.id="zonos---debug-logging-iframe",d.style.display="none",d.style.opacity="0",d.style.position="absolute",d.style.top="-9999px",d.style.left="-9999px",d.style.width="1px",d.style.height="1px",d.style.border="none",d.style.overflow="hidden",d.style.visibility="hidden",document.body.appendChild(d));const c=(null===(i=d.contentWindow)||void 0===i?void 0:i.window.console)||window.console;switch(o){case"warn":c.warn(e,...l);break;case"info":c.info(e,...l);break;case"error":c.error(e,...l);break;default:c.groupCollapsed(e,...l),c.trace(),c.groupEnd()}},s=(e,...o)=>{r(e,"error",...o)},i=["jsdelivr","cdnjs","unpkg","vercel"],a="jsdelivr",l=e=>{const o=i.indexOf(e);return i[o+1]||null},d=()=>window.location.search.includes("zonosStagingMode=1"),c=()=>{var e;return(null===(e=window.Zonos.zonosApiKey)||void 0===e?void 0:e.includes("test"))||window.location.search.includes("zonosTestMode=1")};function u(e,o){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&o.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)o.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(t[n[r]]=e[n[r]])}return t}"function"==typeof SuppressedError&&SuppressedError;const p=["cloudflare","vercel"],m=p[0],w={cloudflare:"https://route.elements.zonos.com",vercel:"https://route.js.zonos.com"},y=w[m],h=(e=m)=>{const o=p.indexOf(e),t=p[o+1];return t||null},g=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(e){return null}return null},f=()=>{const e="userAgentData"in window.navigator?window.navigator.userAgentData:null,o=(()=>{const e="connection"in window.navigator?window.navigator.connection:null,o="mozConnection"in window.navigator?window.navigator.mozConnection:null,t="webkitConnection"in window.navigator?window.navigator.webkitConnection:null;return e||o||t})();return{connectionDownlink:null==o?void 0:o.downlink,connectionEffectiveType:null==o?void 0:o.effectiveType,connectionRtt:null==o?void 0:o.rtt,connectionSaveData:null==o?void 0:o.saveData,isHostedCheckout:window.Zonos.isLegacyCheckout,screenHeight:window.screen.height,screenWidth:window.innerWidth,userAgent:e&&e.brands.length>0?e:window.navigator.userAgent}},v=["/api/zonos-elements/log-script-load","/api/zonos-elements/log-bulk-load-data"],b=async({response:e,shouldLog:o=!0,shouldThrow:t=!1})=>{try{const o=await e.text(),t=g(o);if(!t)throw new Error(`Failed to parse content: ${o}`);return t}catch(e){if(t)throw e;return o&&console.error(e),null}},S=async({basePathType:e,options:o,path:t})=>{let n;const r=window.Zonos.zonosQaUrlApi||w[e]||m,s=new URL(r+t),i=window.Zonos.cartId?`${window.location.hostname}-${window.Zonos.cartId}`:window.location.hostname;s.searchParams.set("zToken",(e=>{try{return btoa(e).replace(/=/g,"")}catch(o){return e.replace(/[^A-Za-z0-9]/g,"").split("").reverse().join("")}})(i));try{n=await fetch(s.toString(),o)}catch(e){if(e instanceof Error)return{baseUrl:r,errors:[{message:e.message,type:"unknown"}],json:null,response:null,zonosMode:null};return{baseUrl:r,errors:[{message:"Failed to fetch",type:"unknown"}],json:null,response:null,zonosMode:null}}const a=n.headers.get("Zonos-Mode"),l=window.Zonos.zonosQaUrl;if(!window.Zonos.modeAlerted&&a&&l&&(window.Zonos.modeAlerted=!0),n.ok){return{baseUrl:r,errors:[],json:await b({response:n}),response:n,zonosMode:a}}const d=n.status.toString();try{const e=await b({response:n,shouldThrow:!0});if(e&&"errors"in e&&Array.isArray(e.errors)){const o=e.errors;return{baseUrl:r,errors:o.map(e=>"string"==typeof e?{message:e,type:d}:e),json:null,response:n,zonosMode:a}}return{baseUrl:r,errors:[{message:JSON.stringify(e),type:d}],json:null,response:n,zonosMode:a}}catch(e){return{baseUrl:r,errors:[{message:`${d}: ${"Unknown error"}`,type:d}],json:null,response:null,zonosMode:a}}},C=async({basePathType:e,options:o,path:t})=>{var n,s;const i=t.startsWith("/api/bigcommerce")?"vercel":e,a=performance.now(),l=await S({basePathType:i,options:o,path:t}),{errors:d,response:c}=l,p=u(l,["errors","response"]),m=performance.now()-a;r(`${t} (${m.toFixed(2)}ms)`,"info");const b=null==c?void 0:c.headers.get("Zonos-Duration");200===(null==c?void 0:c.status)&&(({apiPath:e,apiType:o,loadTimeInternal:t,loadTimeTotal:n})=>{if(v.includes(e))return;const r=n-t;if(r<0)return;const s=e.split("?")[0]||e,i=f(),a="object"==typeof i.userAgent&&i.userAgent.mobile,l={apiType:o,connectionType:i.connectionEffectiveType,href:s,isHostedCheckout:window.Zonos.isLegacyCheckout,isMobile:(d=a,d||window.innerWidth<890),loadTimeBrowserApi:r,loadTimeInternal:t,loadTimeTotal:n,metadata:Object.assign({},i),screenHeight:i.screenHeight,screenWidth:i.screenWidth,userAgent:"string"==typeof i.userAgent?i.userAgent:i.userAgent.brands.map(e=>e.brand).filter(e=>!/Not.*A.*Brand.*/.test(e)).join(",")};var d;window.Zonos.loadTimeApiInfoList.push(l)})({apiPath:t,apiType:i,loadTimeInternal:b?Number(b):0,loadTimeTotal:m});const z=h(i),k=d.find(({type:e})=>"unknown"===e),Z=d.find(({message:e})=>"string"==typeof e&&(e.includes("signal is aborted")||e.includes("The operation was aborted")||e.includes("Fetch is aborted"))),I=!!k||404===(null==c?void 0:c.status)||500===(null==c?void 0:c.status),j=z&&I;return I&&!Z&&(async({endpoint:e,errors:o,metadata:t,shouldPostReleaseErrorReporting:n})=>{r("sendErrorLog","warn",e,t,o);{const e=Number(window.Zonos.releaseDate);if((new Date).getTime()-e>36e5)return}const s="userAgentData"in window.navigator?window.navigator.userAgentData:null,i={endpoint:e,errors:o,href:window.location.href,metadata:Object.assign({appVersion:window.Zonos.version,domain:window.Zonos.domain,publicCredential:window.Zonos.zonosApiKey,userAgent:s&&s.brands.length>0?s:window.navigator.userAgent},t)};try{fetch(`${y}/api/zonos-elements/log-error`,{body:JSON.stringify(i),headers:{"Zonos-Referer":window.location.hostname},method:"POST"})}catch(e){const o=h();if(!o)return;fetch(`${w[o]}/api/zonos-elements/log-error`,{body:JSON.stringify(i),method:"POST"})}})({endpoint:w[i]+t,errors:d.map(({message:e})=>`API: ${e}`),metadata:{currentBasePath:i,nextFallbackApiType:z,requestHeaders:null==o?void 0:o.headers,requestPayload:g(null===(n=null==o?void 0:o.body)||void 0===n?void 0:n.toString())||(null===(s=null==o?void 0:o.body)||void 0===s?void 0:s.toString()),shouldCallFallback:j,status:null==c?void 0:c.status,statusText:null==c?void 0:c.statusText},shouldPostReleaseErrorReporting:!0}),j?(r(`=== "${t}" failed to fetch, trying next fallback ${z}`),C({basePathType:z,options:o,path:t})):Object.assign({errors:d,response:c},p)},z=async(e,o)=>{const t=u(o||{},[]),n=t.body?JSON.stringify(t.body):void 0,r=t.method||"GET",s=Object.assign({"Content-Type":"application/json","Zonos-Is-BigCommerce":window.Zonos.isBigCommerce.toString(),"Zonos-Referer":window.location.hostname,"Zonos-Staging-Mode":d()?"1":void 0,"Zonos-Test-Mode":c()?"1":void 0,"Zonos-Version":window.Zonos.version,credentialtoken:window.Zonos.zonosApiKey||"Empty credential token from zonos-elements"},t.headers);Object.keys(s).forEach(e=>void 0===s[e]&&delete s[e]);const i=Object.assign(Object.assign({},t),{body:"GET"===r?void 0:n,headers:s,method:r}),a=new URLSearchParams(window.location.search).get("useFallbackApi");return C({basePathType:a||m,options:i,path:e})},k=()=>{const e=window&&window.location.href.includes("forceLoadCdn");if("undefined"==typeof window||e)return null;const o=(e=>{if(!e)return null;const o=new URL(e).searchParams.get("zonosQaUrl");return o?/[^a-zA-Z0-9-_]+/.test(o)?null:o:null})(window.location.href),t="https://v1.3.282.js.zonos.com";if(!o&&(t.includes("test.")||t.includes("test-")))return t;if(!o&&["dev.demo.elements.zonos.com","dev.checkout.elements.zonos.com","dev.storybook.elements.zonos.com"].includes(window.location.hostname))return"https://dev.elements.zonos.com";if(!o)return null;if("dev-elements"===o)return"https://dev.elements.zonos.com";const n=`https://${o}.preview.js.zonos.com`;return r(`[ZONOS-WARNING] using '${n}' for loading elements script`,"warn"),fetch(n).then(()=>{window.sessionStorage.removeItem("zonos--checkout-session-id"),window.sessionStorage.removeItem("zonos--client-secret")}).catch(()=>{alert(`[ZONOS-WARNING] '${n}' IS NO LONGER AVAILABLE. REMOVING zonosQaUrl PARAM AND RELOADING THE PAGE`);const e=new URLSearchParams(window.location.search);e.delete("zonosQaUrl");const{pathname:o}=window.location,t=`${o}?${e.toString()}`;return window.history.replaceState(window.history.state,"",t),window.location.reload(),null}),n},Z="https://js.stripe.com/v3",I=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;let j=null;const O=e=>(null!==j||(j=new Promise((o,t)=>{if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe)o(window.Stripe);else try{let n=(()=>{const e=document.querySelectorAll(`script[src^="${Z}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&I.test(t.src))return t}return null})();n&&e?console.warn("loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used"):n||(n=(()=>{const e=document.createElement("script");e.src=`${Z}`;const o=document.head||document.body;return o?(o.appendChild(e),e):(s("Expected document.body not to be null. Stripe.js requires a <body> element."),null)})()),null==n||n.addEventListener("load",()=>{window.Stripe?o(window.Stripe):t(new Error("Stripe.js not available"))}),null==n||n.addEventListener("error",()=>{t(new Error("Failed to load Stripe.js"))})}catch(e){return void t(e)}else o(null)})),j),A=Promise.resolve().then(()=>(()=>{var e,o;return"undefined"!=typeof window&&("function"==typeof(null===(e=window.Zonos)||void 0===e?void 0:e.createCartId)||"function"==typeof(null===(o=window.Zonos)||void 0===o?void 0:o.buildCartDetail))})()?O(null):null);let E=!1;A.catch(e=>{E||console.warn(e)});const T=async({cartId:e,retries:o})=>{const t=c(),n=(()=>{const e=new URLSearchParams(window.location.search);return{overrideShouldEnabledCustomAddress:window.Zonos.overrideUseCustomAddressForm?"1":e.get("overrideShouldEnabledCustomAddress")}})(),s=(()=>{const e=new URLSearchParams(window.location.search).get("validityToken");if(!e||!/^[A-Za-z0-9+/]+={0,2}$/.test(e)||e.length%4!=0)return null;try{return atob(e),e}catch(e){return null}})()||void 0,i=new URLSearchParams;n.overrideShouldEnabledCustomAddress&&i.set("overrideShouldEnabledCustomAddress",n.overrideShouldEnabledCustomAddress);const{errors:a,json:l,zonosMode:d}=await z(`/api/zonos-elements/get-cart?${i.toString()}`,{body:{isTestMode:t,renewCartExpirationToken:s,tempCartUUID:e},headers:{"Content-Type":"application/json"},method:"POST"}),u=!l||a.length;return u&&o?(r("[ZONOS - loadZonos] temp cart not ready, retrying in 1 second","info",{retries:o}),await new Promise(e=>setTimeout(e,500)),T({cartId:e,retries:o-1})):u?null:Object.assign(Object.assign({},l),{zonosMode:d})},L=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,P=new RegExp(`^${L.source}$`),$=new RegExp(`^cart_${L.source}$`),D=/^[a-zA-Z0-9]{2,}$/,U=/^cart_[a-zA-Z0-9]{2,}$/,N=async e=>{const{isDgsCartId:o,isLegacyCartId:t}=(e=>e?e.includes("undefined")?{isDgsCartId:!1,isLegacyCartId:!1}:U.test(e)?{isDgsCartId:!0,isLegacyCartId:!1}:D.test(e)?{isDgsCartId:!1,isLegacyCartId:!0}:$.test(e)?{isDgsCartId:!0,isLegacyCartId:!1}:P.test(e)?{isDgsCartId:!1,isLegacyCartId:!0}:{isDgsCartId:!1,isLegacyCartId:!1}:{isDgsCartId:!1,isLegacyCartId:!1})(e);if(!t&&!o)return s("[ZONOS - loadZonos] invalid cart id"),null;const n=await T({cartId:e,retries:5});return r("[ZONOS - loadZonos] getting temp cart data","info",n),n?(window.Zonos.storeId=n.cartData.storeId,window.Zonos.zonosApiKey=n.cartData.credentialToken,window.Zonos.zonosMode=n.zonosMode,{cartData:n.cartData,settings:n.settings,storeFavicon:n.storeFaviconUrl,storeId:n.cartData.storeId,storeLogo:n.storeLogoUrl,zonosApiKey:n.cartData.credentialToken}):(s("[ZONOS - loadZonos] Error getting temp cart data, stop checkout process."),null)},R="zonos--checkout-hidden-international-button";var F;const x=(()=>{if("undefined"==typeof document)return null;const e=document.querySelector('script[src*="/zonos.js"]'),{currentLoadScriptUrl:o,isWhiteListed:t}=(({loadScriptSrc:e})=>{if(!e)return{currentLoadScriptUrl:"",isForceLoadVersionDomain:!1,isWhiteListed:!1};const o=new URL(e).origin,t=["dev.elements.zonos.com","dev.assets-checkout.zonos.com",".js.zonos.com","zonos-elements-test-git","zonos-elements-git"].some(e=>o.includes(e)),n=["qa.js.zonos.com"].some(e=>o.includes(e));return{currentLoadScriptUrl:o,isForceLoadVersionDomain:n,isWhiteListed:t}})({loadScriptSrc:null==e?void 0:e.src});return t?o:null})(),M=Date.now(),B="https://v1.3.282.js.zonos.com",q=x||"https://cdn.jsdelivr.net/npm/@zonos/elements@1.3.282",W="https://fonts.googleapis.com",K=/^https:\/\/fonts\.googleapis\.com/;class G{}F=G,G.doneInit=!1,G.cartSettings=null,G.debug="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosDebug=1/),G.zonosConversionTest="undefined"!=typeof window&&!!window.location.search.match(/\?.*(&*)zonosConversionTest/),G._paypalMockResponse=null,G.iframeLogType="undefined"!=typeof window?new URLSearchParams(window.location.search).get("iframeLogType"):null,G.isBigCommerce=!1,G.releaseDate="1784821076071",G.isLegacyCheckout=!1,G.googleAnalyticId=null,G.googleAnalyticReady=!1,G.facebookPixelId=null,G.facebookPixelReady=!1,G.startLoadTime=M,G.domain="undefined"!=typeof window?window.location!=window.parent.location&&document.referrer||document.location.hostname:"",G.showBaseForeign="undefined"!=typeof window&&window.location.search.includes("zonosShowBaseForeign"),G.overrideUseCustomAddressForm=!1,G.isCollect=!1,G.isInvoice=!1,G.isNpm=!0,G.zonosQaUrl=null,G.zonosQaUrlApi=null,G.trackEventLogs=[],G.version="v1.3.282",G.modeAlerted=!1,G.cartData=null,G.paypal=null,G.zonosMode=null,G.IframeService=o,G.getCurrentTimestamp=()=>(new Date).getTime(),G.zonosController=null,G.loadTimeApiInfoList=[],G.logIntervalId=null,G.init=async e=>{const{appearance:o,checkoutSettings:t,currencyConverter:n,helloSettings:i,onCountryChange:a,overrideCurrencyFormat:l,storeId:u,zonosApiKey:p}=e;if(F.cartId=new URLSearchParams(window.location.search).get("tempCartUUID"),F.createCartId=null==t?void 0:t.createCartId,F.buildCartDetail=null==t?void 0:t.buildCartDetail,F.doneInit)return;if(r(`====== ZONOS DEBUG MODE: on (${F.version}) ======`),F.zonosApiKey=p,F.storeId=u,"undefined"!=typeof window&&window.parent===window&&(F.googleAnalyticReady=!0,F.facebookPixelReady=!0),F.isNpm){r("====== ZONOS LOADING FROM NPM ======");const o=k();if(o&&!window.isZonosPreview){r(`====== RE-INJECT "zonos.js" FROM PRVIEW: ${o} ======`,"info");const t=document.createElement("script");return t.src=`${o}/dist/scripts/zonos.js`,document.head.appendChild(t),t.addEventListener("load",()=>{window.Zonos.isNpm=F.isNpm,window.Zonos.isBigCommerce=F.isBigCommerce,window.Zonos.isLegacyCheckout=F.isLegacyCheckout,window.Zonos.zonosMode=F.zonosMode,window.Zonos.init(e)}),t.addEventListener("error",()=>{alert(`[ZONOS - loadZonos] Failed to load "loadZonos.js" from zonosQaUrl: ${o}`)}),void(window.isZonosPreview=!0)}if(!p&&!F.cartId)return void s("Zonos API key is required unless `tempCartUUID` is provided in url query params.");if(!F.cartData&&F.cartId){r("Initialize cart data");const e=await N(F.cartId);if(!e)return void s("Failed to get cart data");F.cartData=e.cartData,F.zonosApiKey=e.zonosApiKey,F.cartSettings=e.settings}const t=await(async()=>{const e=c(),o=d();if(!e&&!o||!window.Zonos.zonosApiKey)return null;if(r("[ZONOS - loadZonos] Attempt test public credential","info"),window.Zonos.zonosApiKey.includes("credential_test"))return r("[ZONOS - loadZonos] Test mode is enabled but the API key is already a test key","info"),null;const{errors:t,json:n}=await z("/api/get-test-public-credential");if(t.length||!n)return s("[ZONOS - loadZonos] Failed to get test public credential. Keep using production key",t),null;const i=n.publicCredential;return i?(r(`[ZONOS - loadZonos] Retrieve new test public token ${i}`,"info"),i):(s("[ZONOS - loadZonos] No test public key credential. Keep using production key"),null)})();t&&(F.zonosApiKey=t)}const m=new URL(window.location.href).searchParams.get("payment_intent_client_secret")||sessionStorage.getItem("zonos--client-secret");if(F.cartId&&F.cartData||!!m){r("Cart data or stripe client secret is available, inject hidden button and trigger checkout");const e=document.createElement("button");e.style.display="none",e.id="zonos--checkout-hidden-button",document.body.appendChild(e)}r("init zonos"),F.restoreNativeBrowserFunctions(),F.injectCustomScriptForHostedCheckout(),F.injectZonosCdn(),F.injectZonosCss(),F.injectFonts(),F.injectCheckoutInternationalButton(),F.injectController({config:{appearance:o,checkoutSettings:t,currencyConverter:n,helloSettings:i,onCountryChange:a,overrideCurrencyFormat:l}}),F.doneInit=!0},G.injectCheckoutInternationalButton=()=>{if(!document.querySelector(`#${R}`)){const e=document.createElement("button");e.id=R,e.style.display="none",document.body.appendChild(e)}},G.injectCustomScriptForHostedCheckout=()=>{const e=F.cartData,o=(null==e?void 0:e.metadata)||[],t=o.find(e=>"customHeaderScript"===e.key),n=o.find(e=>"customFooterScript"===e.key);if(window.Zonos.isLegacyCheckout&&(t||n)){if(t){r("Injecting custom header script");const e=document.createElement("script");e.textContent=t.value,document.head.appendChild(e)}if(n){r("Injecting custom footer script");const e=document.createElement("script");e.textContent=n.value,document.body.appendChild(e)}}else r("Skip injecting custom script for hosted checkout","info",{footerScript:n,headerScript:t,isLegacyCheckout:window.Zonos.isLegacyCheckout})},G.displayCurrency=()=>{const e=document.querySelector("zonos-hello");e&&e.displayCurrency()},G.triggerCheckoutInternational=async()=>{const e=document.querySelector(`#${R}`);setTimeout(()=>{var o;e&&e.dispatchEvent(new CustomEvent("click",{detail:o}))},10)},G.openHelloDialog=e=>{const o=document.querySelector("zonos-hello");o&&o.openHelloDialog(null==e||e)},G.showNotification=e=>{var o;null===(o=F.zonosController)||void 0===o||o.showNotification(e)},G.updateOrganizationName=e=>{var o;null===(o=F.zonosController)||void 0===o||o.updateOrganizationName(e)},G.disablePlaceOrderButtons=({autoEnable:e=!0,config:o,disable:t,placeOrderButtonSelector:n})=>{var r;if(!(null===(r=o.checkoutSettings)||void 0===r?void 0:r.disablePlaceOrderButtonActivation)&&n){const o=document.querySelectorAll(n),r=e=>{e.target.getAttribute("disabled")&&(e.preventDefault(),e.stopPropagation())};o.forEach(e=>{e.getAttribute("data-zonos-checkout-attached")||(t?(e.setAttribute("disabled","true"),e.addEventListener("click",r)):(e.removeAttribute("disabled"),e.removeEventListener("click",r)))}),e&&t&&setTimeout(()=>{o.forEach(e=>{e.removeAttribute("disabled"),e.removeEventListener("click",r)})},5e3)}},G.restoreNativeBrowserFunctions=()=>{var e;if("1"===new URL(window.location.href).searchParams.get("useMerchantPolyfill"))return;const o="zonos---native-browser";let t=document.querySelector(`iframe#${o}`);t||(t=document.createElement("iframe"),t.id=o,t.style.display="none",t.style.opacity="0",t.style.position="absolute",t.style.top="-9999px",t.style.left="-9999px",t.style.width="1px",t.style.height="1px",t.style.border="none",t.style.overflow="hidden",t.style.visibility="hidden",document.body.appendChild(t));const n=(null===(e=t.contentWindow)||void 0===e?void 0:e.window.Array.from)||Array.from;Array.from=n,document.body.removeChild(t)},G.injectController=({config:e})=>{var o,t;if(document.querySelector("zonos-controller"))return;if(null===(o=e.checkoutSettings)||void 0===o?void 0:o.placeOrderButtonSelector){const o=e.checkoutSettings.placeOrderButtonSelector;F.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o});new MutationObserver(()=>{F.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o})}).observe(document.body,{childList:!0,subtree:!0})}if(null===(t=e.checkoutSettings)||void 0===t?void 0:t.alwaysTriggerInternationalCheckoutSelector){const o=e.checkoutSettings.alwaysTriggerInternationalCheckoutSelector;F.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o});new MutationObserver(()=>{F.disablePlaceOrderButtons({config:e,disable:!0,placeOrderButtonSelector:o})}).observe(document.body,{childList:!0,subtree:!0})}const n=document.createElement("zonos-controller");n.config=e,n.zonosApiKey=F.zonosApiKey||"",n.addEventListener("stripeInitEvent",async e=>{const{detail:o}=e;r("loading Stripe");const t=await(async(...e)=>{var o;E=!0;const t=Date.now();return((e,o,t)=>{if(null===e)return null;const n=e.apply(void 0,o);return((e,o)=>{e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",startTime:o})})(n,t),n})(null!==(o=await A)&&void 0!==o?o:await O(null),e,t)})(o.publishableKey);t?(window.Zonos.stripe=t,window.Zonos.isCollect?n.initCollectElement(t):window.Zonos.isInvoice?n.initInvoiceElement(t):n.initCheckoutElement(t)):s("API seems to be invalid or missing. Failed to load Stripe")}),document.body.appendChild(n),F.zonosController=n,r("Zonos controller injected!")},G.injectScript=({cdnType:e,isModule:o,theRestUrl:t})=>{const n=`${F.getZonosUrl(e)}/${t}`;if(document.querySelector(`script[src="${n}"]`))return void r(`Zonos script "${n}" already exists in the document`,"warn");const i=document.head||document.body,a=document.createElement("script");o?a.type="module":a.noModule=!0,a.src=n,a.crossOrigin="anonymous",a.onerror=()=>{s(`Failed to load ${a.src}`);const n=l(e);n&&F.injectScript({cdnType:n,isModule:o,theRestUrl:t})},i.appendChild(a)},G.getZonosUrl=e=>{const o=()=>{switch(e){case"jsdelivr":return q;case"unpkg":return"https://unpkg.com/@zonos/elements@1.3.282";case"cdnjs":return"https://cdnjs.cloudflare.com/ajax/libs/zonos-elements/1.3.282";case"vercel":return B}};if(F.isNpm){return k()||o()}return o()},G.injectZonosCdn=()=>{F.injectScript({cdnType:a,isModule:!0,theRestUrl:"dist/zonos-elements/zonos-elements.esm.js"}),F.injectScript({cdnType:a,isModule:!1,theRestUrl:"dist/zonos-elements/zonos-elements.js"}),r("Zonos cdn script injected!")},G.injectStylesheet=({cdnType:e,theRestUrl:o})=>{const t=F.getZonosUrl(e),n=document.head||document.body,r=document.createElement("link");r.rel="preconnect",r.href=`${B}/`,n.appendChild(r);const i=document.createElement("link");i.rel="stylesheet",i.href=`${t}/${o}`,i.onerror=()=>{s(`Failed to load ${i.href}`);const t=l(e);t&&F.injectStylesheet({cdnType:t,theRestUrl:o})},n.appendChild(i)},G.injectZonosCss=()=>{document.querySelector('link[rel="stylesheet"][href*="/dist/zonos-elements/zonos-elements.css"]')?r("Zonos style links already injected","warn"):(F.injectStylesheet({cdnType:a,theRestUrl:"dist/zonos-elements/zonos-elements.css"}),r("Zonos style css injected!"))},G.injectFonts=()=>{if((()=>{if(document.fonts.check("1em Inter"))return void r("Inter font already loaded","warn");const e=document.querySelectorAll(`link[rel="stylesheet"][href^="${W}"]`);for(let o=0;o<e.length;o++){const t=e[o];if(t&&!K.test(t.href))return t}return null})())return void r("Inter font already injected","warn");const e=document.head||document.body,o=document.createElement("link");o.rel="preconnect",o.href=W,e.appendChild(o);const t=document.createElement("link");t.rel="stylesheet",t.href=`${W}/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap`,e.appendChild(t),r("Zonos font injected!")},G.setupGoogleFont=e=>{var o;null===(o=F.zonosController)||void 0===o||o.setupGoogleFont(e)},G.injectSupportGoogleFont=e=>{var o;r(`[FONT] injecting ${e}`);const t=null===(o=e.match(/family=(.*?):/))||void 0===o?void 0:o[1],n=document.head||document.body;if(!document.querySelector(`link[rel="preconnect"][href^="${W}"]`)){const e=document.createElement("link");e.rel="preconnect",e.href=W,n.appendChild(e)}if(document.querySelector(`link[rel="stylesheet"][href="${e}"]`))return void r(`[FONT] ${t} font already injected`,"warn");const s=document.createElement("link");s.rel="stylesheet",s.href=e,n.appendChild(s),r(`[FONT] ${t} font injected!`)},window.Zonos&&window.Zonos.doneInit||(window.Zonos=G)})();
@@ -0,0 +1,75 @@
1
+ import { type EventEmitter } from '../../../../stencil-public-runtime';
2
+ import type { AddressCompletionSubmit } from "../../../utils/checkout/applyAddressCompletion";
3
+ import type { MissingShippingField } from "../../../utils/checkout/getMissingRequiredShippingFields";
4
+ import type { EnteredInfo } from "../../../../types/checkout/TranslatedText";
5
+ export declare class ZonosAddressCompletionDialog {
6
+ /**
7
+ * Whether or not the continue button is loading
8
+ */
9
+ continueLoading: boolean;
10
+ /**
11
+ * Whether or not the dialog is open
12
+ */
13
+ dialogOpen: boolean;
14
+ /**
15
+ * Whether or not the dialog is rendered in mobile mode
16
+ */
17
+ isMobile: boolean;
18
+ /**
19
+ * The Zonos-required fields still missing from the selected address
20
+ */
21
+ missingFields: MissingShippingField[];
22
+ /**
23
+ * The shipping address selected from Stripe, shown read-only for context
24
+ */
25
+ shippingAddress: EnteredInfo;
26
+ /**
27
+ * Button color of the submit button
28
+ */
29
+ submitBtnColor?: string;
30
+ /**
31
+ * Button type of the submit button
32
+ */
33
+ submitBtnType?: HTMLZonosButtonElement['variant'];
34
+ /**
35
+ * Close dialog button click
36
+ */
37
+ closeCompletionDialog: EventEmitter<void>;
38
+ /**
39
+ * Emitted with the captured values when the customer completes the missing fields
40
+ */
41
+ completionSubmit: EventEmitter<AddressCompletionSubmit>;
42
+ /**
43
+ * Local values for the captured fields, keyed by the missing field key
44
+ */
45
+ values: AddressCompletionSubmit;
46
+ /**
47
+ * Whether to show validation errors (after a submit attempt with empty fields)
48
+ */
49
+ showError: boolean;
50
+ /**
51
+ * The dialog stays mounted, so clear any previously-entered values whenever it opens.
52
+ * Without this, values typed for one address could be reapplied to a different address
53
+ * the next time the dialog opens.
54
+ */
55
+ watchDialogOpen(isOpen: boolean): Promise<void>;
56
+ private isFieldMissing;
57
+ /**
58
+ * A captured field is valid when it has a value. Postal code additionally enforces the same
59
+ * minimum length as the landed-cost readiness / detection check, so the dialog can't emit a
60
+ * too-short postal code that would still be considered "missing" downstream.
61
+ */
62
+ private isFieldValid;
63
+ private getFieldError;
64
+ private updateValue;
65
+ private isComplete;
66
+ private submitHandler;
67
+ private renderInput;
68
+ private renderField;
69
+ /**
70
+ * When the last name is missing, render both first and last name inputs so the customer can
71
+ * correct the full name together (Link's single name input often yields only a first name).
72
+ */
73
+ private renderNameFields;
74
+ render(): any;
75
+ }
@@ -1,6 +1,7 @@
1
1
  import { type EventEmitter } from '../../../../stencil-public-runtime';
2
2
  import type { StripeAddressElementChangeEvent } from '@stripe/stripe-js';
3
3
  import { type StripeStoreContactOption } from "../../../store/checkout/stripe";
4
+ import type { MissingShippingField } from "../../../utils/checkout/getMissingRequiredShippingFields";
4
5
  import { containsNonLatinChars } from "../../../utils/containsNonLatinChars";
5
6
  import type { CountryCode } from "../../../../types/generated/graphql.internal.types";
6
7
  import type { InputFieldLabel } from "../../../../types/InputFieldLabel";
@@ -77,6 +78,15 @@ export declare class ZonosCustomerInfo {
77
78
  * Handler for the dialog close button
78
79
  */
79
80
  openAddressValidationDialog: boolean;
81
+ /**
82
+ * Whether the "complete your shipping address" dialog is open. Shown when Stripe reports
83
+ * the address complete but Zonos still needs fields Link didn't provide (e.g. last name).
84
+ */
85
+ openCompletionDialog: boolean;
86
+ /**
87
+ * Zonos-required shipping fields still missing from the selected Stripe address
88
+ */
89
+ missingShippingFields: MissingShippingField[];
80
90
  /**
81
91
  * Handler for the email error state
82
92
  */
@@ -104,6 +114,12 @@ export declare class ZonosCustomerInfo {
104
114
  * handler for continue button click
105
115
  */
106
116
  private continueClickHandler;
117
+ /**
118
+ * Continue past the customer step once the address is validated and complete. Runs the
119
+ * non-Latin character check (which may open the translate dialog) before emitting.
120
+ */
121
+ private continueAfterValidation;
122
+ private completionSubmitHandler;
107
123
  /**
108
124
  * Validate the custom address form, turn the flag showError to false if the form is valid, or vice versa
109
125
  */
@@ -152,6 +152,10 @@ declare const stripeStoreBuildAddressForPartyCreate: ({ address, firstName, last
152
152
  declare const stripeStoreAsyncAddressUpdate: () => Promise<{
153
153
  partiesCreated: boolean;
154
154
  }>;
155
+ export declare const getCountryField: (country: string) => {
156
+ stateRequired: boolean;
157
+ zipRequired: boolean;
158
+ } | null;
155
159
  declare const stripeCalculateLandedCost: () => Promise<void>;
156
160
  declare const stripeStorePrefetchLandedCost: (params?: {
157
161
  /**
@@ -119,6 +119,9 @@ export declare const stringsArabic: {
119
119
  'Company name (optional)': {
120
120
  value: string;
121
121
  };
122
+ 'Complete your shipping address': {
123
+ value: string;
124
+ };
122
125
  Confirm: {
123
126
  value: string;
124
127
  };
@@ -308,7 +311,7 @@ export declare const stringsArabic: {
308
311
  'Invalid CUIT/CUIL format. Must contain 11 digits, with or without dashes (XX-XXXXXXXX-X).': {
309
312
  value: string;
310
313
  };
311
- 'Invalid RFC format. Must be 12\u201313 uppercase letters and numbers only.': {
314
+ 'Invalid RFC or CURP format. Must be a 12\u201313 character RFC or an 18 character CURP, uppercase letters and numbers only.': {
312
315
  value: string;
313
316
  };
314
317
  'Invalid promo code': {
@@ -512,7 +515,7 @@ export declare const stringsArabic: {
512
515
  Quantity: {
513
516
  value: string;
514
517
  };
515
- 'RFC number': {
518
+ 'RFC or CURP number': {
516
519
  value: string;
517
520
  };
518
521
  'Refund policy': {
@@ -536,6 +539,9 @@ export declare const stringsArabic: {
536
539
  'Return to merchant site': {
537
540
  value: string;
538
541
  };
542
+ 'Save and continue': {
543
+ value: string;
544
+ };
539
545
  'Search countries': {
540
546
  value: string;
541
547
  };
@@ -554,6 +560,9 @@ export declare const stringsArabic: {
554
560
  'Select a language': {
555
561
  value: string;
556
562
  };
563
+ 'Selected address': {
564
+ value: string;
565
+ };
557
566
  'Session does not have valid landed cost. Please contact [organizationName] for assistance.': {
558
567
  value: string;
559
568
  };
@@ -698,6 +707,9 @@ export declare const stringsArabic: {
698
707
  "There's been an error updating your checkout session. Please reload and try again or contact support if the error persists": {
699
708
  value: string;
700
709
  };
710
+ 'This saved address is missing information required to ship internationally. Please add the details below.': {
711
+ value: string;
712
+ };
701
713
  'To ensure delivery all address details must be in Latin characters.': {
702
714
  value: string;
703
715
  };
@@ -119,6 +119,9 @@ export declare const stringsBase: {
119
119
  'Company name (optional)': {
120
120
  value: string;
121
121
  };
122
+ 'Complete your shipping address': {
123
+ value: string;
124
+ };
122
125
  Confirm: {
123
126
  value: string;
124
127
  };
@@ -308,7 +311,7 @@ export declare const stringsBase: {
308
311
  'Invalid CUIT/CUIL format. Must contain 11 digits, with or without dashes (XX-XXXXXXXX-X).': {
309
312
  value: string;
310
313
  };
311
- 'Invalid RFC format. Must be 12\u201313 uppercase letters and numbers only.': {
314
+ 'Invalid RFC or CURP format. Must be a 12\u201313 character RFC or an 18 character CURP, uppercase letters and numbers only.': {
312
315
  value: string;
313
316
  };
314
317
  'Invalid promo code': {
@@ -512,7 +515,7 @@ export declare const stringsBase: {
512
515
  Quantity: {
513
516
  value: string;
514
517
  };
515
- 'RFC number': {
518
+ 'RFC or CURP number': {
516
519
  value: string;
517
520
  };
518
521
  'Refund policy': {
@@ -536,6 +539,9 @@ export declare const stringsBase: {
536
539
  'Return to merchant site': {
537
540
  value: string;
538
541
  };
542
+ 'Save and continue': {
543
+ value: string;
544
+ };
539
545
  'Search countries': {
540
546
  value: string;
541
547
  };
@@ -554,6 +560,9 @@ export declare const stringsBase: {
554
560
  'Select a language': {
555
561
  value: string;
556
562
  };
563
+ 'Selected address': {
564
+ value: string;
565
+ };
557
566
  'Session does not have valid landed cost. Please contact [organizationName] for assistance.': {
558
567
  value: string;
559
568
  };
@@ -698,6 +707,9 @@ export declare const stringsBase: {
698
707
  "There's been an error updating your checkout session. Please reload and try again or contact support if the error persists": {
699
708
  value: string;
700
709
  };
710
+ 'This saved address is missing information required to ship internationally. Please add the details below.': {
711
+ value: string;
712
+ };
701
713
  'To ensure delivery all address details must be in Latin characters.': {
702
714
  value: string;
703
715
  };
@@ -119,6 +119,9 @@ export declare const stringsChinese: {
119
119
  'Company name (optional)': {
120
120
  value: string;
121
121
  };
122
+ 'Complete your shipping address': {
123
+ value: string;
124
+ };
122
125
  Confirm: {
123
126
  value: string;
124
127
  };
@@ -308,7 +311,7 @@ export declare const stringsChinese: {
308
311
  'Invalid CUIT/CUIL format. Must contain 11 digits, with or without dashes (XX-XXXXXXXX-X).': {
309
312
  value: string;
310
313
  };
311
- 'Invalid RFC format. Must be 12\u201313 uppercase letters and numbers only.': {
314
+ 'Invalid RFC or CURP format. Must be a 12\u201313 character RFC or an 18 character CURP, uppercase letters and numbers only.': {
312
315
  value: string;
313
316
  };
314
317
  'Invalid promo code': {
@@ -512,7 +515,7 @@ export declare const stringsChinese: {
512
515
  Quantity: {
513
516
  value: string;
514
517
  };
515
- 'RFC number': {
518
+ 'RFC or CURP number': {
516
519
  value: string;
517
520
  };
518
521
  'Refund policy': {
@@ -536,6 +539,9 @@ export declare const stringsChinese: {
536
539
  'Return to merchant site': {
537
540
  value: string;
538
541
  };
542
+ 'Save and continue': {
543
+ value: string;
544
+ };
539
545
  'Search countries': {
540
546
  value: string;
541
547
  };
@@ -554,6 +560,9 @@ export declare const stringsChinese: {
554
560
  'Select a language': {
555
561
  value: string;
556
562
  };
563
+ 'Selected address': {
564
+ value: string;
565
+ };
557
566
  'Session does not have valid landed cost. Please contact [organizationName] for assistance.': {
558
567
  value: string;
559
568
  };
@@ -698,6 +707,9 @@ export declare const stringsChinese: {
698
707
  "There's been an error updating your checkout session. Please reload and try again or contact support if the error persists": {
699
708
  value: string;
700
709
  };
710
+ 'This saved address is missing information required to ship internationally. Please add the details below.': {
711
+ value: string;
712
+ };
701
713
  'To ensure delivery all address details must be in Latin characters.': {
702
714
  value: string;
703
715
  };
@@ -119,6 +119,9 @@ export declare const stringsDanish: {
119
119
  'Company name (optional)': {
120
120
  value: string;
121
121
  };
122
+ 'Complete your shipping address': {
123
+ value: string;
124
+ };
122
125
  Confirm: {
123
126
  value: string;
124
127
  };
@@ -308,7 +311,7 @@ export declare const stringsDanish: {
308
311
  'Invalid CUIT/CUIL format. Must contain 11 digits, with or without dashes (XX-XXXXXXXX-X).': {
309
312
  value: string;
310
313
  };
311
- 'Invalid RFC format. Must be 12\u201313 uppercase letters and numbers only.': {
314
+ 'Invalid RFC or CURP format. Must be a 12\u201313 character RFC or an 18 character CURP, uppercase letters and numbers only.': {
312
315
  value: string;
313
316
  };
314
317
  'Invalid promo code': {
@@ -512,7 +515,7 @@ export declare const stringsDanish: {
512
515
  Quantity: {
513
516
  value: string;
514
517
  };
515
- 'RFC number': {
518
+ 'RFC or CURP number': {
516
519
  value: string;
517
520
  };
518
521
  'Refund policy': {
@@ -536,6 +539,9 @@ export declare const stringsDanish: {
536
539
  'Return to merchant site': {
537
540
  value: string;
538
541
  };
542
+ 'Save and continue': {
543
+ value: string;
544
+ };
539
545
  'Search countries': {
540
546
  value: string;
541
547
  };
@@ -554,6 +560,9 @@ export declare const stringsDanish: {
554
560
  'Select a language': {
555
561
  value: string;
556
562
  };
563
+ 'Selected address': {
564
+ value: string;
565
+ };
557
566
  'Session does not have valid landed cost. Please contact [organizationName] for assistance.': {
558
567
  value: string;
559
568
  };
@@ -698,6 +707,9 @@ export declare const stringsDanish: {
698
707
  "There's been an error updating your checkout session. Please reload and try again or contact support if the error persists": {
699
708
  value: string;
700
709
  };
710
+ 'This saved address is missing information required to ship internationally. Please add the details below.': {
711
+ value: string;
712
+ };
701
713
  'To ensure delivery all address details must be in Latin characters.': {
702
714
  value: string;
703
715
  };
@@ -119,6 +119,9 @@ export declare const stringsDutch: {
119
119
  'Company name (optional)': {
120
120
  value: string;
121
121
  };
122
+ 'Complete your shipping address': {
123
+ value: string;
124
+ };
122
125
  Confirm: {
123
126
  value: string;
124
127
  };
@@ -308,7 +311,7 @@ export declare const stringsDutch: {
308
311
  'Invalid CUIT/CUIL format. Must contain 11 digits, with or without dashes (XX-XXXXXXXX-X).': {
309
312
  value: string;
310
313
  };
311
- 'Invalid RFC format. Must be 12\u201313 uppercase letters and numbers only.': {
314
+ 'Invalid RFC or CURP format. Must be a 12\u201313 character RFC or an 18 character CURP, uppercase letters and numbers only.': {
312
315
  value: string;
313
316
  };
314
317
  'Invalid promo code': {
@@ -512,7 +515,7 @@ export declare const stringsDutch: {
512
515
  Quantity: {
513
516
  value: string;
514
517
  };
515
- 'RFC number': {
518
+ 'RFC or CURP number': {
516
519
  value: string;
517
520
  };
518
521
  'Refund policy': {
@@ -536,6 +539,9 @@ export declare const stringsDutch: {
536
539
  'Return to merchant site': {
537
540
  value: string;
538
541
  };
542
+ 'Save and continue': {
543
+ value: string;
544
+ };
539
545
  'Search countries': {
540
546
  value: string;
541
547
  };
@@ -554,6 +560,9 @@ export declare const stringsDutch: {
554
560
  'Select a language': {
555
561
  value: string;
556
562
  };
563
+ 'Selected address': {
564
+ value: string;
565
+ };
557
566
  'Session does not have valid landed cost. Please contact [organizationName] for assistance.': {
558
567
  value: string;
559
568
  };
@@ -698,6 +707,9 @@ export declare const stringsDutch: {
698
707
  "There's been an error updating your checkout session. Please reload and try again or contact support if the error persists": {
699
708
  value: string;
700
709
  };
710
+ 'This saved address is missing information required to ship internationally. Please add the details below.': {
711
+ value: string;
712
+ };
701
713
  'To ensure delivery all address details must be in Latin characters.': {
702
714
  value: string;
703
715
  };
@@ -119,6 +119,9 @@ export declare const stringsFrench: {
119
119
  'Company name (optional)': {
120
120
  value: string;
121
121
  };
122
+ 'Complete your shipping address': {
123
+ value: string;
124
+ };
122
125
  Confirm: {
123
126
  value: string;
124
127
  };
@@ -308,7 +311,7 @@ export declare const stringsFrench: {
308
311
  'Invalid CUIT/CUIL format. Must contain 11 digits, with or without dashes (XX-XXXXXXXX-X).': {
309
312
  value: string;
310
313
  };
311
- 'Invalid RFC format. Must be 12\u201313 uppercase letters and numbers only.': {
314
+ 'Invalid RFC or CURP format. Must be a 12\u201313 character RFC or an 18 character CURP, uppercase letters and numbers only.': {
312
315
  value: string;
313
316
  };
314
317
  'Invalid promo code': {
@@ -512,7 +515,7 @@ export declare const stringsFrench: {
512
515
  Quantity: {
513
516
  value: string;
514
517
  };
515
- 'RFC number': {
518
+ 'RFC or CURP number': {
516
519
  value: string;
517
520
  };
518
521
  'Refund policy': {
@@ -536,6 +539,9 @@ export declare const stringsFrench: {
536
539
  'Return to merchant site': {
537
540
  value: string;
538
541
  };
542
+ 'Save and continue': {
543
+ value: string;
544
+ };
539
545
  'Search countries': {
540
546
  value: string;
541
547
  };
@@ -554,6 +560,9 @@ export declare const stringsFrench: {
554
560
  'Select a language': {
555
561
  value: string;
556
562
  };
563
+ 'Selected address': {
564
+ value: string;
565
+ };
557
566
  'Session does not have valid landed cost. Please contact [organizationName] for assistance.': {
558
567
  value: string;
559
568
  };
@@ -698,6 +707,9 @@ export declare const stringsFrench: {
698
707
  "There's been an error updating your checkout session. Please reload and try again or contact support if the error persists": {
699
708
  value: string;
700
709
  };
710
+ 'This saved address is missing information required to ship internationally. Please add the details below.': {
711
+ value: string;
712
+ };
701
713
  'To ensure delivery all address details must be in Latin characters.': {
702
714
  value: string;
703
715
  };
@@ -119,6 +119,9 @@ export declare const stringsGerman: {
119
119
  'Company name (optional)': {
120
120
  value: string;
121
121
  };
122
+ 'Complete your shipping address': {
123
+ value: string;
124
+ };
122
125
  Confirm: {
123
126
  value: string;
124
127
  };
@@ -308,7 +311,7 @@ export declare const stringsGerman: {
308
311
  'Invalid CUIT/CUIL format. Must contain 11 digits, with or without dashes (XX-XXXXXXXX-X).': {
309
312
  value: string;
310
313
  };
311
- 'Invalid RFC format. Must be 12\u201313 uppercase letters and numbers only.': {
314
+ 'Invalid RFC or CURP format. Must be a 12\u201313 character RFC or an 18 character CURP, uppercase letters and numbers only.': {
312
315
  value: string;
313
316
  };
314
317
  'Invalid promo code': {
@@ -512,7 +515,7 @@ export declare const stringsGerman: {
512
515
  Quantity: {
513
516
  value: string;
514
517
  };
515
- 'RFC number': {
518
+ 'RFC or CURP number': {
516
519
  value: string;
517
520
  };
518
521
  'Refund policy': {
@@ -536,6 +539,9 @@ export declare const stringsGerman: {
536
539
  'Return to merchant site': {
537
540
  value: string;
538
541
  };
542
+ 'Save and continue': {
543
+ value: string;
544
+ };
539
545
  'Search countries': {
540
546
  value: string;
541
547
  };
@@ -554,6 +560,9 @@ export declare const stringsGerman: {
554
560
  'Select a language': {
555
561
  value: string;
556
562
  };
563
+ 'Selected address': {
564
+ value: string;
565
+ };
557
566
  'Session does not have valid landed cost. Please contact [organizationName] for assistance.': {
558
567
  value: string;
559
568
  };
@@ -698,6 +707,9 @@ export declare const stringsGerman: {
698
707
  "There's been an error updating your checkout session. Please reload and try again or contact support if the error persists": {
699
708
  value: string;
700
709
  };
710
+ 'This saved address is missing information required to ship internationally. Please add the details below.': {
711
+ value: string;
712
+ };
701
713
  'To ensure delivery all address details must be in Latin characters.': {
702
714
  value: string;
703
715
  };