import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
import { a as CountryCode } from './Business.js';
import { d as defineCustomElement$t } from './additional-questions-form-step2.js';
import { d as defineCustomElement$s } from './bank-account-form-inputs2.js';
import { d as defineCustomElement$r } from './bank-account-form-inputs-canada2.js';
import { d as defineCustomElement$q } from './bank-account-read-only-value2.js';
import { d as defineCustomElement$p } from './business-bank-account-form-step2.js';
import { d as defineCustomElement$o } from './business-core-info-form-step2.js';
import { d as defineCustomElement$n } from './business-documents-on-file2.js';
import { d as defineCustomElement$m } from './business-owners-form-step2.js';
import { d as defineCustomElement$l } from './business-representative-form-inputs2.js';
import { d as defineCustomElement$k } from './business-representative-form-step2.js';
import { d as defineCustomElement$j } from './business-terms-conditions-form-step2.js';
import { d as defineCustomElement$i } from './custom-popper2.js';
import { d as defineCustomElement$h } from './document-upload-form-step2.js';
import { d as defineCustomElement$g } from './document-upload-list2.js';
import { d as defineCustomElement$f } from './form-address-fields2.js';
import { d as defineCustomElement$e } from './form-control-checkbox2.js';
import { d as defineCustomElement$d } from './form-control-date2.js';
import { d as defineCustomElement$c } from './form-control-file2.js';
import { d as defineCustomElement$b } from './form-control-monetary-provisioning2.js';
import { d as defineCustomElement$a } from './form-control-number2.js';
import { d as defineCustomElement$9 } from './form-control-number-masked2.js';
import { d as defineCustomElement$8 } from './form-control-select2.js';
import { d as defineCustomElement$7 } from './form-control-text2.js';
import { d as defineCustomElement$6 } from './form-control-tooltip2.js';
import { d as defineCustomElement$5 } from './identity-address-form2.js';
import { d as defineCustomElement$4 } from './legal-address-form-step2.js';
import { d as defineCustomElement$3 } from './owner-form2.js';
import { d as defineCustomElement$2 } from './owner-form-inputs2.js';
import { d as defineCustomElement$1 } from './plaid-verification2.js';

