@justifi/webcomponents 6.0.0-rc.9 → 6.0.1-rc.0

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 (673) hide show
  1. package/dist/cjs/{Api-y2G49jOh.js → Api-CwTLkFY4.js} +2 -2
  2. package/dist/cjs/{Refund-BVZHsa6Z.js → Refund-BPSBtjQC.js} +3 -1
  3. package/dist/cjs/additional-questions-details_5.cjs.entry.js +3 -3
  4. package/dist/cjs/{badge-CcJ9H85-.js → badge-BmOSt4gS.js} +1 -1
  5. package/dist/cjs/bank-account-document-form-inputs_4.cjs.entry.js +11 -11
  6. package/dist/cjs/bank-account-form.cjs.entry.js +10 -15
  7. package/dist/cjs/business-details-core.cjs.entry.js +6 -21
  8. package/dist/cjs/{business.service-D5IhSyRJ.js → business.service-Dkhqyggm.js} +2 -2
  9. package/dist/cjs/{button-DsHDMHaa.js → button-7c2RN2yp.js} +2 -3
  10. package/dist/cjs/card-form.cjs.entry.js +10 -19
  11. package/dist/cjs/{check-pkg-version-VnhfIX0p.js → check-pkg-version-B48ZmuJS.js} +3 -3
  12. package/dist/cjs/{checkout.service-4aS641tN.js → checkout.service-LwZVVgP5.js} +2 -2
  13. package/dist/cjs/checkout.store-C3f3E24L.js +84 -0
  14. package/dist/cjs/checkouts-list-core.cjs.entry.js +11 -11
  15. package/dist/cjs/{checkouts-list-params-state-Cewmin_p.js → checkouts-list-params-state-C4c8UZtP.js} +1 -1
  16. package/dist/cjs/{checkouts-table-B_gpjGhs.js → checkouts-table-BQUhZZd_.js} +4 -6
  17. package/dist/cjs/{config-state-BBOZIS8x.js → config-state-B_gyIchD.js} +1 -1
  18. package/dist/cjs/custom-popper_2.cjs.entry.js +3 -3
  19. package/dist/cjs/{dispute.service-64ciJH0r.js → dispute.service-927Gzb0N.js} +2 -2
  20. package/dist/cjs/form-alert_5.cjs.entry.js +5 -5
  21. package/dist/cjs/form-control-checkbox.cjs.entry.js +5 -5
  22. package/dist/cjs/form-control-date.cjs.entry.js +4 -4
  23. package/dist/cjs/{form-control-error-text-B-P5UDhm.js → form-control-error-text-DD0dHGu8.js} +1 -1
  24. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +5 -5
  25. package/dist/cjs/{form-control-help-text-JoZjhb9m.js → form-control-help-text-2QwKi78M.js} +1 -1
  26. package/dist/cjs/form-control-help-text.cjs.entry.js +1 -1
  27. package/dist/cjs/form-control-monetary-provisioning.cjs.entry.js +5 -5
  28. package/dist/cjs/form-control-monetary.cjs.entry.js +6 -6
  29. package/dist/cjs/form-control-number-masked_2.cjs.entry.js +5 -5
  30. package/dist/cjs/form-control-number.cjs.entry.js +5 -5
  31. package/dist/cjs/form-control-radio.cjs.entry.js +3 -3
  32. package/dist/cjs/form-control-select_2.cjs.entry.js +6 -6
  33. package/dist/cjs/{get-payment-details-DE5xUUpt.js → get-payment-details-BSxp1HX0.js} +2 -2
  34. package/dist/cjs/{get-subaccounts-CH477rHs.js → get-subaccounts-B31f95PR.js} +3 -3
  35. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +5 -5
  36. package/dist/cjs/{header-1-DRA3f4Jh.js → header-1-DMsp0XM7.js} +1 -1
  37. package/dist/cjs/{header-3-sOdOpfx3.js → header-3-BSvFq_IF.js} +1 -1
  38. package/dist/cjs/hidden-input_2.cjs.entry.js +8 -8
  39. package/dist/cjs/{checkout.store-MSwLBCby.js → index-C2ITzalN.js} +29 -41
  40. package/dist/cjs/{index-B32W0A3m.js → index-D1Ba20gi.js} +1 -1
  41. package/dist/cjs/{index-C9hBD-32.js → index-Dyzl8Hn6.js} +8 -2
  42. package/dist/cjs/index.cjs.js +8 -0
  43. package/dist/cjs/{insurance-state-d2thhXUX.js → insurance-state-uWOl6jJN.js} +2 -2
  44. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +9 -24
  45. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +17 -17
  46. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +9 -9
  47. package/dist/cjs/justifi-apple-pay.cjs.entry.js +177 -86
  48. package/dist/cjs/justifi-bank-account-billing-form-simple_9.cjs.entry.js +26 -44
  49. package/dist/cjs/justifi-business-details.cjs.entry.js +10 -10
  50. package/dist/cjs/justifi-business-form.cjs.entry.js +15 -30
  51. package/dist/cjs/justifi-business-representative-form-inputs.cjs.entry.js +2 -2
  52. package/dist/cjs/justifi-checkout-summary_7.cjs.entry.js +200 -164
  53. package/dist/cjs/justifi-checkout.cjs.entry.js +19 -11
  54. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +8 -8
  55. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +14 -14
  56. package/dist/cjs/justifi-config-provider.cjs.entry.js +3 -3
  57. package/dist/cjs/justifi-details.cjs.entry.js +3 -3
  58. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +2 -2
  59. package/dist/cjs/justifi-dispute-management.cjs.entry.js +10 -10
  60. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +15 -15
  61. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +9 -9
  62. package/dist/cjs/justifi-order-terminals.cjs.entry.js +16 -44
  63. package/dist/cjs/justifi-owner-form_3.cjs.entry.js +11 -11
  64. package/dist/cjs/justifi-payment-details.cjs.entry.js +11 -11
  65. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +4 -4
  66. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +10 -10
  67. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +14 -16
  68. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +7 -7
  69. package/dist/cjs/justifi-payments-list.cjs.entry.js +14 -14
  70. package/dist/cjs/justifi-payout-details.cjs.entry.js +10 -10
  71. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +16 -22
  72. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +7 -7
  73. package/dist/cjs/justifi-payouts-list.cjs.entry.js +15 -15
  74. package/dist/cjs/justifi-refund-payment.cjs.entry.js +15 -21
  75. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +2 -2
  76. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +14 -25
  77. package/dist/cjs/justifi-skeleton.cjs.entry.js +4 -4
  78. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +9 -9
  79. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +12 -12
  80. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +8 -8
  81. package/dist/cjs/justifi-terminals-list.cjs.entry.js +14 -14
  82. package/dist/cjs/loader.cjs.js +2 -2
  83. package/dist/cjs/{package-BS0_inF6.js → package-C3FMDKcV.js} +1 -1
  84. package/dist/cjs/pagination-menu.cjs.entry.js +4 -4
  85. package/dist/cjs/payment-details-core.cjs.entry.js +16 -28
  86. package/dist/cjs/payment-method-option.cjs.entry.js +3 -3
  87. package/dist/cjs/{payment.service--kzMop3L.js → payment.service-DUq-W7tS.js} +2 -2
  88. package/dist/cjs/payments-list-core.cjs.entry.js +12 -12
  89. package/dist/cjs/{payments-list-params-state-Cewmin_p.js → payments-list-params-state-C4c8UZtP.js} +1 -1
  90. package/dist/cjs/{payments-status-DXRh_ekP.js → payments-status-3iIQkoov.js} +2 -2
  91. package/dist/cjs/{payments-table-DFRtk-T9.js → payments-table-BSHUQhM-.js} +4 -6
  92. package/dist/cjs/payout-details-core.cjs.entry.js +12 -24
  93. package/dist/cjs/{payout.service-D3omzNG_.js → payout.service-DoKMr8Xw.js} +2 -2
  94. package/dist/cjs/payouts-list-core.cjs.entry.js +12 -12
  95. package/dist/cjs/{payouts-list-params-state-Cewmin_p.js → payouts-list-params-state-C4c8UZtP.js} +1 -1
  96. package/dist/cjs/{payouts-status-DxTQZv3i.js → payouts-status-DoQbxIms.js} +2 -2
  97. package/dist/cjs/{payouts-table-DE3t0x93.js → payouts-table-BD_Fhz_j.js} +5 -7
  98. package/dist/cjs/{skeleton-C7DQRD6r.js → skeleton-CuIMC98G.js} +1 -1
  99. package/dist/cjs/spinner-CMZXdrPe.js +10 -0
  100. package/dist/cjs/{styled-host-BfVJlAsJ.js → styled-host-2KXbjOFw.js} +2 -4
  101. package/dist/cjs/{table-Ccdrt0v_.js → table-DlQCUVag.js} +5 -11
  102. package/dist/cjs/table-filters-menu.cjs.entry.js +3 -3
  103. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +11 -11
  104. package/dist/cjs/{terminal-orders-list-params-state-Cewmin_p.js → terminal-orders-list-params-state-C4c8UZtP.js} +1 -1
  105. package/dist/cjs/{terminal-orders-table-B1LJitwE.js → terminal-orders-table-t6XxNy_K.js} +7 -11
  106. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +2 -2
  107. package/dist/cjs/{terminal.service-BOvYfpQW.js → terminal.service-Iyje71vN.js} +2 -2
  108. package/dist/cjs/terminals-list-core.cjs.entry.js +11 -11
  109. package/dist/cjs/terminals-list-params-state-C4c8UZtP.js +22 -0
  110. package/dist/cjs/{terminals-table-DYt7exFQ.js → terminals-table-BTdKRiBN.js} +3 -3
  111. package/dist/cjs/{utils-BaGF9XIe.js → utils-ChCUZgUy.js} +6 -0
  112. package/dist/cjs/utils-FFP5ZHyE.js +18 -0
  113. package/dist/cjs/webcomponents.cjs.js +3 -3
  114. package/dist/collection/api/Payment.js +2 -0
  115. package/dist/collection/api/index.js +1 -2
  116. package/dist/collection/api/services/apple-pay.service.js +95 -8
  117. package/dist/collection/collection-manifest.json +3 -3
  118. package/dist/collection/components/business-forms/business-form/additional-questions/additional-questions.js +6 -6
  119. package/dist/collection/components/business-forms/business-form/business-core-info/business-core-info.js +1 -1
  120. package/dist/collection/components/business-forms/business-form/business-representative/business-representative.js +6 -6
  121. package/dist/collection/components/business-forms/business-form/legal-address-form/legal-address-form.js +6 -6
  122. package/dist/collection/components/business-forms/owner-form/identity-address/identity-address-form.js +1 -1
  123. package/dist/collection/components/business-forms/owner-form/owner-form-core.js +1 -1
  124. package/dist/collection/components/business-forms/owner-form/owner-form-inputs.js +6 -6
  125. package/dist/collection/components/business-forms/owner-form/owner-form.js +1 -1
  126. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.js +1 -1
  127. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-document-inputs.js +1 -1
  128. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs.js +1 -1
  129. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.js +1 -1
  130. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +1 -1
  131. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.js +1 -1
  132. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-inputs.js +1 -1
  133. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +1 -1
  134. package/dist/collection/components/business-forms/payment-provisioning/form-control-monetary-provisioning.js +2 -2
  135. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.js +1 -1
  136. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +1 -1
  137. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-buttons.js +1 -1
  138. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-steps.js +1 -1
  139. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.js +1 -1
  140. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-form-step.js +1 -1
  141. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +6 -3
  142. package/dist/collection/components/checkout/card-form/card-form.js +6 -3
  143. package/dist/collection/components/checkout/checkout.js +16 -1
  144. package/dist/collection/components/checkout/save-new-payment-method.js +26 -1
  145. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  146. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  147. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +1 -1
  148. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  149. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  150. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  151. package/dist/collection/components/dispute-management/dispute-notification.js +1 -1
  152. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  153. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  154. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  155. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  156. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  157. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  158. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  159. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  160. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  161. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  162. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  163. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  164. package/dist/collection/components/modular-checkout/ModularCheckout.js +27 -0
  165. package/dist/collection/components/modular-checkout/modular-checkout.js +113 -72
  166. package/dist/collection/components/modular-checkout/sub-components/apple-pay-skeleton.js +2 -2
  167. package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +72 -70
  168. package/dist/collection/components/modular-checkout/sub-components/bank-account-billing-form-simple.js +1 -1
  169. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  170. package/dist/collection/components/modular-checkout/sub-components/card-billing-form-simple.js +1 -1
  171. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  172. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  173. package/dist/collection/components/modular-checkout/sub-components/plaid-payment-method.js +57 -65
  174. package/dist/collection/components/modular-checkout/sub-components/plaid-payment-method.test.js +8 -6
  175. package/dist/collection/components/modular-checkout/sub-components/saved-payment-methods.js +8 -10
  176. package/dist/collection/components/modular-checkout/sub-components/sezzle-payment-method.js +22 -7
  177. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  178. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  179. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  180. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  181. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  182. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  183. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  184. package/dist/collection/components/payments-list/payments-list.js +1 -1
  185. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  186. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  187. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  188. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  189. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  190. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  191. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  192. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  193. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  194. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  195. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  196. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +31 -13
  197. package/dist/collection/index.js +1 -0
  198. package/dist/collection/store/checkout.store.js +46 -3
  199. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  200. package/dist/collection/ui-components/details/details.js +1 -1
  201. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  202. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  203. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  204. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  205. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  206. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  207. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  208. package/dist/collection/ui-components/form/form-control-radio.js +5 -5
  209. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  210. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  211. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  212. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  213. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  214. package/dist/collection/ui-components/pagination-menu/pagination-menu.js +3 -3
  215. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  216. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  217. package/dist/collection/ui-components/shadow-dom-components/justifi-radio-list-item.js +4 -4
  218. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  219. package/dist/collection/utils/utils.js +5 -0
  220. package/dist/docs.json +167 -190
  221. package/dist/esm/{Api-C1I68Tfr.js → Api-D4tj-h4P.js} +2 -2
  222. package/dist/esm/{Refund-kKW8S1h6.js → Refund-Bc5By0lb.js} +3 -1
  223. package/dist/esm/additional-questions-details_5.entry.js +3 -3
  224. package/dist/esm/{badge-DSYSJcRy.js → badge-ChwzCNAF.js} +1 -1
  225. package/dist/esm/bank-account-document-form-inputs_4.entry.js +11 -11
  226. package/dist/esm/bank-account-form.entry.js +10 -15
  227. package/dist/esm/business-details-core.entry.js +6 -21
  228. package/dist/esm/{business.service-B3wlBl1x.js → business.service-CsbtEDNi.js} +2 -2
  229. package/dist/esm/{button-CpllL0At.js → button-SAIS_5os.js} +2 -3
  230. package/dist/esm/card-form.entry.js +10 -19
  231. package/dist/esm/{check-pkg-version-CGQdCjwh.js → check-pkg-version-DSO4z-Vx.js} +3 -3
  232. package/dist/esm/{checkout.service-KDp7tISm.js → checkout.service-BCkQ9pOA.js} +2 -2
  233. package/dist/esm/checkout.store-DBvS7cVB.js +79 -0
  234. package/dist/esm/checkouts-list-core.entry.js +11 -11
  235. package/dist/esm/{checkouts-list-params-state-D8tzsGR_.js → checkouts-list-params-state-C2_GlMKR.js} +1 -1
  236. package/dist/esm/{checkouts-table-QOdiLpak.js → checkouts-table-CItEo0DU.js} +4 -6
  237. package/dist/esm/{config-state-DZeVYerv.js → config-state-Blo0ywwc.js} +1 -1
  238. package/dist/esm/custom-popper_2.entry.js +3 -3
  239. package/dist/esm/{dispute.service-DEZEPwn-.js → dispute.service-CyLtJREK.js} +2 -2
  240. package/dist/esm/form-alert_5.entry.js +5 -5
  241. package/dist/esm/form-control-checkbox.entry.js +5 -5
  242. package/dist/esm/form-control-date.entry.js +4 -4
  243. package/dist/esm/{form-control-error-text-R7U07nTg.js → form-control-error-text-IXJJ4JpV.js} +1 -1
  244. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  245. package/dist/esm/{form-control-help-text-CRLH-2f7.js → form-control-help-text-CuhIsM3v.js} +1 -1
  246. package/dist/esm/form-control-help-text.entry.js +1 -1
  247. package/dist/esm/form-control-monetary-provisioning.entry.js +5 -5
  248. package/dist/esm/form-control-monetary.entry.js +6 -6
  249. package/dist/esm/form-control-number-masked_2.entry.js +5 -5
  250. package/dist/esm/form-control-number.entry.js +5 -5
  251. package/dist/esm/form-control-radio.entry.js +3 -3
  252. package/dist/esm/form-control-select_2.entry.js +6 -6
  253. package/dist/esm/{get-payment-details-CYASKLT7.js → get-payment-details-BuT0QNOo.js} +2 -2
  254. package/dist/esm/{get-subaccounts-E0PYy_pc.js → get-subaccounts-VjY6-x_9.js} +3 -3
  255. package/dist/esm/gross-payment-chart-core.entry.js +5 -5
  256. package/dist/esm/{header-1-3M9If0gM.js → header-1-zXsamUS3.js} +1 -1
  257. package/dist/esm/{header-3-CWa41YWq.js → header-3-DVtaUAlf.js} +1 -1
  258. package/dist/esm/hidden-input_2.entry.js +8 -8
  259. package/dist/esm/{checkout.store-UMe84fjY.js → index-DCIW8z1f.js} +27 -38
  260. package/dist/esm/{index-B_KxSZIF.js → index-ZfXl6Xrm.js} +1 -1
  261. package/dist/esm/{index-Bn7inNWG.js → index-qipqIMyC.js} +8 -2
  262. package/dist/esm/index.js +1 -1
  263. package/dist/esm/{insurance-state-CTalqbNa.js → insurance-state-Dh9f36Qh.js} +2 -2
  264. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +9 -24
  265. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +17 -17
  266. package/dist/esm/justifi-additional-statement_8.entry.js +9 -9
  267. package/dist/esm/justifi-apple-pay.entry.js +177 -86
  268. package/dist/esm/justifi-bank-account-billing-form-simple_9.entry.js +26 -44
  269. package/dist/esm/justifi-business-details.entry.js +10 -10
  270. package/dist/esm/justifi-business-form.entry.js +15 -30
  271. package/dist/esm/justifi-business-representative-form-inputs.entry.js +2 -2
  272. package/dist/esm/justifi-checkout-summary_7.entry.js +193 -157
  273. package/dist/esm/justifi-checkout.entry.js +19 -11
  274. package/dist/esm/justifi-checkouts-list-filters.entry.js +8 -8
  275. package/dist/esm/justifi-checkouts-list.entry.js +14 -14
  276. package/dist/esm/justifi-config-provider.entry.js +3 -3
  277. package/dist/esm/justifi-details.entry.js +3 -3
  278. package/dist/esm/justifi-dispute-management-core.entry.js +2 -2
  279. package/dist/esm/justifi-dispute-management.entry.js +10 -10
  280. package/dist/esm/justifi-dispute-notification_3.entry.js +15 -15
  281. package/dist/esm/justifi-gross-payment-chart.entry.js +9 -9
  282. package/dist/esm/justifi-order-terminals.entry.js +16 -44
  283. package/dist/esm/justifi-owner-form_3.entry.js +11 -11
  284. package/dist/esm/justifi-payment-details.entry.js +11 -11
  285. package/dist/esm/justifi-payment-provisioning-core.entry.js +4 -4
  286. package/dist/esm/justifi-payment-provisioning.entry.js +10 -10
  287. package/dist/esm/justifi-payment-transactions-list.entry.js +14 -16
  288. package/dist/esm/justifi-payments-list-filters.entry.js +7 -7
  289. package/dist/esm/justifi-payments-list.entry.js +14 -14
  290. package/dist/esm/justifi-payout-details.entry.js +10 -10
  291. package/dist/esm/justifi-payout-transactions-list.entry.js +16 -22
  292. package/dist/esm/justifi-payouts-list-filters.entry.js +7 -7
  293. package/dist/esm/justifi-payouts-list.entry.js +15 -15
  294. package/dist/esm/justifi-refund-payment.entry.js +15 -21
  295. package/dist/esm/justifi-saved-payment-method.entry.js +2 -2
  296. package/dist/esm/justifi-season-interruption-insurance.entry.js +14 -25
  297. package/dist/esm/justifi-skeleton.entry.js +4 -4
  298. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +9 -9
  299. package/dist/esm/justifi-terminal-orders-list.entry.js +12 -12
  300. package/dist/esm/justifi-terminals-list-filters.entry.js +8 -8
  301. package/dist/esm/justifi-terminals-list.entry.js +14 -14
  302. package/dist/esm/loader.js +3 -3
  303. package/dist/esm/{package-BiWRKUx3.js → package-tyhA5jkt.js} +1 -1
  304. package/dist/esm/pagination-menu.entry.js +4 -4
  305. package/dist/esm/payment-details-core.entry.js +16 -28
  306. package/dist/esm/payment-method-option.entry.js +3 -3
  307. package/dist/esm/{payment.service-uJpJaX2Z.js → payment.service-QJEmd6Nl.js} +2 -2
  308. package/dist/esm/payments-list-core.entry.js +12 -12
  309. package/dist/esm/{payments-list-params-state-D8tzsGR_.js → payments-list-params-state-C2_GlMKR.js} +1 -1
  310. package/dist/esm/{payments-status-5orNU2Rd.js → payments-status-DDafc8Yr.js} +2 -2
  311. package/dist/esm/{payments-table-B0uyodyJ.js → payments-table-De3Jb6rY.js} +4 -6
  312. package/dist/esm/payout-details-core.entry.js +12 -24
  313. package/dist/esm/{payout.service-ClUgtbbb.js → payout.service-XxyEr0rj.js} +2 -2
  314. package/dist/esm/payouts-list-core.entry.js +12 -12
  315. package/dist/esm/{payouts-list-params-state-D8tzsGR_.js → payouts-list-params-state-C2_GlMKR.js} +1 -1
  316. package/dist/esm/{payouts-status-CZPwa2AE.js → payouts-status-u1eSRz3Q.js} +2 -2
  317. package/dist/esm/{payouts-table-CaCSX_0q.js → payouts-table-BO-MCzXj.js} +5 -7
  318. package/dist/esm/{skeleton-qMb0_Cjy.js → skeleton-DtpkgjZ6.js} +1 -1
  319. package/dist/esm/spinner-CIXUVK4F.js +8 -0
  320. package/dist/esm/{styled-host-CTAGIN84.js → styled-host-CbizlfAU.js} +2 -4
  321. package/dist/esm/{table-Br3n9Xu-.js → table-DcRHK_sm.js} +5 -11
  322. package/dist/esm/table-filters-menu.entry.js +3 -3
  323. package/dist/esm/terminal-orders-list-core.entry.js +11 -11
  324. package/dist/esm/{terminal-orders-list-params-state-D8tzsGR_.js → terminal-orders-list-params-state-C2_GlMKR.js} +1 -1
  325. package/dist/esm/{terminal-orders-table-DPtof5Zb.js → terminal-orders-table-9nsnrAq8.js} +7 -11
  326. package/dist/esm/terminal-quantity-selector.entry.js +2 -2
  327. package/dist/esm/{terminal.service-ClNtE3e-.js → terminal.service-D2oETGnk.js} +2 -2
  328. package/dist/esm/terminals-list-core.entry.js +11 -11
  329. package/dist/esm/terminals-list-params-state-C2_GlMKR.js +16 -0
  330. package/dist/esm/{terminals-table-ClkR_jrC.js → terminals-table-C6NO2m-t.js} +3 -3
  331. package/dist/esm/{utils-lb8p1Exq.js → utils-BscIVFn8.js} +6 -1
  332. package/dist/esm/utils-_ckvHjSW.js +11 -0
  333. package/dist/esm/webcomponents.js +4 -4
  334. package/dist/module/ModularCheckout.js +57 -0
  335. package/dist/module/Refund.js +2 -0
  336. package/dist/module/additional-questions-details2.js +4 -2
  337. package/dist/module/additional-questions.js +6 -4
  338. package/dist/module/additional-statement.js +5 -3
  339. package/dist/module/bank-account-billing-form-simple.js +5 -3
  340. package/dist/module/bank-account-document-inputs.js +5 -3
  341. package/dist/module/bank-account-form-inputs2.js +5 -3
  342. package/dist/module/bank-account-form.js +10 -13
  343. package/dist/module/bank-account.js +7 -13
  344. package/dist/module/billing-form-full.js +4 -2
  345. package/dist/module/billing-form.js +4 -2
  346. package/dist/module/business-additional-questions-form-step-core.js +4 -2
  347. package/dist/module/business-additional-questions-form-step.js +5 -3
  348. package/dist/module/business-bank-account-form-step-core.js +4 -2
  349. package/dist/module/business-bank-account-form-step.js +5 -3
  350. package/dist/module/business-core-info-form-step-core.js +4 -2
  351. package/dist/module/business-core-info-form-step.js +5 -3
  352. package/dist/module/business-core-info.js +5 -3
  353. package/dist/module/business-details-core2.js +6 -19
  354. package/dist/module/business-documents-on-file2.js +4 -2
  355. package/dist/module/business-owners-form-step-core.js +4 -2
  356. package/dist/module/business-owners-form-step.js +5 -3
  357. package/dist/module/business-representative-form-inputs.js +5 -3
  358. package/dist/module/business-representative-form-step-core.js +4 -2
  359. package/dist/module/business-representative-form-step.js +5 -3
  360. package/dist/module/business-representative.js +6 -4
  361. package/dist/module/business-terms-conditions-form-step.js +5 -3
  362. package/dist/module/button.js +1 -2
  363. package/dist/module/cancellation-policy.js +5 -3
  364. package/dist/module/card-billing-form-simple.js +5 -3
  365. package/dist/module/card-form.js +10 -17
  366. package/dist/module/card-form2.js +7 -17
  367. package/dist/module/checkout.store.js +42 -31
  368. package/dist/module/checkouts-list-core2.js +6 -6
  369. package/dist/module/core-info-details2.js +4 -2
  370. package/dist/module/custom-popper2.js +6 -4
  371. package/dist/module/customer-details.js +5 -3
  372. package/dist/module/details.js +5 -3
  373. package/dist/module/dispute-management-core.js +5 -3
  374. package/dist/module/dispute-notification.js +5 -3
  375. package/dist/module/dispute-response-core.js +5 -3
  376. package/dist/module/dispute-response.js +5 -3
  377. package/dist/module/duplicate-charge.js +5 -3
  378. package/dist/module/electronic-evidence.js +5 -3
  379. package/dist/module/form-alert2.js +4 -2
  380. package/dist/module/form-control-checkbox2.js +6 -4
  381. package/dist/module/form-control-date2.js +6 -4
  382. package/dist/module/form-control-file-v22.js +5 -3
  383. package/dist/module/form-control-file2.js +6 -4
  384. package/dist/module/form-control-help-text2.js +4 -2
  385. package/dist/module/form-control-monetary-provisioning2.js +6 -4
  386. package/dist/module/form-control-monetary2.js +6 -4
  387. package/dist/module/form-control-number-masked2.js +6 -4
  388. package/dist/module/form-control-number.js +6 -4
  389. package/dist/module/form-control-radio2.js +7 -5
  390. package/dist/module/form-control-select2.js +6 -4
  391. package/dist/module/form-control-text2.js +6 -4
  392. package/dist/module/form-control-textarea2.js +6 -4
  393. package/dist/module/form-control-tooltip2.js +4 -2
  394. package/dist/module/gross-payment-chart-core2.js +6 -4
  395. package/dist/module/hidden-input2.js +5 -3
  396. package/dist/module/identity-address-form.js +5 -3
  397. package/dist/module/iframe-input2.js +7 -5
  398. package/dist/module/index.js +1 -0
  399. package/dist/module/justifi-apple-pay.js +174 -86
  400. package/dist/module/justifi-business-details.js +4 -2
  401. package/dist/module/justifi-business-form.js +6 -19
  402. package/dist/module/justifi-button2.js +5 -3
  403. package/dist/module/justifi-checkout.js +15 -4
  404. package/dist/module/justifi-checkouts-list-filters.js +5 -3
  405. package/dist/module/justifi-checkouts-list.js +5 -3
  406. package/dist/module/justifi-config-provider.js +4 -2
  407. package/dist/module/justifi-dispute-management.js +5 -3
  408. package/dist/module/justifi-gross-payment-chart.js +4 -2
  409. package/dist/module/justifi-header2.js +5 -3
  410. package/dist/module/justifi-order-terminals.js +9 -35
  411. package/dist/module/justifi-payment-details.js +4 -2
  412. package/dist/module/justifi-payment-provisioning.js +5 -3
  413. package/dist/module/justifi-payment-transactions-list.js +6 -6
  414. package/dist/module/justifi-payments-list-filters.js +6 -4
  415. package/dist/module/justifi-payments-list.js +5 -3
  416. package/dist/module/justifi-payout-details.js +4 -2
  417. package/dist/module/justifi-payout-transactions-list.js +8 -12
  418. package/dist/module/justifi-payouts-list-filters.js +6 -4
  419. package/dist/module/justifi-payouts-list.js +5 -3
  420. package/dist/module/justifi-radio-list-item2.js +6 -4
  421. package/dist/module/justifi-refund-payment.js +6 -10
  422. package/dist/module/justifi-saved-payment-method.js +5 -3
  423. package/dist/module/justifi-season-interruption-insurance.js +6 -16
  424. package/dist/module/justifi-skeleton.js +5 -3
  425. package/dist/module/justifi-terminal-orders-list-filters.js +6 -4
  426. package/dist/module/justifi-terminal-orders-list.js +5 -3
  427. package/dist/module/justifi-terminals-list-filters.js +5 -3
  428. package/dist/module/justifi-terminals-list.js +5 -3
  429. package/dist/module/legal-address-details2.js +4 -2
  430. package/dist/module/legal-address-form-step-core.js +4 -2
  431. package/dist/module/legal-address-form-step.js +5 -3
  432. package/dist/module/legal-address-form.js +6 -4
  433. package/dist/module/modular-checkout.js +102 -39
  434. package/dist/module/owner-details2.js +4 -2
  435. package/dist/module/owner-form-core2.js +5 -3
  436. package/dist/module/owner-form-inputs2.js +6 -4
  437. package/dist/module/owner-form.js +5 -3
  438. package/dist/module/package.js +1 -1
  439. package/dist/module/pagination-menu2.js +7 -5
  440. package/dist/module/payment-details-core2.js +13 -23
  441. package/dist/module/payment-method-option.js +5 -3
  442. package/dist/module/payment-provisioning-core.js +5 -3
  443. package/dist/module/payment-provisioning-form-buttons.js +5 -3
  444. package/dist/module/payment-provisioning-form-steps.js +5 -3
  445. package/dist/module/payment-provisioning-loading.js +2 -17
  446. package/dist/module/payments-list-core2.js +6 -6
  447. package/dist/module/payout-details-core2.js +8 -18
  448. package/dist/module/payouts-list-core2.js +7 -7
  449. package/dist/module/plaid-payment-method.js +49 -104
  450. package/dist/module/plaid.service.js +26 -0
  451. package/dist/module/product-or-service.js +5 -3
  452. package/dist/module/refund-policy.js +5 -3
  453. package/dist/module/representative-details2.js +4 -2
  454. package/dist/module/save-new-payment-method.js +7 -3
  455. package/dist/module/saved-payment-methods.js +13 -12
  456. package/dist/module/sezzle-payment-method.js +14 -24
  457. package/dist/module/shipping-details.js +5 -3
  458. package/dist/module/spinner.js +1 -3
  459. package/dist/module/styled-host.js +1 -3
  460. package/dist/module/summary.js +5 -3
  461. package/dist/module/table-filters-menu2.js +5 -3
  462. package/dist/module/table.js +3 -9
  463. package/dist/module/terminal-orders-list-core2.js +7 -9
  464. package/dist/module/terminal-quantity-selector2.js +5 -3
  465. package/dist/module/terminals-list-core2.js +6 -4
  466. package/dist/module/tokenize-payment-method.js +16 -12
  467. package/dist/module/utils.js +5 -16
  468. package/dist/module/utils2.js +6 -1
  469. package/dist/types/api/Checkout.d.ts +7 -15
  470. package/dist/types/api/Payment.d.ts +3 -1
  471. package/dist/types/api/index.d.ts +2 -2
  472. package/dist/types/api/services/apple-pay.service.d.ts +7 -0
  473. package/dist/types/components/business-forms/schemas/business-form-schema.d.ts +1 -1
  474. package/dist/types/components/checkout/bank-account-form/bank-account-form.d.ts +1 -0
  475. package/dist/types/components/checkout/card-form/card-form.d.ts +1 -0
  476. package/dist/types/components/checkout/checkout.d.ts +5 -0
  477. package/dist/types/components/checkout/save-new-payment-method.d.ts +1 -0
  478. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +41 -0
  479. package/dist/types/components/modular-checkout/modular-checkout.d.ts +5 -5
  480. package/dist/types/components/modular-checkout/sub-components/apple-pay-skeleton.d.ts +1 -1
  481. package/dist/types/components/modular-checkout/sub-components/apple-pay.d.ts +9 -3
  482. package/dist/types/components/modular-checkout/sub-components/plaid-payment-method.d.ts +1 -2
  483. package/dist/types/components/modular-checkout/sub-components/saved-payment-methods.d.ts +3 -3
  484. package/dist/types/components/modular-checkout/sub-components/sezzle-payment-method.d.ts +1 -1
  485. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +2 -1
  486. package/dist/types/components.d.ts +31 -29
  487. package/dist/types/index.d.ts +4 -0
  488. package/dist/types/stencil-public-runtime.d.ts +21 -0
  489. package/dist/types/store/checkout.store.d.ts +12 -5
  490. package/dist/types/ui-components/form/form-control-radio.d.ts +1 -1
  491. package/dist/types/ui-components/shadow-dom-components/justifi-radio-list-item.d.ts +1 -1
  492. package/dist/types/utils/utils.d.ts +1 -0
  493. package/dist/webcomponents/index.esm.js +1 -0
  494. package/dist/webcomponents/{p-497632ad.entry.js → p-037d7061.entry.js} +1 -1
  495. package/dist/webcomponents/{p-4e3bf98f.entry.js → p-070c29ce.entry.js} +1 -1
  496. package/dist/webcomponents/{p-54ca3070.entry.js → p-0801324e.entry.js} +1 -1
  497. package/dist/webcomponents/{p-6255c685.entry.js → p-10278c48.entry.js} +1 -1
  498. package/dist/webcomponents/p-19ccbeee.entry.js +1 -0
  499. package/dist/webcomponents/{p-15705e8a.entry.js → p-1b3b6956.entry.js} +1 -1
  500. package/dist/webcomponents/{p-9846b23d.entry.js → p-1b7926f6.entry.js} +1 -1
  501. package/dist/webcomponents/p-1c433962.entry.js +1 -0
  502. package/dist/webcomponents/{p-2f01dfd2.entry.js → p-1d7139d3.entry.js} +1 -1
  503. package/dist/webcomponents/p-214fa6e0.entry.js +1 -0
  504. package/dist/webcomponents/{p-f13ae573.entry.js → p-2246aa69.entry.js} +1 -1
  505. package/dist/webcomponents/p-246ef4ff.entry.js +1 -0
  506. package/dist/webcomponents/{p-4213d10e.entry.js → p-27fc3ef0.entry.js} +3 -3
  507. package/dist/webcomponents/p-2d818d44.entry.js +1 -0
  508. package/dist/webcomponents/p-30147031.entry.js +1 -0
  509. package/dist/webcomponents/p-3546a5aa.entry.js +1 -0
  510. package/dist/webcomponents/p-3621a429.entry.js +1 -0
  511. package/dist/webcomponents/{p-f1cba43c.entry.js → p-3d37045d.entry.js} +1 -1
  512. package/dist/webcomponents/p-406ba650.entry.js +1 -0
  513. package/dist/webcomponents/{p-36a71a36.entry.js → p-4215ea76.entry.js} +1 -1
  514. package/dist/webcomponents/p-44d1341c.entry.js +1 -0
  515. package/dist/webcomponents/{p-36d9d95a.entry.js → p-4b1abc3b.entry.js} +1 -1
  516. package/dist/webcomponents/p-4d5c71c4.entry.js +1 -0
  517. package/dist/webcomponents/p-4ea83bfd.entry.js +1 -0
  518. package/dist/webcomponents/p-558f7967.entry.js +1 -0
  519. package/dist/webcomponents/p-5c477f08.entry.js +1 -0
  520. package/dist/webcomponents/p-62a16ef9.entry.js +1 -0
  521. package/dist/webcomponents/p-65286b2b.entry.js +1 -0
  522. package/dist/webcomponents/p-68329f16.entry.js +1 -0
  523. package/dist/webcomponents/p-6af851c5.entry.js +1 -0
  524. package/dist/webcomponents/{p-aeeb0f68.entry.js → p-6d4ae6c7.entry.js} +1 -1
  525. package/dist/webcomponents/p-6fe79f16.entry.js +1 -0
  526. package/dist/webcomponents/p-7494c1b6.entry.js +1 -0
  527. package/dist/webcomponents/p-7aeb20d2.entry.js +1 -0
  528. package/dist/webcomponents/{p-28618e6f.entry.js → p-7c5cd118.entry.js} +1 -1
  529. package/dist/webcomponents/p-8018523d.entry.js +1 -0
  530. package/dist/webcomponents/{p-4178bdbe.entry.js → p-83fa6da1.entry.js} +1 -1
  531. package/dist/webcomponents/p-84043580.entry.js +1 -0
  532. package/dist/webcomponents/{p-48e87a26.entry.js → p-84ccc7bb.entry.js} +1 -1
  533. package/dist/webcomponents/p-8975bf93.entry.js +1 -0
  534. package/dist/webcomponents/{p-bc2da364.entry.js → p-9046afd6.entry.js} +1 -1
  535. package/dist/webcomponents/p-906fdf0c.entry.js +1 -0
  536. package/dist/webcomponents/{p-9a2c044f.entry.js → p-90e43440.entry.js} +1 -1
  537. package/dist/webcomponents/{p-70f51444.entry.js → p-914e168d.entry.js} +1 -1
  538. package/dist/webcomponents/p-91c1e2ac.entry.js +1 -0
  539. package/dist/webcomponents/p-95348ff6.entry.js +1 -0
  540. package/dist/webcomponents/p-9f04cac4.entry.js +1 -0
  541. package/dist/webcomponents/{p-0mMX1Zv4.js → p-B4idKqyn.js} +1 -1
  542. package/dist/webcomponents/{p-zdIeCUeh.js → p-BHf9IqGw.js} +1 -1
  543. package/dist/webcomponents/{p-DNo0OPOP.js → p-BIPdn2VU.js} +1 -1
  544. package/dist/webcomponents/{p-BPtcGAzB.js → p-BUa0YOaw.js} +1 -1
  545. package/dist/webcomponents/{p-B8iBcmNu.js → p-BY2p6Sxk.js} +1 -1
  546. package/dist/webcomponents/{p-CB0mCq1M.js → p-BZ7C9duj.js} +1 -1
  547. package/dist/webcomponents/{p-DGmp4ErD.js → p-BdLLGV9t.js} +1 -1
  548. package/dist/webcomponents/p-BguBT6Hn.js +1 -0
  549. package/dist/webcomponents/{p-DhGNCW2f.js → p-Bp_QFeog.js} +1 -1
  550. package/dist/webcomponents/{p-B71k50jz.js → p-Bvp7uul3.js} +1 -1
  551. package/dist/webcomponents/{p-CvG-itHC.js → p-C1xGBPma.js} +1 -1
  552. package/dist/webcomponents/p-C3n7-tlg.js +1 -0
  553. package/dist/webcomponents/{p-DxqCFDtF.js → p-CLQx9p9q.js} +1 -1
  554. package/dist/webcomponents/{p-b21ncS7l.js → p-CPVN4dXS.js} +1 -1
  555. package/dist/webcomponents/p-CQeex56P.js +1 -0
  556. package/dist/webcomponents/p-CU4XQ3fO.js +1 -0
  557. package/dist/webcomponents/{p-Bb-6bNcq.js → p-C_3N7nqh.js} +1 -1
  558. package/dist/webcomponents/{p-BRLwUSZk.js → p-CaxjN6Uo.js} +1 -1
  559. package/dist/webcomponents/p-CpKvg1ok.js +1 -0
  560. package/dist/webcomponents/p-CrQgyTRz.js +1 -0
  561. package/dist/webcomponents/{p-B_6n1dAh.js → p-CtA2NMVz.js} +1 -1
  562. package/dist/webcomponents/{p-Bu1jU017.js → p-CxzFvTgf.js} +1 -1
  563. package/dist/webcomponents/{p-DVBbk00Z.js → p-CzPUMw00.js} +1 -1
  564. package/dist/webcomponents/{p-DDUmOl3v.js → p-D--yCspA.js} +1 -1
  565. package/dist/webcomponents/{p-qWQmu-fb.js → p-D-JYHdJ7.js} +1 -1
  566. package/dist/webcomponents/p-D6XirF21.js +1 -0
  567. package/dist/webcomponents/p-DCIW8z1f.js +1 -0
  568. package/dist/webcomponents/{p-BfM6X7lF.js → p-DCMrHeJI.js} +1 -1
  569. package/dist/webcomponents/p-DbX0g1WF.js +1 -0
  570. package/dist/webcomponents/p-De8UloOS.js +1 -0
  571. package/dist/webcomponents/p-DsAwPf2y.js +1 -0
  572. package/dist/webcomponents/p-DvZcI6pC.js +1 -0
  573. package/dist/webcomponents/p-DyDHaG6n.js +1 -0
  574. package/dist/webcomponents/{p-D2_iJUrZ.js → p-DyOgQlh2.js} +1 -1
  575. package/dist/webcomponents/p-IG_KR8zP.js +1 -0
  576. package/dist/webcomponents/p-Xv8DuU3Y.js +1 -0
  577. package/dist/webcomponents/p-a0909318.entry.js +1 -0
  578. package/dist/webcomponents/p-a57c1400.entry.js +1 -0
  579. package/dist/webcomponents/{p-d46dbb83.entry.js → p-a71a5e64.entry.js} +1 -1
  580. package/dist/webcomponents/p-a85cf3e0.entry.js +1 -0
  581. package/dist/webcomponents/{p-72dda22b.entry.js → p-a90b8b93.entry.js} +1 -1
  582. package/dist/webcomponents/p-bb03a95a.entry.js +1 -0
  583. package/dist/webcomponents/p-c16c0cbc.entry.js +1 -0
  584. package/dist/webcomponents/p-c4Mh3ZZ_.js +1 -0
  585. package/dist/webcomponents/p-d2259dfd.entry.js +1 -0
  586. package/dist/webcomponents/p-d8e5d7b7.entry.js +1 -0
  587. package/dist/webcomponents/p-df385efe.entry.js +1 -0
  588. package/dist/webcomponents/{p-14ff3155.entry.js → p-df7f36aa.entry.js} +1 -1
  589. package/dist/webcomponents/p-e035a92e.entry.js +1 -0
  590. package/dist/webcomponents/{p-3e667b07.entry.js → p-e2a38ad0.entry.js} +1 -1
  591. package/dist/webcomponents/p-e628a0c8.entry.js +1 -0
  592. package/dist/webcomponents/p-e6516014.entry.js +1 -0
  593. package/dist/webcomponents/{p-97c0dde4.entry.js → p-e6e96be2.entry.js} +1 -1
  594. package/dist/webcomponents/p-e79338f9.entry.js +1 -0
  595. package/dist/webcomponents/p-e7edf4f4.entry.js +1 -0
  596. package/dist/webcomponents/p-eafd179b.entry.js +1 -0
  597. package/dist/webcomponents/p-f5c3f489.entry.js +1 -0
  598. package/dist/webcomponents/{p-C5id7s_l.js → p-fUtq2xDs.js} +1 -1
  599. package/dist/webcomponents/{p-7cf87637.entry.js → p-ffe01f1b.entry.js} +1 -1
  600. package/dist/webcomponents/{p-Dgflaz6J.js → p-oGKW57R8.js} +1 -1
  601. package/dist/webcomponents/p-qipqIMyC.js +2 -0
  602. package/dist/webcomponents/p-tyhA5jkt.js +1 -0
  603. package/dist/webcomponents/p-xY5RkFuA.js +1 -0
  604. package/dist/webcomponents/webcomponents.esm.js +1 -1
  605. package/package.json +14 -14
  606. package/LICENSE +0 -21
  607. package/dist/cjs/spinner-jmeA44Ee.js +0 -12
  608. package/dist/cjs/terminals-list-params-state-Cewmin_p.js +0 -22
  609. package/dist/cjs/utils-Bzyj4qWe.js +0 -29
  610. package/dist/esm/spinner-DUzyWLhj.js +0 -10
  611. package/dist/esm/terminals-list-params-state-D8tzsGR_.js +0 -16
  612. package/dist/esm/utils-Dg6gMUTv.js +0 -22
  613. package/dist/webcomponents/p-040e8524.entry.js +0 -1
  614. package/dist/webcomponents/p-0db9943e.entry.js +0 -1
  615. package/dist/webcomponents/p-1288fda5.entry.js +0 -1
  616. package/dist/webcomponents/p-3aecd2cd.entry.js +0 -1
  617. package/dist/webcomponents/p-3bf63d1e.entry.js +0 -1
  618. package/dist/webcomponents/p-41e17edd.entry.js +0 -1
  619. package/dist/webcomponents/p-43c5f490.entry.js +0 -1
  620. package/dist/webcomponents/p-44450a94.entry.js +0 -1
  621. package/dist/webcomponents/p-5580e6ca.entry.js +0 -1
  622. package/dist/webcomponents/p-57dde36e.entry.js +0 -1
  623. package/dist/webcomponents/p-5bc6f5ca.entry.js +0 -1
  624. package/dist/webcomponents/p-5f87add5.entry.js +0 -1
  625. package/dist/webcomponents/p-60206d9c.entry.js +0 -1
  626. package/dist/webcomponents/p-613421d4.entry.js +0 -1
  627. package/dist/webcomponents/p-6c9732b6.entry.js +0 -1
  628. package/dist/webcomponents/p-7089fb85.entry.js +0 -1
  629. package/dist/webcomponents/p-7500c5b7.entry.js +0 -1
  630. package/dist/webcomponents/p-79da5350.entry.js +0 -1
  631. package/dist/webcomponents/p-87884ca5.entry.js +0 -1
  632. package/dist/webcomponents/p-88905a54.entry.js +0 -1
  633. package/dist/webcomponents/p-8990707a.entry.js +0 -1
  634. package/dist/webcomponents/p-8b7cbdbf.entry.js +0 -1
  635. package/dist/webcomponents/p-8cca8903.entry.js +0 -1
  636. package/dist/webcomponents/p-8dc4eb6a.entry.js +0 -1
  637. package/dist/webcomponents/p-8ff839a4.entry.js +0 -1
  638. package/dist/webcomponents/p-95cbb655.entry.js +0 -1
  639. package/dist/webcomponents/p-98cffba9.entry.js +0 -1
  640. package/dist/webcomponents/p-9df86b97.entry.js +0 -1
  641. package/dist/webcomponents/p-9edfd38c.entry.js +0 -1
  642. package/dist/webcomponents/p-9f5c9e41.entry.js +0 -1
  643. package/dist/webcomponents/p-B5Rc83j1.js +0 -1
  644. package/dist/webcomponents/p-BEPUC3Po.js +0 -1
  645. package/dist/webcomponents/p-BP7op0vq.js +0 -1
  646. package/dist/webcomponents/p-BQ2TIFoY.js +0 -1
  647. package/dist/webcomponents/p-BSt6p1oq.js +0 -1
  648. package/dist/webcomponents/p-BY1mRAvj.js +0 -1
  649. package/dist/webcomponents/p-BbZwa5UI.js +0 -1
  650. package/dist/webcomponents/p-BiWRKUx3.js +0 -1
  651. package/dist/webcomponents/p-Bn7inNWG.js +0 -2
  652. package/dist/webcomponents/p-C6c6Q0E7.js +0 -1
  653. package/dist/webcomponents/p-CaAVuW6B.js +0 -1
  654. package/dist/webcomponents/p-CpaS1Lex.js +0 -1
  655. package/dist/webcomponents/p-DD0Mvpeu.js +0 -1
  656. package/dist/webcomponents/p-DIDloHpm.js +0 -1
  657. package/dist/webcomponents/p-Dc1CS9Mi.js +0 -1
  658. package/dist/webcomponents/p-DsZZxRXY.js +0 -1
  659. package/dist/webcomponents/p-a1d3bb81.entry.js +0 -1
  660. package/dist/webcomponents/p-a9957ca5.entry.js +0 -1
  661. package/dist/webcomponents/p-abbf14b5.entry.js +0 -1
  662. package/dist/webcomponents/p-b2dcef65.entry.js +0 -1
  663. package/dist/webcomponents/p-c44325f8.entry.js +0 -1
  664. package/dist/webcomponents/p-c874ca2b.entry.js +0 -1
  665. package/dist/webcomponents/p-caac63bf.entry.js +0 -1
  666. package/dist/webcomponents/p-d72e8541.entry.js +0 -1
  667. package/dist/webcomponents/p-da44dc6e.entry.js +0 -1
  668. package/dist/webcomponents/p-e0cb5de5.entry.js +0 -1
  669. package/dist/webcomponents/p-eP3fmhta.js +0 -1
  670. package/dist/webcomponents/p-ecce97b3.entry.js +0 -1
  671. package/dist/webcomponents/p-f680e617.entry.js +0 -1
  672. package/dist/webcomponents/p-fd4ffaa2.entry.js +0 -1
  673. package/dist/webcomponents/p-sw5RO19U.js +0 -1
