import type { CSSResultGroup } from 'lit'; import DSAIconButton from '../icon-button/icon-button'; import { ShoelaceElement } from '../../internal/shoelace-element'; /** * @summary Tabs are used inside [tab groups](/components/tab-group) to represent and activate [tab panels](/components/tab-panel). * @documentation https://dsa.service-public-autonomie.fr/latest/librairie-webcomponents/onglets-tabs/onglet-tab/web-tQ3WU3IX * * @dependency dsa-icon-button * * @slot - The tab's label. * * @event dsa-close - Emitted when the tab is closable and the close button is activated. */ export default class DSATab extends ShoelaceElement { static styles: CSSResultGroup; static dependencies: { 'dsa-icon-button': typeof DSAIconButton; }; private readonly localize; private readonly attrId; private readonly componentId; private widthPlaceholderNodes; tab: HTMLElement; closeButton: DSAIconButton | null; defaultSlot: HTMLSlotElement; /** The name of the tab panel this tab is associated with. The panel must be located in the same tab group. */ panel: string; /** Draws the tab in an active state. */ active: boolean; /** Makes the tab closable and shows a close button. */ closable: boolean; /** Provide a custom label for the tab close button. */ closeButtonLabel: string; /** Disables the tab and prevents selection. */ disabled: boolean; connectedCallback(): void; firstUpdated(): void; private handleDefaultSlotChange; private updateWidthPlaceholderNodes; private handleCloseClick; handleActiveChange(): void; handleDisabledChange(): void; render(): import("lit").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'dsa-tab': DSATab; } }