import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ImageComponent } from '../../atoms/image/image.component';
import { BannerComponent } from '../banner/banner.component';
import * as i0 from "@angular/core";
/**
 * NoContentComponent
 *
 * Componente para mostrar una pantalla de "sin contenido" con imagen y banners opcionales arriba y abajo.
 * Útil para estados vacíos, errores o mensajes informativos.
 *
 * @example
 * <val-no-content [props]="{ image: { src: 'empty.svg' }, bottomContent: { ... } }"></val-no-content>
 *
 * @input props {NoContentMetadata} - Metadatos de la imagen y banners a mostrar.
 * @output onClick - Emite el token de acción de los banners si corresponde.
 */
export class NoContentComponent {
    constructor() {
        this.onClick = new EventEmitter();
    }
    ngOnInit() { }
    onClickHandler(token) {
        this.onClick.emit(token);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NoContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NoContentComponent, isStandalone: true, selector: "val-no-content", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
    @if (props.topContent) {
      <div>
        <val-banner [props]="props.topContent" (onClick)="onClickHandler($event)"></val-banner>
      </div>
    }
    <val-image class="image-container" [props]="props.image"></val-image>
    <div>
      <val-banner [props]="props.bottomContent" (onClick)="onClickHandler($event)"></val-banner>
    </div>
  `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"], dependencies: [{ kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: BannerComponent, selector: "val-banner", inputs: ["props"], outputs: ["onClick", "onClose"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NoContentComponent, decorators: [{
            type: Component,
            args: [{ selector: 'val-no-content', standalone: true, imports: [ImageComponent, BannerComponent], template: `
    @if (props.topContent) {
      <div>
        <val-banner [props]="props.topContent" (onClick)="onClickHandler($event)"></val-banner>
      </div>
    }
    <val-image class="image-container" [props]="props.image"></val-image>
    <div>
      <val-banner [props]="props.bottomContent" (onClick)="onClickHandler($event)"></val-banner>
    </div>
  `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"] }]
        }], propDecorators: { props: [{
                type: Input
            }], onClick: [{
                type: Output
            }] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL25vLWNvbnRlbnQvbm8tY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQW9CN0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBN0IvQjtRQWtDRSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQU90QztJQUxDLFFBQVEsS0FBSSxDQUFDO0lBRWIsY0FBYyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FYVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1SUF6Qm5COzs7Ozs7Ozs7O0dBVVQsNDFGQVhTLGNBQWMseUVBQUUsZUFBZTs7NEZBMEI5QixrQkFBa0I7a0JBN0I5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsWUFDaEM7Ozs7Ozs7Ozs7R0FVVDs4QkFpQkQsS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vQ29udGVudE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1uby1jb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ltYWdlQ29tcG9uZW50LCBCYW5uZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAocHJvcHMudG9wQ29udGVudCkge1xuICAgICAgPGRpdj5cbiAgICAgICAgPHZhbC1iYW5uZXIgW3Byb3BzXT1cInByb3BzLnRvcENvbnRlbnRcIiAob25DbGljayk9XCJvbkNsaWNrSGFuZGxlcigkZXZlbnQpXCI+PC92YWwtYmFubmVyPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDx2YWwtaW1hZ2UgY2xhc3M9XCJpbWFnZS1jb250YWluZXJcIiBbcHJvcHNdPVwicHJvcHMuaW1hZ2VcIj48L3ZhbC1pbWFnZT5cbiAgICA8ZGl2PlxuICAgICAgPHZhbC1iYW5uZXIgW3Byb3BzXT1cInByb3BzLmJvdHRvbUNvbnRlbnRcIiAob25DbGljayk9XCJvbkNsaWNrSGFuZGxlcigkZXZlbnQpXCI+PC92YWwtYmFubmVyPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9uby1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiBOb0NvbnRlbnRDb21wb25lbnRcbiAqXG4gKiBDb21wb25lbnRlIHBhcmEgbW9zdHJhciB1bmEgcGFudGFsbGEgZGUgXCJzaW4gY29udGVuaWRvXCIgY29uIGltYWdlbiB5IGJhbm5lcnMgb3BjaW9uYWxlcyBhcnJpYmEgeSBhYmFqby5cbiAqIMOadGlsIHBhcmEgZXN0YWRvcyB2YWPDrW9zLCBlcnJvcmVzIG8gbWVuc2FqZXMgaW5mb3JtYXRpdm9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLW5vLWNvbnRlbnQgW3Byb3BzXT1cInsgaW1hZ2U6IHsgc3JjOiAnZW1wdHkuc3ZnJyB9LCBib3R0b21Db250ZW50OiB7IC4uLiB9IH1cIj48L3ZhbC1uby1jb250ZW50PlxuICpcbiAqIEBpbnB1dCBwcm9wcyB7Tm9Db250ZW50TWV0YWRhdGF9IC0gTWV0YWRhdG9zIGRlIGxhIGltYWdlbiB5IGJhbm5lcnMgYSBtb3N0cmFyLlxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdGUgZWwgdG9rZW4gZGUgYWNjacOzbiBkZSBsb3MgYmFubmVycyBzaSBjb3JyZXNwb25kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBOb0NvbnRlbnRNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG5nT25Jbml0KCkge31cblxuICBvbkNsaWNrSGFuZGxlcih0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=