@justifi/webcomponents 6.0.0-rc.9 → 6.0.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 (640) 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 +9 -9
  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-7FBAUhHw.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/{payments-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 +1 -1
  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 +3 -3
  28. package/dist/cjs/form-control-monetary.cjs.entry.js +6 -6
  29. package/dist/cjs/form-control-number-masked_2.cjs.entry.js +4 -4
  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 +8 -8
  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 +24 -42
  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 +1 -1
  52. package/dist/cjs/justifi-checkout-summary_7.cjs.entry.js +192 -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 +2 -2
  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 +8 -8
  64. package/dist/cjs/justifi-payment-details.cjs.entry.js +11 -11
  65. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +3 -3
  66. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +9 -9
  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 +1 -1
  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-BNN5fdIc.js} +1 -1
  84. package/dist/cjs/pagination-menu.cjs.entry.js +1 -1
  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/{payouts-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/{terminal-orders-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/{checkouts-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 +2 -2
  118. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +6 -3
  119. package/dist/collection/components/checkout/card-form/card-form.js +6 -3
  120. package/dist/collection/components/checkout/checkout.js +16 -1
  121. package/dist/collection/components/checkout/save-new-payment-method.js +26 -1
  122. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  123. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +1 -1
  124. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  125. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  126. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  127. package/dist/collection/components/dispute-management/dispute-notification.js +1 -1
  128. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  129. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  130. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  131. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  132. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  133. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  134. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  135. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  136. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  137. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  138. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  139. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  140. package/dist/collection/components/modular-checkout/ModularCheckout.js +27 -0
  141. package/dist/collection/components/modular-checkout/modular-checkout.js +104 -70
  142. package/dist/collection/components/modular-checkout/sub-components/apple-pay-skeleton.js +2 -2
  143. package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +72 -70
  144. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  145. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  146. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  147. package/dist/collection/components/modular-checkout/sub-components/plaid-payment-method.js +57 -65
  148. package/dist/collection/components/modular-checkout/sub-components/plaid-payment-method.test.js +8 -6
  149. package/dist/collection/components/modular-checkout/sub-components/saved-payment-methods.js +8 -10
  150. package/dist/collection/components/modular-checkout/sub-components/sezzle-payment-method.js +22 -7
  151. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  152. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  153. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  154. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  155. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  156. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  157. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  158. package/dist/collection/components/payments-list/payments-list.js +1 -1
  159. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  160. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  161. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  162. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  163. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  164. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  165. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  166. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  167. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  168. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  169. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  170. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +29 -10
  171. package/dist/collection/index.js +1 -0
  172. package/dist/collection/store/checkout.store.js +46 -3
  173. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  174. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  175. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  176. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  177. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  178. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  179. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  180. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  181. package/dist/collection/ui-components/form/form-control-radio.js +5 -5
  182. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  183. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  184. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  185. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  186. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  187. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  188. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  189. package/dist/collection/ui-components/shadow-dom-components/justifi-radio-list-item.js +4 -4
  190. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  191. package/dist/collection/utils/utils.js +5 -0
  192. package/dist/docs.json +153 -97
  193. package/dist/esm/{Api-C1I68Tfr.js → Api-D4tj-h4P.js} +2 -2
  194. package/dist/esm/{Refund-kKW8S1h6.js → Refund-Bc5By0lb.js} +3 -1
  195. package/dist/esm/additional-questions-details_5.entry.js +3 -3
  196. package/dist/esm/{badge-DSYSJcRy.js → badge-ChwzCNAF.js} +1 -1
  197. package/dist/esm/bank-account-document-form-inputs_4.entry.js +9 -9
  198. package/dist/esm/bank-account-form.entry.js +10 -15
  199. package/dist/esm/business-details-core.entry.js +6 -21
  200. package/dist/esm/{business.service-B3wlBl1x.js → business.service-CsbtEDNi.js} +2 -2
  201. package/dist/esm/{button-CpllL0At.js → button-SAIS_5os.js} +2 -3
  202. package/dist/esm/card-form.entry.js +10 -19
  203. package/dist/esm/{check-pkg-version-CGQdCjwh.js → check-pkg-version-BUkwdVdm.js} +3 -3
  204. package/dist/esm/{checkout.service-KDp7tISm.js → checkout.service-BCkQ9pOA.js} +2 -2
  205. package/dist/esm/checkout.store-DBvS7cVB.js +79 -0
  206. package/dist/esm/checkouts-list-core.entry.js +11 -11
  207. package/dist/esm/{checkouts-list-params-state-D8tzsGR_.js → checkouts-list-params-state-C2_GlMKR.js} +1 -1
  208. package/dist/esm/{checkouts-table-QOdiLpak.js → checkouts-table-CItEo0DU.js} +4 -6
  209. package/dist/esm/{config-state-DZeVYerv.js → config-state-Blo0ywwc.js} +1 -1
  210. package/dist/esm/custom-popper_2.entry.js +3 -3
  211. package/dist/esm/{dispute.service-DEZEPwn-.js → dispute.service-CyLtJREK.js} +2 -2
  212. package/dist/esm/form-alert_5.entry.js +1 -1
  213. package/dist/esm/form-control-checkbox.entry.js +5 -5
  214. package/dist/esm/form-control-date.entry.js +4 -4
  215. package/dist/esm/{form-control-error-text-R7U07nTg.js → form-control-error-text-IXJJ4JpV.js} +1 -1
  216. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  217. package/dist/esm/{form-control-help-text-CRLH-2f7.js → form-control-help-text-CuhIsM3v.js} +1 -1
  218. package/dist/esm/form-control-help-text.entry.js +1 -1
  219. package/dist/esm/form-control-monetary-provisioning.entry.js +3 -3
  220. package/dist/esm/form-control-monetary.entry.js +6 -6
  221. package/dist/esm/form-control-number-masked_2.entry.js +4 -4
  222. package/dist/esm/form-control-number.entry.js +5 -5
  223. package/dist/esm/form-control-radio.entry.js +3 -3
  224. package/dist/esm/form-control-select_2.entry.js +6 -6
  225. package/dist/esm/{get-payment-details-CYASKLT7.js → get-payment-details-BuT0QNOo.js} +2 -2
  226. package/dist/esm/{get-subaccounts-E0PYy_pc.js → get-subaccounts-VjY6-x_9.js} +3 -3
  227. package/dist/esm/gross-payment-chart-core.entry.js +5 -5
  228. package/dist/esm/{header-1-3M9If0gM.js → header-1-zXsamUS3.js} +1 -1
  229. package/dist/esm/{header-3-CWa41YWq.js → header-3-DVtaUAlf.js} +1 -1
  230. package/dist/esm/hidden-input_2.entry.js +8 -8
  231. package/dist/esm/{checkout.store-UMe84fjY.js → index-DCIW8z1f.js} +27 -38
  232. package/dist/esm/{index-B_KxSZIF.js → index-ZfXl6Xrm.js} +1 -1
  233. package/dist/esm/{index-Bn7inNWG.js → index-qipqIMyC.js} +8 -2
  234. package/dist/esm/index.js +1 -1
  235. package/dist/esm/{insurance-state-CTalqbNa.js → insurance-state-Dh9f36Qh.js} +2 -2
  236. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +9 -24
  237. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +8 -8
  238. package/dist/esm/justifi-additional-statement_8.entry.js +9 -9
  239. package/dist/esm/justifi-apple-pay.entry.js +177 -86
  240. package/dist/esm/justifi-bank-account-billing-form-simple_9.entry.js +24 -42
  241. package/dist/esm/justifi-business-details.entry.js +10 -10
  242. package/dist/esm/justifi-business-form.entry.js +15 -30
  243. package/dist/esm/justifi-business-representative-form-inputs.entry.js +1 -1
  244. package/dist/esm/justifi-checkout-summary_7.entry.js +185 -157
  245. package/dist/esm/justifi-checkout.entry.js +19 -11
  246. package/dist/esm/justifi-checkouts-list-filters.entry.js +8 -8
  247. package/dist/esm/justifi-checkouts-list.entry.js +14 -14
  248. package/dist/esm/justifi-config-provider.entry.js +3 -3
  249. package/dist/esm/justifi-details.entry.js +2 -2
  250. package/dist/esm/justifi-dispute-management-core.entry.js +2 -2
  251. package/dist/esm/justifi-dispute-management.entry.js +10 -10
  252. package/dist/esm/justifi-dispute-notification_3.entry.js +15 -15
  253. package/dist/esm/justifi-gross-payment-chart.entry.js +9 -9
  254. package/dist/esm/justifi-order-terminals.entry.js +16 -44
  255. package/dist/esm/justifi-owner-form_3.entry.js +8 -8
  256. package/dist/esm/justifi-payment-details.entry.js +11 -11
  257. package/dist/esm/justifi-payment-provisioning-core.entry.js +3 -3
  258. package/dist/esm/justifi-payment-provisioning.entry.js +9 -9
  259. package/dist/esm/justifi-payment-transactions-list.entry.js +14 -16
  260. package/dist/esm/justifi-payments-list-filters.entry.js +7 -7
  261. package/dist/esm/justifi-payments-list.entry.js +14 -14
  262. package/dist/esm/justifi-payout-details.entry.js +10 -10
  263. package/dist/esm/justifi-payout-transactions-list.entry.js +16 -22
  264. package/dist/esm/justifi-payouts-list-filters.entry.js +7 -7
  265. package/dist/esm/justifi-payouts-list.entry.js +15 -15
  266. package/dist/esm/justifi-refund-payment.entry.js +15 -21
  267. package/dist/esm/justifi-saved-payment-method.entry.js +1 -1
  268. package/dist/esm/justifi-season-interruption-insurance.entry.js +14 -25
  269. package/dist/esm/justifi-skeleton.entry.js +4 -4
  270. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +9 -9
  271. package/dist/esm/justifi-terminal-orders-list.entry.js +12 -12
  272. package/dist/esm/justifi-terminals-list-filters.entry.js +8 -8
  273. package/dist/esm/justifi-terminals-list.entry.js +14 -14
  274. package/dist/esm/loader.js +3 -3
  275. package/dist/esm/{package-BiWRKUx3.js → package-BBpkkt2-.js} +1 -1
  276. package/dist/esm/pagination-menu.entry.js +1 -1
  277. package/dist/esm/payment-details-core.entry.js +16 -28
  278. package/dist/esm/payment-method-option.entry.js +3 -3
  279. package/dist/esm/{payment.service-uJpJaX2Z.js → payment.service-QJEmd6Nl.js} +2 -2
  280. package/dist/esm/payments-list-core.entry.js +12 -12
  281. package/dist/esm/{payments-list-params-state-D8tzsGR_.js → payments-list-params-state-C2_GlMKR.js} +1 -1
  282. package/dist/esm/{payments-status-5orNU2Rd.js → payments-status-DDafc8Yr.js} +2 -2
  283. package/dist/esm/{payments-table-B0uyodyJ.js → payments-table-De3Jb6rY.js} +4 -6
  284. package/dist/esm/payout-details-core.entry.js +12 -24
  285. package/dist/esm/{payout.service-ClUgtbbb.js → payout.service-XxyEr0rj.js} +2 -2
  286. package/dist/esm/payouts-list-core.entry.js +12 -12
  287. package/dist/esm/{payouts-list-params-state-D8tzsGR_.js → payouts-list-params-state-C2_GlMKR.js} +1 -1
  288. package/dist/esm/{payouts-status-CZPwa2AE.js → payouts-status-u1eSRz3Q.js} +2 -2
  289. package/dist/esm/{payouts-table-CaCSX_0q.js → payouts-table-BO-MCzXj.js} +5 -7
  290. package/dist/esm/{skeleton-qMb0_Cjy.js → skeleton-DtpkgjZ6.js} +1 -1
  291. package/dist/esm/spinner-CIXUVK4F.js +8 -0
  292. package/dist/esm/{styled-host-CTAGIN84.js → styled-host-CbizlfAU.js} +2 -4
  293. package/dist/esm/{table-Br3n9Xu-.js → table-DcRHK_sm.js} +5 -11
  294. package/dist/esm/table-filters-menu.entry.js +3 -3
  295. package/dist/esm/terminal-orders-list-core.entry.js +11 -11
  296. package/dist/esm/{terminal-orders-list-params-state-D8tzsGR_.js → terminal-orders-list-params-state-C2_GlMKR.js} +1 -1
  297. package/dist/esm/{terminal-orders-table-DPtof5Zb.js → terminal-orders-table-9nsnrAq8.js} +7 -11
  298. package/dist/esm/terminal-quantity-selector.entry.js +2 -2
  299. package/dist/esm/{terminal.service-ClNtE3e-.js → terminal.service-D2oETGnk.js} +2 -2
  300. package/dist/esm/terminals-list-core.entry.js +11 -11
  301. package/dist/esm/terminals-list-params-state-C2_GlMKR.js +16 -0
  302. package/dist/esm/{terminals-table-ClkR_jrC.js → terminals-table-C6NO2m-t.js} +3 -3
  303. package/dist/esm/{utils-lb8p1Exq.js → utils-BscIVFn8.js} +6 -1
  304. package/dist/esm/utils-_ckvHjSW.js +11 -0
  305. package/dist/esm/webcomponents.js +4 -4
  306. package/dist/module/ModularCheckout.js +57 -0
  307. package/dist/module/Refund.js +2 -0
  308. package/dist/module/additional-questions-details2.js +4 -2
  309. package/dist/module/additional-questions.js +4 -2
  310. package/dist/module/additional-statement.js +5 -3
  311. package/dist/module/bank-account-billing-form-simple.js +4 -2
  312. package/dist/module/bank-account-document-inputs.js +4 -2
  313. package/dist/module/bank-account-form-inputs2.js +4 -2
  314. package/dist/module/bank-account-form.js +10 -13
  315. package/dist/module/bank-account.js +7 -13
  316. package/dist/module/billing-form-full.js +4 -2
  317. package/dist/module/billing-form.js +4 -2
  318. package/dist/module/business-additional-questions-form-step-core.js +4 -2
  319. package/dist/module/business-additional-questions-form-step.js +4 -2
  320. package/dist/module/business-bank-account-form-step-core.js +4 -2
  321. package/dist/module/business-bank-account-form-step.js +4 -2
  322. package/dist/module/business-core-info-form-step-core.js +4 -2
  323. package/dist/module/business-core-info-form-step.js +4 -2
  324. package/dist/module/business-core-info.js +4 -2
  325. package/dist/module/business-details-core2.js +6 -19
  326. package/dist/module/business-documents-on-file2.js +4 -2
  327. package/dist/module/business-owners-form-step-core.js +4 -2
  328. package/dist/module/business-owners-form-step.js +4 -2
  329. package/dist/module/business-representative-form-inputs.js +4 -2
  330. package/dist/module/business-representative-form-step-core.js +4 -2
  331. package/dist/module/business-representative-form-step.js +4 -2
  332. package/dist/module/business-representative.js +4 -2
  333. package/dist/module/business-terms-conditions-form-step.js +4 -2
  334. package/dist/module/button.js +1 -2
  335. package/dist/module/cancellation-policy.js +5 -3
  336. package/dist/module/card-billing-form-simple.js +4 -2
  337. package/dist/module/card-form.js +10 -17
  338. package/dist/module/card-form2.js +7 -17
  339. package/dist/module/checkout.store.js +42 -31
  340. package/dist/module/checkouts-list-core2.js +6 -6
  341. package/dist/module/core-info-details2.js +4 -2
  342. package/dist/module/custom-popper2.js +6 -4
  343. package/dist/module/customer-details.js +5 -3
  344. package/dist/module/details.js +4 -2
  345. package/dist/module/dispute-management-core.js +5 -3
  346. package/dist/module/dispute-notification.js +5 -3
  347. package/dist/module/dispute-response-core.js +5 -3
  348. package/dist/module/dispute-response.js +5 -3
  349. package/dist/module/duplicate-charge.js +5 -3
  350. package/dist/module/electronic-evidence.js +5 -3
  351. package/dist/module/form-alert2.js +4 -2
  352. package/dist/module/form-control-checkbox2.js +6 -4
  353. package/dist/module/form-control-date2.js +6 -4
  354. package/dist/module/form-control-file-v22.js +5 -3
  355. package/dist/module/form-control-file2.js +6 -4
  356. package/dist/module/form-control-help-text2.js +4 -2
  357. package/dist/module/form-control-monetary-provisioning2.js +4 -2
  358. package/dist/module/form-control-monetary2.js +6 -4
  359. package/dist/module/form-control-number-masked2.js +6 -4
  360. package/dist/module/form-control-number.js +6 -4
  361. package/dist/module/form-control-radio2.js +7 -5
  362. package/dist/module/form-control-select2.js +6 -4
  363. package/dist/module/form-control-text2.js +6 -4
  364. package/dist/module/form-control-textarea2.js +6 -4
  365. package/dist/module/form-control-tooltip2.js +4 -2
  366. package/dist/module/gross-payment-chart-core2.js +6 -4
  367. package/dist/module/hidden-input2.js +5 -3
  368. package/dist/module/identity-address-form.js +4 -2
  369. package/dist/module/iframe-input2.js +7 -5
  370. package/dist/module/index.js +1 -0
  371. package/dist/module/justifi-apple-pay.js +174 -86
  372. package/dist/module/justifi-business-details.js +4 -2
  373. package/dist/module/justifi-business-form.js +6 -19
  374. package/dist/module/justifi-button2.js +5 -3
  375. package/dist/module/justifi-checkout.js +15 -4
  376. package/dist/module/justifi-checkouts-list-filters.js +5 -3
  377. package/dist/module/justifi-checkouts-list.js +5 -3
  378. package/dist/module/justifi-config-provider.js +4 -2
  379. package/dist/module/justifi-dispute-management.js +5 -3
  380. package/dist/module/justifi-gross-payment-chart.js +4 -2
  381. package/dist/module/justifi-header2.js +5 -3
  382. package/dist/module/justifi-order-terminals.js +9 -35
  383. package/dist/module/justifi-payment-details.js +4 -2
  384. package/dist/module/justifi-payment-provisioning.js +4 -2
  385. package/dist/module/justifi-payment-transactions-list.js +6 -6
  386. package/dist/module/justifi-payments-list-filters.js +6 -4
  387. package/dist/module/justifi-payments-list.js +5 -3
  388. package/dist/module/justifi-payout-details.js +4 -2
  389. package/dist/module/justifi-payout-transactions-list.js +8 -12
  390. package/dist/module/justifi-payouts-list-filters.js +6 -4
  391. package/dist/module/justifi-payouts-list.js +5 -3
  392. package/dist/module/justifi-radio-list-item2.js +6 -4
  393. package/dist/module/justifi-refund-payment.js +6 -10
  394. package/dist/module/justifi-saved-payment-method.js +4 -2
  395. package/dist/module/justifi-season-interruption-insurance.js +6 -16
  396. package/dist/module/justifi-skeleton.js +5 -3
  397. package/dist/module/justifi-terminal-orders-list-filters.js +6 -4
  398. package/dist/module/justifi-terminal-orders-list.js +5 -3
  399. package/dist/module/justifi-terminals-list-filters.js +5 -3
  400. package/dist/module/justifi-terminals-list.js +5 -3
  401. package/dist/module/legal-address-details2.js +4 -2
  402. package/dist/module/legal-address-form-step-core.js +4 -2
  403. package/dist/module/legal-address-form-step.js +4 -2
  404. package/dist/module/legal-address-form.js +4 -2
  405. package/dist/module/modular-checkout.js +94 -39
  406. package/dist/module/owner-details2.js +4 -2
  407. package/dist/module/owner-form-core2.js +4 -2
  408. package/dist/module/owner-form-inputs2.js +4 -2
  409. package/dist/module/owner-form.js +4 -2
  410. package/dist/module/package.js +1 -1
  411. package/dist/module/pagination-menu2.js +4 -2
  412. package/dist/module/payment-details-core2.js +13 -23
  413. package/dist/module/payment-method-option.js +5 -3
  414. package/dist/module/payment-provisioning-core.js +4 -2
  415. package/dist/module/payment-provisioning-form-buttons.js +4 -2
  416. package/dist/module/payment-provisioning-form-steps.js +4 -2
  417. package/dist/module/payment-provisioning-loading.js +2 -17
  418. package/dist/module/payments-list-core2.js +6 -6
  419. package/dist/module/payout-details-core2.js +8 -18
  420. package/dist/module/payouts-list-core2.js +7 -7
  421. package/dist/module/plaid-payment-method.js +49 -104
  422. package/dist/module/plaid.service.js +26 -0
  423. package/dist/module/product-or-service.js +5 -3
  424. package/dist/module/refund-policy.js +5 -3
  425. package/dist/module/representative-details2.js +4 -2
  426. package/dist/module/save-new-payment-method.js +7 -3
  427. package/dist/module/saved-payment-methods.js +13 -12
  428. package/dist/module/sezzle-payment-method.js +14 -24
  429. package/dist/module/shipping-details.js +5 -3
  430. package/dist/module/spinner.js +1 -3
  431. package/dist/module/styled-host.js +1 -3
  432. package/dist/module/summary.js +5 -3
  433. package/dist/module/table-filters-menu2.js +5 -3
  434. package/dist/module/table.js +3 -9
  435. package/dist/module/terminal-orders-list-core2.js +7 -9
  436. package/dist/module/terminal-quantity-selector2.js +5 -3
  437. package/dist/module/terminals-list-core2.js +6 -4
  438. package/dist/module/tokenize-payment-method.js +16 -12
  439. package/dist/module/utils.js +5 -16
  440. package/dist/module/utils2.js +6 -1
  441. package/dist/types/api/Checkout.d.ts +7 -15
  442. package/dist/types/api/Payment.d.ts +3 -1
  443. package/dist/types/api/index.d.ts +2 -2
  444. package/dist/types/api/services/apple-pay.service.d.ts +7 -0
  445. package/dist/types/components/checkout/bank-account-form/bank-account-form.d.ts +1 -0
  446. package/dist/types/components/checkout/card-form/card-form.d.ts +1 -0
  447. package/dist/types/components/checkout/checkout.d.ts +5 -0
  448. package/dist/types/components/checkout/save-new-payment-method.d.ts +1 -0
  449. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +41 -0
  450. package/dist/types/components/modular-checkout/modular-checkout.d.ts +5 -5
  451. package/dist/types/components/modular-checkout/sub-components/apple-pay-skeleton.d.ts +1 -1
  452. package/dist/types/components/modular-checkout/sub-components/apple-pay.d.ts +9 -3
  453. package/dist/types/components/modular-checkout/sub-components/plaid-payment-method.d.ts +1 -2
  454. package/dist/types/components/modular-checkout/sub-components/saved-payment-methods.d.ts +3 -3
  455. package/dist/types/components/modular-checkout/sub-components/sezzle-payment-method.d.ts +1 -1
  456. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +2 -1
  457. package/dist/types/components.d.ts +23 -19
  458. package/dist/types/index.d.ts +4 -0
  459. package/dist/types/stencil-public-runtime.d.ts +21 -0
  460. package/dist/types/store/checkout.store.d.ts +12 -5
  461. package/dist/types/ui-components/form/form-control-radio.d.ts +1 -1
  462. package/dist/types/ui-components/shadow-dom-components/justifi-radio-list-item.d.ts +1 -1
  463. package/dist/types/utils/utils.d.ts +1 -0
  464. package/dist/webcomponents/index.esm.js +1 -0
  465. package/dist/webcomponents/p-005efe51.entry.js +1 -0
  466. package/dist/webcomponents/p-0142114f.entry.js +1 -0
  467. package/dist/webcomponents/{p-54ca3070.entry.js → p-0801324e.entry.js} +1 -1
  468. package/dist/webcomponents/p-0d8fe5f2.entry.js +1 -0
  469. package/dist/webcomponents/{p-613421d4.entry.js → p-146de253.entry.js} +1 -1
  470. package/dist/webcomponents/p-17f7590c.entry.js +1 -0
  471. package/dist/webcomponents/{p-9846b23d.entry.js → p-1b7926f6.entry.js} +1 -1
  472. package/dist/webcomponents/{p-44450a94.entry.js → p-20f036cc.entry.js} +1 -1
  473. package/dist/webcomponents/{p-f13ae573.entry.js → p-2246aa69.entry.js} +1 -1
  474. package/dist/webcomponents/p-246ef4ff.entry.js +1 -0
  475. package/dist/webcomponents/p-25484e99.entry.js +1 -0
  476. package/dist/webcomponents/{p-4e3bf98f.entry.js → p-265d0a1d.entry.js} +1 -1
  477. package/dist/webcomponents/{p-4213d10e.entry.js → p-27fc3ef0.entry.js} +3 -3
  478. package/dist/webcomponents/{p-aeeb0f68.entry.js → p-2a43e77f.entry.js} +1 -1
  479. package/dist/webcomponents/p-30c414b5.entry.js +1 -0
  480. package/dist/webcomponents/{p-497632ad.entry.js → p-3152c84f.entry.js} +1 -1
  481. package/dist/webcomponents/p-3546a5aa.entry.js +1 -0
  482. package/dist/webcomponents/p-3621a429.entry.js +1 -0
  483. package/dist/webcomponents/p-3906296f.entry.js +1 -0
  484. package/dist/webcomponents/{p-f1cba43c.entry.js → p-3d37045d.entry.js} +1 -1
  485. package/dist/webcomponents/p-3e320c0d.entry.js +1 -0
  486. package/dist/webcomponents/p-406ba650.entry.js +1 -0
  487. package/dist/webcomponents/p-44d1341c.entry.js +1 -0
  488. package/dist/webcomponents/{p-6255c685.entry.js → p-44e32f85.entry.js} +1 -1
  489. package/dist/webcomponents/p-4ea83bfd.entry.js +1 -0
  490. package/dist/webcomponents/p-558f7967.entry.js +1 -0
  491. package/dist/webcomponents/p-5c3d8de5.entry.js +1 -0
  492. package/dist/webcomponents/p-5c477f08.entry.js +1 -0
  493. package/dist/webcomponents/p-68329f16.entry.js +1 -0
  494. package/dist/webcomponents/p-6fdc03bc.entry.js +1 -0
  495. package/dist/webcomponents/p-6fe79f16.entry.js +1 -0
  496. package/dist/webcomponents/p-7aeb20d2.entry.js +1 -0
  497. package/dist/webcomponents/p-7b103dad.entry.js +1 -0
  498. package/dist/webcomponents/{p-28618e6f.entry.js → p-7c5cd118.entry.js} +1 -1
  499. package/dist/webcomponents/{p-36d9d95a.entry.js → p-7cb6cc9f.entry.js} +1 -1
  500. package/dist/webcomponents/p-7e04d5af.entry.js +1 -0
  501. package/dist/webcomponents/p-82781411.entry.js +1 -0
  502. package/dist/webcomponents/p-84043580.entry.js +1 -0
  503. package/dist/webcomponents/p-8467851a.entry.js +1 -0
  504. package/dist/webcomponents/{p-95cbb655.entry.js → p-8d3f5638.entry.js} +1 -1
  505. package/dist/webcomponents/p-906fdf0c.entry.js +1 -0
  506. package/dist/webcomponents/{p-9a2c044f.entry.js → p-90e43440.entry.js} +1 -1
  507. package/dist/webcomponents/p-95348ff6.entry.js +1 -0
  508. package/dist/webcomponents/{p-15705e8a.entry.js → p-9c4079cc.entry.js} +1 -1
  509. package/dist/webcomponents/{p-43c5f490.entry.js → p-9d7b5d07.entry.js} +1 -1
  510. package/dist/webcomponents/{p-bc2da364.entry.js → p-9fc464eb.entry.js} +1 -1
  511. package/dist/webcomponents/{p-0mMX1Zv4.js → p-B4idKqyn.js} +1 -1
  512. package/dist/webcomponents/p-BBpkkt2-.js +1 -0
  513. package/dist/webcomponents/{p-zdIeCUeh.js → p-BHf9IqGw.js} +1 -1
  514. package/dist/webcomponents/{p-DNo0OPOP.js → p-BIPdn2VU.js} +1 -1
  515. package/dist/webcomponents/{p-BPtcGAzB.js → p-BUa0YOaw.js} +1 -1
  516. package/dist/webcomponents/{p-B8iBcmNu.js → p-BY2p6Sxk.js} +1 -1
  517. package/dist/webcomponents/{p-CB0mCq1M.js → p-BZ7C9duj.js} +1 -1
  518. package/dist/webcomponents/{p-DGmp4ErD.js → p-BdLLGV9t.js} +1 -1
  519. package/dist/webcomponents/p-BguBT6Hn.js +1 -0
  520. package/dist/webcomponents/{p-DhGNCW2f.js → p-Bp_QFeog.js} +1 -1
  521. package/dist/webcomponents/{p-B71k50jz.js → p-Bvp7uul3.js} +1 -1
  522. package/dist/webcomponents/{p-CvG-itHC.js → p-C1xGBPma.js} +1 -1
  523. package/dist/webcomponents/p-C3n7-tlg.js +1 -0
  524. package/dist/webcomponents/{p-DxqCFDtF.js → p-CLQx9p9q.js} +1 -1
  525. package/dist/webcomponents/{p-b21ncS7l.js → p-CPVN4dXS.js} +1 -1
  526. package/dist/webcomponents/p-CQeex56P.js +1 -0
  527. package/dist/webcomponents/p-CU4XQ3fO.js +1 -0
  528. package/dist/webcomponents/{p-Bb-6bNcq.js → p-C_3N7nqh.js} +1 -1
  529. package/dist/webcomponents/{p-BRLwUSZk.js → p-CaxjN6Uo.js} +1 -1
  530. package/dist/webcomponents/p-CpKvg1ok.js +1 -0
  531. package/dist/webcomponents/p-CrQgyTRz.js +1 -0
  532. package/dist/webcomponents/{p-Bu1jU017.js → p-CxzFvTgf.js} +1 -1
  533. package/dist/webcomponents/{p-DVBbk00Z.js → p-CzPUMw00.js} +1 -1
  534. package/dist/webcomponents/{p-DDUmOl3v.js → p-D--yCspA.js} +1 -1
  535. package/dist/webcomponents/{p-qWQmu-fb.js → p-D-JYHdJ7.js} +1 -1
  536. package/dist/webcomponents/p-D6XirF21.js +1 -0
  537. package/dist/webcomponents/p-DCIW8z1f.js +1 -0
  538. package/dist/webcomponents/{p-BfM6X7lF.js → p-DCMrHeJI.js} +1 -1
  539. package/dist/webcomponents/{p-B_6n1dAh.js → p-D_5McRD_.js} +1 -1
  540. package/dist/webcomponents/p-DbX0g1WF.js +1 -0
  541. package/dist/webcomponents/p-De8UloOS.js +1 -0
  542. package/dist/webcomponents/p-DsAwPf2y.js +1 -0
  543. package/dist/webcomponents/p-DvZcI6pC.js +1 -0
  544. package/dist/webcomponents/p-DyDHaG6n.js +1 -0
  545. package/dist/webcomponents/{p-D2_iJUrZ.js → p-DyOgQlh2.js} +1 -1
  546. package/dist/webcomponents/p-IG_KR8zP.js +1 -0
  547. package/dist/webcomponents/p-Xv8DuU3Y.js +1 -0
  548. package/dist/webcomponents/{p-d46dbb83.entry.js → p-a71a5e64.entry.js} +1 -1
  549. package/dist/webcomponents/p-a7e40e91.entry.js +1 -0
  550. package/dist/webcomponents/{p-72dda22b.entry.js → p-a90b8b93.entry.js} +1 -1
  551. package/dist/webcomponents/{p-70f51444.entry.js → p-a928c6fb.entry.js} +1 -1
  552. package/dist/webcomponents/p-b90999af.entry.js +1 -0
  553. package/dist/webcomponents/{p-4178bdbe.entry.js → p-bc3cdc7b.entry.js} +1 -1
  554. package/dist/webcomponents/p-c16c0cbc.entry.js +1 -0
  555. package/dist/webcomponents/p-c262d10f.entry.js +1 -0
  556. package/dist/webcomponents/p-c4Mh3ZZ_.js +1 -0
  557. package/dist/webcomponents/p-c70e1aac.entry.js +1 -0
  558. package/dist/webcomponents/{p-f680e617.entry.js → p-cecb65c4.entry.js} +1 -1
  559. package/dist/webcomponents/p-d7555ff1.entry.js +1 -0
  560. package/dist/webcomponents/{p-8ff839a4.entry.js → p-df329742.entry.js} +1 -1
  561. package/dist/webcomponents/{p-3e667b07.entry.js → p-e2a38ad0.entry.js} +1 -1
  562. package/dist/webcomponents/p-e6516014.entry.js +1 -0
  563. package/dist/webcomponents/{p-97c0dde4.entry.js → p-e6e96be2.entry.js} +1 -1
  564. package/dist/webcomponents/p-e79338f9.entry.js +1 -0
  565. package/dist/webcomponents/p-ea2a9a81.entry.js +1 -0
  566. package/dist/webcomponents/p-f5c3f489.entry.js +1 -0
  567. package/dist/webcomponents/p-f6fbd43d.entry.js +1 -0
  568. package/dist/webcomponents/{p-36a71a36.entry.js → p-f7690165.entry.js} +1 -1
  569. package/dist/webcomponents/{p-7cf87637.entry.js → p-f8cbcbe9.entry.js} +1 -1
  570. package/dist/webcomponents/p-f99e4566.entry.js +1 -0
  571. package/dist/webcomponents/{p-C5id7s_l.js → p-fUtq2xDs.js} +1 -1
  572. package/dist/webcomponents/{p-Dgflaz6J.js → p-oGKW57R8.js} +1 -1
  573. package/dist/webcomponents/p-qipqIMyC.js +2 -0
  574. package/dist/webcomponents/p-xY5RkFuA.js +1 -0
  575. package/dist/webcomponents/webcomponents.esm.js +1 -1
  576. package/package.json +2 -2
  577. package/dist/cjs/spinner-jmeA44Ee.js +0 -12
  578. package/dist/cjs/terminals-list-params-state-Cewmin_p.js +0 -22
  579. package/dist/cjs/utils-Bzyj4qWe.js +0 -29
  580. package/dist/esm/spinner-DUzyWLhj.js +0 -10
  581. package/dist/esm/terminals-list-params-state-D8tzsGR_.js +0 -16
  582. package/dist/esm/utils-Dg6gMUTv.js +0 -22
  583. package/dist/webcomponents/p-040e8524.entry.js +0 -1
  584. package/dist/webcomponents/p-0db9943e.entry.js +0 -1
  585. package/dist/webcomponents/p-1288fda5.entry.js +0 -1
  586. package/dist/webcomponents/p-14ff3155.entry.js +0 -1
  587. package/dist/webcomponents/p-2f01dfd2.entry.js +0 -1
  588. package/dist/webcomponents/p-3aecd2cd.entry.js +0 -1
  589. package/dist/webcomponents/p-3bf63d1e.entry.js +0 -1
  590. package/dist/webcomponents/p-41e17edd.entry.js +0 -1
  591. package/dist/webcomponents/p-48e87a26.entry.js +0 -1
  592. package/dist/webcomponents/p-5580e6ca.entry.js +0 -1
  593. package/dist/webcomponents/p-57dde36e.entry.js +0 -1
  594. package/dist/webcomponents/p-5bc6f5ca.entry.js +0 -1
  595. package/dist/webcomponents/p-5f87add5.entry.js +0 -1
  596. package/dist/webcomponents/p-60206d9c.entry.js +0 -1
  597. package/dist/webcomponents/p-6c9732b6.entry.js +0 -1
  598. package/dist/webcomponents/p-7089fb85.entry.js +0 -1
  599. package/dist/webcomponents/p-7500c5b7.entry.js +0 -1
  600. package/dist/webcomponents/p-79da5350.entry.js +0 -1
  601. package/dist/webcomponents/p-87884ca5.entry.js +0 -1
  602. package/dist/webcomponents/p-88905a54.entry.js +0 -1
  603. package/dist/webcomponents/p-8990707a.entry.js +0 -1
  604. package/dist/webcomponents/p-8b7cbdbf.entry.js +0 -1
  605. package/dist/webcomponents/p-8cca8903.entry.js +0 -1
  606. package/dist/webcomponents/p-8dc4eb6a.entry.js +0 -1
  607. package/dist/webcomponents/p-98cffba9.entry.js +0 -1
  608. package/dist/webcomponents/p-9df86b97.entry.js +0 -1
  609. package/dist/webcomponents/p-9edfd38c.entry.js +0 -1
  610. package/dist/webcomponents/p-9f5c9e41.entry.js +0 -1
  611. package/dist/webcomponents/p-B5Rc83j1.js +0 -1
  612. package/dist/webcomponents/p-BEPUC3Po.js +0 -1
  613. package/dist/webcomponents/p-BP7op0vq.js +0 -1
  614. package/dist/webcomponents/p-BQ2TIFoY.js +0 -1
  615. package/dist/webcomponents/p-BSt6p1oq.js +0 -1
  616. package/dist/webcomponents/p-BY1mRAvj.js +0 -1
  617. package/dist/webcomponents/p-BbZwa5UI.js +0 -1
  618. package/dist/webcomponents/p-BiWRKUx3.js +0 -1
  619. package/dist/webcomponents/p-Bn7inNWG.js +0 -2
  620. package/dist/webcomponents/p-C6c6Q0E7.js +0 -1
  621. package/dist/webcomponents/p-CaAVuW6B.js +0 -1
  622. package/dist/webcomponents/p-CpaS1Lex.js +0 -1
  623. package/dist/webcomponents/p-DD0Mvpeu.js +0 -1
  624. package/dist/webcomponents/p-DIDloHpm.js +0 -1
  625. package/dist/webcomponents/p-Dc1CS9Mi.js +0 -1
  626. package/dist/webcomponents/p-DsZZxRXY.js +0 -1
  627. package/dist/webcomponents/p-a1d3bb81.entry.js +0 -1
  628. package/dist/webcomponents/p-a9957ca5.entry.js +0 -1
  629. package/dist/webcomponents/p-abbf14b5.entry.js +0 -1
  630. package/dist/webcomponents/p-b2dcef65.entry.js +0 -1
  631. package/dist/webcomponents/p-c44325f8.entry.js +0 -1
  632. package/dist/webcomponents/p-c874ca2b.entry.js +0 -1
  633. package/dist/webcomponents/p-caac63bf.entry.js +0 -1
  634. package/dist/webcomponents/p-d72e8541.entry.js +0 -1
  635. package/dist/webcomponents/p-da44dc6e.entry.js +0 -1
  636. package/dist/webcomponents/p-e0cb5de5.entry.js +0 -1
  637. package/dist/webcomponents/p-eP3fmhta.js +0 -1
  638. package/dist/webcomponents/p-ecce97b3.entry.js +0 -1
  639. package/dist/webcomponents/p-fd4ffaa2.entry.js +0 -1
  640. 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-7FBAUhHw.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-BNN5fdIc.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,21 @@ 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;
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
+ const isNewCard = ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === index$1.PAYMENT_METHODS.NEW_CARD;
367
+ const isNewBankAccount = ((_b = checkout_store.checkoutStore.selectedPaymentMethod) === null || _b === void 0 ? void 0 : _b.type) === index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
368
+ const isPlaid = checkout_store.checkoutStore.selectedPaymentMethod.type === index$1.PAYMENT_METHODS.PLAID;
369
+ const shouldTokenize = isNewCard || isNewBankAccount;
335
370
  if (shouldTokenize) {
336
371
  const tokenizeResult = await this.tokenizePaymentMethod(submitCheckoutArgs);
337
- if (tokenizeResult.error) {
372
+ if (tokenizeResult === null || tokenizeResult === void 0 ? void 0 : tokenizeResult.error) {
338
373
  this.errorEvent.emit({
339
374
  message: tokenizeResult.error.message,
340
375
  errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
@@ -343,6 +378,41 @@ const ModularCheckout = class {
343
378
  return;
344
379
  }
345
380
  }
381
+ // For Plaid, perform exchange at submit time using stored public token and link token id
382
+ if (isPlaid && !checkout_store.checkoutStore.paymentToken) {
383
+ const publicToken = checkout_store.checkoutStore.plaidPublicToken;
384
+ const linkTokenId = checkout_store.checkoutStore.plaidLinkTokenId;
385
+ if (!publicToken) {
386
+ this.errorEvent.emit({
387
+ message: 'Missing Plaid public token. Please connect your bank.',
388
+ errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
389
+ severity: ComponentError.ComponentErrorSeverity.ERROR,
390
+ });
391
+ return;
392
+ }
393
+ try {
394
+ 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);
395
+ if (response === null || response === void 0 ? void 0 : response.error) {
396
+ this.errorEvent.emit({
397
+ message: typeof response.error === 'string' ? response.error : response.error.message || 'Failed to tokenize bank account',
398
+ errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
399
+ severity: ComponentError.ComponentErrorSeverity.ERROR,
400
+ });
401
+ return;
402
+ }
403
+ const paymentMethod = response === null || response === void 0 ? void 0 : response.data;
404
+ const token = ((_c = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.bank_account) === null || _c === void 0 ? void 0 : _c.token) || (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.token) || (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id);
405
+ checkout_store.checkoutStore.paymentToken = token;
406
+ }
407
+ catch (err) {
408
+ this.errorEvent.emit({
409
+ message: (err === null || err === void 0 ? void 0 : err.message) || 'Plaid exchange error',
410
+ errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
411
+ severity: ComponentError.ComponentErrorSeverity.ERROR,
412
+ });
413
+ return;
414
+ }
415
+ }
346
416
  if (!isValid) {
347
417
  this.errorEvent.emit({
348
418
  message: "Please fill in all required fields.",
@@ -357,19 +427,27 @@ const ModularCheckout = class {
357
427
  errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
358
428
  severity: ComponentError.ComponentErrorSeverity.ERROR,
359
429
  });
430
+ return;
360
431
  }
361
432
  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,
433
+ const mapTypeToPaymentMode = (type) => {
434
+ switch (type) {
435
+ case index$1.PAYMENT_METHODS.NEW_CARD:
436
+ case index$1.PAYMENT_METHODS.SAVED_CARD:
437
+ case index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT:
438
+ case index$1.PAYMENT_METHODS.SAVED_BANK_ACCOUNT:
439
+ case index$1.PAYMENT_METHODS.PLAID:
440
+ return index$1.PAYMENT_MODE.ECOM;
441
+ case index$1.PAYMENT_METHODS.SEZZLE:
442
+ return index$1.PAYMENT_MODE.BNPL;
443
+ case index$1.PAYMENT_METHODS.APPLE_PAY:
444
+ return index$1.PAYMENT_MODE.APPLE_PAY;
445
+ default:
446
+ return undefined;
447
+ }
370
448
  };
371
449
  payment = {
372
- payment_mode: MAP_PAYMENT_METHOD_TO_PAYMENT_MODE[checkout_store.checkoutStore.selectedPaymentMethod],
450
+ payment_mode: mapTypeToPaymentMode((_d = checkout_store.checkoutStore.selectedPaymentMethod) === null || _d === void 0 ? void 0 : _d.type),
373
451
  payment_token: checkout_store.checkoutStore.paymentToken,
374
452
  };
375
453
  this.completeCheckout({
@@ -390,36 +468,13 @@ const ModularCheckout = class {
390
468
  });
391
469
  }
392
470
  render() {
393
- return index.h(index.Host, { key: 'fcff4ca415a65b77b730328379dc8df9aacba648' });
471
+ return index.h(index.Host, { key: 'f13bda646a7cfcbe339baad474554b38fb0ebae5' });
394
472
  }
395
473
  get hostEl() { return index.getElement(this); }
396
- static get watchers() { return {
397
- "savePaymentMethod": ["savePaymentMethodChanged"]
398
- }; }
399
474
  };
400
475
 
401
476
  const plaidIconSvg = 'data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjggMjkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImNzcy0xcmRhajhtIj48ZyBmaWxsPSIjMTExIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yNS43NjI5IDI2LjI2MjhMMjggMTcuNTMwOUwyNC45NjkxIDE0LjUwMDFMMjcuOTk5OSAxMS40NjkxTDI1Ljc2MjggMi43MzcwNkwxNy4wMzA5IDAuNUwxNC4wMDAxIDMuNTMxTDEwLjk2OSAwLjUwMDE0TDIuMjM3MDYgMi43MzczNEwwIDExLjQ2OTFMMy4wMzEyOCAxNC40OTk5TDAuMDAwMTQgMTcuNTMxTDIuMjM3MiAyNi4yNjI5TDEwLjk2OTEgMjguNUwxNC4wMDAxIDI1LjQ2OUwxNy4wMzEgMjguNDk5OUwyNS43NjI5IDI2LjI2MjhaTTE1LjczMjEgMjMuNzM3MUwxOC42MTg2IDIwLjg1MDVMMjIuMjkxMiAyNC41MjMzTDE3LjY5NTYgMjUuNzAwN0wxNS43MzIxIDIzLjczNzFaTTExLjExMzYgOS44ODE1NEwxNC4wMDAzIDYuOTk1MDJMMTYuODg2OCA5Ljg4MTRMMTQuMDAwMSAxMi43Njc5TDExLjExMzYgOS44ODE1NFpNMTIuMjY4MiAxNC41TDkuMzgxNTQgMTcuMzg2NUw2LjQ5NTAyIDE0LjVMOS4zODE1NCAxMS42MTM1TDEyLjI2ODIgMTQuNVpNMTguNjE4NyAxMS42MTMzTDIxLjUwNTMgMTQuNUwxOC42MTg2IDE3LjM4NjVMMTUuNzMyMSAxNC41TDE4LjYxODcgMTEuNjEzM1pNMTYuODg2NyAxOS4xMTg2TDE0LjAwMDEgMjIuMDA1MUwxMS4xMTM1IDE5LjExODVMMTQuMDAwMSAxNi4yMzE5TDE2Ljg4NjcgMTkuMTE4NlpNMTAuMzA0NCAyNS43MDA3TDUuNzA4NjQgMjQuNTIzM0w5LjM4MTU0IDIwLjg1MDRMMTIuMjY4MiAyMy43MzcxTDEwLjMwNDQgMjUuNzAwN1pNNC43NjMwOCAxNi4yMzE5TDcuNjQ5NiAxOS4xMTg1TDMuOTc2NyAyMi43OTE0TDIuNzk5MyAxOC4xOTU3TDQuNzYzMDggMTYuMjMxOVpNMy45NzY3IDYuMjA4MzZMNy42NDk3NCA5Ljg4MTRMNC43NjMwOCAxMi43NjgxTDIuNzk5MyAxMC44MDQxTDMuOTc2NyA2LjIwODM2Wk0xMi4yNjgzIDUuMjYyOTRMOS4zODE2OCA4LjE0OTZMNS43MDg5MiA0LjQ3NjdMMTAuMzA0NyAzLjI5OTNMMTIuMjY4MyA1LjI2Mjk0Wk0xNy42OTU5IDMuMjk5M0wyMi4yOTE1IDQuNDc2N0wxOC42MTg2IDguMTQ5NDZMMTUuNzMyMSA1LjI2Mjk0TDE3LjY5NTkgMy4yOTkzWk0yMy4yMzcyIDEyLjc2ODFMMjAuMzUwNSA5Ljg4MTRMMjQuMDIzMyA2LjIwODc4TDI1LjIwMDcgMTAuODA0NkwyMy4yMzcyIDEyLjc2ODFaTTI0LjAyMzMgMjIuNzkxNEwyMC4zNTA1IDE5LjExODZMMjMuMjM3MiAxNi4yMzIxTDI1LjIwMDcgMTguMTk1N0wyNC4wMjMzIDIyLjc5MTRaIj48L3BhdGg+PC9nPjwvc3ZnPgo=';
402
477
 
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
478
  // Plaid-specific error codes
424
479
  var PlaidErrorCodes;
425
480
  (function (PlaidErrorCodes) {
@@ -502,25 +557,6 @@ const PlaidPaymentMethod = class {
502
557
  }, 100);
503
558
  }
504
559
  };
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
560
  this.initializePlaidLink = async () => {
525
561
  try {
526
562
  // Check if Plaid is available globally
@@ -603,6 +639,9 @@ const PlaidPaymentMethod = class {
603
639
  this.linkToken = response.data.link_token;
604
640
  // Try to capture link token id if present in envelope
605
641
  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;
642
+ if (this.linkTokenId) {
643
+ checkout_store.checkoutStore.plaidLinkTokenId = this.linkTokenId;
644
+ }
606
645
  }
607
646
  catch (error) {
608
647
  // Clear timeout
@@ -674,7 +713,7 @@ const PlaidPaymentMethod = class {
674
713
  // Ensure the component remains selected after successful authentication
675
714
  if (!this.isSelected) {
676
715
  this.isSelected = true;
677
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
716
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
678
717
  }
679
718
  // Emit success event for parent components
680
719
  this.plaidErrorRecovered.emit({
@@ -682,41 +721,10 @@ const PlaidPaymentMethod = class {
682
721
  message: 'Bank account connected successfully',
683
722
  severity: ComponentError.ComponentErrorSeverity.INFO
684
723
  });
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
- }
724
+ // Store public token in checkout store; exchange will be handled on submit
725
+ checkout_store.checkoutStore.plaidPublicToken = publicToken;
719
726
  };
727
+ // Exchange logic moved to Modular Checkout submit flow.
720
728
  this.handlePlaidExit = (err, _metadata) => {
721
729
  this.isAuthenticating = false;
722
730
  if (err) {
@@ -855,16 +863,26 @@ const PlaidPaymentMethod = class {
855
863
  };
856
864
  // Watch for store changes to sync component state
857
865
  this.syncWithStore = () => {
858
- const shouldBeSelected = checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.PLAID;
866
+ var _a;
867
+ const shouldBeSelected = ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === index$1.PAYMENT_METHODS.PLAID;
859
868
  if (this.isSelected !== shouldBeSelected) {
860
869
  this.isSelected = shouldBeSelected;
861
870
  }
862
871
  };
863
872
  }
864
873
  onSelectionChange(newValue) {
874
+ var _a;
865
875
  // 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;
876
+ if (newValue && ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) !== index$1.PAYMENT_METHODS.PLAID) {
877
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
878
+ }
879
+ // Auto-start Plaid flow when selected and ready
880
+ if (newValue &&
881
+ this.plaidLink &&
882
+ !this.publicToken &&
883
+ !this.isAuthenticating &&
884
+ !this.error) {
885
+ this.openPlaidLink();
868
886
  }
869
887
  }
870
888
  componentDidRender() {
@@ -886,8 +904,9 @@ const PlaidPaymentMethod = class {
886
904
  };
887
905
  }
888
906
  componentWillLoad() {
907
+ var _a;
889
908
  // Initialize selection state based on store
890
- this.isSelected = checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.PLAID;
909
+ this.isSelected = ((_a = checkout_store.checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === index$1.PAYMENT_METHODS.PLAID;
891
910
  }
892
911
  async resolvePaymentMethod() {
893
912
  if (!this.publicToken) {
@@ -904,17 +923,29 @@ const PlaidPaymentMethod = class {
904
923
  // Returns a usable payment method token for checkout completion.
905
924
  // Will perform the backend exchange if the token is not yet present in the store.
906
925
  async getPaymentToken() {
907
- if (checkout_store.checkoutStore.paymentToken) {
908
- return checkout_store.checkoutStore.paymentToken;
909
- }
910
- await this.exchangePublicTokenForPaymentMethod();
911
926
  return checkout_store.checkoutStore.paymentToken;
912
927
  }
928
+ async handleSelectionClick() {
929
+ // Update local selection state
930
+ this.isSelected = true;
931
+ // Update store selection
932
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
933
+ // If there's an error, clear it and try to initialize again
934
+ if (this.error) {
935
+ this.clearError();
936
+ this.waitForStoreAndInitialize();
937
+ return;
938
+ }
939
+ // If Plaid Link is ready and no public token exists, open Plaid Link
940
+ if (this.plaidLink && !this.publicToken && !this.isAuthenticating) {
941
+ this.openPlaidLink();
942
+ }
943
+ }
913
944
  // Method to handle external selection changes (e.g., from other payment methods)
914
945
  async setSelected(selected) {
915
946
  this.isSelected = selected;
916
947
  if (selected) {
917
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
948
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
918
949
  }
919
950
  }
920
951
  // Method to check if component is currently selected
@@ -1021,7 +1052,7 @@ const PlaidPaymentMethod = class {
1021
1052
  }
1022
1053
  return null;
1023
1054
  };
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()) }))));
1055
+ 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
1056
  }
1026
1057
  static get watchers() { return {
1027
1058
  "isSelected": ["onSelectionChange"]
@@ -1033,18 +1064,16 @@ const SavedPaymentMethods = class {
1033
1064
  index.registerInstance(this, hostRef);
1034
1065
  this.onPaymentMethodOptionClick = (paymentMethod) => (e) => {
1035
1066
  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];
1067
+ checkout_store.checkoutStore.selectedPaymentMethod = { id: paymentMethod.id, type: paymentMethod.type };
1041
1068
  checkout_store.checkoutStore.paymentToken = paymentMethod.id;
1042
1069
  };
1043
- this.isAllowedPaymentMethod = (paymentMethod) => {
1044
- if (paymentMethod.type === checkout_store.PAYMENT_METHOD_TYPES.CARD && checkout_store.checkoutStore.disableCreditCard) {
1070
+ this.isAllowedPaymentMethod = (paymentMethodType) => {
1071
+ const isCard = paymentMethodType === index$1.PAYMENT_METHODS.SAVED_CARD;
1072
+ const isBankAccount = paymentMethodType === index$1.PAYMENT_METHODS.SAVED_BANK_ACCOUNT;
1073
+ if (isCard && checkout_store.checkoutStore.disableCreditCard) {
1045
1074
  return false;
1046
1075
  }
1047
- if (paymentMethod.type === checkout_store.PAYMENT_METHOD_TYPES.BANK_ACCOUNT && checkout_store.checkoutStore.disableBankAccount) {
1076
+ if (isBankAccount && checkout_store.checkoutStore.disableBankAccount) {
1048
1077
  return false;
1049
1078
  }
1050
1079
  return true;
@@ -1063,7 +1092,7 @@ const SavedPaymentMethods = class {
1063
1092
  return null;
1064
1093
  }
1065
1094
  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)
1095
+ .filter((paymentMethod) => this.isAllowedPaymentMethod(paymentMethod.type))
1067
1096
  .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
1097
  }
1069
1098
  };
@@ -1078,12 +1107,7 @@ const SezzlePaymentMethod = class {
1078
1107
  constructor(hostRef) {
1079
1108
  index.registerInstance(this, hostRef);
1080
1109
  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
- };
1110
+ this.paymentMethodOptionId = index$1.PAYMENT_METHODS.SEZZLE;
1087
1111
  this.initializeSezzleCheckout = () => {
1088
1112
  let resolveSezzlePromise;
1089
1113
  this.sezzlePromise = new Promise((resolve) => { resolveSezzlePromise = resolve; });
@@ -1126,20 +1150,24 @@ const SezzlePaymentMethod = class {
1126
1150
  this.sezzleButtonRef.click();
1127
1151
  return this.sezzlePromise;
1128
1152
  }
1153
+ async handleSelectionClick() {
1154
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.SEZZLE };
1155
+ this.paymentMethodOptionSelected.emit(this.paymentMethodOptionId);
1156
+ }
1129
1157
  render() {
1130
1158
  var _a, _b;
1131
1159
  if (!checkout_store.checkoutStore.bnplEnabled || checkout_store.checkoutStore.disableBnpl) {
1132
1160
  console.warn('justifi-sezzle-payment-method: BNPL is not enabled for this account.');
1133
1161
  return null;
1134
1162
  }
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))))) }))));
1163
+ 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
1164
  }
