UNPKG

react-ipdf-viewer

Version:

A lightweight, dependency-free media viewer for PDFs and other media types with advanced controls

46 lines (45 loc) 1.35 kB
import React from 'react'; export type MediaType = 'pdf' | 'image' | 'video' | 'audio' | 'unsupported'; export type ViewerTheme = 'light' | 'dark'; export interface NexusViewerProps { src: string | Blob | ArrayBuffer | Uint8Array; mimeType?: string; fileName?: string; onError?: (error: Error) => void; showControls?: boolean; defaultZoom?: number; allowDownload?: boolean; allowPrint?: boolean; allowRotate?: boolean; allowFullScreen?: boolean; theme?: ViewerTheme; rotateValue?: number; autoHeight?: boolean; className?: string; style?: React.CSSProperties; renderToolbar?: (controls: ViewerControls) => React.ReactNode; } export interface ViewerControls { zoom: number; rotation: number; download: () => void; print: () => void; rotateRight: (degrees: number) => void; rotateLeft: (degrees: number) => void; zoomIn: () => void; zoomOut: () => void; reset: () => void; enterFullscreen: () => void; exitFullscreen: () => void; isFullscreen: boolean; toggleTheme: () => void; currentTheme: ViewerTheme; } export interface MediaRenderProps { src: string; mimeType: string; zoom: number; rotation: number; theme: ViewerTheme; onError?: (error: Error) => void; }