import { Component, ContentChild, EventEmitter, input, Input, Output, TemplateRef, ViewChild } from '@angular/core';
import { ThumbnailComponent } from '@seniorsistemas/angular-components/thumbnail';
import * as i0 from "@angular/core";
import * as i1 from "@seniorsistemas/angular-components/tooltip";
import * as i2 from "@seniorsistemas/angular-components/thumbnail";
import * as i3 from "@seniorsistemas/angular-components/button";
import * as i4 from "@seniorsistemas/angular-components/badge";
export class ObjectCardFieldComponent {
    static nextId = 0;
    id = `s-object-card-field-${ObjectCardFieldComponent.nextId++}`;
    imageSource;
    imageAlt;
    iconClass;
    label;
    description;
    buttonLabel;
    buttonModel = [];
    buttonClick = new EventEmitter();
    thumbnailComponent = null;
    content = null;
    badge = input('');
    badgeColor = input('blue');
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ObjectCardFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ObjectCardFieldComponent, selector: "s-object-card-field", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, imageSource: { classPropertyName: "imageSource", publicName: "imageSource", isSignal: false, isRequired: false, transformFunction: null }, imageAlt: { classPropertyName: "imageAlt", publicName: "imageAlt", isSignal: false, isRequired: false, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: false, isRequired: false, transformFunction: null }, buttonLabel: { classPropertyName: "buttonLabel", publicName: "buttonLabel", isSignal: false, isRequired: false, transformFunction: null }, buttonModel: { classPropertyName: "buttonModel", publicName: "buttonModel", isSignal: false, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, badgeColor: { classPropertyName: "badgeColor", publicName: "badgeColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "thumbnailComponent", first: true, predicate: ThumbnailComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<ng-template>\n    <div class=\"container\">\n        <ng-content select=\"s-thumbnail\"></ng-content>\n        @if (!thumbnailComponent && (imageSource || iconClass)) {\n            <s-thumbnail\n                [id]=\"id + '-thumbnail'\"\n                [imageSource]=\"imageSource\"\n                [imageAlt]=\"imageAlt || label\"\n                [iconClass]=\"iconClass ?? ''\"\n                size=\"small\"\n            ></s-thumbnail>\n        }\n\n        <div class=\"info-container\">\n            <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n\n            @if (!labelTemplate.children.length) {\n                <span\n                    [id]=\"id + '-label'\"\n                    class=\"label\"\n                    [sTooltip]=\"label\"\n                    >{{ label }}</span\n                >\n            }\n\n            <div #descriptionTemplate>\n                @if (!badge()) {\n                    <ng-content select=\"[descriptionTemplate]\"></ng-content>\n                }\n            </div>\n            @if (!descriptionTemplate.children.length) {\n                <span\n                    [id]=\"id + '-description'\"\n                    class=\"description\"\n                    [sTooltip]=\"description\"\n                    >{{ description }}</span\n                >\n            }\n\n            @if (badge()) {\n                <s-badge\n                    [text]=\"badge()\"\n                    [color]=\"badgeColor()\"\n                    [enableTruncateText]=\"true\"\n                >\n                </s-badge>\n            }\n            @if (buttonLabel) {\n                <s-button\n                    [id]=\"id + '-button'\"\n                    styleClass=\"object-card-button\"\n                    priority=\"link\"\n                    [label]=\"buttonLabel\"\n                    [menuOptions]=\"buttonModel\"\n                    size=\"small\"\n                    (clicked)=\"buttonClick.emit($event)\"\n                ></s-button>\n            }\n        </div>\n    </div>\n</ng-template>\n\n", styles: [".container{align-items:center;display:flex;height:100%}.info-container{margin-left:10px}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{color:#999;display:block}.info-container .description{display:block}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.info-container{flex:1}}@media (max-width: 767px){.info-container,.info-container span{white-space:normal}}.info-container:only-child{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i1.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i2.ThumbnailComponent, selector: "s-thumbnail", inputs: ["id", "size", "imageSource", "imageFallback", "imageAlt", "iconClass", "hasAction", "actionIconClass", "isTile", "isBrand"] }, { kind: "component", type: i3.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "component", type: i4.BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ObjectCardFieldComponent, decorators: [{
            type: Component,
            args: [{ selector: 's-object-card-field', template: "<ng-template>\n    <div class=\"container\">\n        <ng-content select=\"s-thumbnail\"></ng-content>\n        @if (!thumbnailComponent && (imageSource || iconClass)) {\n            <s-thumbnail\n                [id]=\"id + '-thumbnail'\"\n                [imageSource]=\"imageSource\"\n                [imageAlt]=\"imageAlt || label\"\n                [iconClass]=\"iconClass ?? ''\"\n                size=\"small\"\n            ></s-thumbnail>\n        }\n\n        <div class=\"info-container\">\n            <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n\n            @if (!labelTemplate.children.length) {\n                <span\n                    [id]=\"id + '-label'\"\n                    class=\"label\"\n                    [sTooltip]=\"label\"\n                    >{{ label }}</span\n                >\n            }\n\n            <div #descriptionTemplate>\n                @if (!badge()) {\n                    <ng-content select=\"[descriptionTemplate]\"></ng-content>\n                }\n            </div>\n            @if (!descriptionTemplate.children.length) {\n                <span\n                    [id]=\"id + '-description'\"\n                    class=\"description\"\n                    [sTooltip]=\"description\"\n                    >{{ description }}</span\n                >\n            }\n\n            @if (badge()) {\n                <s-badge\n                    [text]=\"badge()\"\n                    [color]=\"badgeColor()\"\n                    [enableTruncateText]=\"true\"\n                >\n                </s-badge>\n            }\n            @if (buttonLabel) {\n                <s-button\n                    [id]=\"id + '-button'\"\n                    styleClass=\"object-card-button\"\n                    priority=\"link\"\n                    [label]=\"buttonLabel\"\n                    [menuOptions]=\"buttonModel\"\n                    size=\"small\"\n                    (clicked)=\"buttonClick.emit($event)\"\n                ></s-button>\n            }\n        </div>\n    </div>\n</ng-template>\n\n", styles: [".container{align-items:center;display:flex;height:100%}.info-container{margin-left:10px}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{color:#999;display:block}.info-container .description{display:block}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.info-container{flex:1}}@media (max-width: 767px){.info-container,.info-container span{white-space:normal}}.info-container:only-child{margin-left:0}\n"] }]
        }], propDecorators: { id: [{
                type: Input
            }], imageSource: [{
                type: Input
            }], imageAlt: [{
                type: Input
            }], iconClass: [{
                type: Input
            }], label: [{
                type: Input
            }], description: [{
                type: Input
            }], buttonLabel: [{
                type: Input
            }], buttonModel: [{
                type: Input
            }], buttonClick: [{
                type: Output
            }], thumbnailComponent: [{
                type: ContentChild,
                args: [ThumbnailComponent, { static: true }]
            }], content: [{
                type: ViewChild,
                args: [TemplateRef, { static: true }]
            }] } });
//# sourceMappingURL=data:application/json;base64, 