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
TypeScript
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;
}