@cds/core
Version:
Clarity Design System - common components, themes, and utilties
29 lines (28 loc) • 936 B
TypeScript
import { ReactiveController, ReactiveElement } from 'lit';
declare type GridRange = {
grid: HTMLElement;
cells: NodeListOf<HTMLElement>;
rows: NodeListOf<HTMLElement>;
rangeSelection?: boolean;
};
/**
* Given a 2d array grid structure provide a highlight/range selection of given cells
*/
export declare function gridRangeSelection<T extends ReactiveElement & GridRange>(): ClassDecorator;
export declare class GridRangeSelectionController<T extends ReactiveElement & GridRange> implements ReactiveController {
private host;
private selectionActive;
private firstCell;
private activeCell;
private get enabled();
constructor(host: T);
hostConnected(): Promise<void>;
private setupMouseEvents;
private setupKeyboardListeners;
private setFirstCell;
private setActiveCell;
private stopSelection;
private resetAllActiveCells;
private calculateSelection;
}
export {};