import * as i0 from '@angular/core';
import { EventEmitter, Component, HostBinding, Input, Output, NgModule } from '@angular/core';
import { NgClass, NgStyle } from '@angular/common';
import * as i1 from '@seniorsistemas/angular-components/badge';
import { BadgeModule } from '@seniorsistemas/angular-components/badge';
import * as i2 from '@seniorsistemas/angular-components/tiered-menu';
import { TieredMenuModule } from '@seniorsistemas/angular-components/tiered-menu';
import * as i3 from '@seniorsistemas/angular-components/tooltip';
import { TooltipModule } from '@seniorsistemas/angular-components/tooltip';
import { randomHash } from '@seniorsistemas/angular-components/utils';

/**
 * @description Componente de botão versátil que suporta ícones, tooltip, menu de opções
 * (tiered menu), badge, animações e diferentes prioridades visuais. Pode ser configurado
 * como botão de ação simples, botão com menu dropdown ou botão deslizante (slide).
 *
 * @example
 * ```html
 * <s-button
 *   label="Salvar"
 *   iconClass="fas fa-save"
 *   priority="primary"
 *   (clicked)="onSave()" />
 * ```
 *
 * @category Inputs
 */
class ButtonComponent {
    minWidth = '40px';
    /**
     * @description Identificador único do elemento botão no DOM.
     * Gerado automaticamente se não informado.
     */
    id = `s-button-${randomHash()}`;
    /**
     * @description Texto exibido dentro do botão.
     */
    label;
    /**
     * @description Texto do tooltip exibido ao passar o mouse sobre o botão.
     */
    tooltip;
    /**
     * @description Posição do tooltip em relação ao botão.
     *
     * @default 'top'
     */
    tooltipPosition = 'top';
    /**
     * @description Classe de ícone exibida à esquerda do label (ex.: `'fas fa-save'`).
     */
    iconClass;
    /**
     * @description Classe de ícone exibida à direita do label.
     */
    rightIconClass;
    /**
     * @description Exibe o ícone de caret (seta) quando o botão possui um menu de opções.
     *
     * @default true
     */
    caret = true;
    /**
     * @description Classe CSS adicional aplicada ao elemento `<button>` interno.
     *
     * @default ''
     */
    styleClass = '';
    /**
     * @description Z-index base do painel do menu dropdown associado ao botão.
     *
     * @default 0
     */
    baseZIndex = 0;
    /**
     * @description Desabilita o botão, impedindo cliques e interação do usuário.
     *
     * @default false
     */
    disabled = false;
    /**
     * @description Aplica estilo auxiliar (menos destaque visual) ao botão.
     *
     * @default false
     */
    auxiliary = false;
    /**
     * @description Tipo do elemento `<button>` HTML (`'button'`, `'submit'`, `'reset'`).
     *
     * @default 'button'
     */
    type = 'button';
    /**
     * @description Prioridade visual do botão, que determina seu estilo.
     * Aceita `'primary'`, `'default'`, `'danger'`, `'link'`, entre outros.
     *
     * @default 'primary'
     */
    priority = 'primary';
    /**
     * @description Lista de itens do menu dropdown exibido ao clicar no caret do botão.
     *
     * @default []
     */
    menuOptions = [];
    /**
     * @description Tamanho visual do botão. Aceita `'default'` ou `'small'`.
     *
     * @default 'default'
     */
    size = 'default';
    /**
     * @description Habilita o modo slide, que exibe uma animação de deslize ao passar o mouse.
     * Requer `priority` igual a `'default'` ou `'link'` e um `label` definido.
     *
     * @default false
     */
    slide = false;
    /**
     * @description Tipo de animação aplicada ao botão (`'rotate'`, `'pulse'`, etc.).
     */
    animation;
    /**
     * @description Configuração do badge exibido sobre o botão, com contador ou indicador visual.
     */
    badge;
    /**
     * @description Cor aplicada ao ícone do botão, sobrescrevendo a cor padrão do tema.
     */
    iconColor;
    /**
     * @description Texto alternativo para o menu associado ao botão, utilizado para acessibilidade.
     */
    menuAriaLabel;
    /**
     * @description Texto alternativo para quando o botão não tiver um texto explicito, utilizado para acessibilidade.
     */
    ariaLabel;
    /**
     * @description Emitido ao clicar no botão, desde que não esteja desabilitado.
     */
    clicked = new EventEmitter();
    isMenuOpen = false;
    validateSlideButton() {
        return !!(this.slide && (this.priority === 'default' || this.priority === 'link') && this.label?.length);
    }
    ngOnChanges(_) {
        const hasIcon = this.iconClass;
        const hasText = this.label;
        const isMultiple = this.menuOptions?.length;
        if (hasText || (hasIcon && isMultiple)) {
            this.minWidth = '80px';
        }
        if (hasText && hasIcon && isMultiple) {
            this.minWidth = '100px';
        }
    }
    isRotateAnimation() {
        return this.animation === 'rotate';
    }
    onTieredMenuOpened() {
        this.isMenuOpen = true;
    }
    onTieredMenuClosed() {
        this.isMenuOpen = false;
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "s-button", inputs: { id: "id", label: "label", tooltip: "tooltip", tooltipPosition: "tooltipPosition", iconClass: "iconClass", rightIconClass: "rightIconClass", caret: "caret", styleClass: "styleClass", baseZIndex: "baseZIndex", disabled: "disabled", auxiliary: "auxiliary", type: "type", priority: "priority", menuOptions: "menuOptions", size: "size", slide: "slide", animation: "animation", badge: "badge", iconColor: "iconColor", menuAriaLabel: "menuAriaLabel", ariaLabel: "ariaLabel" }, outputs: { clicked: "clicked" }, host: { properties: { "class.s-button-with-badge": "!!badge", "style.min-width": "this.minWidth" } }, usesOnChanges: true, ngImport: i0, template: "<button\n    [id]=\"id\"\n    [type]=\"type\"\n    [class]=\"styleClass\"\n    class=\"inline-flex items-center justify-center border border-solid cursor-pointer font-open-sans text-sm max-w-full min-w-[40px] outline-none overflow-visible py-[5px] px-[10px] relative no-underline normal-case transition-[background-color,border-color,color] duration-200 ease-out text-grayscale-0 disabled:cursor-text disabled:opacity-50\"\n    [ngClass]=\"{\n        'rounded-medium': !auxiliary,\n        'rounded-[20px]': auxiliary && !(iconClass && !label && !menuOptions.length),\n        'rounded-[50%]': auxiliary && !!(iconClass && !label && !menuOptions.length),\n        'h-[35px]': size !== 'small',\n        'h-[25px]': size === 'small',\n        'max-w-6 max-h-6 min-w-6': size === 'small' && !!(iconClass && !label && !menuOptions.length),\n        's-button-auxiliary': auxiliary,\n        's-button-with-icon': !!iconClass,\n        's-button-with-text': !!label,\n        's-button-only-icon': !!(iconClass && !label && !menuOptions.length),\n        's-button-empty': !iconClass && !label,\n        's-button-size-default': size === 'default',\n        's-button-size-small': size === 'small',\n        's-button-priority-default': priority === 'default',\n        's-button-priority-primary': priority === 'primary',\n        's-button-priority-secondary': priority === 'secondary',\n        's-button-priority-link': priority === 'link',\n        's-button-priority-danger': priority === 'danger',\n        's-button-multiple': (caret && menuOptions.length) || !!rightIconClass,\n        's-button--slide': validateSlideButton(),\n        's-button--rotate-animation': isRotateAnimation(),\n    }\"\n    sTieredMenu\n    [items]=\"menuOptions\"\n    [ariaLabel]=\"menuAriaLabel\"\n    [attr.aria-haspopup]=\"menuOptions.length ? 'menu' : null\"\n    [attr.aria-expanded]=\"menuOptions.length ? isMenuOpen : null\"\n    [attr.aria-label]=\"ariaLabel\"\n    [disabled]=\"disabled\"\n    [sTooltip]=\"tooltip\"\n    [tooltipPosition]=\"tooltipPosition\"\n    (tieredMenuOpened)=\"onTieredMenuOpened()\"\n    (tieredMenuClosed)=\"onTieredMenuClosed()\"\n    (click)=\"clicked.emit($event)\"\n>\n    @if (iconClass) {\n        <span\n            [class]=\"iconClass\"\n            [ngClass]=\"{\n                's-button-icon inline-flex items-center justify-center': true,\n                'mr-[10px]': !label && menuOptions.length,\n            }\"\n            [ngStyle]=\"{ color: iconColor }\"\n            aria-hidden=\"true\"\n        >\n        </span>\n    }\n    @if (label) {\n        <span\n            class=\"s-button-text block overflow-hidden text-ellipsis whitespace-nowrap\"\n            [ngClass]=\"{\n                'mr-[10px]': !!rightIconClass || menuOptions.length,\n                'ml-[10px]': !!iconClass,\n            }\"\n        >\n            {{ label }}\n        </span>\n    }\n    <ng-content></ng-content>\n    @if (rightIconClass) {\n        <span\n            [class]=\"rightIconClass\"\n            [ngClass]=\"{ 's-button-right-icon inline-flex items-center justify-center': true }\"\n            [ngStyle]=\"{ color: iconColor }\"\n            aria-hidden=\"true\"\n        >\n        </span>\n    }\n    @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n        <span\n            class=\"menu-options-icon fa fa-fw fa-caret-down\"\n            aria-hidden=\"true\"\n        >\n        </span>\n    }\n</button>\n@if (badge) {\n    <div class=\"z-[99] relative right-[15px] bottom-[16px]\">\n        <s-badge\n            [color]=\"badge.color\"\n            [text]=\"badge.text\"\n            [iconClass]=\"badge.iconClass\"\n        >\n        </s-badge>\n    </div>\n}\n\n", styles: [":host{display:inline-flex;position:relative}:host.s-button-with-badge{margin-right:-15px}button.s-button-priority-primary{background-color:#428bca;border-color:#428bca}button.s-button-priority-primary .menu-options-icon{color:#fff}button.s-button-priority-primary:hover{background-color:#2b6597}button.s-button-priority-primary:focus{background-color:#2b6597;border-color:#22dce6}button.s-button-priority-primary:active:not(:disabled),button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#255783;border-color:#255783}button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}button.s-button-priority-secondary .menu-options-icon{color:#fff}button.s-button-priority-secondary:hover{background-color:#546b79}button.s-button-priority-secondary:focus{background-color:#546b79;border-color:#22dce6}button.s-button-priority-secondary:active:not(:disabled),button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#4a5e6a;border-color:#4a5e6a}button.s-button-priority-default{background-color:#fff;border-color:#ccc;color:#333}button.s-button-priority-default .menu-options-icon{color:#333}button.s-button-priority-default:hover{background-color:#d9d9d9}button.s-button-priority-default:focus{background-color:#d9d9d9;border-color:#22dce6}button.s-button-priority-default:active:not(:disabled),button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}button.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}button.s-button-priority-danger .menu-options-icon{color:#fff}button.s-button-priority-danger:hover{background-color:#642525}button.s-button-priority-danger:focus{background-color:#642525;border-color:#22dce6}button.s-button-priority-danger:active:not(:disabled),button.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}button.s-button-priority-link{background-color:transparent;border-color:transparent}button.s-button-priority-link .s-button-icon,button.s-button-priority-link .s-button-right-icon,button.s-button-priority-link .s-button-text,button.s-button-priority-link .s-button-menu-icon{color:#428bca}button.s-button-priority-link:hover{background-color:transparent}button.s-button-priority-link:hover .s-button-icon,button.s-button-priority-link:hover .s-button-right-icon,button.s-button-priority-link:hover .s-button-text,button.s-button-priority-link:hover .s-button-menu-icon{color:#2b6597}button.s-button-priority-link:focus{background-color:transparent;border-color:#22dce6}button.s-button-priority-link:focus .s-button-icon,button.s-button-priority-link:focus .s-button-right-icon,button.s-button-priority-link:focus .s-button-text,button.s-button-priority-link:focus .s-button-menu-icon{color:#2b6597}button.s-button-priority-link:active:not(:disabled),button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}button.s-button-priority-link:active:not(:disabled) .s-button-icon,button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,button.s-button-priority-link:active:not(:disabled) .s-button-text,button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#255783}button.s-button-with-text,button.s-button-with-icon.s-button-multiple{min-width:80px}button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}button.s-button-multiple.s-button-size-small.s-button-empty{width:25px;min-width:25px}.s-button--slide.s-button-with-text,.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}.menu-options-icon{color:#212533}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i1.BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }, { kind: "ngmodule", type: TieredMenuModule }, { kind: "directive", type: i2.TieredMenuDirective, selector: "[sTieredMenu]", inputs: ["items", "focusedItem", "triggerEvent", "ariaLabel"], outputs: ["tieredMenuOpened", "tieredMenuClosed"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
            type: Component,
            args: [{ selector: 's-button', host: {
                        '[class.s-button-with-badge]': '!!badge',
                    }, standalone: true, imports: [NgClass, NgStyle, BadgeModule, TieredMenuModule, TooltipModule], template: "<button\n    [id]=\"id\"\n    [type]=\"type\"\n    [class]=\"styleClass\"\n    class=\"inline-flex items-center justify-center border border-solid cursor-pointer font-open-sans text-sm max-w-full min-w-[40px] outline-none overflow-visible py-[5px] px-[10px] relative no-underline normal-case transition-[background-color,border-color,color] duration-200 ease-out text-grayscale-0 disabled:cursor-text disabled:opacity-50\"\n    [ngClass]=\"{\n        'rounded-medium': !auxiliary,\n        'rounded-[20px]': auxiliary && !(iconClass && !label && !menuOptions.length),\n        'rounded-[50%]': auxiliary && !!(iconClass && !label && !menuOptions.length),\n        'h-[35px]': size !== 'small',\n        'h-[25px]': size === 'small',\n        'max-w-6 max-h-6 min-w-6': size === 'small' && !!(iconClass && !label && !menuOptions.length),\n        's-button-auxiliary': auxiliary,\n        's-button-with-icon': !!iconClass,\n        's-button-with-text': !!label,\n        's-button-only-icon': !!(iconClass && !label && !menuOptions.length),\n        's-button-empty': !iconClass && !label,\n        's-button-size-default': size === 'default',\n        's-button-size-small': size === 'small',\n        's-button-priority-default': priority === 'default',\n        's-button-priority-primary': priority === 'primary',\n        's-button-priority-secondary': priority === 'secondary',\n        's-button-priority-link': priority === 'link',\n        's-button-priority-danger': priority === 'danger',\n        's-button-multiple': (caret && menuOptions.length) || !!rightIconClass,\n        's-button--slide': validateSlideButton(),\n        's-button--rotate-animation': isRotateAnimation(),\n    }\"\n    sTieredMenu\n    [items]=\"menuOptions\"\n    [ariaLabel]=\"menuAriaLabel\"\n    [attr.aria-haspopup]=\"menuOptions.length ? 'menu' : null\"\n    [attr.aria-expanded]=\"menuOptions.length ? isMenuOpen : null\"\n    [attr.aria-label]=\"ariaLabel\"\n    [disabled]=\"disabled\"\n    [sTooltip]=\"tooltip\"\n    [tooltipPosition]=\"tooltipPosition\"\n    (tieredMenuOpened)=\"onTieredMenuOpened()\"\n    (tieredMenuClosed)=\"onTieredMenuClosed()\"\n    (click)=\"clicked.emit($event)\"\n>\n    @if (iconClass) {\n        <span\n            [class]=\"iconClass\"\n            [ngClass]=\"{\n                's-button-icon inline-flex items-center justify-center': true,\n                'mr-[10px]': !label && menuOptions.length,\n            }\"\n            [ngStyle]=\"{ color: iconColor }\"\n            aria-hidden=\"true\"\n        >\n        </span>\n    }\n    @if (label) {\n        <span\n            class=\"s-button-text block overflow-hidden text-ellipsis whitespace-nowrap\"\n            [ngClass]=\"{\n                'mr-[10px]': !!rightIconClass || menuOptions.length,\n                'ml-[10px]': !!iconClass,\n            }\"\n        >\n            {{ label }}\n        </span>\n    }\n    <ng-content></ng-content>\n    @if (rightIconClass) {\n        <span\n            [class]=\"rightIconClass\"\n            [ngClass]=\"{ 's-button-right-icon inline-flex items-center justify-center': true }\"\n            [ngStyle]=\"{ color: iconColor }\"\n            aria-hidden=\"true\"\n        >\n        </span>\n    }\n    @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n        <span\n            class=\"menu-options-icon fa fa-fw fa-caret-down\"\n            aria-hidden=\"true\"\n        >\n        </span>\n    }\n</button>\n@if (badge) {\n    <div class=\"z-[99] relative right-[15px] bottom-[16px]\">\n        <s-badge\n            [color]=\"badge.color\"\n            [text]=\"badge.text\"\n            [iconClass]=\"badge.iconClass\"\n        >\n        </s-badge>\n    </div>\n}\n\n", styles: [":host{display:inline-flex;position:relative}:host.s-button-with-badge{margin-right:-15px}button.s-button-priority-primary{background-color:#428bca;border-color:#428bca}button.s-button-priority-primary .menu-options-icon{color:#fff}button.s-button-priority-primary:hover{background-color:#2b6597}button.s-button-priority-primary:focus{background-color:#2b6597;border-color:#22dce6}button.s-button-priority-primary:active:not(:disabled),button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#255783;border-color:#255783}button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}button.s-button-priority-secondary .menu-options-icon{color:#fff}button.s-button-priority-secondary:hover{background-color:#546b79}button.s-button-priority-secondary:focus{background-color:#546b79;border-color:#22dce6}button.s-button-priority-secondary:active:not(:disabled),button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#4a5e6a;border-color:#4a5e6a}button.s-button-priority-default{background-color:#fff;border-color:#ccc;color:#333}button.s-button-priority-default .menu-options-icon{color:#333}button.s-button-priority-default:hover{background-color:#d9d9d9}button.s-button-priority-default:focus{background-color:#d9d9d9;border-color:#22dce6}button.s-button-priority-default:active:not(:disabled),button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}button.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}button.s-button-priority-danger .menu-options-icon{color:#fff}button.s-button-priority-danger:hover{background-color:#642525}button.s-button-priority-danger:focus{background-color:#642525;border-color:#22dce6}button.s-button-priority-danger:active:not(:disabled),button.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}button.s-button-priority-link{background-color:transparent;border-color:transparent}button.s-button-priority-link .s-button-icon,button.s-button-priority-link .s-button-right-icon,button.s-button-priority-link .s-button-text,button.s-button-priority-link .s-button-menu-icon{color:#428bca}button.s-button-priority-link:hover{background-color:transparent}button.s-button-priority-link:hover .s-button-icon,button.s-button-priority-link:hover .s-button-right-icon,button.s-button-priority-link:hover .s-button-text,button.s-button-priority-link:hover .s-button-menu-icon{color:#2b6597}button.s-button-priority-link:focus{background-color:transparent;border-color:#22dce6}button.s-button-priority-link:focus .s-button-icon,button.s-button-priority-link:focus .s-button-right-icon,button.s-button-priority-link:focus .s-button-text,button.s-button-priority-link:focus .s-button-menu-icon{color:#2b6597}button.s-button-priority-link:active:not(:disabled),button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}button.s-button-priority-link:active:not(:disabled) .s-button-icon,button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,button.s-button-priority-link:active:not(:disabled) .s-button-text,button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#255783}button.s-button-with-text,button.s-button-with-icon.s-button-multiple{min-width:80px}button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}button.s-button-multiple.s-button-size-small.s-button-empty{width:25px;min-width:25px}.s-button--slide.s-button-with-text,.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}.menu-options-icon{color:#212533}\n"] }]
        }], propDecorators: { minWidth: [{
                type: HostBinding,
                args: ['style.min-width']
            }], id: [{
                type: Input
            }], label: [{
                type: Input
            }], tooltip: [{
                type: Input
            }], tooltipPosition: [{
                type: Input
            }], iconClass: [{
                type: Input
            }], rightIconClass: [{
                type: Input
            }], caret: [{
                type: Input
            }], styleClass: [{
                type: Input
            }], baseZIndex: [{
                type: Input
            }], disabled: [{
                type: Input
            }], auxiliary: [{
                type: Input
            }], type: [{
                type: Input
            }], priority: [{
                type: Input
            }], menuOptions: [{
                type: Input
            }], size: [{
                type: Input
            }], slide: [{
                type: Input
            }], animation: [{
                type: Input
            }], badge: [{
                type: Input
            }], iconColor: [{
                type: Input
            }], menuAriaLabel: [{
                type: Input
            }], ariaLabel: [{
                type: Input
            }], clicked: [{
                type: Output
            }] } });

class ButtonModule {
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
    static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
    static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonModule, imports: [ButtonComponent] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [
                        ButtonComponent,
                    ],
                    exports: [ButtonComponent],
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { ButtonComponent, ButtonModule };
//# sourceMappingURL=seniorsistemas-angular-components-button.mjs.map
