@thatkid02/react-native-pdf-viewer 0.0.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/LICENSE +20 -0
- package/PdfViewer.podspec +28 -0
- package/README.md +290 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +121 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/pdfviewer/HybridPdfViewer.kt +169 -0
- package/android/src/main/java/com/margelo/nitro/pdfviewer/PdfViewer.kt +996 -0
- package/android/src/main/java/com/margelo/nitro/pdfviewer/PdfViewerPackage.kt +26 -0
- package/ios/PdfViewer.swift +696 -0
- package/lib/module/PdfViewer.nitro.js +4 -0
- package/lib/module/PdfViewer.nitro.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/PdfViewer.nitro.d.ts +67 -0
- package/lib/typescript/src/PdfViewer.nitro.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +8 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/nitro.json +17 -0
- package/nitrogen/generated/android/c++/JErrorEvent.hpp +57 -0
- package/nitrogen/generated/android/c++/JFunc_void_ErrorEvent.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_LoadCompleteEvent.hpp +76 -0
- package/nitrogen/generated/android/c++/JFunc_void_LoadingChangeEvent.hpp +76 -0
- package/nitrogen/generated/android/c++/JFunc_void_PageChangeEvent.hpp +76 -0
- package/nitrogen/generated/android/c++/JFunc_void_ScaleChangeEvent.hpp +76 -0
- package/nitrogen/generated/android/c++/JFunc_void_ThumbnailGeneratedEvent.hpp +77 -0
- package/nitrogen/generated/android/c++/JHybridPdfViewerSpec.cpp +273 -0
- package/nitrogen/generated/android/c++/JHybridPdfViewerSpec.hpp +94 -0
- package/nitrogen/generated/android/c++/JLoadCompleteEvent.hpp +61 -0
- package/nitrogen/generated/android/c++/JLoadingChangeEvent.hpp +53 -0
- package/nitrogen/generated/android/c++/JPageChangeEvent.hpp +57 -0
- package/nitrogen/generated/android/c++/JScaleChangeEvent.hpp +53 -0
- package/nitrogen/generated/android/c++/JThumbnailGeneratedEvent.hpp +57 -0
- package/nitrogen/generated/android/c++/views/JHybridPdfViewerStateUpdater.cpp +108 -0
- package/nitrogen/generated/android/c++/views/JHybridPdfViewerStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/ErrorEvent.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/Func_void_ErrorEvent.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/Func_void_LoadCompleteEvent.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/Func_void_LoadingChangeEvent.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/Func_void_PageChangeEvent.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/Func_void_ScaleChangeEvent.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/Func_void_ThumbnailGeneratedEvent.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/HybridPdfViewerSpec.kt +195 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/LoadCompleteEvent.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/LoadingChangeEvent.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/PageChangeEvent.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/ScaleChangeEvent.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/ThumbnailGeneratedEvent.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/pdfviewerOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/views/HybridPdfViewerManager.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pdfviewer/views/HybridPdfViewerStateUpdater.kt +23 -0
- package/nitrogen/generated/android/pdfviewer+autolinking.cmake +83 -0
- package/nitrogen/generated/android/pdfviewer+autolinking.gradle +27 -0
- package/nitrogen/generated/android/pdfviewerOnLoad.cpp +58 -0
- package/nitrogen/generated/android/pdfviewerOnLoad.hpp +25 -0
- package/nitrogen/generated/ios/PdfViewer+autolinking.rb +60 -0
- package/nitrogen/generated/ios/PdfViewer-Swift-Cxx-Bridge.cpp +80 -0
- package/nitrogen/generated/ios/PdfViewer-Swift-Cxx-Bridge.hpp +339 -0
- package/nitrogen/generated/ios/PdfViewer-Swift-Cxx-Umbrella.hpp +64 -0
- package/nitrogen/generated/ios/PdfViewerAutolinking.mm +33 -0
- package/nitrogen/generated/ios/PdfViewerAutolinking.swift +25 -0
- package/nitrogen/generated/ios/c++/HybridPdfViewerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridPdfViewerSpecSwift.hpp +205 -0
- package/nitrogen/generated/ios/c++/views/HybridPdfViewerComponent.mm +161 -0
- package/nitrogen/generated/ios/swift/ErrorEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_ErrorEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_LoadCompleteEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_LoadingChangeEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_PageChangeEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_ScaleChangeEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_ThumbnailGeneratedEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridPdfViewerSpec.swift +65 -0
- package/nitrogen/generated/ios/swift/HybridPdfViewerSpec_cxx.swift +500 -0
- package/nitrogen/generated/ios/swift/LoadCompleteEvent.swift +57 -0
- package/nitrogen/generated/ios/swift/LoadingChangeEvent.swift +35 -0
- package/nitrogen/generated/ios/swift/PageChangeEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/ScaleChangeEvent.swift +35 -0
- package/nitrogen/generated/ios/swift/ThumbnailGeneratedEvent.swift +46 -0
- package/nitrogen/generated/shared/c++/ErrorEvent.hpp +71 -0
- package/nitrogen/generated/shared/c++/HybridPdfViewerSpec.cpp +52 -0
- package/nitrogen/generated/shared/c++/HybridPdfViewerSpec.hpp +111 -0
- package/nitrogen/generated/shared/c++/LoadCompleteEvent.hpp +75 -0
- package/nitrogen/generated/shared/c++/LoadingChangeEvent.hpp +67 -0
- package/nitrogen/generated/shared/c++/PageChangeEvent.hpp +71 -0
- package/nitrogen/generated/shared/c++/ScaleChangeEvent.hpp +67 -0
- package/nitrogen/generated/shared/c++/ThumbnailGeneratedEvent.hpp +71 -0
- package/nitrogen/generated/shared/c++/views/HybridPdfViewerComponent.cpp +243 -0
- package/nitrogen/generated/shared/c++/views/HybridPdfViewerComponent.hpp +127 -0
- package/nitrogen/generated/shared/json/PdfViewerConfig.json +23 -0
- package/package.json +175 -0
- package/src/PdfViewer.nitro.ts +97 -0
- package/src/index.tsx +27 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
HybridView,
|
|
3
|
+
HybridViewMethods,
|
|
4
|
+
HybridViewProps,
|
|
5
|
+
} from 'react-native-nitro-modules';
|
|
6
|
+
|
|
7
|
+
export interface LoadCompleteEvent {
|
|
8
|
+
pageCount: number;
|
|
9
|
+
pageWidth: number;
|
|
10
|
+
pageHeight: number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface PageChangeEvent {
|
|
14
|
+
page: number;
|
|
15
|
+
pageCount: number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface ScaleChangeEvent {
|
|
19
|
+
scale: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface ErrorEvent {
|
|
23
|
+
message: string;
|
|
24
|
+
code: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface ThumbnailGeneratedEvent {
|
|
28
|
+
page: number;
|
|
29
|
+
uri: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface LoadingChangeEvent {
|
|
33
|
+
isLoading: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// iOS-only props for scroll direction and paging
|
|
37
|
+
export interface IOSPdfViewerProps {
|
|
38
|
+
// Layout options (iOS only)
|
|
39
|
+
horizontal?: boolean;
|
|
40
|
+
enablePaging?: boolean;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface PdfViewerProps extends HybridViewProps {
|
|
44
|
+
/**
|
|
45
|
+
* PDF source URI
|
|
46
|
+
* @supported file://, http://, https://
|
|
47
|
+
* @security For production apps, prefer https:// URLs to ensure secure content delivery
|
|
48
|
+
* @example "https://example.com/document.pdf"
|
|
49
|
+
* @example "file:///path/to/local/document.pdf"
|
|
50
|
+
*/
|
|
51
|
+
source?: string;
|
|
52
|
+
|
|
53
|
+
// Layout options
|
|
54
|
+
/**
|
|
55
|
+
* Horizontal scroll direction (iOS only)
|
|
56
|
+
* @platform ios
|
|
57
|
+
*/
|
|
58
|
+
horizontal?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Enable paging mode (iOS only)
|
|
61
|
+
* @platform ios
|
|
62
|
+
*/
|
|
63
|
+
enablePaging?: boolean;
|
|
64
|
+
spacing?: number;
|
|
65
|
+
|
|
66
|
+
// Zoom controls
|
|
67
|
+
enableZoom?: boolean;
|
|
68
|
+
minScale?: number;
|
|
69
|
+
maxScale?: number;
|
|
70
|
+
|
|
71
|
+
// Show default loading indicator
|
|
72
|
+
showsActivityIndicator?: boolean;
|
|
73
|
+
|
|
74
|
+
// Event handlers
|
|
75
|
+
onLoadComplete?: (event: LoadCompleteEvent) => void;
|
|
76
|
+
onPageChange?: (event: PageChangeEvent) => void;
|
|
77
|
+
onScaleChange?: (event: ScaleChangeEvent) => void;
|
|
78
|
+
onError?: (event: ErrorEvent) => void;
|
|
79
|
+
onThumbnailGenerated?: (event: ThumbnailGeneratedEvent) => void;
|
|
80
|
+
onLoadingChange?: (event: LoadingChangeEvent) => void;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface PdfViewerMethods extends HybridViewMethods {
|
|
84
|
+
// Navigate to a specific page (0-indexed)
|
|
85
|
+
goToPage(page: number): void;
|
|
86
|
+
|
|
87
|
+
// Set zoom scale
|
|
88
|
+
setScale(scale: number): void;
|
|
89
|
+
|
|
90
|
+
// Generate thumbnail for specific page
|
|
91
|
+
generateThumbnail(page: number): void;
|
|
92
|
+
|
|
93
|
+
// Generate thumbnails for all pages
|
|
94
|
+
generateAllThumbnails(): void;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export type PdfViewer = HybridView<PdfViewerProps, PdfViewerMethods>;
|
package/src/index.tsx
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getHostComponent, callback } from 'react-native-nitro-modules';
|
|
2
|
+
import type { HybridRef } from 'react-native-nitro-modules';
|
|
3
|
+
const PdfViewerConfig = require('../nitrogen/generated/shared/json/PdfViewerConfig.json');
|
|
4
|
+
import type { PdfViewerMethods, PdfViewerProps } from './PdfViewer.nitro';
|
|
5
|
+
|
|
6
|
+
export const PdfViewerView = getHostComponent<PdfViewerProps, PdfViewerMethods>(
|
|
7
|
+
'PdfViewer',
|
|
8
|
+
() => PdfViewerConfig
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
// HybridRef type for ref prop
|
|
12
|
+
export type PdfViewerRef = HybridRef<PdfViewerProps, PdfViewerMethods>;
|
|
13
|
+
|
|
14
|
+
// Re-export types
|
|
15
|
+
export type {
|
|
16
|
+
LoadCompleteEvent,
|
|
17
|
+
PageChangeEvent,
|
|
18
|
+
ScaleChangeEvent,
|
|
19
|
+
ErrorEvent,
|
|
20
|
+
ThumbnailGeneratedEvent,
|
|
21
|
+
LoadingChangeEvent,
|
|
22
|
+
PdfViewerProps,
|
|
23
|
+
PdfViewerMethods,
|
|
24
|
+
} from './PdfViewer.nitro';
|
|
25
|
+
|
|
26
|
+
// Re-export callback utility
|
|
27
|
+
export { callback };
|