vue-typed-virtual-list
Version:
A small, efficient, easy-to-use virtual list for Vue 3
27 lines (26 loc) • 878 B
TypeScript
import { Ref } from 'vue';
import { MaybeRef } from '@vueuse/core';
import { ItemContext, ScrollerArray } from './types';
declare type DyanmicSizeScrollerArgs<T> = {
items: MaybeRef<ScrollerArray<T>>;
assumedSize: MaybeRef<number>;
scrollPosition: Ref<number>;
containerSize: Ref<number>;
padding: MaybeRef<number>;
onItemsChanged?: (arg: {
start: number;
end: number;
}) => void;
onTotalSizeChanged?: (delta: number) => void;
};
export declare function useDynamicSizeScroller<T>(args: DyanmicSizeScrollerArgs<T>): {
offsets: Ref<{
[x: number]: number;
length: number;
}>;
getOffset: (index: number) => number | undefined;
measure: (index: number, size: number) => void;
visibleItems: import("vue").ComputedRef<ItemContext<T>[]>;
totalSize: import("vue").ComputedRef<number>;
};
export {};