@papyrus-sdk/ui-react-native 0.2.32 → 0.2.35-beta.0
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 +9 -1
- package/dist/index.d.mts +32 -3
- package/dist/index.d.ts +32 -3
- package/dist/index.js +2122 -1318
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2098 -1286
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -83,11 +83,13 @@ await engine.load({ type: 'pdf', source: { uri: 'https://example.com/book.pdf' }
|
|
|
83
83
|
|
|
84
84
|
## Mobile Tuning Flags
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
Layout and performance options are available on `Viewer` and `RightSheet`:
|
|
87
87
|
|
|
88
88
|
```tsx
|
|
89
89
|
<Viewer
|
|
90
90
|
engine={engine}
|
|
91
|
+
maxPageWidth={760}
|
|
92
|
+
fitPageToViewportHeight
|
|
91
93
|
virtualWindowSize={8}
|
|
92
94
|
maxToRenderPerBatch={6}
|
|
93
95
|
removeClippedSubviews
|
|
@@ -97,6 +99,12 @@ Performance tuning props are available on `Viewer` and `RightSheet`:
|
|
|
97
99
|
```
|
|
98
100
|
|
|
99
101
|
- `virtualWindowSize` (`Viewer`): FlatList window size. Default: `8`.
|
|
102
|
+
- `maxPageWidth` (`Viewer`): optional fit-zoom width limit in React Native points. A narrower page is centered in the viewport; pinch zoom may enlarge it. Omitted by default.
|
|
103
|
+
- `fitPageToViewportHeight` (`Viewer`): opt-in page fitting to the measured
|
|
104
|
+
viewer height while preserving each page's aspect ratio; pinch zoom may
|
|
105
|
+
enlarge it. Defaults to `false`. This option is only supported by the React
|
|
106
|
+
Native compatibility renderer; it is not applied by the WebView or dedicated
|
|
107
|
+
Android PDF renderer.
|
|
100
108
|
- `maxToRenderPerBatch` (`Viewer`): max items per render batch. Default: `6`.
|
|
101
109
|
- `removeClippedSubviews` (`Viewer`): detach offscreen rows. Default: `false`
|
|
102
110
|
for Android `viewerMode="compat"` and `true` otherwise. An explicit value is
|
package/dist/index.d.mts
CHANGED
|
@@ -6,12 +6,30 @@ import { StyleProp, ViewStyle } from 'react-native';
|
|
|
6
6
|
|
|
7
7
|
interface ViewerProps {
|
|
8
8
|
engine: DocumentEngine;
|
|
9
|
+
/** Maximum page width at fit zoom, in React Native points; pinch zoom may enlarge it. */
|
|
10
|
+
maxPageWidth?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Fit each page's aspect ratio within the measured viewer height at fit zoom.
|
|
13
|
+
* Supported by the React Native compatibility renderer; not applied by the
|
|
14
|
+
* WebView or dedicated Android PDF renderer.
|
|
15
|
+
*/
|
|
16
|
+
fitPageToViewportHeight?: boolean;
|
|
9
17
|
virtualWindowSize?: number;
|
|
10
18
|
maxToRenderPerBatch?: number;
|
|
11
19
|
removeClippedSubviews?: boolean;
|
|
12
20
|
useDedicatedAndroidPdfViewer?: boolean;
|
|
13
21
|
viewerMode?: PdfViewerMode;
|
|
14
22
|
pageScrubActive?: boolean;
|
|
23
|
+
/** Called when the native iOS PDF viewer selects non-empty text. */
|
|
24
|
+
onTextSelected?: (payload: {
|
|
25
|
+
text: string;
|
|
26
|
+
pageIndex: number;
|
|
27
|
+
}) => void;
|
|
28
|
+
/** Called when the reader's Define action is pressed for the current selection. */
|
|
29
|
+
onDefineSelection?: (payload: {
|
|
30
|
+
text: string;
|
|
31
|
+
pageIndex: number;
|
|
32
|
+
}) => void;
|
|
15
33
|
}
|
|
16
34
|
declare const Viewer: React.FC<ViewerProps>;
|
|
17
35
|
|
|
@@ -50,6 +68,8 @@ interface PageRendererProps {
|
|
|
50
68
|
pageAspectRatio?: number;
|
|
51
69
|
PageViewComponent?: PageViewComponentType;
|
|
52
70
|
availableWidth?: number;
|
|
71
|
+
maxPageWidth?: number;
|
|
72
|
+
maxPageHeight?: number;
|
|
53
73
|
pageViewportWidth?: number;
|
|
54
74
|
horizontalPadding?: number;
|
|
55
75
|
spacing?: number;
|
|
@@ -131,10 +151,19 @@ type ReadingShellProps = {
|
|
|
131
151
|
};
|
|
132
152
|
declare function ReadingShell({ engine, title, documentType, thumbsInitialCount, viewerProps, }: ReadingShellProps): react_jsx_runtime.JSX.Element;
|
|
133
153
|
|
|
134
|
-
type
|
|
154
|
+
type NativePdfDocumentViewerProps = {
|
|
135
155
|
engine: DocumentEngine;
|
|
156
|
+
maxPageWidth?: number;
|
|
157
|
+
onTextSelected?: (payload: {
|
|
158
|
+
text: string;
|
|
159
|
+
pageIndex: number;
|
|
160
|
+
}) => void;
|
|
161
|
+
onDefineSelection?: (payload: {
|
|
162
|
+
text: string;
|
|
163
|
+
pageIndex: number;
|
|
164
|
+
}) => void;
|
|
136
165
|
};
|
|
137
|
-
declare function
|
|
166
|
+
declare function NativePdfDocumentViewer({ engine, maxPageWidth, onTextSelected, onDefineSelection, }: NativePdfDocumentViewerProps): react_jsx_runtime.JSX.Element;
|
|
138
167
|
|
|
139
168
|
type OverflowSheetProps = {
|
|
140
169
|
visible: boolean;
|
|
@@ -216,4 +245,4 @@ declare const IconUnderline: React.FC<IconProps>;
|
|
|
216
245
|
declare const IconMessageSquareQuote: React.FC<IconProps>;
|
|
217
246
|
declare const IconQuote: React.FC<IconProps>;
|
|
218
247
|
|
|
219
|
-
export { AnnotationEditor, BottomBar, CoverPreview, DocumentActionsSheet, IconCopy, IconMessageSquareQuote, IconPageNav, IconPencilLine, IconQuote, IconUnderline, InfoSheet, MOBILE_CHROME_METRICS, MobilePerfProvider,
|
|
248
|
+
export { AnnotationEditor, BottomBar, CoverPreview, DocumentActionsSheet, IconCopy, IconMessageSquareQuote, IconPageNav, IconPencilLine, IconQuote, IconUnderline, InfoSheet, MOBILE_CHROME_METRICS, MobilePerfProvider, NativePdfDocumentViewer, OverflowSheet, _default as PageRenderer, ProgressPill, ReadingShell, RightSheet, SearchOverlay, SearchResultsSheet, SettingsSheet, ToolDock, Topbar, Viewer, type ViewerProps, createPerfSession, createRunId, useMobilePerf };
|
package/dist/index.d.ts
CHANGED
|
@@ -6,12 +6,30 @@ import { StyleProp, ViewStyle } from 'react-native';
|
|
|
6
6
|
|
|
7
7
|
interface ViewerProps {
|
|
8
8
|
engine: DocumentEngine;
|
|
9
|
+
/** Maximum page width at fit zoom, in React Native points; pinch zoom may enlarge it. */
|
|
10
|
+
maxPageWidth?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Fit each page's aspect ratio within the measured viewer height at fit zoom.
|
|
13
|
+
* Supported by the React Native compatibility renderer; not applied by the
|
|
14
|
+
* WebView or dedicated Android PDF renderer.
|
|
15
|
+
*/
|
|
16
|
+
fitPageToViewportHeight?: boolean;
|
|
9
17
|
virtualWindowSize?: number;
|
|
10
18
|
maxToRenderPerBatch?: number;
|
|
11
19
|
removeClippedSubviews?: boolean;
|
|
12
20
|
useDedicatedAndroidPdfViewer?: boolean;
|
|
13
21
|
viewerMode?: PdfViewerMode;
|
|
14
22
|
pageScrubActive?: boolean;
|
|
23
|
+
/** Called when the native iOS PDF viewer selects non-empty text. */
|
|
24
|
+
onTextSelected?: (payload: {
|
|
25
|
+
text: string;
|
|
26
|
+
pageIndex: number;
|
|
27
|
+
}) => void;
|
|
28
|
+
/** Called when the reader's Define action is pressed for the current selection. */
|
|
29
|
+
onDefineSelection?: (payload: {
|
|
30
|
+
text: string;
|
|
31
|
+
pageIndex: number;
|
|
32
|
+
}) => void;
|
|
15
33
|
}
|
|
16
34
|
declare const Viewer: React.FC<ViewerProps>;
|
|
17
35
|
|
|
@@ -50,6 +68,8 @@ interface PageRendererProps {
|
|
|
50
68
|
pageAspectRatio?: number;
|
|
51
69
|
PageViewComponent?: PageViewComponentType;
|
|
52
70
|
availableWidth?: number;
|
|
71
|
+
maxPageWidth?: number;
|
|
72
|
+
maxPageHeight?: number;
|
|
53
73
|
pageViewportWidth?: number;
|
|
54
74
|
horizontalPadding?: number;
|
|
55
75
|
spacing?: number;
|
|
@@ -131,10 +151,19 @@ type ReadingShellProps = {
|
|
|
131
151
|
};
|
|
132
152
|
declare function ReadingShell({ engine, title, documentType, thumbsInitialCount, viewerProps, }: ReadingShellProps): react_jsx_runtime.JSX.Element;
|
|
133
153
|
|
|
134
|
-
type
|
|
154
|
+
type NativePdfDocumentViewerProps = {
|
|
135
155
|
engine: DocumentEngine;
|
|
156
|
+
maxPageWidth?: number;
|
|
157
|
+
onTextSelected?: (payload: {
|
|
158
|
+
text: string;
|
|
159
|
+
pageIndex: number;
|
|
160
|
+
}) => void;
|
|
161
|
+
onDefineSelection?: (payload: {
|
|
162
|
+
text: string;
|
|
163
|
+
pageIndex: number;
|
|
164
|
+
}) => void;
|
|
136
165
|
};
|
|
137
|
-
declare function
|
|
166
|
+
declare function NativePdfDocumentViewer({ engine, maxPageWidth, onTextSelected, onDefineSelection, }: NativePdfDocumentViewerProps): react_jsx_runtime.JSX.Element;
|
|
138
167
|
|
|
139
168
|
type OverflowSheetProps = {
|
|
140
169
|
visible: boolean;
|
|
@@ -216,4 +245,4 @@ declare const IconUnderline: React.FC<IconProps>;
|
|
|
216
245
|
declare const IconMessageSquareQuote: React.FC<IconProps>;
|
|
217
246
|
declare const IconQuote: React.FC<IconProps>;
|
|
218
247
|
|
|
219
|
-
export { AnnotationEditor, BottomBar, CoverPreview, DocumentActionsSheet, IconCopy, IconMessageSquareQuote, IconPageNav, IconPencilLine, IconQuote, IconUnderline, InfoSheet, MOBILE_CHROME_METRICS, MobilePerfProvider,
|
|
248
|
+
export { AnnotationEditor, BottomBar, CoverPreview, DocumentActionsSheet, IconCopy, IconMessageSquareQuote, IconPageNav, IconPencilLine, IconQuote, IconUnderline, InfoSheet, MOBILE_CHROME_METRICS, MobilePerfProvider, NativePdfDocumentViewer, OverflowSheet, _default as PageRenderer, ProgressPill, ReadingShell, RightSheet, SearchOverlay, SearchResultsSheet, SettingsSheet, ToolDock, Topbar, Viewer, type ViewerProps, createPerfSession, createRunId, useMobilePerf };
|