import { Fragment, h } from "@stencil/core";
import { ProviderTypeEnum } from "../../../../types/provider.types";
const providerButtonInfo = {
    [ProviderTypeEnum.extension]: {
        icon: h(Fragment, null),
        label: 'MultiversX Wallet Extension',
    },
    [ProviderTypeEnum.metamask]: {
        icon: h(Fragment, null),
        label: 'Metamask Snap',
    },
    [ProviderTypeEnum.passkey]: {
        icon: h(Fragment, null),
        label: 'Passkey',
    },
    [ProviderTypeEnum.walletConnect]: {
        icon: h(Fragment, null),
        label: 'xPortal Wallet',
    },
    [ProviderTypeEnum.ledger]: {
        icon: h(Fragment, null),
        label: 'Ledger',
    },
    [ProviderTypeEnum.crossWindow]: {
        icon: h(Fragment, null),
        label: 'MultiversX Web Wallet',
    },
};
export class ProviderButton {
    render() {
        const walletInfo = this.type ? providerButtonInfo[this.type] : null;
        if (!walletInfo) {
            return h(Fragment, null);
        }
        return h("unlock-button", { icon: walletInfo.icon, label: walletInfo.label });
    }
    static get is() { return "provider-button"; }
    static get encapsulation() { return "shadow"; }
    static get originalStyleUrls() {
        return {
            "$": ["provider-button.scss"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["provider-button.css"]
        };
    }
    static get properties() {
        return {
            "type": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ProviderTypeEnum",
                    "resolved": "ProviderTypeEnum.crossWindow | ProviderTypeEnum.extension | ProviderTypeEnum.ledger | ProviderTypeEnum.metamask | ProviderTypeEnum.passkey | ProviderTypeEnum.walletConnect",
                    "references": {
                        "ProviderTypeEnum": {
                            "location": "import",
                            "path": "types/provider.types",
                            "id": "src/types/provider.types.ts::ProviderTypeEnum"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "type",
                "reflect": false
            }
        };
    }
}
//# sourceMappingURL=provider-button.js.map
