UNPKG

@coolsoftwaretyler/cool-pdf

Version:
91 lines (78 loc) 2.31 kB
import type { StyleProp, ViewStyle } from 'react-native'; export type PdfSource = { uri?: string; path?: string; base64?: string; headers?: Record<string, string>; cache?: boolean; cacheFileName?: string; expiration?: number; method?: string | undefined; }; export type TableContentItem = { title: string; pageIdx: number; children: TableContentItem[]; }; export type OnLoadCompleteEventPayload = { numberOfPages: number; path: string; dimensions: { width: number; height: number; }; tableContents: TableContentItem[]; }; export type OnPageChangedEventPayload = { page: number; numberOfPages: number; }; export type OnErrorEventPayload = { error: string; }; export type OnPageSingleTapEventPayload = { page: number; }; export type OnLoadProgressEventPayload = { percent: number; }; export type OnScaleChangedEventPayload = { scale: number; }; export type OnPressLinkEventPayload = { uri: string; }; export type CoolPdfModuleEvents = { onChange: (params: ChangeEventPayload) => void; }; export type ChangeEventPayload = { value: string; }; export type CoolPdfViewProps = { source: PdfSource | string; page?: number; scale?: number; minScale?: number; maxScale?: number; horizontal?: boolean; spacing?: number; password?: string; enablePaging?: boolean; enableAnnotations?: boolean; enableDoubleTapZoom?: boolean; fitPolicy?: 0 | 1 | 2; // 0: WIDTH, 1: HEIGHT, 2: BOTH (default) singlePage?: boolean; showsHorizontalScrollIndicator?: boolean; showsVerticalScrollIndicator?: boolean; scrollEnabled?: boolean; onLoadComplete?: (event: { nativeEvent: OnLoadCompleteEventPayload }) => void; onLoadProgress?: (event: { nativeEvent: OnLoadProgressEventPayload }) => void; onPageChanged?: (event: { nativeEvent: OnPageChangedEventPayload }) => void; onScaleChanged?: (event: { nativeEvent: OnScaleChangedEventPayload }) => void; onPressLink?: (event: { nativeEvent: OnPressLinkEventPayload }) => void; onError?: (event: { nativeEvent: OnErrorEventPayload }) => void; onPageSingleTap?: (event: { nativeEvent: OnPageSingleTapEventPayload }) => void; renderActivityIndicator?: (progress: number) => React.ReactElement; progressContainerStyle?: StyleProp<ViewStyle>; style?: StyleProp<ViewStyle>; };