UNPKG

@bouzu/vue-virtualizer

Version:

[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![bundle][bundle-src]][bundle-href] [![JSDocs][jsdocs-src]][jsdocs-href]

43 lines (38 loc) 2.12 kB
import { Ref, MaybeRef as MaybeRef$1 } from 'vue-demi'; import { Virtualizer as Virtualizer$1, View, Layouts, CreateListLayoutsOptions } from '@bouzu/virtualizer'; import { CreateVirtualizerProps } from '@bouzu/virtualizer-dom'; import { Rect, Size } from '@bouzu/shared'; import { MaybeRef } from '@vueuse/core'; interface VirtualizerContext<T extends object> { state: Virtualizer$1<T>; } interface Virtualizer<T extends object> { context: VirtualizerContext<T>; visibleViews: Readonly<Ref<View<T>[]>>; visibleRect: Ref<Rect>; contentSize: Readonly<Ref<Size>>; isScrolling: Readonly<Ref<boolean>>; collect: Virtualizer$1<T>['collect']; } interface UseVirtualizerProps<T extends object> { el: MaybeRef<HTMLElement | null | undefined>; data: MaybeRef<T[]>; layouts: MaybeRef<Layouts<T>>; overscanThrottle?: MaybeRef<CreateVirtualizerProps['overscanThrottle']>; anchorScrollPosition?: MaybeRef<CreateVirtualizerProps['anchorScrollPosition']>; } declare function useVirtualizerContext<T extends object>(): VirtualizerContext<T>; declare function useVirtualizer<T extends object>(props: UseVirtualizerProps<T>): Virtualizer<T>; interface UseVirtualizerItemProps<T extends object> { el: MaybeRef$1<HTMLElement | null | undefined>; view: MaybeRef$1<View<T>>; } declare function useVirtualizerItem<T extends object>(props: UseVirtualizerItemProps<T>, context?: VirtualizerContext<T>): void; type VirtualList<T extends object> = Virtualizer<T>; type UseVirtualListProps<T extends object> = Omit<UseVirtualizerProps<T>, 'layouts'> & { axis?: MaybeRef$1<CreateListLayoutsOptions['axis']>; itemSize?: MaybeRef$1<CreateListLayoutsOptions['itemSize']>; estimatedItemSize?: MaybeRef$1<CreateListLayoutsOptions['estimatedItemSize']>; }; declare function useVirtualList<T extends object>(props: UseVirtualListProps<T>): VirtualList<T>; export { type UseVirtualListProps, type UseVirtualizerItemProps, type UseVirtualizerProps, type VirtualList, type Virtualizer, type VirtualizerContext, useVirtualList, useVirtualizer, useVirtualizerContext, useVirtualizerItem };