@june24/expo-pdf-reader 0.1.6 → 0.1.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoPdfReaderView.d.ts","sourceRoot":"","sources":["../src/ExpoPdfReaderView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAGL,UAAU,EACV,YAAY,EACb,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,cAAc,EAAE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;0CAwGtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ExpoPdfReaderView.d.ts","sourceRoot":"","sources":["../src/ExpoPdfReaderView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,UAAU,EAGV,YAAY,EACb,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,cAAc,EAAE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;0CAwGtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,5 +1,4 @@
1
- import { requireNativeModule } from 'expo-modules-core';
2
- import { requireNativeViewManager } from 'expo-modules-core';
1
+ import { requireNativeModule, requireNativeViewManager } from 'expo-modules-core';
3
2
  import * as React from 'react';
4
3
  import { findNodeHandle } from 'react-native';
5
4
  const NativeView = requireNativeViewManager('ExpoPdfReader');
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoPdfReaderView.js","sourceRoot":"","sources":["../src/ExpoPdfReaderView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { requireNativeModule } from 'expo-modules-core';\nimport { requireNativeViewManager } from 'expo-modules-core';\nimport * as React from 'react';\nimport { findNodeHandle } from 'react-native';\n\nimport {\n ExpoPdfReaderViewProps,\n NativeExpoPdfReaderViewProps,\n Annotation,\n SearchResult,\n} from './ExpoPdfReader.types';\n\nconst NativeView: React.ComponentType<\n NativeExpoPdfReaderViewProps & { ref?: React.Ref<any> }\n> = requireNativeViewManager('ExpoPdfReader');\n\nconst NativeModule = requireNativeModule('ExpoPdfReader');\n\nexport type ExpoPdfReaderRef = {\n save: () => Promise<string>;\n getAnnotations: () => Promise<Annotation[]>;\n searchText: (text: string) => Promise<SearchResult[]>;\n goToPage: (page: number) => Promise<void>;\n undo: () => Promise<boolean>;\n redo: () => Promise<boolean>;\n zoomIn: () => Promise<boolean>;\n zoomOut: () => Promise<boolean>;\n renderThumbnail: (page: number, width: number) => Promise<string>;\n};\n\nconst ExpoPdfReaderView = React.forwardRef<ExpoPdfReaderRef, ExpoPdfReaderViewProps>(\n (props, ref) => {\n const nativeRef = React.useRef<any>(null);\n\n React.useImperativeHandle(ref, () => ({\n save: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.save) {\n return await NativeModule.save(viewTag);\n }\n }\n throw new Error('Cannot save: Native view not found');\n },\n getAnnotations: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.getAnnotations) {\n return await NativeModule.getAnnotations(viewTag);\n }\n }\n return [];\n },\n searchText: async (text: string) => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.searchText) {\n return await NativeModule.searchText(viewTag, text);\n }\n }\n return [];\n },\n goToPage: async (page: number) => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.goToPage) {\n return await NativeModule.goToPage(viewTag, page);\n }\n }\n },\n undo: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.undo) {\n return await NativeModule.undo(viewTag);\n }\n }\n return false;\n },\n redo: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.redo) {\n return await NativeModule.redo(viewTag);\n }\n }\n return false;\n },\n zoomIn: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.zoomIn) {\n return await NativeModule.zoomIn(viewTag);\n }\n }\n return false;\n },\n zoomOut: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.zoomOut) {\n return await NativeModule.zoomOut(viewTag);\n }\n }\n return false;\n },\n renderThumbnail: async (page: number, width: number) => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.renderThumbnail) {\n return await NativeModule.renderThumbnail(viewTag, page, width);\n }\n }\n return '';\n },\n }));\n\n const { annotationOptions, ...restProps } = props;\n\n const nativeProps: NativeExpoPdfReaderViewProps = {\n ...(restProps as NativeExpoPdfReaderViewProps),\n displayMode: props.displayMode,\n initialPage: props.initialPage,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n annotationTool: annotationOptions?.tool,\n annotationColor: annotationOptions?.color,\n annotationFontSize: annotationOptions?.fontSize,\n annotationText: annotationOptions?.text,\n annotationStrokeWidth: annotationOptions?.strokeWidth,\n };\n\n return <NativeView ref={nativeRef} {...nativeProps} />;\n }\n);\n\nexport default ExpoPdfReaderView;\n"]}
1
+ {"version":3,"file":"ExpoPdfReaderView.js","sourceRoot":"","sources":["../src/ExpoPdfReaderView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { requireNativeModule, requireNativeViewManager } from 'expo-modules-core';\nimport * as React from 'react';\nimport { findNodeHandle } from 'react-native';\n\nimport {\n Annotation,\n ExpoPdfReaderViewProps,\n NativeExpoPdfReaderViewProps,\n SearchResult,\n} from './ExpoPdfReader.types';\n\nconst NativeView: React.ComponentType<\n NativeExpoPdfReaderViewProps & { ref?: React.Ref<any> }\n> = requireNativeViewManager('ExpoPdfReader');\n\nconst NativeModule = requireNativeModule('ExpoPdfReader');\n\nexport type ExpoPdfReaderRef = {\n save: () => Promise<string>;\n getAnnotations: () => Promise<Annotation[]>;\n searchText: (text: string) => Promise<SearchResult[]>;\n goToPage: (page: number) => Promise<void>;\n undo: () => Promise<boolean>;\n redo: () => Promise<boolean>;\n zoomIn: () => Promise<boolean>;\n zoomOut: () => Promise<boolean>;\n renderThumbnail: (page: number, width: number) => Promise<string>;\n};\n\nconst ExpoPdfReaderView = React.forwardRef<ExpoPdfReaderRef, ExpoPdfReaderViewProps>(\n (props, ref) => {\n const nativeRef = React.useRef<any>(null);\n\n React.useImperativeHandle(ref, () => ({\n save: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.save) {\n return await NativeModule.save(viewTag);\n }\n }\n throw new Error('Cannot save: Native view not found');\n },\n getAnnotations: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.getAnnotations) {\n return await NativeModule.getAnnotations(viewTag);\n }\n }\n return [];\n },\n searchText: async (text: string) => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.searchText) {\n return await NativeModule.searchText(viewTag, text);\n }\n }\n return [];\n },\n goToPage: async (page: number) => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.goToPage) {\n return await NativeModule.goToPage(viewTag, page);\n }\n }\n },\n undo: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.undo) {\n return await NativeModule.undo(viewTag);\n }\n }\n return false;\n },\n redo: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.redo) {\n return await NativeModule.redo(viewTag);\n }\n }\n return false;\n },\n zoomIn: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.zoomIn) {\n return await NativeModule.zoomIn(viewTag);\n }\n }\n return false;\n },\n zoomOut: async () => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.zoomOut) {\n return await NativeModule.zoomOut(viewTag);\n }\n }\n return false;\n },\n renderThumbnail: async (page: number, width: number) => {\n if (nativeRef.current) {\n const viewTag = findNodeHandle(nativeRef.current);\n if (viewTag && NativeModule && NativeModule.renderThumbnail) {\n return await NativeModule.renderThumbnail(viewTag, page, width);\n }\n }\n return '';\n },\n }));\n\n const { annotationOptions, ...restProps } = props;\n\n const nativeProps: NativeExpoPdfReaderViewProps = {\n ...(restProps as NativeExpoPdfReaderViewProps),\n displayMode: props.displayMode,\n initialPage: props.initialPage,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n annotationTool: annotationOptions?.tool,\n annotationColor: annotationOptions?.color,\n annotationFontSize: annotationOptions?.fontSize,\n annotationText: annotationOptions?.text,\n annotationStrokeWidth: annotationOptions?.strokeWidth,\n };\n\n return <NativeView ref={nativeRef} {...nativeProps} />;\n }\n);\n\nexport default ExpoPdfReaderView;\n"]}
package/build/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import ExpoPdfReaderView, { ExpoPdfReaderRef } from './ExpoPdfReaderView';
2
- import { ExpoPdfReaderViewProps, Annotation, AnnotationOptions, AnnotationTool, AnnotationChangeEvent, PageChangeEvent, ScrollEvent, SearchResult, DisplayMode } from './ExpoPdfReader.types';
3
- export { ExpoPdfReaderView, ExpoPdfReaderRef, ExpoPdfReaderViewProps, Annotation, AnnotationOptions, AnnotationTool, AnnotationChangeEvent, PageChangeEvent, ScrollEvent, SearchResult, DisplayMode, };
1
+ import type { Annotation, AnnotationChangeEvent, AnnotationOptions, AnnotationTool, DisplayMode, ExpoPdfReaderViewProps, PageChangeEvent, ScrollEvent, SearchResult } from './ExpoPdfReader.types';
2
+ import type { ExpoPdfReaderRef } from './ExpoPdfReaderView';
3
+ import ExpoPdfReaderView from './ExpoPdfReaderView';
4
+ export { ExpoPdfReaderView };
5
+ export type { Annotation, AnnotationChangeEvent, AnnotationOptions, AnnotationTool, DisplayMode, ExpoPdfReaderRef, ExpoPdfReaderViewProps, PageChangeEvent, ScrollEvent, SearchResult };
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,EAAE,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAG,MAAM,uBAAuB,CAAC;AAE/L,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACnM,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC"}
package/build/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import ExpoPdfReaderView from './ExpoPdfReaderView';
2
- export { ExpoPdfReaderView, };
2
+ export { ExpoPdfReaderView };
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAuC,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAAE,iBAAiB,GAA4K,CAAC","sourcesContent":["import ExpoPdfReaderView, { ExpoPdfReaderRef } from './ExpoPdfReaderView';\nimport { ExpoPdfReaderViewProps, Annotation, AnnotationOptions, AnnotationTool, AnnotationChangeEvent, PageChangeEvent, ScrollEvent, SearchResult, DisplayMode, } from './ExpoPdfReader.types';\n\nexport { ExpoPdfReaderView, ExpoPdfReaderRef, ExpoPdfReaderViewProps, Annotation, AnnotationOptions, AnnotationTool, AnnotationChangeEvent, PageChangeEvent, ScrollEvent, SearchResult, DisplayMode, };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import type { Annotation, AnnotationChangeEvent, AnnotationOptions, AnnotationTool, DisplayMode, ExpoPdfReaderViewProps, PageChangeEvent, ScrollEvent, SearchResult } from './ExpoPdfReader.types';\nimport type { ExpoPdfReaderRef } from './ExpoPdfReaderView';\nimport ExpoPdfReaderView from './ExpoPdfReaderView';\n\nexport { ExpoPdfReaderView };\nexport type { Annotation, AnnotationChangeEvent, AnnotationOptions, AnnotationTool, DisplayMode, ExpoPdfReaderRef, ExpoPdfReaderViewProps, PageChangeEvent, ScrollEvent, SearchResult };\n\n"]}
@@ -662,12 +662,17 @@ class ExpoPdfReaderView: ExpoView, UIGestureRecognizerDelegate {
662
662
  print(" Bounds: \(pathBounds)")
663
663
  print(" Paths count: \(annotation.paths?.count ?? 0)")
664
664
 
665
+ // Make sure annotation is visible
666
+ annotation.shouldDisplay = true
667
+ annotation.shouldPrint = true
668
+
665
669
  page.addAnnotation(annotation)
666
670
 
667
671
  print(" Total annotations on page: \(page.annotations.count)")
668
672
 
669
- // Force PDF view to update
670
- pdfView.setNeedsDisplay()
673
+ // Force comprehensive PDF view update
674
+ pdfView.layoutDocumentView()
675
+ pdfView.setNeedsDisplay(pdfView.bounds)
671
676
  }
