import * as i0 from '@angular/core';
import { input, model, booleanAttribute, output, Component } from '@angular/core';
import { Card } from '@masterteam/components/card';
import { ToggleField } from '@masterteam/components/toggle-field';
import { Button } from '@masterteam/components/button';
import { Avatar } from '@masterteam/components/avatar';
import * as i1 from '@angular/forms';
import { FormsModule } from '@angular/forms';

class ModuleSummaryCard {
    icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
    title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
    description = input(...(ngDevMode ? [undefined, { debugName: "description" }] : []));
    active = model(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
    buttonLabel = input('Action', ...(ngDevMode ? [{ debugName: "buttonLabel" }] : []));
    showToggle = input(true, { ...(ngDevMode ? { debugName: "showToggle" } : {}), transform: booleanAttribute });
    showButton = input(true, { ...(ngDevMode ? { debugName: "showButton" } : {}), transform: booleanAttribute });
    onButtonClick = output();
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ModuleSummaryCard, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: ModuleSummaryCard, isStandalone: true, selector: "mt-module-summary-card", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, buttonLabel: { classPropertyName: "buttonLabel", publicName: "buttonLabel", isSignal: true, isRequired: false, transformFunction: null }, showToggle: { classPropertyName: "showToggle", publicName: "showToggle", isSignal: true, isRequired: false, transformFunction: null }, showButton: { classPropertyName: "showButton", publicName: "showButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", onButtonClick: "onButtonClick" }, ngImport: i0, template: "<mt-card headless class=\"h-full\">\r\n  <div class=\"content flex flex-col gap-5 items-center text-center h-full\">\r\n    @if (showToggle()) {\r\n      <div class=\"flex justify-end w-full\">\r\n        <mt-toggle-field [(ngModel)]=\"active\" />\r\n      </div>\r\n    }\r\n    @if (icon()) {\r\n      <mt-avatar\r\n        style=\"\r\n          --p-avatar-background: var(--p-primary-50);\r\n          --p-avatar-color: var(--p-primary-color);\r\n        \"\r\n        [icon]=\"icon()\"\r\n        size=\"large\"\r\n        shape=\"square\"\r\n      ></mt-avatar>\r\n    }\r\n    <div class=\"flex flex-col gap-1\">\r\n      @if (title()) {\r\n        <div class=\"title text-lg font-semibold\">\r\n          {{ title() }}\r\n        </div>\r\n      }\r\n      @if (description()) {\r\n        <div\r\n          class=\"description text-sm text-muted-foreground secondary text-surface-500\"\r\n        >\r\n          {{ description() }}\r\n        </div>\r\n      }\r\n    </div>\r\n\r\n    <div class=\"grow flex flex-col justify-end\">\r\n      @if (showButton()) {\r\n        <mt-button\r\n          label=\"{{ buttonLabel() }}\"\r\n          (onClick)=\"onButtonClick.emit($event)\"\r\n        />\r\n      }\r\n    </div>\r\n  </div>\r\n</mt-card>\r\n", styles: [""], dependencies: [{ kind: "component", type: Card, selector: "mt-card", inputs: ["class", "title", "paddingless"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { kind: "component", type: ToggleField, selector: "mt-toggle-field", inputs: ["label", "labelPosition", "placeholder", "readonly", "pInputs", "required", "toggleShape", "size", "icon", "descriptionCard"], outputs: ["onChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ModuleSummaryCard, decorators: [{
            type: Component,
            args: [{ selector: 'mt-module-summary-card', standalone: true, imports: [Card, Button, Avatar, ToggleField, FormsModule], template: "<mt-card headless class=\"h-full\">\r\n  <div class=\"content flex flex-col gap-5 items-center text-center h-full\">\r\n    @if (showToggle()) {\r\n      <div class=\"flex justify-end w-full\">\r\n        <mt-toggle-field [(ngModel)]=\"active\" />\r\n      </div>\r\n    }\r\n    @if (icon()) {\r\n      <mt-avatar\r\n        style=\"\r\n          --p-avatar-background: var(--p-primary-50);\r\n          --p-avatar-color: var(--p-primary-color);\r\n        \"\r\n        [icon]=\"icon()\"\r\n        size=\"large\"\r\n        shape=\"square\"\r\n      ></mt-avatar>\r\n    }\r\n    <div class=\"flex flex-col gap-1\">\r\n      @if (title()) {\r\n        <div class=\"title text-lg font-semibold\">\r\n          {{ title() }}\r\n        </div>\r\n      }\r\n      @if (description()) {\r\n        <div\r\n          class=\"description text-sm text-muted-foreground secondary text-surface-500\"\r\n        >\r\n          {{ description() }}\r\n        </div>\r\n      }\r\n    </div>\r\n\r\n    <div class=\"grow flex flex-col justify-end\">\r\n      @if (showButton()) {\r\n        <mt-button\r\n          label=\"{{ buttonLabel() }}\"\r\n          (onClick)=\"onButtonClick.emit($event)\"\r\n        />\r\n      }\r\n    </div>\r\n  </div>\r\n</mt-card>\r\n" }]
        }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }], buttonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonLabel", required: false }] }], showToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "showToggle", required: false }] }], showButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showButton", required: false }] }], onButtonClick: [{ type: i0.Output, args: ["onButtonClick"] }] } });

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

export { ModuleSummaryCard };
//# sourceMappingURL=masterteam-components-module-summary-card.mjs.map
