@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
37 lines (36 loc) • 2.06 kB
TypeScript
import type { LayoutState } from "@1771technologies/lytenyte-shared";
import type { Column, EditActivePosition, GridAtom, GridAtomReadonly, HeaderGroupCellLayout, PositionUnion, VirtualTarget } from "../+types";
import type { DataRectSplit } from "../cell-selection/split-cell-selection-rect";
import type { WriteSignal } from "@1771technologies/lytenyte-core/yinternal";
export interface InternalAtoms {
readonly headerRows: GridAtomReadonly<number>;
readonly headerCols: GridAtomReadonly<number>;
readonly headerHeightTotal: GridAtomReadonly<number>;
readonly xScroll: GridAtom<number>;
readonly yScroll: GridAtom<number>;
readonly layout: LayoutState;
readonly hasSpans: GridAtomReadonly<boolean>;
readonly colBounds: GridAtomReadonly<[number, number]>;
readonly focusActive: GridAtom<PositionUnion | null>;
readonly focusPrevColIndex: GridAtom<number | null>;
readonly focusPrevRowIndex: GridAtom<number | null>;
readonly editActivePos: GridAtom<EditActivePosition<any> | null>;
readonly editData: GridAtom<any>;
readonly editValidation: GridAtom<Record<string, any> | boolean>;
readonly rowAutoHeightCache: GridAtom<Record<number, number>>;
readonly rowDetailAutoHeightCache: GridAtom<Record<number, number>>;
readonly rowSelectedIds: WriteSignal<Set<string>>;
readonly rowSelectionPivot: GridAtom<string | null>;
readonly rowSelectionLastWasDeselect: GridAtom<boolean>;
readonly rowGroupColumnState: GridAtom<Record<string, Partial<Column<any>>>>;
readonly draggingHeader: GridAtom<HeaderGroupCellLayout | null>;
readonly dialogFrames: GridAtom<Record<string, any>>;
readonly popoverFrames: GridAtom<Record<string, {
target: HTMLElement | VirtualTarget;
context: any;
}>>;
readonly cellSelectionPivot: GridAtom<DataRectSplit | null>;
readonly cellSelectionAdditiveRects: GridAtom<DataRectSplit[] | null>;
readonly cellSelectionIsDeselect: GridAtom<boolean>;
readonly cellSelectionSplits: GridAtomReadonly<DataRectSplit[]>;
}