/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes} checked by tsc
 */
import { CommonModule } from '@angular/common';
import { Component, EventEmitter, HostBinding, Input, NgModule, Output } from '@angular/core';
import { IgxButtonModule } from '../directives/button/button.directive';
import { IgxIconModule } from '../icon/index';
var /** @type {?} */ NEXT_ID = 0;
/**
 * **Ignite UI for Angular Navbar** -
 * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navbar.html)
 *
 * The Ignite UI Navbar is most commonly used to provide an app header with a hamburger menu and navigation
 * state such as a "Go Back" button. It also supports other actions represented by icons.
 *
 * Example:
 * ```html
 * <igx-navbar title="Sample App" actionButtonIcon="menu">
 *   <igx-icon name="search"></igx-icon>
 *   <igx-icon name="favorite"></igx-icon>
 *   <igx-icon name="more_vert"></igx-icon>
 * </igx-navbar>
 * ```
 */
var IgxNavbarComponent = /** @class */ (function () {
    function IgxNavbarComponent() {
        this.isVisible = true;
        /**
         * An \@Input property that sets the value of the `id` attribute. If not provided it will be automatically generated.
         * ```html
         * <igx-navbar [id]="'igx-navbar-12'" title="Sample App" actionButtonIcon="menu">
         * ```
         */
        this.id = "igx-navbar-" + NEXT_ID++;
        /**
         * The event that will be thrown when the action is executed,
         * provides reference to the `IgxNavbar` component as argument
         * ```typescript
         * public actionExc(event){
         *    alert("Action Execute!");
         * }
         * //..
         * ```
         * ```html
         * <igx-navbar (onAction)="actionExc($event)" title="Sample App" actionButtonIcon="menu">
         * ```
         */
        this.onAction = new EventEmitter();
        /**
         * An \@Input property that sets the titleId of the `IgxNavbarComponent`. If not set it will be automatically generated.
         * ```html
         * <igx-navbar [titleId]="'igx-navbar-7'" title="Sample App" actionButtonIcon="menu">
         * ```
         */
        this.titleId = "igx-navbar-" + IgxNavbarComponent.NEXT_ID++;
    }
    Object.defineProperty(IgxNavbarComponent.prototype, "isActionButtonVisible", {
        get: /**
         * Returns whether the `IgxNavbarComponent` action button is visible, true/false.
         * ```typescript
         * \@ViewChild("MyChild")
         * public navBar: IgxNavbarComponent;
         * ngAfterViewInit(){
         *    let actionButtonVisibile = this.navBar.isActionButtonVisible;
         * }
         * ```
         * @return {?}
         */
        function () {
            if (!this.actionButtonIcon) {
                return false;
            }
            return this.isVisible;
        },
        set: /**
         * Sets whether the action button of the `IgxNavbarComponent` is visible.
         * ```html
         * <igx-navbar [title]="currentView" [isActionButtonVisible]="'false'"></igx-navbar>
         * ```
         * @param {?} value
         * @return {?}
         */
        function (value) {
            this.isVisible = value;
        },
        enumerable: true,
        configurable: true
    });
    /**
     * @hidden
     * @return {?}
     */
    IgxNavbarComponent.prototype._triggerAction = /**
     * @hidden
     * @return {?}
     */
    function () {
        this.onAction.emit(this);
    };
    IgxNavbarComponent.NEXT_ID = 1;
    IgxNavbarComponent.decorators = [
        { type: Component, args: [{
                    selector: 'igx-navbar',
                    template: "<nav class=\"igx-navbar\" role=\"navigation\" [attr.aria-labelledby]=\"titleId\">\n    <div class=\"igx-navbar__left\">\n        <igx-icon (click)=\"_triggerAction()\" fontSet=\"material\" [name]=\"actionButtonIcon\" *ngIf=\"isActionButtonVisible\"></igx-icon>\n        <h1 class=\"igx-navbar__title\" [attr.id]=\"titleId\">{{ title }}</h1>\n    </div>\n    <div class=\"igx-navbar__right\">\n        <ng-content></ng-content>\n    </div>\n</nav>\n"
                },] },
    ];
    /** @nocollapse */
    IgxNavbarComponent.propDecorators = {
        "id": [{ type: HostBinding, args: ['attr.id',] }, { type: Input },],
        "isActionButtonVisible": [{ type: Input },],
        "actionButtonIcon": [{ type: Input },],
        "title": [{ type: Input },],
        "onAction": [{ type: Output },],
        "titleId": [{ type: Input },],
    };
    return IgxNavbarComponent;
}());
export { IgxNavbarComponent };
function IgxNavbarComponent_tsickle_Closure_declarations() {
    /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
    IgxNavbarComponent.decorators;
    /**
     * @nocollapse
     * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
     */
    IgxNavbarComponent.ctorParameters;
    /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
    IgxNavbarComponent.propDecorators;
    /** @type {?} */
    IgxNavbarComponent.NEXT_ID;
    /** @type {?} */
    IgxNavbarComponent.prototype.isVisible;
    /**
     * An \@Input property that sets the value of the `id` attribute. If not provided it will be automatically generated.
     * ```html
     * <igx-navbar [id]="'igx-navbar-12'" title="Sample App" actionButtonIcon="menu">
     * ```
     * @type {?}
     */
    IgxNavbarComponent.prototype.id;
    /**
     * An \@Input property that sets the icon of the `IgxNavbarComponent`.
     * ```html
     * <igx-navbar [title]="currentView" actionButtonIcon="arrow_back"></igx-navbar>
     * ```
     * @type {?}
     */
    IgxNavbarComponent.prototype.actionButtonIcon;
    /**
     * An \@Input property that sets the title of the `IgxNavbarComponent`.
     * ```html
     * <igx-navbar title="Sample App" actionButtonIcon="menu">
     * ```
     * @type {?}
     */
    IgxNavbarComponent.prototype.title;
    /**
     * The event that will be thrown when the action is executed,
     * provides reference to the `IgxNavbar` component as argument
     * ```typescript
     * public actionExc(event){
     *    alert("Action Execute!");
     * }
     * //..
     * ```
     * ```html
     * <igx-navbar (onAction)="actionExc($event)" title="Sample App" actionButtonIcon="menu">
     * ```
     * @type {?}
     */
    IgxNavbarComponent.prototype.onAction;
    /**
     * An \@Input property that sets the titleId of the `IgxNavbarComponent`. If not set it will be automatically generated.
     * ```html
     * <igx-navbar [titleId]="'igx-navbar-7'" title="Sample App" actionButtonIcon="menu">
     * ```
     * @type {?}
     */
    IgxNavbarComponent.prototype.titleId;
}
/**
 * The IgxNavbarModule provides the {\@link IgxNavbarComponent} inside your application.
 */
var IgxNavbarModule = /** @class */ (function () {
    function IgxNavbarModule() {
    }
    IgxNavbarModule.decorators = [
        { type: NgModule, args: [{
                    declarations: [IgxNavbarComponent],
                    exports: [IgxNavbarComponent],
                    imports: [IgxButtonModule, IgxIconModule, CommonModule]
                },] },
    ];
    return IgxNavbarModule;
}());
export { IgxNavbarModule };
function IgxNavbarModule_tsickle_Closure_declarations() {
    /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
    IgxNavbarModule.decorators;
    /**
     * @nocollapse
     * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
     */
    IgxNavbarModule.ctorParameters;
}

//# sourceMappingURL=data:application/json;base64, 