import type { CSSResultGroup } from 'lit'; import DSAIcon from '../icon/icon'; import DSASkeleton from '../skeleton/skeleton'; import DSATableCell from '../table-cell/table-cell'; import { TABLE_SORT_DIRECTION } from './defs'; /** * @summary The table header cell defines a cell in a [table-header-row](/components/table/table-header-row) within a [table](/components/table/table) * @documentation https://dsa.service-public-autonomie.fr/latest/librairie-webcomponents/tableau-table/tableau-table/web-Dr8U0zqh * * @dependency dsa-icon * @dependency dsa-skeleton * * @slot Content to be placed inside the table header cell * * @event {{ oldSortDirection: TABLE_SORT_DIRECTION, sortDirection: TABLE_SORT_DIRECTION }} dsa-table-header-cell-sort - Emitted when a table-header-cell changes its sort direction. */ export default class DSATableHeaderCell extends DSATableCell { static styles: CSSResultGroup; static dependencies: { 'dsa-icon': typeof DSAIcon; 'dsa-skeleton': typeof DSASkeleton; }; button: HTMLButtonElement; nextSortDirection: TABLE_SORT_DIRECTION; isHovered: boolean; isFocused: boolean; textContent: string; /** The table-header-cell's role */ role: string; /** `true` if this should be sortable */ sortable: boolean; /** Used to align content */ alignment: 'left' | 'right'; /** The table sort direction. Choose between `ascending` or `descending` or `none` */ sortDirection: TABLE_SORT_DIRECTION; private handleSort; private getNextSortDirection; private handleMouseOver; private handleMouseOut; private handleFocus; private handleBlur; private handleSlotChange; handleSortableChange(): void; handleSortDirectionChange(): void; /** Simulates a click on the sort button. */ click(): void; /** Sets focus on the sort button. */ focus(options?: FocusOptions): void; /** Removes focus from the sort button. */ blur(): void; render(): import("lit").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'dsa-table-header-cell': DSATableHeaderCell; } }