import { PropertyValueMap } from "lit"; import { FRoot } from "@nonfx/flow-core"; export type FTableVariant = "stripped" | "outlined" | "underlined" | "bordered"; export type FTableSize = "medium" | "small"; export type FTableSelectable = "single" | "multiple" | "none"; export declare class FTable extends FRoot { /** * css loaded from scss file */ static styles: import("lit").CSSResult[]; /** * @attribute Variants are various representations of a table. For example a table can be stripped,outlined,underlined or bordered.. */ variant?: FTableVariant; /** * @attribute size to apply on each cell */ size?: FTableSize; /** * @attribute whether to display checkbox or radiobox */ selectable?: FTableSelectable; /** * @attribute highlight selected row, when selectable has value "single" or "multiple" */ highlightSelected: boolean; set ["highlight-selected"](val: boolean); /** * @attribute highlight on hover */ highlightHover: boolean; set ["highlight-hover"](val: boolean); /** * @attribute highlight on column hover */ highlightColumnHover: boolean; set ["highlight-column-hover"](val: boolean); protected willUpdate(changedProperties: PropertyValueMap | Map): void; render(): import("lit").TemplateResult<1>; protected updated(changedProperties: PropertyValueMap | Map): Promise; propogateProps(): Promise; updateGridTemplateColumns(): void; /** * apply checkbox or radio based on selection property */ applySelectable(): void; /** * if checkbox from header got clicked * @param event */ handleHeaderRowSelection(event: CustomEvent): Promise; /** * if checkbox or radio clicked in row * @param event */ handleRowSelection(event: CustomEvent<{ element: HTMLElement; }>): Promise; dispatchSelectedRowEvent(): void; /** * only one radio should be selected * @param element */ updateRadioChecks(element: HTMLElement): void; /** * update header checkbox based on rest of the selection */ updateHeaderSelectionCheckboxState(): Promise; toggleColumnHighlight(event: CustomEvent): void; toggleColumnSelected(event: CustomEvent): void; } /** * Required for typescript */ declare global { export interface HTMLElementTagNameMap { "f-table": FTable; } }