import * as i0 from '@angular/core';
import { input, output, computed, Component } from '@angular/core';
import { Avatar } from '@masterteam/components/avatar';

class AvatarText {
    title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
    subTitle = input(...(ngDevMode ? [undefined, { debugName: "subTitle" }] : []));
    avatarLabel = input(...(ngDevMode ? [undefined, { debugName: "avatarLabel" }] : []));
    icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
    image = input(...(ngDevMode ? [undefined, { debugName: "image" }] : []));
    size = input('normal', ...(ngDevMode ? [{ debugName: "size" }] : []));
    shape = input('circle', ...(ngDevMode ? [{ debugName: "shape" }] : []));
    badge = input(...(ngDevMode ? [undefined, { debugName: "badge" }] : []));
    badgeSize = input(...(ngDevMode ? [undefined, { debugName: "badgeSize" }] : []));
    badgeSeverity = input(...(ngDevMode ? [undefined, { debugName: "badgeSeverity" }] : []));
    onImageError = output();
    sizeMap = {
        normal: {
            text: 'text-xs',
            gap: 'gap-2',
        },
        large: {
            text: 'text-md',
            gap: 'gap-4',
        },
        xlarge: {
            text: 'text-xl',
            gap: 'gap-5',
        },
    };
    textSizeClass = computed(() => this.sizeMap[this.size() ?? 'normal'].text, ...(ngDevMode ? [{ debugName: "textSizeClass" }] : []));
    gapClass = computed(() => this.sizeMap[this.size() ?? 'normal'].gap, ...(ngDevMode ? [{ debugName: "gapClass" }] : []));
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AvatarText, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: AvatarText, isStandalone: true, selector: "mt-avatar-text", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, subTitle: { classPropertyName: "subTitle", publicName: "subTitle", isSignal: true, isRequired: false, transformFunction: null }, avatarLabel: { classPropertyName: "avatarLabel", publicName: "avatarLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, shape: { classPropertyName: "shape", publicName: "shape", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, badgeSize: { classPropertyName: "badgeSize", publicName: "badgeSize", isSignal: true, isRequired: false, transformFunction: null }, badgeSeverity: { classPropertyName: "badgeSeverity", publicName: "badgeSeverity", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onImageError: "onImageError" }, ngImport: i0, template: "<div [class]=\"'flex items-center ' + gapClass()\">\r\n  <mt-avatar\r\n    [size]=\"size()\"\r\n    [shape]=\"shape()\"\r\n    [label]=\"avatarLabel()\"\r\n    [image]=\"image()\"\r\n    [icon]=\"icon()\"\r\n    [badge]=\"badge()\"\r\n    [badgeSize]=\"badgeSize()\"\r\n    [badgeSeverity]=\"badgeSeverity()\"\r\n    (onImageError)=\"onImageError.emit($event)\"\r\n  >\r\n  </mt-avatar>\r\n  @if (title()) {\r\n    <div [class]=\"textSizeClass()\">\r\n      <div class=\"font-semibold\">\r\n        {{ title() }}\r\n      </div>\r\n      @if (subTitle()) {\r\n        <div class=\"text-muted-color\" [class.font-semibold]=\"!title()\">\r\n          {{ subTitle() }}\r\n        </div>\r\n      }\r\n    </div>\r\n  }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AvatarText, decorators: [{
            type: Component,
            args: [{ selector: 'mt-avatar-text', standalone: true, imports: [Avatar], template: "<div [class]=\"'flex items-center ' + gapClass()\">\r\n  <mt-avatar\r\n    [size]=\"size()\"\r\n    [shape]=\"shape()\"\r\n    [label]=\"avatarLabel()\"\r\n    [image]=\"image()\"\r\n    [icon]=\"icon()\"\r\n    [badge]=\"badge()\"\r\n    [badgeSize]=\"badgeSize()\"\r\n    [badgeSeverity]=\"badgeSeverity()\"\r\n    (onImageError)=\"onImageError.emit($event)\"\r\n  >\r\n  </mt-avatar>\r\n  @if (title()) {\r\n    <div [class]=\"textSizeClass()\">\r\n      <div class=\"font-semibold\">\r\n        {{ title() }}\r\n      </div>\r\n      @if (subTitle()) {\r\n        <div class=\"text-muted-color\" [class.font-semibold]=\"!title()\">\r\n          {{ subTitle() }}\r\n        </div>\r\n      }\r\n    </div>\r\n  }\r\n</div>\r\n" }]
        }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subTitle", required: false }] }], avatarLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarLabel", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], image: [{ type: i0.Input, args: [{ isSignal: true, alias: "image", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], shape: [{ type: i0.Input, args: [{ isSignal: true, alias: "shape", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], badgeSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeSize", required: false }] }], badgeSeverity: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeSeverity", required: false }] }], onImageError: [{ type: i0.Output, args: ["onImageError"] }] } });

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

export { AvatarText };
//# sourceMappingURL=masterteam-components-avatar-text.mjs.map
