{"version":3,"file":"kif-lib-mainlayout.mjs","sources":["../../../projects/kif-lib/mainlayout/services/sidebar.service.ts","../../../projects/kif-lib/mainlayout/topnav/topnav.component.ts","../../../projects/kif-lib/mainlayout/topnav/topnav.component.html","../../../projects/kif-lib/mainlayout/sidebar/sidebar.component.ts","../../../projects/kif-lib/mainlayout/sidebar/sidebar.component.html","../../../projects/kif-lib/mainlayout/mainlayout.component.ts","../../../projects/kif-lib/mainlayout/mainlayout.component.html","../../../projects/kif-lib/mainlayout/mainlayout.module.ts","../../../projects/kif-lib/mainlayout/public-api.ts","../../../projects/kif-lib/mainlayout/kif-lib-mainlayout.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class SidebarService {\n\n    constructor() { }\n    private drawerState = new BehaviorSubject<boolean>(false);\n    drawerState$ = this.drawerState.asObservable();\n\n    toggleDrawer(): void {\n        this.drawerState.next(!this.drawerState.value);\n    }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n    selector: 'kit-topnav',\n    templateUrl: './topnav.component.html',\n    styleUrl: './topnav.component.scss'\n})\nexport class TopnavComponent {\n\n    @Input() logoUrl!: string;\n    @Output() toggle: EventEmitter<void> = new EventEmitter<void>();\n\n    toggleSideMenu() {\n        this.toggle.emit();\n    }\n\n    openNotifications():void {\n        console.log('Open notifications');\n    }\n\n    openModules():void {\n        console.log('open modules');\n    }\n\n    openProfile():void {\n        console.log('open profile');\n    }\n}\n","<mat-toolbar class=\"topbar\">\n    <button mat-icon-button class=\"menu-icon\" (click)=\"toggleSideMenu()\" aria-label=\"menu button\" >\n        <mat-icon>\n            menu\n        </mat-icon>\n    </button>\n    <img [src]=\"logoUrl\" alt=\"Logo App\">\n    <span class=\"topbar-spacer\"></span>\n    <button mat-icon-button class=\"menu-icon\" (click)=\"openNotifications()\" aria-label=\"notifications button\" >\n        <mat-icon>\n            notifications\n        </mat-icon>\n    </button>\n    <button mat-icon-button class=\"menu-icon\" (click)=\"openModules()\" aria-label=\"modules button\">\n        <mat-icon>\n            apps\n        </mat-icon>\n    </button>\n    <button mat-icon-button class=\"menu-icon\" (click)=\"openProfile()\" aria-label=\"profile button\">\n        <div class=\"profile-img\"></div>\n    </button>\n</mat-toolbar>\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { Subscription } from 'rxjs';\nimport { SidebarService } from '../services/sidebar.service';\n\nexport interface IMenuSection {\n    menuSectionName: string;\n    menuItems: IMenuItem[];\n}\n\ninterface IMenuItem {\n    menuItemName: string;\n    url: string;\n}\n\n@Component({\n    selector: 'kit-sidebar',\n    templateUrl: './sidebar.component.html',\n    styleUrl: './sidebar.component.scss'\n})\nexport class SidebarComponent {\n    @ViewChild('drawer') drawer!: MatDrawer;\n    @Input() menuData : IMenuSection[] = [];\n    private subscription!: Subscription;\n\n    constructor(private sidebarService: SidebarService) {}\n    \n    ngAfterViewInit() {\n        this.subscription = this.sidebarService.drawerState$.subscribe((): void => {\n            setTimeout(() => {\n                this.drawer.toggle();\n            });\n        }\n        )\n    }\n\n    ngOnDestroy(): void {\n        this.subscription.unsubscribe();\n    }\n\n}\n","<mat-drawer-container >\n    <mat-drawer #drawer mode=\"side\" position=\"start\" opened =\"false\" style=\"min-width: 200px;\">\n        <mat-accordion>\n            @for (menu of menuData; track menu.menuSectionName) {\n                <mat-expansion-panel class=\"sidebar-mat-expansion-panel\">\n                    <mat-expansion-panel-header>\n                        <mat-panel-title>\n                            {{menu.menuSectionName}}\n                        </mat-panel-title>\n                    </mat-expansion-panel-header>\n                    <mat-nav-list>\n                        @for (element of menu.menuItems; track element.menuItemName) {\n                            <a mat-list-item [href]=\"element.url\">\n                                <span class=\"menuText\">{{element.menuItemName}}</span>\n                            </a>\n                        } @empty {\n                            <span></span>\n                        }\n                    </mat-nav-list>\n                </mat-expansion-panel>\n            }@empty {\n                <span></span>\n            } \n        </mat-accordion>\n    </mat-drawer>\n    <mat-drawer-content>\n        <div style=\"min-height: calc(100vh - 85px);\"></div>\n    </mat-drawer-content>\n</mat-drawer-container>\n","import { Component, Input } from '@angular/core';\nimport { IMenuSection } from './sidebar/sidebar.component'; \nimport { SidebarService } from './services/sidebar.service';\n\n@Component({\n    selector: 'kit-mainlayout',\n    templateUrl: './mainlayout.component.html',\n    styleUrls: ['../styles/index.scss']\n})\nexport class MainlayoutComponent {\n    @Input() logoUrl!: string;\n    @Input() loadMenu!: () =>void;\n    isOpen: boolean = true;\n    menuData: IMenuSection[] = [];\n\n    constructor(private sidebarService: SidebarService){}\n\n    toggleSideMenu() {\n        this.sidebarService.toggleDrawer();\n    }\n\n    ngOnInit() {\n        this.loadMenu();\n    }\n}","<kit-topnav [logoUrl] = \"logoUrl\" (onToggle)=\"toggleSideMenu()\"></kit-topnav>\n<div>\n    <kit-sidebar [menuData]=\"menuData\"></kit-sidebar>\n</div>","import { NgModule } from '@angular/core';\nimport { MainlayoutComponent } from './mainlayout.component';\nimport { CommonModule } from '@angular/common';\nimport { SidebarService } from './services/sidebar.service';\nimport { TopnavComponent } from './topnav/topnav.component';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatListModule } from '@angular/material/list';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\n\n\n\n\n@NgModule({\n    imports: [ \n        CommonModule,\n        MatSidenavModule, \n        MatExpansionModule, \n        MatListModule,\n        MatToolbarModule,\n        MatIconModule\n    ],\n    declarations: [\n        MainlayoutComponent,\n        TopnavComponent,\n        SidebarComponent\n    ],\n    exports:[\n        MainlayoutComponent,\n        TopnavComponent,\n        SidebarComponent\n    ],\n    providers: [SidebarService]\n\n    \n})\nexport class KifMainLayoutModule { }\n","/*\n * Public API Surface of kif-lib-input\n */\n\nexport * from './mainlayout.component';\nexport * from './sidebar/sidebar.component';\nexport * from './topnav/topnav.component';\nexport * from './mainlayout.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SidebarService","i2","i2.TopnavComponent","i3.SidebarComponent"],"mappings":"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"}