lumarc-grid
Version:
lumArc Grid는 고성능, 유연하고 프레임워크에 구애받지 않는 데이터 그리드 라이브러리
42 lines • 1.51 kB
TypeScript
import { VirtualizationConfig } from '../types';
interface UseGridVirtualizationProps<T> {
data: T[];
config: VirtualizationConfig;
containerRef: React.RefObject<HTMLDivElement | null>;
enabled?: boolean;
}
interface VirtualizationReturn<T> {
virtualItems: Array<{
index: number;
start: number;
size: number;
end: number;
key: string;
}>;
visibleData: T[];
containerStyle: React.CSSProperties;
virtualizer: any;
scrollInfo: {
scrollOffset: number;
totalHeight: number;
containerHeight: number;
visibleStartIndex: number;
visibleEndIndex: number;
isVirtualizing: boolean;
};
scrollToIndex: (index: number, options?: {
align?: 'start' | 'center' | 'end';
}) => void;
scrollToTop: () => void;
scrollToBottom: () => void;
}
export declare function useGridVirtualization<T>({ data, config, containerRef, enabled, }: UseGridVirtualizationProps<T>): VirtualizationReturn<T>;
export declare function calculateDynamicRowHeight(element: HTMLElement | null, defaultHeight?: number): number;
export declare function calculateScrollOffset(rowIndex: number, rowHeight: number | 'dynamic', estimatedHeight?: number): number;
export declare function measureVirtualizationPerformance<T>(data: T[], enabled: boolean): {
dataSize: number;
isVirtualizing: boolean;
measureRender: () => number;
};
export {};
//# sourceMappingURL=use-grid-virtualization.d.ts.map