@june24/expo-pdf-reader 0.1.26 → 0.1.27
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/README.md +50 -50
- package/android/build.gradle +24 -24
- package/android/src/main/AndroidManifest.xml +2 -2
- package/android/src/main/java/expo/modules/pdfreader/ExpoPdfReaderModule.kt +53 -53
- package/android/src/main/java/expo/modules/pdfreader/ExpoPdfReaderView.kt +1881 -1765
- package/build/ExpoPdfReader.types.js.map +1 -1
- package/build/ExpoPdfReaderView.js.map +1 -1
- package/build/index.js.map +1 -1
- package/expo-module.config.json +16 -16
- package/ios/ExpoPdfReader.podspec +27 -27
- package/ios/ExpoPdfReaderModule.swift +68 -68
- package/ios/ExpoPdfReaderView.swift +1072 -1072
- package/package.json +39 -39
- package/src/ExpoPdfReader.types.ts +49 -49
- package/src/ExpoPdfReaderView.tsx +17 -17
- package/src/index.ts +11 -11
- package/tsconfig.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoPdfReader.types.js","sourceRoot":"","sources":["../src/ExpoPdfReader.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ViewProps, StyleProp, ViewStyle } from 'react-native';\
|
|
1
|
+
{"version":3,"file":"ExpoPdfReader.types.js","sourceRoot":"","sources":["../src/ExpoPdfReader.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ViewProps, StyleProp, ViewStyle } from 'react-native';\n\nexport type DisplayMode = 'single' | 'continuous' | 'twoUp' | 'twoUpContinuous';\nexport type AnnotationTool = 'pen' | 'highlighter' | 'text' | 'note' | 'eraser' | 'line';\n\nexport type AnnotationData = {\n type: AnnotationTool;\n page: number;\n bounds: { x: number; y: number; width: number; height: number };\n color?: string;\n strokeWidth?: number;\n paths?: Array<Array<{ x: number; y: number }>>;\n contents?: string;\n fontSize?: number; // зөвхөн text-д\n bold?: boolean; // зөвхөн text-д\n italic?: boolean; // зөвхөн text-д\n};\n\nexport interface ExpoPdfReaderViewProps extends ViewProps {\n url: string;\n style?: StyleProp<ViewStyle>;\n displayMode?: DisplayMode;\n initialPage?: number;\n minZoom?: number;\n maxZoom?: number;\n tool?: AnnotationTool;\n strokeColor?: string;\n strokeWidth?: number;\n textContent?: string;\n textColor?: string;\n textFontSize?: number;\n textBold?: boolean;\n textItalic?: boolean;\n noteColor?: string;\n initialAnnotations?: AnnotationData[];\n onReady?: (event: { nativeEvent: { totalPages: number; width: number; height: number } }) => void;\n onPageChange?: (event: { nativeEvent: { currentPage: number; totalPage: number } }) => void;\n onAnnotationChange?: (event: { nativeEvent: { annotations: AnnotationData[] } }) => void;\n onUndoRedoStateChange?: (event: { nativeEvent: { canUndo: boolean; canRedo: boolean } }) => void;\n onNotePress?: (event: { nativeEvent: { page: number; index: number; bounds: { x: number; y: number; width: number; height: number }; contents?: string } }) => void;\n onTextPress?: (event: { nativeEvent: { page: number; index: number; bounds: { x: number; y: number; width: number; height: number }; contents?: string } }) => void;\n}\n\nexport interface ExpoPdfReaderRef {\n undo: () => Promise<void>;\n redo: () => Promise<void>;\n setInitialPage: (page: number) => Promise<void>;\n updateNote: (page: number, index: number, contents: string) => Promise<void>;\n updateText: (page: number, index: number, contents: string) => Promise<void>;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoPdfReaderView.js","sourceRoot":"","sources":["../src/ExpoPdfReaderView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,UAAU,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;AAE7D,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAGxC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAG,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC","sourcesContent":["import { requireNativeViewManager } from \"expo-modules-core\";\
|
|
1
|
+
{"version":3,"file":"ExpoPdfReaderView.js","sourceRoot":"","sources":["../src/ExpoPdfReaderView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,UAAU,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;AAE7D,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAGxC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAG,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC","sourcesContent":["import { requireNativeViewManager } from \"expo-modules-core\";\nimport * as React from \"react\";\nimport {\n ExpoPdfReaderViewProps,\n ExpoPdfReaderRef,\n} from \"./ExpoPdfReader.types\";\n\nconst NativeView = requireNativeViewManager(\"ExpoPdfReader\");\n\nconst ExpoPdfReaderView = React.forwardRef<\n ExpoPdfReaderRef,\n ExpoPdfReaderViewProps\n>((props, ref) => {\n return <NativeView {...props} ref={ref} />;\n});\n\nexport default ExpoPdfReaderView;\n"]}
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AASpD,eAAe,iBAAiB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAA+B,CAAC","sourcesContent":["import ExpoPdfReaderView from './ExpoPdfReaderView';\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AASpD,eAAe,iBAAiB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAA+B,CAAC","sourcesContent":["import ExpoPdfReaderView from './ExpoPdfReaderView';\nimport {\n DisplayMode,\n ExpoPdfReaderViewProps,\n AnnotationTool,\n AnnotationData,\n ExpoPdfReaderRef\n} from './ExpoPdfReader.types';\n\nexport default ExpoPdfReaderView;\nexport { ExpoPdfReaderView, DisplayMode, AnnotationTool };\nexport type { ExpoPdfReaderViewProps, AnnotationData, ExpoPdfReaderRef };"]}
|
package/expo-module.config.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
{
|
|
2
|
-
"platforms": [
|
|
3
|
-
"ios",
|
|
4
|
-
"android"
|
|
5
|
-
],
|
|
6
|
-
"ios": {
|
|
7
|
-
"modules": [
|
|
8
|
-
"ExpoPdfReaderModule"
|
|
9
|
-
]
|
|
10
|
-
},
|
|
11
|
-
"android": {
|
|
12
|
-
"modules": [
|
|
13
|
-
"expo.modules.pdfreader.ExpoPdfReaderModule"
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"platforms": [
|
|
3
|
+
"ios",
|
|
4
|
+
"android"
|
|
5
|
+
],
|
|
6
|
+
"ios": {
|
|
7
|
+
"modules": [
|
|
8
|
+
"ExpoPdfReaderModule"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"android": {
|
|
12
|
+
"modules": [
|
|
13
|
+
"expo.modules.pdfreader.ExpoPdfReaderModule"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
require 'json'
|
|
2
|
-
|
|
3
|
-
package = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))
|
|
4
|
-
|
|
5
|
-
Pod::Spec.new do |s|
|
|
6
|
-
s.name = 'ExpoPdfReader'
|
|
7
|
-
s.version = package['version']
|
|
8
|
-
s.summary = package['description']
|
|
9
|
-
s.description = package['description']
|
|
10
|
-
s.license = package['license']
|
|
11
|
-
s.author = package['author']
|
|
12
|
-
s.homepage = package['homepage'] || 'https://github.com/june24/expo-pdf-reader'
|
|
13
|
-
s.platform = :ios, '15.1'
|
|
14
|
-
s.swift_version = '5.9'
|
|
15
|
-
s.source = { git: package['homepage'] || 'git@gitlab.com:june_241/expo-pdf-reader.git', tag: "v#{s.version}" }
|
|
16
|
-
s.static_framework = true
|
|
17
|
-
|
|
18
|
-
s.dependency 'ExpoModulesCore'
|
|
19
|
-
|
|
20
|
-
# Swift/Objective-C compatibility
|
|
21
|
-
s.pod_target_xcconfig = {
|
|
22
|
-
'DEFINES_MODULE' => 'YES',
|
|
23
|
-
'SWIFT_COMPILATION_MODE' => 'wholemodule'
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
s.source_files = "**/*.{h,m,swift}"
|
|
27
|
-
end
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))
|
|
4
|
+
|
|
5
|
+
Pod::Spec.new do |s|
|
|
6
|
+
s.name = 'ExpoPdfReader'
|
|
7
|
+
s.version = package['version']
|
|
8
|
+
s.summary = package['description']
|
|
9
|
+
s.description = package['description']
|
|
10
|
+
s.license = package['license']
|
|
11
|
+
s.author = package['author']
|
|
12
|
+
s.homepage = package['homepage'] || 'https://github.com/june24/expo-pdf-reader'
|
|
13
|
+
s.platform = :ios, '15.1'
|
|
14
|
+
s.swift_version = '5.9'
|
|
15
|
+
s.source = { git: package['homepage'] || 'git@gitlab.com:june_241/expo-pdf-reader.git', tag: "v#{s.version}" }
|
|
16
|
+
s.static_framework = true
|
|
17
|
+
|
|
18
|
+
s.dependency 'ExpoModulesCore'
|
|
19
|
+
|
|
20
|
+
# Swift/Objective-C compatibility
|
|
21
|
+
s.pod_target_xcconfig = {
|
|
22
|
+
'DEFINES_MODULE' => 'YES',
|
|
23
|
+
'SWIFT_COMPILATION_MODE' => 'wholemodule'
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
s.source_files = "**/*.{h,m,swift}"
|
|
27
|
+
end
|
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
import ExpoModulesCore
|
|
2
|
-
|
|
3
|
-
public class ExpoPdfReaderModule: Module {
|
|
4
|
-
public func definition() -> ModuleDefinition {
|
|
5
|
-
Name("ExpoPdfReader")
|
|
6
|
-
|
|
7
|
-
View(ExpoPdfReaderView.self) {
|
|
8
|
-
Events("onReady", "onPageChange", "onAnnotationChange", "onUndoRedoStateChange", "onNotePress", "onTextPress")
|
|
9
|
-
|
|
10
|
-
Prop("url") { (view: ExpoPdfReaderView, url: String) in
|
|
11
|
-
if let u = URL(string: url) { view.load(url: u) }
|
|
12
|
-
}
|
|
13
|
-
Prop("displayMode") { (view: ExpoPdfReaderView, mode: String) in
|
|
14
|
-
view.setDisplayMode(mode)
|
|
15
|
-
}
|
|
16
|
-
Prop("initialPage") { (view: ExpoPdfReaderView, page: Int) in
|
|
17
|
-
view.setInitialPage(page)
|
|
18
|
-
}
|
|
19
|
-
Prop("minZoom") { (view: ExpoPdfReaderView, v: Double) in
|
|
20
|
-
view.setMinZoom(v)
|
|
21
|
-
}
|
|
22
|
-
Prop("maxZoom") { (view: ExpoPdfReaderView, v: Double) in
|
|
23
|
-
view.setMaxZoom(v)
|
|
24
|
-
}
|
|
25
|
-
Prop("tool") { (view: ExpoPdfReaderView, tool: String?) in
|
|
26
|
-
view.setTool(tool)
|
|
27
|
-
}
|
|
28
|
-
Prop("strokeColor") { (view: ExpoPdfReaderView, color: String) in
|
|
29
|
-
view.setStrokeColor(color)
|
|
30
|
-
}
|
|
31
|
-
Prop("strokeWidth") { (view: ExpoPdfReaderView, width: Double) in
|
|
32
|
-
view.setStrokeWidth(width)
|
|
33
|
-
}
|
|
34
|
-
Prop("textContent") { (view: ExpoPdfReaderView, text: String) in
|
|
35
|
-
view.setTextContent(text)
|
|
36
|
-
}
|
|
37
|
-
Prop("textColor") { (view: ExpoPdfReaderView, color: String) in
|
|
38
|
-
view.setTextColor(color)
|
|
39
|
-
}
|
|
40
|
-
Prop("textFontSize") { (view: ExpoPdfReaderView, size: Double) in
|
|
41
|
-
view.setTextFontSize(size)
|
|
42
|
-
}
|
|
43
|
-
Prop("textBold") { (view: ExpoPdfReaderView, value: Bool) in
|
|
44
|
-
view.setTextBold(value)
|
|
45
|
-
}
|
|
46
|
-
Prop("textItalic") { (view: ExpoPdfReaderView, value: Bool) in
|
|
47
|
-
view.setTextItalic(value)
|
|
48
|
-
}
|
|
49
|
-
Prop("noteColor") { (view: ExpoPdfReaderView, color: String) in
|
|
50
|
-
view.setNoteColor(color)
|
|
51
|
-
}
|
|
52
|
-
Prop("initialAnnotations") { (view: ExpoPdfReaderView, annotations: [[String: Any]]?) in
|
|
53
|
-
if let ann = annotations { view.setAnnotations(ann) }
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
AsyncFunction("undo") { (view: ExpoPdfReaderView) in view.undo() }
|
|
57
|
-
AsyncFunction("redo") { (view: ExpoPdfReaderView) in view.redo() }
|
|
58
|
-
AsyncFunction("setInitialPage") { (view: ExpoPdfReaderView, page: Int) in
|
|
59
|
-
view.setInitialPage(page)
|
|
60
|
-
}
|
|
61
|
-
AsyncFunction("updateNote") { (view: ExpoPdfReaderView, page: Int, index: Int, contents: String) in
|
|
62
|
-
view.updateNote(pageIndex: page, index: index, contents: contents)
|
|
63
|
-
}
|
|
64
|
-
AsyncFunction("updateText") { (view: ExpoPdfReaderView, page: Int, index: Int, contents: String) in
|
|
65
|
-
view.updateText(pageIndex: page, index: index, contents: contents)
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
1
|
+
import ExpoModulesCore
|
|
2
|
+
|
|
3
|
+
public class ExpoPdfReaderModule: Module {
|
|
4
|
+
public func definition() -> ModuleDefinition {
|
|
5
|
+
Name("ExpoPdfReader")
|
|
6
|
+
|
|
7
|
+
View(ExpoPdfReaderView.self) {
|
|
8
|
+
Events("onReady", "onPageChange", "onAnnotationChange", "onUndoRedoStateChange", "onNotePress", "onTextPress")
|
|
9
|
+
|
|
10
|
+
Prop("url") { (view: ExpoPdfReaderView, url: String) in
|
|
11
|
+
if let u = URL(string: url) { view.load(url: u) }
|
|
12
|
+
}
|
|
13
|
+
Prop("displayMode") { (view: ExpoPdfReaderView, mode: String) in
|
|
14
|
+
view.setDisplayMode(mode)
|
|
15
|
+
}
|
|
16
|
+
Prop("initialPage") { (view: ExpoPdfReaderView, page: Int) in
|
|
17
|
+
view.setInitialPage(page)
|
|
18
|
+
}
|
|
19
|
+
Prop("minZoom") { (view: ExpoPdfReaderView, v: Double) in
|
|
20
|
+
view.setMinZoom(v)
|
|
21
|
+
}
|
|
22
|
+
Prop("maxZoom") { (view: ExpoPdfReaderView, v: Double) in
|
|
23
|
+
view.setMaxZoom(v)
|
|
24
|
+
}
|
|
25
|
+
Prop("tool") { (view: ExpoPdfReaderView, tool: String?) in
|
|
26
|
+
view.setTool(tool)
|
|
27
|
+
}
|
|
28
|
+
Prop("strokeColor") { (view: ExpoPdfReaderView, color: String) in
|
|
29
|
+
view.setStrokeColor(color)
|
|
30
|
+
}
|
|
31
|
+
Prop("strokeWidth") { (view: ExpoPdfReaderView, width: Double) in
|
|
32
|
+
view.setStrokeWidth(width)
|
|
33
|
+
}
|
|
34
|
+
Prop("textContent") { (view: ExpoPdfReaderView, text: String) in
|
|
35
|
+
view.setTextContent(text)
|
|
36
|
+
}
|
|
37
|
+
Prop("textColor") { (view: ExpoPdfReaderView, color: String) in
|
|
38
|
+
view.setTextColor(color)
|
|
39
|
+
}
|
|
40
|
+
Prop("textFontSize") { (view: ExpoPdfReaderView, size: Double) in
|
|
41
|
+
view.setTextFontSize(size)
|
|
42
|
+
}
|
|
43
|
+
Prop("textBold") { (view: ExpoPdfReaderView, value: Bool) in
|
|
44
|
+
view.setTextBold(value)
|
|
45
|
+
}
|
|
46
|
+
Prop("textItalic") { (view: ExpoPdfReaderView, value: Bool) in
|
|
47
|
+
view.setTextItalic(value)
|
|
48
|
+
}
|
|
49
|
+
Prop("noteColor") { (view: ExpoPdfReaderView, color: String) in
|
|
50
|
+
view.setNoteColor(color)
|
|
51
|
+
}
|
|
52
|
+
Prop("initialAnnotations") { (view: ExpoPdfReaderView, annotations: [[String: Any]]?) in
|
|
53
|
+
if let ann = annotations { view.setAnnotations(ann) }
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
AsyncFunction("undo") { (view: ExpoPdfReaderView) in view.undo() }
|
|
57
|
+
AsyncFunction("redo") { (view: ExpoPdfReaderView) in view.redo() }
|
|
58
|
+
AsyncFunction("setInitialPage") { (view: ExpoPdfReaderView, page: Int) in
|
|
59
|
+
view.setInitialPage(page)
|
|
60
|
+
}
|
|
61
|
+
AsyncFunction("updateNote") { (view: ExpoPdfReaderView, page: Int, index: Int, contents: String) in
|
|
62
|
+
view.updateNote(pageIndex: page, index: index, contents: contents)
|
|
63
|
+
}
|
|
64
|
+
AsyncFunction("updateText") { (view: ExpoPdfReaderView, page: Int, index: Int, contents: String) in
|
|
65
|
+
view.updateText(pageIndex: page, index: index, contents: contents)
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
69
|
}
|