@justifi/webcomponents 6.5.1-rc.5 → 6.7.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 (742) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/{Api-BeSnjEuW.js → Api-QUTWjGTy.js} +1 -1
  3. package/dist/cjs/{Refund-Blquw3jZ.js → GooglePay-BwiJ_80p.js} +416 -1
  4. package/dist/cjs/additional-questions-details_5.cjs.entry.js +3 -3
  5. package/dist/cjs/{badge-_nY1l5Rq.js → badge-Cc87HAsf.js} +1 -1
  6. package/dist/cjs/bank-account-document-form-inputs_8.cjs.entry.js +207 -0
  7. package/dist/cjs/bank-account-form.cjs.entry.js +5 -5
  8. package/dist/cjs/{business-additional-questions-schema-CE-z5qrr.js → business-additional-questions-schema-Y1mXnwUT.js} +1 -7
  9. package/dist/cjs/business-details-core.cjs.entry.js +3 -3
  10. package/dist/cjs/{business-identity-schema-rMMiHyPz.js → business-identity-schema-D_OO0Suf.js} +1 -1
  11. package/dist/cjs/{business.service-DrBmfEbR.js → business.service-q93NsTG_.js} +2 -2
  12. package/dist/cjs/{button-CARQPDm-.js → button-fUPGXjU_.js} +1 -1
  13. package/dist/cjs/card-form.cjs.entry.js +5 -5
  14. package/dist/cjs/{check-pkg-version-T54BeR4n.js → check-pkg-version-nSgWWvdw.js} +3 -3
  15. package/dist/cjs/{checkout.service-BEU6CI0t.js → checkout.service-CwelwhrT.js} +2 -2
  16. package/dist/cjs/checkouts-list-core.cjs.entry.js +9 -8
  17. package/dist/cjs/{checkouts-table-2fOlhkc4.js → checkouts-table-BBtqxG2F.js} +3 -3
  18. package/dist/cjs/{custom-popper.cjs.entry.js → custom-popper_2.cjs.entry.js} +22 -2
  19. package/dist/cjs/{dispute.service-c0CZxPpe.js → dispute.service-q5ha39uN.js} +2 -2
  20. package/dist/cjs/form-alert_5.cjs.entry.js +7 -7
  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-mhOq2Edp.js → form-control-error-text-Dg_65HGK.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-BoRpAoX6.js → form-control-help-text-tB5u1-5M.js} +1 -1
  26. package/dist/cjs/form-control-monetary-provisioning.cjs.entry.js +5 -5
  27. package/dist/cjs/form-control-monetary.cjs.entry.js +6 -6
  28. package/dist/cjs/form-control-number-masked_3.cjs.entry.js +6 -6
  29. package/dist/cjs/form-control-number.cjs.entry.js +5 -5
  30. package/dist/cjs/form-control-radio.cjs.entry.js +3 -3
  31. package/dist/cjs/{form-control-select_3.cjs.entry.js → form-control-select_2.cjs.entry.js} +6 -25
  32. package/dist/cjs/{get-payment-details-D8UQRtX1.js → get-payment-details-DidIAK2i.js} +2 -2
  33. package/dist/cjs/{get-subaccounts-fKcKqvrx.js → get-subaccounts-BE_wcfM7.js} +3 -3
  34. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +5 -5
  35. package/dist/cjs/{header-1-CBO8uDuZ.js → header-1-Bqejh9no.js} +1 -1
  36. package/dist/cjs/{header-3-CPWtI1t0.js → header-3-DQ649Me2.js} +1 -1
  37. package/dist/cjs/hidden-input_2.cjs.entry.js +7 -7
  38. package/dist/cjs/{index-C2ITzalN.js → index-CajjbB9t.js} +1 -0
  39. package/dist/cjs/index.cjs.js +1 -1
  40. package/dist/cjs/{insurance-state-BMHITXoD.js → insurance-state-DsGnIHMM.js} +1 -1
  41. package/dist/cjs/internal-tokenize-payment-method_7.cjs.entry.js +28 -29
  42. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +862 -29
  43. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +9 -9
  44. package/dist/cjs/{justifi-apple-pay_7.cjs.entry.js → justifi-apple-pay_8.cjs.entry.js} +906 -260
  45. package/dist/cjs/justifi-bank-account-billing-form-simple_3.cjs.entry.js +5 -5
  46. package/dist/cjs/justifi-business-details.cjs.entry.js +9 -8
  47. package/dist/cjs/justifi-business-form.cjs.entry.js +14 -13
  48. package/dist/cjs/justifi-checkout.cjs.entry.js +17 -18
  49. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +26 -12
  50. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +13 -12
  51. package/dist/cjs/justifi-details.cjs.entry.js +3 -3
  52. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +1 -1
  53. package/dist/cjs/justifi-dispute-management.cjs.entry.js +8 -7
  54. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +14 -13
  55. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +8 -7
  56. package/dist/cjs/justifi-order-terminals.cjs.entry.js +14 -13
  57. package/dist/cjs/justifi-payment-details.cjs.entry.js +10 -9
  58. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +3 -3
  59. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +8 -7
  60. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +12 -11
  61. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +4 -4
  62. package/dist/cjs/justifi-payments-list.cjs.entry.js +13 -12
  63. package/dist/cjs/justifi-payout-details.cjs.entry.js +10 -9
  64. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +12 -11
  65. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +4 -4
  66. package/dist/cjs/justifi-payouts-list.cjs.entry.js +14 -13
  67. package/dist/cjs/justifi-refund-payment.cjs.entry.js +15 -14
  68. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +2 -2
  69. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +12 -13
  70. package/dist/cjs/justifi-skeleton.cjs.entry.js +3 -3
  71. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +14 -13
  72. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +11 -10
  73. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +10 -9
  74. package/dist/cjs/justifi-terminals-list.cjs.entry.js +13 -12
  75. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +1 -1
  76. package/dist/cjs/loader.cjs.js +1 -1
  77. package/dist/cjs/{justifi-owner-form_3.cjs.entry.js → owner-form-core_2.cjs.entry.js} +7 -61
  78. package/dist/cjs/{package-JstJdxIu.js → package-B8gOzTFM.js} +1 -1
  79. package/dist/cjs/pagination-menu.cjs.entry.js +4 -4
  80. package/dist/cjs/{parts-Pb06tUMp.js → parts-BVbaniVM.js} +6 -0
  81. package/dist/cjs/payment-details-core.cjs.entry.js +17 -16
  82. package/dist/cjs/payment-method-option.cjs.entry.js +2 -2
  83. package/dist/cjs/{payment.service-DXbR13Kq.js → payment.service-CyHFdJ7n.js} +2 -2
  84. package/dist/cjs/payments-list-core.cjs.entry.js +10 -9
  85. package/dist/cjs/{payments-status-t4fVj8f9.js → payments-status-BP4u31jU.js} +1 -1
  86. package/dist/cjs/{payments-table-C6SCvqLD.js → payments-table-CWXVhECV.js} +3 -3
  87. package/dist/cjs/payout-details-core.cjs.entry.js +10 -10
  88. package/dist/cjs/{payout.service-D0U6kzXJ.js → payout.service-Half-hdB.js} +2 -2
  89. package/dist/cjs/payouts-list-core.cjs.entry.js +10 -9
  90. package/dist/cjs/{payouts-status-pIO9qZG6.js → payouts-status-CM5Zy-0J.js} +1 -1
  91. package/dist/cjs/{payouts-table-CEnUtKNR.js → payouts-table-ZLTcfkUm.js} +3 -3
  92. package/dist/cjs/{schema-validations-BOiGVUHM.js → schema-validations-Bf2mk2xU.js} +0 -16
  93. package/dist/cjs/{skeleton-BF3HGL9X.js → skeleton-B8dzxFFr.js} +1 -1
  94. package/dist/cjs/{spinner-BBdv3Iq1.js → spinner-jHyLNCGO.js} +1 -1
  95. package/dist/cjs/{table-CfBpaApw.js → table-CrtpRwGN.js} +2 -2
  96. package/dist/cjs/table-filters-menu.cjs.entry.js +3 -3
  97. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +9 -8
  98. package/dist/cjs/{terminal-orders-table-BByfBAEK.js → terminal-orders-table-DT53anT3.js} +6 -6
  99. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +2 -2
  100. package/dist/cjs/{terminal.service-BqXeiERV.js → terminal.service-CFt55QNO.js} +2 -2
  101. package/dist/cjs/terminals-list-core.cjs.entry.js +9 -8
  102. package/dist/cjs/{terminals-table-EeeLeuDN.js → terminals-table-DahpSz98.js} +3 -3
  103. package/dist/cjs/{utils-Cjq3ZCad.js → utils-CMiA4X7s.js} +1 -1
  104. package/dist/cjs/{utils-Bab-tddY.js → utils-D4WPxuzW.js} +0 -7
  105. package/dist/cjs/webcomponents.cjs.js +1 -1
  106. package/dist/collection/api/GooglePay.js +181 -0
  107. package/dist/collection/api/index.js +2 -0
  108. package/dist/collection/api/services/google-pay.service.js +240 -0
  109. package/dist/collection/collection-manifest.json +2 -7
  110. package/dist/collection/components/business-forms/business-form/additional-questions/additional-questions.js +6 -7
  111. package/dist/collection/components/business-forms/business-form/business-core-info/business-core-info.js +2 -2
  112. package/dist/collection/components/business-forms/business-form/business-representative/business-representative.js +7 -8
  113. package/dist/collection/components/business-forms/business-form/legal-address-form/legal-address-form.js +6 -7
  114. package/dist/collection/components/business-forms/owner-form/identity-address/identity-address-form.js +1 -1
  115. package/dist/collection/components/business-forms/owner-form/owner-form-core.js +1 -1
  116. package/dist/collection/components/business-forms/owner-form/owner-form-inputs.js +7 -8
  117. package/dist/collection/components/business-forms/owner-form/owner-form.js +1 -1
  118. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.js +132 -3
  119. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-document-inputs.js +1 -1
  120. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs-canada.js +1 -1
  121. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs.js +1 -1
  122. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-read-only-value.js +1 -1
  123. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.js +335 -3
  124. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-documents-on-file.js +2 -2
  125. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +133 -3
  126. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.js +186 -3
  127. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-inputs.js +2 -2
  128. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +129 -3
  129. package/dist/collection/components/business-forms/payment-provisioning/form-address-fields/form-address-fields.js +1 -1
  130. package/dist/collection/components/business-forms/payment-provisioning/form-control-monetary-provisioning.js +2 -2
  131. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.js +122 -3
  132. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +1 -1
  133. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-buttons.js +1 -1
  134. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-steps.js +1 -1
  135. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.js +1 -1
  136. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-form-step.js +1 -1
  137. package/dist/collection/components/business-forms/schemas/business-additional-questions-schema.js +1 -7
  138. package/dist/collection/components/business-forms/schemas/schema-validations.js +1 -14
  139. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +2 -2
  140. package/dist/collection/components/checkout/card-form/card-form.js +2 -2
  141. package/dist/collection/components/checkout/checkout.js +2 -2
  142. package/dist/collection/components/checkout/save-new-payment-method.js +1 -1
  143. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  144. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  145. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +72 -2
  146. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  147. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  148. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  149. package/dist/collection/components/dispute-management/dispute-notification.js +2 -2
  150. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  151. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  152. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  153. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  154. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  155. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  156. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  157. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  158. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  159. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  160. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  161. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  162. package/dist/collection/components/modular-checkout/ModularCheckout.js +1 -0
  163. package/dist/collection/components/modular-checkout/modular-checkout.js +47 -8
  164. package/dist/collection/components/modular-checkout/sub-components/bank-account-billing-form-simple.js +1 -1
  165. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  166. package/dist/collection/components/modular-checkout/sub-components/card-billing-form-simple.js +1 -1
  167. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  168. package/dist/collection/components/modular-checkout/sub-components/google-pay-skeleton.js +10 -0
  169. package/dist/collection/components/modular-checkout/sub-components/google-pay.js +609 -0
  170. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  171. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  172. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  173. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  174. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  175. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  176. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  177. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  178. package/dist/collection/components/payments-list/payments-list.js +1 -1
  179. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  180. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  181. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  182. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  183. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  184. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  185. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  186. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  187. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  188. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  189. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  190. package/dist/collection/components/tokenize-payment-method/internal-tokenize-payment-method.js +4 -3
  191. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +10 -5
  192. package/dist/collection/store/checkout.store.js +4 -0
  193. package/dist/collection/styles/parts.js +3 -0
  194. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  195. package/dist/collection/ui-components/details/details.js +1 -1
  196. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  197. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  198. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  199. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  200. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  201. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  202. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  203. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  204. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  205. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  206. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  207. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  208. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  209. package/dist/collection/ui-components/google-pay-button.js +251 -0
  210. package/dist/collection/ui-components/pagination-menu/pagination-menu.js +3 -3
  211. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  212. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  213. package/dist/collection/ui-components/shadow-dom-components/justifi-radio-list-item.js +1 -1
  214. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  215. package/dist/docs.json +3039 -3797
  216. package/dist/esm/{Api-DX-IWyBw.js → Api-Dln8a6No.js} +1 -1
  217. package/dist/esm/{Refund-BugCdfRo.js → GooglePay-NNHE-OLJ.js} +406 -2
  218. package/dist/esm/additional-questions-details_5.entry.js +3 -3
  219. package/dist/esm/{badge-Bgosx-DC.js → badge-DtrH25ss.js} +1 -1
  220. package/dist/esm/bank-account-document-form-inputs_8.entry.js +198 -0
  221. package/dist/esm/bank-account-form.entry.js +5 -5
  222. package/dist/esm/{business-additional-questions-schema-QFJEOHF5.js → business-additional-questions-schema-woG5-pgK.js} +1 -7
  223. package/dist/esm/business-details-core.entry.js +3 -3
  224. package/dist/esm/{business-identity-schema-DB_Hhjld.js → business-identity-schema-B7VTDF4j.js} +2 -2
  225. package/dist/esm/{business.service-pWcc3kfX.js → business.service-BrUSam2T.js} +2 -2
  226. package/dist/esm/{button-DBmjN7Ra.js → button-Bpf3VX8Q.js} +1 -1
  227. package/dist/esm/card-form.entry.js +5 -5
  228. package/dist/esm/{check-pkg-version-C8hgGLFx.js → check-pkg-version-CmkUoEAo.js} +3 -3
  229. package/dist/esm/{checkout.service-B4xSV2-X.js → checkout.service-Bxt1qPaY.js} +2 -2
  230. package/dist/esm/checkouts-list-core.entry.js +9 -8
  231. package/dist/esm/{checkouts-table-lgbZpF1o.js → checkouts-table-CB4GdlcZ.js} +3 -3
  232. package/dist/esm/{custom-popper.entry.js → custom-popper_2.entry.js} +22 -3
  233. package/dist/esm/{dispute.service-3Kbbh1J9.js → dispute.service-DYRYxxaT.js} +2 -2
  234. package/dist/esm/form-alert_5.entry.js +7 -7
  235. package/dist/esm/form-control-checkbox.entry.js +5 -5
  236. package/dist/esm/form-control-date.entry.js +4 -4
  237. package/dist/esm/{form-control-error-text-B5LSdUXI.js → form-control-error-text-BZYykCDp.js} +1 -1
  238. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  239. package/dist/esm/{form-control-help-text-BK9RNOf-.js → form-control-help-text-D-p66Yxr.js} +1 -1
  240. package/dist/esm/form-control-monetary-provisioning.entry.js +5 -5
  241. package/dist/esm/form-control-monetary.entry.js +6 -6
  242. package/dist/esm/form-control-number-masked_3.entry.js +6 -6
  243. package/dist/esm/form-control-number.entry.js +5 -5
  244. package/dist/esm/form-control-radio.entry.js +3 -3
  245. package/dist/esm/{form-control-select_3.entry.js → form-control-select_2.entry.js} +7 -25
  246. package/dist/esm/{get-payment-details-CakzKvOr.js → get-payment-details-BJ1PLhJZ.js} +1 -1
  247. package/dist/esm/{get-subaccounts-Cw1Adtmo.js → get-subaccounts-CzGHjlUF.js} +2 -2
  248. package/dist/esm/gross-payment-chart-core.entry.js +5 -5
  249. package/dist/esm/{header-1-CPF3S2CC.js → header-1-WwkF5F9y.js} +1 -1
  250. package/dist/esm/{header-3-Cah707hu.js → header-3-C5jS39cE.js} +1 -1
  251. package/dist/esm/hidden-input_2.entry.js +7 -7
  252. package/dist/esm/{index-DCIW8z1f.js → index-DkoufM1t.js} +1 -0
  253. package/dist/esm/index.js +1 -1
  254. package/dist/esm/{insurance-state-DRe0g_wf.js → insurance-state-C11WKZU6.js} +1 -1
  255. package/dist/esm/internal-tokenize-payment-method_7.entry.js +17 -18
  256. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +863 -30
  257. package/dist/esm/justifi-additional-statement_8.entry.js +9 -9
  258. package/dist/esm/{justifi-apple-pay_7.entry.js → justifi-apple-pay_8.entry.js} +789 -144
  259. package/dist/esm/justifi-bank-account-billing-form-simple_3.entry.js +5 -5
  260. package/dist/esm/justifi-business-details.entry.js +9 -8
  261. package/dist/esm/justifi-business-form.entry.js +14 -13
  262. package/dist/esm/justifi-checkout.entry.js +10 -11
  263. package/dist/esm/justifi-checkouts-list-filters.entry.js +19 -5
  264. package/dist/esm/justifi-checkouts-list.entry.js +12 -11
  265. package/dist/esm/justifi-details.entry.js +3 -3
  266. package/dist/esm/justifi-dispute-management-core.entry.js +1 -1
  267. package/dist/esm/justifi-dispute-management.entry.js +8 -7
  268. package/dist/esm/justifi-dispute-notification_3.entry.js +14 -13
  269. package/dist/esm/justifi-gross-payment-chart.entry.js +8 -7
  270. package/dist/esm/justifi-order-terminals.entry.js +11 -10
  271. package/dist/esm/justifi-payment-details.entry.js +10 -9
  272. package/dist/esm/justifi-payment-provisioning-core.entry.js +3 -3
  273. package/dist/esm/justifi-payment-provisioning.entry.js +8 -7
  274. package/dist/esm/justifi-payment-transactions-list.entry.js +11 -10
  275. package/dist/esm/justifi-payments-list-filters.entry.js +4 -4
  276. package/dist/esm/justifi-payments-list.entry.js +12 -11
  277. package/dist/esm/justifi-payout-details.entry.js +9 -8
  278. package/dist/esm/justifi-payout-transactions-list.entry.js +11 -10
  279. package/dist/esm/justifi-payouts-list-filters.entry.js +4 -4
  280. package/dist/esm/justifi-payouts-list.entry.js +13 -12
  281. package/dist/esm/justifi-refund-payment.entry.js +11 -10
  282. package/dist/esm/justifi-saved-payment-method.entry.js +2 -2
  283. package/dist/esm/justifi-season-interruption-insurance.entry.js +9 -10
  284. package/dist/esm/justifi-skeleton.entry.js +3 -3
  285. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +6 -5
  286. package/dist/esm/justifi-terminal-orders-list.entry.js +10 -9
  287. package/dist/esm/justifi-terminals-list-filters.entry.js +5 -4
  288. package/dist/esm/justifi-terminals-list.entry.js +12 -11
  289. package/dist/esm/justifi-tokenize-payment-method.entry.js +1 -1
  290. package/dist/esm/loader.js +1 -1
  291. package/dist/esm/{justifi-owner-form_3.entry.js → owner-form-core_2.entry.js} +8 -61
  292. package/dist/esm/{package-DEhd71m_.js → package-CsRppqXL.js} +1 -1
  293. package/dist/esm/pagination-menu.entry.js +4 -4
  294. package/dist/esm/{parts-wtuY7MT2.js → parts-sA8HBfkI.js} +4 -1
  295. package/dist/esm/payment-details-core.entry.js +16 -15
  296. package/dist/esm/payment-method-option.entry.js +2 -2
  297. package/dist/esm/{payment.service-nExZY_sU.js → payment.service-BoGemgMw.js} +2 -2
  298. package/dist/esm/payments-list-core.entry.js +10 -9
  299. package/dist/esm/{payments-status-Dypl6WFL.js → payments-status-CADg1cD0.js} +1 -1
  300. package/dist/esm/{payments-table-CK9BRZEz.js → payments-table-C6zHWwGO.js} +3 -3
  301. package/dist/esm/payout-details-core.entry.js +10 -10
  302. package/dist/esm/{payout.service-B9-JQqU6.js → payout.service-BSG50wqN.js} +2 -2
  303. package/dist/esm/payouts-list-core.entry.js +10 -9
  304. package/dist/esm/{payouts-status-hTCBgpLW.js → payouts-status-4VDQvaYV.js} +1 -1
  305. package/dist/esm/{payouts-table-Dd8IDBBX.js → payouts-table-BU5XbzB9.js} +3 -3
  306. package/dist/esm/{schema-validations-B5sfox_4.js → schema-validations-iamDi5JD.js} +2 -15
  307. package/dist/esm/{skeleton-BmRZRW5K.js → skeleton-Dtt56Fl3.js} +1 -1
  308. package/dist/esm/{spinner-tU4D9iak.js → spinner-DikooWuI.js} +1 -1
  309. package/dist/esm/{table-Cjq1A6mO.js → table-1hqe6s5m.js} +2 -2
  310. package/dist/esm/table-filters-menu.entry.js +3 -3
  311. package/dist/esm/terminal-orders-list-core.entry.js +9 -8
  312. package/dist/esm/{terminal-orders-table-DsrpmD9F.js → terminal-orders-table-BsVBelxB.js} +4 -4
  313. package/dist/esm/terminal-quantity-selector.entry.js +2 -2
  314. package/dist/esm/{terminal.service-DvFiKAKV.js → terminal.service-YKfi6Mr9.js} +2 -2
  315. package/dist/esm/terminals-list-core.entry.js +9 -8
  316. package/dist/esm/{terminals-table-D9okETJr.js → terminals-table-CXJTn-0I.js} +3 -3
  317. package/dist/esm/{utils-CIaHqjQt.js → utils-CDaVtz_6.js} +1 -7
  318. package/dist/esm/{utils-BX7Rjm1M.js → utils-CgFsPVsv.js} +1 -1
  319. package/dist/esm/webcomponents.js +1 -1
  320. package/dist/module/Analytics.js +2 -0
  321. package/dist/module/ApplePay.js +121 -0
  322. package/dist/module/GooglePay.js +184 -0
  323. package/dist/module/ModularCheckout.js +1 -0
  324. package/dist/module/additional-questions.js +2 -2
  325. package/dist/module/additional-statement.js +1 -1
  326. package/dist/module/apple-pay.js +1 -120
  327. package/dist/module/bank-account-billing-form-simple.js +1 -1
  328. package/dist/module/bank-account-document-inputs.js +3 -1
  329. package/dist/module/bank-account-form-inputs-canada2.js +1 -1
  330. package/dist/module/bank-account-form-inputs2.js +1 -1
  331. package/dist/module/bank-account-form.js +3 -3
  332. package/dist/module/bank-account-read-only-value2.js +1 -1
  333. package/dist/module/bank-account.js +2 -2
  334. package/dist/module/business-additional-questions-form-step.js +107 -20
  335. package/dist/module/business-additional-questions-schema.js +1 -7
  336. package/dist/module/business-address-schema.js +1 -1
  337. package/dist/module/business-bank-account-form-step.js +445 -33
  338. package/dist/module/business-core-info-form-step.js +108 -20
  339. package/dist/module/business-core-info-schema.js +1 -1
  340. package/dist/module/business-core-info.js +2 -2
  341. package/dist/module/business-documents-on-file2.js +2 -2
  342. package/dist/module/business-identity-schema.js +1 -1
  343. package/dist/module/business-owners-form-step.js +137 -23
  344. package/dist/module/business-representative-form-inputs.js +2 -2
  345. package/dist/module/business-representative-form-step.js +106 -22
  346. package/dist/module/business-representative.js +3 -3
  347. package/dist/module/business-terms-conditions-form-step.js +3 -1
  348. package/dist/module/business.service.js +2 -0
  349. package/dist/module/cancellation-policy.js +1 -1
  350. package/dist/module/card-billing-form-simple.js +1 -1
  351. package/dist/module/card-form.js +3 -3
  352. package/dist/module/card-form2.js +2 -2
  353. package/dist/module/checkout.service.js +2 -0
  354. package/dist/module/checkout.store.js +4 -0
  355. package/dist/module/checkouts-list-core2.js +5 -3
  356. package/dist/module/custom-popper2.js +2 -2
  357. package/dist/module/customer-details.js +1 -1
  358. package/dist/module/details.js +1 -1
  359. package/dist/module/dispute-management-core.js +1 -1
  360. package/dist/module/dispute-notification.js +2 -2
  361. package/dist/module/dispute-response-actions.js +2 -0
  362. package/dist/module/dispute-response-core.js +1 -1
  363. package/dist/module/dispute-response.js +1 -1
  364. package/dist/module/duplicate-charge.js +1 -1
  365. package/dist/module/electronic-evidence.js +1 -1
  366. package/dist/module/form-address-fields.js +1 -1
  367. package/dist/module/form-control-checkbox2.js +2 -2
  368. package/dist/module/form-control-date2.js +2 -2
  369. package/dist/module/form-control-file-v22.js +1 -1
  370. package/dist/module/form-control-file2.js +2 -2
  371. package/dist/module/form-control-monetary-provisioning2.js +2 -2
  372. package/dist/module/form-control-monetary2.js +2 -2
  373. package/dist/module/form-control-number-masked2.js +2 -2
  374. package/dist/module/form-control-number.js +2 -2
  375. package/dist/module/form-control-radio2.js +2 -2
  376. package/dist/module/form-control-select2.js +2 -2
  377. package/dist/module/form-control-text2.js +2 -2
  378. package/dist/module/form-control-textarea2.js +2 -2
  379. package/dist/module/get-payment-details.js +2 -0
  380. package/dist/module/get-subaccounts.js +2 -0
  381. package/dist/module/google-pay.js +781 -0
  382. package/dist/module/gross-payment-chart-core2.js +2 -2
  383. package/dist/module/hidden-input2.js +1 -1
  384. package/dist/module/identity-address-form.js +1 -1
  385. package/dist/module/iframe-input2.js +3 -3
  386. package/dist/module/internal-tokenize-payment-method2.js +3 -1
  387. package/dist/module/justifi-business-form.js +2 -0
  388. package/dist/module/justifi-button2.js +1 -1
  389. package/dist/module/justifi-checkout.js +46 -40
  390. package/dist/module/justifi-checkouts-list-filters.js +37 -8
  391. package/dist/module/justifi-checkouts-list.js +3 -1
  392. package/dist/module/justifi-dispute-management.js +1 -1
  393. package/dist/module/justifi-google-pay.d.ts +11 -0
  394. package/dist/module/justifi-google-pay.js +6 -0
  395. package/dist/module/justifi-gross-payment-chart.js +2 -0
  396. package/dist/module/justifi-header2.js +1 -1
  397. package/dist/module/justifi-order-terminals.js +4 -2
  398. package/dist/module/justifi-payment-provisioning.js +51 -85
  399. package/dist/module/justifi-payment-transactions-list.js +4 -2
  400. package/dist/module/justifi-payments-list-filters.js +4 -4
  401. package/dist/module/justifi-payments-list.js +3 -1
  402. package/dist/module/justifi-payout-details.js +2 -0
  403. package/dist/module/justifi-payout-transactions-list.js +4 -2
  404. package/dist/module/justifi-payouts-list-filters.js +4 -4
  405. package/dist/module/justifi-payouts-list.js +3 -1
  406. package/dist/module/justifi-radio-list-item2.js +1 -1
  407. package/dist/module/justifi-refund-payment.js +2 -0
  408. package/dist/module/justifi-saved-payment-method.js +1 -1
  409. package/dist/module/justifi-season-interruption-insurance.js +3 -1
  410. package/dist/module/justifi-skeleton.js +1 -1
  411. package/dist/module/justifi-terminal-orders-list-filters.js +6 -4
  412. package/dist/module/justifi-terminal-orders-list.js +3 -1
  413. package/dist/module/justifi-terminals-list-filters.js +4 -2
  414. package/dist/module/justifi-terminals-list.js +3 -1
  415. package/dist/module/justifi-tokenize-payment-method.js +1 -1
  416. package/dist/module/legal-address-form-step.js +95 -18
  417. package/dist/module/legal-address-form.js +2 -2
  418. package/dist/module/modular-checkout.js +46 -6
  419. package/dist/module/owner-form-core2.js +1 -1
  420. package/dist/module/owner-form-inputs2.js +3 -3
  421. package/dist/module/owner-form.js +2 -2
  422. package/dist/module/package.js +1 -1
  423. package/dist/module/pagination-menu2.js +3 -3
  424. package/dist/module/parts.js +4 -1
  425. package/dist/module/payment-details-core2.js +11 -9
  426. package/dist/module/payment-method-option.js +1 -1
  427. package/dist/module/payment-provisioning-actions.js +1 -1
  428. package/dist/module/payment-provisioning-core.js +49 -85
  429. package/dist/module/payment-provisioning-form-buttons.js +1 -1
  430. package/dist/module/payment-provisioning-form-steps.js +49 -85
  431. package/dist/module/payment.service.js +2 -0
  432. package/dist/module/payments-list-core2.js +4 -2
  433. package/dist/module/payout-details-core2.js +4 -4
  434. package/dist/module/payout.service.js +2 -0
  435. package/dist/module/payouts-list-core2.js +4 -2
  436. package/dist/module/plaid.service.js +2 -0
  437. package/dist/module/product-or-service.js +1 -1
  438. package/dist/module/refund-policy.js +1 -1
  439. package/dist/module/save-new-payment-method.js +1 -1
  440. package/dist/module/schema-validations.js +2 -15
  441. package/dist/module/shipping-details.js +1 -1
  442. package/dist/module/summary.js +1 -1
  443. package/dist/module/table-filters-menu2.js +2 -2
  444. package/dist/module/table.js +1 -1
  445. package/dist/module/terminal-orders-list-core2.js +4 -2
  446. package/dist/module/terminal-quantity-selector2.js +1 -1
  447. package/dist/module/terminal.service.js +2 -0
  448. package/dist/module/terminals-list-core2.js +5 -3
  449. package/dist/module/utils2.js +1 -7
  450. package/dist/types/api/Checkout.d.ts +5 -0
  451. package/dist/types/api/GooglePay.d.ts +271 -0
  452. package/dist/types/api/index.d.ts +2 -0
  453. package/dist/types/api/services/google-pay.service.d.ts +60 -0
  454. package/dist/types/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.d.ts +26 -2
  455. package/dist/types/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.d.ts +42 -2
  456. package/dist/types/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.d.ts +25 -2
  457. package/dist/types/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.d.ts +21 -2
  458. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.d.ts +37 -2
  459. package/dist/types/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.d.ts +24 -2
  460. package/dist/types/components/business-forms/schemas/business-additional-questions-schema.d.ts +0 -6
  461. package/dist/types/components/business-forms/schemas/business-form-schema.d.ts +3 -21
  462. package/dist/types/components/business-forms/schemas/schema-validations.d.ts +0 -3
  463. package/dist/types/components/checkout/checkout.d.ts +1 -0
  464. package/dist/types/components/checkouts-list/checkouts-list-filters.d.ts +5 -0
  465. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +2 -1
  466. package/dist/types/components/modular-checkout/modular-checkout.d.ts +5 -0
  467. package/dist/types/components/modular-checkout/sub-components/google-pay-skeleton.d.ts +6 -0
  468. package/dist/types/components/modular-checkout/sub-components/google-pay.d.ts +59 -0
  469. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +1 -1
  470. package/dist/types/components.d.ts +194 -282
  471. package/dist/types/store/checkout.store.d.ts +1 -0
  472. package/dist/types/styles/parts.d.ts +3 -0
  473. package/dist/types/ui-components/google-pay-button.d.ts +18 -0
  474. package/dist/webcomponents/index.esm.js +1 -1
  475. package/dist/webcomponents/p-016b3e4c.entry.js +1 -0
  476. package/dist/webcomponents/p-04ec17bb.entry.js +1 -0
  477. package/dist/webcomponents/p-06cae9e2.entry.js +1 -0
  478. package/dist/webcomponents/p-06f81525.entry.js +1 -0
  479. package/dist/webcomponents/p-095cedc5.entry.js +1 -0
  480. package/dist/webcomponents/p-0b7c4ed5.entry.js +1 -0
  481. package/dist/webcomponents/p-0bb616fc.entry.js +1 -0
  482. package/dist/webcomponents/p-0e981c28.entry.js +1 -0
  483. package/dist/webcomponents/p-1575ca68.entry.js +1 -0
  484. package/dist/webcomponents/p-15ceeea7.entry.js +1 -0
  485. package/dist/webcomponents/{p-0ce046fd.entry.js → p-1a327b0e.entry.js} +1 -1
  486. package/dist/webcomponents/p-1e761d96.entry.js +1 -0
  487. package/dist/webcomponents/{p-1edec396.entry.js → p-20e85114.entry.js} +1 -1
  488. package/dist/webcomponents/p-368b37ad.entry.js +1 -0
  489. package/dist/webcomponents/p-36a0af30.entry.js +1 -0
  490. package/dist/webcomponents/p-3a3935a3.entry.js +1 -0
  491. package/dist/webcomponents/p-4d2589b2.entry.js +1 -0
  492. package/dist/webcomponents/{p-de35abb6.entry.js → p-50400c5e.entry.js} +1 -1
  493. package/dist/webcomponents/{p-fe862786.entry.js → p-511e80a4.entry.js} +1 -1
  494. package/dist/webcomponents/p-5996879d.entry.js +1 -0
  495. package/dist/webcomponents/p-5a748e49.entry.js +1 -0
  496. package/dist/webcomponents/p-6454626a.entry.js +1 -0
  497. package/dist/webcomponents/p-66713269.entry.js +1 -0
  498. package/dist/webcomponents/p-679b36b5.entry.js +1 -0
  499. package/dist/webcomponents/{p-cd10cd05.entry.js → p-725319f3.entry.js} +1 -1
  500. package/dist/webcomponents/p-74fea39c.entry.js +1 -0
  501. package/dist/webcomponents/p-77754a65.entry.js +1 -0
  502. package/dist/webcomponents/p-87988b4d.entry.js +1 -0
  503. package/dist/webcomponents/p-88a8741b.entry.js +1 -0
  504. package/dist/webcomponents/{p-4e23116c.entry.js → p-897b794b.entry.js} +3 -3
  505. package/dist/webcomponents/p-899b981b.entry.js +1 -0
  506. package/dist/webcomponents/p-8c4b502d.entry.js +1 -0
  507. package/dist/webcomponents/p-8df30672.entry.js +1 -0
  508. package/dist/webcomponents/p-911b3d63.entry.js +1 -0
  509. package/dist/webcomponents/p-97b8bf5c.entry.js +1 -0
  510. package/dist/webcomponents/p-9b74a642.entry.js +1 -0
  511. package/dist/webcomponents/p-9b8aee30.entry.js +1 -0
  512. package/dist/webcomponents/p-9c1aa22d.entry.js +1 -0
  513. package/dist/webcomponents/p-9e94c9ef.entry.js +1 -0
  514. package/dist/webcomponents/{p-BS7OgSQe.js → p-B09GVew-.js} +1 -1
  515. package/dist/webcomponents/{p-CFevTCAJ.js → p-B4xdk4mG.js} +1 -1
  516. package/dist/webcomponents/{p-BTzt8N0l.js → p-BMJe4lzg.js} +1 -1
  517. package/dist/webcomponents/{p-nrZ9yHcl.js → p-BhqSAzpT.js} +1 -1
  518. package/dist/webcomponents/p-BrRsgB8S.js +1 -0
  519. package/dist/webcomponents/{p-bolTb61p.js → p-C2Senazf.js} +1 -1
  520. package/dist/webcomponents/p-C9VmfRis.js +1 -0
  521. package/dist/webcomponents/{p-CkN7DFFn.js → p-CBbwdoSa.js} +1 -1
  522. package/dist/webcomponents/{p-MQxr_LMC.js → p-CCxsFwC4.js} +1 -1
  523. package/dist/webcomponents/p-CK_XkZku.js +1 -0
  524. package/dist/webcomponents/p-CQGIjIgZ.js +1 -0
  525. package/dist/webcomponents/{p-DkOiS6Zr.js → p-CV8xqdt6.js} +1 -1
  526. package/dist/webcomponents/p-CZ3F1ZAT.js +1 -0
  527. package/dist/webcomponents/p-CgiDds_u.js +1 -0
  528. package/dist/webcomponents/p-CsRppqXL.js +1 -0
  529. package/dist/webcomponents/p-CsgUIrv8.js +1 -0
  530. package/dist/webcomponents/p-D032AB34.js +1 -0
  531. package/dist/webcomponents/{p-KPmnq8xf.js → p-D6bKoyRc.js} +1 -1
  532. package/dist/webcomponents/p-DATDsXcA.js +1 -0
  533. package/dist/webcomponents/{p-C8QOezo8.js → p-DGGjRqDa.js} +1 -1
  534. package/dist/webcomponents/{p-C6wS5-M7.js → p-DISrhs4v.js} +1 -1
  535. package/dist/webcomponents/{p-D1WQG4I7.js → p-DOcRWTul.js} +1 -1
  536. package/dist/webcomponents/{p-BNqo3kt0.js → p-DUmUUj9r.js} +1 -1
  537. package/dist/webcomponents/p-DY_3dcgR.js +1 -0
  538. package/dist/webcomponents/{p-D_IJC4HG.js → p-Dit3fZpU.js} +1 -1
  539. package/dist/webcomponents/p-DkoufM1t.js +1 -0
  540. package/dist/webcomponents/{p-BCPutgAi.js → p-Dlrq1iZf.js} +1 -1
  541. package/dist/webcomponents/p-DmdEjScI.js +1 -0
  542. package/dist/webcomponents/{p-BitGlMSc.js → p-RTAZ4tdd.js} +1 -1
  543. package/dist/webcomponents/p-Ty7R7tsw.js +1 -0
  544. package/dist/webcomponents/{p-DOLBAxYf.js → p-U3nU15el.js} +1 -1
  545. package/dist/webcomponents/p-VRubcA-q.js +1 -0
  546. package/dist/webcomponents/{p-BydKIJVC.js → p-W9WWoLzT.js} +1 -1
  547. package/dist/webcomponents/p-a0b4c42b.entry.js +1 -0
  548. package/dist/webcomponents/p-aa145996.entry.js +1 -0
  549. package/dist/webcomponents/p-b0f0d53c.entry.js +1 -0
  550. package/dist/webcomponents/p-b2a0cbad.entry.js +1 -0
  551. package/dist/webcomponents/p-b5b49e86.entry.js +1 -0
  552. package/dist/webcomponents/p-c0bd4e9a.entry.js +1 -0
  553. package/dist/webcomponents/p-c4585b68.entry.js +1 -0
  554. package/dist/webcomponents/p-c920dc54.entry.js +1 -0
  555. package/dist/webcomponents/p-cdf1e61c.entry.js +1 -0
  556. package/dist/webcomponents/{p-0082f428.entry.js → p-d0c4b0ea.entry.js} +1 -1
  557. package/dist/webcomponents/p-d2981754.entry.js +1 -0
  558. package/dist/webcomponents/p-d9cdd873.entry.js +1 -0
  559. package/dist/webcomponents/p-e4335938.entry.js +1 -0
  560. package/dist/webcomponents/{p-c8f40375.entry.js → p-e805b011.entry.js} +1 -1
  561. package/dist/webcomponents/p-eada0422.entry.js +1 -0
  562. package/dist/webcomponents/p-ef04f334.entry.js +1 -0
  563. package/dist/webcomponents/p-f23428da.entry.js +1 -0
  564. package/dist/webcomponents/p-f30c939f.entry.js +1 -0
  565. package/dist/webcomponents/p-f5dd3fa4.entry.js +1 -0
  566. package/dist/webcomponents/{p-af48a6bb.entry.js → p-f99403d8.entry.js} +1 -1
  567. package/dist/webcomponents/p-fb644da6.entry.js +1 -0
  568. package/dist/webcomponents/p-fc4b27ec.entry.js +1 -0
  569. package/dist/webcomponents/p-fc8f55d7.entry.js +1 -0
  570. package/dist/webcomponents/p-fe43449c.entry.js +1 -0
  571. package/dist/webcomponents/p-fe73b09b.entry.js +1 -0
  572. package/dist/webcomponents/p-ff5981fb.entry.js +1 -0
  573. package/dist/webcomponents/p-giyZ3C4E.js +1 -0
  574. package/dist/webcomponents/p-sA8HBfkI.js +1 -0
  575. package/dist/webcomponents/{p-C8yN3uBj.js → p-yyedWKWX.js} +1 -1
  576. package/dist/webcomponents/webcomponents.esm.js +1 -1
  577. package/package.json +17 -32
  578. package/dist/cjs/bank-account-document-form-inputs_6.cjs.entry.js +0 -132
  579. package/dist/cjs/checkout.store-BA6h-dp2.js +0 -107
  580. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +0 -874
  581. package/dist/cjs/justifi-business-representative-form-inputs.cjs.entry.js +0 -34
  582. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step-core.js +0 -265
  583. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step-core.js +0 -466
  584. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step-core.js +0 -307
  585. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step-core.js +0 -380
  586. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step-core.js +0 -270
  587. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step-core.js +0 -276
  588. package/dist/esm/bank-account-document-form-inputs_6.entry.js +0 -125
  589. package/dist/esm/checkout.store-CaS_htQd.js +0 -101
  590. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +0 -867
  591. package/dist/esm/justifi-business-representative-form-inputs.entry.js +0 -32
  592. package/dist/module/business-additional-questions-form-step-core.js +0 -167
  593. package/dist/module/business-bank-account-form-step-core.js +0 -456
  594. package/dist/module/business-core-info-form-step-core.js +0 -173
  595. package/dist/module/business-owners-form-step-core.js +0 -231
  596. package/dist/module/business-representative-form-step-core.js +0 -171
  597. package/dist/module/justifi-additional-questions-form-step-core.d.ts +0 -11
  598. package/dist/module/justifi-additional-questions-form-step-core.js +0 -6
  599. package/dist/module/justifi-business-bank-account-form-step-core.d.ts +0 -11
  600. package/dist/module/justifi-business-bank-account-form-step-core.js +0 -6
  601. package/dist/module/justifi-business-core-info-form-step-core.d.ts +0 -11
  602. package/dist/module/justifi-business-core-info-form-step-core.js +0 -6
  603. package/dist/module/justifi-business-owners-form-step-core.d.ts +0 -11
  604. package/dist/module/justifi-business-owners-form-step-core.js +0 -6
  605. package/dist/module/justifi-business-representative-form-step-core.d.ts +0 -11
  606. package/dist/module/justifi-business-representative-form-step-core.js +0 -6
  607. package/dist/module/justifi-legal-address-form-step-core.d.ts +0 -11
  608. package/dist/module/justifi-legal-address-form-step-core.js +0 -6
  609. package/dist/module/legal-address-form-step-core.js +0 -154
  610. package/dist/types/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step-core.d.ts +0 -38
  611. package/dist/types/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step-core.d.ts +0 -52
  612. package/dist/types/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step-core.d.ts +0 -40
  613. package/dist/types/components/business-forms/payment-provisioning/business-owners/business-owners-form-step-core.d.ts +0 -37
  614. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step-core.d.ts +0 -50
  615. package/dist/types/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step-core.d.ts +0 -38
  616. package/dist/webcomponents/p-04b23547.entry.js +0 -1
  617. package/dist/webcomponents/p-04ed045b.entry.js +0 -1
  618. package/dist/webcomponents/p-1193a1ac.entry.js +0 -1
  619. package/dist/webcomponents/p-159d8ae7.entry.js +0 -1
  620. package/dist/webcomponents/p-20608f0c.entry.js +0 -1
  621. package/dist/webcomponents/p-266a9aee.entry.js +0 -1
  622. package/dist/webcomponents/p-2bafa257.entry.js +0 -1
  623. package/dist/webcomponents/p-30f61f44.entry.js +0 -1
  624. package/dist/webcomponents/p-3101565c.entry.js +0 -1
  625. package/dist/webcomponents/p-34aa9298.entry.js +0 -1
  626. package/dist/webcomponents/p-3c38cec5.entry.js +0 -1
  627. package/dist/webcomponents/p-3c40eefe.entry.js +0 -1
  628. package/dist/webcomponents/p-42c3bda4.entry.js +0 -1
  629. package/dist/webcomponents/p-44a94dac.entry.js +0 -1
  630. package/dist/webcomponents/p-48d1bc83.entry.js +0 -1
  631. package/dist/webcomponents/p-4dcbc0af.entry.js +0 -1
  632. package/dist/webcomponents/p-58ae4f9e.entry.js +0 -1
  633. package/dist/webcomponents/p-5a3687bf.entry.js +0 -1
  634. package/dist/webcomponents/p-5c8c88c6.entry.js +0 -1
  635. package/dist/webcomponents/p-614b0adc.entry.js +0 -1
  636. package/dist/webcomponents/p-7081eb35.entry.js +0 -1
  637. package/dist/webcomponents/p-7128920a.entry.js +0 -1
  638. package/dist/webcomponents/p-7218c312.entry.js +0 -1
  639. package/dist/webcomponents/p-73388c68.entry.js +0 -1
  640. package/dist/webcomponents/p-77b76007.entry.js +0 -1
  641. package/dist/webcomponents/p-77bd4fb0.entry.js +0 -1
  642. package/dist/webcomponents/p-7a3d9c24.entry.js +0 -1
  643. package/dist/webcomponents/p-8b6b7e20.entry.js +0 -1
  644. package/dist/webcomponents/p-8c07d9f0.entry.js +0 -1
  645. package/dist/webcomponents/p-8cfda6c1.entry.js +0 -1
  646. package/dist/webcomponents/p-8fcd277c.entry.js +0 -1
  647. package/dist/webcomponents/p-90de8098.entry.js +0 -1
  648. package/dist/webcomponents/p-98b8028e.entry.js +0 -1
  649. package/dist/webcomponents/p-9efd1bce.entry.js +0 -1
  650. package/dist/webcomponents/p-9fef2496.entry.js +0 -1
  651. package/dist/webcomponents/p-B-0a8Xqm.js +0 -1
  652. package/dist/webcomponents/p-B4ZUYyNh.js +0 -1
  653. package/dist/webcomponents/p-Bli6WznP.js +0 -1
  654. package/dist/webcomponents/p-BojLBYsY.js +0 -1
  655. package/dist/webcomponents/p-BpaE8q5f.js +0 -1
  656. package/dist/webcomponents/p-Bqlcv3ZV.js +0 -1
  657. package/dist/webcomponents/p-BuCKkdLM.js +0 -1
  658. package/dist/webcomponents/p-C-2kW6Al.js +0 -1
  659. package/dist/webcomponents/p-CPtsjcdm.js +0 -1
  660. package/dist/webcomponents/p-Ch9cTPyq.js +0 -1
  661. package/dist/webcomponents/p-DCIW8z1f.js +0 -1
  662. package/dist/webcomponents/p-DEhd71m_.js +0 -1
  663. package/dist/webcomponents/p-DU8dqq9U.js +0 -1
  664. package/dist/webcomponents/p-a54b8901.entry.js +0 -1
  665. package/dist/webcomponents/p-a655b996.entry.js +0 -1
  666. package/dist/webcomponents/p-a7f8cacb.entry.js +0 -1
  667. package/dist/webcomponents/p-a9bd4e27.entry.js +0 -1
  668. package/dist/webcomponents/p-aec9185f.entry.js +0 -1
  669. package/dist/webcomponents/p-avgjSJ1d.js +0 -1
  670. package/dist/webcomponents/p-b24a2971.entry.js +0 -1
  671. package/dist/webcomponents/p-bf8cf72d.entry.js +0 -1
  672. package/dist/webcomponents/p-c364c76d.entry.js +0 -1
  673. package/dist/webcomponents/p-c3b71a1f.entry.js +0 -1
  674. package/dist/webcomponents/p-c7MCfTgE.js +0 -1
  675. package/dist/webcomponents/p-cfd858be.entry.js +0 -1
  676. package/dist/webcomponents/p-d1951301.entry.js +0 -1
  677. package/dist/webcomponents/p-d39598e4.entry.js +0 -1
  678. package/dist/webcomponents/p-dc0d3484.entry.js +0 -1
  679. package/dist/webcomponents/p-dgG_o6wN.js +0 -1
  680. package/dist/webcomponents/p-e47a2592.entry.js +0 -1
  681. package/dist/webcomponents/p-e6507b93.entry.js +0 -1
  682. package/dist/webcomponents/p-eb56ba9b.entry.js +0 -1
  683. package/dist/webcomponents/p-ed55d333.entry.js +0 -1
  684. package/dist/webcomponents/p-edcb84bf.entry.js +0 -1
  685. package/dist/webcomponents/p-f0957fca.entry.js +0 -1
  686. package/dist/webcomponents/p-f0fc86ce.entry.js +0 -1
  687. package/dist/webcomponents/p-f223fabb.entry.js +0 -1
  688. package/dist/webcomponents/p-f26db2e6.entry.js +0 -1
  689. package/dist/webcomponents/p-fab28b02.entry.js +0 -1
  690. package/dist/webcomponents/p-wtuY7MT2.js +0 -1
  691. package/dist/webcomponents/p-zNSPsvs3.js +0 -1
  692. package/docs/.eslintrc.cjs +0 -17
  693. package/docs/changelog/index.mdx +0 -17
  694. package/docs/entities/businessdetails/index.mdx +0 -158
  695. package/docs/entities/businessform/index.mdx +0 -241
  696. package/docs/entities/index.mdx +0 -19
  697. package/docs/entities/payment-provisioning/index.mdx +0 -131
  698. package/docs/frameworks/angular/index.mdx +0 -112
  699. package/docs/frameworks/index.mdx +0 -18
  700. package/docs/frameworks/react/index.mdx +0 -125
  701. package/docs/frameworks/vue/index.mdx +0 -102
  702. package/docs/helpers/PartsTable.js +0 -50
  703. package/docs/helpers/PartsTable.ts +0 -55
  704. package/docs/helpers/PropsTable.js +0 -56
  705. package/docs/helpers/PropsTable.ts +0 -63
  706. package/docs/helpers/index.js +0 -4
  707. package/docs/helpers/index.ts +0 -3
  708. package/docs/helpers/version.js +0 -32
  709. package/docs/helpers/version.ts +0 -32
  710. package/docs/introduction/index.mdx +0 -125
  711. package/docs/merchant-tools/checkouts-list/index.mdx +0 -107
  712. package/docs/merchant-tools/gross-payments-chart/index.mdx +0 -81
  713. package/docs/merchant-tools/index.mdx +0 -25
  714. package/docs/merchant-tools/order-terminals/index.mdx +0 -84
  715. package/docs/merchant-tools/payment-details/index.mdx +0 -130
  716. package/docs/merchant-tools/payment-transactions-list/index.mdx +0 -85
  717. package/docs/merchant-tools/payments-list/index.mdx +0 -111
  718. package/docs/merchant-tools/payout-details/index.mdx +0 -90
  719. package/docs/merchant-tools/payout-transactions-list/index.mdx +0 -84
  720. package/docs/merchant-tools/payouts-list/index.mdx +0 -94
  721. package/docs/merchant-tools/terminal-orders-list/index.mdx +0 -85
  722. package/docs/merchant-tools/terminals-list/index.mdx +0 -93
  723. package/docs/modular-checkout/complete-examples/index.mdx +0 -20
  724. package/docs/modular-checkout/docs/index.mdx +0 -32
  725. package/docs/modular-checkout/example/index.mdx +0 -25
  726. package/docs/modular-checkout/index.mdx +0 -25
  727. package/docs/modular-checkout/introduction/index.mdx +0 -100
  728. package/docs/modular-checkout/sub-components/apple-pay.mdx +0 -96
  729. package/docs/modular-checkout/sub-components/bank-account-form.mdx +0 -162
  730. package/docs/modular-checkout/sub-components/card-form.mdx +0 -177
  731. package/docs/modular-checkout/sub-components/index.mdx +0 -23
  732. package/docs/modular-checkout/sub-components/payment-method-options.mdx +0 -85
  733. package/docs/modular-checkout/sub-components/plaid-payment-method.mdx +0 -175
  734. package/docs/modular-checkout/sub-components/saved-payment-methods.mdx +0 -177
  735. package/docs/modular-checkout/sub-components/season-interruption-insurance.mdx +0 -219
  736. package/docs/modular-checkout/sub-components/sezzle-payment-method.mdx +0 -183
  737. package/docs/modular-checkout/sub-components/summary.mdx +0 -107
  738. package/docs/payment-facilitation/dispute-management/index.mdx +0 -98
  739. package/docs/payment-facilitation/index.mdx +0 -21
  740. package/docs/payment-facilitation/refund-payment/index.mdx +0 -229
  741. package/docs/payment-facilitation/tokenize-payment-method/index.mdx +0 -361
  742. package/docs/payment-facilitation/unified-fintech-checkout/342/204/242/index.mdx +0 -164
