@indielayer/ui
Version:
Indielayer UI Components with Tailwind CSS build for Vue 3
34 lines (33 loc) • 1.5 kB
TypeScript
import { type ComputedRef, type CSSProperties, type Ref } from 'vue';
import type { Align } from '../types';
import type { Direction, SizeFunction } from './types';
export declare function useVirtualizer<Props extends object>({ containerElement, containerStyle, defaultContainerSize, direction, isRtl, itemCount: itemCountInput, itemProps: itemPropsInput, itemSize: itemSizeProp, onResize, overscanCount, }: {
containerElement: Ref<HTMLElement | null>;
containerStyle?: CSSProperties;
defaultContainerSize?: number;
direction: Direction;
isRtl?: boolean;
itemCount: number | Ref<number> | ComputedRef<number>;
itemProps: Props | ComputedRef<Props>;
itemSize: number | string | SizeFunction<Props> | Ref<number | string | SizeFunction<Props>> | ComputedRef<number | string | SizeFunction<Props>>;
onResize: ((size: {
height: number;
width: number;
}, prevSize: {
height: number;
width: number;
}) => void) | undefined;
overscanCount: number;
}): {
getCellBounds: (index: number) => import("./types").Bounds;
getEstimatedSize: ComputedRef<number>;
scrollToIndex: ({ align, containerScrollOffset, index, }: {
align?: Align | undefined;
containerScrollOffset: number;
index: number;
}) => number | undefined;
startIndexOverscan: ComputedRef<number>;
startIndexVisible: ComputedRef<number>;
stopIndexOverscan: ComputedRef<number>;
stopIndexVisible: ComputedRef<number>;
};