import { LitElement } from 'lit'; /** * Tab Group allows multiple panels to be contained within a single window, * using tabs as a navigational element. * * @status ready * @category navigation * @slot - The element which contains the content to be revealed. * @slot tab - The element which contains all tabs to reveal tabbed content. * * @cssprop [--n-tab-group-padding=0] - Controls the padding around the tab group (including the tab list), using our [spacing tokens](/tokens/#space). */ export default class TabGroup extends LitElement { static styles: import("lit").CSSResult[]; private direction; private observer?; private static observerOptions; /** * Unique ID for each tab group component present. */ private tabGroupId; /** * Adds an accessible label to the tab list container. */ label: string; /** * Controls the padding of the tab group component. */ padding?: 'm' | 'l' | 'none'; /** * Whether the tab list sticks to the top of the tab group as you scroll. */ sticky: boolean; /** * The current tab node selected in the tab group. */ private selectedTab; render(): import("lit").TemplateResult<1>; connectedCallback(): void; firstUpdated(): void; private updateSlots; disconnectedCallback(): void; private setupObserver; /** * If the selected tab is selected programmatically update all the tabs. */ private handleMutation; /** * Get the selected tab button, or the first tab button. */ private get initialSelectedTab(); /** * Apply accessible attributes and values to the tab buttons. */ private setupTabs; /** * Apply accessible attributes and values to the tab panels. */ private setupPanels; private handleTabChange; /** * Get the previous tab button in the tab group */ private previousTab; /** * Handle keyboard accessible controls. */ private handleKeydown; /** * Update the selected tab button with attributes and values. * Update the tab group state. */ private updateSelectedTab; } declare global { interface HTMLElementTagNameMap { 'nord-tab-group': TabGroup; } }