@justifi/webcomponents 6.0.0-rc.8 → 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 (637) 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-BJaFyEGj.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 +196 -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-DqvfEWsE.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 +130 -66
  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 +186 -86
  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-ucd96eu6.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 +189 -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-D51QuD44.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 +99 -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 -3
  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 -16
  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-ed7dfcf3.entry.js → p-0d8fe5f2.entry.js} +1 -1
  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-bcb1d661.entry.js → p-25484e99.entry.js} +1 -1
  476. package/dist/webcomponents/{p-053c183b.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-9b0f0f53.entry.js → p-2a43e77f.entry.js} +1 -1
  479. package/dist/webcomponents/p-30c414b5.entry.js +1 -0
  480. package/dist/webcomponents/{p-8d891445.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-17896a6d.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-f04c79f2.entry.js → p-9d7b5d07.entry.js} +1 -1
  510. package/dist/webcomponents/p-9fc464eb.entry.js +1 -0
  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-tkZEz3MG.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-a0cc3d92.entry.js → p-a7e40e91.entry.js} +1 -1
  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-d277cc68.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-2a3c59d4.entry.js → p-c70e1aac.entry.js} +1 -1
  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-00a845e5.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-0f42c89d.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-2b5da0dc.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-5580e6ca.entry.js +0 -1
  591. package/dist/webcomponents/p-57dde36e.entry.js +0 -1
  592. package/dist/webcomponents/p-5bc6f5ca.entry.js +0 -1
  593. package/dist/webcomponents/p-5f87add5.entry.js +0 -1
  594. package/dist/webcomponents/p-60206d9c.entry.js +0 -1
  595. package/dist/webcomponents/p-7089fb85.entry.js +0 -1
  596. package/dist/webcomponents/p-724e57e1.entry.js +0 -1
  597. package/dist/webcomponents/p-72f3bbfc.entry.js +0 -1
  598. package/dist/webcomponents/p-84d2025d.entry.js +0 -1
  599. package/dist/webcomponents/p-851a418e.entry.js +0 -1
  600. package/dist/webcomponents/p-87884ca5.entry.js +0 -1
  601. package/dist/webcomponents/p-88905a54.entry.js +0 -1
  602. package/dist/webcomponents/p-8990707a.entry.js +0 -1
  603. package/dist/webcomponents/p-8b7cbdbf.entry.js +0 -1
  604. package/dist/webcomponents/p-8cca8903.entry.js +0 -1
  605. package/dist/webcomponents/p-98cffba9.entry.js +0 -1
  606. package/dist/webcomponents/p-9f5c9e41.entry.js +0 -1
  607. package/dist/webcomponents/p-B5Rc83j1.js +0 -1
  608. package/dist/webcomponents/p-BEPUC3Po.js +0 -1
  609. package/dist/webcomponents/p-BP7op0vq.js +0 -1
  610. package/dist/webcomponents/p-BQ2TIFoY.js +0 -1
  611. package/dist/webcomponents/p-BSt6p1oq.js +0 -1
  612. package/dist/webcomponents/p-BY1mRAvj.js +0 -1
  613. package/dist/webcomponents/p-BbZwa5UI.js +0 -1
  614. package/dist/webcomponents/p-Bn7inNWG.js +0 -2
  615. package/dist/webcomponents/p-C6c6Q0E7.js +0 -1
  616. package/dist/webcomponents/p-CaAVuW6B.js +0 -1
  617. package/dist/webcomponents/p-CpaS1Lex.js +0 -1
  618. package/dist/webcomponents/p-D51QuD44.js +0 -1
  619. package/dist/webcomponents/p-DD0Mvpeu.js +0 -1
  620. package/dist/webcomponents/p-DIDloHpm.js +0 -1
  621. package/dist/webcomponents/p-Dc1CS9Mi.js +0 -1
  622. package/dist/webcomponents/p-DsZZxRXY.js +0 -1
  623. package/dist/webcomponents/p-a1d3bb81.entry.js +0 -1
  624. package/dist/webcomponents/p-a9957ca5.entry.js +0 -1
  625. package/dist/webcomponents/p-abbf14b5.entry.js +0 -1
  626. package/dist/webcomponents/p-c44325f8.entry.js +0 -1
  627. package/dist/webcomponents/p-c65bcc0c.entry.js +0 -1
  628. package/dist/webcomponents/p-c874ca2b.entry.js +0 -1
  629. package/dist/webcomponents/p-caac63bf.entry.js +0 -1
  630. package/dist/webcomponents/p-d17e2531.entry.js +0 -1
  631. package/dist/webcomponents/p-d72e8541.entry.js +0 -1
  632. package/dist/webcomponents/p-eP3fmhta.js +0 -1
  633. package/dist/webcomponents/p-ef353e3d.entry.js +0 -1
  634. package/dist/webcomponents/p-fa1aba4e.entry.js +0 -1
  635. package/dist/webcomponents/p-fb16d889.entry.js +0 -1
  636. package/dist/webcomponents/p-fd4ffaa2.entry.js +0 -1
  637. 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-BJaFyEGj.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-DqvfEWsE.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");
