import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit'; import { SbbElement } from '../../core/base-elements.ts'; import { SbbTabElement } from '../tab/tab.component.ts'; import { SbbTabLabelElement } from '../tab-label/tab-label.component.ts'; export interface SbbTabChangedEventDetails { activeIndex: number; activeTabLabel: SbbTabLabelElement; activeTab: SbbTabElement; previousIndex: number; previousTabLabel: SbbTabLabelElement | undefined; previousTab: SbbTabElement | undefined; } /** * It displays one or more tabs, each one with a label and some content. * * @slot - Use the unnamed slot to add content to the `sbb-tab-group` via `sbb-tab-label` and `sbb-tab` instances. * @event {CustomEvent} tabchange - The tabchange event is dispatched when a tab is selected. */ export declare class SbbTabGroupElement extends SbbElement { static readonly elementName: string; static styles: CSSResultGroup; static readonly events: { readonly tabchange: "tabchange"; }; private _tabGroupElement; private _tabGroupResizeObserver; private _contentSlotChangeDebounceId?; /** * Size variant, either s, l or xl. * @default 'l' / 's' (lean) */ accessor size: 's' | 'l' | 'xl'; /** * Sets the initial tab. If it matches a disabled tab or exceeds the length of * the tab group, the first enabled tab will be selected. */ accessor initialSelectedIndex: number; /** * If set to true, the `sbb-tab` elements take 100% height of the `sbb-tab-group`. * It enables controlling the height on the `sbb-tab-group` element. * The content becomes scrollable on overflow. */ accessor fixedHeight: boolean; /** Gets the slotted `sbb-tab-label`s. */ get labels(): SbbTabLabelElement[]; /** Gets the slotted `sbb-tab`s. */ get tabs(): SbbTabElement[]; constructor(); protected firstUpdated(changedProperties: PropertyValues): void; /** * Disables a tab by index. * @param index The index of the tab you want to disable. */ disableTab(index: number): void; /** * Enables a tab by index. * @param index The index of the tab you want to enable. */ enableTab(index: number): void; /** * Activates a tab by index. * @param index The index of the tab you want to activate. */ activateTab(index: number): void; private _enabledTabs; private _onContentSlotChange; private _onLabelSlotChange; private _ensureActiveTab; private _initSelection; private _onTabGroupElementResize; private _handleKeyDown; /** * @internal */ protected setTabContentHeight(contentHeight: number): void; protected render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { 'sbb-tab-group': SbbTabGroupElement; } } //# sourceMappingURL=tab-group.component.d.ts.map