Hiyve Components - v1.0.0
    Preparing search index...
    interface PdfViewerProps {
        annotationAuthorId?: string;
        annotationFileId?: string;
        annotationLockController?: boolean;
        annotationLocked?: boolean;
        controlsDisabled?: boolean;
        currentPage?: number;
        enableAnnotations?: boolean;
        fileName: string;
        fileUrl: string;
        onAnnotationLockChange?: (locked: boolean) => void;
        onPageChange?: (page: number) => void;
    }
    Index

    Properties

    annotationAuthorId?: string

    Local user id; stamped on every locally-authored stroke.

    annotationFileId?: string

    File id used as the annotation relay topic. Required when enableAnnotations is true — different PDFs use different topics so annotation streams don't cross-contaminate.

    annotationLockController?: boolean

    True when the caller is the lock controller (teacher). Only the controller's toolbar shows the lock toggle.

    annotationLocked?: boolean

    Annotation lock state (read-only for everyone except the lock controller). When true, followers see the existing strokes but can't draw or erase. Defaults to true in the lesson use-case so a class doesn't accidentally scribble before the teacher opens the floor.

    controlsDisabled?: boolean

    Hide the toolbar and ignore keyboard navigation. Used to "lock" the viewer for followers in a synced session so they can't desync from the teacher by clicking next/prev.

    currentPage?: number

    Controlled current page (1-based). When the value changes, the viewer scrolls to that page. Used by lesson sync to follow the teacher's page. When undefined the viewer is uncontrolled — the user navigates freely.

    enableAnnotations?: boolean

    Enable per-page drawing annotations synced via the relay. When false (default) no overlay is rendered and the viewer behaves as a plain PDF viewer. Consumers should only enable this inside a synced lesson — the sync hook requires <SemanticRelayProvider> in scope and a fileId keyed topic.

    fileName: string

    Display name (used in error messages, ARIA labels).

    fileUrl: string

    URL or blob URL to the PDF file.

    onAnnotationLockChange?: (locked: boolean) => void

    Fires when the lock controller toggles the lock state.

    onPageChange?: (page: number) => void

    Fires when the user changes pages — either by scrolling (the "most visible page" changes) or via the toolbar. The teacher's lesson-sync wiring listens here and rebroadcasts.