@@ -288,15 +316,22 @@ const ModularCheckout = class {
288
316
  checkout_store.checkoutStore.paymentToken = tokenizeResult.id;
289
317
  return tokenizeResult.id;
290
318
  }
319
+ // set the selected payment method to the checkout store from outside the component
320
+ async setSelectedPaymentMethod(paymentMethod) {
321
+ checkout_store.checkoutStore.selectedPaymentMethod = paymentMethod;
322
+ checkout_store.checkoutStore.paymentToken = paymentMethod.id || undefined;
323
+ }
291
324
  // if validation fails, the error will be emitted by the component
292
325
  async validate() {
326
+ var _a, _b;
293
327
  const promises = [];
294
328
  if (checkout_store.checkoutStore.insuranceEnabled && this.insuranceFormRef) {
295
329
  promises.push(this.insuranceFormRef.validate());
296
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;
297
333
  // For new card/bank account, validate payment method + billing.
298
- if (checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.NEW_CARD ||
299
- checkout_store.checkoutStore.selectedPaymentMethod === checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT) {
334
+ if (isNewCard || isNewBankAccount) {
300
335
  if (this.paymentMethodFormRef)
301
336
  promises.push(this.paymentMethodFormRef.validate());
302
337
  if (this.billingFormRef)
@@ -320,17 +355,21 @@ const ModularCheckout = class {
320
355
  }
321
356
  return true;
322
357
  }
323
- catch (_a) {
358
+ catch (_c) {
324
359
  // If any validator throws/rejects, consider the whole validation failed.
325
360
  return false;
326
361
  }
327
362
  }
328
363
  async submitCheckout(submitCheckoutArgs) {
364
+ var _a, _b, _c, _d;
329
365
  const isValid = await this.validate();
330
- 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;
331
370
  if (shouldTokenize) {
332
371
  const tokenizeResult = await this.tokenizePaymentMethod(submitCheckoutArgs);
333
- if (tokenizeResult.error) {
372
+ if (tokenizeResult === null || tokenizeResult === void 0 ? void 0 : tokenizeResult.error) {
334
373
  this.errorEvent.emit({
335
374
  message: tokenizeResult.error.message,
336
375
  errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
@@ -339,6 +378,41 @@ const ModularCheckout = class {
339
378
  return;
340
379
  }
341
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
+ }
342
416
  if (!isValid) {
343
417
  this.errorEvent.emit({
344
418
  message: "Please fill in all required fields.",
@@ -353,19 +427,27 @@ const ModularCheckout = class {
353
427
  errorCode: ComponentError.ComponentErrorCodes.TOKENIZE_ERROR,
354
428
  severity: ComponentError.ComponentErrorSeverity.ERROR,
355
429
  });
430
+ return;
356
431
  }
357
432
  let payment;
358
- const MAP_PAYMENT_METHOD_TO_PAYMENT_MODE = {
359
- [checkout_store.PAYMENT_METHODS.NEW_CARD]: checkout_store.PAYMENT_MODE.ECOM,
360
- [checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT]: checkout_store.PAYMENT_MODE.ECOM,
361
- [checkout_store.PAYMENT_METHODS.SAVED_BANK_ACCOUNT]: checkout_store.PAYMENT_MODE.ECOM,
362
- [checkout_store.PAYMENT_METHODS.SAVED_CARD]: checkout_store.PAYMENT_MODE.ECOM,
363
- [checkout_store.PAYMENT_METHODS.SEZZLE]: checkout_store.PAYMENT_MODE.BNPL,
364
- [checkout_store.PAYMENT_METHODS.PLAID]: checkout_store.PAYMENT_MODE.ECOM,
365
- [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
+ }
366
448
  };
367
449
  payment = {
368
- 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),
369
451
  payment_token: checkout_store.checkoutStore.paymentToken,
370
452
  };
371
453
  this.completeCheckout({
@@ -386,36 +468,13 @@ const ModularCheckout = class {
386
468
  });
387
469
  }
388
470
  render() {
389
- return index.h(index.Host, { key: '7c698fd98c705a66564b649d3488239ca51c6165' });
471
+ return index.h(index.Host, { key: 'f13bda646a7cfcbe339baad474554b38fb0ebae5' });
390
472
  }
391
473
  get hostEl() { return index.getElement(this); }
392
- static get watchers() { return {
393
- "savePaymentMethod": ["savePaymentMethodChanged"]
394
- }; }
395
474
  };
396
475
 
397
476
  const plaidIconSvg = 'data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjggMjkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImNzcy0xcmRhajhtIj48ZyBmaWxsPSIjMTExIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yNS43NjI5IDI2LjI2MjhMMjggMTcuNTMwOUwyNC45NjkxIDE0LjUwMDFMMjcuOTk5OSAxMS40NjkxTDI1Ljc2MjggMi43MzcwNkwxNy4wMzA5IDAuNUwxNC4wMDAxIDMuNTMxTDEwLjk2OSAwLjUwMDE0TDIuMjM3MDYgMi43MzczNEwwIDExLjQ2OTFMMy4wMzEyOCAxNC40OTk5TDAuMDAwMTQgMTcuNTMxTDIuMjM3MiAyNi4yNjI5TDEwLjk2OTEgMjguNUwxNC4wMDAxIDI1LjQ2OUwxNy4wMzEgMjguNDk5OUwyNS43NjI5IDI2LjI2MjhaTTE1LjczMjEgMjMuNzM3MUwxOC42MTg2IDIwLjg1MDVMMjIuMjkxMiAyNC41MjMzTDE3LjY5NTYgMjUuNzAwN0wxNS43MzIxIDIzLjczNzFaTTExLjExMzYgOS44ODE1NEwxNC4wMDAzIDYuOTk1MDJMMTYuODg2OCA5Ljg4MTRMMTQuMDAwMSAxMi43Njc5TDExLjExMzYgOS44ODE1NFpNMTIuMjY4MiAxNC41TDkuMzgxNTQgMTcuMzg2NUw2LjQ5NTAyIDE0LjVMOS4zODE1NCAxMS42MTM1TDEyLjI2ODIgMTQuNVpNMTguNjE4NyAxMS42MTMzTDIxLjUwNTMgMTQuNUwxOC42MTg2IDE3LjM4NjVMMTUuNzMyMSAxNC41TDE4LjYxODcgMTEuNjEzM1pNMTYuODg2NyAxOS4xMTg2TDE0LjAwMDEgMjIuMDA1MUwxMS4xMTM1IDE5LjExODVMMTQuMDAwMSAxNi4yMzE5TDE2Ljg4NjcgMTkuMTE4NlpNMTAuMzA0NCAyNS43MDA3TDUuNzA4NjQgMjQuNTIzM0w5LjM4MTU0IDIwLjg1MDRMMTIuMjY4MiAyMy43MzcxTDEwLjMwNDQgMjUuNzAwN1pNNC43NjMwOCAxNi4yMzE5TDcuNjQ5NiAxOS4xMTg1TDMuOTc2NyAyMi43OTE0TDIuNzk5MyAxOC4xOTU3TDQuNzYzMDggMTYuMjMxOVpNMy45NzY3IDYuMjA4MzZMNy42NDk3NCA5Ljg4MTRMNC43NjMwOCAxMi43NjgxTDIuNzk5MyAxMC44MDQxTDMuOTc2NyA2LjIwODM2Wk0xMi4yNjgzIDUuMjYyOTRMOS4zODE2OCA4LjE0OTZMNS43MDg5MiA0LjQ3NjdMMTAuMzA0NyAzLjI5OTNMMTIuMjY4MyA1LjI2Mjk0Wk0xNy42OTU5IDMuMjk5M0wyMi4yOTE1IDQuNDc2N0wxOC42MTg2IDguMTQ5NDZMMTUuNzMyMSA1LjI2Mjk0TDE3LjY5NTkgMy4yOTkzWk0yMy4yMzcyIDEyLjc2ODFMMjAuMzUwNSA5Ljg4MTRMMjQuMDIzMyA2LjIwODc4TDI1LjIwMDcgMTAuODA0NkwyMy4yMzcyIDEyLjc2ODFaTTI0LjAyMzMgMjIuNzkxNEwyMC4zNTA1IDE5LjExODZMMjMuMjM3MiAxNi4yMzIxTDI1LjIwMDcgMTguMTk1N0wyNC4wMjMzIDIyLjc5MTRaIj48L3BhdGg+PC9nPjwvc3ZnPgo=';
398
477
 
399
- const api = Api.Api();
400
- class PlaidService {
401
- async getLinkToken(authToken, accountId, checkoutId, signal) {
402
- const endpoint = `plaid/${accountId}/link`;
403
- const body = { checkout_id: checkoutId };
404
- return api.post({ endpoint, body, authToken, signal });
405
- }
406
- async tokenizeBankAccount(authToken, accountId, publicToken, linkTokenId, paymentMethodGroupId, signal) {
407
- const endpoint = `plaid/${accountId}/tokenize`;
408
- const body = { public_token: publicToken };
409
- if (linkTokenId) {
410
- body.link_token_id = linkTokenId;
411
- }
412
- if (paymentMethodGroupId) {
413
- body.payment_method_group_id = paymentMethodGroupId;
414
- }
415
- return api.post({ endpoint, body, authToken, signal });
416
- }
417
- }
418
-
419
478
  // Plaid-specific error codes
420
479
  var PlaidErrorCodes;
421
480
  (function (PlaidErrorCodes) {
@@ -498,25 +557,6 @@ const PlaidPaymentMethod = class {
498
557
  }, 100);
499
558
  }
500
559
  };
501
- this.onPaymentMethodOptionClick = (e) => {
502
- e.preventDefault();
503
- // Update local selection state
504
- this.isSelected = true;
505
- // Update store selection
506
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
507
- // Emit selection event
508
- this.paymentMethodOptionSelected.emit(checkout_store.PAYMENT_METHODS.PLAID);
509
- // If there's an error, clear it and try to initialize again
510
- if (this.error) {
511
- this.clearError();
512
- this.waitForStoreAndInitialize();
513
- return;
514
- }
515
- // If Plaid Link is ready and no public token exists, open Plaid Link
516
- if (this.plaidLink && !this.publicToken && !this.isAuthenticating) {
517
- this.openPlaidLink();
518
- }
519
- };
520
560
  this.initializePlaidLink = async () => {
521
561
  try {
522
562
  // Check if Plaid is available globally
@@ -599,6 +639,9 @@ const PlaidPaymentMethod = class {
599
639
  this.linkToken = response.data.link_token;
600
640
  // Try to capture link token id if present in envelope
601
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
+ }
602
645
  }
603
646
  catch (error) {
604
647
  // Clear timeout
@@ -670,7 +713,7 @@ const PlaidPaymentMethod = class {
670
713
  // Ensure the component remains selected after successful authentication
671
714
  if (!this.isSelected) {
672
715
  this.isSelected = true;
673
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
716
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
674
717
  }
675
718
  // Emit success event for parent components
676
719
  this.plaidErrorRecovered.emit({
@@ -678,41 +721,10 @@ const PlaidPaymentMethod = class {
678
721
  message: 'Bank account connected successfully',
679
722
  severity: ComponentError.ComponentErrorSeverity.INFO
680
723
  });
681
- // Immediately exchange the public token for a payment method token via backend
682
- this.exchangePublicTokenForPaymentMethod();
683
- };
684
- this.exchangePublicTokenForPaymentMethod = async () => {
685
- var _a;
686
- if (!this.publicToken) {
687
- console.error('[PlaidPaymentMethod] exchange: missing publicToken');
688
- return;
689
- }
690
- if (!checkout_store.checkoutStore.authToken || !checkout_store.checkoutStore.accountId) {
691
- console.error('[PlaidPaymentMethod] exchange: missing auth/account context');
692
- return;
693
- }
694
- try {
695
- 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);
696
- if (response === null || response === void 0 ? void 0 : response.error) {
697
- console.error('[PlaidPaymentMethod] exchange: backend error', response.error);
698
- return;
699
- }
700
- // Extract token from payment method response
701
- const paymentMethod = response === null || response === void 0 ? void 0 : response.data;
702
- 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);
703
- if (!token) {
704
- console.error('[PlaidPaymentMethod] exchange: no token in response');
705
- return;
706
- }
707
- // Save for downstream submit flows
708
- checkout_store.checkoutStore.paymentToken = token;
709
- }
710
- catch (err) {
711
- console.error('[PlaidPaymentMethod] exchange: exception', {
712
- message: (err === null || err === void 0 ? void 0 : err.message) || String(err),
713
- });
714
- }
724
+ // Store public token in checkout store; exchange will be handled on submit
725
+ checkout_store.checkoutStore.plaidPublicToken = publicToken;
715
726
  };
727
+ // Exchange logic moved to Modular Checkout submit flow.
716
728
  this.handlePlaidExit = (err, _metadata) => {
717
729
  this.isAuthenticating = false;
718
730
  if (err) {
@@ -851,16 +863,26 @@ const PlaidPaymentMethod = class {
851
863
  };
852
864
  // Watch for store changes to sync component state
853
865
  this.syncWithStore = () => {
854
- 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;
855
868
  if (this.isSelected !== shouldBeSelected) {
856
869
  this.isSelected = shouldBeSelected;
857
870
  }
858
871
  };
859
872
  }
860
873
  onSelectionChange(newValue) {
874
+ var _a;
861
875
  // Ensure store is updated when component selection changes
862
- if (newValue && checkout_store.checkoutStore.selectedPaymentMethod !== checkout_store.PAYMENT_METHODS.PLAID) {
863
- 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();
864
886
  }
865
887
  }
866
888
  componentDidRender() {
@@ -882,8 +904,9 @@ const PlaidPaymentMethod = class {
882
904
  };
883
905
  }
884
906
  componentWillLoad() {
907
+ var _a;
885
908
  // Initialize selection state based on store
886
- 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;
887
910
  }
888
911
  async resolvePaymentMethod() {
889
912
  if (!this.publicToken) {
@@ -900,17 +923,29 @@ const PlaidPaymentMethod = class {
900
923
  // Returns a usable payment method token for checkout completion.
901
924
  // Will perform the backend exchange if the token is not yet present in the store.
902
925
  async getPaymentToken() {
903
- if (checkout_store.checkoutStore.paymentToken) {
904
- return checkout_store.checkoutStore.paymentToken;
905
- }
906
- await this.exchangePublicTokenForPaymentMethod();
907
926
  return checkout_store.checkoutStore.paymentToken;
908
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
+ }
909
944
  // Method to handle external selection changes (e.g., from other payment methods)
910
945
  async setSelected(selected) {
911
946
  this.isSelected = selected;
912
947
  if (selected) {
913
- checkout_store.checkoutStore.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.PLAID;
948
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.PLAID };
914
949
  }
915
950
  }
916
951
  // Method to check if component is currently selected
@@ -1017,7 +1052,7 @@ const PlaidPaymentMethod = class {
1017
1052
  }
1018
1053
  return null;
1019
1054
  };
1020
- 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())));
1021
1056
  }
1022
1057
  static get watchers() { return {
1023
1058
  "isSelected": ["onSelectionChange"]
@@ -1029,18 +1064,16 @@ const SavedPaymentMethods = class {
1029
1064
  index.registerInstance(this, hostRef);
1030
1065
  this.onPaymentMethodOptionClick = (paymentMethod) => (e) => {
1031
1066
  e.preventDefault();
1032
- const SELECTED_PAYMENT_METHODS = {
1033
- [checkout_store.PAYMENT_METHOD_TYPES.CARD]: checkout_store.PAYMENT_METHODS.SAVED_CARD,
1034
- [checkout_store.PAYMENT_METHOD_TYPES.BANK_ACCOUNT]: checkout_store.PAYMENT_METHODS.SAVED_BANK_ACCOUNT,
1035
- };
1036
- checkout_store.checkoutStore.selectedPaymentMethod = SELECTED_PAYMENT_METHODS[paymentMethod.type];
1067
+ checkout_store.checkoutStore.selectedPaymentMethod = { id: paymentMethod.id, type: paymentMethod.type };
1037
1068
  checkout_store.checkoutStore.paymentToken = paymentMethod.id;
1038
1069
  };
1039
- this.isAllowedPaymentMethod = (paymentMethod) => {
1040
- 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) {
1041
1074
  return false;
1042
1075
  }
1043
- if (paymentMethod.type === checkout_store.PAYMENT_METHOD_TYPES.BANK_ACCOUNT && checkout_store.checkoutStore.disableBankAccount) {
1076
+ if (isBankAccount && checkout_store.checkoutStore.disableBankAccount) {
1044
1077
  return false;
1045
1078
  }
1046
1079
  return true;
@@ -1059,7 +1092,7 @@ const SavedPaymentMethods = class {
1059
1092
  return null;
1060
1093
  }
1061
1094
  return (index.h(styledHost.StyledHost, null, index.h("div", { class: "saved-payment-methods" }, checkout_store.checkoutStore.paymentMethods.length ? checkout_store.checkoutStore.paymentMethods
1062
- .filter(this.isAllowedPaymentMethod)
1095
+ .filter((paymentMethod) => this.isAllowedPaymentMethod(paymentMethod.type))
1063
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)));
1064
1097
  }
1065
1098
  };
@@ -1074,12 +1107,7 @@ const SezzlePaymentMethod = class {
1074
1107
  constructor(hostRef) {
1075
1108
  index.registerInstance(this, hostRef);
1076
1109
  this.paymentMethodOptionSelected = index.createEvent(this, "paymentMethodOptionSelected");
1077
- this.paymentMethodOptionId = checkout_store.PAYMENT_METHODS.SEZZLE;
1078
- this.onPaymentMethodOptionClick = (e) => {
1079
- e.preventDefault();
1080
- checkout_store.checkoutStore.selectedPaymentMethod = this.paymentMethodOptionId;
1081
- this.paymentMethodOptionSelected.emit(this.paymentMethodOptionId);
1082
- };
1110
+ this.paymentMethodOptionId = index$1.PAYMENT_METHODS.SEZZLE;
1083
1111
  this.initializeSezzleCheckout = () => {
1084
1112
  let resolveSezzlePromise;
1085
1113
  this.sezzlePromise = new Promise((resolve) => { resolveSezzlePromise = resolve; });
@@ -1122,20 +1150,24 @@ const SezzlePaymentMethod = class {
1122
1150
  this.sezzleButtonRef.click();
1123
1151
  return this.sezzlePromise;
1124
1152
  }
1153
+ async handleSelectionClick() {
1154
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: index$1.PAYMENT_METHODS.SEZZLE };
1155
+ this.paymentMethodOptionSelected.emit(this.paymentMethodOptionId);
1156
+ }
1125
1157
  render() {
1126
1158
  var _a, _b;
1127
1159
  if (!checkout_store.checkoutStore.bnplEnabled || checkout_store.checkoutStore.disableBnpl) {
1128
1160
  console.warn('justifi-sezzle-payment-method: BNPL is not enabled for this account.');
1129
1161
  return null;
1130
1162
  }
1131
- 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)))))));
1132
1164
  }
1133
1165
  };
1134
1166
 
1135
1167
  // Constants
1136
1168
  const PAYMENT_METHOD_TYPE_LABELS = {
1137
- [checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT]: 'New bank account',
1138
- [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',
1139
1171
  };
1140
1172
  const ERROR_MESSAGES = {
1141
1173
  AUTH_TOKEN_REQUIRED: 'Auth token is required when using the tokenize-payment-method component not slotted in justifi-modular-checkout',
@@ -1172,7 +1204,7 @@ const TokenizePaymentMethod = class {
1172
1204
  }
1173
1205
  handleRadioClick(event) {
1174
1206
  this.selectedPaymentMethod = event.detail;
1175
- checkout_store.checkoutStore.selectedPaymentMethod = event.detail;
1207
+ checkout_store.checkoutStore.selectedPaymentMethod = { type: event.detail };
1176
1208
  }
1177
1209
  async fillBillingForm(fields) {
1178
1210
  var _a;
@@ -1263,12 +1295,12 @@ const TokenizePaymentMethod = class {
1263
1295
  return;
1264
1296
  }
1265
1297
  if (!this.disableCreditCard) {
1266
- this.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.NEW_CARD;
1267
- 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 };
1268
1300
  }
1269
1301
  else if (!this.disableBankAccount) {
1270
- this.selectedPaymentMethod = checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT;
1271
- 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 };
1272
1304
  }
1273
1305
  }
1274
1306
  setComputedHideSubmitButton() {
@@ -1295,10 +1327,10 @@ const TokenizePaymentMethod = class {
1295
1327
  get availablePaymentMethods() {
1296
1328
  const methods = [];
1297
1329
  if (!this.disableCreditCard) {
1298
- methods.push(checkout_store.PAYMENT_METHODS.NEW_CARD);
1330
+ methods.push(index$1.PAYMENT_METHODS.NEW_CARD);
1299
1331
  }
1300
1332
  if (!this.disableBankAccount) {
1301
- methods.push(checkout_store.PAYMENT_METHODS.NEW_BANK_ACCOUNT);
1333
+ methods.push(index$1.PAYMENT_METHODS.NEW_BANK_ACCOUNT);
1302
1334
  }
1303
1335
  return methods;
1304
1336
  }
@@ -1367,17 +1399,17 @@ const TokenizePaymentMethod = class {
1367
1399
  return this.disableCreditCard || this.disableBankAccount;
1368
1400
  }
1369
1401
  renderPaymentMethodOption(paymentMethodType) {
1370
- const isSelected = this.selectedPaymentMethod === paymentMethodType;
1402
+ const isSelected = this.selectedPaymentMethod === paymentMethodType && checkout_store.checkoutStore.selectedPaymentMethod.id === undefined;
1371
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)));
1372
1404
  }
1373
- renderSelectedPaymentMethodForm(paymentMethodId) {
1374
- 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 }))));
1375
1407
  }
1376
- renderPaymentMethodForm(paymentMethodId) {
1377
- 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) }));
1378
1410
  }
1379
1411
  render() {
1380
- 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 })))))));
1381
1413
  }
1382
1414
  get host() { return index.getElement(this); }
1383
1415
  static get watchers() { return {