@@ -1,37 +1,160 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-DwYM91AU.js';
1
+ import { h, r as registerInstance, c as createEvent, H as Host } from './index-DwYM91AU.js';
2
2
  import { C as ComponentErrorSeverity, a as ComponentErrorCodes } from './ComponentError-Cjcsf8ku.js';
3
3
  import { m as makeGetBusiness, b as makePatchBusiness, f as makePostBankAccount, g as makePostDocumentRecord } from './payment-provisioning-actions-ONP8lDnV.js';
4
- import { B as BusinessService, a as BusinessBankAccountService, D as DocumentRecordService } from './business.service-pWcc3kfX.js';
4
+ import { B as BusinessService, a as BusinessBankAccountService, D as DocumentRecordService } from './business.service-BrUSam2T.js';
5
+ import { a as additionalQuestionsSchema, c as businessCoreInfoSchemaCAN, b as businessCoreInfoSchemaUSA } from './business-additional-questions-schema-woG5-pgK.js';
6
+ import { F as FormController, c as create$3, a as create$6, b as create$8, d as create$7 } from './index.esm-IWS0494Y.js';
7
+ import { A as AdditionalQuestions, C as CountryCode, e as CoreBusinessInfo, R as Representative, f as Address } from './Business-B5rtFhtR.js';
8
+ import { C as CURRENCY_MASK, P as PHONE_MASKS } from './form-input-masks-CVaOFfrI.js';
9
+ import { J as heading2, ah as buttonSecondary, l as label, X as inputDisabled } from './parts-sA8HBfkI.js';
10
+ import { S as Skeleton } from './skeleton-Dtt56Fl3.js';
11
+ import './event-types-CZfYo5-1.js';
12
+ import { b as businessServiceReceivedOptions, c as businessClassificationOptions } from './business-form-options-D6s5H4RI.js';
13
+ import { a as BusinessFormStep, B as BusinessFormClickActions } from './event-types-XYgDHrVL.js';
5
14
  import './config-state-C2NXATwF.js';