672
677
  else if currentTool == "highlighter" {
673
678
  let annotation = PDFAnnotation(bounds: pathBounds, forType: .ink, withProperties: nil)
@@ -680,12 +685,17 @@ class ExpoPdfReaderView: ExpoView, UIGestureRecognizerDelegate {
680
685
  print("✅ Adding highlighter annotation to page")
681
686
  print(" Bounds: \(pathBounds)")
682
687
 
688
+ // Make sure annotation is visible
689
+ annotation.shouldDisplay = true
690
+ annotation.shouldPrint = true
691
+
683
692
  page.addAnnotation(annotation)
684
693
 
685
694
  print(" Total annotations on page: \(page.annotations.count)")
686
695
 
687
- // Force PDF view to update
688
- pdfView.setNeedsDisplay()
696
+ // Force comprehensive PDF view update
697
+ pdfView.layoutDocumentView()
698
+ pdfView.setNeedsDisplay(pdfView.bounds)
689
699
  }
690
700
 
691
701
  // Clear redo stack when new annotation is added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@june24/expo-pdf-reader",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "A PDF reader for Expo apps with annotation and zoom controls",
5
5
  "homepage": "git@gitlab.com:june_241/expo-pdf-reader.git",
6
6
  "main": "build/index.js",
@@ -1,12 +1,11 @@
1
- import { requireNativeModule } from 'expo-modules-core';
2
- import { requireNativeViewManager } from 'expo-modules-core';
1
+ import { requireNativeModule, requireNativeViewManager } from 'expo-modules-core';
3
2
  import * as React from 'react';
4
3
  import { findNodeHandle } from 'react-native';
5
4
 
6
5
  import {
6
+ Annotation,
7
7
  ExpoPdfReaderViewProps,
8
8
  NativeExpoPdfReaderViewProps,
9
- Annotation,
10
9
  SearchResult,
11
10
  } from './ExpoPdfReader.types';
12
11
 
package/src/index.ts CHANGED
@@ -1,4 +1,7 @@
1
- import ExpoPdfReaderView, { ExpoPdfReaderRef } from './ExpoPdfReaderView';
2
- import { ExpoPdfReaderViewProps, Annotation, AnnotationOptions, AnnotationTool, AnnotationChangeEvent, PageChangeEvent, ScrollEvent, SearchResult, DisplayMode, } from './ExpoPdfReader.types';
1
+ import type { Annotation, AnnotationChangeEvent, AnnotationOptions, AnnotationTool, DisplayMode, ExpoPdfReaderViewProps, PageChangeEvent, ScrollEvent, SearchResult } from './ExpoPdfReader.types';
2
+ import type { ExpoPdfReaderRef } from './ExpoPdfReaderView';
3
+ import ExpoPdfReaderView from './ExpoPdfReaderView';
4
+
5
+ export { ExpoPdfReaderView };
6
+ export type { Annotation, AnnotationChangeEvent, AnnotationOptions, AnnotationTool, DisplayMode, ExpoPdfReaderRef, ExpoPdfReaderViewProps, PageChangeEvent, ScrollEvent, SearchResult };
3
7
 
4
- export { ExpoPdfReaderView, ExpoPdfReaderRef, ExpoPdfReaderViewProps, Annotation, AnnotationOptions, AnnotationTool, AnnotationChangeEvent, PageChangeEvent, ScrollEvent, SearchResult, DisplayMode, };