UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

91 lines (90 loc) 3.68 kB
import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, QueryList } from '@angular/core'; import { IgxCarouselComponentBase } from '../carousel/carousel-base'; import { IBaseEventArgs } from '../core/utils'; import { AnimationService } from '../services/animation/animation'; import { IgxDirectionality } from '../services/direction/directionality'; import { IgxTabItemDirective } from './tab-item.directive'; import { IgxTabContentBase, IgxTabsBase } from './tabs.base'; import * as i0 from "@angular/core"; export interface ITabsBaseEventArgs extends IBaseEventArgs { readonly owner: IgxTabsDirective; } export interface ITabsSelectedIndexChangingEventArgs extends ITabsBaseEventArgs { cancel: boolean; readonly oldIndex: number; newIndex: number; } export interface ITabsSelectedItemChangeEventArgs extends ITabsBaseEventArgs { readonly oldItem: IgxTabItemDirective; readonly newItem: IgxTabItemDirective; } export declare abstract class IgxTabsDirective extends IgxCarouselComponentBase implements IgxTabsBase, AfterViewInit, OnDestroy { dir: IgxDirectionality; /** * Gets/Sets the index of the selected item. * Default value is 0 if contents are defined otherwise defaults to -1. */ get selectedIndex(): number; set selectedIndex(value: number); /** * Enables/disables the transition animation of the contents. */ disableAnimation: boolean; /** * Output to enable support for two-way binding on [(selectedIndex)] */ selectedIndexChange: EventEmitter<number>; /** * Emitted when the selected index is about to change. */ selectedIndexChanging: EventEmitter<ITabsSelectedIndexChangingEventArgs>; /** * Emitted when the selected item is changed. */ selectedItemChange: EventEmitter<ITabsSelectedItemChangeEventArgs>; /** * Returns the items. */ items: QueryList<IgxTabItemDirective>; /** * Gets the selected item. */ get selectedItem(): IgxTabItemDirective; /** @hidden */ panels: QueryList<IgxTabContentBase>; /** @hidden */ protected currentItem: IgxTabItemDirective; /** @hidden */ protected previousItem: IgxTabItemDirective; /** @hidden */ protected componentName: string; private _selectedIndex; private _itemChanges$; /** @hidden */ constructor(animationService: AnimationService, cdr: ChangeDetectorRef, dir: IgxDirectionality); /** @hidden */ ngAfterViewInit(): void; /** @hidden */ ngOnDestroy(): void; /** @hidden */ selectTab(tab: IgxTabItemDirective, selected: boolean): void; /** @hidden */ protected getPreviousElement(): HTMLElement; /** @hidden */ protected getCurrentElement(): HTMLElement; /** @hidden */ protected scrollTabHeaderIntoView(): void; /** @hidden */ protected onItemChanges(): void; private setAttributes; private setHeaderAttribute; private setPanelAttribute; private get hasPanels(); private updateSelectedTabs; private triggerPanelAnimations; /** @hidden */ protected abstract getNextTabId(): any; static ɵfac: i0.ɵɵFactoryDeclaration<IgxTabsDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<IgxTabsDirective, never, never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "disableAnimation": { "alias": "disableAnimation"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "selectedIndexChanging": "selectedIndexChanging"; "selectedItemChange": "selectedItemChange"; }, ["items", "panels"], never, true, never>; static ngAcceptInputType_disableAnimation: unknown; }