/*
 * Copyright 2015-2024 Ritense BV, the Netherlands.
 *
 * Licensed under EUPL, Version 1.2 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { Component, ViewChild } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../../services/layout/layout.service";
import * as i2 from "@valtimo/components";
import * as i3 from "@angular/router";
import * as i4 from "@angular/common";
export class LayoutInternalComponent {
    constructor(layoutService, renderer, userInterfaceService, shellService) {
        this.layoutService = layoutService;
        this.renderer = renderer;
        this.userInterfaceService = userInterfaceService;
        this.shellService = shellService;
        this.showPageHeader$ = this.userInterfaceService.showPageHeader$;
        this.sideBarExpanded$ = this.shellService.sideBarExpanded$;
        this.collapsibleWidescreenMenu$ = this.shellService.collapsibleWidescreenMenu$;
        this.renderer.addClass(document.body, 'be-animate');
    }
    ngAfterViewInit() {
        App.init();
        this.shellService.setContentElement(this.mainContentRef.nativeElement);
        this._observer = new ResizeObserver(() => {
            this.shellService.onMainContentResize();
        });
        this._observer.observe(this.mainContentRef.nativeElement);
    }
    ngOnDestroy() {
        this._observer.disconnect();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutInternalComponent, deps: [{ token: i1.LayoutService }, { token: i0.Renderer2 }, { token: i2.UserInterfaceService }, { token: i2.ShellService }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LayoutInternalComponent, selector: "valtimo-layout-internal", viewQueries: [{ propertyName: "mainContentRef", first: true, predicate: ["mainContent"], descendants: true }], ngImport: i0, template: "<!--\n  ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n  ~\n  ~ Licensed under EUPL, Version 1.2 (the \"License\");\n  ~ you may not use this file except in compliance with the License.\n  ~ You may obtain a copy of the License at\n  ~\n  ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n  ~\n  ~ Unless required by applicable law or agreed to in writing, software\n  ~ distributed under the License is distributed on an \"AS IS\" basis,\n  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  ~ See the License for the specific language governing permissions and\n  ~ limitations under the License.\n  -->\n\n<valtimo-topbar></valtimo-topbar>\n<main\n  class=\"cds--content\"\n  [ngClass]=\"{\n    'cds--content--sidebar':\n      (sideBarExpanded$ | async) && (collapsibleWidescreenMenu$ | async) === false,\n  }\"\n  #mainContent\n>\n  <valtimo-left-sidebar [hidden]=\"layoutService.isFullscreen\"></valtimo-left-sidebar>\n  <valtimo-alert></valtimo-alert>\n  <valtimo-page-header [hidden]=\"layoutService.isFullscreen\"></valtimo-page-header>\n  <router-outlet></router-outlet>\n  <valtimo-right-sidebar></valtimo-right-sidebar>\n  <v-prompt></v-prompt>\n</main>\n", styles: ["::ng-deep .cds--content{padding-top:24px!important}@media screen and (max-width: 767px){.be-content{margin-left:0!important}}@media only screen and (min-width: 1056px){.cds--content--sidebar{padding-left:18rem}}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2.TopbarComponent, selector: "valtimo-topbar" }, { kind: "component", type: i2.LeftSidebarComponent, selector: "valtimo-left-sidebar" }, { kind: "component", type: i2.RightSidebarComponent, selector: "valtimo-right-sidebar" }, { kind: "component", type: i2.PageHeaderComponent, selector: "valtimo-page-header" }, { kind: "component", type: i2.AlertComponent, selector: "valtimo-alert" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.PromptComponent, selector: "v-prompt", inputs: ["appearingDelayMs", "maxWidthPx"], outputs: ["closeEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutInternalComponent, decorators: [{
            type: Component,
            args: [{ selector: 'valtimo-layout-internal', template: "<!--\n  ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n  ~\n  ~ Licensed under EUPL, Version 1.2 (the \"License\");\n  ~ you may not use this file except in compliance with the License.\n  ~ You may obtain a copy of the License at\n  ~\n  ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n  ~\n  ~ Unless required by applicable law or agreed to in writing, software\n  ~ distributed under the License is distributed on an \"AS IS\" basis,\n  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  ~ See the License for the specific language governing permissions and\n  ~ limitations under the License.\n  -->\n\n<valtimo-topbar></valtimo-topbar>\n<main\n  class=\"cds--content\"\n  [ngClass]=\"{\n    'cds--content--sidebar':\n      (sideBarExpanded$ | async) && (collapsibleWidescreenMenu$ | async) === false,\n  }\"\n  #mainContent\n>\n  <valtimo-left-sidebar [hidden]=\"layoutService.isFullscreen\"></valtimo-left-sidebar>\n  <valtimo-alert></valtimo-alert>\n  <valtimo-page-header [hidden]=\"layoutService.isFullscreen\"></valtimo-page-header>\n  <router-outlet></router-outlet>\n  <valtimo-right-sidebar></valtimo-right-sidebar>\n  <v-prompt></v-prompt>\n</main>\n", styles: ["::ng-deep .cds--content{padding-top:24px!important}@media screen and (max-width: 767px){.be-content{margin-left:0!important}}@media only screen and (min-width: 1056px){.cds--content--sidebar{padding-left:18rem}}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
        }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i0.Renderer2 }, { type: i2.UserInterfaceService }, { type: i2.ShellService }], propDecorators: { mainContentRef: [{
                type: ViewChild,
                args: ['mainContent']
            }] } });
//# sourceMappingURL=data:application/json;base64, 