import { Component, Input, ViewEncapsulation } from '@angular/core';
import { SmzDocumentFeatureDefinitions } from '../../models/smz-document-features';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "primeng/tooltip";
import * as i3 from "../title/title.component";
import * as i4 from "../divider/divider.component";
import * as i5 from "../field/field.component";
import * as i6 from "../image/image.component";
import * as i7 from "../spacer/spacer.component";
import * as i8 from "../sub-title/sub-title.component";
import * as i9 from "../fields-group/fields-group.component";
import * as i10 from "../table/table.component";
import * as i11 from "../chart/chart.component";
import * as i12 from "../page-break/page-break.component";
import * as i13 from "../injectable/injectable.component";
import * as i14 from "../hidden-break/hidden-break.component";
export class SmzDocumentContentComponent {
    constructor() {
        this.featureDefinitions = SmzDocumentFeatureDefinitions;
    }
    ngOnInit() { }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SmzDocumentContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: SmzDocumentContentComponent, selector: "smz-document-content", inputs: { data: "data", config: "config", state: "state", isDebug: "isDebug" }, ngImport: i0, template: "<ng-container *ngIf=\"data.breakPage.enabled\">\r\n  <div class=\"page-break-tag\"></div>\r\n  <div *ngIf=\"data.breakPage.overlap > 0\" class=\"w-full\" [ngClass]=\"{ 'bg-red-500': isDebug }\" [style.padding]=\"data.breakPage.overlap + 'px !important'\"></div>\r\n</ng-container>\r\n\r\n<table\r\n  *ngIf=\"!data.breakPage.enabled\"\r\n  class=\"w-full h-full border-collapse bg-white smz-document-content-tag\"\r\n  [ngClass]=\"data.container.styles\"\r\n  cellspacing=\"0\"\r\n  cellpadding=\"0\"\r\n  >\r\n\r\n  <ng-container *ngFor=\"let row of data?.rows\">\r\n\r\n    <tr>\r\n\r\n      <ng-container *ngFor=\"let cell of row.cells\">\r\n\r\n        <td class=\"relative\" [style.height]=\"cell.height\" [style.width]=\"cell.width\" [colSpan]=\"cell.colspan\" [rowSpan]=\"cell.rowspan\" [ngClass]=\"data.cellStyles\">\r\n\r\n          <ng-container [ngSwitch]=\"cell.data?.type\">\r\n\r\n            <ng-container *ngSwitchCase=\"'content'\">\r\n              <smz-document-content [data]=\"$any(cell.data)\" [config]=\"config\" [state]=\"state\"></smz-document-content>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.TITLE\">\r\n              <smz-document-title [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-title>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.DIVIDER\">\r\n              <smz-document-divider [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-divider>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.FIELD\">\r\n              <smz-document-field [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-field>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.IMAGE\">\r\n              <smz-document-image [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-image>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.SPACER\">\r\n              <smz-document-spacer [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-spacer>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.HIDDEN_BREAK\">\r\n              <smz-document-hidden-break [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-hidden-break>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.SUB_TITLE\">\r\n              <smz-document-sub-title [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-sub-title>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.FIELDS_GROUP\">\r\n              <smz-document-fields-group [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-fields-group>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.TABLE\">\r\n              <smz-document-table [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-table>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.CHART\">\r\n              <smz-document-chart [data]=\"$any(cell.data)\" [config]=\"config\" [state]=\"state\"></smz-document-chart>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.PAGE_BREAK\">\r\n              <smz-document-page-break></smz-document-page-break>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.COMPONENT\">\r\n              <smz-document-injectable [data]=\"$any(cell.data)\" [config]=\"config\" [state]=\"state\"></smz-document-injectable>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchDefault>unknown cell data type</ng-container>\r\n\r\n          </ng-container>\r\n\r\n          <div *ngIf=\"isDebug\"\r\n            class=\"absolute inset-0 w-full h-full border-dotted border border-red-500 cursor-pointer hover:bg-red-700 hover:opacity-10 transition-all\"\r\n            [pTooltip]=\"'colspan: ' + cell.colspan + ' - rowspan: ' + cell.rowspan\" appendTo=\"body\" [hideDelay]=\"200\" [showDelay]=\"50\">\r\n          </div>\r\n\r\n        </td>\r\n\r\n      </ng-container>\r\n\r\n    </tr>\r\n\r\n  </ng-container>\r\n\r\n</table>", styles: ["smz-document-content .smz-document-content-tag table{page-break-inside:auto}smz-document-content .smz-document-content-tag div{page-break-inside:avoid}smz-document-content .smz-document-content-tag thead{display:table-header-group}smz-document-content .smz-document-content-tag tfoot{display:table-footer-group}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: SmzDocumentContentComponent, selector: "smz-document-content", inputs: ["data", "config", "state", "isDebug"] }, { kind: "component", type: i3.SmzDocumentTitleComponent, selector: "smz-document-title", inputs: ["data", "config"] }, { kind: "component", type: i4.SmzDocumentDividerComponent, selector: "smz-document-divider", inputs: ["data", "config"] }, { kind: "component", type: i5.SmzDocumentFieldComponent, selector: "smz-document-field", inputs: ["data", "config"] }, { kind: "component", type: i6.SmzDocumentImageComponent, selector: "smz-document-image", inputs: ["data", "config"] }, { kind: "component", type: i7.SmzDocumentSpacerComponent, selector: "smz-document-spacer", inputs: ["data", "config"] }, { kind: "component", type: i8.SmzDocumentSubTitleComponent, selector: "smz-document-sub-title", inputs: ["data", "config"] }, { kind: "component", type: i9.SmzDocumentFieldsGroupComponent, selector: "smz-document-fields-group", inputs: ["data", "config"] }, { kind: "component", type: i10.SmzDocumentTableComponent, selector: "smz-document-table", inputs: ["data", "config"] }, { kind: "component", type: i11.SmzDocumentChartComponent, selector: "smz-document-chart", inputs: ["data", "config", "state"] }, { kind: "component", type: i12.SmzDocumentPageBreakComponent, selector: "smz-document-page-break" }, { kind: "component", type: i13.SmzDocumentInjectableComponent, selector: "smz-document-injectable", inputs: ["data", "config", "state"] }, { kind: "component", type: i14.SmzDocumentHiddenBreakComponent, selector: "smz-document-hidden-break", inputs: ["data", "config"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SmzDocumentContentComponent, decorators: [{
            type: Component,
            args: [{ selector: 'smz-document-content', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"data.breakPage.enabled\">\r\n  <div class=\"page-break-tag\"></div>\r\n  <div *ngIf=\"data.breakPage.overlap > 0\" class=\"w-full\" [ngClass]=\"{ 'bg-red-500': isDebug }\" [style.padding]=\"data.breakPage.overlap + 'px !important'\"></div>\r\n</ng-container>\r\n\r\n<table\r\n  *ngIf=\"!data.breakPage.enabled\"\r\n  class=\"w-full h-full border-collapse bg-white smz-document-content-tag\"\r\n  [ngClass]=\"data.container.styles\"\r\n  cellspacing=\"0\"\r\n  cellpadding=\"0\"\r\n  >\r\n\r\n  <ng-container *ngFor=\"let row of data?.rows\">\r\n\r\n    <tr>\r\n\r\n      <ng-container *ngFor=\"let cell of row.cells\">\r\n\r\n        <td class=\"relative\" [style.height]=\"cell.height\" [style.width]=\"cell.width\" [colSpan]=\"cell.colspan\" [rowSpan]=\"cell.rowspan\" [ngClass]=\"data.cellStyles\">\r\n\r\n          <ng-container [ngSwitch]=\"cell.data?.type\">\r\n\r\n            <ng-container *ngSwitchCase=\"'content'\">\r\n              <smz-document-content [data]=\"$any(cell.data)\" [config]=\"config\" [state]=\"state\"></smz-document-content>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.TITLE\">\r\n              <smz-document-title [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-title>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.DIVIDER\">\r\n              <smz-document-divider [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-divider>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.FIELD\">\r\n              <smz-document-field [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-field>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.IMAGE\">\r\n              <smz-document-image [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-image>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.SPACER\">\r\n              <smz-document-spacer [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-spacer>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.HIDDEN_BREAK\">\r\n              <smz-document-hidden-break [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-hidden-break>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.SUB_TITLE\">\r\n              <smz-document-sub-title [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-sub-title>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.FIELDS_GROUP\">\r\n              <smz-document-fields-group [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-fields-group>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.TABLE\">\r\n              <smz-document-table [data]=\"$any(cell.data)\" [config]=\"config\"></smz-document-table>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.CHART\">\r\n              <smz-document-chart [data]=\"$any(cell.data)\" [config]=\"config\" [state]=\"state\"></smz-document-chart>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.PAGE_BREAK\">\r\n              <smz-document-page-break></smz-document-page-break>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchCase=\"featureDefinitions.COMPONENT\">\r\n              <smz-document-injectable [data]=\"$any(cell.data)\" [config]=\"config\" [state]=\"state\"></smz-document-injectable>\r\n            </ng-container>\r\n\r\n            <ng-container *ngSwitchDefault>unknown cell data type</ng-container>\r\n\r\n          </ng-container>\r\n\r\n          <div *ngIf=\"isDebug\"\r\n            class=\"absolute inset-0 w-full h-full border-dotted border border-red-500 cursor-pointer hover:bg-red-700 hover:opacity-10 transition-all\"\r\n            [pTooltip]=\"'colspan: ' + cell.colspan + ' - rowspan: ' + cell.rowspan\" appendTo=\"body\" [hideDelay]=\"200\" [showDelay]=\"50\">\r\n          </div>\r\n\r\n        </td>\r\n\r\n      </ng-container>\r\n\r\n    </tr>\r\n\r\n  </ng-container>\r\n\r\n</table>", styles: ["smz-document-content .smz-document-content-tag table{page-break-inside:auto}smz-document-content .smz-document-content-tag div{page-break-inside:avoid}smz-document-content .smz-document-content-tag thead{display:table-header-group}smz-document-content .smz-document-content-tag tfoot{display:table-footer-group}\n"] }]
        }], ctorParameters: () => [], propDecorators: { data: [{
                type: Input
            }], config: [{
                type: Input
            }], state: [{
                type: Input
            }], isDebug: [{
                type: Input
            }] } });
//# sourceMappingURL=data:application/json;base64, 