import * as i0 from '@angular/core'; import { TemplateRef, ElementRef, AfterContentInit, OnInit, EventEmitter, QueryList, ChangeDetectorRef } from '@angular/core'; import * as i1 from '@daffodil/design'; import { DaffDisableable, DaffDisableableDirective, DaffPrefixDirective, DaffSuffixDirective, DaffSelectableDirective } from '@daffodil/design'; import { Location } from '@angular/common'; import { Params } from '@angular/router'; /** * Tab is a single tab in the tablist that is used to group the label of a tab panel and the tab panel together. * * A `` should include the DaffTabLabelComponent and DaffTabPanelComponent components in order to properly structure the UI. * * @example * ```html * * * * Tab 1 * * * Tab 1 Panel * * * ``` */ declare class DaffTabComponent implements DaffDisableable { private disabledDirective; /** * @docs-private * * Whether the tab is disabled. */ get disabled(): boolean; /** * @docs-private */ contentRef: TemplateRef; /** * @docs-private */ labelRef: TemplateRef; /** * A unique id for the tab component. Defaults to an autogenerated value. When using this, * it's your responsibility to ensure that the id for each tab is unique. */ id: string; /** * @docs-private */ panelId: string; constructor(disabledDirective: DaffDisableableDirective); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Tab label is the clicakble label that activates its corresponding tab panel. Labels can contain text, icons, or both. * * @example * ```html * *
* Label *
* ``` */ declare class DaffTabLabelComponent { /** * @docs-private */ _prefix: DaffPrefixDirective; /** * @docs-private */ _suffix: DaffSuffixDirective; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Tab panel is the content area displayed when a tab is active. * * @example * ```html * * * * ``` */ declare class DaffTabPanelComponent { private tab; private _id; /** * @docs-private * * Dynamically binds the tab panel's id to a unique value generated from the associated tab's panelId. */ get tabPanelId(): string; private _ariaLabelledBy; /** * @docs-private */ get ariaLabelledBy(): string; constructor(tab: DaffTabComponent); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DaffTabActivatorComponent { private el; private selectableDirective; /** * @docs-private * * Sets `aria-selected` to true if the component is selected and false if it's not selected. */ get ariaSelected(): boolean; /** * @docs-private * * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected. */ get tabIndex(): "0" | "-1"; constructor(el: ElementRef, selectableDirective: DaffSelectableDirective); /** * The html id of the tab activator component */ tabActivatorId: string; panelId: string; /** * Sets focus to the native element of the component. */ focus(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Tabs provide a way to navigate between panels that display related content without leaving the page. * * @example * ```html * * * * * Tab 1 * * * Tab 1 Panel * * * * * Tab 2 * * * * Tab 2 Panel * * * * ``` */ declare class DaffTabsComponent implements AfterContentInit, OnInit { private cdRef; private location; /** * @docs-private * * The currently selected tab. This property is dynamically updated when a user selects a tab. */ selectedTab: string; /** * The tab that is selected on initial load. If it's not used, the first tab in the tablist will be selected by default. */ initiallySelected: string; /** * `aria-label` to label the tablist. */ ariaLabel: string; /** * Replace the tab buttons as links. */ linkMode: boolean; /** * The URL to navigate to when the component is in link mode. * This component will set the specified query param. */ url?: string; /** * The query parameter that the tabs component will use to set the tab value in link mode. */ queryParam: string; /** * Event emitted when tab selection changes. */ tabChange: EventEmitter; /** * @docs-private */ _labels: QueryList; /** * @docs-private */ _tabs: QueryList; /** * @docs-private */ _tabActivators: QueryList; /** * @docs-private */ get currentPath(): string; constructor(cdRef: ChangeDetectorRef, location: Location); private reset; /** * @docs-private */ ngOnInit(): void; /** * @docs-private */ ngAfterContentInit(): void; /** * @docs-private * * Selects a tab and sets focus on the selected tab. */ select(tabId: string): void; /** * Navigates through the tabs based on the given offset. * Moves forward or backward in the tab array, wrapping around when necessary. */ private navigateTabs; /** * @docs-private */ _buildQueryParams(tab: string): Params; /** * @docs-private * * Selects the previous tab and wraps around to the last tab if the first tab is currently selected. */ previous(): void; /** * @docs-private * * Selects the next tab and wraps around to the first tab if the last tab is currently selected. */ next(): void; /** * @docs-private * * Selects the first tab. */ selectFirst(event: KeyboardEvent | null): void; /** * @docs-private * * Selects the last tab. */ selectLast(event: KeyboardEvent | null): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * @docs-private * * ```ts * import { DAFF_TABS_COMPONENTS } from '@daffodil/design/tabs'; * ``` */ declare const DAFF_TABS_COMPONENTS: readonly [typeof DaffTabsComponent, typeof DaffTabLabelComponent, typeof DaffTabPanelComponent, typeof DaffTabComponent]; export { DAFF_TABS_COMPONENTS, DaffTabComponent, DaffTabLabelComponent, DaffTabPanelComponent, DaffTabsComponent };