{"version":3,"file":"fundamental-ngx-core-side-navigation.mjs","sources":["../../../../libs/core/side-navigation/side-navigation-main.directive.ts","../../../../libs/core/side-navigation/side-navigation-utility.directive.ts","../../../../libs/core/side-navigation/side-navigation.component.ts","../../../../libs/core/side-navigation/side-navigation.component.html","../../../../libs/core/side-navigation/side-navigation.module.ts","../../../../libs/core/side-navigation/fundamental-ngx-core-side-navigation.ts"],"sourcesContent":["import { ContentChild, Directive, HostBinding } from '@angular/core';\nimport { NestedListDirective } from '@fundamental-ngx/core/nested-list';\n\n@Directive({\n    selector: '[fdSideNavigationMain], [fd-side-nav-main]',\n    standalone: true\n})\nexport class SideNavigationMainDirective {\n    /** @hidden */\n    @ContentChild(NestedListDirective)\n    list: NestedListDirective;\n\n    /** @hidden */\n    @HostBinding('class.fd-side-nav__main-navigation')\n    classSideNavMainNavigation = true;\n}\n","import { ContentChild, Directive, HostBinding } from '@angular/core';\nimport { NestedListDirective } from '@fundamental-ngx/core/nested-list';\n\n@Directive({\n    selector: '[fdSideNavigationUtility], [fd-side-nav-utility]',\n    standalone: true\n})\nexport class SideNavigationUtilityDirective {\n    /** @hidden */\n    @ContentChild(NestedListDirective)\n    list: NestedListDirective;\n\n    /** @hidden */\n    @HostBinding('class.fd-side-nav__utility')\n    classSideNavUtility = true;\n}\n","import {\n    AfterContentInit,\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ContentChild,\n    DestroyRef,\n    HostBinding,\n    HostListener,\n    inject,\n    Input,\n    OnInit,\n    QueryList,\n    ViewChildren,\n    ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport {\n    NestedListDirective,\n    NestedListKeyboardService,\n    NestedListStateService,\n    PreparedNestedListComponent\n} from '@fundamental-ngx/core/nested-list';\nimport { SideNavigationMainDirective } from './side-navigation-main.directive';\nimport { SideNavigationModel } from './side-navigation-model';\nimport { SideNavigationUtilityDirective } from './side-navigation-utility.directive';\nimport { SideNavigationInterface } from './side-navigation.interface';\n\n/**\n * @deprecated use the vertical navigation component instead.\n * The side-navigation is a wrapping component representing\n * a left navigation that can always display or expand/collapse using the menu icon within the global navigation.\n */\n@Component({\n    templateUrl: './side-navigation.component.html',\n    selector: 'fd-side-nav',\n    styleUrl: './side-navigation.component.scss',\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService],\n    imports: [SideNavigationMainDirective, PreparedNestedListComponent, SideNavigationUtilityDirective]\n})\nexport class SideNavigationComponent implements AfterContentInit, AfterViewInit, OnInit, SideNavigationInterface {\n    /**\n     * Side navigation configuration, to pass whole model object, instead of creating HTML from scratch\n     */\n    @Input()\n    sideNavigationConfiguration: Nullable<SideNavigationModel>;\n\n    /** Whether condensed mode is included */\n    @Input()\n    @HostBinding('class.fd-side-nav--condensed')\n    condensed = false;\n\n    /**\n     * The screen width, in pixels, at which to automatically collapse the side navigation on window resize.\n     */\n    @Input()\n    collapseWidth: number;\n\n    /** Whether clicking on elements should change selected state of items */\n    @Input()\n    set selectable(selectable: boolean) {\n        this.nestedListState.selectable = selectable;\n    }\n\n    /** @hidden */\n    @ContentChild(SideNavigationUtilityDirective)\n    sideNavUtility: SideNavigationUtilityDirective;\n\n    /** @hidden */\n    @ContentChild(SideNavigationMainDirective)\n    sideNavMain: SideNavigationMainDirective;\n\n    /** @hidden */\n    @ViewChildren(PreparedNestedListComponent)\n    preparedNestedList: QueryList<PreparedNestedListComponent>;\n\n    /** @hidden */\n    additionalShellbarCssClass = 'fd-shellbar--side-nav';\n\n    /** @hidden */\n    private readonly _cdr = inject(ChangeDetectorRef);\n\n    /** @hidden */\n    private readonly _destroyRef = inject(DestroyRef);\n\n    /** @hidden */\n    constructor(\n        private keyboardService: NestedListKeyboardService,\n        private nestedListState: NestedListStateService\n    ) {\n        this.keyboardService.refresh$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n            /** Refresh list of elements, that are being supported by keyboard */\n            this.keyboardService.refreshItems(this.getLists());\n        });\n        warnOnce(`\n            SideNavigationComponent is deprecated since version 0.40.0 and will be removed in future release.\n            Use the vertical navigation component instead.\n            For more information check the documentation.\n        `);\n    }\n\n    /** @hidden */\n    @HostListener('window:resize')\n    onResize(): void {\n        if (this.collapseWidth) {\n            this.condensed = window.innerWidth <= this.collapseWidth;\n        }\n        this._cdr.markForCheck();\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        /** Set up condensed state */\n        this.nestedListState.condensed =\n            this.condensed || !!(this.sideNavigationConfiguration && this.sideNavigationConfiguration.condensed);\n\n        if (this.collapseWidth) {\n            this.onResize();\n        }\n    }\n\n    /** @hidden */\n    ngAfterContentInit(): void {\n        if (!this.sideNavigationConfiguration) {\n            this.keyboardService.refreshItems(this.getLists());\n        }\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        if (this.sideNavigationConfiguration) {\n            this.keyboardService.refreshItems(this.getLists());\n        }\n    }\n\n    /**\n     * @hidden\n     * Method that returns 1 deep level of lists.\n     */\n    private getLists(): NestedListDirective[] {\n        const lists: NestedListDirective[] = [];\n\n        if (this.sideNavMain) {\n            lists.push(this.sideNavMain.list);\n        }\n        if (this.sideNavUtility) {\n            lists.push(this.sideNavUtility.list);\n        }\n        if (this.preparedNestedList) {\n            lists.push(...this.preparedNestedList.map((preparedNested) => preparedNested.nestedListDirective));\n        }\n\n        return lists;\n    }\n}\n","<nav class=\"fd-side-nav\" [class.fd-side-nav--condensed]=\"condensed || sideNavigationConfiguration?.condensed\">\n    @if (!sideNavigationConfiguration) {\n        <ng-content></ng-content>\n    } @else {\n        @if (sideNavigationConfiguration.mainNavigation) {\n            <div fd-side-nav-main>\n                <fd-prepared-nested-list\n                    [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n                    [first]=\"true\"\n                    [list]=\"sideNavigationConfiguration.mainNavigation\"\n                >\n                </fd-prepared-nested-list>\n            </div>\n        }\n        @if (sideNavigationConfiguration.utilityNavigation) {\n            <div fd-side-nav-utility>\n                <fd-prepared-nested-list\n                    [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n                    [first]=\"true\"\n                    [list]=\"sideNavigationConfiguration.utilityNavigation\"\n                >\n                </fd-prepared-nested-list>\n            </div>\n        }\n    }\n</nav>\n","import { NgModule } from '@angular/core';\n\nimport { SideNavigationMainDirective } from './side-navigation-main.directive';\nimport { SideNavigationUtilityDirective } from './side-navigation-utility.directive';\nimport { SideNavigationComponent } from './side-navigation.component';\n\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { NestedListKeyboardService, NestedListStateService } from '@fundamental-ngx/core/nested-list';\n\n/**\n * @deprecated\n */\n@NgModule({\n    imports: [SideNavigationComponent, SideNavigationMainDirective, SideNavigationUtilityDirective],\n    exports: [SideNavigationComponent, SideNavigationMainDirective, SideNavigationUtilityDirective],\n    providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class SideNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}