@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
66 lines (65 loc) • 1.92 kB
TypeScript
import { EventEmitter, VNode } from "../../stencil-public-runtime";
import { TabChangeEventDetail } from "../calcite-tab/interfaces";
import { TabID, TabLayout } from "../calcite-tabs/interfaces";
import { TabPosition } from "../calcite-tabs/interfaces";
export declare class CalciteTabNav {
el: HTMLCalciteTabNavElement;
/**
* Name to use when saving selected tab data to localStorage
*/
storageId: string;
/**
* Pass the same string to multiple tab navs to keep them all in sync if one changes
*/
syncId: string;
/** @internal Parent tabs component layout value */
layout: TabLayout;
/** @internal Parent tabs component position value */
position: TabPosition;
/**
* @internal
*/
selectedTab: TabID;
/**
* @internal
*/
selectedTabEl: HTMLCalciteTabTitleElement;
/**
* @internal
*/
indicatorOffset: number;
/**
* @internal
*/
indicatorWidth: number;
selectedTabChanged(): Promise<void>;
selectedTabElChanged(): void;
componentWillLoad(): void;
componentWillRender(): void;
componentDidRender(): void;
render(): VNode;
resizeHandler(): void;
focusPreviousTabHandler(e: CustomEvent): void;
focusNextTabHandler(e: CustomEvent): void;
activateTabHandler(e: CustomEvent<TabChangeEventDetail>): void;
/**
* Check for active tabs on register and update selected
*/
updateTabTitles(e: CustomEvent<TabID>): void;
globalTabChangeHandler(e: CustomEvent<TabChangeEventDetail>): void;
/**
* Emitted when the active tab changes
*/
calciteTabChange: EventEmitter<TabChangeEventDetail>;
private tabNavEl;
private activeIndicatorEl;
private activeIndicatorContainerEl;
private animationActiveDuration;
private handleContainerScroll;
private updateOffsetPosition;
private updateActiveWidth;
private getIndexOfTabTitle;
private getTabTitleById;
private get tabTitles();
private get enabledTabTitles();
}