6
15
  import './dinero-HXpYMWUU.js';
7
- import './Refund-BugCdfRo.js';
16
+ import { E as EntityDocumentType, m as EntityDocumentStorage, n as EntityDocument } from './GooglePay-NNHE-OLJ.js';
8
17
  import './Pagination-CLHwhyvu.js';
9
- import { C as CountryCode } from './Business-B5rtFhtR.js';
10
18
  import './Dispute-BH0Xfn-F.js';
11
- import { c as create$3, d as create$7, F as FormController } from './index.esm-IWS0494Y.js';
12
- import { A as Api } from './Api-DX-IWyBw.js';
13
- import { G as heading2 } from './parts-wtuY7MT2.js';
14
- import { a as BusinessFormStep, B as BusinessFormClickActions } from './event-types-XYgDHrVL.js';
15
- import { B as Button } from './button-DBmjN7Ra.js';
16
- import './event-types-CZfYo5-1.js';
19
+ import { z as accountNumberValidation, A as accountTypeValidation, u as identityNameValidation, B as nicknameValidation, C as bankNameValidation, D as numbersOnlyRegex, E as routingNumberValidation } from './schema-validations-iamDi5JD.js';
20
+ import { B as Button } from './button-Bpf3VX8Q.js';
21
+ import { c as countryLabels } from './country-config-BQ4D46Lb.js';
22
+ import { i as identitySchemaByCountry, e as addressSchemaByCountry } from './business-identity-schema-B7VTDF4j.js';
23
+ import { A as Api } from './Api-Dln8a6No.js';
17
24
  import './utils-BeQLScSm.js';
