UNPKG

textchecker-element

Version:
50 lines (49 loc) 1.42 kB
export type AnnotationItem = { id: string; start: number; end: number; onMouseEnter: ({ rectItem }: { rectItem: TextCheckerElementRectItem; }) => void; onMouseLeave: ({ rectItem }: { rectItem: TextCheckerElementRectItem; }) => void; }; /** * RectItem is pixel based */ export type TextCheckerElementRectItem = { id: AnnotationItem["id"]; left: number; top: number; height: number; width: number; boxPaddingTop: number; boxPaddingBottom: number; boxMarginTop: number; boxMarginBottom: number; boxBorderWidth: number; boxAbsoluteX: number; boxAbsoluteY: number; boxWidth: number; boxHeight: number; }; export type TextCheckerState = { visibleTop: number; visibleLeft: number; visibleWidth: number; visibleHeight: number; rectItems: TextCheckerElementRectItem[]; annotationItems: AnnotationItem[]; mouseHoverRectIdMap: Map<TextCheckerElementRectItem["id"], boolean>; highlightRectIdSet: Set<TextCheckerElementRectItem["id"]>; }; export declare const createTextCheckerStore: (initialState?: Partial<TextCheckerState>) => { get(): TextCheckerState; onChange(handler: () => void): void; dispose(): void; highlightRectIndexes(idList: TextCheckerElementRectItem["id"][]): void; update(state: Partial<TextCheckerState>): void; clear(): void; clearHoverState(): void; };