rn-pdf-reader-js
Version:
PDF reader for Expo
67 lines (66 loc) • 2.52 kB
TypeScript
import * as React from 'react';
import * as CSS from 'csstype';
import { View } from 'react-native';
import { WebView } from 'react-native-webview';
import { WebViewErrorEvent, WebViewNavigationEvent, WebViewHttpErrorEvent } from 'react-native-webview/lib/WebViewTypes';
export declare type RenderType = 'DIRECT_URL' | 'DIRECT_BASE64' | 'BASE64_TO_LOCAL_PDF' | 'URL_TO_BASE64' | 'GOOGLE_READER';
export interface CustomStyle {
readerContainer?: CSS.Properties<any>;
readerContainerDocument?: CSS.Properties<any>;
readerContainerNumbers?: CSS.Properties<any>;
readerContainerNumbersContent?: CSS.Properties<any>;
readerContainerZoomContainer?: CSS.Properties<any>;
readerContainerZoomContainerButton?: CSS.Properties<any>;
readerContainerNavigate?: CSS.Properties<any>;
readerContainerNavigateArrow?: CSS.Properties<any>;
}
export interface Source {
uri?: string;
base64?: string;
headers?: {
[key: string]: string;
};
}
export interface Props {
source: Source;
style?: View['props']['style'];
webviewStyle?: WebView['props']['style'];
webviewProps?: WebView['props'];
noLoader?: boolean;
customStyle?: CustomStyle;
useGoogleReader?: boolean;
withScroll?: boolean;
withPinchZoom?: boolean;
maximumPinchZoomScale?: number;
onLoad?(event: WebViewNavigationEvent): void;
onLoadEnd?(event: WebViewNavigationEvent | WebViewErrorEvent): void;
onError?(event: WebViewErrorEvent | WebViewHttpErrorEvent | string): void;
}
interface State {
renderType?: RenderType;
ready: boolean;
data?: string;
renderedOnce: boolean;
}
export declare function removeFilesAsync(): Promise<void>;
declare class PdfReader extends React.Component<Props, State> {
static defaultProps: {
withScroll: boolean;
noLoader: boolean;
};
state: {
renderType: undefined;
ready: boolean;
data: undefined;
renderedOnce: boolean;
};
validate: () => void;
init: () => Promise<void>;
getRenderType: () => "DIRECT_URL" | "DIRECT_BASE64" | "BASE64_TO_LOCAL_PDF" | "URL_TO_BASE64" | "GOOGLE_READER" | undefined;
getWebviewSource: () => import("react-native-webview/lib/WebViewTypes").WebViewSourceUri | import("react-native-webview/lib/WebViewTypes").WebViewSourceHtml | undefined;
componentDidMount(): void;
componentDidUpdate(prevProps: Props): void;
componentWillUnmount(): void;
render(): false | JSX.Element;
}
export default PdfReader;