react-native-pdf 6.6.0 → 6.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +119 -0
- package/index.js.flow +63 -0
- package/package.json +13 -4
package/index.d.ts
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2017-present, Wonday (@wonday.org)
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
import * as ReactNative from 'react-native';
|
|
11
|
+
|
|
12
|
+
export type TableContent = {
|
|
13
|
+
children: TableContent[],
|
|
14
|
+
mNativePtr: number,
|
|
15
|
+
pageIdx: number,
|
|
16
|
+
title: string,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export type Source = {
|
|
20
|
+
uri?: string;
|
|
21
|
+
headers?: {
|
|
22
|
+
[key: string]: string;
|
|
23
|
+
};
|
|
24
|
+
cache?: boolean;
|
|
25
|
+
cacheFileName?: string;
|
|
26
|
+
expiration?: number;
|
|
27
|
+
method?: string;
|
|
28
|
+
body?: any
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export interface PdfProps extends ReactNative.ViewProps {
|
|
32
|
+
source: Source | number,
|
|
33
|
+
page?: number,
|
|
34
|
+
scale?: number,
|
|
35
|
+
minScale?: number,
|
|
36
|
+
maxScale?: number,
|
|
37
|
+
horizontal?: boolean,
|
|
38
|
+
spacing?: number,
|
|
39
|
+
password?: string,
|
|
40
|
+
renderActivityIndicator: (progress: number) => React.ReactElement,
|
|
41
|
+
enableAntialiasing?: boolean,
|
|
42
|
+
enableAnnotationRendering?: boolean,
|
|
43
|
+
enablePaging?: boolean,
|
|
44
|
+
enableRTL?: boolean,
|
|
45
|
+
fitPolicy?: number,
|
|
46
|
+
trustAllCerts?: boolean,
|
|
47
|
+
singlePage?: boolean,
|
|
48
|
+
onLoadProgress?: (percent: number) => void,
|
|
49
|
+
onLoadComplete?: (numberOfPages: number, path: string, size: {height: number, width: number}, tableContents?: TableContent[]) => void,
|
|
50
|
+
onPageChanged?: (page: number, numberOfPages: number) => void,
|
|
51
|
+
onError?: (error: any) => void,
|
|
52
|
+
onPageSingleTap?: (page: number, x: number, y: number) => void,
|
|
53
|
+
onScaleChanged?: (scale: number) => void,
|
|
54
|
+
onPressLink?: (url: string) => void,
|
|
55
|
+
setPage: (pageNumber: number) => void;
|
|
56
|
+
|
|
57
|
+
usePDFKit?: boolean
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export type PdfState = {
|
|
61
|
+
path: string
|
|
62
|
+
isDownloaded: boolean
|
|
63
|
+
progress: number
|
|
64
|
+
isSupportPDFKit: number
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface PdfViewProps extends ReactNative.ViewProps {
|
|
68
|
+
path: string
|
|
69
|
+
password?: string
|
|
70
|
+
scale: number
|
|
71
|
+
minScale: number
|
|
72
|
+
maxScale: number
|
|
73
|
+
spacing: number
|
|
74
|
+
fitPolicy?: number
|
|
75
|
+
horizontal?: boolean
|
|
76
|
+
page: number
|
|
77
|
+
currentPage: number
|
|
78
|
+
singlePage: boolean
|
|
79
|
+
enablePaging: boolean
|
|
80
|
+
onPageSingleTap: PdfProps['onPageSingleTap']
|
|
81
|
+
onScaleChanged: PdfProps['onScaleChanged']
|
|
82
|
+
onLoadComplete: PdfProps['onLoadComplete']
|
|
83
|
+
onError: PdfProps['onError']
|
|
84
|
+
onPageChanged: PdfProps['onPageChanged']
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export type PdfViewState = {
|
|
88
|
+
pdfLoaded: boolean
|
|
89
|
+
fileNo: number
|
|
90
|
+
numberOfPages:number
|
|
91
|
+
page: number
|
|
92
|
+
currentPage: number
|
|
93
|
+
pageAspectRate: number
|
|
94
|
+
pdfPageSize: {width: number, height: number}
|
|
95
|
+
contentContainerSize: {width: number, height: number}
|
|
96
|
+
scale: number
|
|
97
|
+
contentOffset: {x: number, y: number}
|
|
98
|
+
newContentOffset: {x: number, y: number}
|
|
99
|
+
centerContent: boolean
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export interface PdfPageViewProps extends ReactNative.ViewProps {
|
|
103
|
+
fileNo: number
|
|
104
|
+
page: number
|
|
105
|
+
width: number
|
|
106
|
+
height: number
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface PinchZoomViewProps extends ReactNative.ViewProps {
|
|
110
|
+
scalable: boolean
|
|
111
|
+
onScaleChanged: (scaled: {pageX: number; pageY: number; scale: number}) => void
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export interface DoubleTapViewProps extends ReactNative.ViewProps {
|
|
115
|
+
delay: number
|
|
116
|
+
radius: number
|
|
117
|
+
onSingleTap: PropTypes.func,
|
|
118
|
+
onDoubleTap: PropTypes.func,
|
|
119
|
+
}
|
package/index.js.flow
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @flow strict
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Component } from 'react';
|
|
6
|
+
|
|
7
|
+
import type { Node } from 'react';
|
|
8
|
+
import type { FormField, Methods } from 'rn-fetch-blob';
|
|
9
|
+
import type { ViewStyleProp } from 'react-native/Libraries/StyleSheet/StyleSheet'
|
|
10
|
+
|
|
11
|
+
export type AssetId = number;
|
|
12
|
+
|
|
13
|
+
export type FitWidth = 0;
|
|
14
|
+
export type FitHeight = 1;
|
|
15
|
+
export type FitBoth = 2;
|
|
16
|
+
|
|
17
|
+
export type Source = {
|
|
18
|
+
body?: string | FormField[],
|
|
19
|
+
cache?: boolean,
|
|
20
|
+
cacheFileName?: string,
|
|
21
|
+
expiration?: number,
|
|
22
|
+
headers?: { [key: string]: string },
|
|
23
|
+
method?: Methods,
|
|
24
|
+
uri: string
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export type TableContent = {
|
|
28
|
+
children: TableContent[],
|
|
29
|
+
mNativePtr: number,
|
|
30
|
+
pageIdx: number,
|
|
31
|
+
title: string,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export type Props = {
|
|
35
|
+
renderActivityIndicator?: (progress: number) => Node,
|
|
36
|
+
enableAnnotationRendering?: boolean,
|
|
37
|
+
enableAntialiasing?: boolean,
|
|
38
|
+
enablePaging?: boolean,
|
|
39
|
+
enableRTL?: boolean,
|
|
40
|
+
fitPolicy?: FitWidth | FitHeight | FitBoth,
|
|
41
|
+
horizontal?: boolean,
|
|
42
|
+
maxScale?: number,
|
|
43
|
+
minScale?: number,
|
|
44
|
+
singlePage?: boolean,
|
|
45
|
+
onError?: (error: Error) => void,
|
|
46
|
+
onLoadComplete?: (numberOfPages: number, path: string, size: { height: number, width: number }, tableContents: ?TableContent[]) => void,
|
|
47
|
+
onLoadProgress?: (percent: number) => void,
|
|
48
|
+
onPageChanged?: (page: number, numberOfPages: number) => void,
|
|
49
|
+
onPageSingleTap?: (page: number, x: number, y: number) => void,
|
|
50
|
+
onScaleChanged?: (scale: number) => void,
|
|
51
|
+
onPressLink?: (url: string) => void,
|
|
52
|
+
page?: number,
|
|
53
|
+
password?: string,
|
|
54
|
+
scale?: number,
|
|
55
|
+
source: AssetId | Source,
|
|
56
|
+
spacing?: number,
|
|
57
|
+
style?: ViewStyleProp,
|
|
58
|
+
testID?: string
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
declare export default class Pdf extends Component<Props> {
|
|
62
|
+
setPage: (pageNumber: number) => void;
|
|
63
|
+
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-pdf",
|
|
3
|
-
"version": "6.6.
|
|
3
|
+
"version": "6.6.1",
|
|
4
4
|
"summary": "A react native PDF view component",
|
|
5
5
|
"description": "A react native PDF view component, support ios and android platform",
|
|
6
|
-
"main": "
|
|
6
|
+
"main": "index.js",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+https://github.com/wonday/react-native-pdf.git"
|
|
@@ -40,9 +40,18 @@
|
|
|
40
40
|
"ios/",
|
|
41
41
|
"windows/",
|
|
42
42
|
"dist/",
|
|
43
|
-
"react-native-pdf.podspec"
|
|
43
|
+
"react-native-pdf.podspec",
|
|
44
|
+
"DoubleTapView.js",
|
|
45
|
+
"index.d.ts",
|
|
46
|
+
"index.js",
|
|
47
|
+
"index.js.flow",
|
|
48
|
+
"PdfManager.js",
|
|
49
|
+
"PdfPageView.js",
|
|
50
|
+
"PdfView.js",
|
|
51
|
+
"PdfViewFlatList.js",
|
|
52
|
+
"PinchZoomView.js"
|
|
44
53
|
],
|
|
45
54
|
"scripts": {
|
|
46
55
|
"build": "rm -rf dist/ && tsc"
|
|
47
56
|
}
|
|
48
|
-
}
|
|
57
|
+
}
|