UNPKG

k5kit

Version:

Utilities for TypeScript and Svelte

26 lines (25 loc) 1.21 kB
import { type Writable } from 'svelte/store'; import { type SelectionOptions } from './selection-js.ts'; export declare class KSelection<T> { #private; readonly subscribe: Writable<Set<T>>['subscribe']; readonly items: Set<T>; constructor(all_items: T[], options: SelectionOptions<T>); find_first_index(): number | null; find_first(): T | undefined; items_as_array(): T[]; get_selected_indexes(): number[]; add_index(index: number): void; clear(): void; update_all_items(all: T[]): void; handle_mousedown(e: MouseEvent, index: number): void; handle_contextmenu(e: MouseEvent, index: number): void; handle_click(e: MouseEvent, index: number): void; handle_keydown(e: KeyboardEvent): void; /** This adds all row events, and keydown. * The listener should return row index. * Returns an unlisten function. */ add_event_listeners(element: HTMLElement, listener: (e: MouseEvent | KeyboardEvent) => number | null): () => void; /** This adds all row events, and keydown. The listener should return row index. */ attach_events(listener: (e: MouseEvent | KeyboardEvent) => number | null): (element: HTMLElement) => () => void; }