{"version":3,"file":"fundamental-ngx-btp-navigation-menu.mjs","sources":["../../../../libs/btp/navigation-menu/src/lib/navigation-menu-item.component.ts","../../../../libs/btp/navigation-menu/src/lib/navigation-menu-popover-control.directive.ts","../../../../libs/btp/navigation-menu/src/lib/navigation-menu-popover.component.ts","../../../../libs/btp/navigation-menu/src/lib/navigation-menu.component.ts","../../../../libs/btp/navigation-menu/src/lib/navigation-menu.module.ts","../../../../libs/btp/navigation-menu/src/fundamental-ngx-btp-navigation-menu.ts"],"sourcesContent":["import {\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ElementRef,\n    HostBinding,\n    inject,\n    Input\n} from '@angular/core';\nimport {\n    FDK_FOCUSABLE_ITEM_DIRECTIVE,\n    FocusableItem,\n    HasElementRef,\n    IndirectFocusableItemDirective,\n    Nullable\n} from '@fundamental-ngx/cdk/utils';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent, IconFont } from '@fundamental-ngx/core/icon';\nimport { fromEvent, Observable } from 'rxjs';\n\n@Component({\n    selector: 'fdb-navigation-menu-item, li[fdb-navigation-menu-item]',\n    template: `\n        @if (glyph) {\n            <fd-icon\n                class=\"fd-navigation-menu__icon\"\n                [glyph]=\"glyph\"\n                [font]=\"glyphFont\"\n                role=\"presentation\"\n                aria-hidden=\"true\"\n            ></fd-icon>\n        }\n        @if (label) {\n            <span class=\"fd-navigation-menu__text\">\n                {{ label }}\n            </span>\n        }\n        <ng-content></ng-content>\n    `,\n    imports: [IconComponent],\n    hostDirectives: [IndirectFocusableItemDirective],\n    providers: [\n        {\n            provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,\n            useExisting: NavigationMenuItemComponent\n        }\n    ],\n    host: {\n        class: 'fd-navigation-menu__item'\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NavigationMenuItemComponent implements FocusableItem, HasElementRef {\n    /**\n     * Name of the icon to be displayed before the text.\n     */\n    @Input()\n    glyph: Nullable<string>;\n\n    /** Glyph font family */\n    @Input()\n    glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n    /**\n     * Text to be displayed.\n     */\n    @Input()\n    label: string;\n\n    /** @hidden */\n    @HostBinding('attr.tabindex')\n    tabindex = 0;\n\n    /** @hidden */\n    elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n    /** @hidden */\n    disabled = false;\n\n    /** @hidden */\n    keydown: Observable<KeyboardEvent> = fromEvent<KeyboardEvent>(this.elementRef.nativeElement, 'keydown');\n\n    /** @hidden */\n    private readonly _cdr = inject(ChangeDetectorRef);\n\n    /** @hidden */\n    element = (): HTMLElement => this.elementRef.nativeElement;\n\n    /** @hidden */\n    isFocusable = (): boolean => !this.disabled;\n\n    /** @hidden */\n    setTabbable(tabbable: boolean): void {\n        this.tabindex = tabbable ? 0 : -1;\n        this._cdr.markForCheck();\n    }\n\n    /** @hidden */\n    focus(): void {\n        this.elementRef.nativeElement.focus();\n    }\n\n    /** @hidden */\n    getLabel(): string {\n        return this.label;\n    }\n}\n","import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n    selector: '[fdbNavigationMenuPopoverControl]',\n    standalone: true\n})\nexport class NavigationMenuPopoverControlDirective {\n    /** @hidden */\n    constructor(\n        readonly templateRef: TemplateRef<void>,\n        private viewContainerRef: ViewContainerRef\n    ) {}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { NavigationMenuPopoverControlDirective } from './navigation-menu-popover-control.directive';\n\n@Component({\n    selector: 'fdb-navigation-menu-popover',\n    template: `\n        <fd-popover additionalBodyClass=\"fdb-navigation-popover-body\" [noArrow]=\"false\" [focusAutoCapture]=\"true\">\n            <fd-popover-control>\n                <ng-template [ngTemplateOutlet]=\"_control.templateRef\"></ng-template>\n            </fd-popover-control>\n            <fd-popover-body>\n                <ng-content></ng-content>\n            </fd-popover-body>\n        </fd-popover>\n    `,\n    styleUrls: ['./navigation-menu-popover.component.scss'],\n    imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent, NgTemplateOutlet],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NavigationMenuPopoverComponent {\n    /** @hidden */\n    @ContentChild(NavigationMenuPopoverControlDirective)\n    protected _control!: NavigationMenuPopoverControlDirective;\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FocusableListDirective } from '@fundamental-ngx/cdk/utils';\n\n@Component({\n    selector: 'fdb-navigation-menu, ul[fdb-navigation-menu]',\n    template: `<ng-content></ng-content>`,\n    styleUrls: ['../../../../../node_modules/fundamental-styles/dist/navigation-menu.css'],\n    standalone: true,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        class: 'fd-navigation-menu',\n        wrap: 'true'\n    },\n    hostDirectives: [FocusableListDirective],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NavigationMenuComponent {}\n","import { NgModule } from '@angular/core';\nimport { NavigationMenuItemComponent } from './navigation-menu-item.component';\nimport { NavigationMenuComponent } from './navigation-menu.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n    imports: [NavigationMenuComponent, NavigationMenuItemComponent],\n    exports: [NavigationMenuComponent, NavigationMenuItemComponent]\n})\nexport class NavigationMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}