import Tailwind from '../base/tailwind-base'; /** * @tag plus-tab-group * @summary Tab group component that manages a set of tabs and panels. * * @slot tablist - Slot for tabs * @slot panels - Slot for tab panels * * @csspart group - The component's base wrapper * @csspart tablist - The tabs container * @csspart panels - The tab panels container * @csspart indicator - The animated indicator element (when animated=true) * * @cssproperty --tabs-gap - Controls the gap between tabs * @cssproperty --tabs-indicator-color - Controls the color of the active tab indicator * @cssproperty --tabs-indicator-height - Controls the height of the animated indicator * * @event plus-tabs-change - Emitted when a tab is selected with the tab's value * * @example * ```html * * Tab 1 * Tab 2 * Content 1 * Content 2 * * ``` */ export default class PlusTabGroup extends Tailwind { static styles: import("lit").CSSResult[]; /** * Sets the size of the tabs * - sm: Small size * - md: Medium size * - lg: Large size * @default 'md' */ size: 'sm' | 'md' | 'lg'; /** * Sets the orientation of the tabs * - horizontal: Tabs arranged horizontally * - vertical: Tabs arranged vertically * @default 'horizontal' */ orientation: 'horizontal' | 'vertical'; /** * Disables all tabs * @default false */ disabled: boolean; /** * Allows individual tabs to be dismissed (closed). * @default false */ dismissible: boolean; /** * Currently active tab value */ value: string; /** * Enables animated sliding indicator for active tab * @default false */ animated: boolean; /** * References to DOM elements */ private tablistSlot; private panelsSlot; private indicator; /** * Internal state to track tabs and panels */ private tabs; private panels; private resizeObserver?; private mutationObserver?; constructor(); connectedCallback(): void; disconnectedCallback(): void; /** * Get all tabs from the tablist slot */ private getTabs; /** * Get all panels from the panels slot */ private getPanels; /** * Handle tab slot change */ private handleTabsSlotChange; /** * Handle panels slot change */ private handlePanelsSlotChange; /** * Updates the indicator position and size */ private updateIndicator; /** * Synchronize tabs with panels and apply properties */ private syncTabsWithPanels; /** * Handle tab click event */ private handleTabClick; /** * Handle tab dismiss event */ private handleTabDismiss; updated(changedProperties: Map): void; render(): import("lit-html").TemplateResult<1>; } export { PlusTabGroup }; //# sourceMappingURL=tab-group.d.ts.map