18
- import './index-B-fWxE5e.js';
19
- import './utils-CIaHqjQt.js';
20
25
  import './_commonjsHelpers-BFTU3MAI.js';
26
+ import './index-B-fWxE5e.js';
27
+ import './utils-CDaVtz_6.js';
28
+ import './index-DkoufM1t.js';
29
+
30
+ class BankAccount {
31
+ constructor(data) {
32
+ this.id = data.id;
33
+ this.account_owner_name = data.account_owner_name;
34
+ this.full_name = data.full_name;
35
+ this.account_type = data.account_type;
36
+ this.account_number = data.account_number;
37
+ this.acct_last_four = data.acct_last_four;
38
+ this.account_number_last4 = data.account_number_last4;
39
+ this.routing_number = data.routing_number;
40
+ this.institution_number = data.institution_number;
41
+ this.transit_number = data.transit_number;
42
+ this.bank_name = data.bank_name;
43
+ this.country = data.country;
44
+ this.currency = data.currency;
45
+ this.nickname = data.nickname;
46
+ this.metadata = data.metadata;
47
+ this.business_id = data.business_id;
48
+ this.platform_account_id = data.platform_account_id;
49
+ this.created_at = data.created_at;
50
+ this.updated_at = data.updated_at;
51
+ }
52
+ get payload() {
53
+ return {
54
+ account_owner_name: this.account_owner_name || '',
55
+ account_type: this.account_type || '',
56
+ account_number: this.account_number || '',
57
+ routing_number: this.routing_number || '',
58
+ institution_number: this.institution_number || '',
59
+ transit_number: this.transit_number || '',
60
+ bank_name: this.bank_name || '',
61
+ nickname: this.nickname || '',
62
+ business_id: this.business_id || '',
63
+ };
64
+ }
65
+ }
66
+
67
+ const FormBlock = () => (h("div", { class: "row gap-3" }, h("div", { class: "col-12" }, h(Skeleton, { width: "25%" })), h("div", { class: "col-12" }, h(Skeleton, { width: "100%" })), h("div", { class: "col-12 d-flex gap-3" }, h(Skeleton, { width: "50%" }), h(Skeleton, { width: "50%" })), h("div", { class: "col-12 d-flex gap-3" }, h(Skeleton, { width: "65%" }), h(Skeleton, { width: "35%" }))));
68
+ const PaymentProvisioningLoading = () => {
69
+ return (h("div", { class: "row gap-5" }, h("div", { class: "col-12" }, h(Skeleton, { width: "40%", height: "40px" })), h(FormBlock, null), h(FormBlock, null), h(FormBlock, null)));
70
+ };
21
71
 
