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.
Files changed (3) hide show
  1. package/index.d.ts +119 -0
  2. package/index.js.flow +63 -0
  3. 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.0",
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": "dist/index.js",
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
+ }