1137
1165
  };
1138
1166
 
1139
1167
  // Constants
1140
1168
  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',
1169
+ [index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT]: 'New bank account',
1170
+ [index$1.PAYMENT_METHODS.NEW_CARD]: 'New credit or debit card',
1143
1171
  };
1144
1172
  const ERROR_MESSAGES = {
1145
1173
  AUTH_TOKEN_REQUIRED: 'Auth token is required when using the tokenize-payment-method component not slotted in justifi-modular-checkout',
@@ -1176,7 +1204,7 @@ const TokenizePaymentMethod = class {
1176
1204
  }
1177
1205
  handleRadioClick(event) {
1178
1206
  this.selectedPaymentMethod = event.detail;
1179
- checkout_store.checkoutStore.selectedPaymentMethod = event.detail;
1207
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: event.detail };
1180
1208
  }
1181
1209
  async fillBillingForm(fields) {
1182
1210
  var _a;
@@ -1267,12 +1295,12 @@ const TokenizePaymentMethod = class {
1267
1295
  return;
1268
1296
  }
1269
1297
  if (!this.disableCreditCard) {
1270
- this.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.NEW_CARD;
1271
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.NEW_CARD;
1298
+ this.selectedPaymentMethod = index$1.PAYMENT_METHODS.NEW_CARD;
1299
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.NEW_CARD };
1272
1300
  }
