import * as i6 from 'igniteui-angular/input-group'; import { IgxPrefixDirective, IgxSuffixDirective } from 'igniteui-angular/input-group'; import * as i0 from '@angular/core'; import { QueryList, TemplateRef, EventEmitter, AfterViewInit, OnDestroy, ElementRef } from '@angular/core'; import { IgxSlideComponentBase, CarouselAnimationDirection, IgxCarouselComponentBase } from 'igniteui-angular/carousel'; import { PlatformUtil, IBaseEventArgs, ɵIgxDirectionality as _IgxDirectionality } from 'igniteui-angular/core'; /** @hidden */ declare abstract class IgxTabsBase { items: QueryList; selectedIndex: number; abstract selectTab(tab: IgxTabItemBase, selected: boolean): any; } /** @hidden */ declare abstract class IgxTabItemBase { disabled: boolean; selected: boolean; headerTemplate: TemplateRef; panelTemplate: TemplateRef; headerComponent: IgxTabHeaderBase; panelComponent: IgxTabContentBase; } /** @hidden */ declare abstract class IgxTabHeaderBase { nativeElement: HTMLElement; } /** @hidden */ declare abstract class IgxTabContentBase { nativeElement: HTMLElement; } declare abstract class IgxTabItemDirective implements IgxTabItemBase, IgxSlideComponentBase { /** @hidden */ private tabs; /** @hidden */ headerComponent: IgxTabHeaderBase; /** @hidden */ panelComponent: IgxTabContentBase; /** @hidden */ headerTemplate: TemplateRef; /** @hidden */ panelTemplate: TemplateRef; /** * Output to enable support for two-way binding on [(selected)] */ selectedChange: EventEmitter; /** * Disables the item. */ disabled: boolean; /** @hidden */ direction: CarouselAnimationDirection; /** @hidden */ previous: boolean; private _selected; /** * Gets/Sets whether an item is selected. */ get selected(): boolean; set selected(value: boolean); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_selected: unknown; } declare abstract class IgxTabContentDirective implements IgxTabContentBase { /** @hidden */ tab: IgxTabItemDirective; /** @hidden */ private elementRef; /** @hidden */ role: string; /** @hidden */ get tabIndex(): 0 | -1; /** @hidden */ get zIndex(): -1 | "auto"; /** @hidden */ get nativeElement(): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class IgxTabContentComponent extends IgxTabContentDirective { /** @hidden */ cssClass: boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare abstract class IgxTabHeaderDirective implements IgxTabHeaderBase { /** @hidden */ protected tabs: IgxTabsBase; /** @hidden */ tab: IgxTabItemDirective; /** @hidden */ private elementRef; /** @hidden */ protected platform: PlatformUtil; /** @hidden */ role: string; /** @hidden */ get tabIndex(): 0 | -1; /** @hidden */ get ariaSelected(): boolean; /** @hidden */ get ariaDisabled(): boolean; /** @hidden */ onClick(): void; /** @hidden */ get nativeElement(): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface ITabsBaseEventArgs extends IBaseEventArgs { readonly owner: IgxTabsDirective; } interface ITabsSelectedIndexChangingEventArgs extends ITabsBaseEventArgs { cancel: boolean; readonly oldIndex: number; newIndex: number; } interface ITabsSelectedItemChangeEventArgs extends ITabsBaseEventArgs { readonly oldItem: IgxTabItemDirective; readonly newItem: IgxTabItemDirective; } declare abstract class IgxTabsDirective extends IgxCarouselComponentBase implements IgxTabsBase, AfterViewInit, OnDestroy { /** @hidden */ 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; /** * Emitted when the selected index is about to change. */ selectedIndexChanging: EventEmitter; /** * Emitted when the selected item is changed. */ selectedItemChange: EventEmitter; /** * Returns the items. */ items: QueryList; /** * Gets the selected item. */ get selectedItem(): IgxTabItemDirective; /** @hidden */ panels: QueryList; /** @hidden */ protected currentItem: IgxTabItemDirective; /** @hidden */ protected previousItem: IgxTabItemDirective; /** @hidden */ protected componentName: string; private _selectedIndex; private _itemChanges$; /** @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; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_disableAnimation: unknown; } declare const IgxTabsAlignment: { readonly start: "start"; readonly end: "end"; readonly center: "center"; readonly justify: "justify"; }; type IgxTabsAlignment = (typeof IgxTabsAlignment)[keyof typeof IgxTabsAlignment]; /** * Tabs component is used to organize or switch between similar data sets. * * @igxModule IgxTabsModule * * @igxTheme igx-tabs-theme * * @igxKeywords tabs * * @igxGroup Layouts * * @remarks * The Ignite UI for Angular Tabs component places tabs at the top and allows for scrolling when there are multiple tab items on the screen. * * @example * ```html * * * * folder * Tab 1 * * * Content 1 * * * ... * * ``` */ declare class IgxTabsComponent extends IgxTabsDirective implements AfterViewInit, OnDestroy { private ngZone; private platform; /** * Gets/Sets the tab alignment. Defaults to `start`. */ get tabAlignment(): string | IgxTabsAlignment; set tabAlignment(value: string | IgxTabsAlignment); /** * Determines the tab activation. * When set to auto, the tab is instantly selected while navigating with the Left/Right Arrows, Home or End keys and the corresponding panel is displayed. * When set to manual, the tab is only focused. The selection happens after pressing Space or Enter. * Defaults is auto. */ activation: 'auto' | 'manual'; /** @hidden */ headerContainer: ElementRef; /** @hidden */ viewPort: ElementRef; /** @hidden */ itemsWrapper: ElementRef; /** @hidden */ itemsContainer: ElementRef; /** @hidden */ selectedIndicator: ElementRef; /** @hidden */ scrollPrevButton: ElementRef; /** @hidden */ scrollNextButton: ElementRef; /** @hidden */ defaultClass: boolean; /** @hidden */ offset: number; /** @hidden */ protected componentName: string; private _tabAlignment; private _resizeObserver; /** @hidden @internal */ ngAfterViewInit(): void; /** @hidden @internal */ ngOnDestroy(): void; /** @hidden */ scrollPrev(): void; /** @hidden */ scrollNext(): void; /** @hidden */ realignSelectedIndicator(): void; /** @hidden */ resolveHeaderScrollClasses(): { 'igx-tabs__header-scroll--start': boolean; 'igx-tabs__header-scroll--end': boolean; 'igx-tabs__header-scroll--center': boolean; 'igx-tabs__header-scroll--justify': boolean; }; /** @hidden */ protected scrollTabHeaderIntoView(): void; /** @hidden */ protected getNextTabId(): number; /** @hidden */ protected onItemChanges(): void; private alignSelectedIndicator; private hideSelectedIndicator; private scroll; private scrollElement; private updateScrollButtons; private setScrollButtonStyle; private resolveLeftScrollButtonStyle; private resolveRightScrollButtonStyle; private getTabItemsContainerWidth; private getOffset; private getElementOffset; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class IgxTabHeaderComponent extends IgxTabHeaderDirective implements AfterViewInit, OnDestroy { protected tabs: IgxTabsComponent; private ngZone; private dir; /** @hidden @internal */ get provideCssClassSelected(): boolean; /** @hidden @internal */ get provideCssClassDisabled(): boolean; /** @hidden @internal */ cssClass: boolean; private _resizeObserver; /** @hidden @internal */ keyDown(event: KeyboardEvent): void; /** @hidden @internal */ ngAfterViewInit(): void; /** @hidden @internal */ ngOnDestroy(): void; private getNewSelectionIndex; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class IgxTabItemComponent extends IgxTabItemDirective { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class IgxTabHeaderLabelDirective { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class IgxTabHeaderIconDirective { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare const IGX_TABS_DIRECTIVES: readonly [typeof IgxTabsComponent, typeof IgxTabItemComponent, typeof IgxTabHeaderComponent, typeof IgxTabContentComponent, typeof IgxTabHeaderLabelDirective, typeof IgxTabHeaderIconDirective, typeof IgxPrefixDirective, typeof IgxSuffixDirective]; /** * @hidden * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components */ declare class IgxTabsModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { IGX_TABS_DIRECTIVES, IgxTabContentBase, IgxTabContentComponent, IgxTabContentDirective, IgxTabHeaderBase, IgxTabHeaderComponent, IgxTabHeaderDirective, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxTabItemBase, IgxTabItemComponent, IgxTabItemDirective, IgxTabsAlignment, IgxTabsBase, IgxTabsComponent, IgxTabsDirective, IgxTabsModule }; export type { ITabsBaseEventArgs, ITabsSelectedIndexChangingEventArgs, ITabsSelectedItemChangeEventArgs };