import { Component, HostListener, ViewChild, } from '@angular/core';
import { BehaviorSubject, combineLatest } from 'rxjs';
import { take } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "../menu/menu.service";
import * as i2 from "../../services/shell.service";
import * as i3 from "@angular/cdk/layout";
import * as i4 from "@angular/router";
import * as i5 from "@angular/common";
import * as i6 from "../menu/menu-item-text.component";
import * as i7 from "carbon-components-angular";
import * as i8 from "../../directives/command-click/command-click.directive";
import * as i9 from "../../pipes/menu-item-translation.pipe";
import * as i10 from "../../pipes/case-count.pipe";
export class LeftSidebarComponent {
    onPageClick(targetElement) {
        combineLatest([
            this.shellService.sideBarExpanded$,
            this.shellService.mouseOnTopBar$,
            this.shellService.largeScreen$,
            this.shellService.collapsibleWidescreenMenu$,
        ])
            .pipe(take(1))
            .subscribe(([sideBarExpanded, mouseOnTopBar, largeScreen, collapsibleWidescreenMenu]) => {
            const clickedInside = this.elementRef.nativeElement.contains(targetElement) || mouseOnTopBar;
            if (!clickedInside && (!largeScreen || collapsibleWidescreenMenu) && sideBarExpanded) {
                this.shellService.setSideBarExpanded(false);
            }
        });
    }
    constructor(elementRef, menuService, shellService, breakpointObserver, router) {
        this.elementRef = elementRef;
        this.menuService = menuService;
        this.shellService = shellService;
        this.breakpointObserver = breakpointObserver;
        this.router = router;
        this.includeFunctionObservables = {};
        this.menuItems$ = this.menuService.menuItems$;
        this.sideBarExpanded$ = this.shellService.sideBarExpanded$;
        this.closestSequence$ = this.menuService.closestSequence$;
        this.overflowMenuSequence$ = new BehaviorSubject('');
        this._breakpointsInitialized = false;
        this.includeFunctionObservables = this.menuService.includeFunctionObservables;
    }
    ngAfterViewInit() {
        this.openBreakpointSubscription();
        this.shellService.setSidenavElement(this.elementRef.nativeElement.querySelector('.cds--side-nav'));
    }
    ngOnDestroy() {
        this._breakpointSubscription?.unsubscribe();
    }
    navigateToRoute(route, event) {
        event.preventDefault();
        if (!event.ctrlKey && !event.metaKey) {
            this.router.navigate(route);
            combineLatest([
                this.shellService.sideBarExpanded$,
                this.shellService.largeScreen$,
                this.shellService.collapsibleWidescreenMenu$,
            ])
                .pipe(take(1))
                .subscribe(([sideBarExpanded, largeScreen, collapsibleWidescreenMenu]) => {
                if ((!largeScreen || collapsibleWidescreenMenu) && sideBarExpanded) {
                    this.shellService.setSideBarExpanded(false);
                }
            });
        }
    }
    onRightClick(sequence) {
        this.overflowMenuSequence$.next(sequence);
        return false;
    }
    onOverflowMenuClosed(sequence) {
        this.overflowMenuSequence$.pipe(take(1)).subscribe(overflowMenuSequence => {
            if (overflowMenuSequence === sequence) {
                this.overflowMenuSequence$.next('');
            }
        });
    }
    openInNewTab(link) {
        const url = this.router.serializeUrl(this.router.createUrlTree(link || ['/']));
        window.open(url, '_blank');
    }
    openBreakpointSubscription() {
        this.breakpointObserver
            .observe(['(max-width: 1055px)', '(min-width: 1056px)'])
            .subscribe(state => {
            combineLatest([
                this.shellService.sideBarExpanded$,
                this.shellService.collapsibleWidescreenMenu$,
            ])
                .pipe(take(1))
                .subscribe(([sideBarExpanded, collapsibleWidescreenMenu]) => {
                const breakpoints = state.breakpoints;
                const breakpointKeys = Object.keys(breakpoints);
                const smallScreen = breakpoints[breakpointKeys[0]];
                const largeScreen = breakpoints[breakpointKeys[1]];
                if (!this._breakpointsInitialized) {
                    if (smallScreen || collapsibleWidescreenMenu) {
                        this.shellService.collapseSideBar();
                    }
                    this._breakpointsInitialized = true;
                }
                if (!collapsibleWidescreenMenu) {
                    if ((this._lastSmallScreen && largeScreen && !sideBarExpanded) ||
                        (this._lastLargeScreen && smallScreen && sideBarExpanded)) {
                        this.shellService.toggleSideBar();
                    }
                }
                this._lastSmallScreen = smallScreen;
                this._lastLargeScreen = largeScreen;
                this.shellService.setLargeScreen(largeScreen);
            });
        });
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LeftSidebarComponent, deps: [{ token: i0.ElementRef }, { token: i1.MenuService }, { token: i2.ShellService }, { token: i3.BreakpointObserver }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LeftSidebarComponent, selector: "valtimo-left-sidebar", host: { listeners: { "document:click": "onPageClick($event.target)" } }, viewQueries: [{ propertyName: "toggleButtonRef", first: true, predicate: ["toggleButton"], 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<cds-sidenav\n  *ngIf=\"{\n    closestSequence: closestSequence$ | async,\n    overflowMenuSequence: overflowMenuSequence$ | async,\n    sideBarExpanded: sideBarExpanded$ | async,\n  } as obs\"\n  [allowExpansion]=\"false\"\n  [expanded]=\"obs.sideBarExpanded\"\n>\n  <ng-container *ngFor=\"let menuItem of menuItems$ | async\">\n    <ng-container *ngIf=\"!menuItem.children\">\n      <ng-container\n        *ngTemplateOutlet=\"\n          topMenuItem;\n          context: {\n            menuItem: menuItem,\n            closestSequence: obs.closestSequence,\n            overflowMenuSequence: obs.overflowMenuSequence,\n          }\n        \"\n      ></ng-container>\n    </ng-container>\n\n    <ng-container *ngIf=\"menuItem.children\">\n      <ng-container\n        *ngTemplateOutlet=\"\n          topMenuItem;\n          context: {\n            closestSequence: obs.closestSequence,\n            menuItem: menuItem,\n            overflowMenuSequence: obs.overflowMenuSequence,\n          }\n        \"\n      ></ng-container>\n\n      <ng-container *ngTemplateOutlet=\"subMenuIcon; context: {menuItem: menuItem}\"></ng-container>\n\n      <cds-sidenav-menu\n        [title]=\"menuItem | menuItemTranslate | async\"\n        [attr.data-testid]=\"'sidenav-item-' + menuItem.title\"\n      >\n        <ng-container *ngFor=\"let childMenuItem of menuItem.children\">\n          <ng-container\n            *ngIf=\"{\n              count: childMenuItem?.count$ && (childMenuItem?.count$ | async),\n              sequence: '' + menuItem.sequence + childMenuItem.sequence,\n            } as vars\"\n          >\n            <cds-sidenav-item\n              [attr.data-testid]=\"'sidenav-item-' + childMenuItem?.title\"\n              [ngClass]=\"{\n                'cds--side-nav__item--empty': !childMenuItem.link,\n                'menu-item--hidden': childMenuItem.includeFunction !== undefined,\n                'menu-item--visible':\n                  childMenuItem.includeFunction !== undefined &&\n                  (includeFunctionObservables[childMenuItem.title] | async),\n              }\"\n              [active]=\"vars.sequence === obs.closestSequence\"\n              [href]=\"vars?.count ? 'javascript:return false;' : 'javascript:void(0);'\"\n              (click)=\"navigateToRoute(childMenuItem.link, $event)\"\n              (contextmenu)=\"onRightClick(vars.sequence)\"\n              (ctrl-click)=\"openInNewTab(childMenuItem.link)\"\n            >\n              <valtimo-menu-item-text\n                [accent]=\"!childMenuItem.link\"\n                [menuItem]=\"childMenuItem\"\n                [showOverFlowMenu]=\"obs.overflowMenuSequence === vars.sequence\"\n                (openInNewTab)=\"openInNewTab(childMenuItem.link)\"\n                (overflowMenuClosed)=\"onOverflowMenuClosed(vars.sequence)\"\n              ></valtimo-menu-item-text>\n\n              <ng-container\n                *ngTemplateOutlet=\"countTemplate; context: {count: vars.count}\"\n              ></ng-container>\n            </cds-sidenav-item>\n          </ng-container>\n        </ng-container>\n      </cds-sidenav-menu>\n    </ng-container>\n  </ng-container>\n</cds-sidenav>\n\n<ng-template #subMenuIcon let-menuItem=\"menuItem\">\n  <div class=\"menu-item-icon-container\"><i class=\"{{ menuItem.iconClass }}\"></i></div>\n</ng-template>\n\n<ng-template\n  #topMenuItem\n  let-closestSequence=\"closestSequence\"\n  let-menuItem=\"menuItem\"\n  let-overflowMenuSequence=\"overflowMenuSequence\"\n>\n  <ng-container *ngIf=\"{sequence: '' + menuItem.sequence} as vars\"\n    ><cds-sidenav-item\n      *ngIf=\"!menuItem.children\"\n      [attr.data-testid]=\"'sidenav-item-' + menuItem.title\"\n      [ngClass]=\"{\n        'menu-item--hidden': menuItem.includeFunction !== undefined,\n        'menu-item--visible':\n          menuItem.includeFunction !== undefined &&\n          (includeFunctionObservables[menuItem.title] | async),\n      }\"\n      [active]=\"vars.sequence === closestSequence\"\n      (click)=\"navigateToRoute(menuItem.link, $event)\"\n      (contextmenu)=\"onRightClick(vars.sequence)\"\n      (ctrl-click)=\"openInNewTab(menuItem.link.link)\"\n      href=\"javascript:void(0)\"\n    >\n      <valtimo-menu-item-text\n        [menuItem]=\"menuItem\"\n        [showOverFlowMenu]=\"overflowMenuSequence === vars.sequence\"\n        (openInNewTab)=\"openInNewTab(menuItem.link.link)\"\n        (overflowMenuClosed)=\"onOverflowMenuClosed(vars.sequence)\"\n      ></valtimo-menu-item-text> </cds-sidenav-item\n  ></ng-container>\n</ng-template>\n\n<ng-template #countTemplate let-count=\"count\">\n  <ng-container *ngIf=\"count\">\n    <span class=\"case-count\">\n      {{ count | caseCount }}\n    </span>\n  </ng-container>\n</ng-template>\n", styles: ["@media screen and (max-width: 767px){.be-left-sidebar{width:100%!important}}.be-left-sidebar .left-sidebar-toggle{padding:20px}.be-left-sidebar .left-sidebar-toggle:before{font-size:1.615rem}.be-left-sidebar .sidebar-elements>li>a.be-toggle-left-sidebar{height:32px;display:flex;align-items:center}.be-left-sidebar .left-sidebar-content{padding-top:20px}.be-toggle-left-sidebar svg{margin-right:7px;min-width:21px;height:auto;overflow:visible}.be-toggle-left-sidebar svg path{transition:.27s ease;fill:#696969}::ng-deep .resize-border{position:absolute;width:3px;height:100%;top:0;right:0;cursor:col-resize;background-color:var(--cds-border-strong);opacity:0;transition:opacity .11s cubic-bezier(.2,0,1,.9)}::ng-deep .resize-hover{opacity:1}::ng-deep .resize-border--invisible{display:none}.no-transition{transition:none}.d-1{d:path(\"M3 18v-2h13v2z\")}.d-1-flipped{d:path(\"M3 18v-2h11v2z\")}.d-2{d:path(\"M3 13v-2h10v2H3\")}.d-2-flipped{d:path(\"M3 13v-2h12v2H3\")}.d-3{d:path(\"M3 6h13v2H3V6\")}.d-3-flipped{d:path(\"M3 6h11v2H3V6\")}.d-4{d:path(\"M21 15.61L19.59 17l-5.01-5 5.01-5L21 8.39 17.44 12 21 15.61\")}.d-4-flipped{d:path(\"M15.58 15.61L16.99 17 22 12l-5.01-5-1.41 1.39L19.14 12l-3.56 3.61\")}::ng-deep .cds--side-nav__menu{padding-left:0}::ng-deep .cds--side-nav__navigation{border-right:1px solid #e0e0e0;height:100%}::ng-deep .cds--side-nav--ux{width:0}::ng-deep .cds--side-nav--expanded{width:16rem}::ng-deep .cds--side-nav__header-divider{display:none!important}.menu-item-icon-container{position:relative;top:8px;left:13px;height:0}.menu-item-icon-container i{width:0px;height:16px}.menu-item--hidden{display:none}.menu-item--visible{display:block}::ng-deep .cds--side-nav__item--empty{pointer-events:none}::ng-deep .cds--side-nav__item--empty .menu-item-icon-container{display:none}::ng-deep .cds--side-nav__link[href*=\"javascript:return false;\"]{padding-right:3rem!important}.case-count{position:absolute;right:0;padding-right:1rem;height:100%;top:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;letter-spacing:.1px;line-height:1.25rem;font-weight:500!important}::ng-deep .cds--side-nav__icon{margin-left:-16px}::ng-deep .cds--side-nav__item.cds--side-nav__item--icon a.cds--side-nav__link{padding-left:3.5rem}::ng-deep .cds--side-nav__submenu-title{padding-right:1.5rem}::ng-deep .cds--side-nav__items{display:flex!important;flex-direction:column!important;overflow:visible!important}::ng-deep .cds--side-nav__navigation{top:3rem;height:calc(100% - 3rem)!important;overflow-x:hidden!important;overflow-y:auto!important}::ng-deep .cds--side-nav__navigation:not(.cds--side-nav--expanded){width:0}\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: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.MenuItemTextComponent, selector: "valtimo-menu-item-text", inputs: ["menuItem", "accent", "showOverFlowMenu"], outputs: ["overflowMenuClosed", "openInNewTab"] }, { kind: "component", type: i7.SideNav, selector: "cds-sidenav, ibm-sidenav", inputs: ["ariaLabel", "expanded", "hidden", "rail", "allowExpansion", "navigationItems", "useRouter"] }, { kind: "component", type: i7.SideNavItem, selector: "cds-sidenav-item, ibm-sidenav-item", inputs: ["href", "useRouter", "active", "route", "isSubMenu", "routeExtras", "title"], outputs: ["navigation", "selected"] }, { kind: "component", type: i7.SideNavMenu, selector: "cds-sidenav-menu, ibm-sidenav-menu", inputs: ["useRouter", "title", "expanded", "hasActiveChild", "menuItems"] }, { kind: "directive", type: i8.CtrlClickDirective, selector: "[ctrl-click]", outputs: ["ctrl-click"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.MenuItemTranslationPipe, name: "menuItemTranslate" }, { kind: "pipe", type: i10.CaseCountPipe, name: "caseCount" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LeftSidebarComponent, decorators: [{
            type: Component,
            args: [{ selector: 'valtimo-left-sidebar', 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<cds-sidenav\n  *ngIf=\"{\n    closestSequence: closestSequence$ | async,\n    overflowMenuSequence: overflowMenuSequence$ | async,\n    sideBarExpanded: sideBarExpanded$ | async,\n  } as obs\"\n  [allowExpansion]=\"false\"\n  [expanded]=\"obs.sideBarExpanded\"\n>\n  <ng-container *ngFor=\"let menuItem of menuItems$ | async\">\n    <ng-container *ngIf=\"!menuItem.children\">\n      <ng-container\n        *ngTemplateOutlet=\"\n          topMenuItem;\n          context: {\n            menuItem: menuItem,\n            closestSequence: obs.closestSequence,\n            overflowMenuSequence: obs.overflowMenuSequence,\n          }\n        \"\n      ></ng-container>\n    </ng-container>\n\n    <ng-container *ngIf=\"menuItem.children\">\n      <ng-container\n        *ngTemplateOutlet=\"\n          topMenuItem;\n          context: {\n            closestSequence: obs.closestSequence,\n            menuItem: menuItem,\n            overflowMenuSequence: obs.overflowMenuSequence,\n          }\n        \"\n      ></ng-container>\n\n      <ng-container *ngTemplateOutlet=\"subMenuIcon; context: {menuItem: menuItem}\"></ng-container>\n\n      <cds-sidenav-menu\n        [title]=\"menuItem | menuItemTranslate | async\"\n        [attr.data-testid]=\"'sidenav-item-' + menuItem.title\"\n      >\n        <ng-container *ngFor=\"let childMenuItem of menuItem.children\">\n          <ng-container\n            *ngIf=\"{\n              count: childMenuItem?.count$ && (childMenuItem?.count$ | async),\n              sequence: '' + menuItem.sequence + childMenuItem.sequence,\n            } as vars\"\n          >\n            <cds-sidenav-item\n              [attr.data-testid]=\"'sidenav-item-' + childMenuItem?.title\"\n              [ngClass]=\"{\n                'cds--side-nav__item--empty': !childMenuItem.link,\n                'menu-item--hidden': childMenuItem.includeFunction !== undefined,\n                'menu-item--visible':\n                  childMenuItem.includeFunction !== undefined &&\n                  (includeFunctionObservables[childMenuItem.title] | async),\n              }\"\n              [active]=\"vars.sequence === obs.closestSequence\"\n              [href]=\"vars?.count ? 'javascript:return false;' : 'javascript:void(0);'\"\n              (click)=\"navigateToRoute(childMenuItem.link, $event)\"\n              (contextmenu)=\"onRightClick(vars.sequence)\"\n              (ctrl-click)=\"openInNewTab(childMenuItem.link)\"\n            >\n              <valtimo-menu-item-text\n                [accent]=\"!childMenuItem.link\"\n                [menuItem]=\"childMenuItem\"\n                [showOverFlowMenu]=\"obs.overflowMenuSequence === vars.sequence\"\n                (openInNewTab)=\"openInNewTab(childMenuItem.link)\"\n                (overflowMenuClosed)=\"onOverflowMenuClosed(vars.sequence)\"\n              ></valtimo-menu-item-text>\n\n              <ng-container\n                *ngTemplateOutlet=\"countTemplate; context: {count: vars.count}\"\n              ></ng-container>\n            </cds-sidenav-item>\n          </ng-container>\n        </ng-container>\n      </cds-sidenav-menu>\n    </ng-container>\n  </ng-container>\n</cds-sidenav>\n\n<ng-template #subMenuIcon let-menuItem=\"menuItem\">\n  <div class=\"menu-item-icon-container\"><i class=\"{{ menuItem.iconClass }}\"></i></div>\n</ng-template>\n\n<ng-template\n  #topMenuItem\n  let-closestSequence=\"closestSequence\"\n  let-menuItem=\"menuItem\"\n  let-overflowMenuSequence=\"overflowMenuSequence\"\n>\n  <ng-container *ngIf=\"{sequence: '' + menuItem.sequence} as vars\"\n    ><cds-sidenav-item\n      *ngIf=\"!menuItem.children\"\n      [attr.data-testid]=\"'sidenav-item-' + menuItem.title\"\n      [ngClass]=\"{\n        'menu-item--hidden': menuItem.includeFunction !== undefined,\n        'menu-item--visible':\n          menuItem.includeFunction !== undefined &&\n          (includeFunctionObservables[menuItem.title] | async),\n      }\"\n      [active]=\"vars.sequence === closestSequence\"\n      (click)=\"navigateToRoute(menuItem.link, $event)\"\n      (contextmenu)=\"onRightClick(vars.sequence)\"\n      (ctrl-click)=\"openInNewTab(menuItem.link.link)\"\n      href=\"javascript:void(0)\"\n    >\n      <valtimo-menu-item-text\n        [menuItem]=\"menuItem\"\n        [showOverFlowMenu]=\"overflowMenuSequence === vars.sequence\"\n        (openInNewTab)=\"openInNewTab(menuItem.link.link)\"\n        (overflowMenuClosed)=\"onOverflowMenuClosed(vars.sequence)\"\n      ></valtimo-menu-item-text> </cds-sidenav-item\n  ></ng-container>\n</ng-template>\n\n<ng-template #countTemplate let-count=\"count\">\n  <ng-container *ngIf=\"count\">\n    <span class=\"case-count\">\n      {{ count | caseCount }}\n    </span>\n  </ng-container>\n</ng-template>\n", styles: ["@media screen and (max-width: 767px){.be-left-sidebar{width:100%!important}}.be-left-sidebar .left-sidebar-toggle{padding:20px}.be-left-sidebar .left-sidebar-toggle:before{font-size:1.615rem}.be-left-sidebar .sidebar-elements>li>a.be-toggle-left-sidebar{height:32px;display:flex;align-items:center}.be-left-sidebar .left-sidebar-content{padding-top:20px}.be-toggle-left-sidebar svg{margin-right:7px;min-width:21px;height:auto;overflow:visible}.be-toggle-left-sidebar svg path{transition:.27s ease;fill:#696969}::ng-deep .resize-border{position:absolute;width:3px;height:100%;top:0;right:0;cursor:col-resize;background-color:var(--cds-border-strong);opacity:0;transition:opacity .11s cubic-bezier(.2,0,1,.9)}::ng-deep .resize-hover{opacity:1}::ng-deep .resize-border--invisible{display:none}.no-transition{transition:none}.d-1{d:path(\"M3 18v-2h13v2z\")}.d-1-flipped{d:path(\"M3 18v-2h11v2z\")}.d-2{d:path(\"M3 13v-2h10v2H3\")}.d-2-flipped{d:path(\"M3 13v-2h12v2H3\")}.d-3{d:path(\"M3 6h13v2H3V6\")}.d-3-flipped{d:path(\"M3 6h11v2H3V6\")}.d-4{d:path(\"M21 15.61L19.59 17l-5.01-5 5.01-5L21 8.39 17.44 12 21 15.61\")}.d-4-flipped{d:path(\"M15.58 15.61L16.99 17 22 12l-5.01-5-1.41 1.39L19.14 12l-3.56 3.61\")}::ng-deep .cds--side-nav__menu{padding-left:0}::ng-deep .cds--side-nav__navigation{border-right:1px solid #e0e0e0;height:100%}::ng-deep .cds--side-nav--ux{width:0}::ng-deep .cds--side-nav--expanded{width:16rem}::ng-deep .cds--side-nav__header-divider{display:none!important}.menu-item-icon-container{position:relative;top:8px;left:13px;height:0}.menu-item-icon-container i{width:0px;height:16px}.menu-item--hidden{display:none}.menu-item--visible{display:block}::ng-deep .cds--side-nav__item--empty{pointer-events:none}::ng-deep .cds--side-nav__item--empty .menu-item-icon-container{display:none}::ng-deep .cds--side-nav__link[href*=\"javascript:return false;\"]{padding-right:3rem!important}.case-count{position:absolute;right:0;padding-right:1rem;height:100%;top:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;letter-spacing:.1px;line-height:1.25rem;font-weight:500!important}::ng-deep .cds--side-nav__icon{margin-left:-16px}::ng-deep .cds--side-nav__item.cds--side-nav__item--icon a.cds--side-nav__link{padding-left:3.5rem}::ng-deep .cds--side-nav__submenu-title{padding-right:1.5rem}::ng-deep .cds--side-nav__items{display:flex!important;flex-direction:column!important;overflow:visible!important}::ng-deep .cds--side-nav__navigation{top:3rem;height:calc(100% - 3rem)!important;overflow-x:hidden!important;overflow-y:auto!important}::ng-deep .cds--side-nav__navigation:not(.cds--side-nav--expanded){width:0}\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: i0.ElementRef }, { type: i1.MenuService }, { type: i2.ShellService }, { type: i3.BreakpointObserver }, { type: i4.Router }], propDecorators: { toggleButtonRef: [{
                type: ViewChild,
                args: ['toggleButton']
            }], onPageClick: [{
                type: HostListener,
                args: ['document:click', ['$event.target']]
            }] } });
//# sourceMappingURL=data:application/json;base64, 