@@ -1,28 +1,29 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-C9hBD-32.js');
3
+ var index = require('./index-Dyzl8Hn6.js');
4
4
  var parts = require('./parts-9jMf1erK.js');
5
- var utils = require('./utils-BaGF9XIe.js');
6
- var checkout_store = require('./checkout.store-MSwLBCby.js');
7
- var styledHost = require('./styled-host-BfVJlAsJ.js');
5
+ var utils = require('./utils-ChCUZgUy.js');
6
+ var checkout_store = require('./checkout.store-C3f3E24L.js');
7
+ var styledHost = require('./styled-host-2KXbjOFw.js');
8
8
  require('./event-types-YOY5TKUN.js');
9
- var header1 = require('./header-1-DRA3f4Jh.js');
10
- var insuranceState = require('./insurance-state-d2thhXUX.js');
11
- var header3 = require('./header-3-sOdOpfx3.js');
12
- var checkPkgVersion = require('./check-pkg-version-VnhfIX0p.js');
13
- require('./config-state-BBOZIS8x.js');
9
+ var header1 = require('./header-1-DMsp0XM7.js');
10
+ var insuranceState = require('./insurance-state-uWOl6jJN.js');
11
+ var header3 = require('./header-3-BSvFq_IF.js');
12
+ var checkPkgVersion = require('./check-pkg-version-B48ZmuJS.js');
13
+ require('./config-state-B_gyIchD.js');
14
14
  require('./dinero-BwNN_k7x.js');
