import '@angular/compiler';
import { Component, Input } from '@angular/core';
import { registerStreamingSlot } from './core/streamingSlotRegistrar.js';
import * as i0 from "@angular/core";
export class StreamSlotComponent {
    constructor() {
        this.fallbackHtml = '';
    }
    get sanitizedFallbackHtml() {
        return { changingThisBreaksApplicationSecurity: this.fallbackHtml };
    }
    ngOnInit() {
        if (typeof window !== 'undefined')
            return;
        registerStreamingSlot({
            errorHtml: this.errorHtml,
            fallbackHtml: this.fallbackHtml,
            id: this.id,
            resolve: this.resolve,
            timeoutMs: this.timeoutMs
        });
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: StreamSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: StreamSlotComponent, isStandalone: true, selector: "abs-stream-slot", inputs: { className: "className", errorHtml: "errorHtml", fallbackHtml: "fallbackHtml", id: "id", resolve: "resolve", timeoutMs: "timeoutMs" }, ngImport: i0, template: `
		<div
			[attr.id]="'slot-' + id"
			[attr.class]="className"
			data-absolute-slot="true"
			[innerHTML]="sanitizedFallbackHtml"
		></div>
	`, isInline: true }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: StreamSlotComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'abs-stream-slot',
                    standalone: true,
                    template: `
		<div
			[attr.id]="'slot-' + id"
			[attr.class]="className"
			data-absolute-slot="true"
			[innerHTML]="sanitizedFallbackHtml"
		></div>
	`
                }]
        }], propDecorators: { className: [{
                type: Input
            }], errorHtml: [{
                type: Input
            }], fallbackHtml: [{
                type: Input
            }], id: [{
                type: Input,
                args: [{ required: true }]
            }], resolve: [{
                type: Input,
                args: [{ required: true }]
            }], timeoutMs: [{
                type: Input
            }] } });