22
72
  const AdditionalQuestionsFormStep = class {
23
73
  constructor(hostRef) {
24
74
  registerInstance(this, hostRef);
25
75
  this.errorEvent = createEvent(this, "error-event");
76
+ this.stepCompleteEvent = createEvent(this, "complete-form-step-event");
77
+ this.formLoading = createEvent(this, "formLoading");
78
+ this.errors = {};
79
+ this.additional_questions = {};
80
+ this.recurringPayments = false;
81
+ this.isLoading = false;
82
+ this.getData = () => {
83
+ this.formLoading.emit(true);
84
+ this.isLoading = true;
85
+ this.getBusiness({
86
+ onSuccess: (response) => {
87
+ this.additional_questions = new AdditionalQuestions(response.data.additional_questions || {});
88
+ this.formController.setInitialValues(Object.assign({}, this.additional_questions));
89
+ },
90
+ onError: ({ error, code, severity }) => {
91
+ this.errorEvent.emit({
92
+ message: error,
93
+ errorCode: code,
94
+ severity: severity
95
+ });
96
+ },
97
+ final: () => {
98
+ this.formLoading.emit(false);
99
+ this.isLoading = false;
100
+ }
101
+ });
102
+ };
103
+ this.sendData = (onSuccess) => {
104
+ let submittedData;
105
+ this.formLoading.emit(true);
106
+ this.patchBusiness({
107
+ payload: this.patchPayload,
108
+ onSuccess: (response) => {
109
+ submittedData = response;
110
+ onSuccess();
111
+ },
112
+ onError: ({ error, code, severity }) => {
113
+ submittedData = error;
114
+ this.errorEvent.emit({
115
+ message: error,
116
+ errorCode: code,
117
+ severity: severity
118
+ });
119
+ },
120
+ final: () => {
121
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.additionalQuestions });
122
+ this.formLoading.emit(false);
123
+ }
124
+ });
125
+ };
126
+ this.inputHandler = (name, value) => {
127
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
128
+ this.additional_questions = new AdditionalQuestions(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
129
+ };
26
130
  }
27
131
  propChanged() {
28
132
  this.initializeApi();
29
133
  }
134
+ recurringPaymentsWatcher(newValue) {
135
+ if ((newValue === null || newValue === void 0 ? void 0 : newValue.business_recurring_payments) === 'Yes') {
136
+ this.recurringPayments = true;
137
+ }
138
+ else {
139
+ this.recurringPayments = false;
140
+ }
141
+ }
30
142
  async validateAndSubmit({ onSuccess }) {
31
- this.coreComponent.validateAndSubmit({ onSuccess });
143
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
144
+ }
145
+ get patchPayload() {
146
+ let formValues = new AdditionalQuestions(this.formController.values.getValue()).payload;
147
+ return { additional_questions: formValues };
32
148
  }
33
149
  componentWillLoad() {
34
150
  this.initializeApi();
151
+ this.formController = new FormController(additionalQuestionsSchema(this.allowOptionalFields));
152
+ }
153
+ componentDidLoad() {
154
+ this.getBusiness && this.getData();
155
+ this.formController.errors.subscribe(errors => {
156
+ this.errors = Object.assign({}, errors);
157
+ });
35
158
  }