15
15
  var ComponentError = require('./ComponentError-D4OLnOkg.js');
16
- var Refund = require('./Refund-BVZHsa6Z.js');
16
+ var Refund = require('./Refund-BPSBtjQC.js');
17
17
  require('./Pagination-Dediz133.js');
18
18
  require('./Business-DCRzZf0w.js');
19
19
  require('./Dispute-CruQTF6_.js');
20
20
  var utils$1 = require('./utils-DvUQQLmR.js');
21
- var checkout_service = require('./checkout.service-4aS641tN.js');
22
- var Api = require('./Api-y2G49jOh.js');
21
+ var checkout_service = require('./checkout.service-LwZVVgP5.js');
22
+ var Api = require('./Api-CwTLkFY4.js');
23
+ var index$1 = require('./index-C2ITzalN.js');
23
24
  var paymentMethodOptionUtils = require('./payment-method-option-utils-WYHIHy-l.js');
24
- require('./index-B32W0A3m.js');
25
- require('./package-BS0_inF6.js');
25
+ require('./index-D1Ba20gi.js');
26
+ require('./package-C3FMDKcV.js');
26
27
  require('./helpers-B5OCqlIM.js');
27
28
  require('./state-options-CIT9xdTz.js');
28
29
 
@@ -31,7 +32,7 @@ const Summary = class {
31
32
  index.registerInstance(this, hostRef);
32
33
  }
