import * as i0 from '@angular/core';
import { input, booleanAttribute, output, Component } from '@angular/core';
import * as i1 from 'primeng/button';
import { ButtonModule } from 'primeng/button';
import { Icon } from '@masterteam/icons';
import { Tooltip } from '@masterteam/components/tooltip';

class Button {
    // eslint-disable-next-line @angular-eslint/no-input-rename
    iconText = input(undefined, { ...(ngDevMode ? { debugName: "iconText" } : {}), alias: 'icon' });
    label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
    tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : []));
    class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
    type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : []));
    styleClass = input('', ...(ngDevMode ? [{ debugName: "styleClass" }] : []));
    severity = input(...(ngDevMode ? [undefined, { debugName: "severity" }] : []));
    badge = input(...(ngDevMode ? [undefined, { debugName: "badge" }] : []));
    variant = input(...(ngDevMode ? [undefined, { debugName: "variant" }] : []));
    badgeSeverity = input('secondary', ...(ngDevMode ? [{ debugName: "badgeSeverity" }] : []));
    size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
    iconPos = input(...(ngDevMode ? [undefined, { debugName: "iconPos" }] : []));
    autofocus = input(false, { ...(ngDevMode ? { debugName: "autofocus" } : {}), transform: booleanAttribute });
    fluid = input(false, { ...(ngDevMode ? { debugName: "fluid" } : {}), transform: booleanAttribute });
    raised = input(false, { ...(ngDevMode ? { debugName: "raised" } : {}), transform: booleanAttribute });
    rounded = input(false, { ...(ngDevMode ? { debugName: "rounded" } : {}), transform: booleanAttribute });
    text = input(false, { ...(ngDevMode ? { debugName: "text" } : {}), transform: booleanAttribute });
    plain = input(false, { ...(ngDevMode ? { debugName: "plain" } : {}), transform: booleanAttribute });
    outlined = input(false, { ...(ngDevMode ? { debugName: "outlined" } : {}), transform: booleanAttribute });
    link = input(false, { ...(ngDevMode ? { debugName: "link" } : {}), transform: booleanAttribute });
    disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
    loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: booleanAttribute });
    pInputs = input(...(ngDevMode ? [undefined, { debugName: "pInputs" }] : []));
    onClick = output();
    onFocus = output();
    onBlur = output();
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: Button, isStandalone: true, selector: "mt-button", inputs: { iconText: { classPropertyName: "iconText", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, badgeSeverity: { classPropertyName: "badgeSeverity", publicName: "badgeSeverity", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconPos: { classPropertyName: "iconPos", publicName: "iconPos", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, plain: { classPropertyName: "plain", publicName: "plain", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, pInputs: { classPropertyName: "pInputs", publicName: "pInputs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class.w-full": "fluid()" }, classAttribute: "grid gap-1" }, ngImport: i0, template: "<p-button\n  [fluid]=\"fluid()\"\n  [severity]=\"severity()\"\n  [size]=\"size()\"\n  [label]=\"label()\"\n  [mtTooltip]=\"tooltip()\"\n  tooltipPosition=\"top\"\n  [iconPos]=\"iconPos()\"\n  [type]=\"type()\"\n  [badge]=\"badge()\"\n  [badgeSeverity]=\"badgeSeverity()\"\n  [variant]=\"variant()\"\n  [loading]=\"loading()\"\n  [disabled]=\"disabled()\"\n  [link]=\"link()\"\n  [plain]=\"plain()\"\n  [text]=\"text()\"\n  [raised]=\"raised()\"\n  [outlined]=\"outlined()\"\n  [rounded]=\"rounded()\"\n  [autofocus]=\"autofocus()\"\n  [styleClass]=\"styleClass()\"\n  (onClick)=\"onClick.emit($event)\"\n  (onFocus)=\"onFocus.emit($event)\"\n  (onBlur)=\"onBlur.emit($event)\"\n>\n  @if (iconText()) {\n    <ng-template #icon>\n      <mt-icon\n        [class.order-1]=\"iconPos() === 'end' || iconPos() === 'bottom'\"\n        [icon]=\"iconText()\"\n      />\n    </ng-template>\n  }\n\n  <!-- <ng-template #loadingicon> -->\n  <!--   <mt-icon -->\n  <!--     class=\"p-icon-spin\" -->\n  <!--     [class.order-1]=\"iconPos() === 'end' || iconPos() === 'bottom'\" -->\n  <!--     icon=\"general.loading-01\" -->\n  <!--   /> -->\n  <!-- </ng-template> -->\n</p-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Icon, selector: "mt-icon", inputs: ["icon"] }, { kind: "directive", type: Tooltip, selector: "[mtTooltip]" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Button, decorators: [{
            type: Component,
            args: [{ selector: 'mt-button', standalone: true, imports: [ButtonModule, Icon, Tooltip], host: {
                        class: 'grid gap-1',
                        '[class.w-full]': 'fluid()',
                    }, template: "<p-button\n  [fluid]=\"fluid()\"\n  [severity]=\"severity()\"\n  [size]=\"size()\"\n  [label]=\"label()\"\n  [mtTooltip]=\"tooltip()\"\n  tooltipPosition=\"top\"\n  [iconPos]=\"iconPos()\"\n  [type]=\"type()\"\n  [badge]=\"badge()\"\n  [badgeSeverity]=\"badgeSeverity()\"\n  [variant]=\"variant()\"\n  [loading]=\"loading()\"\n  [disabled]=\"disabled()\"\n  [link]=\"link()\"\n  [plain]=\"plain()\"\n  [text]=\"text()\"\n  [raised]=\"raised()\"\n  [outlined]=\"outlined()\"\n  [rounded]=\"rounded()\"\n  [autofocus]=\"autofocus()\"\n  [styleClass]=\"styleClass()\"\n  (onClick)=\"onClick.emit($event)\"\n  (onFocus)=\"onFocus.emit($event)\"\n  (onBlur)=\"onBlur.emit($event)\"\n>\n  @if (iconText()) {\n    <ng-template #icon>\n      <mt-icon\n        [class.order-1]=\"iconPos() === 'end' || iconPos() === 'bottom'\"\n        [icon]=\"iconText()\"\n      />\n    </ng-template>\n  }\n\n  <!-- <ng-template #loadingicon> -->\n  <!--   <mt-icon -->\n  <!--     class=\"p-icon-spin\" -->\n  <!--     [class.order-1]=\"iconPos() === 'end' || iconPos() === 'bottom'\" -->\n  <!--     icon=\"general.loading-01\" -->\n  <!--   /> -->\n  <!-- </ng-template> -->\n</p-button>\n" }]
        }], propDecorators: { iconText: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], severity: [{ type: i0.Input, args: [{ isSignal: true, alias: "severity", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], badgeSeverity: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeSeverity", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], iconPos: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPos", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], raised: [{ type: i0.Input, args: [{ isSignal: true, alias: "raised", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], plain: [{ type: i0.Input, args: [{ isSignal: true, alias: "plain", required: false }] }], outlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "outlined", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], pInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "pInputs", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }] } });

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

export { Button };
//# sourceMappingURL=masterteam-components-button.mjs.map