const PaymentProvisioningFormSteps = /*@__PURE__*/ proxyCustomElement(class PaymentProvisioningFormSteps extends HTMLElement {
    constructor(registerHost) {
        super();
        if (registerHost !== false) {
            this.__registerHost();
        }
        this.allowOptionalFields = false;
        this.country = CountryCode.USA;
        this.componentStepMapping = {
            0: () => h("business-core-info-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[0] = el, allowOptionalFields: this.allowOptionalFields, country: this.country }),
            1: () => h("legal-address-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[1] = el, allowOptionalFields: this.allowOptionalFields, country: this.country }),
            2: () => h("additional-questions-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[2] = el, allowOptionalFields: this.allowOptionalFields }),
            3: () => h("business-representative-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[3] = el, allowOptionalFields: this.allowOptionalFields, country: this.country }),
            4: () => h("business-owners-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[4] = el, allowOptionalFields: this.allowOptionalFields, country: this.country }),
            5: () => h("business-bank-account-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[5] = el, allowOptionalFields: this.allowOptionalFields, country: this.country }),
            6: () => h("document-upload-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[6] = el, allowOptionalFields: this.allowOptionalFields, country: this.country }),
            7: () => h("business-terms-conditions-form-step", { businessId: this.businessId, authToken: this.authToken, ref: (el) => this.refs[7] = el, onFormLoading: this.handleFormLoading, allowOptionalFields: this.allowOptionalFields }),
        };
    }
    get currentStepComponent() {
        return this.componentStepMapping[this.currentStep]();
    }
    render() {
        return (h("div", { key: 'a249d66ac8348900e21998c4cf89bd02cfeec7c1', class: 'col-12 mb-4' }, this.currentStepComponent));
    }
}, [256, "payment-provisioning-form-steps", {
        "businessId": [1, "business-id"],
        "authToken": [1, "auth-token"],
        "refs": [16],
        "currentStep": [2, "current-step"],
        "allowOptionalFields": [4, "allow-optional-fields"],
        "country": [1],
        "handleFormLoading": [16]
    }]);
function defineCustomElement() {
    if (typeof customElements === "undefined") {
        return;
    }
    const components = ["payment-provisioning-form-steps", "additional-questions-form-step", "bank-account-form-inputs", "bank-account-form-inputs-canada", "bank-account-read-only-value", "business-bank-account-form-step", "business-core-info-form-step", "business-documents-on-file", "business-owners-form-step", "business-representative-form-inputs", "business-representative-form-step", "business-terms-conditions-form-step", "custom-popper", "document-upload-form-step", "document-upload-list", "form-address-fields", "form-control-checkbox", "form-control-date", "form-control-file", "form-control-monetary-provisioning", "form-control-number", "form-control-number-masked", "form-control-select", "form-control-text", "form-control-tooltip", "identity-address-form", "legal-address-form-step", "owner-form", "owner-form-inputs", "plaid-verification"];
    components.forEach(tagName => { switch (tagName) {
        case "payment-provisioning-form-steps":
            if (!customElements.get(tagName)) {
                customElements.define(tagName, PaymentProvisioningFormSteps);
            }
            break;
        case "additional-questions-form-step":
            if (!customElements.get(tagName)) {
                defineCustomElement$t();
            }
            break;
        case "bank-account-form-inputs":
            if (!customElements.get(tagName)) {
                defineCustomElement$s();
            }
            break;
        case "bank-account-form-inputs-canada":
            if (!customElements.get(tagName)) {
                defineCustomElement$r();
            }
            break;
        case "bank-account-read-only-value":
            if (!customElements.get(tagName)) {
                defineCustomElement$q();
            }
            break;
        case "business-bank-account-form-step":
            if (!customElements.get(tagName)) {
                defineCustomElement$p();
            }
            break;
        case "business-core-info-form-step":
            if (!customElements.get(tagName)) {
                defineCustomElement$o();
            }
            break;
        case "business-documents-on-file":
            if (!customElements.get(tagName)) {
                defineCustomElement$n();
            }
            break;
        case "business-owners-form-step":
            if (!customElements.get(tagName)) {
                defineCustomElement$m();
            }
            break;
        case "business-representative-form-inputs":
            if (!customElements.get(tagName)) {
                defineCustomElement$l();
            }
            break;
        case "business-representative-form-step":
            if (!customElements.get(tagName)) {
                defineCustomElement$k();
            }
            break;
        case "business-terms-conditions-form-step":
            if (!customElements.get(tagName)) {
                defineCustomElement$j();
            }
            break;
        case "custom-popper":
            if (!customElements.get(tagName)) {
                defineCustomElement$i();
            }
            break;
        case "document-upload-form-step":
            if (!customElements.get(tagName)) {
                defineCustomElement$h();
            }
            break;
        case "document-upload-list":
            if (!customElements.get(tagName)) {
                defineCustomElement$g();
            }
            break;
        case "form-address-fields":
            if (!customElements.get(tagName)) {
                defineCustomElement$f();
            }
            break;
        case "form-control-checkbox":
            if (!customElements.get(tagName)) {
                defineCustomElement$e();
            }
            break;
        case "form-control-date":
            if (!customElements.get(tagName)) {
                defineCustomElement$d();
            }
            break;
        case "form-control-file":
            if (!customElements.get(tagName)) {
                defineCustomElement$c();
            }
            break;
        case "form-control-monetary-provisioning":
            if (!customElements.get(tagName)) {
                defineCustomElement$b();
            }
            break;
        case "form-control-number":
            if (!customElements.get(tagName)) {
                defineCustomElement$a();
            }
            break;
        case "form-control-number-masked":
            if (!customElements.get(tagName)) {
                defineCustomElement$9();
            }
            break;
        case "form-control-select":
            if (!customElements.get(tagName)) {
                defineCustomElement$8();
            }
            break;
        case "form-control-text":
            if (!customElements.get(tagName)) {
                defineCustomElement$7();
            }
            break;
        case "form-control-tooltip":
            if (!customElements.get(tagName)) {
                defineCustomElement$6();
            }
            break;
        case "identity-address-form":
            if (!customElements.get(tagName)) {
                defineCustomElement$5();
            }
            break;
        case "legal-address-form-step":
            if (!customElements.get(tagName)) {
                defineCustomElement$4();
            }
            break;
        case "owner-form":
            if (!customElements.get(tagName)) {
                defineCustomElement$3();
            }
            break;
        case "owner-form-inputs":
            if (!customElements.get(tagName)) {
                defineCustomElement$2();
            }
            break;
        case "plaid-verification":
            if (!customElements.get(tagName)) {
                defineCustomElement$1();
            }
            break;
    } });
}
defineCustomElement();

export { PaymentProvisioningFormSteps as P, defineCustomElement as d };