33
34
  render() {
34
- return (index.h(styledHost.StyledHost, { key: 'db0b903a05629cd6197bb14336fd91881373cbf1' }, index.h("section", { key: '2e1213c4be75677a98fdf98de077201ebff1d3a6' }, index.h("div", { key: '26c3bfc8672511dd5af823426e69b6c0d28dd274' }, index.h("div", { key: '8c9a282d63903b66cf3f93e316bd56f245b9bc1f', part: parts.text }, checkout_store.checkoutStore === null || checkout_store.checkoutStore === void 0 ? void 0 : checkout_store.checkoutStore.paymentDescription), index.h("div", { key: '0729b8adef6ae7bb7a536ad4b5443ed24608ce56' }, index.h("span", { key: '863ee5dc8a0c662a8074a69d388081ec9fc3fb89', part: parts.text }, "Total"), "\u00A0", index.h("span", { key: '05bf10634b2a166c6b5720beaf0ab76accb8befe', part: parts.text }, utils.formatCurrency(+(checkout_store.checkoutStore === null || checkout_store.checkoutStore === void 0 ? void 0 : checkout_store.checkoutStore.totalAmount))))))));
35
+ return (index.h(styledHost.StyledHost, { key: '3161e6f6a196c79d684574cafbc90bcf741b2150' }, index.h("section", { key: '594b4485ed4fd9d7c1ee7f4556f071139f92ef0c' }, index.h("div", { key: '5c2d14677dda6fc7ddcb074d4887b839385dca3a' }, index.h("div", { key: 'fb850cd7e9c11741349710696dd4e6241c98e805', part: parts.text }, checkout_store.checkoutStore === null || checkout_store.checkoutStore === void 0 ? void 0 : checkout_store.checkoutStore.paymentDescription), index.h("div", { key: '959014d7fa2a9c97bae0c986313a604930c1e0f3' }, index.h("span", { key: '14ab0932a083568419b1c36c95f9072c73962b11', part: parts.text }, "Total"), "\u00A0", index.h("span", { key: '08a9e00332253070ae984b77eb2a9bab88eb3472', part: parts.text }, utils.formatCurrency(+(checkout_store.checkoutStore === null || checkout_store.checkoutStore === void 0 ? void 0 : checkout_store.checkoutStore.totalAmount))))))));
35
36
  }
