@react-pdf-kit/viewer 2.1.0-rc.1 → 2.2.0-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/dist/components/RPConfig.js +15 -7
- package/dist/components/RPDropFileZone.js +34 -27
- package/dist/components/layout/RPDefaultLayout.js +4 -2
- package/dist/components/layout/RPLayout.js +20 -17
- package/dist/components/layout/WrapperLayout.js +9 -9
- package/dist/components/layout/toolbar/tools/DualPageWithCoverTool.js +4 -2
- package/dist/components/layout/toolbar/tools/FirstPageTool.js +4 -2
- package/dist/components/layout/toolbar/tools/LastPageTool.js +4 -2
- package/dist/contexts/ConfigContext.js +5 -4
- package/dist/contexts/LayoutDropFileZoneContext.js +11 -0
- package/dist/main.js +109 -107
- package/dist/types/contexts/LayoutDropFileZoneContext.d.ts +9 -0
- package/dist/types/utils/hooks/useDropFileZone.d.ts +5 -0
- package/dist/types/utils/types.d.ts +2 -0
- package/dist/utils/hooks/useDropFileZone.js +12 -0
- package/dist/utils/hooks/useLicense.js +1 -1
- package/dist/utils/hooks/useLoadPdf.js +44 -43
- package/package.json +1 -1
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { RPTheme as
|
|
3
|
-
import { ConfigContextProvider as
|
|
2
|
+
import { RPTheme as d } from "./RPTheme.js";
|
|
3
|
+
import { ConfigContextProvider as l } from "../contexts/ConfigContext.js";
|
|
4
4
|
import { useLoadWorker as f } from "../utils/hooks/useLoadWorker.js";
|
|
5
|
-
import { LicenseProvider as
|
|
5
|
+
import { LicenseProvider as a } from "../contexts/LicenseContext.js";
|
|
6
6
|
import "../contexts/ThemeContext.js";
|
|
7
7
|
import "react";
|
|
8
8
|
import "pdfjs-dist";
|
|
9
9
|
import "../utils/hooks/useLicense.js";
|
|
10
10
|
import "../utils/appConsole.js";
|
|
11
|
-
const
|
|
12
|
-
const {
|
|
13
|
-
|
|
11
|
+
const v = (o) => {
|
|
12
|
+
const {
|
|
13
|
+
children: e,
|
|
14
|
+
customVariables: i,
|
|
15
|
+
customDarkVariables: m,
|
|
16
|
+
workerUrl: t,
|
|
17
|
+
wasmUrl: n,
|
|
18
|
+
licenseKey: s,
|
|
19
|
+
...c
|
|
20
|
+
} = o, { workerUrlAdded: p } = f(t);
|
|
21
|
+
return /* @__PURE__ */ r(a, { licenseKey: s, children: /* @__PURE__ */ r(l, { workerUrlAdded: p, wasmUrl: n, ...c, children: /* @__PURE__ */ r(d, { customDarkVariables: m, customVariables: i, children: e }) }) });
|
|
14
22
|
};
|
|
15
23
|
export {
|
|
16
|
-
|
|
24
|
+
v as RPConfig
|
|
17
25
|
};
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useCallback as
|
|
3
|
-
import { c as
|
|
4
|
-
import { useDropFileZoneContext as
|
|
5
|
-
import { LightPdfIcon as
|
|
6
|
-
import { DarkPdfIcon as
|
|
7
|
-
import { useDarkModeContext as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { useToolComponentContext as z } from "../contexts/ToolComponentContext.js";
|
|
1
|
+
import { jsxs as s, Fragment as t, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback as F } from "react";
|
|
3
|
+
import { c as v } from "../clsx-0c6e471a.js";
|
|
4
|
+
import { useDropFileZoneContext as Z } from "../contexts/DropFileZoneContext.js";
|
|
5
|
+
import { LightPdfIcon as x } from "./icons/LightPdfIcon.js";
|
|
6
|
+
import { DarkPdfIcon as z } from "./icons/DarkPdfIcon.js";
|
|
7
|
+
import { useDarkModeContext as C } from "../contexts/DarkModeContext.js";
|
|
8
|
+
import { useLocalizationContext as _ } from "../contexts/LocalizationContext.js";
|
|
9
|
+
import { useDropFileZone as k } from "../utils/hooks/useDropFileZone.js";
|
|
11
10
|
import "../contexts/RPDocumentContext.js";
|
|
12
11
|
import "../utils/hooks/useLoadPdf.js";
|
|
13
12
|
import "pdfjs-dist";
|
|
@@ -20,34 +19,42 @@ import "../utils/appConsole.js";
|
|
|
20
19
|
import "../utils/hooks/usePdfProperties.js";
|
|
21
20
|
import "../utils/convertPdfDate.js";
|
|
22
21
|
import "../utils/formatFileSize.js";
|
|
22
|
+
import "../contexts/ToolbarComponentContext.js";
|
|
23
|
+
import "../contexts/ToolComponentContext.js";
|
|
23
24
|
import "../utils/hooks/useDarkMode.js";
|
|
24
25
|
import "../utils/hooks/useLocalization.js";
|
|
25
|
-
|
|
26
|
+
import "../contexts/LayoutDropFileZoneContext.js";
|
|
27
|
+
const l = {
|
|
26
28
|
"rp-drop-zone": "_rp-drop-zone_1sc50_1",
|
|
27
29
|
"rp-drop-zone-transparent": "_rp-drop-zone-transparent_1sc50_15"
|
|
28
|
-
},
|
|
29
|
-
const { dragging:
|
|
30
|
-
|
|
30
|
+
}, L = {}, $ = () => {
|
|
31
|
+
const { dragging: d, handleDragLeave: c, handleDrop: f } = Z(), { darkMode: p } = C(), { localeMessages: e } = _(), { DropFileZoneLayout: i, DropFileZoneTool: m, DropFileZoneToolbar: a } = k(), u = [i, m, a].includes(
|
|
32
|
+
!1
|
|
33
|
+
), D = F((o) => {
|
|
34
|
+
o.preventDefault();
|
|
31
35
|
}, []);
|
|
32
|
-
if (!
|
|
36
|
+
if (!d || u)
|
|
33
37
|
return null;
|
|
34
|
-
const
|
|
35
|
-
/* @__PURE__ */
|
|
36
|
-
/* @__PURE__ */
|
|
37
|
-
] })
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
const n = (o) => o ? typeof o == "function" ? /* @__PURE__ */ r("slot", {}) : typeof o != "boolean" ? /* @__PURE__ */ r(t, { children: o }) : null : null, h = /* @__PURE__ */ s(t, { children: [
|
|
39
|
+
/* @__PURE__ */ r("div", { children: p ? /* @__PURE__ */ r(z, {}) : /* @__PURE__ */ r(x, {}) }),
|
|
40
|
+
/* @__PURE__ */ r("p", { children: e == null ? void 0 : e.dragDropFileMessage })
|
|
41
|
+
] }), g = () => (
|
|
42
|
+
// Priority: RPLayout > RPHorizontalBar\RPDefaultLayout (slots)
|
|
43
|
+
n(i) ?? n(m) ?? n(a) ?? h
|
|
44
|
+
);
|
|
45
|
+
return /* @__PURE__ */ s(t, { children: [
|
|
46
|
+
/* @__PURE__ */ r("div", { className: v(l["rp-drop-zone"], p ? L["rp-dark-mode"] : ""), children: /* @__PURE__ */ r(g, {}) }),
|
|
47
|
+
/* @__PURE__ */ r(
|
|
41
48
|
"div",
|
|
42
49
|
{
|
|
43
|
-
className:
|
|
44
|
-
onDragOver:
|
|
45
|
-
onDragLeave:
|
|
46
|
-
onDrop:
|
|
50
|
+
className: l["rp-drop-zone-transparent"],
|
|
51
|
+
onDragOver: D,
|
|
52
|
+
onDragLeave: c,
|
|
53
|
+
onDrop: f
|
|
47
54
|
}
|
|
48
55
|
)
|
|
49
56
|
] });
|
|
50
57
|
};
|
|
51
58
|
export {
|
|
52
|
-
|
|
59
|
+
$ as RPDropFileZone
|
|
53
60
|
};
|
|
@@ -146,13 +146,15 @@ import "../../utils/hooks/useInfiniteScroll.js";
|
|
|
146
146
|
import "../../contexts/DropFileZoneContext.js";
|
|
147
147
|
import "../icons/LightPdfIcon.js";
|
|
148
148
|
import "../icons/DarkPdfIcon.js";
|
|
149
|
+
import "../../utils/hooks/useDropFileZone.js";
|
|
150
|
+
import "../../contexts/LayoutDropFileZoneContext.js";
|
|
149
151
|
import "../../utils/hooks/useLoadPdf.js";
|
|
150
152
|
import "../../contexts/ConfigContext.js";
|
|
151
153
|
import "../../utils/hooks/usePdfProperties.js";
|
|
152
154
|
import "../../utils/convertPdfDate.js";
|
|
153
155
|
import "../../utils/formatFileSize.js";
|
|
154
156
|
import "../../contexts/ThemeContext.js";
|
|
155
|
-
const
|
|
157
|
+
const jt = L((n, a) => {
|
|
156
158
|
const {
|
|
157
159
|
children: l,
|
|
158
160
|
slots: s,
|
|
@@ -234,5 +236,5 @@ const kt = L((n, a) => {
|
|
|
234
236
|
] }) }) }) }) });
|
|
235
237
|
});
|
|
236
238
|
export {
|
|
237
|
-
|
|
239
|
+
jt as RPDefaultLayout
|
|
238
240
|
};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { jsx as o, jsxs as m } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect as
|
|
3
|
-
import { useLayoutContainer as
|
|
2
|
+
import { useEffect as y } from "react";
|
|
3
|
+
import { useLayoutContainer as L } from "../../contexts/LayoutContainerContext.js";
|
|
4
4
|
import { Container as C } from "./Container.js";
|
|
5
|
-
import { ViewportProvider as
|
|
6
|
-
import { ToolbarLayout as
|
|
7
|
-
import { WrapperLayout as
|
|
8
|
-
import { useDocumentContext as
|
|
5
|
+
import { ViewportProvider as g } from "../../contexts/ViewportContext.js";
|
|
6
|
+
import { ToolbarLayout as b } from "./toolbar/ToolbarLayout.js";
|
|
7
|
+
import { WrapperLayout as x } from "./WrapperLayout.js";
|
|
8
|
+
import { useDocumentContext as v } from "../../contexts/RPDocumentContext.js";
|
|
9
9
|
import { RPDropFileZone as k } from "../RPDropFileZone.js";
|
|
10
|
+
import { LayoutDropFileZoneProvider as P } from "../../contexts/LayoutDropFileZoneContext.js";
|
|
10
11
|
import { c as j } from "../../RPLayout.module-b4b23e29.js";
|
|
11
|
-
import { useLoaderContext as
|
|
12
|
-
import { LayoutContainer as
|
|
12
|
+
import { useLoaderContext as w } from "../../contexts/LoaderContext.js";
|
|
13
|
+
import { LayoutContainer as D } from "./LayoutContainer.js";
|
|
13
14
|
import { SkipLink as p } from "./SkipLink.js";
|
|
14
15
|
import "../../clsx-0c6e471a.js";
|
|
15
16
|
import "./toolbar/ToolbarDefault.js";
|
|
@@ -156,8 +157,9 @@ import "../../utils/convertPdfDate.js";
|
|
|
156
157
|
import "../../utils/formatFileSize.js";
|
|
157
158
|
import "../icons/LightPdfIcon.js";
|
|
158
159
|
import "../icons/DarkPdfIcon.js";
|
|
160
|
+
import "../../utils/hooks/useDropFileZone.js";
|
|
159
161
|
import "../../contexts/ThemeContext.js";
|
|
160
|
-
const
|
|
162
|
+
const Fr = (e) => {
|
|
161
163
|
const {
|
|
162
164
|
children: n,
|
|
163
165
|
style: a,
|
|
@@ -166,16 +168,17 @@ const vr = (e) => {
|
|
|
166
168
|
onLoaded: t,
|
|
167
169
|
cleanupOnLoaded: r,
|
|
168
170
|
onLayoutWidthChange: d,
|
|
169
|
-
toolbar: f
|
|
170
|
-
|
|
171
|
-
|
|
171
|
+
toolbar: f,
|
|
172
|
+
dropFileZone: c = !0
|
|
173
|
+
} = e, { setContainer: u } = L(), { loading: h } = v(), { LoaderImageComponent: i } = w();
|
|
174
|
+
return y(() => (t && t(), () => {
|
|
172
175
|
r && r();
|
|
173
176
|
}), [t, r]), // TODO: deprecated in v2.0.0, remove later ("LayoutContainer") ~
|
|
174
|
-
/* @__PURE__ */ o(
|
|
177
|
+
/* @__PURE__ */ o(D, { children: /* @__PURE__ */ o(P, { value: c, children: /* @__PURE__ */ o(g, { mobileWidth: s, onLayoutWidthChange: d, children: /* @__PURE__ */ m(C, { getContainerRef: u, style: a, className: l, children: [
|
|
175
178
|
/* @__PURE__ */ o(p, { href: "#rp-menu", label: "Skip to Menu" }),
|
|
176
179
|
/* @__PURE__ */ o(p, { href: "#rp-main-content", label: "Skip to Main Content" }),
|
|
177
|
-
/* @__PURE__ */ m(
|
|
178
|
-
/* @__PURE__ */ o(
|
|
180
|
+
/* @__PURE__ */ m(x, { children: [
|
|
181
|
+
/* @__PURE__ */ o(b, { toolbar: f, children: n }),
|
|
179
182
|
/* @__PURE__ */ o(k, {})
|
|
180
183
|
] }),
|
|
181
184
|
h ? /* @__PURE__ */ o(
|
|
@@ -206,8 +209,8 @@ const vr = (e) => {
|
|
|
206
209
|
)
|
|
207
210
|
}
|
|
208
211
|
) : null
|
|
209
|
-
] }) }) });
|
|
212
|
+
] }) }) }) });
|
|
210
213
|
};
|
|
211
214
|
export {
|
|
212
|
-
|
|
215
|
+
Fr as RPLayout
|
|
213
216
|
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useDropFileZoneContext as
|
|
3
|
-
import { useToolbarComponentContext as i } from "../../contexts/ToolbarComponentContext.js";
|
|
4
|
-
import { useToolComponentContext as a } from "../../contexts/ToolComponentContext.js";
|
|
1
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
2
|
+
import { useDropFileZoneContext as t } from "../../contexts/DropFileZoneContext.js";
|
|
5
3
|
import "react";
|
|
6
4
|
import "../../contexts/RPDocumentContext.js";
|
|
7
5
|
import "../../utils/hooks/useLoadPdf.js";
|
|
@@ -15,12 +13,14 @@ import "../../utils/appConsole.js";
|
|
|
15
13
|
import "../../utils/hooks/usePdfProperties.js";
|
|
16
14
|
import "../../utils/convertPdfDate.js";
|
|
17
15
|
import "../../utils/formatFileSize.js";
|
|
18
|
-
|
|
16
|
+
import "../../contexts/ToolbarComponentContext.js";
|
|
17
|
+
import "../../contexts/ToolComponentContext.js";
|
|
18
|
+
const m = {
|
|
19
19
|
"rp-wrapper-layout": "_rp-wrapper-layout_2cghq_1"
|
|
20
|
-
},
|
|
21
|
-
const { handleDragEnter:
|
|
22
|
-
return
|
|
20
|
+
}, E = ({ children: r }) => {
|
|
21
|
+
const { handleDragEnter: o } = t();
|
|
22
|
+
return /* @__PURE__ */ p("div", { className: m["rp-wrapper-layout"], onDragEnter: o, children: r });
|
|
23
23
|
};
|
|
24
24
|
export {
|
|
25
|
-
|
|
25
|
+
E as WrapperLayout
|
|
26
26
|
};
|
|
@@ -69,6 +69,7 @@ import "../../../ui/LoadingIndicator.js";
|
|
|
69
69
|
import "../../../../RPSplitter-f6acf13b.js";
|
|
70
70
|
import "../../WrapperLayout.js";
|
|
71
71
|
import "../../../RPDropFileZone.js";
|
|
72
|
+
import "../../../../contexts/LayoutDropFileZoneContext.js";
|
|
72
73
|
import "../../../../RPLayout.module-b4b23e29.js";
|
|
73
74
|
import "../../LayoutContainer.js";
|
|
74
75
|
import "../../SkipLink.js";
|
|
@@ -186,7 +187,8 @@ import "../../sidebar/Thumbnail.js";
|
|
|
186
187
|
import "../../../../utils/hooks/useInfiniteScroll.js";
|
|
187
188
|
import "../../../icons/LightPdfIcon.js";
|
|
188
189
|
import "../../../icons/DarkPdfIcon.js";
|
|
189
|
-
|
|
190
|
+
import "../../../../utils/hooks/useDropFileZone.js";
|
|
191
|
+
const C = ({ children: t, className: i, localeMessages: o }) => /* @__PURE__ */ r(m, { className: i, content: o == null ? void 0 : o.dualPageWithCoverTooltip, children: t }), Gr = ({ icon: t }) => {
|
|
190
192
|
const { setDualPageWithCover: i } = e(), { localeMessages: o } = u();
|
|
191
193
|
return /* @__PURE__ */ r(C, { localeMessages: o, children: /* @__PURE__ */ r(
|
|
192
194
|
p,
|
|
@@ -198,5 +200,5 @@ const C = ({ children: t, className: i, localeMessages: o }) => /* @__PURE__ */
|
|
|
198
200
|
) });
|
|
199
201
|
};
|
|
200
202
|
export {
|
|
201
|
-
|
|
203
|
+
Gr as DualPageWithCoverTool
|
|
202
204
|
};
|
|
@@ -69,6 +69,7 @@ import "../../../ui/LoadingIndicator.js";
|
|
|
69
69
|
import "../../../../RPSplitter-f6acf13b.js";
|
|
70
70
|
import "../../WrapperLayout.js";
|
|
71
71
|
import "../../../RPDropFileZone.js";
|
|
72
|
+
import "../../../../contexts/LayoutDropFileZoneContext.js";
|
|
72
73
|
import "../../../../RPLayout.module-b4b23e29.js";
|
|
73
74
|
import "../../LayoutContainer.js";
|
|
74
75
|
import "../../SkipLink.js";
|
|
@@ -186,12 +187,13 @@ import "../../sidebar/Thumbnail.js";
|
|
|
186
187
|
import "../../../../utils/hooks/useInfiniteScroll.js";
|
|
187
188
|
import "../../../icons/LightPdfIcon.js";
|
|
188
189
|
import "../../../icons/DarkPdfIcon.js";
|
|
189
|
-
|
|
190
|
+
import "../../../../utils/hooks/useDropFileZone.js";
|
|
191
|
+
const l = ({ children: t, className: r, localeMessages: o }) => /* @__PURE__ */ i(n, { className: r, content: o == null ? void 0 : o.firstPageTooltip, children: t }), Kr = ({ icon: t }) => {
|
|
190
192
|
const { goToPage: r } = f(), { localeMessages: o } = c(), m = p(() => {
|
|
191
193
|
r(1);
|
|
192
194
|
}, [r]);
|
|
193
195
|
return /* @__PURE__ */ i(l, { localeMessages: o, children: /* @__PURE__ */ i(a, { onClick: m, "aria-label": o == null ? void 0 : o.firstPageTooltip, children: t || /* @__PURE__ */ i(T, { className: P["rp-go-to-Top"] }) }) });
|
|
194
196
|
};
|
|
195
197
|
export {
|
|
196
|
-
|
|
198
|
+
Kr as FirstPageTool
|
|
197
199
|
};
|
|
@@ -69,6 +69,7 @@ import "../../../ui/LoadingIndicator.js";
|
|
|
69
69
|
import "../../../../RPSplitter-f6acf13b.js";
|
|
70
70
|
import "../../WrapperLayout.js";
|
|
71
71
|
import "../../../RPDropFileZone.js";
|
|
72
|
+
import "../../../../contexts/LayoutDropFileZoneContext.js";
|
|
72
73
|
import "../../../../RPLayout.module-b4b23e29.js";
|
|
73
74
|
import "../../LayoutContainer.js";
|
|
74
75
|
import "../../SkipLink.js";
|
|
@@ -186,12 +187,13 @@ import "../../sidebar/Thumbnail.js";
|
|
|
186
187
|
import "../../../../utils/hooks/useInfiniteScroll.js";
|
|
187
188
|
import "../../../icons/LightPdfIcon.js";
|
|
188
189
|
import "../../../icons/DarkPdfIcon.js";
|
|
189
|
-
|
|
190
|
+
import "../../../../utils/hooks/useDropFileZone.js";
|
|
191
|
+
const c = ({ children: t, className: r, localeMessages: o }) => /* @__PURE__ */ m(a, { className: r, content: o == null ? void 0 : o.lastPageTooltip, children: t }), Nr = ({ icon: t }) => {
|
|
190
192
|
const { goToPage: r, totalPages: o } = T(), { localeMessages: i } = f(), p = n(() => {
|
|
191
193
|
r(o);
|
|
192
194
|
}, [r, o]);
|
|
193
195
|
return /* @__PURE__ */ m(c, { localeMessages: i, children: /* @__PURE__ */ m(P, { onClick: p, "aria-label": i == null ? void 0 : i.lastPageTooltip, children: t || /* @__PURE__ */ m(l, {}) }) });
|
|
194
196
|
};
|
|
195
197
|
export {
|
|
196
|
-
|
|
198
|
+
Nr as LastPageTool
|
|
197
199
|
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { createContext as i, useContext as s } from "react";
|
|
3
3
|
const o = i({
|
|
4
|
-
workerUrlAdded: !1
|
|
5
|
-
|
|
4
|
+
workerUrlAdded: !1,
|
|
5
|
+
wasmUrl: void 0
|
|
6
|
+
}), d = () => s(o), f = (t) => {
|
|
6
7
|
const { children: e, ...r } = t;
|
|
7
8
|
return /* @__PURE__ */ n(o.Provider, { value: r, children: e });
|
|
8
9
|
};
|
|
9
10
|
export {
|
|
10
11
|
o as ConfigContext,
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
f as ConfigContextProvider,
|
|
13
|
+
d as useConfigContext
|
|
13
14
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as n, useContext as u } from "react";
|
|
3
|
+
const i = !0, o = n(i), p = () => u(o), x = ({
|
|
4
|
+
value: t,
|
|
5
|
+
children: e
|
|
6
|
+
}) => /* @__PURE__ */ r(o.Provider, { value: t, children: e });
|
|
7
|
+
export {
|
|
8
|
+
o as LayoutDropFileZoneContext,
|
|
9
|
+
x as LayoutDropFileZoneProvider,
|
|
10
|
+
p as useLayoutDropFileZoneContext
|
|
11
|
+
};
|
package/dist/main.js
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { RPProvider as
|
|
2
|
-
import { RPPages as
|
|
3
|
-
import { RPConfig as
|
|
4
|
-
import { RPDefaultLayout as
|
|
5
|
-
import { RPLayout as
|
|
6
|
-
import { RPTheme as
|
|
7
|
-
import { default as
|
|
8
|
-
import { UIButton as
|
|
9
|
-
import { useDarkModeContext as
|
|
10
|
-
import { u as
|
|
11
|
-
import { useDocumentContext as
|
|
12
|
-
import { useRotationContext as
|
|
13
|
-
import { useViewModeContext as
|
|
14
|
-
import { useDropFileZoneContext as
|
|
15
|
-
import { useFileDownload as
|
|
16
|
-
import { useOpenFileContext as
|
|
17
|
-
import { usePrintContext as
|
|
18
|
-
import { useZoomContext as
|
|
19
|
-
import { useSearchContext as
|
|
20
|
-
import { useHighlightContext as
|
|
21
|
-
import { useFullScreenContext as
|
|
22
|
-
import { usePageRotateContext as
|
|
23
|
-
import { useElementPageContext as
|
|
24
|
-
import { SearchTool as
|
|
25
|
-
import { ThemeSwitcherTool as
|
|
26
|
-
import { ThumbnailTool as
|
|
27
|
-
import { FileUploadTool as
|
|
28
|
-
import { FileDownloadTool as
|
|
29
|
-
import { PrintTool as
|
|
30
|
-
import { FullScreenTool as
|
|
31
|
-
import { PreviousPageTool as
|
|
32
|
-
import { NextPageTool as
|
|
33
|
-
import { InputPageTool as
|
|
34
|
-
import { ZoomInTool as
|
|
35
|
-
import { ZoomOutTool as
|
|
36
|
-
import { ZoomLevelTool as
|
|
37
|
-
import { DocumentPropertiesTool as
|
|
38
|
-
import { RotateClockwiseTool as
|
|
39
|
-
import { RotateCounterclockwiseTool as
|
|
40
|
-
import { RPHorizontalBar as
|
|
41
|
-
import { RPVerticalBar as
|
|
42
|
-
import { SelectionModeSwitcherTool as
|
|
43
|
-
import { SinglePageTool as
|
|
44
|
-
import { DualPageTool as
|
|
45
|
-
import { DualPageWithCoverTool as
|
|
46
|
-
import { PageScrollingTool as
|
|
47
|
-
import { VerticalScrollingTool as
|
|
48
|
-
import { HorizontalScrollingTool as
|
|
49
|
-
import { FirstPageTool as
|
|
50
|
-
import { LastPageTool as
|
|
51
|
-
import { Locales as
|
|
1
|
+
import { RPProvider as Dt } from "./components/RPProvider.js";
|
|
2
|
+
import { RPPages as Ft } from "./components/RPPages.js";
|
|
3
|
+
import { RPConfig as Mt } from "./components/RPConfig.js";
|
|
4
|
+
import { RPDefaultLayout as vt } from "./components/layout/RPDefaultLayout.js";
|
|
5
|
+
import { RPLayout as Bt } from "./components/layout/RPLayout.js";
|
|
6
|
+
import { RPTheme as Ht } from "./components/RPTheme.js";
|
|
7
|
+
import { default as bt } from "./components/ui/RPTooltip.js";
|
|
8
|
+
import { UIButton as zt } from "./components/ui/Button.js";
|
|
9
|
+
import { useDarkModeContext as Ut } from "./contexts/DarkModeContext.js";
|
|
10
|
+
import { u as Nt } from "./PaginationContext-9217cab4.js";
|
|
11
|
+
import { useDocumentContext as jt } from "./contexts/RPDocumentContext.js";
|
|
12
|
+
import { useRotationContext as At } from "./contexts/RotationContext.js";
|
|
13
|
+
import { useViewModeContext as Jt } from "./contexts/ViewModeContext.js";
|
|
14
|
+
import { useDropFileZoneContext as Qt } from "./contexts/DropFileZoneContext.js";
|
|
15
|
+
import { useFileDownload as Yt } from "./utils/hooks/useFileDownload.js";
|
|
16
|
+
import { useOpenFileContext as $t } from "./contexts/FileInputContext.js";
|
|
17
|
+
import { usePrintContext as rm } from "./contexts/PrintContext.js";
|
|
18
|
+
import { useZoomContext as mm } from "./contexts/ZoomContext.js";
|
|
19
|
+
import { useSearchContext as im } from "./contexts/SearchContext.js";
|
|
20
|
+
import { useHighlightContext as lm } from "./contexts/HighlightContext.js";
|
|
21
|
+
import { useFullScreenContext as fm } from "./contexts/FullScreenContext.js";
|
|
22
|
+
import { usePageRotateContext as nm } from "./utils/hooks/usePageRotateContext.js";
|
|
23
|
+
import { useElementPageContext as Tm } from "./contexts/ElementPageContext.js";
|
|
24
|
+
import { SearchTool as sm } from "./components/layout/toolbar/SearchTool.js";
|
|
25
|
+
import { ThemeSwitcherTool as gm } from "./components/layout/toolbar/tools/ThemeSwitcherTool.js";
|
|
26
|
+
import { ThumbnailTool as Rm } from "./components/layout/toolbar/tools/ThumbnailTool.js";
|
|
27
|
+
import { FileUploadTool as dm } from "./components/layout/toolbar/tools/FileUploadTool.js";
|
|
28
|
+
import { FileDownloadTool as Dm } from "./components/layout/toolbar/tools/FileDownloadTool.js";
|
|
29
|
+
import { PrintTool as Fm } from "./components/layout/toolbar/tools/PrintTool.js";
|
|
30
|
+
import { FullScreenTool as Mm } from "./components/layout/toolbar/tools/FullScreenTool.js";
|
|
31
|
+
import { PreviousPageTool as vm } from "./components/layout/toolbar/tools/PreviousPageTool.js";
|
|
32
|
+
import { NextPageTool as Bm } from "./components/layout/toolbar/tools/NextPageTool.js";
|
|
33
|
+
import { InputPageTool as Hm } from "./components/layout/toolbar/tools/InputPageTool.js";
|
|
34
|
+
import { ZoomInTool as bm } from "./components/layout/toolbar/tools/ZoomInTool.js";
|
|
35
|
+
import { ZoomOutTool as zm } from "./components/layout/toolbar/tools/ZoomOutTool.js";
|
|
36
|
+
import { ZoomLevelTool as Um } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
|
|
37
|
+
import { DocumentPropertiesTool as Nm } from "./components/layout/toolbar/tools/DocumentPropertiesTool.js";
|
|
38
|
+
import { RotateClockwiseTool as jm } from "./components/layout/toolbar/tools/RotateClockwiseTool.js";
|
|
39
|
+
import { RotateCounterclockwiseTool as Am } from "./components/layout/toolbar/tools/RotateCounterclockwiseTool.js";
|
|
40
|
+
import { RPHorizontalBar as Jm } from "./components/layout/toolbar/tools/defaults/RPHorizontalBar.js";
|
|
41
|
+
import { RPVerticalBar as Qm } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
|
|
42
|
+
import { SelectionModeSwitcherTool as Ym } from "./components/layout/toolbar/tools/SelectionModeSwitcherTool.js";
|
|
43
|
+
import { SinglePageTool as $m } from "./components/layout/toolbar/tools/SinglePageTool.js";
|
|
44
|
+
import { DualPageTool as rp } from "./components/layout/toolbar/tools/DualPageTool.js";
|
|
45
|
+
import { DualPageWithCoverTool as mp } from "./components/layout/toolbar/tools/DualPageWithCoverTool.js";
|
|
46
|
+
import { PageScrollingTool as ip } from "./components/layout/toolbar/tools/PageScrollingTool.js";
|
|
47
|
+
import { VerticalScrollingTool as lp } from "./components/layout/toolbar/tools/VerticalScrollingTool.js";
|
|
48
|
+
import { HorizontalScrollingTool as fp } from "./components/layout/toolbar/tools/HorizontalScrollingTool.js";
|
|
49
|
+
import { FirstPageTool as np } from "./components/layout/toolbar/tools/FirstPageTool.js";
|
|
50
|
+
import { LastPageTool as Tp } from "./components/layout/toolbar/tools/LastPageTool.js";
|
|
51
|
+
import { Locales as sp, ScrollMode as cp, SelectionMode as gp, ThemeVariables as Cp, ViewMode as Rp, ZoomLevel as Sp } from "./utils/types.js";
|
|
52
52
|
import "react/jsx-runtime";
|
|
53
53
|
import "react";
|
|
54
54
|
import "./contexts/DocumentPasswordContext.js";
|
|
@@ -202,6 +202,8 @@ import "./components/layout/WrapperLayout.js";
|
|
|
202
202
|
import "./components/RPDropFileZone.js";
|
|
203
203
|
import "./components/icons/LightPdfIcon.js";
|
|
204
204
|
import "./components/icons/DarkPdfIcon.js";
|
|
205
|
+
import "./utils/hooks/useDropFileZone.js";
|
|
206
|
+
import "./contexts/LayoutDropFileZoneContext.js";
|
|
205
207
|
import "./components/layout/SkipLink.js";
|
|
206
208
|
import "./components/layout/toolbar/ToolbarLayout.js";
|
|
207
209
|
import "./components/layout/toolbar/ToolbarDefault.js";
|
|
@@ -230,60 +232,60 @@ import "./components/layout/toolbar/SearchCloseButton.js";
|
|
|
230
232
|
import "./components/icons/ChevronDownIcon.js";
|
|
231
233
|
import "./components/layout/toolbar/ThumbnailTool.js";
|
|
232
234
|
export {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
235
|
+
Nm as DocumentPropertiesTool,
|
|
236
|
+
rp as DualPageTool,
|
|
237
|
+
mp as DualPageWithCoverTool,
|
|
238
|
+
Dm as FileDownloadTool,
|
|
239
|
+
dm as FileUploadTool,
|
|
240
|
+
np as FirstPageTool,
|
|
241
|
+
Mm as FullScreenTool,
|
|
242
|
+
fp as HorizontalScrollingTool,
|
|
243
|
+
Hm as InputPageTool,
|
|
244
|
+
Tp as LastPageTool,
|
|
245
|
+
sp as Locales,
|
|
246
|
+
Bm as NextPageTool,
|
|
247
|
+
ip as PageScrollingTool,
|
|
248
|
+
vm as PreviousPageTool,
|
|
249
|
+
Fm as PrintTool,
|
|
250
|
+
zt as RPButton,
|
|
251
|
+
Mt as RPConfig,
|
|
252
|
+
vt as RPDefaultLayout,
|
|
253
|
+
Jm as RPHorizontalBar,
|
|
254
|
+
Bt as RPLayout,
|
|
255
|
+
Ft as RPPages,
|
|
256
|
+
Dt as RPProvider,
|
|
257
|
+
Ht as RPTheme,
|
|
258
|
+
bt as RPTooltip,
|
|
259
|
+
Qm as RPVerticalBar,
|
|
260
|
+
jm as RotateClockwiseTool,
|
|
261
|
+
Am as RotateCounterclockwiseTool,
|
|
262
|
+
cp as ScrollMode,
|
|
263
|
+
sm as SearchTool,
|
|
264
|
+
gp as SelectionMode,
|
|
265
|
+
Ym as SelectionModeSwitcherTool,
|
|
266
|
+
$m as SinglePageTool,
|
|
267
|
+
gm as ThemeSwitcherTool,
|
|
268
|
+
Cp as ThemeVariables,
|
|
269
|
+
Rm as ThumbnailTool,
|
|
270
|
+
lp as VerticalScrollingTool,
|
|
271
|
+
Rp as ViewMode,
|
|
272
|
+
bm as ZoomInTool,
|
|
273
|
+
Sp as ZoomLevel,
|
|
274
|
+
Um as ZoomLevelTool,
|
|
275
|
+
zm as ZoomOutTool,
|
|
276
|
+
Ut as useDarkModeContext,
|
|
277
|
+
jt as useDocumentContext,
|
|
278
|
+
Qt as useDropFileZoneContext,
|
|
279
|
+
Tm as useElementPageContext,
|
|
280
|
+
Yt as useFileDownload,
|
|
281
|
+
fm as useFullScreenContext,
|
|
282
|
+
lm as useHighlightContext,
|
|
283
|
+
$t as useOpenFileContext,
|
|
284
|
+
nm as usePageRotateContext,
|
|
285
|
+
Nt as usePaginationContext,
|
|
286
|
+
rm as usePrintContext,
|
|
287
|
+
At as useRotationContext,
|
|
288
|
+
im as useSearchContext,
|
|
289
|
+
Jt as useViewModeContext,
|
|
290
|
+
mm as useZoomContext
|
|
289
291
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC, PropsWithChildren } from 'react';
|
|
2
|
+
interface LayoutDropFileZoneProviderProps extends PropsWithChildren {
|
|
3
|
+
value: LayoutDropFileZoneValue;
|
|
4
|
+
}
|
|
5
|
+
type LayoutDropFileZoneValue = boolean | React.ReactNode | React.ComponentType;
|
|
6
|
+
export declare const LayoutDropFileZoneContext: import('react').Context<LayoutDropFileZoneValue>;
|
|
7
|
+
export declare const useLayoutDropFileZoneContext: () => LayoutDropFileZoneValue;
|
|
8
|
+
export declare const LayoutDropFileZoneProvider: FC<LayoutDropFileZoneProviderProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const useDropFileZone: () => {
|
|
2
|
+
DropFileZoneLayout: import('react').ReactNode | import('react').ComponentType<{}>;
|
|
3
|
+
DropFileZoneTool: import('react').ReactNode | import('react').ComponentType<{}>;
|
|
4
|
+
DropFileZoneToolbar: import('react').ReactNode | import('react').ComponentType<{}>;
|
|
5
|
+
};
|
|
@@ -363,6 +363,7 @@ export interface PdfProperties {
|
|
|
363
363
|
}
|
|
364
364
|
export interface ConfigContextType {
|
|
365
365
|
workerUrlAdded: boolean;
|
|
366
|
+
wasmUrl?: string;
|
|
366
367
|
}
|
|
367
368
|
export declare enum ThemeVariables {
|
|
368
369
|
FONT_FAMILY = "--rp-font-family",
|
|
@@ -521,6 +522,7 @@ export interface RPDefaultLayoutProps extends PropsWithChildren, ViewportProps {
|
|
|
521
522
|
cleanupOnLoaded?: () => void;
|
|
522
523
|
}
|
|
523
524
|
export interface RPLayoutProps extends PropsWithChildren, ViewportProps {
|
|
525
|
+
dropFileZone?: boolean | React.ReactNode | React.ComponentType;
|
|
524
526
|
toolbar?: boolean | Partial<ToolbarProps>;
|
|
525
527
|
style?: React.CSSProperties;
|
|
526
528
|
className?: string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useLayoutDropFileZoneContext as r } from "../../contexts/LayoutDropFileZoneContext.js";
|
|
2
|
+
import { useToolComponentContext as n } from "../../contexts/ToolComponentContext.js";
|
|
3
|
+
import { useToolbarComponentContext as p } from "../../contexts/ToolbarComponentContext.js";
|
|
4
|
+
import "react/jsx-runtime";
|
|
5
|
+
import "react";
|
|
6
|
+
const F = () => {
|
|
7
|
+
const o = r(), { dropFileZone: e } = n(), { dropFileZone: t } = p();
|
|
8
|
+
return { DropFileZoneLayout: o, DropFileZoneTool: e, DropFileZoneToolbar: t };
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
F as useDropFileZone
|
|
12
|
+
};
|
|
@@ -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("2026-03-
|
|
3
|
+
const b = /* @__PURE__ */ new Date("2026-03-12T07:27:29.050Z"), 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,42 +1,43 @@
|
|
|
1
|
-
import { useState as
|
|
2
|
-
import * as
|
|
3
|
-
import { ErrorType as
|
|
4
|
-
import { getThumbnailViewport as
|
|
5
|
-
import { useConfigContext as
|
|
6
|
-
import { useDocumentPasswordContext as
|
|
1
|
+
import { useState as a, useRef as F, useEffect as v } from "react";
|
|
2
|
+
import * as U from "pdfjs-dist";
|
|
3
|
+
import { ErrorType as j } from "../types.js";
|
|
4
|
+
import { getThumbnailViewport as z } from "../getThumbnailViewport.js";
|
|
5
|
+
import { useConfigContext as _ } from "../../contexts/ConfigContext.js";
|
|
6
|
+
import { useDocumentPasswordContext as B } from "../../contexts/DocumentPasswordContext.js";
|
|
7
7
|
import "../../de_DE-a553b162.js";
|
|
8
8
|
import "react/jsx-runtime";
|
|
9
9
|
import "../appConsole.js";
|
|
10
|
-
const
|
|
11
|
-
const [n, q] =
|
|
12
|
-
return
|
|
13
|
-
|
|
14
|
-
}, [
|
|
15
|
-
if (!
|
|
10
|
+
const Z = (m, s, h = {}) => {
|
|
11
|
+
const [n, q] = a(), { workerUrlAdded: S, wasmUrl: f } = _(), [D, T] = a(/* @__PURE__ */ new Map()), d = F(), [g, P] = a(0), [c, x] = a(!1), [N, O] = a(), { password: u, passwordError: A, setPasswordError: p, passwordRequired: w, setPasswordRequired: E } = B(), { onLoadError: i, onLoaded: b, onLoadProgress: R, disableAutoFetch: C, disableStream: V, rangeChunkSize: I } = h;
|
|
12
|
+
return v(() => {
|
|
13
|
+
R && R(g);
|
|
14
|
+
}, [g, R]), v(() => {
|
|
15
|
+
if (!S || !m)
|
|
16
16
|
return;
|
|
17
|
-
|
|
18
|
-
const r =
|
|
17
|
+
P(0), d.current = Date.now();
|
|
18
|
+
const r = d.current, y = {
|
|
19
19
|
url: m,
|
|
20
20
|
cMapPacked: (s == null ? void 0 : s.isCompressed) ?? !0,
|
|
21
21
|
...(s == null ? void 0 : s.url) && { cMapUrl: s.url },
|
|
22
22
|
...u && { password: u },
|
|
23
|
-
...
|
|
24
|
-
...
|
|
25
|
-
...
|
|
26
|
-
|
|
23
|
+
...C !== void 0 && { disableAutoFetch: C },
|
|
24
|
+
...V !== void 0 && { disableStream: V },
|
|
25
|
+
...I !== void 0 && { rangeChunkSize: I },
|
|
26
|
+
...f && { wasmUrl: f },
|
|
27
|
+
verbosity: U.VerbosityLevel.ERRORS
|
|
27
28
|
};
|
|
28
29
|
try {
|
|
29
|
-
const e =
|
|
30
|
+
const e = U.getDocument(y);
|
|
30
31
|
e.onProgress = (o) => {
|
|
31
|
-
if (r ===
|
|
32
|
-
const { loaded:
|
|
33
|
-
|
|
32
|
+
if (r === d.current) {
|
|
33
|
+
const { loaded: L, total: l } = o, k = l ? Math.min(100, Math.round(L / l * 100)) : 0;
|
|
34
|
+
P(k);
|
|
34
35
|
}
|
|
35
|
-
},
|
|
36
|
-
const t = e.promise.then((o) => (r ===
|
|
37
|
-
o instanceof Error && o.name === "PasswordException" ? (
|
|
36
|
+
}, x(!0);
|
|
37
|
+
const t = e.promise.then((o) => (r === d.current && (q(o), P(100)), b && b(o), E(!1), p(""), o)).catch((o) => {
|
|
38
|
+
o instanceof Error && o.name === "PasswordException" ? (E(!0), p(o.message || "Password required")) : o instanceof Error && o.name === "InvalidPDFException" && u ? (E(!0), p("Incorrect password")) : i && i(o);
|
|
38
39
|
}).finally(() => {
|
|
39
|
-
|
|
40
|
+
x(!1);
|
|
40
41
|
});
|
|
41
42
|
return () => {
|
|
42
43
|
t.finally(() => {
|
|
@@ -44,42 +45,42 @@ const Y = (m, s, h = {}) => {
|
|
|
44
45
|
});
|
|
45
46
|
};
|
|
46
47
|
} catch (e) {
|
|
47
|
-
O(
|
|
48
|
+
O(j.NOT_SUPPORTED), i && i(e);
|
|
48
49
|
}
|
|
49
|
-
}, [m,
|
|
50
|
-
if (
|
|
50
|
+
}, [m, S, f, u, i, b]), v(() => {
|
|
51
|
+
if (w)
|
|
51
52
|
return;
|
|
52
53
|
const r = /* @__PURE__ */ new Map();
|
|
53
|
-
if (!n ||
|
|
54
|
-
|
|
54
|
+
if (!n || c) {
|
|
55
|
+
T(r);
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
57
|
-
const
|
|
58
|
-
for (let t = 1; t <=
|
|
58
|
+
const y = n.numPages, e = [];
|
|
59
|
+
for (let t = 1; t <= y; t++) {
|
|
59
60
|
const o = n.getPage(t);
|
|
60
61
|
e.push(o);
|
|
61
62
|
}
|
|
62
63
|
Promise.all(e).then((t) => {
|
|
63
64
|
t.map((o) => {
|
|
64
|
-
const { thumbnailViewport:
|
|
65
|
+
const { thumbnailViewport: L, scale: l } = z(o), k = o.getViewport();
|
|
65
66
|
r.set(o.pageNumber, {
|
|
66
67
|
page: o,
|
|
67
|
-
thumbnailViewport:
|
|
68
|
+
thumbnailViewport: L,
|
|
68
69
|
thumbnailScale: l,
|
|
69
|
-
defaultRotation:
|
|
70
|
+
defaultRotation: k.rotation
|
|
70
71
|
});
|
|
71
|
-
}),
|
|
72
|
+
}), T(r);
|
|
72
73
|
});
|
|
73
|
-
}, [n,
|
|
74
|
+
}, [n, c, w]), {
|
|
74
75
|
pdf: n,
|
|
75
76
|
pages: D,
|
|
76
|
-
loading:
|
|
77
|
+
loading: c,
|
|
77
78
|
error: N,
|
|
78
|
-
loadingProgress:
|
|
79
|
-
passwordRequired:
|
|
80
|
-
passwordError:
|
|
79
|
+
loadingProgress: g,
|
|
80
|
+
passwordRequired: w,
|
|
81
|
+
passwordError: A
|
|
81
82
|
};
|
|
82
83
|
};
|
|
83
84
|
export {
|
|
84
|
-
|
|
85
|
+
Z as useLoadPdf
|
|
85
86
|
};
|