{"version":3,"file":"igniteui-angular-navbar.mjs","sources":["../../../projects/igniteui-angular/navbar/src/navbar/navbar.component.ts","../../../projects/igniteui-angular/navbar/src/navbar/navbar.component.html","../../../projects/igniteui-angular/navbar/src/navbar/public_api.ts","../../../projects/igniteui-angular/navbar/src/navbar/navbar.module.ts","../../../projects/igniteui-angular/navbar/src/igniteui-angular-navbar.ts"],"sourcesContent":["import {\n    Component,\n    EventEmitter,\n    HostBinding,\n    Input,\n    Output,\n    Directive,\n    ContentChild,\n    booleanAttribute\n} from '@angular/core';\n\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\n/**\n * IgxActionIcon is a container for the action nav icon of the IgxNavbar.\n */\n@Directive({\n    selector: '[igxNavbarAction],igx-navbar-action',\n    standalone: true\n})\nexport class IgxNavbarActionDirective { }\n\n@Directive({\n    selector: '[igxNavbarTitle],igx-navbar-title',\n    standalone: true\n})\nexport class IgxNavbarTitleDirective { }\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Navbar** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navbar.html)\n *\n * The Ignite UI Navbar is most commonly used to provide an app header with a hamburger menu and navigation\n * state such as a \"Go Back\" button. It also supports other actions represented by icons.\n *\n * Example:\n * ```html\n * <igx-navbar title=\"Sample App\" actionButtonIcon=\"menu\">\n *   <igx-icon>search</igx-icon>\n *   <igx-icon>favorite</igx-icon>\n *   <igx-icon>more_vert</igx-icon>\n * </igx-navbar>\n * ```\n */\n\n@Component({\n    selector: 'igx-navbar',\n    templateUrl: 'navbar.component.html',\n    styles: [`\n        :host {\n            display: block;\n            width: 100%;\n        }\n    `\n    ],\n    imports: [IgxIconComponent]\n})\n\nexport class IgxNavbarComponent {\n    /**\n     * Sets the value of the `id` attribute. If not provided it will be automatically generated.\n     * ```html\n     * <igx-navbar [id]=\"'igx-navbar-12'\" title=\"Sample App\" actionButtonIcon=\"menu\">\n     * ```\n     */\n    @HostBinding('attr.id')\n    @Input()\n    public id = `igx-navbar-${NEXT_ID++}`;\n\n    /**\n     * Sets the icon of the `IgxNavbarComponent`.\n     * ```html\n     * <igx-navbar [title]=\"currentView\" actionButtonIcon=\"arrow_back\"></igx-navbar>\n     * ```\n     */\n    @Input() public actionButtonIcon: string;\n\n    /**\n     * Sets the title of the `IgxNavbarComponent`.\n     * ```html\n     * <igx-navbar title=\"Sample App\" actionButtonIcon=\"menu\">\n     * ```\n     */\n    @Input() public title: string;\n\n    /**\n     * The event that will be thrown when the action is executed,\n     * provides reference to the `IgxNavbar` component as argument\n     * ```typescript\n     * public actionExc(event){\n     *     alert(\"Action Execute!\");\n     * }\n     *  //..\n     * ```\n     * ```html\n     * <igx-navbar (action)=\"actionExc($event)\" title=\"Sample App\" actionButtonIcon=\"menu\">\n     * ```\n     */\n    @Output() public action = new EventEmitter<IgxNavbarComponent>();\n\n    /**\n     * Sets the titleId of the `IgxNavbarComponent`. If not set it will be automatically generated.\n     * ```html\n     * <igx-navbar [titleId]=\"'igx-navbar-7'\" title=\"Sample App\" actionButtonIcon=\"menu\">\n     * ```\n     */\n    @Input()\n    public titleId = `igx-navbar-title-${NEXT_ID++}`;\n\n    /**\n     * @hidden\n     */\n    @ContentChild(IgxNavbarActionDirective, { read: IgxNavbarActionDirective })\n    protected actionIconTemplate: IgxNavbarActionDirective;\n\n    /**\n     * @hidden\n     */\n    @ContentChild(IgxNavbarTitleDirective, { read: IgxNavbarTitleDirective })\n    protected titleContent: IgxNavbarTitleDirective;\n\n    private isVisible = true;\n\n    /**\n     * Sets whether the action button of the `IgxNavbarComponent` is visible.\n     * ```html\n     * <igx-navbar [title]=\"currentView\" [isActionButtonVisible]=\"'false'\"></igx-navbar>\n     * ```\n     */\n    public set isActionButtonVisible(value: boolean) {\n        this.isVisible = value;\n    }\n\n    /**\n     * Returns whether the `IgxNavbarComponent` action button is visible, true/false.\n     * ```typescript\n     *  @ViewChild(\"MyChild\")\n     * public navBar: IgxNavbarComponent;\n     * ngAfterViewInit(){\n     *     let actionButtonVisibile = this.navBar.isActionButtonVisible;\n     * }\n     * ```\n     */\n    @Input({ transform: booleanAttribute })\n    public get isActionButtonVisible(): boolean {\n        if (this.actionIconTemplate || !this.actionButtonIcon) {\n            return false;\n        }\n        return this.isVisible;\n    }\n\n    public get isTitleContentVisible(): boolean {\n        return this.titleContent ? true : false;\n    }\n\n    /**\n     * @hidden\n     */\n    public _triggerAction() {\n        this.action.emit(this);\n    }\n}\n\n","<nav class=\"igx-navbar\" role=\"navigation\" [attr.aria-labelledby]=\"titleId\">\n    <div class=\"igx-navbar__left\">\n        @if (isActionButtonVisible) {\n            <igx-icon (click)=\"_triggerAction()\">\n                {{actionButtonIcon}}\n            </igx-icon>\n        }\n        <ng-content select=\"igx-navbar-action, [igxNavbarAction]\"></ng-content>\n    </div>\n    <div class=\"igx-navbar__middle\">\n        @if (!isTitleContentVisible) {\n            <h1\n                class=\"igx-navbar__title\"\n                [attr.id]=\"titleId\">\n                {{ title }}\n            </h1>\n        }\n        <ng-content select=\"igx-navbar-title, [igxNavbarTitle]\"></ng-content>\n    </div>\n    <div class=\"igx-navbar__right\">\n        <ng-content></ng-content>\n    </div>\n</nav>\n","import { IgxNavbarActionDirective, IgxNavbarComponent, IgxNavbarTitleDirective } from './navbar.component';\n\nexport * from './navbar.component';\n\n/* NOTE: Navbar directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_NAVBAR_DIRECTIVES = [\n    IgxNavbarComponent,\n    IgxNavbarActionDirective,\n    IgxNavbarTitleDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_NAVBAR_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n    imports: [\n        ...IGX_NAVBAR_DIRECTIVES\n    ],\n    exports: [\n        ...IGX_NAVBAR_DIRECTIVES\n    ]\n})\n\nexport class IgxNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxNavbarComponent","i1.IgxNavbarActionDirective","i1.IgxNavbarTitleDirective"],"mappings":"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"}