36
37
  };
37
38
 
@@ -47,7 +48,7 @@ const Header = class {
47
48
  }
48
49
  render() {
49
50
  const HeaderComponent = this.levels[this.level];
50
- return (index.h(styledHost.StyledHost, { key: '002dfd5dd8fa47304d9e468e28bdbeb56723913b' }, index.h(HeaderComponent, { key: '63110d45f87268510cc309d8081f191ef8d4cd8b', text: this.text, class: this.class })));
51
+ return (index.h(styledHost.StyledHost, { key: 'eb3651b698897193d34a6c6456cd57dd0bd0bc43' }, index.h(HeaderComponent, { key: '39caee687f93d3d4d90e62d9fbcae318eaa8022e', text: this.text, class: this.class })));
51
52
  }
52
53
  };
53
54
 
@@ -106,18 +107,38 @@ const makeCheckoutComplete = ({ authToken, checkoutId, service }) => async ({ pa
106
107
  }
107
108
  };
108
109
 
110
+ const api = Api.Api();
111
+ class PlaidService {
112
+ async getLinkToken(authToken, accountId, checkoutId, signal) {
113
+ const endpoint = `plaid/${accountId}/link`;
114
+ const body = { checkout_id: checkoutId };
115
+ return api.post({ endpoint, body, authToken, signal });
116
+ }
117
+ async tokenizeBankAccount(authToken, accountId, publicToken, linkTokenId, paymentMethodGroupId, signal) {
118
+ const endpoint = `plaid/${accountId}/tokenize`;
119
+ const body = { public_token: publicToken };
120
+ if (linkTokenId) {
121
+ body.link_token_id = linkTokenId;
122
+ }
123
+ if (paymentMethodGroupId) {
124
+ body.payment_method_group_id = paymentMethodGroupId;
125
+ }
126
+ return api.post({ endpoint, body, authToken, signal });
127
+ }
128
+ }
129
+
109
130
  const ModularCheckout = class {
110
131
  constructor(hostRef) {
111
132
  index.registerInstance(this, hostRef);
112
133
  this.errorEvent = index.createEvent(this, "error-event");
113
134
  this.submitEvent = index.createEvent(this, "submit-event");
114
- this.paymentMethodChangedEvent = index.createEvent(this, "payment-method-changed");
115
- this.savePaymentMethod = false;
135
+ this.checkoutChangedEvent = index.createEvent(this, "checkout-changed");
136
+ this.plaidService = new PlaidService();
116
137
  this.handleApplePayCompleted = (event) => {
117
138
  const { success, token, paymentMethodId, error } = event.detail;
118
139
  if (success && token) {
119
140
  checkout_store.checkoutStore.paymentToken = paymentMethodId;
120
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.APPLE_PAY;
141
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.APPLE_PAY };
121
142
  this.submitCheckout();
122
143
  }
123
144
  else {
@@ -130,11 +151,12 @@ const ModularCheckout = class {
130
151
  }
131
152
  };
132
153
  this.handleApplePayError = (event) => {
133
- const { error } = event.detail;
154
+ const { error, code } = event.detail;
134
155
  console.error("Apple Pay error:", error);
135
156
  this.errorEvent.emit({
136
157
  message: error || "Apple Pay error occurred",
137
- errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
158
+ // prefix with APPLE_PAY_
159
+ errorCode: `APPLE_PAY_${code}`,
138
160
  severity: ComponentError.ComponentErrorSeverity.ERROR,
139
161
  });
140
162
  };
@@ -143,9 +165,6 @@ const ModularCheckout = class {
143
165
  checkout_store.checkoutStore.selectedPaymentMethod = undefined;
144
166
  };
145
167
  }
146
- savePaymentMethodChanged(newValue) {
147
- checkout_store.checkoutStore.savePaymentMethod = newValue;
148
- }
149
168
  connectedCallback() {
150
169
  this.observer = new MutationObserver(() => {
151
170
  this.queryFormRefs();
@@ -163,15 +182,15 @@ const ModularCheckout = class {
163
182
  };
164
183
  this.getCheckout = makeGetCheckout(config);
165
184
  this.completeCheckout = makeCheckoutComplete(config);
166
- checkout_store.onChange("selectedPaymentMethod", (newValue) => {
167
- this.paymentMethodChangedEvent.emit(newValue);
185
+ // Emit checkout-changed whenever any store key changes
186
+ checkout_store.onAnyChange(() => {
187
+ this.emitCheckoutChanged();
168
188
  });
169
189
  }
170
190
  componentWillLoad() {
171
191
  this.analytics = new checkPkgVersion.JustifiAnalytics(this);
172
192
  checkPkgVersion.checkPkgVersion();
173
193
  checkout_store.checkoutStore.authToken = this.authToken;
174
- checkout_store.checkoutStore.savePaymentMethod = this.savePaymentMethod;
175
194
  this.fetchCheckout();
176
195
  // Refresh the checkout data when insurance values actually change (not on initial load)
177
196
  insuranceState.insuranceValuesOn("set", (key) => {
@@ -202,6 +221,7 @@ const ModularCheckout = class {
202
221
  if (this.getCheckout) {
203
222
  this.getCheckout({
204
223
  onSuccess: ({ checkout }) => {
224
+ this.updateStore(checkout);
205
225
  if (checkout.status === Refund.ICheckoutStatus.completed) {
206
226
  this.errorEvent.emit({
207
227
  message: ComponentError.ComponentErrorMessages.CHECKOUT_ALREADY_COMPLETED,
@@ -218,13 +238,12 @@ const ModularCheckout = class {
218
238
  });
219
239
  return;
220
240
  }
221
- this.updateStore(checkout);
222
241
  },
223
242
  onError: (error) => {
224
243
  this.errorEvent.emit({
225
244
  message: error.message,
226
- errorCode: ComponentError.ComponentErrorCodes.FETCH_ERROR,
227
- severity: ComponentError.ComponentErrorSeverity.ERROR,
245
+ errorCode: error.code,
246
+ severity: error.severity,
228
247
  });
229
248
  },
230
249
  });
@@ -233,7 +252,8 @@ const ModularCheckout = class {
233
252
  updateStore(checkout) {
234
253
  var _a, _b, _c, _d, _e;
235
254
  checkout_store.checkoutStore.accountId = checkout.account_id;
236
- checkout_store.checkoutStore.paymentMethods = checkout.payment_methods;
255
+ checkout_store.checkoutStore.checkoutLoaded = true;
256
+ checkout_store.checkoutStore.paymentMethods = checkout.payment_methods.map((paymentMethod) => new index$1.PaymentMethod(paymentMethod));
237
257
  checkout_store.checkoutStore.paymentMethodGroupId = checkout.payment_method_group_id;
238
258
  checkout_store.checkoutStore.paymentDescription = checkout.payment_description;
239
259
  checkout_store.checkoutStore.totalAmount = checkout.total_amount;
@@ -247,6 +267,14 @@ const ModularCheckout = class {
247
267
  checkout_store.checkoutStore.bnplProviderCheckoutUrl =
248
268
  (_e = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _e === void 0 ? void 0 : _e.provider_checkout_url;
249
269
  }
270
+ emitCheckoutChanged() {
271
+ const detail = {
272
+ availablePaymentMethodTypes: checkout_store.getAvailablePaymentMethodTypes(),
273
+ selectedPaymentMethod: checkout_store.checkoutStore.selectedPaymentMethod,
274
+ savedPaymentMethods: checkout_store.checkoutStore.paymentMethods,
275
+ };
276
+ this.checkoutChangedEvent.emit(detail);
277
+ }
250
278
  queryFormRefs() {
251
279
  this.billingFormRef = this.hostEl.querySelector("justifi-billing-form, justifi-bank-account-billing-form-simple, justifi-card-billing-form-simple, justifi-billing-form-full");
252
280
  this.applePayRef = this.hostEl.querySelector("justifi-apple-pay");
@@ -291,16 +319,19 @@ const ModularCheckout = class {
291
319
  // set the selected payment method to the checkout store from outside the component
292
320
  async setSelectedPaymentMethod(paymentMethod) {
293
321
  checkout_store.checkoutStore.selectedPaymentMethod = paymentMethod;
322
+ checkout_store.checkoutStore.paymentToken = paymentMethod.id || undefined;
294
323
  }
295
324
  // if validation fails, the error will be emitted by the component
296
325
  async validate() {
326
+ var _a, _b;
297
327
  const promises = [];
298
328
  if (checkout_store.checkoutStore.insuranceEnabled && this.insuranceFormRef) {
299
329
  promises.push(this.insuranceFormRef.validate());
300
330
  }
331
+ const isNewCard = ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === index$1.PAYMENT_METHODS.NEW_CARD;
332
+ const isNewBankAccount = ((_b = checkout_store.checkoutStore.selectedPaymentMethod) === null || _b === void 0 ? void 0 : _b.type) === index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
301
333
  // For new card/bank account, validate payment method + billing.
302
- if (checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.NEW_CARD ||
303
- checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT) {
334
+ if (isNewCard || isNewBankAccount) {
304
335
  if (this.paymentMethodFormRef)
305
336
  promises.push(this.paymentMethodFormRef.validate());
306
337
  if (this.billingFormRef)
@@ -324,17 +355,29 @@ const ModularCheckout = class {
324
355
  }
325
356
  return true;
326
357
  }
327
- catch (_a) {
358
+ catch (_c) {
328
359
  // If any validator throws/rejects, consider the whole validation failed.
329
360
  return false;
330
361
  }
331
362
  }
332
363
  async submitCheckout(submitCheckoutArgs) {
364
+ var _a, _b, _c, _d, _e;
333
365
  const isValid = await this.validate();
334
- const shouldTokenize = checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.NEW_CARD || checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
366
+ if (!checkout_store.checkoutStore.selectedPaymentMethod) {
367
+ this.errorEvent.emit({
368
+ message: 'No payment method selected.',
369
+ errorCode: ComponentError.ComponentErrorCodes.VALIDATION_ERROR,
370
+ severity: ComponentError.ComponentErrorSeverity.ERROR,
371
+ });
372
+ return;
373
+ }
374
+ const isNewCard = ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === index$1.PAYMENT_METHODS.NEW_CARD;
375
+ const isNewBankAccount = ((_b = checkout_store.checkoutStore.selectedPaymentMethod) === null || _b === void 0 ? void 0 : _b.type) === index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
376
+ const isPlaid = ((_c = checkout_store.checkoutStore.selectedPaymentMethod) === null || _c === void 0 ? void 0 : _c.type) === index$1.PAYMENT_METHODS.PLAID;
377
+ const shouldTokenize = isNewCard || isNewBankAccount;
335
378
  if (shouldTokenize) {
336
379
  const tokenizeResult = await this.tokenizePaymentMethod(submitCheckoutArgs);
337
- if (tokenizeResult.error) {
380
+ if (tokenizeResult === null || tokenizeResult === void 0 ? void 0 : tokenizeResult.error) {
338
381
  this.errorEvent.emit({
339
382
  message: tokenizeResult.error.message,
340
383
  errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
@@ -343,6 +386,41 @@ const ModularCheckout = class {
343
386
  return;
344
387
  }
345
388
  }
389
+ // For Plaid, perform exchange at submit time using stored public token and link token id
390
+ if (isPlaid && !checkout_store.checkoutStore.paymentToken) {
391
+ const publicToken = checkout_store.checkoutStore.plaidPublicToken;
392
+ const linkTokenId = checkout_store.checkoutStore.plaidLinkTokenId;
393
+ if (!publicToken) {
394
+ this.errorEvent.emit({
395
+ message: 'Missing Plaid public token. Please connect your bank.',
396
+ errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
397
+ severity: ComponentError.ComponentErrorSeverity.ERROR,
398
+ });
399
+ return;
400
+ }
401
+ try {
402
+ const response = await this.plaidService.tokenizeBankAccount(checkout_store.checkoutStore.authToken, checkout_store.checkoutStore.accountId, publicToken, linkTokenId || undefined, checkout_store.checkoutStore.savePaymentMethod ? checkout_store.checkoutStore.paymentMethodGroupId : undefined);
403
+ if (response === null || response === void 0 ? void 0 : response.error) {
404
+ this.errorEvent.emit({
405
+ message: typeof response.error === 'string' ? response.error : response.error.message || 'Failed to tokenize bank account',
406
+ errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
407
+ severity: ComponentError.ComponentErrorSeverity.ERROR,
408
+ });
409
+ return;
410
+ }
411
+ const paymentMethod = response === null || response === void 0 ? void 0 : response.data;
412
+ const token = ((_d = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.bank_account) === null || _d === void 0 ? void 0 : _d.token) || (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.token) || (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id);
413
+ checkout_store.checkoutStore.paymentToken = token;
414
+ }
415
+ catch (err) {
416
+ this.errorEvent.emit({
417
+ message: (err === null || err === void 0 ? void 0 : err.message) || 'Plaid exchange error',
418
+ errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
419
+ severity: ComponentError.ComponentErrorSeverity.ERROR,
420
+ });
421
+ return;
422
+ }
423
+ }
346
424
  if (!isValid) {
347
425
  this.errorEvent.emit({
348
426
  message: "Please fill in all required fields.",
@@ -357,19 +435,27 @@ const ModularCheckout = class {
357
435
  errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
358
436
  severity: ComponentError.ComponentErrorSeverity.ERROR,
359
437
  });
438
+ return;
360
439
  }
361
440
  let payment;
362
- const MAP_PAYMENT_METHOD_TO_PAYMENT_MODE = {
363
- [checkout_store.PAYMENT_METHODS.NEW_CARD]: checkout_store.PAYMENT_MODE.ECOM,
364
- [checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT]: checkout_store.PAYMENT_MODE.ECOM,
365
- [checkout_store.PAYMENT_METHODS.SAVED_BANK_ACCOUNT]: checkout_store.PAYMENT_MODE.ECOM,
366
- [checkout_store.PAYMENT_METHODS.SAVED_CARD]: checkout_store.PAYMENT_MODE.ECOM,
367
- [checkout_store.PAYMENT_METHODS.SEZZLE]: checkout_store.PAYMENT_MODE.BNPL,
368
- [checkout_store.PAYMENT_METHODS.PLAID]: checkout_store.PAYMENT_MODE.ECOM,
369
- [checkout_store.PAYMENT_METHODS.APPLE_PAY]: checkout_store.PAYMENT_MODE.APPLE_PAY,
441
+ const mapTypeToPaymentMode = (type) => {
442
+ switch (type) {
443
+ case index$1.PAYMENT_METHODS.NEW_CARD:
444
+ case index$1.PAYMENT_METHODS.SAVED_CARD:
445
+ case index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT:
446
+ case index$1.PAYMENT_METHODS.SAVED_BANK_ACCOUNT:
447
+ case index$1.PAYMENT_METHODS.PLAID:
448
+ return index$1.PAYMENT_MODE.ECOM;
449
+ case index$1.PAYMENT_METHODS.SEZZLE:
450
+ return index$1.PAYMENT_MODE.BNPL;
451
+ case index$1.PAYMENT_METHODS.APPLE_PAY:
452
+ return index$1.PAYMENT_MODE.APPLE_PAY;
453
+ default:
454
+ return undefined;
455
+ }
370
456
  };
371
457
  payment = {
372
- payment_mode: MAP_PAYMENT_METHOD_TO_PAYMENT_MODE[checkout_store.checkoutStore.selectedPaymentMethod],
458
+ payment_mode: mapTypeToPaymentMode((_e = checkout_store.checkoutStore.selectedPaymentMethod) === null || _e === void 0 ? void 0 : _e.type),
373
459
  payment_token: checkout_store.checkoutStore.paymentToken,
374
460
  };
375
461
  this.completeCheckout({
@@ -390,36 +476,13 @@ const ModularCheckout = class {
390
476
  });
391
477
  }
392
478
  render() {
393
- return index.h(index.Host, { key: 'fcff4ca415a65b77b730328379dc8df9aacba648' });
479
+ return index.h(index.Host, { key: 'dbe1fe78f8206fef2e3f4f51628d716786dea858' });
394
480
  }
395
481
  get hostEl() { return index.getElement(this); }
396
- static get watchers() { return {
397
- "savePaymentMethod": ["savePaymentMethodChanged"]
398
- }; }
399
482
  };
400
483
 
401
484
  const plaidIconSvg = 'data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjggMjkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImNzcy0xcmRhajhtIj48ZyBmaWxsPSIjMTExIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yNS43NjI5IDI2LjI2MjhMMjggMTcuNTMwOUwyNC45NjkxIDE0LjUwMDFMMjcuOTk5OSAxMS40NjkxTDI1Ljc2MjggMi43MzcwNkwxNy4wMzA5IDAuNUwxNC4wMDAxIDMuNTMxTDEwLjk2OSAwLjUwMDE0TDIuMjM3MDYgMi43MzczNEwwIDExLjQ2OTFMMy4wMzEyOCAxNC40OTk5TDAuMDAwMTQgMTcuNTMxTDIuMjM3MiAyNi4yNjI5TDEwLjk2OTEgMjguNUwxNC4wMDAxIDI1LjQ2OUwxNy4wMzEgMjguNDk5OUwyNS43NjI5IDI2LjI2MjhaTTE1LjczMjEgMjMuNzM3MUwxOC42MTg2IDIwLjg1MDVMMjIuMjkxMiAyNC41MjMzTDE3LjY5NTYgMjUuNzAwN0wxNS43MzIxIDIzLjczNzFaTTExLjExMzYgOS44ODE1NEwxNC4wMDAzIDYuOTk1MDJMMTYuODg2OCA5Ljg4MTRMMTQuMDAwMSAxMi43Njc5TDExLjExMzYgOS44ODE1NFpNMTIuMjY4MiAxNC41TDkuMzgxNTQgMTcuMzg2NUw2LjQ5NTAyIDE0LjVMOS4zODE1NCAxMS42MTM1TDEyLjI2ODIgMTQuNVpNMTguNjE4NyAxMS42MTMzTDIxLjUwNTMgMTQuNUwxOC42MTg2IDE3LjM4NjVMMTUuNzMyMSAxNC41TDE4LjYxODcgMTEuNjEzM1pNMTYuODg2NyAxOS4xMTg2TDE0LjAwMDEgMjIuMDA1MUwxMS4xMTM1IDE5LjExODVMMTQuMDAwMSAxNi4yMzE5TDE2Ljg4NjcgMTkuMTE4NlpNMTAuMzA0NCAyNS43MDA3TDUuNzA4NjQgMjQuNTIzM0w5LjM4MTU0IDIwLjg1MDRMMTIuMjY4MiAyMy43MzcxTDEwLjMwNDQgMjUuNzAwN1pNNC43NjMwOCAxNi4yMzE5TDcuNjQ5NiAxOS4xMTg1TDMuOTc2NyAyMi43OTE0TDIuNzk5MyAxOC4xOTU3TDQuNzYzMDggMTYuMjMxOVpNMy45NzY3IDYuMjA4MzZMNy42NDk3NCA5Ljg4MTRMNC43NjMwOCAxMi43NjgxTDIuNzk5MyAxMC44MDQxTDMuOTc2NyA2LjIwODM2Wk0xMi4yNjgzIDUuMjYyOTRMOS4zODE2OCA4LjE0OTZMNS43MDg5MiA0LjQ3NjdMMTAuMzA0NyAzLjI5OTNMMTIuMjY4MyA1LjI2Mjk0Wk0xNy42OTU5IDMuMjk5M0wyMi4yOTE1IDQuNDc2N0wxOC42MTg2IDguMTQ5NDZMMTUuNzMyMSA1LjI2Mjk0TDE3LjY5NTkgMy4yOTkzWk0yMy4yMzcyIDEyLjc2ODFMMjAuMzUwNSA5Ljg4MTRMMjQuMDIzMyA2LjIwODc4TDI1LjIwMDcgMTAuODA0NkwyMy4yMzcyIDEyLjc2ODFaTTI0LjAyMzMgMjIuNzkxNEwyMC4zNTA1IDE5LjExODZMMjMuMjM3MiAxNi4yMzIxTDI1LjIwMDcgMTguMTk1N0wyNC4wMjMzIDIyLjc5MTRaIj48L3BhdGg+PC9nPjwvc3ZnPgo=';
402
485
 
403
- const api = Api.Api();
404
- class PlaidService {
405
- async getLinkToken(authToken, accountId, checkoutId, signal) {
406
- const endpoint = `plaid/${accountId}/link`;
407
- const body = { checkout_id: checkoutId };
408
- return api.post({ endpoint, body, authToken, signal });
409
- }
410
- async tokenizeBankAccount(authToken, accountId, publicToken, linkTokenId, paymentMethodGroupId, signal) {
411
- const endpoint = `plaid/${accountId}/tokenize`;
412
- const body = { public_token: publicToken };
413
- if (linkTokenId) {
414
- body.link_token_id = linkTokenId;
415
- }
416
- if (paymentMethodGroupId) {
417
- body.payment_method_group_id = paymentMethodGroupId;
418
- }
419
- return api.post({ endpoint, body, authToken, signal });
420
- }
421
- }
422
-
423
486
  // Plaid-specific error codes
424
487
  var PlaidErrorCodes;
425
488
  (function (PlaidErrorCodes) {
@@ -502,25 +565,6 @@ const PlaidPaymentMethod = class {
502
565
  }, 100);
503
566
  }
504
567
  };
505
- this.onPaymentMethodOptionClick = (e) => {
506
- e.preventDefault();
507
- // Update local selection state
508
- this.isSelected = true;
509
- // Update store selection
510
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
511
- // Emit selection event
512
- this.paymentMethodOptionSelected.emit(checkout_store.PAYMENT_METHODS.PLAID);
513
- // If there's an error, clear it and try to initialize again
514
- if (this.error) {
515
- this.clearError();
516
- this.waitForStoreAndInitialize();
517
- return;
518
- }
519
- // If Plaid Link is ready and no public token exists, open Plaid Link
520
- if (this.plaidLink && !this.publicToken && !this.isAuthenticating) {
521
- this.openPlaidLink();
522
- }
523
- };
524
568
  this.initializePlaidLink = async () => {
525
569
  try {
526
570
  // Check if Plaid is available globally
@@ -603,6 +647,9 @@ const PlaidPaymentMethod = class {
603
647
  this.linkToken = response.data.link_token;
604
648
  // Try to capture link token id if present in envelope
605
649
  this.linkTokenId = (response === null || response === void 0 ? void 0 : response.id) || ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.id) || null;
650
+ if (this.linkTokenId) {
651
+ checkout_store.checkoutStore.plaidLinkTokenId = this.linkTokenId;
652
+ }
606
653
  }
607
654
  catch (error) {
608
655
  // Clear timeout
@@ -674,7 +721,7 @@ const PlaidPaymentMethod = class {
674
721
  // Ensure the component remains selected after successful authentication
675
722
  if (!this.isSelected) {
676
723
  this.isSelected = true;
677
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
724
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
678
725
  }
679
726
  // Emit success event for parent components
680
727
  this.plaidErrorRecovered.emit({
@@ -682,41 +729,10 @@ const PlaidPaymentMethod = class {
682
729
  message: 'Bank account connected successfully',
683
730
  severity: ComponentError.ComponentErrorSeverity.INFO
684
731
  });
685
- // Immediately exchange the public token for a payment method token via backend
686
- this.exchangePublicTokenForPaymentMethod();
687
- };
688
- this.exchangePublicTokenForPaymentMethod = async () => {
689
- var _a;
690
- if (!this.publicToken) {
691
- console.error('[PlaidPaymentMethod] exchange: missing publicToken');
692
- return;
693
- }
694
- if (!checkout_store.checkoutStore.authToken || !checkout_store.checkoutStore.accountId) {
695
- console.error('[PlaidPaymentMethod] exchange: missing auth/account context');
696
- return;
697
- }
698
- try {
699
- const response = await this.plaidService.tokenizeBankAccount(checkout_store.checkoutStore.authToken, checkout_store.checkoutStore.accountId, this.publicToken, this.linkTokenId || undefined, checkout_store.checkoutStore.savePaymentMethod ? checkout_store.checkoutStore.paymentMethodGroupId : undefined);
700
- if (response === null || response === void 0 ? void 0 : response.error) {
701
- console.error('[PlaidPaymentMethod] exchange: backend error', response.error);
702
- return;
703
- }
704
- // Extract token from payment method response
705
- const paymentMethod = response === null || response === void 0 ? void 0 : response.data;
706
- const token = ((_a = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.bank_account) === null || _a === void 0 ? void 0 : _a.token) || (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.token) || (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id);
707
- if (!token) {
708
- console.error('[PlaidPaymentMethod] exchange: no token in response');
709
- return;
710
- }
711
- // Save for downstream submit flows
712
- checkout_store.checkoutStore.paymentToken = token;
713
- }
714
- catch (err) {
715
- console.error('[PlaidPaymentMethod] exchange: exception', {
716
- message: (err === null || err === void 0 ? void 0 : err.message) || String(err),
717
- });
718
- }
732
+ // Store public token in checkout store; exchange will be handled on submit
733
+ checkout_store.checkoutStore.plaidPublicToken = publicToken;
719
734
  };
735
+ // Exchange logic moved to Modular Checkout submit flow.
720
736
  this.handlePlaidExit = (err, _metadata) => {
721
737
  this.isAuthenticating = false;
722
738
  if (err) {
@@ -855,16 +871,26 @@ const PlaidPaymentMethod = class {
855
871
  };
856
872
  // Watch for store changes to sync component state
857
873
  this.syncWithStore = () => {
858
- const shouldBeSelected = checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.PLAID;
874
+ var _a;
875
+ const shouldBeSelected = ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === index$1.PAYMENT_METHODS.PLAID;
859
876
  if (this.isSelected !== shouldBeSelected) {
860
877
  this.isSelected = shouldBeSelected;
861
878
  }
862
879
  };
863
880
  }
864
881
  onSelectionChange(newValue) {
882
+ var _a;
865
883
  // Ensure store is updated when component selection changes
866
- if (newValue && checkout_store.checkoutStore.selectedPaymentMethod !== checkout_store.PAYMENT_METHODS.PLAID) {
867
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
884
+ if (newValue && ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) !== index$1.PAYMENT_METHODS.PLAID) {
885
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
886
+ }
887
+ // Auto-start Plaid flow when selected and ready
888
+ if (newValue &&
889
+ this.plaidLink &&
890
+ !this.publicToken &&
891
+ !this.isAuthenticating &&
892
+ !this.error) {
893
+ this.openPlaidLink();
868
894
  }
869
895
  }
870
896
  componentDidRender() {
@@ -886,8 +912,9 @@ const PlaidPaymentMethod = class {
886
912
  };
887
913
  }
888
914
  componentWillLoad() {
915
+ var _a;
889
916
  // Initialize selection state based on store
890
- this.isSelected = checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.PLAID;
917
+ this.isSelected = ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === index$1.PAYMENT_METHODS.PLAID;
891
918
  }
892
919
  async resolvePaymentMethod() {
893
920
  if (!this.publicToken) {
@@ -904,17 +931,29 @@ const PlaidPaymentMethod = class {
904
931
  // Returns a usable payment method token for checkout completion.
905
932
  // Will perform the backend exchange if the token is not yet present in the store.
906
933
  async getPaymentToken() {
907
- if (checkout_store.checkoutStore.paymentToken) {
908
- return checkout_store.checkoutStore.paymentToken;
909
- }
910
- await this.exchangePublicTokenForPaymentMethod();
911
934
  return checkout_store.checkoutStore.paymentToken;
912
935
  }
936
+ async handleSelectionClick() {
937
+ // Update local selection state
938
+ this.isSelected = true;
939
+ // Update store selection
940
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
941
+ // If there's an error, clear it and try to initialize again
942
+ if (this.error) {
943
+ this.clearError();
944
+ this.waitForStoreAndInitialize();
945
+ return;
946
+ }
947
+ // If Plaid Link is ready and no public token exists, open Plaid Link
948
+ if (this.plaidLink && !this.publicToken && !this.isAuthenticating) {
949
+ this.openPlaidLink();
950
+ }
951
+ }
913
952
  // Method to handle external selection changes (e.g., from other payment methods)
914
953
  async setSelected(selected) {
915
954
  this.isSelected = selected;
916
955
  if (selected) {
917
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
956
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
918
957
  }
919
958
  }
920
959
  // Method to check if component is currently selected
@@ -1021,7 +1060,7 @@ const PlaidPaymentMethod = class {
1021
1060
  }
1022
1061
  return null;
1023
1062
  };
1024
- return (index.h(styledHost.StyledHost, { class: "payment-method" }, index.h("script", { src: "https://cdn.plaid.com/link/v2/stable/link-initialize.js", async: true, ref: (el) => (this.scriptRef = el) }), index.h("div", { class: "radio-list-item p-3", part: parts.radioListItem, onClick: this.onPaymentMethodOptionClick, title: "Pay with Plaid" }, index.h("form-control-radio", { name: "paymentMethodType", value: checkout_store.PAYMENT_METHODS.PLAID, checked: this.isSelected, label: index.h("div", null, index.h("div", null, "Pay with Bank Account ", plaidLogo, " "), renderErrorState(), renderStatusState()) }))));
1063
+ return (index.h(styledHost.StyledHost, { class: "payment-method" }, index.h("script", { src: "https://cdn.plaid.com/link/v2/stable/link-initialize.js", async: true, ref: (el) => (this.scriptRef = el) }), index.h("div", { title: "Pay with Plaid" }, index.h("div", { onClick: (event) => { event.preventDefault(); this.handleSelectionClick(); } }, "Pay with Bank Account ", plaidLogo, " "), renderErrorState(), renderStatusState())));
1025
1064
  }
1026
1065
  static get watchers() { return {
1027
1066
  "isSelected": ["onSelectionChange"]
@@ -1033,18 +1072,16 @@ const SavedPaymentMethods = class {
1033
1072
  index.registerInstance(this, hostRef);
1034
1073
  this.onPaymentMethodOptionClick = (paymentMethod) => (e) => {
1035
1074
  e.preventDefault();
1036
- const SELECTED_PAYMENT_METHODS = {
1037
- [checkout_store.PAYMENT_METHOD_TYPES.CARD]: checkout_store.PAYMENT_METHODS.SAVED_CARD,
1038
- [checkout_store.PAYMENT_METHOD_TYPES.BANK_ACCOUNT]: checkout_store.PAYMENT_METHODS.SAVED_BANK_ACCOUNT,
1039
- };
1040
- checkout_store.checkoutStore.selectedPaymentMethod = SELECTED_PAYMENT_METHODS[paymentMethod.type];
1075
+ checkout_store.checkoutStore.selectedPaymentMethod = { id: paymentMethod.id, type: paymentMethod.type };
1041
1076
  checkout_store.checkoutStore.paymentToken = paymentMethod.id;
1042
1077
  };
1043
- this.isAllowedPaymentMethod = (paymentMethod) => {
1044
- if (paymentMethod.type === checkout_store.PAYMENT_METHOD_TYPES.CARD && checkout_store.checkoutStore.disableCreditCard) {
1078
+ this.isAllowedPaymentMethod = (paymentMethodType) => {
1079
+ const isCard = paymentMethodType === index$1.PAYMENT_METHODS.SAVED_CARD;
1080
+ const isBankAccount = paymentMethodType === index$1.PAYMENT_METHODS.SAVED_BANK_ACCOUNT;
1081
+ if (isCard && checkout_store.checkoutStore.disableCreditCard) {
1045
1082
  return false;
1046
1083
  }
1047
- if (paymentMethod.type === checkout_store.PAYMENT_METHOD_TYPES.BANK_ACCOUNT && checkout_store.checkoutStore.disableBankAccount) {
1084
+ if (isBankAccount && checkout_store.checkoutStore.disableBankAccount) {
1048
1085
  return false;
1049
1086
  }
1050
1087
  return true;
@@ -1063,7 +1100,7 @@ const SavedPaymentMethods = class {
1063
1100
  return null;
1064
1101
  }
1065
1102
  return (index.h(styledHost.StyledHost, null, index.h("div", { class: "saved-payment-methods" }, checkout_store.checkoutStore.paymentMethods.length ? checkout_store.checkoutStore.paymentMethods
1066
- .filter(this.isAllowedPaymentMethod)
1103
+ .filter((paymentMethod) => this.isAllowedPaymentMethod(paymentMethod.type))
1067
1104
  .map((paymentMethod) => (index.h("div", { class: "radio-list-item p-3", part: parts.radioListItem, onClick: this.onPaymentMethodOptionClick(paymentMethod) }, index.h("form-control-radio", { name: "paymentMethodType", value: paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id, checked: checkout_store.checkoutStore.paymentToken === (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id), label: `${paymentMethodOptionUtils.CardBrandLabels[paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.brand] || ''} *${paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.acct_last_four}` })))) : null)));
1068
1105
  }
1069
1106
  };
@@ -1078,12 +1115,7 @@ const SezzlePaymentMethod = class {
1078
1115
  constructor(hostRef) {
1079
1116
  index.registerInstance(this, hostRef);
1080
1117
  this.paymentMethodOptionSelected = index.createEvent(this, "paymentMethodOptionSelected");
1081
- this.paymentMethodOptionId = checkout_store.PAYMENT_METHODS.SEZZLE;
1082
- this.onPaymentMethodOptionClick = (e) => {
1083
- e.preventDefault();
1084
- checkout_store.checkoutStore.selectedPaymentMethod = this.paymentMethodOptionId;
1085
- this.paymentMethodOptionSelected.emit(this.paymentMethodOptionId);
1086
- };
1118
+ this.paymentMethodOptionId = index$1.PAYMENT_METHODS.SEZZLE;
1087
1119
  this.initializeSezzleCheckout = () => {
1088
1120
  let resolveSezzlePromise;
1089
1121
  this.sezzlePromise = new Promise((resolve) => { resolveSezzlePromise = resolve; });
@@ -1126,20 +1158,24 @@ const SezzlePaymentMethod = class {
1126
1158
  this.sezzleButtonRef.click();
1127
1159
  return this.sezzlePromise;
1128
1160
  }
1161
+ async handleSelectionClick() {
1162
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.SEZZLE };
1163
+ this.paymentMethodOptionSelected.emit(this.paymentMethodOptionId);
1164
+ }
1129
1165
  render() {
1130
1166
  var _a, _b;
1131
1167
  if (!checkout_store.checkoutStore.bnplEnabled || checkout_store.checkoutStore.disableBnpl) {
1132
1168
  console.warn('justifi-sezzle-payment-method: BNPL is not enabled for this account.');
1133
1169
  return null;
1134
1170
  }
1135
- return (index.h(styledHost.StyledHost, { class: "payment-method" }, index.h("script", { src: "https://checkout-sdk.sezzle.com/checkout.min.js", async: true, ref: (el) => (this.scriptRef = el) }), index.h("div", { class: "radio-list-item p-3", part: parts.radioListItem, onClick: this.onPaymentMethodOptionClick }, index.h("form-control-radio", { name: "paymentMethodType", value: this.paymentMethodOptionId, checked: checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.SEZZLE, label: index.h("div", null, index.h("div", null, "Buy now, pay later with ", sezzleLogo), this.installmentPlan && (index.h("small", null, index.h("span", null, (_a = this.installmentPlan) === null || _a === void 0 ? void 0 : _a.installments.length), "\u00A0", index.h("span", null, this.installmentPlan.schedule, " payments of"), "\u00A0", index.h("span", { class: "fw-bold" }, utils.formatCurrency((_b = this.installmentPlan) === null || _b === void 0 ? void 0 : _b.installments[0].amountInCents))))) }))));
1171
+ return (index.h(styledHost.StyledHost, { class: "payment-method" }, index.h("script", { src: "https://checkout-sdk.sezzle.com/checkout.min.js", async: true, ref: (el) => (this.scriptRef = el) }), index.h("div", null, index.h("div", null, "Buy now, pay later with ", sezzleLogo), this.installmentPlan && (index.h("small", null, index.h("span", null, (_a = this.installmentPlan) === null || _a === void 0 ? void 0 : _a.installments.length), "\u00A0", index.h("span", null, this.installmentPlan.schedule, " payments of"), "\u00A0", index.h("span", { class: "fw-bold" }, utils.formatCurrency((_b = this.installmentPlan) === null || _b === void 0 ? void 0 : _b.installments[0].amountInCents)))))));
1136
1172
  }
1137
1173
  };
1138
1174
 
1139
1175
  // Constants
1140
1176
  const PAYMENT_METHOD_TYPE_LABELS = {
1141
- [checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT]: 'New bank account',
1142
- [checkout_store.PAYMENT_METHODS.NEW_CARD]: 'New credit or debit card',
1177
+ [index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT]: 'New bank account',
1178
+ [index$1.PAYMENT_METHODS.NEW_CARD]: 'New credit or debit card',
1143
1179
  };
1144
1180
  const ERROR_MESSAGES = {
1145
1181
  AUTH_TOKEN_REQUIRED: 'Auth token is required when using the tokenize-payment-method component not slotted in justifi-modular-checkout',
@@ -1176,7 +1212,7 @@ const TokenizePaymentMethod = class {
1176
1212
  }
1177
1213
  handleRadioClick(event) {
1178
1214
  this.selectedPaymentMethod = event.detail;
1179
- checkout_store.checkoutStore.selectedPaymentMethod = event.detail;
1215
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: event.detail };
1180
1216
  }
1181
1217
  async fillBillingForm(fields) {
1182
1218
  var _a;
@@ -1267,12 +1303,12 @@ const TokenizePaymentMethod = class {
1267
1303
  return;
1268
1304
  }
1269
1305
  if (!this.disableCreditCard) {
1270
- this.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.NEW_CARD;
1271
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.NEW_CARD;
1306
+ this.selectedPaymentMethod = index$1.PAYMENT_METHODS.NEW_CARD;
1307
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.NEW_CARD };
1272
1308
  }
1273
1309
  else if (!this.disableBankAccount) {
1274
- this.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
1275
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
1310
+ this.selectedPaymentMethod = index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
1311
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT };
1276
1312
  }
1277
1313
  }
1278
1314
  setComputedHideSubmitButton() {
@@ -1299,10 +1335,10 @@ const TokenizePaymentMethod = class {
1299
1335
  get availablePaymentMethods() {
1300
1336
  const methods = [];
1301
1337
  if (!this.disableCreditCard) {
1302
- methods.push(checkout_store.PAYMENT_METHODS.NEW_CARD);
1338
+ methods.push(index$1.PAYMENT_METHODS.NEW_CARD);
1303
1339
  }
1304
1340
  if (!this.disableBankAccount) {
1305
- methods.push(checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT);
1341
+ methods.push(index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT);
1306
1342
  }
1307
1343
  return methods;
1308
1344
  }
@@ -1371,17 +1407,17 @@ const TokenizePaymentMethod = class {
1371
1407
  return this.disableCreditCard || this.disableBankAccount;
1372
1408
  }
1373
1409
  renderPaymentMethodOption(paymentMethodType) {
1374
- const isSelected = this.selectedPaymentMethod === paymentMethodType;
1410
+ const isSelected = this.selectedPaymentMethod === paymentMethodType && checkout_store.checkoutStore.selectedPaymentMethod.id === undefined;
1375
1411
  return (index.h("div", { class: "payment-method" }, index.h("justifi-radio-list-item", { name: "paymentMethodType", value: paymentMethodType, checked: isSelected, label: PAYMENT_METHOD_TYPE_LABELS[paymentMethodType], hidden: this.shouldHideRadioInput }), isSelected && this.renderSelectedPaymentMethodForm(paymentMethodType)));
1376
1412
  }
1377
- renderSelectedPaymentMethodForm(paymentMethodId) {
1378
- return (index.h("div", { class: "mt-4 pb-4" }, this.renderPaymentMethodForm(paymentMethodId), index.h("div", { class: "mt-4" }, index.h("justifi-billing-form", { ref: (el) => (this.billingFormRef = el), hideCardBillingForm: this.hideCardBillingForm, hideBankAccountBillingForm: this.hideBankAccountBillingForm, paymentMethodType: paymentMethodId })), index.h("div", { class: "mt-4" }, index.h("justifi-save-new-payment-method", { hidden: !this.paymentMethodGroupID }))));
1413
+ renderSelectedPaymentMethodForm(paymentMethodType) {
1414
+ return (index.h("div", { class: "mt-4 pb-4" }, this.renderPaymentMethodForm(paymentMethodType), index.h("div", { class: "mt-4" }, index.h("justifi-billing-form", { ref: (el) => (this.billingFormRef = el), hideCardBillingForm: this.hideCardBillingForm, hideBankAccountBillingForm: this.hideBankAccountBillingForm, paymentMethodType: paymentMethodType })), index.h("div", { class: "mt-4" }, index.h("justifi-save-new-payment-method", { hidden: !this.paymentMethodGroupID, label: this.savePaymentMethodLabel }))));
1379
1415
  }
1380
- renderPaymentMethodForm(paymentMethodId) {
1381
- return paymentMethodId === checkout_store.PAYMENT_METHODS.NEW_CARD ? (index.h("justifi-card-form", { ref: (el) => (this.paymentMethodFormRef = el) })) : (index.h("justifi-bank-account-form", { ref: (el) => (this.paymentMethodFormRef = el) }));
1416
+ renderPaymentMethodForm(paymentMethodType) {
1417
+ return paymentMethodType === index$1.PAYMENT_METHODS.NEW_CARD ? (index.h("justifi-card-form", { ref: (el) => (this.paymentMethodFormRef = el) })) : (index.h("justifi-bank-account-form", { ref: (el) => (this.paymentMethodFormRef = el) }));
1382
1418
  }
1383
1419
  render() {
1384
- return (index.h(styledHost.StyledHost, { key: '86f4eb7ae1ee329384e6bde2fdf1d7035a341488' }, index.h("form", { key: 'e3433176ea56ca9cbf831c9c4a8c2cfb3e41707a' }, index.h("fieldset", { key: 'c130d134bc8e5642881250586e8099e8eee7090b' }, index.h("div", { key: '0ff386b78ce610a22ddeed10b29a170259197f10', class: "row gy-3" }, index.h("div", { key: '020e8750dd774723083a84a4a4dc0637644ccd25', class: "col-12" }, this.availablePaymentMethods.map((method) => this.renderPaymentMethodOption(method))), index.h("div", { key: 'b3b53bca5369986e892913a87d7f77a463706015', class: "col-12" }, index.h("justifi-button", { key: '5f7a195926440cf5fba38b4f5781d45b6959ad6d', text: this.submitButtonText, variant: "primary", type: "submit", clickHandler: (e) => this.tokenizePaymentMethod(e), isLoading: this.isLoading, "data-testid": "submit-button", hidden: this.computedHideSubmitButton })))))));
1420
+ return (index.h(styledHost.StyledHost, { key: '5fc5dad15215fe24b421f4d6c13355fb849b8a76' }, index.h("form", { key: '0e0330e5b11ee3ae0bef9e092fa2fb2a0a6af3e7' }, index.h("fieldset", { key: 'ee4c026ccda62a249e019a9e105e40ea465fc400' }, index.h("div", { key: '15a8a86fa5be8a545745260d76a8c3b2569d6a0e', class: "row gy-3" }, index.h("div", { key: 'bbbeed6ee96311394a876b4beb206e8e335184c2', class: "col-12" }, this.availablePaymentMethods.map((method) => this.renderPaymentMethodOption(method))), index.h("div", { key: 'da2a2009abe4348e25a5fc712557e81e9f6c4c1f', class: "col-12" }, index.h("justifi-button", { key: '050939c757999383226f281ee0eff1ec178be203', text: this.submitButtonText, variant: "primary", type: "submit", clickHandler: (e) => this.tokenizePaymentMethod(e), isLoading: this.isLoading, "data-testid": "submit-button", hidden: this.computedHideSubmitButton })))))));
1385
1421
  }
1386
1422
  get host() { return index.getElement(this); }
1387
1423
  static get watchers() { return {