36
159
  initializeApi() {
37
160
  if (this.authToken && this.businessId) {
@@ -55,27 +178,275 @@ const AdditionalQuestionsFormStep = class {
55
178
  }
56
179
  }
57
180
  render() {
58
- return (h("justifi-additional-questions-form-step-core", { key: 'a2e24c04b312a226b607147bcf68d6ea50a2be05', getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, ref: el => this.coreComponent = el }));
181
+ var _a, _b, _c, _d;
182
+ const additionalQuestionsDefaultValue = this.formController.getInitialValues();
183
+ if (this.isLoading) {
184
+ return h(PaymentProvisioningLoading, null);
185
+ }
186
+ return (h("form", null, h("fieldset", null, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Additional Questions"), h("form-control-tooltip", { helpText: "This information helps us understand the business and identify and monitor trends to safeguard you and your customers." })), h("hr", { class: "mt-2" }), h("div", { class: "row gy-3" }, h("div", { class: "col-12 col-md-6" }, h("form-control-monetary-provisioning", { name: "business_revenue", label: "What is your business' estimated annual revenue from its primary business activities?", inputHandler: this.inputHandler, errorText: (_a = this.errors) === null || _a === void 0 ? void 0 : _a.business_revenue, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_revenue, maskOptions: CURRENCY_MASK.WHOLE })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "business_payment_volume", label: "What is your business' annual credit card & ACH volume anticipated to process?", inputHandler: this.inputHandler, errorText: (_b = this.errors) === null || _b === void 0 ? void 0 : _b.business_payment_volume, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_payment_volume })), h("div", { class: "col-12" }, h("form-control-select", { name: "business_when_service_received", label: "On average, how long after paying will your customers typically receive their goods or services?", inputHandler: this.inputHandler, errorText: (_c = this.errors) === null || _c === void 0 ? void 0 : _c.business_when_service_received, options: businessServiceReceivedOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_when_service_received })), h("div", { class: "col-12" }, h("form-control-text", { name: "business_other_payment_details", label: "Is there anything else you would like us to know about how your customers pay the business? (optional)", inputHandler: this.inputHandler, errorText: (_d = this.errors) === null || _d === void 0 ? void 0 : _d.business_other_payment_details, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_other_payment_details }))))));
59
187
  }
60
188
  static get watchers() { return {
61
189
  "authToken": ["propChanged"],
62
- "businessId": ["propChanged"]
190
+ "businessId": ["propChanged"],
191
+ "additional_questions": ["recurringPaymentsWatcher"]
63
192
  }; }
64
193
  };
65
194
 
195
+ const checkExistingDocs = (documents, documentType) => {
196
+ return documents.some((doc) => doc.document_type === documentType);
197
+ };
198
+ const buildCommonFieldRules = (allowOptionalFields) => {
199
+ if (allowOptionalFields) {
200
+ return {
201
+ bank_name: bankNameValidation.nullable(),
202
+ nickname: nicknameValidation.nullable(),
203
+ account_owner_name: identityNameValidation.nullable(),
204
+ account_type: accountTypeValidation.nullable(),
205
+ account_number: accountNumberValidation.nullable(),
206
+ };
207
+ }
208
+ return {
209
+ bank_name: bankNameValidation.required('Enter bank name'),
210
+ nickname: nicknameValidation.required('Enter nickname'),
211
+ account_owner_name: identityNameValidation.required('Enter account owner name'),
212
+ account_type: accountTypeValidation.required('Select account type'),
213
+ account_number: accountNumberValidation.required('Enter account number'),
214
+ };
215
+ };
216
+ const buildDocumentRules = (documents, allowOptionalFields) => {
217
+ if (allowOptionalFields) {
218
+ return {
219
+ voided_check: create$8().nullable(),
220
+ bank_statement: create$8().nullable(),
221
+ };
222
+ }
223
+ const existingVoidedCheck = checkExistingDocs(documents, EntityDocumentType.voidedCheck);
224
+ const existingBankStatement = checkExistingDocs(documents, EntityDocumentType.bankStatement);
225
+ const existingDocument = existingVoidedCheck || existingBankStatement;
226
+ const documentErrorText = 'Please upload either a voided check or a bank statement. Only one is required.';
227
+ return {
228
+ voided_check: create$8().when('bank_statement', {
229
+ is: (val) => !val && !existingDocument,
230
+ then: (schema) => schema.required(documentErrorText),
231
+ otherwise: (schema) => schema.notRequired(),
232
+ }),
233
+ bank_statement: create$8().when('voided_check', {
234
+ is: (val) => !val && !existingDocument,
235
+ then: (schema) => schema.required(documentErrorText),
236
+ otherwise: (schema) => schema.notRequired(),
237
+ }),
238
+ };
239
+ };
240
+ const buildUSARules = (allowOptionalFields) => {
241
+ if (allowOptionalFields) {
242
+ return { routing_number: routingNumberValidation.nullable() };
243
+ }
244
+ return { routing_number: routingNumberValidation.required('Enter routing number') };
245
+ };
246
+ const buildCANRules = (allowOptionalFields) => {
247
+ const institutionNumberValidation = create$6()
248
+ .length(3, 'Institution number must be 3 digits')
249
+ .matches(numbersOnlyRegex, 'Enter valid institution number');
250
+ const transitNumberValidation = create$6()
251
+ .length(5, 'Transit number must be 5 digits')
252
+ .matches(numbersOnlyRegex, 'Enter valid transit number');
253
+ if (allowOptionalFields) {
254
+ return {
255
+ institution_number: institutionNumberValidation.nullable(),
256
+ transit_number: transitNumberValidation.nullable(),
257
+ };
258
+ }
259
+ return {
260
+ institution_number: institutionNumberValidation.required('Enter institution number'),
261
+ transit_number: transitNumberValidation.required('Enter transit number'),
262
+ };
263
+ };
264
+ const businessBankAccountSchemaUSA = (documents, allowOptionalFields) => {
265
+ const shape = Object.assign(Object.assign(Object.assign({}, buildCommonFieldRules(allowOptionalFields)), buildUSARules(allowOptionalFields)), buildDocumentRules(documents, allowOptionalFields));
266
+ return create$3().shape(shape, [['voided_check', 'bank_statement']]);
267
+ };
268
+ const businessBankAccountSchemaCAN = (documents, allowOptionalFields) => {
269
+ const shape = Object.assign(Object.assign(Object.assign({}, buildCommonFieldRules(allowOptionalFields)), buildCANRules(allowOptionalFields)), buildDocumentRules(documents, allowOptionalFields));
270
+ return create$3().shape(shape, [['voided_check', 'bank_statement']]);
271
+ };
272
+ const bankAccountSchemaByCountry = {
273
+ [CountryCode.USA]: (allowOptionalFields, documents = []) => businessBankAccountSchemaUSA(documents, allowOptionalFields),
274
+ [CountryCode.CAN]: (allowOptionalFields, documents = []) => businessBankAccountSchemaCAN(documents, allowOptionalFields),
275
+ };
276
+
66
277
  const BusinessBankAccountFormStep = class {
67
278
  constructor(hostRef) {
68
279
  registerInstance(this, hostRef);
69
280
  this.errorEvent = createEvent(this, "error-event");
281
+ this.stepCompleteEvent = createEvent(this, "complete-form-step-event");
282
+ this.formLoading = createEvent(this, "formLoading");
283
+ this.errors = {};
284
+ this.bankAccount = {};
285
+ this.existingDocuments = [];
286
+ this.documentData = new EntityDocumentStorage();
287
+ this.isLoading = false;
288
+ this.isAddingNewBankAccount = true;
289
+ this.getSchema = () => {
290
+ const schema = bankAccountSchemaByCountry[this.country];
291
+ return schema(this.allowOptionalFields, this.existingDocuments);
292
+ };
293
+ this.initializeFormController = () => {
294
+ this.formController = new FormController(this.getSchema());
295
+ if (this.isAddingNewBankAccount) {
296
+ // Clear form when adding a new bank account
297
+ this.formController.setInitialValues({ business_id: this.businessId });
298
+ }
299
+ else {
300
+ this.formController.setInitialValues(Object.assign({}, this.bankAccount));
301
+ }
302
+ this.formController.errors.subscribe(errors => {
303
+ this.errors = Object.assign({}, errors);
304
+ });
305
+ };
306
+ this.inputHandler = (name, value) => {
307
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
308
+ };
309
+ this.storeFiles = (e) => {
310
+ const fileList = Array.from(e.detail.fileList);
311
+ const docType = e.detail.document_type;
312
+ const documentList = fileList.map(file => new EntityDocument({ file, document_type: docType }, this.businessId));
313
+ this.documentData[docType] = documentList;
314
+ };
315
+ this.getData = () => {
316
+ this.isLoading = true;
317
+ this.getBusiness({
318
+ onSuccess: (response) => {
319
+ if (response.data.bank_accounts.length > 0) {
320
+ // Get the latest bank account (last in array)
321
+ const bankAccounts = response.data.bank_accounts;
322
+ const latestBankAccount = bankAccounts[bankAccounts.length - 1];
323
+ this.bankAccount = new BankAccount(latestBankAccount);
324
+ this.isAddingNewBankAccount = false;
325
+ }
326
+ else {
327
+ this.bankAccount = new BankAccount({});
328
+ this.bankAccount.business_id = this.businessId;
329
+ }
330
+ this.existingDocuments = response.data.documents;
331
+ },
332
+ onError: ({ error, code, severity }) => {
333
+ this.errorEvent.emit({
334
+ message: error,
335
+ errorCode: code,
336
+ severity: severity
337
+ });
338
+ },
339
+ final: () => {
340
+ this.initializeFormController();
341
+ this.isLoading = false;
342
+ }
343
+ });
344
+ };
345
+ this.handleChangeBankAccount = () => {
346
+ this.isAddingNewBankAccount = true;
347
+ this.documentData = new EntityDocumentStorage();
348
+ this.initializeFormController();
349
+ };
350
+ this.handleCancel = () => {
351
+ this.isAddingNewBankAccount = false;
352
+ this.documentData = new EntityDocumentStorage();
353
+ this.initializeFormController();
354
+ };
355
+ this.handleSaveBankAccount = async () => {
356
+ this.formController.validateAndSubmit(() => {
357
+ this.sendData(() => {
358
+ // Success callback - form will refresh automatically
359
+ });
360
+ });
361
+ };
362
+ this.postDocumentRecordData = async (docData) => {
363
+ this.isLoading = true;
364
+ const payload = docData.record_data;
365
+ return new Promise((resolve) => {
366
+ this.postDocumentRecord({
367
+ payload,
368
+ onSuccess: (response) => {
369
+ resolve(this.handleDocRecordResponse(docData, response));
370
+ },
371
+ onError: ({ error, code, severity }) => {
372
+ this.errorEvent.emit({
373
+ message: error,
374
+ errorCode: code,
375
+ severity: severity
376
+ });
377
+ resolve(false);
378
+ },
379
+ });
380
+ });
381
+ };
382
+ this.handleDocRecordResponse = (docData, response) => {
383
+ if (response.error) {
384
+ this.errorEvent.emit({
385
+ errorCode: ComponentErrorCodes.POST_ERROR,
386
+ message: response.error.message,
387
+ severity: ComponentErrorSeverity.ERROR,
388
+ data: response.error,
389
+ });
390
+ return false;
391
+ }
392
+ else {
393
+ docData.setPresignedUrl(response.data.presigned_url);
394
+ return true;
395
+ }
396
+ };
397
+ this.uploadDocument = async (docData) => {
398
+ if (!docData.presigned_url) {
399
+ throw new Error('Presigned URL is not set');
400
+ }
401
+ const fileData = await docData.getFileData();
402
+ const response = await fetch(docData.presigned_url, {
403
+ method: 'PUT',
404
+ body: fileData
405
+ });
406
+ return this.handleUploadResponse(response);
407
+ };
408
+ this.handleUploadResponse = (response) => {
409
+ if (response.error) {
410
+ this.errorEvent.emit({
411
+ errorCode: ComponentErrorCodes.POST_ERROR,
412
+ message: response.error.message,
413
+ severity: ComponentErrorSeverity.ERROR,
414
+ data: response.error,
415
+ });
416
+ return false;
417
+ }
418
+ else {
419
+ return true;
420
+ }
421
+ };
70
422
  }
71
423
  propChanged() {
72
424
  this.initializeApi();
73
425
  }
426
+ watchHandler(newValue) {
427
+ this.formLoading.emit(newValue);
428
+ }
74
429
  async validateAndSubmit({ onSuccess }) {
75
- this.coreComponent.validateAndSubmit({ onSuccess });
430
+ if (this.existingBankAccount && !this.isAddingNewBankAccount) {
431
+ // If a bank account already exists and we're not adding a new one, skip bank account posting; proceed directly to document upload
432
+ this.sendData(onSuccess);
433
+ }
434
+ else {
435
+ // If bank account is new, validate form inputs (bank account fields), then proceed
436
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
437
+ }
76
438
  }
77
439
  componentWillLoad() {
78
440
  this.initializeApi();
441
+ if (this.getBusiness) {
442
+ this.getData();
443
+ }
444
+ this.formController = new FormController(this.getSchema());
445
+ }
446
+ componentDidLoad() {
447
+ this.formController.errors.subscribe(errors => {
448
+ this.errors = Object.assign({}, errors);
449
+ });
79
450
  }
80
451
  initializeApi() {
81
452
  if (this.authToken && this.businessId) {
@@ -101,12 +472,132 @@ const BusinessBankAccountFormStep = class {
101
472
  });
102
473
  }
103
474
  }
475
+ get postPayload() {
476
+ const values = this.formController.values.getValue();
477
+ const formValues = new BankAccount(values).payload;
478
+ return formValues;
479
+ }
480
+ get existingBankAccount() {
481
+ var _a;
482
+ return !!((_a = this.bankAccount) === null || _a === void 0 ? void 0 : _a.id);
483
+ }
484
+ get showReadOnlyView() {
485
+ return this.existingBankAccount && !this.isAddingNewBankAccount;
486
+ }
487
+ async sendData(onSuccess) {
488
+ try {
489
+ // Post bank account data if we're adding a new bank account
490
+ const bankAccountPosted = this.isAddingNewBankAccount ? await this.postBankAccountData() : true;
491
+ if (!bankAccountPosted) {
492
+ return;
493
+ }
494
+ // Post documents only after bank account was successfully created
495
+ const documentsUploaded = await this.postBusinessDocuments();
496
+ if (!documentsUploaded) {
497
+ return;
498
+ }
499
+ // Refresh bank account data after successful save
500
+ if (this.isAddingNewBankAccount) {
501
+ this.isAddingNewBankAccount = false;
502
+ await this.refreshBankAccountData();
503
+ }
504
+ onSuccess();
505
+ }
506
+ catch (error) {
507
+ this.errorEvent.emit({
508
+ message: error,
509
+ errorCode: ComponentErrorCodes.POST_ERROR,
510
+ severity: ComponentErrorSeverity.ERROR
511
+ });
512
+ }
513
+ }
514
+ async postBankAccountData() {
515
+ let submittedData;
516
+ this.isLoading = true;
517
+ return new Promise((resolve) => {
518
+ let success = false;
519
+ this.postBankAccount({
520
+ payload: this.postPayload,
521
+ onSuccess: (response) => {
522
+ submittedData = response;
523
+ success = true;
524
+ },
525
+ onError: ({ error, code, severity }) => {
526
+ success = false;
527
+ this.errorEvent.emit({
528
+ message: error,
529
+ errorCode: code,
530
+ severity: severity
531
+ });
532
+ },
533
+ final: () => {
534
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.bankAccount });
535
+ this.isLoading = false;
536
+ resolve(success);
537
+ }
538
+ });
539
+ });
540
+ }
541
+ async refreshBankAccountData() {
542
+ return new Promise((resolve) => {
543
+ this.isLoading = true;
544
+ this.getBusiness({
545
+ onSuccess: (response) => {
546
+ if (response.data.bank_accounts.length > 0) {
547
+ // Get the latest bank account (last in array)
548
+ const bankAccounts = response.data.bank_accounts;
549
+ const latestBankAccount = bankAccounts[bankAccounts.length - 1];
550
+ this.bankAccount = new BankAccount(latestBankAccount);
551
+ }
552
+ this.existingDocuments = response.data.documents;
553
+ this.initializeFormController();
554
+ },
555
+ onError: ({ error, code, severity }) => {
556
+ this.errorEvent.emit({
557
+ message: error,
558
+ errorCode: code,
559
+ severity: severity
560
+ });
561
+ },
562
+ final: () => {
563
+ this.isLoading = false;
564
+ resolve();
565
+ }
566
+ });
567
+ });
568
+ }
569
+ async postBusinessDocuments() {
570
+ this.isLoading = true;
571
+ try {
572
+ const docArray = Object.values(this.documentData).flat();
573
+ if (!docArray.length) {
574
+ return true;
575
+ }
576
+ const recordsCreated = await Promise.all(docArray.map((docData) => this.postDocumentRecordData(docData))); // Create document records
577
+ if (recordsCreated.includes(false)) {
578
+ return false;
579
+ } // Exit if document record creation fails
580
+ const uploadsCompleted = await Promise.all(docArray.map((docData) => this.uploadDocument(docData))); // Upload documents to AWS presigned URLs
581
+ if (uploadsCompleted.includes(false)) {
582
+ return false;
583
+ } // Exit if any upload fails
584
+ return true;
585
+ }
586
+ finally {
587
+ this.isLoading = false;
588
+ }
589
+ }
104
590
  render() {
105
- return (h("justifi-business-bank-account-form-step-core", { key: 'f4e4c31d04884510d5b432b7cced5eea2b618bcd', businessId: this.businessId, getBusiness: this.getBusiness, postBankAccount: this.postBankAccount, postDocumentRecord: this.postDocumentRecord, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: el => this.coreComponent = el }));
591
+ const bankAccountDefaultValue = this.formController.getInitialValues();
592
+ if (this.isLoading) {
593
+ return h(PaymentProvisioningLoading, null);
594
+ }
595
+ return (h("form", null, h("fieldset", { class: "mb-4" }, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Bank Account Info"), h("form-control-tooltip", { helpText: "This direct deposit account is the designated bank account where incoming funds will be deposited. The name of this account must match the registered business name exactly. We are not able to accept personal accounts unless your business is a registered sole proprietorship." })), h("hr", { class: "mt-2" }), this.country === CountryCode.CAN ? (h("bank-account-form-inputs-canada", { defaultValue: bankAccountDefaultValue, errors: this.errors, inputHandler: this.inputHandler, formDisabled: this.showReadOnlyView })) : (h("bank-account-form-inputs", { defaultValue: bankAccountDefaultValue, errors: this.errors, inputHandler: this.inputHandler, formDisabled: this.showReadOnlyView })), this.showReadOnlyView && (h("div", { class: "mt-3" }, h(Button, { variant: "secondary", type: "button", onClick: this.handleChangeBankAccount, disabled: this.isLoading, part: buttonSecondary }, "Change Bank Account"))), (!this.existingBankAccount || this.isAddingNewBankAccount) && (h("div", { class: "mt-3 d-flex gap-2" }, this.isAddingNewBankAccount && (h(Button, { variant: "secondary", type: "button", onClick: this.handleCancel, disabled: this.isLoading, part: buttonSecondary }, "Cancel")), h(Button, { variant: "primary", type: "button", onClick: this.handleSaveBankAccount, disabled: this.isLoading, isLoading: this.isLoading }, "Save Bank Account")))), h("fieldset", { class: "mt-4" }, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Document Uploads"), h("form-control-tooltip", { helpText: "One document (voided check or bank statement) is required for underwriting purposes. It needs to visibly show the name tied to the account and the account number. Various file formats such as PDF, DOC, DOCX, JPEG are accepted. Multiple files can be uploaded for each document category." })), h("hr", { class: "mt-2" }), h("business-documents-on-file", { documents: this.existingDocuments, isLoading: this.isLoading }), h("bank-account-document-form-inputs", { inputHandler: this.inputHandler, errors: this.errors, storeFiles: this.storeFiles }))));
106
596
  }
107
597
  static get watchers() { return {
108
598
  "authToken": ["propChanged"],
109
- "businessId": ["propChanged"]
599
+ "businessId": ["propChanged"],
600
+ "isLoading": ["watchHandler"]
110
601
  }; }
111
602
  };
112
603
 
