import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from "lit"; import "element-internals-polyfill"; import BlTableRow from "./table-row/bl-table-row"; export declare const blTableTag = "bl-table"; export type SortDirection = "asc" | "desc" | ""; /** * @tag bl-table * @summary Baklava Table component * */ export default class BlTable extends LitElement { static get styles(): CSSResultGroup; /** * Selected table row selection key list */ get selected(): string[]; set selected(value: string[]); /** * Sets table row as selectable */ selectable: boolean; /** * Sets table row multiple selection enable */ multiple: boolean; /** * Sets table as sortable */ sortable: boolean; /** * Sets table first column as sticky */ stickyFirstColumn: boolean; /** * Sets table last column as sticky */ stickyLastColumn: boolean; /** * Sets table sorted column key */ get sortKey(): string; set sortKey(value: string); /** * Sets table sorting direction */ get sortDirection(): SortDirection; set sortDirection(value: SortDirection); /** * Fires when table sort options changed */ private onSort; /** * Fires when selected table rows changed */ private onRowSelect; private _selectedValues; private _sortKey; private _sortDirection; protected updated(_changedProperties: PropertyValues): void; get tableRows(): NodeListOf; isFirstColumnSticky(): boolean; isLastColumnSticky(): boolean; isSelectable(isHeaderCell?: boolean): boolean; isRowSelected(selectionKey: string): boolean; isAllSelected(): boolean; isAnySelected(): boolean; isAllUnselectedDisabled(): boolean; /** * Handles selection changes for both header and row selections. * @param isHeader - Indicates if the selection change is for the header. * @param isSelected - The selection state. * @param selectionKey - The key identifying the selected row. It must be there if it is not the header. */ onSelectionChange(isHeader: boolean | undefined, isSelected: boolean, selectionKey: string): void; /** * Updates selected values based on header selection for currently rendered rows. * @param isSelected - The selection state. */ private handleHeaderSelection; /** * Updates selected values based on row selection. * @param isSelected - The selection state. * @param selectionKey - The key identifying the selected row. */ private handleRowSelection; /** * Notifies about the row selection change. */ private notifyRowSelectionChange; /** * Adds a selection key to the selected values. * @param selectionKey - The key to add. */ private addSelection; /** * Removes a selection key from the selected values. * @param selectionKey - The key to remove. */ private removeSelection; /** * Gets the selection keys from all selectable table rows. * @returns An array of selection keys. */ private getSelectedValuesFromRows; resetScrollPosition(): void; onSortChange(sortKey: string, sortDirection: SortDirection): void; render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { [blTableTag]: BlTable; } interface HTMLElementEventMap { "bl-sort": CustomEvent; "bl-row-select": CustomEvent; } } //# sourceMappingURL=bl-table.d.ts.map