{"version":3,"file":"nav.d.ts","sources":["nav.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":["import { AfterContentChecked, AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnInit, QueryList, SimpleChanges, TemplateRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { NgbNavConfig } from './nav-config';\n/**\n * Context passed to the nav content template.\n *\n * See [this demo](#/components/nav/examples#keep-content) as the example.\n *\n * @since 5.2.0\n */\nexport interface NgbNavContentContext {\n /**\n * If `true`, current nav content is visible and active\n */\n $implicit: boolean;\n}\n/**\n * This directive must be used to wrap content to be displayed in the nav.\n *\n * @since 5.2.0\n */\nexport declare class NgbNavContent {\n templateRef: TemplateRef;\n constructor(templateRef: TemplateRef);\n}\n/**\n * The directive used to group nav link and related nav content. As well as set nav identifier and some options.\n *\n * @since 5.2.0\n */\nexport declare class NgbNavItem implements AfterContentChecked, OnInit {\n elementRef: ElementRef;\n private _nav;\n /**\n * If `true`, non-active current nav item content will be removed from DOM\n * Otherwise it will just be hidden\n */\n destroyOnHide: any;\n /**\n * If `true`, the current nav item is disabled and can't be toggled by user.\n *\n * Nevertheless disabled nav can be selected programmatically via the `.select()` method and the `[activeId]` binding.\n */\n disabled: boolean;\n /**\n * The id used for the DOM elements.\n * Must be unique inside the document in case you have multiple `ngbNav`s on the page.\n *\n * Autogenerated as `ngb-nav-XXX` if not provided.\n */\n domId: string;\n /**\n * The id used as a model for active nav.\n * It can be anything, but must be unique inside one `ngbNav`.\n *\n * The only limitation is that it is not possible to have the `''` (empty string) as id,\n * because ` ngbNavItem `, `ngbNavItem=''` and `[ngbNavItem]=\"''\"` are indistinguishable\n */\n _id: any;\n /**\n * An event emitted when the fade in transition is finished on the related nav content\n *\n * @since 8.0.0\n */\n shown: EventEmitter;\n /**\n * An event emitted when the fade out transition is finished on the related nav content\n *\n * @since 8.0.0\n */\n hidden: EventEmitter;\n contentTpl: NgbNavContent | null;\n contentTpls: QueryList;\n constructor(nav: any, elementRef: ElementRef);\n ngAfterContentChecked(): void;\n ngOnInit(): void;\n get active(): boolean;\n get id(): any;\n get panelDomId(): string;\n isPanelInDom(): boolean;\n}\n/**\n * A nav directive that helps with implementing tabbed navigation components.\n *\n * @since 5.2.0\n */\nexport declare class NgbNav implements AfterContentInit {\n role: string;\n private _cd;\n private _document;\n static ngAcceptInputType_orientation: string;\n static ngAcceptInputType_roles: boolean | string;\n /**\n * The id of the nav that should be active\n *\n * You could also use the `.select()` method and the `(navChange)` event\n */\n activeId: any;\n /**\n * The event emitted after the active nav changes\n * The payload of the event is the newly active nav id\n *\n * If you want to prevent nav change, you should use `(navChange)` event\n */\n activeIdChange: EventEmitter;\n /**\n * If `true`, nav change will be animated.\n *\n * @since 8.0.0\n */\n animation: boolean;\n /**\n * If `true`, non-active nav content will be removed from DOM\n * Otherwise it will just be hidden\n */\n destroyOnHide: any;\n /**\n * The orientation of navs.\n *\n * Using `vertical` will also add the `aria-orientation` attribute\n */\n orientation: 'horizontal' | 'vertical';\n /**\n * Role attribute generating strategy:\n * - `false` - no role attributes will be generated\n * - `'tablist'` - 'tablist', 'tab' and 'tabpanel' will be generated (default)\n */\n roles: 'tablist' | false;\n /**\n * Keyboard support for nav focus/selection using arrow keys.\n *\n * * `false` - no keyboard support.\n * * `true` - navs will be focused using keyboard arrow keys\n * * `'changeWithArrows'` - nav will be selected using keyboard arrow keys\n *\n * See the [list of available keyboard shortcuts](#/components/nav/overview#keyboard-shortcuts).\n *\n * @since 6.1.0\n */\n keyboard: boolean | 'changeWithArrows';\n /**\n * An event emitted when the fade in transition is finished for one of the items.\n *\n * Payload of the event is the nav id that was just shown.\n *\n * @since 8.0.0\n */\n shown: EventEmitter;\n /**\n * An event emitted when the fade out transition is finished for one of the items.\n *\n * Payload of the event is the nav id that was just hidden.\n *\n * @since 8.0.0\n */\n hidden: EventEmitter;\n items: QueryList;\n links: QueryList;\n navItemChange$: Subject;\n constructor(role: string, config: NgbNavConfig, _cd: ChangeDetectorRef, _document: any);\n /**\n * The nav change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * See [`NgbNavChangeEvent`](#/components/nav/api#NgbNavChangeEvent) for payload details.\n */\n navChange: EventEmitter>;\n click(item: NgbNavItem): void;\n onKeyDown(event: KeyboardEvent): void;\n /**\n * Selects the nav with the given id and shows its associated pane.\n * Any other nav that was previously selected becomes unselected and its associated pane is hidden.\n */\n select(id: any): void;\n ngAfterContentInit(): void;\n ngOnChanges({ activeId }: SimpleChanges): void;\n private _updateActiveId;\n private _notifyItemChanged;\n private _getItemById;\n}\n/**\n * A directive to put on the nav link.\n *\n * @since 5.2.0\n */\nexport declare class NgbNavLink {\n role: string;\n navItem: NgbNavItem;\n nav: NgbNav;\n elRef: ElementRef;\n constructor(role: string, navItem: NgbNavItem, nav: NgbNav, elRef: ElementRef);\n hasNavItemClass(): boolean;\n}\n/**\n * The payload of the change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * @since 5.2.0\n */\nexport interface NgbNavChangeEvent {\n /**\n * Id of the currently active nav.\n */\n activeId: T;\n /**\n * Id of the newly selected nav.\n */\n nextId: T;\n /**\n * Function that will prevent nav change if called.\n */\n preventDefault: () => void;\n}\n"]}