/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, OnDestroy, QueryList } from '@angular/core'; import { CanDisable, CanDisableRipple, HasTabIndex, ThemePalette } from '../../core'; import { FocusableOption, FocusMonitor } from '@angular/cdk/a11y'; import { Directionality } from '@angular/cdk/bidi'; import { ViewportRuler } from '@angular/cdk/scrolling'; import { Platform } from '@angular/cdk/platform'; import { OuiInkBar } from '../ink-bar'; import { BooleanInput, NumberInput } from '@angular/cdk/coercion'; import { BehaviorSubject } from 'rxjs'; import { OuiTabsConfig } from '../tab-config'; import { OuiPaginatedTabHeader } from '../paginated-tab-header'; import * as i0 from "@angular/core"; /** * Navigation component matching the styles of the tab group header. * Provides anchored navigation with animated ink bar. */ export declare class OuiTabNav extends OuiPaginatedTabHeader implements AfterContentChecked, AfterContentInit, OnDestroy, AfterViewInit { /** Whether the ink bar should fit its width to the size of the tab label content. */ get fitInkBarToContent(): boolean; set fitInkBarToContent(v: BooleanInput); _fitInkBarToContent: BehaviorSubject; /** Whether tabs should be stretched to fill the header. */ get stretchTabs(): boolean; set stretchTabs(v: BooleanInput); private _stretchTabs; get animationDuration(): string; set animationDuration(value: NumberInput); private _animationDuration; /** Query list of all tab links of the tab navigation. */ _items: QueryList; /** Background color of the tab nav. */ get backgroundColor(): ThemePalette; set backgroundColor(value: ThemePalette); private _backgroundColor; /** Whether the ripple effect is disabled or not. */ get disableRipple(): boolean; set disableRipple(value: BooleanInput); private _disableRipple; /** Theme color of the nav bar. */ color: ThemePalette; /** * Associated tab panel controlled by the nav bar. If not provided, then the nav bar * follows the ARIA link / navigation landmark pattern. If provided, it follows the * ARIA tabs design pattern. */ tabPanel?: ouiTabNavPanel; _tabListContainer: ElementRef; _tabList: ElementRef; _tabListInner: ElementRef; _nextPaginator: ElementRef; _previousPaginator: ElementRef; _inkBar: OuiInkBar; constructor(elementRef: ElementRef, dir: Directionality, ngZone: NgZone, changeDetectorRef: ChangeDetectorRef, viewportRuler: ViewportRuler, platform: Platform, animationMode?: string, defaultConfig?: OuiTabsConfig); protected _itemSelected(): void; ngAfterContentInit(): void; /** Notifies the component that the active link has been changed. */ updateActiveLink(): void; _getRole(): string | null; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare const _OuiTabLinkMixinBase: import("../../core").HasTabIndexCtor & import("../../core").Constructor & import("../../core").AbstractConstructor & import("../../core").CanDisableCtor & { new (): { elementRef: ElementRef; }; } & (new (...args: any[]) => import("../ink-bar").MatInkBarItem); /** * Link inside a `oui-tab-nav-bar`. */ export declare class OuiTabLink extends _OuiTabLinkMixinBase implements AfterViewInit, OnDestroy, CanDisable, CanDisableRipple, HasTabIndex, FocusableOption { private _tabNavBar; /** @docs-private */ elementRef: ElementRef; private _focusMonitor; private readonly _destroyed; /** Whether the tab link is active or not. */ protected _isActive: boolean; /** Whether the link is active. */ get active(): boolean; set active(value: BooleanInput); /** * Whether ripples are disabled on interaction. * @docs-private */ get rippleDisabled(): boolean; /** Unique id for the tab. */ id: string; constructor(_tabNavBar: OuiTabNav, /** @docs-private */ elementRef: ElementRef, tabIndex: string, _focusMonitor: FocusMonitor, animationMode?: string); /** Focuses the tab link. */ focus(): void; ngAfterViewInit(): void; ngOnDestroy(): void; _handleFocus(): void; _handleKeydown(event: KeyboardEvent): void; _getAriaControls(): string | null; _getAriaSelected(): string | null; _getAriaCurrent(): string | null; _getRole(): string | null; _getTabIndex(): number; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Tab panel component associated with OuiTabNav. */ export declare class ouiTabNavPanel { /** Unique id for the tab panel. */ id: string; /** Id of the active tab in the nav bar. */ _activeTabId?: string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {}; //# sourceMappingURL=tab-nav-bar.d.ts.map