@@ -114,15 +605,86 @@ const BusinessCoreInfoFormStep = class {
114
605
  constructor(hostRef) {
115
606
  registerInstance(this, hostRef);
116
607
  this.errorEvent = createEvent(this, "error-event");
608
+ this.stepCompleteEvent = createEvent(this, "complete-form-step-event");
609
+ this.formLoading = createEvent(this, "formLoading");
610
+ this.errors = {};
611
+ this.coreInfo = {};
612
+ this.isLoading = false;
613
+ this.isEditingTaxId = false;
614
+ this.getData = () => {
615
+ if (!this.getBusiness)
616
+ return;
617
+ this.formLoading.emit(true);
618
+ this.isLoading = true;
619
+ this.getBusiness({
620
+ onSuccess: (response) => {
621
+ this.coreInfo = new CoreBusinessInfo(response.data);
622
+ this.formController.setInitialValues(Object.assign({}, this.coreInfo));
623
+ },
624
+ onError: ({ error, code, severity }) => {
625
+ this.errorEvent.emit({
626
+ message: error,
627
+ errorCode: code,
628
+ severity: severity
629
+ });
630
+ },
631
+ final: () => {
632
+ this.formLoading.emit(false);
633
+ this.isLoading = false;
634
+ }
635
+ });
636
+ };
637
+ this.sendData = (onSuccess) => {
638
+ let submittedData;
639
+ this.formLoading.emit(true);
640
+ this.patchBusiness({
641
+ payload: this.patchPayload,
642
+ onSuccess: (response) => {
643
+ submittedData = response;
644
+ onSuccess();
645
+ // after successful patch, revert back to read-only for tax id
646
+ this.isEditingTaxId = false;
647
+ },
648
+ onError: ({ error, code, severity }) => {
649
+ submittedData = error;
650
+ this.errorEvent.emit({
651
+ message: error,
652
+ errorCode: code,
653
+ severity: severity
654
+ });
655
+ },
656
+ final: () => {
657
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.businessInfo });
658
+ this.formLoading.emit(false);
659
+ }
660
+ });
661
+ };
662
+ this.inputHandler = (name, value) => {
663
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
664
+ };
117
665
  }
118
666
  propChanged() {
119
667
  this.initializeApi();
120
668
  }
121
669
  async validateAndSubmit({ onSuccess }) {
122
- this.coreComponent.validateAndSubmit({ onSuccess });
670
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
671
+ }
672
+ get patchPayload() {
673
+ let formValues = new CoreBusinessInfo(this.formController.values.getValue()).payload;
674
+ return formValues;
123
675
  }
124
676
  componentWillLoad() {
125
677
  this.initializeApi();
678
+ const schema = (this.country === CountryCode.CAN)
679
+ ? businessCoreInfoSchemaCAN(this.allowOptionalFields)
680
+ : businessCoreInfoSchemaUSA(this.allowOptionalFields);
681
+ this.formController = new FormController(schema);
682
+ this.getData();
683
+ }
684
+ componentDidLoad() {
685
+ this.formController.errors.subscribe(errors => {
686
+ this.errors = Object.assign({}, errors);
687
+ });
126
688
  }
127
689
  initializeApi() {
128
690
  if (this.authToken && this.businessId) {
@@ -146,7 +708,16 @@ const BusinessCoreInfoFormStep = class {
146
708
  }
147
709
  }
148
710
  render() {
149
- return (h("justifi-business-core-info-form-step-core", { key: '1aeaeae1d432883c1e242c066881cabc37097032', businessId: this.businessId, getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: el => this.coreComponent = el }));
711
+ var _a, _b;
712
+ const coreInfoDefaultValue = this.formController.getInitialValues();
713
+ if (this.isLoading) {
714
+ return h(PaymentProvisioningLoading, null);
715
+ }
716
+ return (h("form", null, h("fieldset", null, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Business Information")), h("hr", { class: "mt-2" }), h("div", { class: "row gy-3" }, h("div", { class: "col-12" }, h("form-control-text", { name: "legal_name", label: "Business Name", defaultValue: coreInfoDefaultValue.legal_name, errorText: this.errors.legal_name, inputHandler: this.inputHandler, helpText: "Enter this exactly as it appears on your tax records (don't use acronyms or abbreviations unless you registered that way)." })), h("div", { class: "col-12" }, h("form-control-text", { name: "doing_business_as", label: "Doing Business As (DBA)", defaultValue: coreInfoDefaultValue.doing_business_as, errorText: this.errors.doing_business_as, inputHandler: this.inputHandler, helpText: "Enter this exactly as it appears on your tax records (leave blank if you don't have a registered DBA/trade name)" })), h("div", { class: "col-12 col-md-8" }, h("form-control-select", { name: "classification", label: "Business Classification", options: businessClassificationOptions, defaultValue: coreInfoDefaultValue.classification, errorText: this.errors.classification, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-4" }, h("form-control-date", { name: "date_of_incorporation", label: "Date of Registration", defaultValue: coreInfoDefaultValue.date_of_incorporation, errorText: this.errors.date_of_incorporation, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "industry", label: "Industry", defaultValue: coreInfoDefaultValue.industry, errorText: this.errors.industry, inputHandler: this.inputHandler, helpText: "Describe what you sell" })), h("div", { class: "col-12 col-md-6" }, (!((_a = this.coreInfo) === null || _a === void 0 ? void 0 : _a.tax_id_last4) || this.isEditingTaxId) ? (h("form-control-number-masked", { name: "tax_id", label: countryLabels[this.country].taxIdLabel, defaultValue: this.isEditingTaxId ? '' : coreInfoDefaultValue.tax_id, errorText: this.errors.tax_id, inputHandler: this.inputHandler, mask: '000000000', helpText: countryLabels[this.country].taxIdHelpText })) : (h("div", null, h("label", { class: "form-label", part: label }, countryLabels[this.country].taxIdLabel), h("div", { class: "input-group mb-3" }, h("input", { type: "text", class: "form-control", part: inputDisabled, value: `****${(_b = this.coreInfo) === null || _b === void 0 ? void 0 : _b.tax_id_last4}`, disabled: true }), h("button", { class: "btn btn-secondary", type: "button", part: buttonSecondary, onClick: () => {
717
+ this.isEditingTaxId = true;
718
+ // Clear last4-equivalent and current value if any future conditional validation depends on it
719
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { tax_id: '', tax_id_last4: null }));
720
+ } }, "Change"))))), h("div", { class: "col-12" }, h("form-control-text", { name: "website_url", label: "Business Website URL", defaultValue: coreInfoDefaultValue.website_url, errorText: this.errors.website_url, inputHandler: this.inputHandler, helpText: "Don't have a live website? You can use your social media business page, app store link, or staging site URL." })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "email", label: "Business Email Address", defaultValue: coreInfoDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-6" }, h("form-control-number-masked", { name: "phone", label: "Business Phone Number", defaultValue: coreInfoDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US }))))));
150
721
  }
151
722
  static get watchers() { return {
152
723
  "authToken": ["propChanged"],
@@ -157,16 +728,105 @@ const BusinessCoreInfoFormStep = class {
157
728
  const BusinessOwnersFormStep = class {
158
729
  constructor(hostRef) {
159
730
  registerInstance(this, hostRef);
731
+ this.clickEvent = createEvent(this, "click-event");
732
+ this.stepCompleteEvent = createEvent(this, "complete-form-step-event");
160
733
  this.errorEvent = createEvent(this, "error-event");
734
+ this.formLoading = createEvent(this, "formLoading");
735
+ this.ownersPayload = [];
736
+ this.refs = [];
737
+ this.isLoading = false;
738
+ this.matchRef = (ref, ownerId) => {
739
+ const ownerIndex = this.refs.findIndex(ref => ref === ownerId);
740
+ if (ownerIndex !== -1) {
741
+ this.refs[ownerIndex] = ref;
742
+ }
743
+ };
744
+ this.getData = () => {
745
+ this.formLoading.emit(true);
746
+ this.isLoading = true;
747
+ this.getBusiness({
748
+ onSuccess: (response) => {
749
+ if (response.data.owners.length) {
750
+ this.ownersPayload = response.data.owners.map(owner => ({ id: owner.id }));
751
+ }
752
+ else {
753
+ this.addOwnerForm();
754
+ }
755
+ },
756
+ onError: ({ error, code, severity }) => {
757
+ this.errorEvent.emit({
758
+ message: error,
759
+ errorCode: code,
760
+ severity: severity
761
+ });
762
+ },
763
+ final: () => {
764
+ this.formLoading.emit(false);
765
+ this.isLoading = false;
766
+ this.manageRefs();
767
+ }
768
+ });
769
+ };
770
+ this.sendData = async (onSuccess) => {
771
+ let submittedData;
772
+ this.formLoading.emit(true);
773
+ this.patchBusiness({
774
+ payload: { owners: this.ownersPayload },
775
+ onSuccess: (response) => {
776
+ submittedData = response;
777
+ onSuccess();
778
+ },
779
+ onError: ({ error, code, severity }) => {
780
+ submittedData = error;
781
+ this.errorEvent.emit({
782
+ message: error,
783
+ errorCode: code,
784
+ severity: severity
785
+ });
786
+ },
787
+ final: () => {
788
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.owners });
789
+ this.formLoading.emit(false);
790
+ }
791
+ });
792
+ };
793
+ this.addOwnerForm = (fireClick) => {
794
+ this.newFormOpen = true;
795
+ this.ownersPayload = [...this.ownersPayload, { id: '' }];
796
+ fireClick && this.clickEvent.emit({ name: BusinessFormClickActions.addOwnerForm });
797
+ };
798
+ this.removeOwnerForm = (id) => {
799
+ this.ownersPayload = this.ownersPayload.filter(owner => owner.id !== id);
800
+ this.newFormOpen && (this.newFormOpen = false);
801
+ };
161
802
  }
162
803
  propChanged() {
163
804
  this.initializeApi();
164
805
  }
806
+ get showAddOwnerButton() {
807
+ return this.ownersPayload.length < 4 && !this.newFormOpen;
808
+ }
809
+ manageRefs() {
810
+ this.refs = this.ownersPayload.map((owner) => { return owner.id; });
811
+ }
165
812
  async validateAndSubmit({ onSuccess }) {
166
- this.coreComponent.validateAndSubmit({ onSuccess });
813
+ const formValidations = this.refs.map(ref => ref.validate());
814
+ const formsValid = (await Promise.all(formValidations)).every(result => result);
815
+ if (!formsValid) {
816
+ return;
817
+ }
818
+ const formSubmissions = this.refs.map(ref => ref.submit());
819
+ const submissionsValid = (await Promise.all(formSubmissions)).every(result => result);
820
+ if (!submissionsValid) {
821
+ return;
822
+ }
823
+ this.sendData(onSuccess);
167
824
  }
168
825
  componentWillLoad() {
169
826
  this.initializeApi();
827
+ if (this.getBusiness) {
828
+ this.getData();
829
+ }
170
830
  }
171
831
  initializeApi() {
172
832
  if (this.authToken && this.businessId) {
@@ -189,12 +849,31 @@ const BusinessOwnersFormStep = class {
189
849
  });
190
850
  }
191
851
  }
852
+ ownersWatcher() {
853
+ this.manageRefs();
854
+ }
855
+ handleOwnerSubmit(event) {
856
+ const submittedOwner = event.detail;
857
+ const updatedOwners = this.ownersPayload.map(owner => owner.id === submittedOwner.id ? submittedOwner : owner);
858
+ if (!updatedOwners.includes(submittedOwner)) {
859
+ const newOwnerIndex = this.ownersPayload.findIndex(owner => !owner.id);
860
+ updatedOwners[newOwnerIndex] = submittedOwner;
861
+ this.newFormOpen && (this.newFormOpen = false);
862
+ }
863
+ this.ownersPayload = updatedOwners;
864
+ }
192
865
  render() {
193
- return (h(Host, { key: '510b3ece6194fa6c34c04ba4d87718490631b69d' }, h("justifi-business-owners-form-step-core", { key: '01b034456e183d39b6adc4b9f9d36e289483eb9b', authToken: this.authToken, businessId: this.businessId, getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: (el) => this.coreComponent = el })));
866
+ if (this.isLoading) {
867
+ return (h(Host, null, h(PaymentProvisioningLoading, null)));
868
+ }
869
+ return (h(Host, null, h("div", null, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Owners"), h("form-control-tooltip", { helpText: "For partnerships, LLCs or privately held corporations, the business is required to apply with all individuals with 25% or more ownership to the application. For charities and registered non-profits, the business is required to apply with 1 individual with substantial control over the entity, such as a board member or director." })), h("hr", { class: "mt-2" }), h("div", { class: 'row gy-3' }, this.ownersPayload.map((owner) => {
870
+ return (h("justifi-owner-form", { key: owner.id, authToken: this.authToken, businessId: this.businessId, ownerId: owner.id, removeOwner: this.removeOwnerForm, newFormOpen: this.newFormOpen, ownersLength: this.ownersPayload.length, country: this.country, allowOptionalFields: this.allowOptionalFields, ref: (ref) => this.matchRef(ref, owner.id) }));
871
+ })), h("div", { class: 'd-flex justify-content-start' }, h("div", { class: 'gap-2' }, h(Button, { variant: 'primary', onClick: () => this.addOwnerForm(true), hidden: !this.showAddOwnerButton }, "Add Owner"))))));
194
872
  }
195
873
  static get watchers() { return {
196
874
  "authToken": ["propChanged"],
197
- "businessId": ["propChanged"]
875
+ "businessId": ["propChanged"],
876
+ "ownersPayload": ["ownersWatcher"]
198
877
  }; }
199
878
  };
200
879
 