1273
1301
  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;
1302
+ this.selectedPaymentMethod = index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
1303
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT };
1276
1304
  }
1277
1305
  }
1278
1306
  setComputedHideSubmitButton() {
@@ -1299,10 +1327,10 @@ const TokenizePaymentMethod = class {
1299
1327
  get availablePaymentMethods() {
1300
1328
  const methods = [];
1301
1329
  if (!this.disableCreditCard) {
1302
- methods.push(checkout_store.PAYMENT_METHODS.NEW_CARD);
1330
+ methods.push(index$1.PAYMENT_METHODS.NEW_CARD);
1303
1331
  }
1304
1332
  if (!this.disableBankAccount) {
1305
- methods.push(checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT);
1333
+ methods.push(index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT);
1306
1334
  }
1307
1335
  return methods;
1308
1336
  }
@@ -1371,17 +1399,17 @@ const TokenizePaymentMethod = class {
1371
1399
  return this.disableCreditCard || this.disableBankAccount;
1372
1400
  }
1373
1401
  renderPaymentMethodOption(paymentMethodType) {
1374
- const isSelected = this.selectedPaymentMethod === paymentMethodType;
1402
+ const isSelected = this.selectedPaymentMethod === paymentMethodType && checkout_store.checkoutStore.selectedPaymentMethod.id === undefined;
1375
1403
  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
1404
  }
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 }))));
1405
+ renderSelectedPaymentMethodForm(paymentMethodType) {
1406
+ 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
1407
  }
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) }));
1408
+ renderPaymentMethodForm(paymentMethodType) {
1409
+ 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
1410
  }
1383
1411
  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 })))))));
1412
+ 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
1413
  }
1386
1414
  get host() { return index.getElement(this); }
1387
1415
  static get watchers() { return {