{"version":3,"file":"bootkit-ng1-components-vertical-menu.mjs","sources":["../../../projects/ng1/components/vertical-menu/divider.component.ts","../../../projects/ng1/components/vertical-menu/header.component.ts","../../../projects/ng1/components/vertical-menu/item-state.ts","../../../projects/ng1/components/vertical-menu/vertical-menu-state.ts","../../../projects/ng1/components/vertical-menu/item.component.ts","../../../projects/ng1/components/vertical-menu/item.component.html","../../../projects/ng1/components/vertical-menu/item-children.component.ts","../../../projects/ng1/components/vertical-menu/item-children.component.html","../../../projects/ng1/components/vertical-menu/item-template.directive.ts","../../../projects/ng1/components/vertical-menu/vertical-menu.component.ts","../../../projects/ng1/components/vertical-menu/vertical-menu.component.html","../../../projects/ng1/components/vertical-menu/vertical-menu.module.ts","../../../projects/ng1/components/vertical-menu/bootkit-ng1-components-vertical-menu.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n  selector: 'ng1-vmenu-divider',\n  template: '',\n  standalone: true,\n  styles: `:host {display: block; height: 1px; background-color: var(--bs-border-color); margin: 1rem 0; }`\n})\nexport class VerticalMenuDividerComponent {\n}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'ng1-vmenu-header',\n  standalone: true,\n  template: `<ng-content></ng-content>`,\n  styles: `:host {display: block; }`\n})\nexport class VerticalMenuHeaderComponent {\n}\n","import { computed, inject, Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class VerticalMenuItemState {\n  public parent? = inject(VerticalMenuItemState, { optional: true, skipSelf: true });\n  public readonly routeActivated = signal(false);\n  public readonly hasChildren = signal(false);\n  public readonly childStates = signal<VerticalMenuItemState[]>([]);\n  public readonly expanded = signal(false);\n\n  public hasActiveRoute(): boolean {\n    return this.routeActivated() || this.childStates().some(x => x.hasActiveRoute());\n  }\n}\n\n","import { Injectable, signal, TemplateRef } from '@angular/core';\n\n@Injectable()\nexport class VerticalMenuState {\n  public readonly itemTemplate = signal<TemplateRef<any> | undefined>(undefined);\n\n}\n\n","import { booleanAttribute, Component, ContentChildren, EventEmitter, inject, input, Output, QueryList, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IsActiveMatchOptions, RouterModule } from '@angular/router';\nimport { VerticalMenuItemState } from './item-state';\nimport { VerticalMenuState } from './vertical-menu-state';\n\n@Component({\n  selector: 'ng1-vmenu-item',\n  templateUrl: './item.component.html',\n  styleUrl: './item.component.scss',\n  encapsulation: ViewEncapsulation.None,\n  standalone: true,\n  imports: [CommonModule, RouterModule],\n  providers: [VerticalMenuItemState],\n  host: {\n    '[class.ng1-has-children]': 'hasChildren()',\n    '[class.ng1-expanded]': 'isExpanded()',\n    '[class.ng1-has-active-route]': 'hasActiveRoute()'\n  }\n})\nexport class VerticalMenuItemComponent {\n  protected _menuItemState = inject(VerticalMenuItemState);\n  protected _menuState = inject(VerticalMenuState);\n  @ContentChildren(VerticalMenuItemComponent) protected _children!: QueryList<VerticalMenuItemComponent>;\n\n  public readonly text = input<string>();\n  public readonly tag = input<string>();\n  public readonly tagCssClass = input<string | string[]>();\n  public readonly icon = input<string>();\n\n  /**\n   * Router link\n   */\n  public readonly link = input<string | string[]>();\n  public readonly routerLinkActiveOptions = input<{ exact: boolean } | IsActiveMatchOptions>({ exact: true });\n  public readonly href = input<string>();\n  public readonly target = input<'_blank' | '_parent' | '_self' | '_top'>('_blank');\n\n  @Output() public readonly itemClick = new EventEmitter<PointerEvent>();\n\n  ngOnInit(): void {\n    if (this._menuItemState.parent) {\n      this._menuItemState.parent.childStates().push(this._menuItemState);\n    }\n  }\n\n  public hasActiveRoute(): boolean {\n    return this._menuItemState.hasActiveRoute();\n  }\n\n  public hasChildren(): boolean {\n    return this._menuItemState.hasChildren();\n  }\n\n  public isExpanded(): boolean {\n    return this._menuItemState.expanded();\n  }\n\n  protected _onContentClick(e: PointerEvent) {\n    if (this.hasChildren()) {\n      this._menuItemState.expanded.update(x => !x);\n    }\n\n    this.itemClick.emit(e);\n  }\n\n  protected _onRouteChange(isActive: boolean) {\n    this._menuItemState.routeActivated.set(isActive);\n  }\n\n  protected _getItemTemplateContext(): any {\n    return { $implicit: this }\n  }\n}\n\n","@let itemTemplate = _menuState.itemTemplate();\n\n<div class=\"ng1-vmenu-item-content\" (click)=\"_onContentClick($event)\">\n    @if(hasChildren()) {\n    <div class=\"ng1-vmenu-item-expander\"\n         [class.ng1-expanded]=\"isExpanded()\"\n         >\n        @if(itemTemplate) {\n        <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: this }\"></ng-container>\n        }@else {\n        @if(icon()) {\n        <i class=\"ng1-vmenu-item-icon\" [ngClass]=\"icon()\"></i>\n        }\n\n        <span class=\"ng1-vmenu-item-text\">\n            {{text()}}\n        </span>\n\n        @if(tag()) {\n        <span class=\"ng1-vmenu-item-tag\" [ngClass]=\"tagCssClass()\">{{tag()}}</span>\n        }\n\n        <div class=\"ng1-vmenu-item-end\">\n            <div class=\"ng1-vmenu-item-expand-icon\">\n                ❯\n            </div>\n        </div>\n\n        }\n\n    </div>\n    }@else {\n    <a class=\"ng1-vmenu-item-link\"\n       [routerLink]=\"link()\"\n       [attr.href]=\"href()\"\n       [attr.target]=\"target()\"\n       routerLinkActive=\"ng1-active\"\n       [routerLinkActiveOptions]=\"routerLinkActiveOptions()\"\n       (isActiveChange)=\"_onRouteChange($event)\">\n\n        @if(itemTemplate) {\n        <ng-container *ngTemplateOutlet=\"itemTemplate; context: _getItemTemplateContext()\"></ng-container>\n        }@else {\n        @if(icon()) {\n        <i class=\"ng1-vmenu-item-icon\" [ngClass]=\"icon()\"></i>\n        }\n\n        {{text()}}\n\n        @if(tag()) {\n        <span class=\"ng1-vmenu-item-tag\" [ngClass]=\"tagCssClass()\">{{tag()}}</span>\n        }\n        }\n    </a>\n    }\n</div>\n\n<ng-content></ng-content>","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CollapseComponent } from '@bootkit/ng1/components/collapse';\nimport { VerticalMenuItemState } from './item-state';\n\n@Component({\n    selector: 'ng1-vmenu-item-children',\n    templateUrl: './item-children.component.html',\n    exportAs: 'ng1VmenuItemChildren',\n    standalone: true,\n    imports: [CommonModule, CollapseComponent],\n    host: {\n        '[class.ng1-expanded]': 'isExpanded()'\n    }\n})\nexport class VerticalMenuItemChildrenComponent implements OnInit {\n    private _menuItemState = inject(VerticalMenuItemState);\n\n    ngOnInit(): void {\n        this._menuItemState.hasChildren.set(true);\n    }\n\n    public isExpanded() {\n        return this._menuItemState.expanded();\n    }\n\n    public expand() {\n        return this._menuItemState.expanded.set(true);\n    }\n\n    public collapse() {\n        return this._menuItemState.expanded.set(false);\n    }\n}\n","<ng1-collapse [collapsed]=\"!isExpanded()\">\n   <ng-content></ng-content>\n</ng1-collapse>\n\n<style>\n   :host {\n      display: block;\n      padding-inline-start: .5rem;\n   }\n</style>","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: '[ng1VerticalMenuItemTemplate]',\n  exportAs: 'ng1VerticalMenuItemTemplate',\n  standalone: true\n})\nexport class VerticalMenuItemTemplateDirective {\n  public readonly templateRef = inject(TemplateRef);\n}\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, inject, input } from '@angular/core';\nimport { MenuItem } from '@bootkit/ng1/common';\nimport { CommonModule } from '@angular/common';\nimport { User, UserDirective, UserStore } from '@bootkit/ng1/security';\nimport { VerticalMenuItemComponent } from './item.component';\nimport { RouterModule } from '@angular/router';\nimport { VerticalMenuDividerComponent } from './divider.component';\nimport { VerticalMenuHeaderComponent } from './header.component';\nimport { VerticalMenuState } from './vertical-menu-state';\nimport { VerticalMenuItemTemplateDirective } from './item-template.directive';\nimport { VerticalMenuItemChildrenComponent } from './item-children.component';\n\n@Component({\n  selector: 'ng1-vmenu, ng1-vertical-menu',\n  templateUrl: './vertical-menu.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  providers: [VerticalMenuState],\n  imports: [\n    CommonModule,\n    RouterModule,\n    UserDirective,\n    VerticalMenuItemComponent,\n    VerticalMenuDividerComponent,\n    VerticalMenuHeaderComponent,\n    VerticalMenuItemChildrenComponent\n  ],\n})\nexport class VerticalMenuComponent implements AfterContentInit {\n  protected readonly _userStore = inject<UserStore<User>>(UserStore);\n  protected readonly _state = inject(VerticalMenuState);\n  @ContentChild(VerticalMenuItemTemplateDirective) protected _itemTemplate?: VerticalMenuItemTemplateDirective;\n\n  /**\n   * Menu items \n   */\n  public readonly items = input<MenuItem[]>([]);\n\n  ngAfterContentInit(): void {\n    this._state.itemTemplate.set(this._itemTemplate?.templateRef);\n  }\n}\n\n","<ng-content></ng-content>\n\n<ng-container *ngTemplateOutlet=\"menuItemTemplate; context: { $implicit: items()}\"></ng-container>\n\n<ng-template #menuItemTemplate let-items>\n    @for (item of items; track $index) {\n    @let itemType = item.type || 'node';\n\n    <ng-container *ng1User=\"item.user\">\n        @switch (itemType) {\n        @case('divider') {\n        <ng1-vmenu-divider></ng1-vmenu-divider>\n        }\n        @case('header') {\n        <ng1-vmenu-header>{{item.text}}</ng1-vmenu-header>\n        }\n        @case('node') {\n        <ng1-vmenu-item\n                        [text]=\"item.text\"\n                        [tag]=\"item.tag\"\n                        [tagCssClass]=\"item.tagCssClass\"\n                        [link]=\"item.routerLink\"\n                        [routerLinkActiveOptions]=\"item.routerLinkActiveOptions ?? {exact: true}\"\n                        [href]=\"item.href\"\n                        [icon]=\"item.icon\"\n                        [target]=\"item.target\"\n                        [ngClass]=\"item.cssClass\">\n            @if(item.children?.length) {\n            <ng1-vmenu-item-children>\n                <ng-container *ngTemplateOutlet=\"menuItemTemplate; context: { $implicit: item.children }\">\n                </ng-container>\n            </ng1-vmenu-item-children>\n            }\n        </ng1-vmenu-item>\n        }\n        }\n    </ng-container>\n    }\n</ng-template>\n\n\n<style>\n    :host {\n        display: block;\n    }\n</style>","import { NgModule } from '@angular/core';\nimport { VerticalMenuItemComponent } from './item.component';\nimport { VerticalMenuComponent } from './vertical-menu.component';\nimport { VerticalMenuDividerComponent } from './divider.component';\nimport { VerticalMenuHeaderComponent } from './header.component';\nimport { VerticalMenuItemChildrenComponent } from './item-children.component';\nimport { VerticalMenuItemTemplateDirective } from './item-template.directive';\n\nconst items = [\n  VerticalMenuComponent,\n  VerticalMenuItemComponent,\n  VerticalMenuItemChildrenComponent,\n  VerticalMenuDividerComponent,\n  VerticalMenuHeaderComponent,\n  VerticalMenuItemTemplateDirective\n];\n\n@NgModule({\n  imports: items,\n  exports: items\n})\nexport class VerticalMenuModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}