@vue-pdf-viewer/viewer
Version:
The PDF Viewer component for Vue 3 and Nuxt
33 lines (32 loc) • 1.14 kB
TypeScript
import { ComputedRef, CSSProperties, Ref, StyleValue, UnwrapRef } from 'vue';
import type { ViewerPdfPage, VirtualRange } from '@/utils/types';
import { ScrollMode, ViewMode } from '@/utils/enumerators';
interface UseVirtualListItem<T> {
data: T;
index: number;
}
export interface UseVirtualListReturn {
list: Ref<UseVirtualListItem<ViewerPdfPage>[]>;
scrollTo: (index: number, rect?: [number, number, number, number]) => void;
pageGroups: ComputedRef<Array<UseVirtualListItem<ViewerPdfPage>[]> | undefined>;
containerProps: {
ref: Ref<HTMLElement | null>;
onScroll: () => void;
style: StyleValue;
};
wrapperProps: ComputedRef<{
style: CSSProperties;
}>;
range: Ref<VirtualRange>;
pagesPerRow: Ref<number>;
}
interface UseVirtualPagesProps {
pages: Ref<ViewerPdfPage[]>;
viewerRef: Ref<HTMLElement | undefined>;
scrollMode: Ref<ScrollMode>;
viewMode: Ref<ViewMode>;
isRtl: boolean;
smoothScroll: Ref<boolean>;
}
declare function useVirtualPages(props: UnwrapRef<UseVirtualPagesProps>): UseVirtualListReturn;
export default useVirtualPages;