react-pdf-highlighter-plus
interface ThumbnailPanelProps {
    className?: string;
    currentPage: number;
    estimatedItemHeight?: number;
    gap?: number;
    loadThumbnail: ((pageNumber) => Promise<void>);
    onPageSelect: ((pageNumber) => void);
    overscan?: number;
    renderThumbnail?: ((pageNumber, thumbnail, isActive) => ReactNode);
    showPageNumbers?: boolean;
    thumbnails: Map<number, ThumbnailData>;
    totalPages: number;
}

Properties

className?: string

Custom class name

currentPage: number

Current page number for highlighting

estimatedItemHeight?: number

Estimated height of each thumbnail item (including gap)

gap?: number

Gap between thumbnail items in pixels

loadThumbnail: ((pageNumber) => Promise<void>)

Function to load a thumbnail

Type declaration

    • (pageNumber): Promise<void>
    • Parameters

      • pageNumber: number

      Returns Promise<void>

onPageSelect: ((pageNumber) => void)

Callback when thumbnail is clicked

Type declaration

    • (pageNumber): void
    • Parameters

      • pageNumber: number

      Returns void

overscan?: number

Number of items to render outside visible area

renderThumbnail?: ((pageNumber, thumbnail, isActive) => ReactNode)

Custom thumbnail renderer

Type declaration

    • (pageNumber, thumbnail, isActive): ReactNode
    • Parameters

      Returns ReactNode

showPageNumbers?: boolean

Show page numbers under thumbnails

thumbnails: Map<number, ThumbnailData>

Thumbnails map for reactive updates (when thumbnails load, this changes)

totalPages: number

Total number of pages