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