/** * @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 { ElementRef, InjectionToken, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core'; import { OuiTabLabel } from './tab-label'; import { CanDisable } from '../core'; import { TemplatePortal } from '@angular/cdk/portal'; import { Subject } from 'rxjs'; import { DomSanitizer } from '@angular/platform-browser'; import * as i0 from "@angular/core"; export declare class OuiTabsBase { _elementRef: ElementRef; constructor(_elementRef: ElementRef); } /** @docs-private */ declare const _OuiTabMixinBase: typeof OuiTabsBase; /** * Used to provide a tab group to a tab without causing a circular dependency. * @docs-private */ export declare const OUI_TAB_GROUP: InjectionToken; export declare class OuiTab extends _OuiTabMixinBase implements CanDisable, OnInit, OnChanges, OnDestroy { private _viewContainerRef; _closestTabGroup: any; private sanitized; /** Content for the tab label given by ``. */ private _templateLabel; disabled: any; get templateLabel(): OuiTabLabel; set templateLabel(value: OuiTabLabel); /** * Template provided in the tab content that will be used if present, used to enable lazy-loading */ private _explicitContent; /** Template inside the OuiTab view that contains an ``. */ _implicitContent: TemplateRef; /** Plain text label for the tab, used when there is no template label. */ textLabel: string; contentWithin: string; /** Aria label for the tab. */ ariaLabel: string; color: string; /** * Reference to the element that the tab is labelled by. * Will be cleared if `aria-label` is set at the same time. */ ariaLabelledby: string; /** * Classes to be passed to the tab label inside the oui-tab-header container. * Supports string and string array values, same as `ngClass`. */ labelClass: string | string[]; /** * Classes to be passed to the tab oui-tab-body container. * Supports string and string array values, same as `ngClass`. */ bodyClass: string | string[]; /** Portal that will be the hosted content of the tab */ private _contentPortal; /** @docs-private */ get content(): TemplatePortal | null; /** Emits whenever the internal state of the tab changes. */ readonly _stateChanges: Subject; /** * The relatively indexed position where 0 represents the center, negative is left, and positive * represents the right. */ position: number | null; /** * The initial relatively index origin of the tab if it was created and selected after there * was already a selected tab. Provides context of what position the tab should originate from. */ origin: number | null; /** * Whether the tab is currently active. */ isActive: boolean; _tab1: ElementRef; constructor(_viewContainerRef: ViewContainerRef, _closestTabGroup: any, sanitized: DomSanitizer, _elementRef: ElementRef); ngOnChanges(changes: SimpleChanges): void; addThemeColor(): void; ngOnDestroy(): void; ngOnInit(): void; /** * This has been extracted to a util because of TS 4 and VE. * View Engine doesn't support property rename inheritance. * TS 4.0 doesn't allow properties to override accessors or vice-versa. * @docs-private */ private _setTemplateLabelInput; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {}; //# sourceMappingURL=tab.d.ts.map