@@ -202,15 +881,69 @@ const BusinessRepresentativeFormStep = class {
202
881
  constructor(hostRef) {
203
882
  registerInstance(this, hostRef);
204
883
  this.errorEvent = createEvent(this, "error-event");
884
+ this.stepCompleteEvent = createEvent(this, "complete-form-step-event");
885
+ this.formLoading = createEvent(this, "formLoading");
886
+ this.errors = {};
887
+ this.representative = {};
888
+ this.isLoading = false;
889
+ this.getData = () => {
890
+ if (!this.getBusiness || !this.formController)
891
+ return;
892
+ this.formLoading.emit(true);
893
+ this.isLoading = true;
894
+ this.getBusiness({
895
+ onSuccess: (response) => {
896
+ this.representative = new Representative(response.data.representative || {});
897
+ this.representative.address.country = this.country;
898
+ this.formController.setInitialValues(Object.assign({}, this.representative));
899
+ },
900
+ onError: ({ error, code, severity }) => {
901
+ this.errorEvent.emit({
902
+ message: error,
903
+ errorCode: code,
904
+ severity: severity
905
+ });
906
+ },
907
+ final: () => {
908
+ this.formLoading.emit(false);
909
+ this.isLoading = false;
910
+ }
911
+ });
912
+ };
913
+ this.sendData = (onSuccess) => {
914
+ let submittedData;
915
+ this.formLoading.emit(true);
916
+ this.patchBusiness({
917
+ payload: this.patchPayload,
918
+ onSuccess: (response) => {
919
+ submittedData = response;
920
+ onSuccess();
921
+ },
922
+ onError: ({ error, code, severity }) => {
923
+ submittedData = error;
924
+ this.errorEvent.emit({
925
+ message: error,
926
+ errorCode: code,
927
+ severity: severity
928
+ });
929
+ },
930
+ final: () => {
931
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.representative });
932
+ this.formLoading.emit(false);
933
+ }
934
+ });
935
+ };
205
936
  }
206
937
  propChanged() {
207
938
  this.initializeApi();
939
+ this.getData();
208
940
  }
209
941
  async validateAndSubmit({ onSuccess }) {
210
- this.coreComponent.validateAndSubmit({ onSuccess });
942
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
211
943
  }
212
944
  componentWillLoad() {
213
945
  this.initializeApi();
946
+ this.initializeForm();
214
947
  }
215
948
  initializeApi() {
216
949
  if (this.authToken && this.businessId) {
@@ -233,8 +966,35 @@ const BusinessRepresentativeFormStep = class {
233
966
  });
234
967
  }
235
968
  }
969
+ initializeForm() {
970
+ const schemaFactory = identitySchemaByCountry[this.country];
971
+ if (!schemaFactory) {
972
+ this.errorEvent.emit({
973
+ message: 'Missing schema for selected country',
974
+ errorCode: ComponentErrorCodes.MISSING_PROPS,
975
+ severity: ComponentErrorSeverity.ERROR,
976
+ });
977
+ return;
978
+ }
979
+ this.formController = new FormController(schemaFactory('representative', this.allowOptionalFields));
980
+ this.getData();
981
+ }
982
+ componentDidLoad() {
983
+ if (!this.formController)
984
+ return;
985
+ this.formController.errors.subscribe(errors => {
986
+ this.errors = Object.assign({}, errors);
987
+ });
988
+ }
989
+ get patchPayload() {
990
+ let formValues = new Representative(this.formController.values.getValue()).payload;
991
+ return { representative: formValues };
992
+ }
236
993
  render() {
237
- return (h("justifi-business-representative-form-step-core", { key: '93ebeaecfc5eecc8a4c74cbc30760d35d8120183', getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: el => this.coreComponent = el }));
994
+ if (!this.formController || this.isLoading) {
995
+ return (h(PaymentProvisioningLoading, null));
996
+ }
997
+ return (h("justifi-business-representative-form-inputs", { representativeDefaultValue: this.formController.getInitialValues(), errors: this.errors, formController: this.formController, country: this.country }));
238
998
  }
239
999
  static get watchers() { return {
240
1000
  "authToken": ["propChanged"],
@@ -362,7 +1122,7 @@ const BusinessTermsConditionsFormStep = class {
362
1122
  return (h("a", { href: "https://justifi.tech/merchant-agreement/", target: "_blank", rel: "noopener noreferrer" }, "merchant agreement"));
363
1123
  }
364
1124
  render() {
365
- return (h("form", { key: '6fbccc271d16cbb87d8845b06b58fd461e18f770' }, h("fieldset", { key: 'ce5240753aefdb4aa92aa3ba5af4741466702ae6' }, h("legend", { key: '01a3a99f6d9dfe45ae12eb2a603ebc70a25747be', part: heading2 }, "Terms and Conditions"), h("hr", { key: 'b0209b2df034353f663cf4dde25fee51e2906dc4' }), h("div", { key: '1ed270526bc1f6d24d81c485ea6e9459607bac3e' }, h("p", { key: '8c98f939d4db12cad7169debc71fd0ad652cc724' }, "Please read and accept the ", this.merchantAgreementLink, " to submit your provisioning request.")), h("br", { key: '021ffcc28e65e59d8fb81a8a2507cac1ce0d448f' }), h("div", { key: 'e6181b2a5ad6b01be123962bf17282cb1f97fd30', class: "row-gy-3" }, h("div", { key: '82acd8dcfed625e051b93bb8845fb9d11b5e26ce', class: "col-12" }, h("form-control-checkbox", { key: 'c246a348366354dce60ec4dc00e3a4791281a584', name: "accepted", label: "I agree to the terms and conditions", inputHandler: this.inputHandler, errorText: this.errors.accepted, disabled: this.acceptedTermsBefore, helpText: this.formHelperText, checked: this.acceptedTerms }))))));
1125
+ return (h("form", { key: '721f3c171358f9450a8b460dafac3c9f7f27727b' }, h("fieldset", { key: 'e151086c528d5e359e4ecd2c33feb01c5571a6ca' }, h("legend", { key: 'ff4ba3bead3ec50cf9736d6a864740e542f42b2d', part: heading2 }, "Terms and Conditions"), h("hr", { key: 'c076bfe230bafbe8db7280f5f708de893c970bf2' }), h("div", { key: 'd2a1e0f4e15077d07fe7de2cb847252990b44bde' }, h("p", { key: '559c4c6d6e27b5fb800984e87097fe080482462d' }, "Please read and accept the ", this.merchantAgreementLink, " to submit your provisioning request.")), h("br", { key: '014b3a7be231c81bd23c35ab212d7ac4e4c1d107' }), h("div", { key: '3ef38ecffd678c36c564836434f0a0da341116af', class: "row-gy-3" }, h("div", { key: 'e715723e19a212628d29fec46ca494b7080dac66', class: "col-12" }, h("form-control-checkbox", { key: '6054f012fa3abacf6b9f6ffe7d7e88444d8a1066', name: "accepted", label: "I agree to the terms and conditions", inputHandler: this.inputHandler, errorText: this.errors.accepted, disabled: this.acceptedTermsBefore, helpText: this.formHelperText, checked: this.acceptedTerms }))))));
366
1126
  }
367
1127
  };
368
1128
 
@@ -370,15 +1130,83 @@ const LegalAddressFormStep = class {
370
1130
  constructor(hostRef) {
371
1131
  registerInstance(this, hostRef);
372
1132
  this.errorEvent = createEvent(this, "error-event");
1133
+ this.stepCompleteEvent = createEvent(this, "complete-form-step-event");
1134
+ this.formLoading = createEvent(this, "formLoading");
1135
+ this.errors = {};
1136
+ this.legal_address = {};
1137
+ this.isLoading = false;
1138
+ this.getData = () => {
1139
+ if (!this.getBusiness)
1140
+ return;
1141
+ this.formLoading.emit(true);
1142
+ this.isLoading = true;
1143
+ this.getBusiness({
1144
+ onSuccess: (response) => {
1145
+ const business = response.data || {};
1146
+ const address = new Address(business.legal_address || {});
1147
+ this.legal_address = Object.assign(Object.assign({}, address), { country: this.country });
1148
+ this.formController.setInitialValues(Object.assign({}, this.legal_address));
1149
+ },
1150
+ onError: ({ error, code, severity }) => {
1151
+ this.errorEvent.emit({
1152
+ message: error,
1153
+ errorCode: code,
1154
+ severity: severity
1155
+ });
1156
+ },
1157
+ final: () => {
1158
+ this.formLoading.emit(false);
1159
+ this.isLoading = false;
1160
+ }
1161
+ });
1162
+ };
1163
+ this.sendData = (onSuccess) => {
1164
+ let submittedData;
1165
+ this.formLoading.emit(true);
1166
+ this.patchBusiness({
1167
+ payload: this.patchPayload,
1168
+ onSuccess: (response) => {
1169
+ submittedData = response;
1170
+ onSuccess();
1171
+ },
1172
+ onError: ({ error, code, severity }) => {
1173
+ submittedData = error;
1174
+ this.errorEvent.emit({
1175
+ message: error,
1176
+ errorCode: code,
1177
+ severity: severity
1178
+ });
1179
+ },
1180
+ final: () => {
1181
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.legalAddress });
1182
+ this.formLoading.emit(false);
1183
+ }
1184
+ });
1185
+ };
1186
+ this.inputHandler = (name, value) => {
1187
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
1188
+ };
373
1189
  }
374
1190
  propChanged() {
375
1191
  this.initializeApi();
376
1192
  }
377
1193
  async validateAndSubmit({ onSuccess }) {
378
- this.coreComponent.validateAndSubmit({ onSuccess });
1194
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
1195
+ }
1196
+ get patchPayload() {
1197
+ let formValues = new Address(this.formController.values.getValue()).payload;
1198
+ return { legal_address: formValues };
379
1199
  }
380
1200
  componentWillLoad() {
381
1201
  this.initializeApi();
1202
+ const schemaFactory = addressSchemaByCountry[this.country];
1203
+ this.formController = new FormController(schemaFactory(this.allowOptionalFields));
1204
+ this.getData();
1205
+ }
1206
+ componentDidLoad() {
1207
+ this.formController.errors.subscribe(errors => {
1208
+ this.errors = Object.assign({}, errors);
1209
+ });
382
1210
  }
383
1211
  initializeApi() {
384
1212
  if (this.authToken && this.businessId) {
@@ -402,7 +1230,12 @@ const LegalAddressFormStep = class {
402
1230
  }
403
1231
  }
404
1232
  render() {
405
- return (h("justifi-legal-address-form-step-core", { key: '1e4419d2e8c75721883171124185590efe459fc9', getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: el => this.coreComponent = el }));
1233
+ var _a;
1234
+ const legalAddressDefaultValue = (_a = this.formController) === null || _a === void 0 ? void 0 : _a.getInitialValues();
1235
+ if (this.isLoading) {
1236
+ return h(PaymentProvisioningLoading, null);
1237
+ }
1238
+ return (h("form", null, h("fieldset", null, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Legal Address of your Business"), h("form-control-tooltip", { helpText: "No PO Boxes." })), h("hr", { class: "mt-2" }), h("justifi-form-address-fields", { country: this.country, errors: this.errors, defaultValues: legalAddressDefaultValue, inputHandler: this.inputHandler }))));
406
1239
  }
407
1240
  static get watchers() { return {
408
1241
  "authToken": ["propChanged"],
@@ -424,7 +1257,7 @@ const PaymentProvisioningFormButtons = class {
424
1257
  return this.currentStep === this.totalSteps;
425
1258
  }
426
1259
  render() {
427
- return (h("div", { key: 'ad959d93323ee66a154d5addbabd0cd0351f5d5f', class: 'd-flex gap-2' }, h(Button, { key: '6f77f6c7ee080a1a2525ec92107881adfef3afcb', variant: "secondary", type: "button", onClick: () => this.previousStepButtonOnClick(), disabled: this.formDisabled, hidden: !this.showPreviousStepButton }, "Previous"), h(Button, { key: '6edac397291014bde05eed8f64ca6a543f951a44', variant: "primary", type: "button", onClick: (e) => this.nextStepButtonOnClick(e, BusinessFormClickActions.nextStep), disabled: this.formDisabled, isLoading: this.formLoading, hidden: !this.showNextStepButton }, "Next"), h(Button, { key: 'ba2f0c103c2b54e9047aee927ed8afb8e5361f66', variant: "primary", type: "submit", onClick: (e) => this.nextStepButtonOnClick(e, BusinessFormClickActions.submit), disabled: this.formDisabled, isLoading: this.formLoading, hidden: !this.showSubmitButton }, "Submit")));
1260
+ return (h("div", { key: 'e13d3613af061d0067d1dbd84b6c3aebfc782aad', class: 'd-flex gap-2' }, h(Button, { key: '7b422ce77e13872f3dbd622574bce0e3e6e9c2ed', variant: "secondary", type: "button", onClick: () => this.previousStepButtonOnClick(), disabled: this.formDisabled, hidden: !this.showPreviousStepButton }, "Previous"), h(Button, { key: 'ea1242fdccb0b0af2438f4aaab91e3e17a607ef7', variant: "primary", type: "button", onClick: (e) => this.nextStepButtonOnClick(e, BusinessFormClickActions.nextStep), disabled: this.formDisabled, isLoading: this.formLoading, hidden: !this.showNextStepButton }, "Next"), h(Button, { key: '0c323f533ea84608dcdabb885f69d71a81ec684b', variant: "primary", type: "submit", onClick: (e) => this.nextStepButtonOnClick(e, BusinessFormClickActions.submit), disabled: this.formDisabled, isLoading: this.formLoading, hidden: !this.showSubmitButton }, "Submit")));
428
1261
  }
429
1262
  };
430
1263
 
@@ -447,7 +1280,7 @@ const PaymentProvisioningFormSteps = class {
447
1280
  return this.componentStepMapping[this.currentStep]();
448
1281
  }
449
1282
  render() {
450
- return (h("div", { key: '2e1d2983f259fd9fe4e1dda9c1f442b248f4c5ba', class: 'col-12 mb-4' }, this.currentStepComponent));
1283
+ return (h("div", { key: 'dcf3f283bae7de00311f35e41b8d803196f50d49', class: 'col-12 mb-4' }, this.currentStepComponent));
451
1284
  }
452
1285
  };
453
1286