UNPKG

multiple-select-vanilla

Version:

This lib allows you to select multiple elements with checkboxes

64 lines 1.77 kB
import type { TrustedHTML } from 'trusted-types/lib'; export type InferDOMType<T> = T extends CSSStyleDeclaration ? Partial<CSSStyleDeclaration> : T extends infer R ? R : any; export type OptionDataObject = { [value: string]: number | string | boolean; }; export interface OptionRowDivider { divider: boolean; } export interface HtmlStruct { tagName: keyof HTMLElementTagNameMap; props?: any; attrs?: Record<any, string>; children?: HtmlStruct[]; } export interface OptionRowData { text: string; value: string | number | boolean; classes?: string; divider?: string; disabled?: boolean; selected?: boolean | number; visible?: boolean | string; title?: string; type?: 'option' | 'optgroup'; _data?: { divider?: string; }; _key?: string; _value?: string | number | boolean; } export interface OptGroupRowData extends Omit<OptionRowData, 'text' | 'value'> { label: string; value?: string | number | boolean; children: Array<OptionRowData>; } export interface VirtualCache { bottom: number; data: HtmlStruct[]; scrollTop: number; top: number; } export interface VirtualScrollOption { rows: HtmlStruct[]; scrollEl: HTMLElement; contentEl: HTMLElement; callback: () => void; sanitizer?: (html: string) => string | TrustedHTML; } export interface LabelFilter { label: string; search: string; originalLabel: string; originalSearch: string; row: OptionRowData | OptGroupRowData; } export interface TextFilter { text: string; search: string; originalText: string; originalSearch: string; row: OptionRowData | OptGroupRowData; parent?: OptionRowData | OptGroupRowData; } //# sourceMappingURL=interfaces.d.ts.map