@pdf-viewer/react 1.9.1-rc.0 → 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 +20 -19
- package/dist/components/RPPages.js +4 -2
- package/dist/components/layout/LayoutContainer.js +4 -2
- package/dist/components/layout/RPDefaultLayout.js +1 -1
- package/dist/components/layout/RPLayout.js +5 -3
- package/dist/components/layout/sidebar/RPSidebar.js +1 -1
- package/dist/components/layout/sidebar/Thumbnail.js +4 -2
- package/dist/components/layout/sidebar/Thumbnails.js +1 -1
- package/dist/components/layout/toolbar/DocumentDialog.js +4 -2
- package/dist/components/layout/toolbar/FileDownloadTool.js +1 -1
- package/dist/components/layout/toolbar/MostPageTool.js +4 -2
- package/dist/components/layout/toolbar/OtherTool.js +1 -1
- 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 +2 -2
- package/dist/components/layout/toolbar/SearchResultNavigator.js +1 -1
- package/dist/components/layout/toolbar/SearchTool.js +4 -2
- package/dist/components/layout/toolbar/ThumbnailTool.js +1 -1
- package/dist/components/layout/toolbar/ToolbarCustom.js +9 -7
- package/dist/components/layout/toolbar/ToolbarDefault.js +8 -6
- package/dist/components/layout/toolbar/ZoomTool.js +128 -28
- 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 +5 -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 +13 -13
- package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +38 -64
- package/dist/components/layout/toolbar/tools/ZoomOutTool.js +18 -18
- package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +12 -9
- package/dist/components/page/AnnotationLayer.js +4 -2
- package/dist/components/page/CanvasLayer.js +4 -2
- package/dist/components/page/DualPage.js +1 -1
- package/dist/components/page/RPPage.js +4 -2
- package/dist/components/page/SinglePage.js +1 -1
- package/dist/components/page/TextHighlightLayer.js +4 -2
- package/dist/components/page/TextLayer.js +4 -2
- package/dist/components/ui/LoadingIndicator.js +1 -1
- package/dist/contexts/ElementPageContext.js +25 -20
- 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 +1 -1
- package/dist/contexts/ThumbnailsContext.js +1 -1
- package/dist/contexts/ZoomContext.js +86 -39
- package/dist/main.js +1 -1
- package/dist/{th_TH-f515b3ad.js → th_TH-d627cd51.js} +19 -19
- package/dist/types/contexts/GlobalCurrentPage.d.ts +11 -0
- package/dist/types/locales/en_US.json.d.ts +3 -3
- package/dist/types/utils/hooks/useLoadPdf.d.ts +2 -1
- package/dist/types/utils/types.d.ts +9 -5
- package/dist/utils/getZoomLevel.js +13 -12
- package/dist/utils/hooks/useFileDownload.js +4 -2
- package/dist/utils/hooks/useLicense.js +1 -1
- package/dist/utils/hooks/useLoadPdf.js +64 -57
- package/dist/utils/hooks/useLocalization.js +1 -1
- package/dist/utils/hooks/usePaginate.js +4 -2
- package/dist/utils/hooks/usePinch.js +17 -17
- package/dist/utils/hooks/usePresentPage.js +4 -2
- package/dist/utils/hooks/usePrint.js +4 -2
- package/dist/utils/hooks/useScrollToPage.js +4 -2
- package/dist/utils/hooks/useSearch.js +4 -2
- package/dist/utils/hooks/useThumbnail.js +4 -2
- package/dist/utils/hooks/useVirtualReactWindow.js +4 -2
- package/dist/utils/types.js +11 -10
- package/package.json +1 -1
- package/dist/ToolbarLayout.module-cd89d275.js +0 -3455
|
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
|
|
|
2
2
|
import "react";
|
|
3
3
|
import "../../contexts/RPDocumentContext.js";
|
|
4
4
|
import "../../contexts/DocumentPasswordContext.js";
|
|
5
|
-
import {
|
|
5
|
+
import { C as rr } from "../../ToolbarLayout.module-cbc8e216.js";
|
|
6
6
|
import "../../contexts/DarkModeContext.js";
|
|
7
7
|
import "../../contexts/RotationContext.js";
|
|
8
8
|
import "../../contexts/LayerContext.js";
|
|
@@ -25,6 +25,7 @@ import "../../contexts/DownloadContext.js";
|
|
|
25
25
|
import "../../contexts/SmoothScrollContext.js";
|
|
26
26
|
import "../../contexts/ElementPageContext.js";
|
|
27
27
|
import "../../contexts/PagesRotateContext.js";
|
|
28
|
+
import "../../contexts/GlobalCurrentPage.js";
|
|
28
29
|
import "../../contexts/LoaderContext.js";
|
|
29
30
|
import "../../contexts/ToolComponentContext.js";
|
|
30
31
|
import "../../contexts/IconToolContext.js";
|
|
@@ -44,11 +45,12 @@ import "../icons/LoaderIcon.js";
|
|
|
44
45
|
import "../../contexts/IconContext.js";
|
|
45
46
|
import "../ui/RPTooltip.js";
|
|
46
47
|
import "../ui/DropDown.js";
|
|
48
|
+
import "../../ZoomTool.module-6c5eabbb.js";
|
|
47
49
|
import "../layout/toolbar/MenuItem.js";
|
|
48
50
|
import "../layout/toolbar/MenuSeparator.js";
|
|
49
51
|
import "../../utils/dateFormatter.js";
|
|
50
52
|
import "../layout/toolbar/PropertyItem.js";
|
|
51
53
|
import "../layout/toolbar/RotateTool.js";
|
|
52
54
|
export {
|
|
53
|
-
|
|
55
|
+
rr as CanvasLayer
|
|
54
56
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import {
|
|
3
|
+
import { G as mo } from "../../ToolbarLayout.module-cbc8e216.js";
|
|
4
4
|
import "../../contexts/RPDocumentContext.js";
|
|
5
5
|
import "../../contexts/DocumentPasswordContext.js";
|
|
6
6
|
import "../../contexts/DarkModeContext.js";
|
|
@@ -25,6 +25,7 @@ import "../../contexts/DownloadContext.js";
|
|
|
25
25
|
import "../../contexts/SmoothScrollContext.js";
|
|
26
26
|
import "../../contexts/ElementPageContext.js";
|
|
27
27
|
import "../../contexts/PagesRotateContext.js";
|
|
28
|
+
import "../../contexts/GlobalCurrentPage.js";
|
|
28
29
|
import "../../contexts/LoaderContext.js";
|
|
29
30
|
import "../../contexts/ToolComponentContext.js";
|
|
30
31
|
import "../../contexts/IconToolContext.js";
|
|
@@ -44,6 +45,7 @@ import "../icons/LoaderIcon.js";
|
|
|
44
45
|
import "../../contexts/IconContext.js";
|
|
45
46
|
import "../ui/RPTooltip.js";
|
|
46
47
|
import "../ui/DropDown.js";
|
|
48
|
+
import "../../ZoomTool.module-6c5eabbb.js";
|
|
47
49
|
import "../layout/toolbar/MenuItem.js";
|
|
48
50
|
import "../layout/toolbar/MenuSeparator.js";
|
|
49
51
|
import "../../utils/dateFormatter.js";
|
|
@@ -52,5 +54,5 @@ import "../layout/toolbar/RotateTool.js";
|
|
|
52
54
|
import "./CustomElement.js";
|
|
53
55
|
import "../../utils/withRef.js";
|
|
54
56
|
export {
|
|
55
|
-
|
|
57
|
+
mo as RPPage
|
|
56
58
|
};
|
|
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
|
|
|
2
2
|
import "react";
|
|
3
3
|
import "../../contexts/RPDocumentContext.js";
|
|
4
4
|
import "../../contexts/DocumentPasswordContext.js";
|
|
5
|
-
import {
|
|
5
|
+
import { F as ir } from "../../ToolbarLayout.module-cbc8e216.js";
|
|
6
6
|
import "../../contexts/DarkModeContext.js";
|
|
7
7
|
import "../../contexts/RotationContext.js";
|
|
8
8
|
import "../../contexts/LayerContext.js";
|
|
@@ -25,6 +25,7 @@ import "../../contexts/DownloadContext.js";
|
|
|
25
25
|
import "../../contexts/SmoothScrollContext.js";
|
|
26
26
|
import "../../contexts/ElementPageContext.js";
|
|
27
27
|
import "../../contexts/PagesRotateContext.js";
|
|
28
|
+
import "../../contexts/GlobalCurrentPage.js";
|
|
28
29
|
import "../../contexts/LoaderContext.js";
|
|
29
30
|
import "../../contexts/ToolComponentContext.js";
|
|
30
31
|
import "../../contexts/IconToolContext.js";
|
|
@@ -44,6 +45,7 @@ import "../icons/LoaderIcon.js";
|
|
|
44
45
|
import "../../contexts/IconContext.js";
|
|
45
46
|
import "../ui/RPTooltip.js";
|
|
46
47
|
import "../ui/DropDown.js";
|
|
48
|
+
import "../../ZoomTool.module-6c5eabbb.js";
|
|
47
49
|
import "../layout/toolbar/MenuItem.js";
|
|
48
50
|
import "../layout/toolbar/MenuSeparator.js";
|
|
49
51
|
import "../../utils/dateFormatter.js";
|
|
@@ -52,5 +54,5 @@ import "../layout/toolbar/RotateTool.js";
|
|
|
52
54
|
import "./searchHighlight.js";
|
|
53
55
|
import "../../utils/highlight.js";
|
|
54
56
|
export {
|
|
55
|
-
|
|
57
|
+
ir as TextHighlightLayer
|
|
56
58
|
};
|
|
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
|
|
|
2
2
|
import "react";
|
|
3
3
|
import "../../contexts/RPDocumentContext.js";
|
|
4
4
|
import "../../contexts/DocumentPasswordContext.js";
|
|
5
|
-
import {
|
|
5
|
+
import { D as tr } from "../../ToolbarLayout.module-cbc8e216.js";
|
|
6
6
|
import "../../contexts/DarkModeContext.js";
|
|
7
7
|
import "../../contexts/RotationContext.js";
|
|
8
8
|
import "../../contexts/LayerContext.js";
|
|
@@ -25,6 +25,7 @@ import "../../contexts/DownloadContext.js";
|
|
|
25
25
|
import "../../contexts/SmoothScrollContext.js";
|
|
26
26
|
import "../../contexts/ElementPageContext.js";
|
|
27
27
|
import "../../contexts/PagesRotateContext.js";
|
|
28
|
+
import "../../contexts/GlobalCurrentPage.js";
|
|
28
29
|
import "../../contexts/LoaderContext.js";
|
|
29
30
|
import "../../contexts/ToolComponentContext.js";
|
|
30
31
|
import "../../contexts/IconToolContext.js";
|
|
@@ -44,6 +45,7 @@ import "../icons/LoaderIcon.js";
|
|
|
44
45
|
import "../../contexts/IconContext.js";
|
|
45
46
|
import "../ui/RPTooltip.js";
|
|
46
47
|
import "../ui/DropDown.js";
|
|
48
|
+
import "../../ZoomTool.module-6c5eabbb.js";
|
|
47
49
|
import "../layout/toolbar/MenuItem.js";
|
|
48
50
|
import "../layout/toolbar/MenuSeparator.js";
|
|
49
51
|
import "../../utils/dateFormatter.js";
|
|
@@ -52,5 +54,5 @@ import "../layout/toolbar/RotateTool.js";
|
|
|
52
54
|
import "pdfjs-dist";
|
|
53
55
|
import "../../utils/highlight.js";
|
|
54
56
|
export {
|
|
55
|
-
|
|
57
|
+
tr as TextLayer
|
|
56
58
|
};
|
|
@@ -1,44 +1,49 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { createContext as
|
|
1
|
+
import { jsx as w } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as L, useState as P, useCallback as u, useContext as h, useRef as g, useMemo as A } from "react";
|
|
3
3
|
import { LicenseType as R } from "../utils/types.js";
|
|
4
4
|
import { useDimensionPagesContext as y } from "./DimensionPagesContext.js";
|
|
5
5
|
import { usePagesRotateContext as S } from "./PagesRotateContext.js";
|
|
6
6
|
import { useLicenseContext as T } from "./LicenseContext.js";
|
|
7
7
|
import { useZoomContext as _ } from "./ZoomContext.js";
|
|
8
8
|
import { ORGANIZATION_ALLOWED_FEATURES_MESSAGE as E } from "../utils/const.js";
|
|
9
|
-
const d =
|
|
10
|
-
const [
|
|
9
|
+
const d = L(void 0), U = ({ children: c }) => {
|
|
10
|
+
const [i, o] = P({}), { widths: t, heights: l } = y(), { pageRotate: m } = S(), { currentZoom: f } = _(), x = u(
|
|
11
11
|
(e, r) => {
|
|
12
12
|
o((n) => {
|
|
13
|
-
const s = { width: t[e], height:
|
|
13
|
+
const s = { width: t[e], height: l[e] };
|
|
14
14
|
return {
|
|
15
15
|
...n,
|
|
16
|
-
[e]: r(
|
|
16
|
+
[e]: r(
|
|
17
|
+
n[e],
|
|
18
|
+
s,
|
|
19
|
+
m[e],
|
|
20
|
+
f * 100
|
|
21
|
+
)
|
|
17
22
|
};
|
|
18
23
|
});
|
|
19
24
|
},
|
|
20
|
-
[t,
|
|
25
|
+
[t, l, f, m]
|
|
21
26
|
), p = u((e) => {
|
|
22
27
|
o((r) => {
|
|
23
28
|
const n = { ...r };
|
|
24
29
|
return delete n[e], n;
|
|
25
30
|
});
|
|
26
|
-
}, []),
|
|
31
|
+
}, []), C = u((e, r) => {
|
|
27
32
|
o((n) => {
|
|
28
33
|
const s = { ...n };
|
|
29
|
-
return s[e] = s[e].filter((D,
|
|
34
|
+
return s[e] = s[e].filter((D, v) => v !== r), s;
|
|
30
35
|
});
|
|
31
36
|
}, []);
|
|
32
|
-
return /* @__PURE__ */
|
|
37
|
+
return /* @__PURE__ */ w(
|
|
33
38
|
d.Provider,
|
|
34
39
|
{
|
|
35
|
-
value: { updateElement: x, clearElements: p, removeElement:
|
|
36
|
-
children:
|
|
40
|
+
value: { updateElement: x, clearElements: p, removeElement: C, elementList: i },
|
|
41
|
+
children: c
|
|
37
42
|
}
|
|
38
43
|
);
|
|
39
44
|
}, a = () => {
|
|
40
|
-
},
|
|
41
|
-
const
|
|
45
|
+
}, W = () => {
|
|
46
|
+
const c = h(d), { type: i, validating: o } = T(), t = g(0), l = A(() => {
|
|
42
47
|
if (o !== !1)
|
|
43
48
|
return {
|
|
44
49
|
updateElement: a,
|
|
@@ -46,7 +51,7 @@ const d = w(void 0), z = ({ children: i }) => {
|
|
|
46
51
|
removeElement: a,
|
|
47
52
|
elementList: {}
|
|
48
53
|
};
|
|
49
|
-
if (!(
|
|
54
|
+
if (!(i !== R.Developer))
|
|
50
55
|
return {
|
|
51
56
|
updateElement: () => {
|
|
52
57
|
t.current === 0 && (console.error(E), t.current++);
|
|
@@ -59,13 +64,13 @@ const d = w(void 0), z = ({ children: i }) => {
|
|
|
59
64
|
},
|
|
60
65
|
elementList: {}
|
|
61
66
|
};
|
|
62
|
-
}, [
|
|
63
|
-
if (!
|
|
67
|
+
}, [i, o]);
|
|
68
|
+
if (!c)
|
|
64
69
|
throw new Error("useElementPageContext must be used within a ElementPageProvider");
|
|
65
|
-
return
|
|
70
|
+
return l || c;
|
|
66
71
|
};
|
|
67
72
|
export {
|
|
68
73
|
d as ElementPageContext,
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
U as ElementPageProvider,
|
|
75
|
+
W as useElementPageContext
|
|
71
76
|
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as u, useContext as s, useState as c } from "react";
|
|
3
|
+
import { useInitialStateContext as i } from "./InitialStateContext.js";
|
|
4
|
+
const e = u({
|
|
5
|
+
currentPage: 1,
|
|
6
|
+
setCurrentPage: () => {
|
|
7
|
+
}
|
|
8
|
+
}), C = () => s(e), x = ({ children: t }) => {
|
|
9
|
+
const { initialPage: r = 1 } = i(), [o, n] = c(r);
|
|
10
|
+
return /* @__PURE__ */ a(e.Provider, { value: { currentPage: o, setCurrentPage: n }, children: t });
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
e as GlobalCurrentPage,
|
|
14
|
+
x as GlobalCurrentPageProvider,
|
|
15
|
+
C as useGlobalCurrentPage
|
|
16
|
+
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import {
|
|
3
|
+
import { s as p, P as e, u as s } from "../ToolbarLayout.module-cbc8e216.js";
|
|
4
4
|
import "./RPDocumentContext.js";
|
|
5
5
|
import "../utils/appConsole.js";
|
|
6
|
+
import "./GlobalCurrentPage.js";
|
|
6
7
|
export {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
p as PaginationContext,
|
|
9
|
+
e as PaginationProvider,
|
|
10
|
+
s as usePaginationContext
|
|
10
11
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { createContext as
|
|
3
|
-
import { useLoadPdf as
|
|
4
|
-
import { usePdfProperties as
|
|
5
|
-
import { appConsole as
|
|
6
|
-
const
|
|
1
|
+
import { jsx as C } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as h, useState as m, useEffect as v, useMemo as S, useContext as D } from "react";
|
|
3
|
+
import { useLoadPdf as F } from "../utils/hooks/useLoadPdf.js";
|
|
4
|
+
import { usePdfProperties as M } from "../utils/hooks/usePdfProperties.js";
|
|
5
|
+
import { appConsole as j } from "../utils/appConsole.js";
|
|
6
|
+
const u = h({
|
|
7
7
|
pdf: void 0,
|
|
8
8
|
pages: /* @__PURE__ */ new Map(),
|
|
9
9
|
setPdfSrc: () => {
|
|
@@ -11,39 +11,41 @@ const m = C({
|
|
|
11
11
|
setFilename: () => {
|
|
12
12
|
},
|
|
13
13
|
loading: !1,
|
|
14
|
-
loaderProgress: 0
|
|
15
|
-
|
|
14
|
+
loaderProgress: 0,
|
|
15
|
+
error: void 0
|
|
16
|
+
}), b = ({
|
|
16
17
|
children: t,
|
|
17
18
|
src: e,
|
|
18
|
-
characterMap:
|
|
19
|
-
onLoadError:
|
|
20
|
-
onLoaded:
|
|
19
|
+
characterMap: c,
|
|
20
|
+
onLoadError: P,
|
|
21
|
+
onLoaded: g
|
|
21
22
|
}) => {
|
|
22
|
-
const [o, n] =
|
|
23
|
-
onLoadError:
|
|
24
|
-
onLoaded:
|
|
25
|
-
}),
|
|
26
|
-
|
|
23
|
+
const [o, n] = m(e), [s, i] = m(), { pdf: r, pages: d, loading: p, loadingProgress: f, error: a } = F(o, c, {
|
|
24
|
+
onLoadError: P,
|
|
25
|
+
onLoaded: g
|
|
26
|
+
}), l = M(o, r, s);
|
|
27
|
+
v(() => {
|
|
27
28
|
i(e == null ? void 0 : e.split("/").pop()), n(e);
|
|
28
29
|
}, [e]);
|
|
29
|
-
const
|
|
30
|
+
const x = S(() => ({
|
|
30
31
|
pdf: r,
|
|
31
|
-
pages:
|
|
32
|
+
pages: d,
|
|
32
33
|
pdfSrc: o,
|
|
33
34
|
setPdfSrc: n,
|
|
34
|
-
pdfProperties:
|
|
35
|
+
pdfProperties: l,
|
|
35
36
|
setFilename: i,
|
|
36
37
|
filename: s,
|
|
37
|
-
loading:
|
|
38
|
-
loaderProgress: f
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
loading: p,
|
|
39
|
+
loaderProgress: f,
|
|
40
|
+
error: a
|
|
41
|
+
}), [r, d, o, l, p, f, a]);
|
|
42
|
+
return /* @__PURE__ */ C(u.Provider, { value: x, children: o ? t : null });
|
|
43
|
+
}, q = () => {
|
|
44
|
+
const t = D(u);
|
|
45
|
+
return t.pdfSrc || j.error("Please use this hooks inside children component of RPDocument"), t;
|
|
44
46
|
};
|
|
45
47
|
export {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
b as DocumentProvider,
|
|
49
|
+
u as default,
|
|
50
|
+
q as useDocumentContext
|
|
49
51
|
};
|
|
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
|
|
|
2
2
|
import "react";
|
|
3
3
|
import "../utils/Queue.js";
|
|
4
4
|
import "../utils/renderPage.js";
|
|
5
|
-
import {
|
|
5
|
+
import { A as m, g as p, B as d } from "../ToolbarLayout.module-cbc8e216.js";
|
|
6
6
|
export {
|
|
7
7
|
m as RenderQueueContext,
|
|
8
8
|
p as RenderQueueProvider,
|
|
@@ -1,47 +1,94 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { createContext as
|
|
3
|
-
import { ZoomLevel as
|
|
4
|
-
import { appConsole as
|
|
5
|
-
import { useInitialStateContext as
|
|
6
|
-
import { useDocumentContext as
|
|
7
|
-
import { PAGE_PADDING as
|
|
8
|
-
import { getZoomLevel as
|
|
9
|
-
import { useLayoutContainer as
|
|
10
|
-
import { useViewModeContext as
|
|
11
|
-
|
|
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({
|
|
12
15
|
zoomLevel: 100,
|
|
13
16
|
currentZoom: 1,
|
|
14
17
|
setZoomLevel: () => {
|
|
15
18
|
}
|
|
16
|
-
}),
|
|
17
|
-
const
|
|
18
|
-
return typeof
|
|
19
|
-
},
|
|
20
|
-
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
let
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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)
|
|
29
44
|
return 0;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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 });
|
|
42
89
|
};
|
|
43
90
|
export {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
91
|
+
D as ZoomContext,
|
|
92
|
+
ue as ZoomProvider,
|
|
93
|
+
me as useZoomContext
|
|
47
94
|
};
|
package/dist/main.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RPProvider as r } from "./components/RPProvider.js";
|
|
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-
|
|
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
3
|
import { RPConfig as u } from "./components/RPConfig.js";
|
|
4
4
|
import { RPLayout as P } from "./components/layout/RPLayout.js";
|
|
5
5
|
import { RPController as C } from "./components/RPController.js";
|