@pdf-viewer/react 1.9.1-rc.1 → 1.9.1-rc.10
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/dist/ToolbarLayout.module-cbc8e216.js +3346 -0
- package/dist/ZoomTool.module-6c5eabbb.js +12 -0
- package/dist/assets/ToolbarLayout.css +1 -1
- package/dist/assets/ZoomTool.css +1 -0
- package/dist/components/RPController.js +56 -52
- package/dist/components/RPPages.js +8 -2
- package/dist/components/layout/LayoutContainer.js +7 -2
- package/dist/components/layout/RPDefaultLayout.js +1 -1
- package/dist/components/layout/RPLayout.js +8 -3
- package/dist/components/layout/sidebar/RPSidebar.js +1 -1
- package/dist/components/layout/sidebar/Thumbnail.js +7 -2
- package/dist/components/layout/sidebar/Thumbnails.js +2 -2
- package/dist/components/layout/toolbar/DocumentDialog.js +7 -2
- package/dist/components/layout/toolbar/FileDownloadTool.js +1 -1
- package/dist/components/layout/toolbar/MostPageTool.js +7 -2
- package/dist/components/layout/toolbar/OtherTool.js +2 -2
- package/dist/components/layout/toolbar/Paginate.js +2 -2
- package/dist/components/layout/toolbar/PrintTool.js +2 -2
- package/dist/components/layout/toolbar/RPToolbar.js +3 -2
- package/dist/components/layout/toolbar/RPToolbarEnd.js +1 -1
- package/dist/components/layout/toolbar/SearchResultNavigator.js +1 -1
- package/dist/components/layout/toolbar/SearchTool.js +7 -2
- package/dist/components/layout/toolbar/ThumbnailTool.js +1 -1
- package/dist/components/layout/toolbar/ToolbarCustom.js +12 -7
- package/dist/components/layout/toolbar/ToolbarDefault.js +11 -6
- package/dist/components/layout/toolbar/ZoomTool.js +128 -22
- package/dist/components/layout/toolbar/tools/FileDownloadTool.js +1 -1
- package/dist/components/layout/toolbar/tools/InputPageTool.js +1 -1
- package/dist/components/layout/toolbar/tools/NextPageTool.js +8 -3
- package/dist/components/layout/toolbar/tools/PreviousPageTool.js +1 -1
- package/dist/components/layout/toolbar/tools/PrintTool.js +1 -1
- package/dist/components/layout/toolbar/tools/ThumbnailTool.js +1 -1
- package/dist/components/layout/toolbar/tools/ZoomInTool.js +10 -10
- package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +7 -6
- package/dist/components/layout/toolbar/tools/ZoomOutTool.js +9 -9
- package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +19 -13
- package/dist/components/page/AnnotationLayer.js +7 -2
- package/dist/components/page/CanvasLayer.js +7 -2
- package/dist/components/page/CustomElement.js +20 -4
- package/dist/components/page/DualPage.js +1 -1
- package/dist/components/page/RPPage.js +8 -2
- package/dist/components/page/SinglePage.js +1 -1
- package/dist/components/page/TextHighlightLayer.js +7 -2
- package/dist/components/page/TextLayer.js +7 -2
- package/dist/components/ui/LoadingIndicator.js +1 -1
- package/dist/contexts/DimensionPagesContext.js +40 -9
- package/dist/contexts/ElementPageContext.js +74 -10
- package/dist/contexts/GlobalCurrentPage.js +16 -0
- package/dist/contexts/PaginationContext.js +5 -4
- package/dist/contexts/PrintContext.js +1 -1
- package/dist/contexts/RPDocumentContext.js +31 -29
- package/dist/contexts/RenderQueueProvider.js +1 -1
- package/dist/contexts/SearchContext.js +3 -3
- package/dist/contexts/ThumbnailsContext.js +1 -1
- package/dist/contexts/ZoomContext.js +92 -15
- package/dist/main.js +64 -62
- package/dist/types/contexts/GlobalCurrentPage.d.ts +11 -0
- package/dist/types/utils/hooks/useLoadPdf.d.ts +2 -1
- package/dist/types/utils/types.d.ts +5 -1
- package/dist/utils/getZoomLevel.js +9 -9
- package/dist/utils/hooks/useFileDownload.js +7 -2
- package/dist/utils/hooks/useLicense.js +1 -1
- package/dist/utils/hooks/useLoadPdf.js +64 -57
- package/dist/utils/hooks/usePaginate.js +7 -2
- package/dist/utils/hooks/usePinch.js +77 -4
- package/dist/utils/hooks/usePresentPage.js +7 -2
- package/dist/utils/hooks/usePrint.js +7 -2
- package/dist/utils/hooks/useScrollToPage.js +7 -2
- package/dist/utils/hooks/useSearch.js +7 -2
- package/dist/utils/hooks/useThumbnail.js +7 -2
- package/dist/utils/hooks/useVirtualReactWindow.js +7 -2
- package/dist/utils/types.js +10 -9
- package/package.json +1 -1
- package/dist/ToolbarLayout.module-231e1237.js +0 -3671
|
@@ -1,17 +1,94 @@
|
|
|
1
|
-
import "react/jsx-runtime";
|
|
2
|
-
import "react";
|
|
3
|
-
import "../utils/types.js";
|
|
4
|
-
import "../utils/appConsole.js";
|
|
5
|
-
import "./InitialStateContext.js";
|
|
6
|
-
import "./RPDocumentContext.js";
|
|
7
|
-
import "../utils/constants.js";
|
|
8
|
-
import "../utils/getZoomLevel.js";
|
|
9
|
-
import "./LayoutContainerContext.js";
|
|
10
|
-
import "./ViewModeContext.js";
|
|
11
|
-
import "./RotationContext.js";
|
|
12
|
-
import {
|
|
1
|
+
import { jsx as A } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as I, useContext as M, useState as u, useRef as O, useEffect as p, useCallback as Z, useMemo as x } from "react";
|
|
3
|
+
import { ZoomLevel as R } from "../utils/types.js";
|
|
4
|
+
import { appConsole as J } from "../utils/appConsole.js";
|
|
5
|
+
import { useInitialStateContext as _ } from "./InitialStateContext.js";
|
|
6
|
+
import { useDocumentContext as j } from "./RPDocumentContext.js";
|
|
7
|
+
import { PAGE_PADDING as F } from "../utils/constants.js";
|
|
8
|
+
import { getZoomLevel as C } from "../utils/getZoomLevel.js";
|
|
9
|
+
import { useLayoutContainer as T } from "./LayoutContainerContext.js";
|
|
10
|
+
import { useViewModeContext as k } from "./ViewModeContext.js";
|
|
11
|
+
import { useRotationContext as q } from "./RotationContext.js";
|
|
12
|
+
import { useGlobalCurrentPage as B } from "./GlobalCurrentPage.js";
|
|
13
|
+
import { useDebounce as K } from "../utils/hooks/useDebounce.js";
|
|
14
|
+
const D = I({
|
|
15
|
+
zoomLevel: 100,
|
|
16
|
+
currentZoom: 1,
|
|
17
|
+
setZoomLevel: () => {
|
|
18
|
+
}
|
|
19
|
+
}), me = () => {
|
|
20
|
+
const c = M(D);
|
|
21
|
+
return typeof c.currentZoom != "number" && J.warn("Please use this hooks inside children component of RPProvider"), c;
|
|
22
|
+
}, ue = ({ children: c }) => {
|
|
23
|
+
const { initialScale: W = R.PAGE_FIT } = _(), [n, b] = u(W), { pages: l } = j(), { pagesRef: t } = T(), { viewMode: h } = k(), [H, V] = u({
|
|
24
|
+
width: (t == null ? void 0 : t.clientWidth) || 0,
|
|
25
|
+
height: (t == null ? void 0 : t.clientHeight) || 0
|
|
26
|
+
}), a = K(H, 100), { rotate: g } = q(), [i, z] = u(null), d = O(null), { currentPage: v } = B(), [w, y] = u(v);
|
|
27
|
+
p(() => {
|
|
28
|
+
let e = l.get(w);
|
|
29
|
+
e || (e = l.get(1));
|
|
30
|
+
const o = e == null ? void 0 : e.page.getViewport({
|
|
31
|
+
scale: 1,
|
|
32
|
+
rotation: e.defaultRotation + g
|
|
33
|
+
});
|
|
34
|
+
o && JSON.stringify(o) !== JSON.stringify(d.current) && (d.current = o, z(o));
|
|
35
|
+
}, [l, g, w]);
|
|
36
|
+
const m = Z(() => {
|
|
37
|
+
if (!i)
|
|
38
|
+
return null;
|
|
39
|
+
const e = ((i == null ? void 0 : i.width) || 0) + 2 * F, o = (i == null ? void 0 : i.height) || 0, r = (t == null ? void 0 : t.clientWidth) || 0, s = (t == null ? void 0 : t.clientHeight) || 0;
|
|
40
|
+
return { pageWidth: e, pageHeight: o, clientWidth: r, clientHeight: s };
|
|
41
|
+
}, [i, t]), L = x(() => {
|
|
42
|
+
const e = m();
|
|
43
|
+
if (!a.width || !a.height || !e)
|
|
44
|
+
return 0;
|
|
45
|
+
if (typeof n == "number")
|
|
46
|
+
return n / 100;
|
|
47
|
+
const { clientWidth: o, clientHeight: r, pageWidth: s, pageHeight: f } = e;
|
|
48
|
+
return C(n, o, r, s, f, h) / 100;
|
|
49
|
+
}, [n, a, m, h]);
|
|
50
|
+
p(() => {
|
|
51
|
+
y(v);
|
|
52
|
+
}, [n]), p(() => {
|
|
53
|
+
const e = (r) => {
|
|
54
|
+
r.forEach((s) => {
|
|
55
|
+
V({ width: s.contentRect.width, height: s.contentRect.height });
|
|
56
|
+
});
|
|
57
|
+
}, o = new ResizeObserver(e);
|
|
58
|
+
return t && o.observe(t), () => {
|
|
59
|
+
o.disconnect();
|
|
60
|
+
};
|
|
61
|
+
}, [t]);
|
|
62
|
+
const N = Z(
|
|
63
|
+
(e) => {
|
|
64
|
+
let o = 0;
|
|
65
|
+
if (typeof e == "function") {
|
|
66
|
+
const r = m();
|
|
67
|
+
if (!r)
|
|
68
|
+
return;
|
|
69
|
+
const { clientWidth: s, clientHeight: f, pageWidth: P, pageHeight: E } = r, G = C(
|
|
70
|
+
n,
|
|
71
|
+
s,
|
|
72
|
+
f,
|
|
73
|
+
P,
|
|
74
|
+
E,
|
|
75
|
+
h
|
|
76
|
+
);
|
|
77
|
+
o = e(G);
|
|
78
|
+
} else
|
|
79
|
+
o = e;
|
|
80
|
+
o && b(o);
|
|
81
|
+
},
|
|
82
|
+
[m]
|
|
83
|
+
), S = x(() => ({
|
|
84
|
+
zoomLevel: n,
|
|
85
|
+
currentZoom: L,
|
|
86
|
+
setZoomLevel: N
|
|
87
|
+
}), [L, n]);
|
|
88
|
+
return /* @__PURE__ */ A(D.Provider, { value: S, children: c });
|
|
89
|
+
};
|
|
13
90
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
91
|
+
D as ZoomContext,
|
|
92
|
+
ue as ZoomProvider,
|
|
93
|
+
me as useZoomContext
|
|
17
94
|
};
|
package/dist/main.js
CHANGED
|
@@ -1,78 +1,80 @@
|
|
|
1
1
|
import { RPProvider as r } from "./components/RPProvider.js";
|
|
2
|
-
import { a as x, R as m, S as l,
|
|
3
|
-
import { RPConfig as
|
|
4
|
-
import { RPLayout as
|
|
5
|
-
import { RPController as
|
|
6
|
-
import { RPTheme as
|
|
7
|
-
import { RPDropFileZone as
|
|
8
|
-
import { useDarkModeContext as
|
|
9
|
-
import { useDocumentContext as
|
|
10
|
-
import { useRotationContext as
|
|
11
|
-
import { useViewModeContext as
|
|
12
|
-
import { useDropFileZoneContext as
|
|
13
|
-
import { useOpenFileContext as
|
|
2
|
+
import { a as x, R as m, S as l, b as p, u as f, c as a, d as n } from "./ToolbarLayout.module-cbc8e216.js";
|
|
3
|
+
import { RPConfig as u } from "./components/RPConfig.js";
|
|
4
|
+
import { RPLayout as P } from "./components/layout/RPLayout.js";
|
|
5
|
+
import { RPController as C } from "./components/RPController.js";
|
|
6
|
+
import { RPTheme as c } from "./components/RPTheme.js";
|
|
7
|
+
import { RPDropFileZone as g } from "./components/RPDropFileZone.js";
|
|
8
|
+
import { useDarkModeContext as F } from "./contexts/DarkModeContext.js";
|
|
9
|
+
import { useDocumentContext as S } from "./contexts/RPDocumentContext.js";
|
|
10
|
+
import { useRotationContext as w } from "./contexts/RotationContext.js";
|
|
11
|
+
import { useViewModeContext as v } from "./contexts/ViewModeContext.js";
|
|
12
|
+
import { useDropFileZoneContext as V } from "./contexts/DropFileZoneContext.js";
|
|
13
|
+
import { useOpenFileContext as y } from "./contexts/FileInputContext.js";
|
|
14
|
+
import { useZoomContext as H } from "./contexts/ZoomContext.js";
|
|
14
15
|
import { useHighlightContext as O } from "./contexts/HighlightContext.js";
|
|
15
16
|
import { usePdfProperties as z } from "./utils/hooks/usePdfProperties.js";
|
|
16
17
|
import { useFullScreenContext as N } from "./contexts/FullScreenContext.js";
|
|
17
18
|
import { usePageRotateContext as j } from "./utils/hooks/usePageRotateContext.js";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
19
|
+
import { useElementPageContext as A } from "./contexts/ElementPageContext.js";
|
|
20
|
+
import { ThemeSwitcherTool as J } from "./components/layout/toolbar/tools/ThemeSwitcherTool.js";
|
|
21
|
+
import { ThumbnailTool as Q } from "./components/layout/toolbar/tools/ThumbnailTool.js";
|
|
22
|
+
import { FileUploadTool as X } from "./components/layout/toolbar/tools/FileUploadTool.js";
|
|
23
|
+
import { FileDownloadTool as _ } from "./components/layout/toolbar/tools/FileDownloadTool.js";
|
|
24
|
+
import { PrintTool as oo } from "./components/layout/toolbar/tools/PrintTool.js";
|
|
25
|
+
import { FullScreenTool as ro } from "./components/layout/toolbar/tools/FullScreenTool.js";
|
|
26
|
+
import { PreviousPageTool as xo } from "./components/layout/toolbar/tools/PreviousPageTool.js";
|
|
27
|
+
import { NextPageTool as lo } from "./components/layout/toolbar/tools/NextPageTool.js";
|
|
28
|
+
import { InputPageTool as fo } from "./components/layout/toolbar/tools/InputPageTool.js";
|
|
29
|
+
import { ZoomInTool as no } from "./components/layout/toolbar/tools/ZoomInTool.js";
|
|
30
|
+
import { ZoomOutTool as uo } from "./components/layout/toolbar/tools/ZoomOutTool.js";
|
|
31
|
+
import { ZoomLevelTool as Po } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
|
|
32
|
+
import { RPHorizontalBar as Co } from "./components/layout/toolbar/tools/defaults/RPHorizontalBar.js";
|
|
33
|
+
import { RPVerticalBar as co } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
|
|
34
|
+
import { Locales as ho, ScrollMode as Fo, ThemeVariables as Do, ViewMode as So, ZoomLevel as Zo } from "./utils/types.js";
|
|
33
35
|
export {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
36
|
+
_ as FileDownloadTool,
|
|
37
|
+
X as FileUploadTool,
|
|
38
|
+
ro as FullScreenTool,
|
|
39
|
+
fo as InputPageTool,
|
|
40
|
+
ho as Locales,
|
|
41
|
+
lo as NextPageTool,
|
|
42
|
+
xo as PreviousPageTool,
|
|
43
|
+
oo as PrintTool,
|
|
44
|
+
u as RPConfig,
|
|
45
|
+
C as RPController,
|
|
44
46
|
x as RPDefaultLayout,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
g as RPDropFileZone,
|
|
48
|
+
Co as RPHorizontalBar,
|
|
49
|
+
P as RPLayout,
|
|
48
50
|
m as RPPages,
|
|
49
51
|
r as RPProvider,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
c as RPTheme,
|
|
53
|
+
co as RPVerticalBar,
|
|
54
|
+
Fo as ScrollMode,
|
|
53
55
|
l as SearchTool,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
56
|
+
J as ThemeSwitcherTool,
|
|
57
|
+
Do as ThemeVariables,
|
|
58
|
+
Q as ThumbnailTool,
|
|
59
|
+
So as ViewMode,
|
|
60
|
+
no as ZoomInTool,
|
|
61
|
+
Zo as ZoomLevel,
|
|
62
|
+
Po as ZoomLevelTool,
|
|
63
|
+
uo as ZoomOutTool,
|
|
64
|
+
F as useDarkModeContext,
|
|
65
|
+
S as useDocumentContext,
|
|
66
|
+
V as useDropFileZoneContext,
|
|
67
|
+
A as useElementPageContext,
|
|
68
|
+
p as useFileDownload,
|
|
67
69
|
N as useFullScreenContext,
|
|
68
70
|
O as useHighlightContext,
|
|
69
|
-
|
|
71
|
+
y as useOpenFileContext,
|
|
70
72
|
j as usePageRotateContext,
|
|
71
73
|
f as usePaginationContext,
|
|
72
74
|
z as usePdfProperties,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
a as usePrintContext,
|
|
76
|
+
w as useRotationContext,
|
|
77
|
+
n as useSearchContext,
|
|
78
|
+
v as useViewModeContext,
|
|
79
|
+
H as useZoomContext
|
|
78
80
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const GlobalCurrentPage: import('react').Context<{
|
|
2
|
+
currentPage: number;
|
|
3
|
+
setCurrentPage: (page: number) => void;
|
|
4
|
+
}>;
|
|
5
|
+
export declare const useGlobalCurrentPage: () => {
|
|
6
|
+
currentPage: number;
|
|
7
|
+
setCurrentPage: (page: number) => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const GlobalCurrentPageProvider: ({ children }: {
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api.js';
|
|
2
|
-
import { PdfPage, RPSrc, CharacterMap, LoadPDFOptions } from '../types';
|
|
2
|
+
import { PdfPage, RPSrc, CharacterMap, LoadPDFOptions, ErrorType } from '../types';
|
|
3
3
|
export declare const useLoadPdf: (src?: RPSrc, characterMap?: CharacterMap, options?: LoadPDFOptions) => {
|
|
4
4
|
pdf: PDFDocumentProxy | undefined;
|
|
5
5
|
pages: Map<number, PdfPage>;
|
|
6
6
|
loading: boolean;
|
|
7
|
+
error: ErrorType | undefined;
|
|
7
8
|
loadingProgress: number;
|
|
8
9
|
passwordRequired: boolean | undefined;
|
|
9
10
|
passwordError: string | undefined;
|
|
@@ -12,6 +12,7 @@ export interface DocumentContextType {
|
|
|
12
12
|
filename?: string | null;
|
|
13
13
|
loading: boolean;
|
|
14
14
|
loaderProgress: number;
|
|
15
|
+
error: ErrorType | unknown;
|
|
15
16
|
}
|
|
16
17
|
export declare enum AnnotationSubType {
|
|
17
18
|
Text = 1,
|
|
@@ -44,6 +45,9 @@ export declare enum AnnotationType {
|
|
|
44
45
|
FORM_BUTTON = "form-button",
|
|
45
46
|
BUTTON = "button"
|
|
46
47
|
}
|
|
48
|
+
export declare enum ErrorType {
|
|
49
|
+
NOT_SUPPORTED = "not-supported"
|
|
50
|
+
}
|
|
47
51
|
export interface AnnotationEventPayload {
|
|
48
52
|
type: AnnotationType;
|
|
49
53
|
data: any;
|
|
@@ -493,7 +497,7 @@ export interface DimensionPagesContextType {
|
|
|
493
497
|
export interface ZoomContextType {
|
|
494
498
|
zoomLevel: number | ZoomLevel;
|
|
495
499
|
currentZoom: number;
|
|
496
|
-
setZoomLevel:
|
|
500
|
+
setZoomLevel: (callback: number | ZoomLevel | ((prev: number) => number | ZoomLevel)) => void;
|
|
497
501
|
}
|
|
498
502
|
export type ZoomProps = Omit<ZoomContextType, 'currentZoom'>;
|
|
499
503
|
export type InitialStateContextType = {
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { SCROLL_BAR_WIDTH as
|
|
1
|
+
import { SCROLL_BAR_WIDTH as a } from "./constants.js";
|
|
2
2
|
import { ViewMode as u, ZoomLevel as r } from "./types.js";
|
|
3
|
-
const
|
|
3
|
+
const Z = (o, t, m, e, c, s) => {
|
|
4
4
|
if (typeof o == "number")
|
|
5
5
|
return o;
|
|
6
|
-
const n =
|
|
6
|
+
const n = s === u.DUAL_PAGE ? 2 * e : e;
|
|
7
7
|
switch (o) {
|
|
8
8
|
case r.PAGE_FIT:
|
|
9
|
-
const
|
|
10
|
-
(t -
|
|
11
|
-
|
|
9
|
+
const f = Math.min(
|
|
10
|
+
(t - a) / n,
|
|
11
|
+
m / c
|
|
12
12
|
);
|
|
13
|
-
return Math.floor(
|
|
13
|
+
return Math.floor(f * 100);
|
|
14
14
|
case r.PAGE_WIDTH:
|
|
15
|
-
return Math.floor(t / n * 100);
|
|
15
|
+
return Math.floor((t - a) / n * 100);
|
|
16
16
|
case r.ACTUAL:
|
|
17
17
|
default:
|
|
18
18
|
return 100;
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
export {
|
|
22
|
-
|
|
22
|
+
Z as getZoomLevel
|
|
23
23
|
};
|
|
@@ -2,10 +2,11 @@ import "react/jsx-runtime";
|
|
|
2
2
|
import "react";
|
|
3
3
|
import "../../contexts/RPDocumentContext.js";
|
|
4
4
|
import "../../contexts/DocumentPasswordContext.js";
|
|
5
|
-
import { b as
|
|
5
|
+
import { b as oo } from "../../ToolbarLayout.module-cbc8e216.js";
|
|
6
6
|
import "../../contexts/DarkModeContext.js";
|
|
7
7
|
import "../../contexts/RotationContext.js";
|
|
8
8
|
import "../../contexts/LayerContext.js";
|
|
9
|
+
import "../../contexts/ZoomContext.js";
|
|
9
10
|
import "../../contexts/ViewModeContext.js";
|
|
10
11
|
import "../../contexts/ScrollModeContext.js";
|
|
11
12
|
import "../../contexts/VirtualScrollContext.js";
|
|
@@ -16,12 +17,15 @@ import "../../contexts/FullScreenContext.js";
|
|
|
16
17
|
import "../../contexts/FileInputContext.js";
|
|
17
18
|
import "../../contexts/DropFileZoneContext.js";
|
|
18
19
|
import "../../contexts/LayoutContainerContext.js";
|
|
20
|
+
import "../../contexts/DimensionPagesContext.js";
|
|
19
21
|
import "../../contexts/LocalizationContext.js";
|
|
20
22
|
import "../../contexts/HighlightContext.js";
|
|
21
23
|
import "../../contexts/LicenseContext.js";
|
|
22
24
|
import "../../contexts/DownloadContext.js";
|
|
23
25
|
import "../../contexts/SmoothScrollContext.js";
|
|
26
|
+
import "../../contexts/ElementPageContext.js";
|
|
24
27
|
import "../../contexts/PagesRotateContext.js";
|
|
28
|
+
import "../../contexts/GlobalCurrentPage.js";
|
|
25
29
|
import "../../contexts/LoaderContext.js";
|
|
26
30
|
import "../../contexts/ToolComponentContext.js";
|
|
27
31
|
import "../../contexts/IconToolContext.js";
|
|
@@ -41,11 +45,12 @@ import "../../components/icons/LoaderIcon.js";
|
|
|
41
45
|
import "../../contexts/IconContext.js";
|
|
42
46
|
import "../../components/ui/RPTooltip.js";
|
|
43
47
|
import "../../components/ui/DropDown.js";
|
|
48
|
+
import "../../ZoomTool.module-6c5eabbb.js";
|
|
44
49
|
import "../../components/layout/toolbar/MenuItem.js";
|
|
45
50
|
import "../../components/layout/toolbar/MenuSeparator.js";
|
|
46
51
|
import "../dateFormatter.js";
|
|
47
52
|
import "../../components/layout/toolbar/PropertyItem.js";
|
|
48
53
|
import "../../components/layout/toolbar/RotateTool.js";
|
|
49
54
|
export {
|
|
50
|
-
|
|
55
|
+
oo as useFileDownload
|
|
51
56
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState as E, useCallback as h, useEffect as A } from "react";
|
|
2
2
|
import { appConsole as l } from "../appConsole.js";
|
|
3
|
-
const b = /* @__PURE__ */ new Date("2025-
|
|
3
|
+
const b = /* @__PURE__ */ new Date("2025-10-03T03:57:13.618Z"), d = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
|
|
4
4
|
invalidLicense: `You are currently using without a valid license. ${d}`,
|
|
5
5
|
mismatchedDomain: `Your license key is not valid for the current domain / IP. ${d}`,
|
|
6
6
|
expired: `Your license key has expired. ${d}`,
|
|
@@ -1,70 +1,77 @@
|
|
|
1
|
-
import { useState as
|
|
2
|
-
import * as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { useState as a, useRef as N, useEffect as k } from "react";
|
|
2
|
+
import * as x from "pdfjs-dist";
|
|
3
|
+
import { ErrorType as O } from "../types.js";
|
|
4
|
+
import { getThumbnailViewport as U } from "../getThumbnailViewport.js";
|
|
5
|
+
import { useConfigContext as h } from "../../contexts/ConfigContext.js";
|
|
6
|
+
import { useDocumentPasswordContext as j } from "../../contexts/DocumentPasswordContext.js";
|
|
7
|
+
const G = (f, s, V = {}) => {
|
|
8
|
+
const [n, C] = a(), { workerUrlAdded: y } = h(), [I, L] = a(/* @__PURE__ */ new Map()), d = N(), [S, m] = a(0), [P, T] = a(!1), [q, v] = a(), { password: u, passwordError: D, setPasswordError: c, passwordRequired: g, setPasswordRequired: p } = j(), { onLoadError: i, onLoaded: w } = V;
|
|
9
|
+
return k(() => {
|
|
10
|
+
if (!y || !f)
|
|
10
11
|
return;
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
url:
|
|
14
|
-
cMapPacked: (
|
|
15
|
-
...(
|
|
16
|
-
...
|
|
17
|
-
verbosity:
|
|
18
|
-
}, n = V.getDocument(E);
|
|
19
|
-
n.onProgress = (o) => {
|
|
20
|
-
if (t === i.current) {
|
|
21
|
-
const { loaded: b, total: a } = o, R = a ? Math.min(100, Math.round(b / a * 100)) : 0;
|
|
22
|
-
f(R);
|
|
23
|
-
}
|
|
24
|
-
}, x(!0);
|
|
25
|
-
const s = n.promise.then((o) => (t === i.current && (I(o), f(100)), w && w(o), c(!1), g(""), o)).catch((o) => {
|
|
26
|
-
o instanceof Error && o.name === "PasswordException" ? (c(!0), g(o.message || "Password required")) : o instanceof Error && o.name === "InvalidPDFException" && d ? (c(!0), g("Incorrect password")) : p && p(o);
|
|
27
|
-
}).finally(() => {
|
|
28
|
-
x(!1);
|
|
29
|
-
});
|
|
30
|
-
return () => {
|
|
31
|
-
s.finally(() => {
|
|
32
|
-
n.destroy();
|
|
33
|
-
});
|
|
12
|
+
m(0), d.current = Date.now();
|
|
13
|
+
const r = d.current, E = {
|
|
14
|
+
url: f,
|
|
15
|
+
cMapPacked: (s == null ? void 0 : s.isCompressed) ?? !0,
|
|
16
|
+
...(s == null ? void 0 : s.url) && { cMapUrl: s.url },
|
|
17
|
+
...u && { password: u },
|
|
18
|
+
verbosity: x.VerbosityLevel.ERRORS
|
|
34
19
|
};
|
|
35
|
-
|
|
36
|
-
|
|
20
|
+
try {
|
|
21
|
+
const e = x.getDocument(E);
|
|
22
|
+
e.onProgress = (o) => {
|
|
23
|
+
if (r === d.current) {
|
|
24
|
+
const { loaded: R, total: l } = o, b = l ? Math.min(100, Math.round(R / l * 100)) : 0;
|
|
25
|
+
m(b);
|
|
26
|
+
}
|
|
27
|
+
}, T(!0);
|
|
28
|
+
const t = e.promise.then((o) => (r === d.current && (C(o), m(100)), w && w(o), p(!1), c(""), o)).catch((o) => {
|
|
29
|
+
o instanceof Error && o.name === "PasswordException" ? (p(!0), c(o.message || "Password required")) : o instanceof Error && o.name === "InvalidPDFException" && u ? (p(!0), c("Incorrect password")) : i && i(o);
|
|
30
|
+
}).finally(() => {
|
|
31
|
+
T(!1);
|
|
32
|
+
});
|
|
33
|
+
return () => {
|
|
34
|
+
t.finally(() => {
|
|
35
|
+
e.destroy();
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
} catch (e) {
|
|
39
|
+
v(O.NOT_SUPPORTED), i && i(e);
|
|
40
|
+
}
|
|
41
|
+
}, [f, y, u, i, w]), k(() => {
|
|
42
|
+
if (g)
|
|
37
43
|
return;
|
|
38
|
-
const
|
|
39
|
-
if (!
|
|
40
|
-
|
|
44
|
+
const r = /* @__PURE__ */ new Map();
|
|
45
|
+
if (!n || P) {
|
|
46
|
+
L(r);
|
|
41
47
|
return;
|
|
42
48
|
}
|
|
43
|
-
const E =
|
|
44
|
-
for (let
|
|
45
|
-
const o =
|
|
46
|
-
|
|
49
|
+
const E = n.numPages, e = [];
|
|
50
|
+
for (let t = 1; t <= E; t++) {
|
|
51
|
+
const o = n.getPage(t);
|
|
52
|
+
e.push(o);
|
|
47
53
|
}
|
|
48
|
-
Promise.all(
|
|
49
|
-
|
|
50
|
-
const { thumbnailViewport:
|
|
51
|
-
|
|
54
|
+
Promise.all(e).then((t) => {
|
|
55
|
+
t.map((o) => {
|
|
56
|
+
const { thumbnailViewport: R, scale: l } = U(o), b = o.getViewport();
|
|
57
|
+
r.set(o.pageNumber, {
|
|
52
58
|
page: o,
|
|
53
|
-
thumbnailViewport:
|
|
54
|
-
thumbnailScale:
|
|
55
|
-
defaultRotation:
|
|
59
|
+
thumbnailViewport: R,
|
|
60
|
+
thumbnailScale: l,
|
|
61
|
+
defaultRotation: b.rotation
|
|
56
62
|
});
|
|
57
|
-
}),
|
|
63
|
+
}), L(r);
|
|
58
64
|
});
|
|
59
|
-
}, [
|
|
60
|
-
pdf:
|
|
61
|
-
pages:
|
|
62
|
-
loading:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
}, [n, P, g]), {
|
|
66
|
+
pdf: n,
|
|
67
|
+
pages: I,
|
|
68
|
+
loading: P,
|
|
69
|
+
error: q,
|
|
70
|
+
loadingProgress: S,
|
|
71
|
+
passwordRequired: g,
|
|
72
|
+
passwordError: D
|
|
66
73
|
};
|
|
67
74
|
};
|
|
68
75
|
export {
|
|
69
|
-
|
|
76
|
+
G as useLoadPdf
|
|
70
77
|
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import "react";
|
|
2
2
|
import "../types.js";
|
|
3
|
-
import {
|
|
3
|
+
import { r as tr } from "../../ToolbarLayout.module-cbc8e216.js";
|
|
4
4
|
import "react/jsx-runtime";
|
|
5
5
|
import "../../contexts/RPDocumentContext.js";
|
|
6
6
|
import "../../contexts/DocumentPasswordContext.js";
|
|
7
7
|
import "../../contexts/DarkModeContext.js";
|
|
8
8
|
import "../../contexts/RotationContext.js";
|
|
9
9
|
import "../../contexts/LayerContext.js";
|
|
10
|
+
import "../../contexts/ZoomContext.js";
|
|
10
11
|
import "../../contexts/ViewModeContext.js";
|
|
11
12
|
import "../../contexts/ScrollModeContext.js";
|
|
12
13
|
import "../../contexts/VirtualScrollContext.js";
|
|
@@ -17,12 +18,15 @@ import "../../contexts/FullScreenContext.js";
|
|
|
17
18
|
import "../../contexts/FileInputContext.js";
|
|
18
19
|
import "../../contexts/DropFileZoneContext.js";
|
|
19
20
|
import "../../contexts/LayoutContainerContext.js";
|
|
21
|
+
import "../../contexts/DimensionPagesContext.js";
|
|
20
22
|
import "../../contexts/LocalizationContext.js";
|
|
21
23
|
import "../../contexts/HighlightContext.js";
|
|
22
24
|
import "../../contexts/LicenseContext.js";
|
|
23
25
|
import "../../contexts/DownloadContext.js";
|
|
24
26
|
import "../../contexts/SmoothScrollContext.js";
|
|
27
|
+
import "../../contexts/ElementPageContext.js";
|
|
25
28
|
import "../../contexts/PagesRotateContext.js";
|
|
29
|
+
import "../../contexts/GlobalCurrentPage.js";
|
|
26
30
|
import "../../contexts/LoaderContext.js";
|
|
27
31
|
import "../../contexts/ToolComponentContext.js";
|
|
28
32
|
import "../../contexts/IconToolContext.js";
|
|
@@ -42,6 +46,7 @@ import "../../components/icons/LoaderIcon.js";
|
|
|
42
46
|
import "../../contexts/IconContext.js";
|
|
43
47
|
import "../../components/ui/RPTooltip.js";
|
|
44
48
|
import "../../components/ui/DropDown.js";
|
|
49
|
+
import "../../ZoomTool.module-6c5eabbb.js";
|
|
45
50
|
import "../../components/layout/toolbar/MenuItem.js";
|
|
46
51
|
import "../../components/layout/toolbar/MenuSeparator.js";
|
|
47
52
|
import "../dateFormatter.js";
|
|
@@ -49,5 +54,5 @@ import "../../components/layout/toolbar/PropertyItem.js";
|
|
|
49
54
|
import "../../components/layout/toolbar/RotateTool.js";
|
|
50
55
|
import "./useDebounce.js";
|
|
51
56
|
export {
|
|
52
|
-
|
|
57
|
+
tr as usePaginate
|
|
53
58
|
};
|