pdf-tsx 0.9.0 → 0.11.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 +10 -2
- package/dist/cjs/components/PDFSidebar.cjs +1 -1
- package/dist/cjs/components/PDFSidebar.module.cjs +1 -1
- package/dist/cjs/components/PDFViewer.cjs +1 -1
- package/dist/cjs/components/PDFViewer.module.cjs +1 -1
- package/dist/cjs/components/features/PDFAnnotations.cjs +1 -1
- package/dist/cjs/components/features/PDFAnnotations.module.cjs +1 -1
- package/dist/cjs/components/features/PDFAttachments.cjs +1 -1
- package/dist/cjs/components/features/PDFAttachments.module.cjs +1 -1
- package/dist/cjs/components/features/PDFChangeFile.cjs +1 -1
- package/dist/cjs/components/features/PDFDownloadButton.cjs +1 -1
- package/dist/cjs/components/features/PDFNavigation.cjs +1 -1
- package/dist/cjs/components/features/PDFNavigation.module.cjs +1 -1
- package/dist/cjs/components/features/PDFOutline.cjs +1 -1
- package/dist/cjs/components/features/PDFOutline.module.cjs +1 -1
- package/dist/cjs/components/features/PDFPageFit.cjs +1 -1
- package/dist/cjs/components/features/PDFPrintButton.cjs +1 -1
- package/dist/cjs/components/features/PDFRotationControl.cjs +1 -1
- package/dist/cjs/components/features/PDFSearch.cjs +1 -1
- package/dist/cjs/components/features/PDFSearch.module.cjs +1 -1
- package/dist/cjs/components/features/PDFSidebarToggle.cjs +1 -1
- package/dist/cjs/components/features/PDFSignatures.cjs +1 -1
- package/dist/cjs/components/features/PDFSignatures.module.cjs +1 -1
- package/dist/cjs/components/features/PDFThemeToggle.cjs +1 -1
- package/dist/cjs/components/features/PDFThumbnails.cjs +1 -1
- package/dist/cjs/components/features/PDFThumbnails.module.cjs +1 -1
- package/dist/cjs/components/features/PDFZoomControls.cjs +1 -1
- package/dist/cjs/components/features/PDFZoomControls.module.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbar.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbar.module.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbarItem.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbarSeparator.cjs +1 -0
- package/dist/cjs/components/ui/PDFToolbarSeparator.module.cjs +1 -0
- package/dist/cjs/components/ui/ToolbarButton.cjs +1 -1
- package/dist/cjs/components/ui/ToolbarButton.module.cjs +1 -1
- package/dist/cjs/components/ui/icons.cjs +1 -1
- package/dist/cjs/context/ThemeContext.cjs +1 -1
- package/dist/cjs/hooks/useAnnotationLayer.cjs +1 -1
- package/dist/cjs/hooks/useKeyboardShortcuts.cjs +1 -1
- package/dist/cjs/hooks/useOutline.cjs +1 -1
- package/dist/cjs/hooks/useOverlayRects.cjs +1 -1
- package/dist/cjs/hooks/usePDFLoader.cjs +1 -1
- package/dist/cjs/hooks/useScrollTracking.cjs +1 -1
- package/dist/cjs/hooks/useTextLayer.cjs +1 -1
- package/dist/cjs/hooks/useTextSearch.cjs +1 -1
- package/dist/cjs/hooks/useThumbnails.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/pdf-tsx.css +1 -1
- package/dist/cjs/theme.cjs +1 -1
- package/dist/components/features/PDFSearch.d.ts +1 -1
- package/dist/components/features/PDFSidebarToggle.d.ts +1 -1
- package/dist/components/features/PDFZoomControls.d.ts +1 -1
- package/dist/components/ui/PDFToolbarSeparator.d.ts +1 -0
- package/dist/context/ThemeContext.d.ts +1 -1
- package/dist/es/components/PDFSidebar.js +25 -39
- package/dist/es/components/PDFSidebar.module.js +9 -9
- package/dist/es/components/PDFViewer.js +213 -253
- package/dist/es/components/PDFViewer.module.js +16 -15
- package/dist/es/components/features/PDFAnnotations.js +54 -62
- package/dist/es/components/features/PDFAnnotations.module.js +12 -12
- package/dist/es/components/features/PDFAttachments.js +52 -70
- package/dist/es/components/features/PDFAttachments.module.js +8 -8
- package/dist/es/components/features/PDFChangeFile.js +13 -24
- package/dist/es/components/features/PDFDownloadButton.js +10 -13
- package/dist/es/components/features/PDFNavigation.js +38 -59
- package/dist/es/components/features/PDFNavigation.module.js +3 -3
- package/dist/es/components/features/PDFOutline.js +66 -83
- package/dist/es/components/features/PDFOutline.module.js +5 -5
- package/dist/es/components/features/PDFPageFit.js +18 -23
- package/dist/es/components/features/PDFPrintButton.js +14 -17
- package/dist/es/components/features/PDFRotationControl.js +7 -13
- package/dist/es/components/features/PDFSearch.js +60 -69
- package/dist/es/components/features/PDFSearch.module.js +5 -5
- package/dist/es/components/features/PDFSidebarToggle.js +8 -13
- package/dist/es/components/features/PDFSignatures.js +116 -139
- package/dist/es/components/features/PDFSignatures.module.js +16 -16
- package/dist/es/components/features/PDFThemeToggle.js +10 -11
- package/dist/es/components/features/PDFThumbnails.js +25 -34
- package/dist/es/components/features/PDFThumbnails.module.js +9 -9
- package/dist/es/components/features/PDFZoomControls.js +21 -36
- package/dist/es/components/features/PDFZoomControls.module.js +1 -1
- package/dist/es/components/ui/PDFToolbar.js +53 -83
- package/dist/es/components/ui/PDFToolbar.module.js +9 -9
- package/dist/es/components/ui/PDFToolbarItem.js +10 -19
- package/dist/es/components/ui/PDFToolbarSeparator.js +13 -0
- package/dist/es/components/ui/PDFToolbarSeparator.module.js +3 -0
- package/dist/es/components/ui/ToolbarButton.js +8 -11
- package/dist/es/components/ui/ToolbarButton.module.js +2 -2
- package/dist/es/components/ui/icons.js +5 -16
- package/dist/es/context/ThemeContext.js +28 -38
- package/dist/es/hooks/useAnnotationLayer.js +33 -42
- package/dist/es/hooks/useKeyboardShortcuts.js +25 -34
- package/dist/es/hooks/useOutline.js +18 -23
- package/dist/es/hooks/useOverlayRects.js +42 -51
- package/dist/es/hooks/usePDFLoader.js +17 -16
- package/dist/es/hooks/useScrollTracking.js +24 -25
- package/dist/es/hooks/useTextLayer.js +34 -43
- package/dist/es/hooks/useTextSearch.js +31 -38
- package/dist/es/hooks/useThumbnails.js +33 -44
- package/dist/es/index.js +2 -1
- package/dist/es/pdf-tsx.css +1 -1
- package/dist/es/theme.js +6 -3
- package/dist/hooks/useAttachments.d.ts +1 -1
- package/dist/hooks/useOutline.d.ts +1 -1
- package/dist/hooks/useOverlayRects.d.ts +1 -1
- package/dist/hooks/usePDFLoader.d.ts +1 -0
- package/dist/hooks/usePDFRenderer.d.ts +1 -1
- package/dist/hooks/useSignatures.d.ts +1 -1
- package/dist/hooks/useThumbnails.d.ts +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/theme.d.ts +1 -0
- package/package.json +3 -3
|
@@ -1,72 +1,63 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useEffect as t, useState as n } from "react";
|
|
1
|
+
import { useEffect as e, useState as t } from "react";
|
|
3
2
|
import "pdfjs-dist";
|
|
4
3
|
//#region src/hooks/useOverlayRects.ts
|
|
5
|
-
function
|
|
6
|
-
let
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
i[1] !== a || i[2] !== l || i[3] !== s || i[4] !== c ? (h = () => {
|
|
10
|
-
if (!a || s.length === 0) return;
|
|
4
|
+
function n({ pdf: n, highlight: r, searchMatches: i, zoom: a, rotation: o }) {
|
|
5
|
+
let [s, c] = t(null), [l, u] = t([]);
|
|
6
|
+
return e(() => {
|
|
7
|
+
if (!n || i.length === 0) return;
|
|
11
8
|
let e = !1;
|
|
12
9
|
return (async () => {
|
|
13
10
|
let t = [];
|
|
14
|
-
for (let
|
|
11
|
+
for (let r of i) {
|
|
15
12
|
if (e) break;
|
|
16
|
-
let [
|
|
17
|
-
scale:
|
|
18
|
-
rotation:
|
|
19
|
-
}).convertToViewportRectangle(
|
|
13
|
+
let [i, s, c, l] = (await n.getPage(r.page)).getViewport({
|
|
14
|
+
scale: a,
|
|
15
|
+
rotation: o
|
|
16
|
+
}).convertToViewportRectangle(r.pdfRect);
|
|
20
17
|
t.push({
|
|
21
|
-
page:
|
|
22
|
-
x: Math.min(
|
|
23
|
-
y: Math.min(
|
|
24
|
-
width: Math.abs(
|
|
25
|
-
height: Math.abs(
|
|
18
|
+
page: r.page,
|
|
19
|
+
x: Math.min(i, c),
|
|
20
|
+
y: Math.min(s, l),
|
|
21
|
+
width: Math.abs(c - i),
|
|
22
|
+
height: Math.abs(l - s)
|
|
26
23
|
});
|
|
27
24
|
}
|
|
28
|
-
e ||
|
|
25
|
+
e || u(t);
|
|
29
26
|
})(), () => {
|
|
30
27
|
e = !0;
|
|
31
28
|
};
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
],
|
|
38
|
-
|
|
39
|
-
i[7] !== o || i[8] !== a || i[9] !== l || i[10] !== c ? (_ = () => {
|
|
40
|
-
if (!o || !a) return;
|
|
29
|
+
}, [
|
|
30
|
+
i,
|
|
31
|
+
a,
|
|
32
|
+
o,
|
|
33
|
+
n
|
|
34
|
+
]), e(() => {
|
|
35
|
+
if (!r || !n) return;
|
|
41
36
|
let e = !1;
|
|
42
37
|
return (async () => {
|
|
43
|
-
let [t,
|
|
44
|
-
scale:
|
|
45
|
-
rotation:
|
|
46
|
-
}).convertToViewportRectangle(
|
|
47
|
-
e ||
|
|
48
|
-
page:
|
|
49
|
-
x: Math.min(t,
|
|
50
|
-
y: Math.min(
|
|
51
|
-
width: Math.abs(
|
|
52
|
-
height: Math.abs(
|
|
38
|
+
let [t, i, s, l] = (await n.getPage(r.page)).getViewport({
|
|
39
|
+
scale: a,
|
|
40
|
+
rotation: o
|
|
41
|
+
}).convertToViewportRectangle(r.pdfRect);
|
|
42
|
+
e || c({
|
|
43
|
+
page: r.page,
|
|
44
|
+
x: Math.min(t, s),
|
|
45
|
+
y: Math.min(i, l),
|
|
46
|
+
width: Math.abs(s - t),
|
|
47
|
+
height: Math.abs(l - i)
|
|
53
48
|
});
|
|
54
49
|
})(), () => {
|
|
55
50
|
e = !0;
|
|
56
51
|
};
|
|
57
|
-
},
|
|
52
|
+
}, [
|
|
53
|
+
r,
|
|
54
|
+
a,
|
|
58
55
|
o,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
i[13] !== a || i[14] !== s || i[15] !== p ? (b = !a || s.length === 0 ? [] : p, i[13] = a, i[14] = s, i[15] = p, i[16] = b) : b = i[16];
|
|
65
|
-
let x;
|
|
66
|
-
return i[17] !== y || i[18] !== b ? (x = {
|
|
67
|
-
overlayRect: y,
|
|
68
|
-
searchOverlays: b
|
|
69
|
-
}, i[17] = y, i[18] = b, i[19] = x) : x = i[19], x;
|
|
56
|
+
n
|
|
57
|
+
]), {
|
|
58
|
+
overlayRect: !r || !n ? null : s,
|
|
59
|
+
searchOverlays: !n || i.length === 0 ? [] : l
|
|
60
|
+
};
|
|
70
61
|
}
|
|
71
62
|
//#endregion
|
|
72
|
-
export {
|
|
63
|
+
export { n as useOverlayRects };
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import * as r from "pdfjs-dist";
|
|
1
|
+
import { useEffect as e, useState as t } from "react";
|
|
2
|
+
import * as n from "pdfjs-dist";
|
|
4
3
|
//#region src/hooks/usePDFLoader.ts
|
|
5
|
-
function
|
|
6
|
-
let a =
|
|
7
|
-
|
|
4
|
+
function r(r) {
|
|
5
|
+
let [i, a] = t(null), [o, s] = t(0), [c, l] = t(!0);
|
|
6
|
+
return e(() => {
|
|
7
|
+
l(!0), a(null), s(0);
|
|
8
8
|
let e = new FileReader();
|
|
9
9
|
e.onload = async (e) => {
|
|
10
10
|
let t = new Uint8Array(e.target?.result);
|
|
11
11
|
try {
|
|
12
|
-
let e = await
|
|
13
|
-
|
|
12
|
+
let e = await n.getDocument(t).promise;
|
|
13
|
+
a(e), s(e.numPages);
|
|
14
14
|
} catch (e) {
|
|
15
15
|
console.error("Errore caricamento:", e);
|
|
16
|
+
} finally {
|
|
17
|
+
l(!1);
|
|
16
18
|
}
|
|
17
|
-
}, e.readAsArrayBuffer(
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, a[3] = c, a[4] = o, a[5] = f) : f = a[5], f;
|
|
19
|
+
}, e.readAsArrayBuffer(r);
|
|
20
|
+
}, [r]), {
|
|
21
|
+
pdf: i,
|
|
22
|
+
numPages: o,
|
|
23
|
+
loading: c
|
|
24
|
+
};
|
|
24
25
|
}
|
|
25
26
|
//#endregion
|
|
26
|
-
export {
|
|
27
|
+
export { r as usePDFLoader };
|
|
@@ -1,37 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useEffect as t, useState as n } from "react";
|
|
1
|
+
import { useCallback as e, useEffect as t, useState as n } from "react";
|
|
3
2
|
//#region src/hooks/useScrollTracking.ts
|
|
4
3
|
var r = 10;
|
|
5
|
-
function i(i) {
|
|
6
|
-
let
|
|
7
|
-
|
|
8
|
-
let e =
|
|
4
|
+
function i({ numPages: i, containerRef: a, pageRefs: o }) {
|
|
5
|
+
let [s, c] = n(1);
|
|
6
|
+
return t(() => {
|
|
7
|
+
let e = a.current;
|
|
9
8
|
if (!e) return;
|
|
10
9
|
let t = () => {
|
|
11
|
-
let t = e.getBoundingClientRect().top, n =
|
|
10
|
+
let t = e.getBoundingClientRect().top, n = o.current;
|
|
12
11
|
for (let e = 0; e < n.length; e++) {
|
|
13
12
|
let r = n[e];
|
|
14
|
-
r && r.getBoundingClientRect().top - t <= 150 &&
|
|
13
|
+
r && r.getBoundingClientRect().top - t <= 150 && c(e + 1);
|
|
15
14
|
}
|
|
16
15
|
};
|
|
17
16
|
return e.addEventListener("scroll", t), () => e.removeEventListener("scroll", t);
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
17
|
+
}, [a, o]), {
|
|
18
|
+
currentPage: s,
|
|
19
|
+
goToPage: e((e, t) => {
|
|
20
|
+
let n = Math.min(Math.max(e, 1), i), s = o.current[n - 1], l = a.current;
|
|
21
|
+
if (s && l) {
|
|
22
|
+
let e = s.getBoundingClientRect().top, i = l.getBoundingClientRect().top, a = l.scrollTop + (e - i) - r, o = t === void 0 ? a : a + t;
|
|
23
|
+
l.scrollTo({
|
|
24
|
+
top: o,
|
|
25
|
+
behavior: "smooth"
|
|
26
|
+
}), c(n);
|
|
27
|
+
}
|
|
28
|
+
}, [
|
|
29
|
+
i,
|
|
30
|
+
a,
|
|
31
|
+
o
|
|
32
|
+
])
|
|
33
|
+
};
|
|
35
34
|
}
|
|
36
35
|
//#endregion
|
|
37
36
|
export { i as useScrollTracking };
|
|
@@ -1,55 +1,46 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import * as r from "pdfjs-dist";
|
|
1
|
+
import { useEffect as e, useRef as t } from "react";
|
|
2
|
+
import * as n from "pdfjs-dist";
|
|
4
3
|
//#region src/hooks/useTextLayer.ts
|
|
5
|
-
function
|
|
6
|
-
let
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
a[3] !== o || a[4] !== c || a[5] !== s ? (g = [
|
|
17
|
-
o,
|
|
18
|
-
s,
|
|
19
|
-
c
|
|
20
|
-
], a[3] = o, a[4] = c, a[5] = s, a[6] = g) : g = a[6], t(h, g);
|
|
21
|
-
let _, v;
|
|
22
|
-
return a[7] !== u || a[8] !== l || a[9] !== o || a[10] !== c || a[11] !== s ? (_ = () => {
|
|
23
|
-
if (!o) return;
|
|
4
|
+
function r({ pdf: r, zoom: i, rotation: a, mountedPages: o, canvasRefs: s }) {
|
|
5
|
+
let c = t([]), l = t(/* @__PURE__ */ new Set());
|
|
6
|
+
return e(() => {
|
|
7
|
+
l.current = /* @__PURE__ */ new Set();
|
|
8
|
+
for (let e of c.current) e?.replaceChildren();
|
|
9
|
+
}, [
|
|
10
|
+
r,
|
|
11
|
+
i,
|
|
12
|
+
a
|
|
13
|
+
]), e(() => {
|
|
14
|
+
if (!r) return;
|
|
24
15
|
let e = !1;
|
|
25
16
|
return (async () => {
|
|
26
|
-
for (let t of
|
|
17
|
+
for (let t of o) {
|
|
27
18
|
if (e) break;
|
|
28
|
-
if (
|
|
29
|
-
let
|
|
30
|
-
if (!
|
|
31
|
-
|
|
32
|
-
let
|
|
33
|
-
scale:
|
|
34
|
-
rotation:
|
|
35
|
-
}),
|
|
19
|
+
if (l.current.has(t)) continue;
|
|
20
|
+
let o = c.current[t - 1], u = s.current[t - 1];
|
|
21
|
+
if (!o || !u) continue;
|
|
22
|
+
o.replaceChildren();
|
|
23
|
+
let d = await r.getPage(t), f = d.getViewport({
|
|
24
|
+
scale: i,
|
|
25
|
+
rotation: a
|
|
26
|
+
}), p = await d.getTextContent();
|
|
36
27
|
if (e) break;
|
|
37
|
-
|
|
38
|
-
textContentSource:
|
|
39
|
-
container:
|
|
40
|
-
viewport:
|
|
41
|
-
}).render(), e ||
|
|
28
|
+
o.style.width = `${f.width}px`, o.style.height = `${f.height}px`, await new n.TextLayer({
|
|
29
|
+
textContentSource: p,
|
|
30
|
+
container: o,
|
|
31
|
+
viewport: f
|
|
32
|
+
}).render(), e || l.current.add(t);
|
|
42
33
|
}
|
|
43
34
|
})(), () => {
|
|
44
35
|
e = !0;
|
|
45
36
|
};
|
|
46
|
-
},
|
|
37
|
+
}, [
|
|
38
|
+
r,
|
|
39
|
+
i,
|
|
40
|
+
a,
|
|
47
41
|
o,
|
|
48
|
-
s
|
|
49
|
-
|
|
50
|
-
l,
|
|
51
|
-
u
|
|
52
|
-
], a[7] = u, a[8] = l, a[9] = o, a[10] = c, a[11] = s, a[12] = _, a[13] = v) : (_ = a[12], v = a[13]), t(_, v), f;
|
|
42
|
+
s
|
|
43
|
+
]), c;
|
|
53
44
|
}
|
|
54
45
|
//#endregion
|
|
55
|
-
export {
|
|
46
|
+
export { r as useTextLayer };
|
|
@@ -1,64 +1,57 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useEffect as t, useState as n } from "react";
|
|
1
|
+
import { useEffect as e, useState as t } from "react";
|
|
3
2
|
import "pdfjs-dist";
|
|
4
3
|
//#region src/hooks/useTextSearch.ts
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
var n = [];
|
|
5
|
+
function r({ pdf: r, query: i }) {
|
|
6
|
+
let [a, o] = t({
|
|
8
7
|
query: "",
|
|
9
8
|
matches: []
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (!a || !e) return;
|
|
9
|
+
});
|
|
10
|
+
e(() => {
|
|
11
|
+
let e = i.trim().toLowerCase();
|
|
12
|
+
if (!r || !e) return;
|
|
15
13
|
let t = !1;
|
|
16
14
|
return (async () => {
|
|
17
15
|
let n = [];
|
|
18
|
-
for (let
|
|
19
|
-
let t = await (await
|
|
20
|
-
for (let
|
|
21
|
-
if (!("str" in
|
|
22
|
-
let t =
|
|
16
|
+
for (let i = 1; i <= r.numPages && !t; i++) {
|
|
17
|
+
let t = await (await r.getPage(i)).getTextContent();
|
|
18
|
+
for (let r of t.items) {
|
|
19
|
+
if (!("str" in r)) continue;
|
|
20
|
+
let t = r.str.toLowerCase(), a = t.indexOf(e);
|
|
23
21
|
if (a === -1) continue;
|
|
24
|
-
let o =
|
|
22
|
+
let o = r.transform, s = o[0], c = o[4], l = o[5], u = r.width, d = r.height, f = u / (t.length || 1);
|
|
25
23
|
for (; a !== -1;) {
|
|
26
|
-
let
|
|
24
|
+
let r = c + a * f * +(s > 0), o = e.length * f;
|
|
27
25
|
n.push({
|
|
28
|
-
page:
|
|
26
|
+
page: i,
|
|
29
27
|
pdfRect: [
|
|
30
|
-
|
|
28
|
+
r,
|
|
31
29
|
l,
|
|
32
|
-
|
|
30
|
+
r + o,
|
|
33
31
|
l + d
|
|
34
32
|
]
|
|
35
33
|
}), a = t.indexOf(e, a + 1);
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
|
-
t ||
|
|
40
|
-
query:
|
|
37
|
+
t || o({
|
|
38
|
+
query: i,
|
|
41
39
|
matches: n
|
|
42
40
|
});
|
|
43
41
|
})(), () => {
|
|
44
42
|
t = !0;
|
|
45
43
|
};
|
|
46
|
-
},
|
|
47
|
-
let
|
|
48
|
-
if (!
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
let h;
|
|
58
|
-
return i[9] !== p || i[10] !== m ? (h = {
|
|
59
|
-
matches: m,
|
|
60
|
-
searching: p
|
|
61
|
-
}, i[9] = p, i[10] = m, i[11] = h) : h = i[11], h;
|
|
44
|
+
}, [r, i]);
|
|
45
|
+
let s = i.trim();
|
|
46
|
+
if (!r || !s) return {
|
|
47
|
+
matches: n,
|
|
48
|
+
searching: !1
|
|
49
|
+
};
|
|
50
|
+
let c = a.query !== i;
|
|
51
|
+
return {
|
|
52
|
+
matches: c ? n : a.matches,
|
|
53
|
+
searching: c
|
|
54
|
+
};
|
|
62
55
|
}
|
|
63
56
|
//#endregion
|
|
64
57
|
export { r as useTextSearch };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useEffect as t, useReducer as n, useRef as r } from "react";
|
|
1
|
+
import { useEffect as e, useReducer as t, useRef as n } from "react";
|
|
3
2
|
import "pdfjs-dist";
|
|
4
3
|
//#region src/hooks/useThumbnails.ts
|
|
5
|
-
function
|
|
4
|
+
function r(e, t) {
|
|
6
5
|
if (t.type === "reset") return {
|
|
7
6
|
thumbnails: Array(t.numPages).fill(null),
|
|
8
7
|
version: e.version + 1
|
|
@@ -16,77 +15,67 @@ function i(e, t) {
|
|
|
16
15
|
}
|
|
17
16
|
return e;
|
|
18
17
|
}
|
|
19
|
-
function
|
|
20
|
-
let
|
|
21
|
-
o[0] === Symbol.for("react.memo_cache_sentinel") ? (u = {
|
|
18
|
+
function i({ pdf: i, rotation: a, visiblePages: o }) {
|
|
19
|
+
let [{ thumbnails: s, version: c }, l] = t(r, {
|
|
22
20
|
thumbnails: [],
|
|
23
21
|
version: 0
|
|
24
|
-
},
|
|
25
|
-
let [d, f] = n(i, u), { thumbnails: p, version: m } = d, h;
|
|
26
|
-
o[1] === Symbol.for("react.memo_cache_sentinel") ? (h = /* @__PURE__ */ new Set(), o[1] = h) : h = o[1];
|
|
27
|
-
let g = r(h), _;
|
|
28
|
-
o[2] === Symbol.for("react.memo_cache_sentinel") ? (_ = {
|
|
22
|
+
}), u = n(/* @__PURE__ */ new Set()), d = n({
|
|
29
23
|
pdf: null,
|
|
30
24
|
rotation: 0
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
f({
|
|
25
|
+
});
|
|
26
|
+
return e(() => {
|
|
27
|
+
if (!i) {
|
|
28
|
+
l({
|
|
36
29
|
type: "reset",
|
|
37
30
|
numPages: 0
|
|
38
|
-
}),
|
|
31
|
+
}), u.current.clear(), d.current = {
|
|
39
32
|
pdf: null,
|
|
40
33
|
rotation: 0
|
|
41
34
|
};
|
|
42
35
|
return;
|
|
43
36
|
}
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
pdf:
|
|
47
|
-
rotation:
|
|
48
|
-
},
|
|
37
|
+
if (d.current.pdf !== i || d.current.rotation !== a) {
|
|
38
|
+
d.current = {
|
|
39
|
+
pdf: i,
|
|
40
|
+
rotation: a
|
|
41
|
+
}, u.current.clear(), l({
|
|
49
42
|
type: "reset",
|
|
50
|
-
numPages:
|
|
43
|
+
numPages: i.numPages
|
|
51
44
|
});
|
|
52
45
|
return;
|
|
53
46
|
}
|
|
54
|
-
let e =
|
|
47
|
+
let e = o.filter((e) => !u.current.has(e));
|
|
55
48
|
if (e.length === 0) return;
|
|
56
49
|
let t = !1;
|
|
57
50
|
return (async () => {
|
|
58
51
|
for (let n of e) {
|
|
59
52
|
if (t) break;
|
|
60
|
-
let e = await
|
|
53
|
+
let e = await i.getPage(n), r = e.getViewport({
|
|
61
54
|
scale: .2,
|
|
62
|
-
rotation:
|
|
63
|
-
}),
|
|
64
|
-
if (
|
|
65
|
-
if (
|
|
66
|
-
canvasContext:
|
|
55
|
+
rotation: a
|
|
56
|
+
}), o = document.createElement("canvas"), s = o.getContext("2d");
|
|
57
|
+
if (s) {
|
|
58
|
+
if (o.height = r.height, o.width = r.width, await e.render({
|
|
59
|
+
canvasContext: s,
|
|
67
60
|
viewport: r,
|
|
68
|
-
canvas:
|
|
61
|
+
canvas: o
|
|
69
62
|
}).promise, t) break;
|
|
70
|
-
|
|
63
|
+
u.current.add(n), l({
|
|
71
64
|
type: "set",
|
|
72
65
|
pageNum: n,
|
|
73
|
-
dataUrl:
|
|
66
|
+
dataUrl: o.toDataURL()
|
|
74
67
|
});
|
|
75
68
|
}
|
|
76
69
|
}
|
|
77
70
|
})(), () => {
|
|
78
71
|
t = !0;
|
|
79
72
|
};
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
c
|
|
85
|
-
|
|
86
|
-
m
|
|
87
|
-
], o[7] = s, o[8] = c, o[9] = m, o[10] = l, o[11] = b) : b = o[11], t(y, b);
|
|
88
|
-
let x;
|
|
89
|
-
return o[12] === p ? x = o[13] : (x = { thumbnails: p }, o[12] = p, o[13] = x), x;
|
|
73
|
+
}, [
|
|
74
|
+
i,
|
|
75
|
+
a,
|
|
76
|
+
o,
|
|
77
|
+
c
|
|
78
|
+
]), { thumbnails: s };
|
|
90
79
|
}
|
|
91
80
|
//#endregion
|
|
92
|
-
export {
|
|
81
|
+
export { i as useThumbnails };
|
package/dist/es/index.js
CHANGED
|
@@ -18,4 +18,5 @@ import { PDFPrintButton as b } from "./components/features/PDFPrintButton.js";
|
|
|
18
18
|
import { PDFSidebarToggle as x } from "./components/features/PDFSidebarToggle.js";
|
|
19
19
|
import { PDFToolbar as S } from "./components/ui/PDFToolbar.js";
|
|
20
20
|
import { PDFToolbarItem as C } from "./components/ui/PDFToolbarItem.js";
|
|
21
|
-
|
|
21
|
+
import { PDFToolbarSeparator as w } from "./components/ui/PDFToolbarSeparator.js";
|
|
22
|
+
export { o as PDFAnnotations, s as PDFAnnotationsIcon, i as PDFAttachments, a as PDFAttachmentsIcon, c as PDFChangeFile, l as PDFDownloadButton, u as PDFNavigation, d as PDFOutline, f as PDFPageFit, b as PDFPrintButton, p as PDFRotationControl, m as PDFSearch, r as PDFSidebar, x as PDFSidebarToggle, h as PDFSignatures, g as PDFSignaturesIcon, y as PDFThemeToggle, _ as PDFThumbnails, S as PDFToolbar, C as PDFToolbarItem, w as PDFToolbarSeparator, n as PDFViewer, v as PDFZoomControls, e as darkTheme, t as lightTheme };
|
package/dist/es/pdf-tsx.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
._wrapper_1xud4_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1xud4_13{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1xud4_31{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1xud4_51{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1xud4_69{cursor:pointer;width:44px;height:44px;color:var(--pdf-text-muted);background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;transition:background-color .15s,color .15s;display:flex}._panelButton_1xud4_69:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1xud4_109{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1xud4_109:hover{color:var(--pdf-accent-light)}._contentPanel_1xud4_127{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1xud4_143{color:var(--pdf-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-header-bg);flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600}._panelBody_1xud4_167{flex:1;overflow-y:auto}._appLayout_1t51x_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_1t51x_17{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_1t51x_33{border-bottom:1px solid var(--pdf-border);background-color:var(--pdf-bg);z-index:10;flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex}._scrollContainer_1t51x_57{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_1t51x_77{margin-bottom:25px;position:relative}._pageCanvas_1t51x_87{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_1t51x_105{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}._textLayer_1t51x_105 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_1t51x_105>:not(._markedContent_1t51x_157),._textLayer_1t51x_105 ._markedContent_1t51x_157 span:not(._markedContent_1t51x_157){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_1t51x_105 ._markedContent_1t51x_157{display:contents}._textLayer_1t51x_105 ._endOfContent_1t51x_187{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_1t51x_105._selecting_1t51x_205 ._endOfContent_1t51x_187{top:0}._textLayer_1t51x_105 ::selection{background:#0000ff40}._textLayer_1t51x_105 br::selection{background:0 0}._pageSkeleton_1t51x_245{z-index:0;pointer-events:none;background:#fff;border-radius:1px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}._pageSkeleton_1t51x_245:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_1t51x_1}@keyframes _spin_1t51x_1{to{transform:rotate(360deg)}}._highlightOverlay_1t51x_299{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_1t51x_317{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_1t51x_331{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_185ig_1{flex-direction:column;display:flex}._emptyState_185ig_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_185ig_23{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--pdf-panel-header-bg);border-bottom:1px solid var(--pdf-panel-border);padding:5px 12px;font-size:10px;font-weight:600}._card_185ig_45{border:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-bg);border-radius:6px;margin:8px;padding:10px 12px;font-size:12px;transition:box-shadow .12s}._cardClickable_185ig_65{cursor:pointer}._cardClickable_185ig_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_185ig_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_185ig_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_185ig_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_185ig_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_185ig_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_185ig_141{justify-content:center;align-items:center;display:flex;position:relative}._badge_185ig_155{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._list_8oiyp_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_8oiyp_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_8oiyp_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}._fileIcon_8oiyp_65{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_8oiyp_79{min-width:0;color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}._downloadBtn_8oiyp_101{border:1px solid var(--pdf-border);background:var(--pdf-surface);width:28px;height:28px;color:var(--pdf-text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}._downloadBtn_8oiyp_101:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_8oiyp_153{justify-content:center;align-items:center;display:flex;position:relative}._badge_8oiyp_167{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._btn_12ml0_1{color:var(--pdf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._btn_12ml0_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_12ml0_1:disabled{color:var(--pdf-border);cursor:default}._primary_12ml0_57{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_12ml0_57:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_1s04k_1{align-items:center;gap:2px;display:flex}._pageInput_1s04k_13{background:var(--pdf-surface);width:32px;color:var(--pdf-text-primary);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;border-radius:4px;outline:none;padding:3px 4px;font-family:inherit;font-size:12px}._pageInput_1s04k_13:focus{border-color:var(--pdf-accent);background:var(--pdf-bg)}._pageInput_1s04k_13::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_1s04k_13::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_1s04k_13{-moz-appearance:textfield}._pageTotal_1s04k_69{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_1w4ic_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_1w4ic_13{flex-direction:column;padding:4px 0;display:flex}._row_1w4ic_25{color:var(--pdf-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:5px 12px;font-size:12px;line-height:1.4;display:flex}._row_1w4ic_25:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_1w4ic_61{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_1w4ic_61:hover{color:var(--pdf-text-muted)}._title_1w4ic_91{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_4qrs1_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_4qrs1_13{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_4qrs1_25{background:var(--pdf-surface);border:1px solid var(--pdf-border);color:var(--pdf-text-primary);border-radius:4px;outline:none;width:180px;padding:4px 8px;font-family:inherit;font-size:13px}._searchInput_4qrs1_25:focus{border-color:var(--pdf-accent)}._searchInput_4qrs1_25::placeholder{color:var(--pdf-text-placeholder)}._navButton_4qrs1_65{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_4qrs1_65:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_4qrs1_65:disabled{color:var(--pdf-border);cursor:default}._counter_4qrs1_107{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_irrdi_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_irrdi_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_irrdi_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;cursor:default;box-sizing:border-box;border-radius:8px;width:100%;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}._cardSigned_irrdi_63{background:#22c55e0a;border-color:#22c55e47}._cardClickable_irrdi_73{cursor:pointer}._cardClickable_irrdi_73:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_irrdi_63._cardClickable_irrdi_73:hover{border-color:#22c55e73}._cardBody_irrdi_99{padding:10px 12px 10px 16px}._cardHeader_irrdi_107{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_irrdi_123{color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}._statusChip_irrdi_145{text-transform:uppercase;letter-spacing:.5px;background:var(--pdf-surface-hover);color:var(--pdf-text-muted);border:1px solid var(--pdf-border);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}._statusChipSigned_irrdi_177{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_irrdi_189{flex-direction:column;gap:4px;display:flex}._fieldRow_irrdi_201{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_irrdi_217{color:var(--pdf-text-muted);font-weight:500}._fieldValue_irrdi_227{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_irrdi_237{justify-content:center;align-items:center;display:flex;position:relative}._badge_irrdi_251{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._thumbnailList_vk7sw_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_vk7sw_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_vk7sw_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_vk7sw_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_vk7sw_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_vk7sw_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_vk7sw_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_vk7sw_75{background:linear-gradient(90deg, var(--pdf-surface) 25%, var(--pdf-surface-hover) 50%, var(--pdf-surface) 75%);background-size:200% 100%;border-radius:2px;width:120px;height:160px;animation:1.4s infinite _shimmer_vk7sw_1}@keyframes _shimmer_vk7sw_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_vk7sw_103{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_vk7sw_117{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_1r6if_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_1k80o_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1k80o_17{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1k80o_29{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1k80o_41{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1k80o_51{background:var(--pdf-bg);border:1px solid var(--pdf-border);z-index:100;border-radius:6px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0000002e}._dropdownItem_1k80o_81{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1k80o_81>*{flex-shrink:0}._labeledItem_1k80o_105{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1k80o_119{flex-shrink:0;align-items:center;display:flex}._itemLabel_1k80o_131{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._dropdownItem_1k80o_81:hover{background:var(--pdf-surface-hover)}
|
|
1
|
+
._wrapper_1kvg0_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1kvg0_7{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1kvg0_16{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1kvg0_26{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1kvg0_35{cursor:pointer;width:44px;height:44px;color:var(--pdf-text-muted);background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;transition:background-color .15s,color .15s;display:flex}._panelButton_1kvg0_35:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1kvg0_57{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1kvg0_57:hover{color:var(--pdf-accent-light)}._contentPanel_1kvg0_66{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1kvg0_74{color:var(--pdf-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-header-bg);flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600}._panelBody_1kvg0_86{flex:1;overflow-y:auto}._appLayout_18euq_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_18euq_9{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_18euq_17{border-bottom:1px solid var(--pdf-border);background-color:var(--pdf-bg);z-index:10;flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex}._scrollContainer_18euq_29{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;position:relative;overflow-y:auto}._pageWrapper_18euq_40{margin-bottom:25px;position:relative}._pageCanvas_18euq_45{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_18euq_54{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}._textLayer_18euq_54 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_18euq_54>:not(._markedContent_18euq_80),._textLayer_18euq_54 ._markedContent_18euq_80 span:not(._markedContent_18euq_80){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_18euq_54 ._markedContent_18euq_80{display:contents}._textLayer_18euq_54 ._endOfContent_18euq_95{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_18euq_54._selecting_18euq_104 ._endOfContent_18euq_95{top:0}._textLayer_18euq_54 ::selection{background:#0000ff40}._textLayer_18euq_54 br::selection{background:0 0}._documentLoading_18euq_124{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._documentLoading_18euq_124:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite _spin_18euq_1}._pageSkeleton_18euq_144{z-index:0;pointer-events:none;background:#fff;border-radius:1px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}._pageSkeleton_18euq_144:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_18euq_1}@keyframes _spin_18euq_1{to{transform:rotate(360deg)}}._highlightOverlay_18euq_173{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_18euq_182{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_18euq_189{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_113xr_1{flex-direction:column;display:flex}._emptyState_113xr_6{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_113xr_12{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--pdf-panel-header-bg);border-bottom:1px solid var(--pdf-panel-border);padding:5px 12px;font-size:10px;font-weight:600}._card_113xr_23{border:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-bg);border-radius:6px;margin:8px;padding:10px 12px;font-size:12px;transition:box-shadow .12s}._cardClickable_113xr_33{cursor:pointer}._cardClickable_113xr_33:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_113xr_41{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_113xr_48{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_113xr_54{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_113xr_59{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_113xr_65{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_113xr_71{justify-content:center;align-items:center;display:flex;position:relative}._badge_113xr_78{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._list_12ybz_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_12ybz_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_12ybz_15{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}._fileIcon_12ybz_33{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_12ybz_40{min-width:0;color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}._downloadBtn_12ybz_51{border:1px solid var(--pdf-border);background:var(--pdf-surface);width:28px;height:28px;color:var(--pdf-text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}._downloadBtn_12ybz_51:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_12ybz_77{justify-content:center;align-items:center;display:flex;position:relative}._badge_12ybz_84{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._btn_1dub8_1{color:var(--pdf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._btn_1dub8_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_1dub8_1:disabled{color:var(--pdf-border);cursor:default}._primary_1dub8_31{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_1dub8_31:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_14eo9_1{align-items:center;gap:2px;display:flex}._pageInput_14eo9_7{background:var(--pdf-surface);width:32px;color:var(--pdf-text-primary);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;border-radius:4px;outline:none;padding:3px 4px;font-family:inherit;font-size:12px}._pageInput_14eo9_7:focus{border-color:var(--pdf-accent)}._pageInput_14eo9_7::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_14eo9_7::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_14eo9_7{-moz-appearance:textfield}._pageTotal_14eo9_34{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_hqvdn_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_hqvdn_7{flex-direction:column;padding:4px 0;display:flex}._row_hqvdn_13{color:var(--pdf-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:5px 12px;font-size:12px;line-height:1.4;display:flex}._row_hqvdn_13:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_hqvdn_31{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_hqvdn_31:hover{color:var(--pdf-text-muted)}._title_hqvdn_46{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_18kvs_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_18kvs_7{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_18kvs_13{background:var(--pdf-surface);border:1px solid var(--pdf-border);color:var(--pdf-text-primary);border-radius:4px;outline:none;width:180px;padding:4px 8px;font-family:inherit;font-size:13px}._searchInput_18kvs_13:focus{border-color:var(--pdf-accent)}._searchInput_18kvs_13::placeholder{color:var(--pdf-text-placeholder)}._navButton_18kvs_33{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_18kvs_33:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_18kvs_33:disabled{color:var(--pdf-border);cursor:default}._counter_18kvs_54{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_b0wj1_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_b0wj1_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_b0wj1_15{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;cursor:default;box-sizing:border-box;border-radius:8px;width:100%;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}._cardSigned_b0wj1_32{background:#22c55e0a;border-color:#22c55e47}._cardClickable_b0wj1_37{cursor:pointer}._cardClickable_b0wj1_37:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_b0wj1_32._cardClickable_b0wj1_37:hover{border-color:#22c55e73}._cardBody_b0wj1_50{padding:10px 12px 10px 16px}._cardHeader_b0wj1_54{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_b0wj1_62{color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}._statusChip_b0wj1_73{text-transform:uppercase;letter-spacing:.5px;background:var(--pdf-surface-hover);color:var(--pdf-text-muted);border:1px solid var(--pdf-border);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}._statusChipSigned_b0wj1_89{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_b0wj1_95{flex-direction:column;gap:4px;display:flex}._fieldRow_b0wj1_101{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_b0wj1_109{color:var(--pdf-text-muted);font-weight:500}._fieldValue_b0wj1_114{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_b0wj1_119{justify-content:center;align-items:center;display:flex;position:relative}._badge_b0wj1_126{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._thumbnailList_t3mg8_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_t3mg8_6{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_t3mg8_6:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_t3mg8_19{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_t3mg8_19:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_t3mg8_28{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_t3mg8_34{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_t3mg8_40{background:linear-gradient(90deg, var(--pdf-surface) 25%, var(--pdf-surface-hover) 50%, var(--pdf-surface) 75%);background-size:200% 100%;border-radius:2px;width:120px;height:160px;animation:1.4s infinite _shimmer_t3mg8_1}@keyframes _shimmer_t3mg8_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_t3mg8_63{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_t3mg8_70{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_m8iv9_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_xoqxq_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_xoqxq_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_xoqxq_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_xoqxq_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_xoqxq_26{background:var(--pdf-bg);border:1px solid var(--pdf-border);z-index:100;border-radius:6px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0000002e}._dropdownItem_xoqxq_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_xoqxq_41>*{flex-shrink:0}._labeledItem_xoqxq_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_xoqxq_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_xoqxq_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._dropdownItem_xoqxq_41:hover{background:var(--pdf-surface-hover)}._separator_uif34_1{background:var(--pdf-toolbar-separator);flex-shrink:0;width:1px;height:20px;margin:0 4px}
|
|
2
2
|
/*$vite$:1*/
|
package/dist/es/theme.js
CHANGED
|
@@ -20,7 +20,8 @@ var e = {
|
|
|
20
20
|
panelBorder: "#27272a",
|
|
21
21
|
panelHeaderBg: "#18181b",
|
|
22
22
|
shadowPage: "rgba(0, 0, 0, 0.4)",
|
|
23
|
-
badgeBg: "#3b82f6"
|
|
23
|
+
badgeBg: "#3b82f6",
|
|
24
|
+
toolbarSeparator: "#3f3f46"
|
|
24
25
|
}, t = {
|
|
25
26
|
fontFamily: "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif",
|
|
26
27
|
bg: "#f4f4f5",
|
|
@@ -42,7 +43,8 @@ var e = {
|
|
|
42
43
|
panelBorder: "#e4e4e7",
|
|
43
44
|
panelHeaderBg: "#fafafa",
|
|
44
45
|
shadowPage: "rgba(0, 0, 0, 0.12)",
|
|
45
|
-
badgeBg: "#3b82f6"
|
|
46
|
+
badgeBg: "#3b82f6",
|
|
47
|
+
toolbarSeparator: "#e4e4e7"
|
|
46
48
|
};
|
|
47
49
|
function n(e) {
|
|
48
50
|
return {
|
|
@@ -66,7 +68,8 @@ function n(e) {
|
|
|
66
68
|
"--pdf-panel-border": e.panelBorder,
|
|
67
69
|
"--pdf-panel-header-bg": e.panelHeaderBg,
|
|
68
70
|
"--pdf-shadow-page": e.shadowPage,
|
|
69
|
-
"--pdf-badge-bg": e.badgeBg
|
|
71
|
+
"--pdf-badge-bg": e.badgeBg,
|
|
72
|
+
"--pdf-toolbar-separator": e.toolbarSeparator
|
|
70
73
|
};
|
|
71
74
|
}
|
|
72
75
|
//#endregion
|