pdf-tsx 0.11.0 → 0.13.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.
Files changed (74) hide show
  1. package/README.md +486 -418
  2. package/dist/cjs/components/PDFViewer.cjs +1 -1
  3. package/dist/cjs/components/PDFViewer.module.cjs +1 -1
  4. package/dist/cjs/components/features/PDFAnnotations.cjs +1 -1
  5. package/dist/cjs/components/features/PDFAnnotations.module.cjs +1 -1
  6. package/dist/cjs/components/features/PDFAttachments.cjs +1 -1
  7. package/dist/cjs/components/features/PDFChangeFile.cjs +1 -1
  8. package/dist/cjs/components/features/PDFDownloadButton.cjs +1 -1
  9. package/dist/cjs/components/features/PDFNavigation.cjs +1 -1
  10. package/dist/cjs/components/features/PDFOutline.cjs +1 -1
  11. package/dist/cjs/components/features/PDFPageFit.cjs +1 -1
  12. package/dist/cjs/components/features/PDFPrintButton.cjs +1 -1
  13. package/dist/cjs/components/features/PDFRotationControl.cjs +1 -1
  14. package/dist/cjs/components/features/PDFSearch.cjs +1 -1
  15. package/dist/cjs/components/features/PDFSidebarToggle.cjs +1 -1
  16. package/dist/cjs/components/features/PDFSignatures.cjs +1 -1
  17. package/dist/cjs/components/features/PDFThemeToggle.cjs +1 -1
  18. package/dist/cjs/components/features/PDFThumbnails.cjs +1 -1
  19. package/dist/cjs/components/features/PDFZoomControls.cjs +1 -1
  20. package/dist/cjs/components/ui/PDFToolbar.cjs +1 -1
  21. package/dist/cjs/context/LabelsContext.cjs +1 -0
  22. package/dist/cjs/context/labelsContextValue.cjs +1 -0
  23. package/dist/cjs/hooks/useAnnotationLayer.cjs +1 -1
  24. package/dist/cjs/hooks/useAnnotations.cjs +1 -1
  25. package/dist/cjs/hooks/useLabels.cjs +1 -0
  26. package/dist/cjs/index.cjs +1 -1
  27. package/dist/cjs/labels.cjs +1 -0
  28. package/dist/cjs/pdf-tsx.css +1 -1
  29. package/dist/components/PDFViewer.d.ts +3 -0
  30. package/dist/components/features/PDFChangeFile.d.ts +1 -1
  31. package/dist/components/features/PDFDownloadButton.d.ts +1 -1
  32. package/dist/components/features/PDFNavigation.d.ts +1 -1
  33. package/dist/components/features/PDFPageFit.d.ts +1 -1
  34. package/dist/components/features/PDFPrintButton.d.ts +1 -1
  35. package/dist/components/features/PDFRotationControl.d.ts +1 -1
  36. package/dist/components/features/PDFSearch.d.ts +3 -2
  37. package/dist/components/features/PDFSidebarToggle.d.ts +1 -1
  38. package/dist/components/features/PDFThemeToggle.d.ts +1 -1
  39. package/dist/components/features/PDFZoomControls.d.ts +1 -1
  40. package/dist/context/LabelsContext.d.ts +7 -0
  41. package/dist/context/PDFViewerContext.d.ts +1 -0
  42. package/dist/context/labelsContextValue.d.ts +2 -0
  43. package/dist/es/components/PDFViewer.js +359 -187
  44. package/dist/es/components/PDFViewer.module.js +23 -16
  45. package/dist/es/components/features/PDFAnnotations.js +132 -62
  46. package/dist/es/components/features/PDFAnnotations.module.js +12 -12
  47. package/dist/es/components/features/PDFAttachments.js +42 -41
  48. package/dist/es/components/features/PDFChangeFile.js +17 -16
  49. package/dist/es/components/features/PDFDownloadButton.js +15 -14
  50. package/dist/es/components/features/PDFNavigation.js +40 -38
  51. package/dist/es/components/features/PDFOutline.js +46 -45
  52. package/dist/es/components/features/PDFPageFit.js +19 -18
  53. package/dist/es/components/features/PDFPrintButton.js +14 -13
  54. package/dist/es/components/features/PDFRotationControl.js +12 -11
  55. package/dist/es/components/features/PDFSearch.js +71 -55
  56. package/dist/es/components/features/PDFSidebarToggle.js +13 -12
  57. package/dist/es/components/features/PDFSignatures.js +87 -84
  58. package/dist/es/components/features/PDFThemeToggle.js +12 -11
  59. package/dist/es/components/features/PDFThumbnails.js +33 -32
  60. package/dist/es/components/features/PDFZoomControls.js +23 -22
  61. package/dist/es/components/ui/PDFToolbar.js +56 -55
  62. package/dist/es/context/LabelsContext.js +14 -0
  63. package/dist/es/context/labelsContextValue.js +5 -0
  64. package/dist/es/hooks/useAnnotationLayer.js +37 -20
  65. package/dist/es/hooks/useAnnotations.js +5 -3
  66. package/dist/es/hooks/useLabels.js +9 -0
  67. package/dist/es/index.js +22 -21
  68. package/dist/es/labels.js +128 -0
  69. package/dist/es/pdf-tsx.css +1 -1
  70. package/dist/hooks/useAnnotationLayer.d.ts +15 -1
  71. package/dist/hooks/useLabels.d.ts +2 -0
  72. package/dist/index.d.ts +2 -0
  73. package/dist/labels.d.ts +53 -0
  74. package/package.json +2 -1
@@ -6,216 +6,388 @@ import { isSafeUrl as i } from "../utils/url.js";
6
6
  import { useAnnotationLayer as a } from "../hooks/useAnnotationLayer.js";
7
7
  import { usePDFLoader as ee } from "../hooks/usePDFLoader.js";
8
8
  import { usePDFRenderer as te } from "../hooks/usePDFRenderer.js";
9
- import { useOverlayRects as o } from "../hooks/useOverlayRects.js";
10
- import { computeFit as s } from "../utils/pdfFit.js";
11
- import { ThemeProvider as c } from "../context/ThemeContext.js";
12
- import l from "./PDFViewer.module.js";
13
- import { useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
14
- import * as h from "pdfjs-dist";
15
- import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
9
+ import { useOverlayRects as ne } from "../hooks/useOverlayRects.js";
10
+ import { computeFit as o } from "../utils/pdfFit.js";
11
+ import { ThemeProvider as re } from "../context/ThemeContext.js";
12
+ import { LabelsProvider as ie } from "../context/LabelsContext.js";
13
+ import { useLabels as s } from "../hooks/useLabels.js";
14
+ import c from "./PDFViewer.module.js";
15
+ import { useCallback as l, useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
16
+ import * as ae from "pdfjs-dist";
17
+ import { Fragment as oe, jsx as m, jsxs as h } from "react/jsx-runtime";
16
18
  //#region src/components/PDFViewer.tsx
17
- var y = 2, b = ({ file: b, workerSrc: x, sidebar: S, toolbar: C, onChangeFile: w, themeOverrides: ne, defaultTheme: re, defaultFit: T, className: E, style: ie }) => {
18
- d(() => {
19
- h.GlobalWorkerOptions.workerSrc = x;
20
- }, [x]);
21
- let [D, O] = m(1), [k, A] = m(0), [j, M] = m(null), [N, ae] = m([]), [P, F] = m(!1), [I, L] = m(T ?? null), R = p(null), z = p([]), B = p([]), V = p(k);
22
- d(() => {
23
- V.current = k;
24
- }, [k]);
25
- let [H, U] = m(null);
26
- H !== b && (U(b), M(null));
27
- let { pdf: W, numPages: G, loading: K } = ee(b);
28
- d(() => {
29
- W && (z.current = Array(W.numPages).fill(null), B.current = Array(W.numPages).fill(null));
30
- }, [W]), d(() => {
31
- !W || !T || !R.current || s(T, W, R.current, V.current).then(O);
32
- }, [W, T]);
33
- let q = p(I);
34
- d(() => {
35
- q.current = I;
36
- }, [I]), d(() => {
37
- if (!W || !R.current) return;
38
- let e = R.current, t = new ResizeObserver(() => {
39
- q.current && s(q.current, W, e, V.current).then(O);
19
+ var g = 2;
20
+ function se({ hasRead: e }) {
21
+ let t = s();
22
+ return /* @__PURE__ */ h("div", {
23
+ className: `${c.requireReadBanner} ${e ? c.requireReadDone : ""}`,
24
+ children: [e ? /* @__PURE__ */ m("svg", {
25
+ width: "16",
26
+ height: "16",
27
+ viewBox: "0 0 16 16",
28
+ fill: "none",
29
+ "aria-hidden": "true",
30
+ children: /* @__PURE__ */ m("path", {
31
+ d: "M3 8l3.5 3.5L13 4.5",
32
+ stroke: "currentColor",
33
+ strokeWidth: "2",
34
+ strokeLinecap: "round",
35
+ strokeLinejoin: "round"
36
+ })
37
+ }) : /* @__PURE__ */ m("svg", {
38
+ width: "16",
39
+ height: "16",
40
+ viewBox: "0 0 16 16",
41
+ fill: "none",
42
+ "aria-hidden": "true",
43
+ children: /* @__PURE__ */ m("path", {
44
+ d: "M8 3v10M4 9l4 4 4-4",
45
+ stroke: "currentColor",
46
+ strokeWidth: "2",
47
+ strokeLinecap: "round",
48
+ strokeLinejoin: "round"
49
+ })
50
+ }), /* @__PURE__ */ m("span", { children: e ? t.requireReadDone : t.requireReadPending })]
51
+ });
52
+ }
53
+ var _ = ({ file: s, workerSrc: _, sidebar: ce, toolbar: v, onChangeFile: y, themeOverrides: le, defaultTheme: ue, defaultFit: b, language: de, className: x, style: fe, requireRead: S, onDocumentRead: C }) => {
54
+ u(() => {
55
+ ae.GlobalWorkerOptions.workerSrc = _;
56
+ }, [_]);
57
+ let [w, T] = p(1), [E, D] = p(0), [O, k] = p(null), [A, pe] = p([]), [j, me] = p(!1), [M, N] = p(b ?? null), [P, F] = p(null), [I, L] = p(!1), R = f(!1), z = f(null), B = f([]), V = f([]), H = f(E);
58
+ u(() => {
59
+ H.current = E;
60
+ }, [E]);
61
+ let [he, ge] = p(null);
62
+ he !== s && (ge(s), k(null), L(!1), R.current = !1);
63
+ let { pdf: U, numPages: W, loading: _e } = ee(s);
64
+ u(() => {
65
+ L(!1), R.current = !1;
66
+ }, [S]), u(() => {
67
+ U && (B.current = Array(U.numPages).fill(null), V.current = Array(U.numPages).fill(null));
68
+ }, [U]), u(() => {
69
+ !U || !b || !z.current || o(b, U, z.current, H.current).then(T);
70
+ }, [U, b]);
71
+ let G = f(M);
72
+ u(() => {
73
+ G.current = M;
74
+ }, [M]), u(() => {
75
+ if (!U || !z.current) return;
76
+ let e = z.current, t = new ResizeObserver(() => {
77
+ G.current && o(G.current, U, e, H.current).then(T);
40
78
  });
41
79
  return t.observe(e), () => t.disconnect();
42
- }, [W]);
43
- let { currentPage: J, goToPage: Y } = t({
44
- numPages: G,
45
- containerRef: R,
46
- pageRefs: z
47
- }), X = f(() => {
48
- if (G === 0) return [];
49
- let e = /* @__PURE__ */ new Set(), t = Math.max(J - y, 1), n = Math.min(J + y, G);
80
+ }, [U]);
81
+ let { currentPage: K, goToPage: q } = t({
82
+ numPages: W,
83
+ containerRef: z,
84
+ pageRefs: B
85
+ });
86
+ u(() => {
87
+ !S || I || W === 0 || K >= W && (L(!0), R.current || (R.current = !0, C?.()));
88
+ }, [
89
+ K,
90
+ W,
91
+ S,
92
+ I,
93
+ C
94
+ ]);
95
+ let J = d(() => {
96
+ if (W === 0) return [];
97
+ let e = /* @__PURE__ */ new Set(), t = Math.max(K - g, 1), n = Math.min(K + g, W);
50
98
  for (let r = t; r <= n; r++) e.add(r);
51
- j && e.add(j.page);
52
- for (let t of N) e.add(t.page);
99
+ O && e.add(O.page);
100
+ for (let t of A) e.add(t.page);
53
101
  return Array.from(e).sort((e, t) => e - t);
54
102
  }, [
55
- J,
56
- G,
57
- j,
58
- N
59
- ]), { pageSizes: oe, renderedPages: Z } = te({
60
- pdf: W,
61
- zoom: D,
62
- rotation: k,
63
- visiblePages: X,
64
- canvasRefs: B
65
- }), Q = f(() => {
66
- let e = new Set(X);
67
- for (let t of Z) e.add(t);
103
+ K,
104
+ W,
105
+ O,
106
+ A
107
+ ]), { pageSizes: ve, renderedPages: Y } = te({
108
+ pdf: U,
109
+ zoom: w,
110
+ rotation: E,
111
+ visiblePages: J,
112
+ canvasRefs: V
113
+ }), X = d(() => {
114
+ let e = new Set(J);
115
+ for (let t of Y) e.add(t);
68
116
  return Array.from(e).sort((e, t) => e - t);
69
- }, [X, Z]);
117
+ }, [J, Y]);
70
118
  n({
71
- pdf: W,
72
- currentPage: J,
73
- goToPage: Y,
74
- setZoom: O,
75
- setRotation: A,
76
- setFitMode: L
119
+ pdf: U,
120
+ currentPage: K,
121
+ goToPage: q,
122
+ setZoom: T,
123
+ setRotation: D,
124
+ setFitMode: N
125
+ });
126
+ let ye = r({
127
+ pdf: U,
128
+ zoom: w,
129
+ rotation: E,
130
+ mountedPages: X,
131
+ canvasRefs: V
132
+ }), { linkOverlays: be, noteOverlays: xe } = a({
133
+ pdf: U,
134
+ zoom: w,
135
+ rotation: E,
136
+ mountedPages: X,
137
+ goToPage: q
77
138
  });
78
- let se = r({
79
- pdf: W,
80
- zoom: D,
81
- rotation: k,
82
- mountedPages: Q,
83
- canvasRefs: B
84
- }), ce = a({
85
- pdf: W,
86
- zoom: D,
87
- rotation: k,
88
- mountedPages: Q,
89
- goToPage: Y
90
- }), { overlayRect: $, searchOverlays: le } = o({
91
- pdf: W,
92
- highlight: j,
93
- searchMatches: N,
94
- zoom: D,
95
- rotation: k
96
- }), ue = u((e, t) => {
139
+ u(() => {
140
+ if (!P) return;
141
+ let e = () => F(null), t = (e) => {
142
+ e.key === "Escape" && F(null);
143
+ };
144
+ return document.addEventListener("click", e), document.addEventListener("keydown", t), () => {
145
+ document.removeEventListener("click", e), document.removeEventListener("keydown", t);
146
+ };
147
+ }, [P]);
148
+ let { overlayRect: Z, searchOverlays: Se } = ne({
149
+ pdf: U,
150
+ highlight: O,
151
+ searchMatches: A,
152
+ zoom: w,
153
+ rotation: E
154
+ }), Ce = l((e, t) => {
97
155
  (!e.url || !i(e.url)) && (t.preventDefault(), e.url || e._handleClick());
98
- }, []), de = f(() => ({
99
- pdf: W,
100
- numPages: G,
101
- zoom: D,
102
- setZoom: O,
103
- rotation: k,
104
- setRotation: A,
105
- currentPage: J,
106
- goToPage: Y,
107
- containerRef: R,
108
- canvasRefs: B,
109
- file: b,
110
- highlight: j,
111
- setHighlight: M,
112
- searchMatches: N,
113
- setSearchMatches: ae,
114
- onChangeFile: w,
115
- sidebarCollapsed: P,
116
- setSidebarCollapsed: F,
117
- fitMode: I,
118
- setFitMode: L
156
+ }, []), Q = f(null), we = l((e, t) => {
157
+ Q.current && clearTimeout(Q.current);
158
+ let n = t.clientY > window.innerHeight * .6;
159
+ F({
160
+ x: Math.min(t.clientX, window.innerWidth - 304),
161
+ y: n ? window.innerHeight - t.clientY + 8 : t.clientY + 12,
162
+ above: n,
163
+ contents: e.contents,
164
+ title: e.title
165
+ });
166
+ }, []), $ = l(() => {
167
+ Q.current = setTimeout(() => F(null), 200);
168
+ }, []), Te = l((e) => {
169
+ k({
170
+ page: e.page,
171
+ pdfRect: e.pdfRect
172
+ }), q(e.page);
173
+ }, [k, q]), Ee = d(() => ({
174
+ pdf: U,
175
+ numPages: W,
176
+ zoom: w,
177
+ setZoom: T,
178
+ rotation: E,
179
+ setRotation: D,
180
+ currentPage: K,
181
+ goToPage: q,
182
+ containerRef: z,
183
+ canvasRefs: V,
184
+ file: s,
185
+ highlight: O,
186
+ setHighlight: k,
187
+ searchMatches: A,
188
+ setSearchMatches: pe,
189
+ onChangeFile: y,
190
+ sidebarCollapsed: j,
191
+ setSidebarCollapsed: me,
192
+ fitMode: M,
193
+ setFitMode: N,
194
+ navigationLocked: !!S && !I
119
195
  }), [
196
+ U,
120
197
  W,
121
- G,
122
- D,
123
- k,
124
- J,
125
- Y,
126
- b,
127
- j,
128
- N,
129
198
  w,
130
- P,
199
+ E,
200
+ K,
201
+ q,
202
+ s,
203
+ O,
204
+ A,
205
+ y,
206
+ j,
207
+ M,
208
+ S,
131
209
  I
132
210
  ]);
133
- return /* @__PURE__ */ _(c, {
134
- themeOverrides: ne,
135
- defaultTheme: re,
136
- children: /* @__PURE__ */ _(e.Provider, {
137
- value: de,
138
- children: /* @__PURE__ */ v("div", {
139
- className: `${l.appLayout}${E ? ` ${E}` : ""}`,
140
- style: ie,
141
- children: [C && /* @__PURE__ */ _("div", {
142
- className: l.toolbar,
143
- children: C
144
- }), /* @__PURE__ */ v("div", {
145
- className: l.body,
146
- children: [S, /* @__PURE__ */ v("div", {
147
- className: l.scrollContainer,
148
- ref: R,
149
- children: [K && /* @__PURE__ */ _("div", { className: l.documentLoading }), Array.from({ length: G }, (e, t) => {
150
- let n = Z.has(t + 1), r = oe[t], a = Q.includes(t + 1);
151
- return /* @__PURE__ */ v("div", {
152
- className: l.pageWrapper,
153
- ref: (e) => {
154
- z.current[t] = e;
155
- },
156
- style: r ? {
157
- width: r.width,
158
- height: r.height
159
- } : void 0,
160
- children: [
161
- r && !n && /* @__PURE__ */ _("div", {
162
- className: l.pageSkeleton,
163
- style: {
164
- width: r.width,
165
- height: r.height
166
- }
167
- }),
168
- a && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("canvas", {
169
- className: l.pageCanvas,
211
+ return /* @__PURE__ */ m(re, {
212
+ themeOverrides: le,
213
+ defaultTheme: ue,
214
+ children: /* @__PURE__ */ m(ie, {
215
+ language: de,
216
+ children: /* @__PURE__ */ h(e.Provider, {
217
+ value: Ee,
218
+ children: [/* @__PURE__ */ h("div", {
219
+ className: `${c.appLayout}${x ? ` ${x}` : ""}`,
220
+ style: fe,
221
+ children: [v && /* @__PURE__ */ m("div", {
222
+ className: c.toolbar,
223
+ children: v
224
+ }), /* @__PURE__ */ h("div", {
225
+ className: c.body,
226
+ children: [ce, /* @__PURE__ */ h("div", {
227
+ className: c.scrollContainer,
228
+ ref: z,
229
+ children: [
230
+ _e && /* @__PURE__ */ m("div", { className: c.documentLoading }),
231
+ Array.from({ length: W }, (e, t) => {
232
+ let n = Y.has(t + 1), r = ve[t], a = X.includes(t + 1);
233
+ return /* @__PURE__ */ h("div", {
234
+ className: c.pageWrapper,
170
235
  ref: (e) => {
171
236
  B.current[t] = e;
172
237
  },
173
- style: { display: n ? "block" : "none" }
174
- }), /* @__PURE__ */ _("div", {
175
- className: `textLayer ${l.textLayer}`,
176
- ref: (e) => {
177
- se.current[t] = e;
178
- }
179
- })] }),
180
- ce.filter((e) => e.page === t + 1).map((e, t) => /* @__PURE__ */ _("a", {
181
- className: l.linkOverlay,
182
- href: e.url && i(e.url) ? e.url : "#",
183
- target: "_blank",
184
- rel: "noopener noreferrer",
185
- style: {
186
- left: e.x,
187
- top: e.y,
188
- width: e.width,
189
- height: e.height
190
- },
191
- onClick: (t) => ue(e, t)
192
- }, t)),
193
- le.filter((e) => e.page === t + 1).map((e, t) => /* @__PURE__ */ _("div", {
194
- className: l.searchMatchOverlay,
195
- style: {
196
- left: e.x,
197
- top: e.y,
198
- width: e.width,
199
- height: e.height
200
- }
201
- }, t)),
202
- j && $?.page === t + 1 && /* @__PURE__ */ _("div", {
203
- className: l.highlightOverlay,
204
- style: {
205
- left: $.x,
206
- top: $.y,
207
- width: $.width,
208
- height: $.height
209
- }
210
- })
211
- ]
212
- }, `${t}-${k}`);
238
+ style: r ? {
239
+ width: r.width,
240
+ height: r.height
241
+ } : void 0,
242
+ children: [
243
+ r && !n && /* @__PURE__ */ m("div", {
244
+ className: c.pageSkeleton,
245
+ style: {
246
+ width: r.width,
247
+ height: r.height
248
+ }
249
+ }),
250
+ a && /* @__PURE__ */ h(oe, { children: [/* @__PURE__ */ m("canvas", {
251
+ className: c.pageCanvas,
252
+ ref: (e) => {
253
+ V.current[t] = e;
254
+ },
255
+ style: { display: n ? "block" : "none" }
256
+ }), /* @__PURE__ */ m("div", {
257
+ className: `textLayer ${c.textLayer}`,
258
+ ref: (e) => {
259
+ ye.current[t] = e;
260
+ }
261
+ })] }),
262
+ be.filter((e) => e.page === t + 1).map((e, t) => /* @__PURE__ */ m("a", {
263
+ className: c.linkOverlay,
264
+ href: e.url && i(e.url) ? e.url : "#",
265
+ target: "_blank",
266
+ rel: "noopener noreferrer",
267
+ style: {
268
+ left: e.x,
269
+ top: e.y,
270
+ width: e.width,
271
+ height: e.height
272
+ },
273
+ onClick: (t) => Ce(e, t)
274
+ }, t)),
275
+ xe.filter((e) => e.page === t + 1).map((e, t) => e.subtype === "Text" ? /* @__PURE__ */ m("div", {
276
+ className: c.noteIconOverlay,
277
+ style: {
278
+ left: e.x,
279
+ top: e.y,
280
+ width: Math.max(e.width, 26),
281
+ height: Math.max(e.height, 26)
282
+ },
283
+ onMouseEnter: (t) => we(e, t),
284
+ onMouseLeave: $,
285
+ onClick: () => Te(e),
286
+ children: /* @__PURE__ */ h("svg", {
287
+ width: "22",
288
+ height: "22",
289
+ viewBox: "0 0 12 12",
290
+ fill: "none",
291
+ "aria-hidden": "true",
292
+ children: [
293
+ /* @__PURE__ */ m("rect", {
294
+ x: "0.5",
295
+ y: "0.5",
296
+ width: "9",
297
+ height: "8",
298
+ rx: "1",
299
+ fill: "rgba(255,210,0,0.9)",
300
+ stroke: "rgba(160,120,0,0.7)",
301
+ strokeWidth: "1"
302
+ }),
303
+ /* @__PURE__ */ m("path", {
304
+ d: "M9.5 5.5v3l2.5-3z",
305
+ fill: "rgba(255,210,0,0.9)",
306
+ stroke: "rgba(160,120,0,0.7)",
307
+ strokeWidth: "1"
308
+ }),
309
+ /* @__PURE__ */ m("line", {
310
+ x1: "2",
311
+ y1: "3",
312
+ x2: "8",
313
+ y2: "3",
314
+ stroke: "rgba(90,60,0,0.8)",
315
+ strokeWidth: "1",
316
+ strokeLinecap: "round"
317
+ }),
318
+ /* @__PURE__ */ m("line", {
319
+ x1: "2",
320
+ y1: "5.5",
321
+ x2: "7",
322
+ y2: "5.5",
323
+ stroke: "rgba(90,60,0,0.8)",
324
+ strokeWidth: "1",
325
+ strokeLinecap: "round"
326
+ })
327
+ ]
328
+ })
329
+ }, t) : /* @__PURE__ */ m("div", {
330
+ className: c.noteOverlay,
331
+ style: {
332
+ left: e.x,
333
+ top: e.y,
334
+ width: e.width,
335
+ height: e.height
336
+ },
337
+ onMouseEnter: (t) => we(e, t),
338
+ onMouseLeave: $,
339
+ onClick: () => Te(e)
340
+ }, t)),
341
+ Se.filter((e) => e.page === t + 1).map((e, t) => /* @__PURE__ */ m("div", {
342
+ className: c.searchMatchOverlay,
343
+ style: {
344
+ left: e.x,
345
+ top: e.y,
346
+ width: e.width,
347
+ height: e.height
348
+ }
349
+ }, t)),
350
+ O && Z?.page === t + 1 && /* @__PURE__ */ m("div", {
351
+ className: c.highlightOverlay,
352
+ style: {
353
+ left: Z.x,
354
+ top: Z.y,
355
+ width: Z.width,
356
+ height: Z.height
357
+ }
358
+ })
359
+ ]
360
+ }, `${t}-${E}`);
361
+ }),
362
+ S && /* @__PURE__ */ m(se, { hasRead: I })
363
+ ]
213
364
  })]
214
365
  })]
366
+ }), P && /* @__PURE__ */ h("div", {
367
+ className: c.notePopover,
368
+ style: P.above ? {
369
+ left: P.x,
370
+ bottom: P.y
371
+ } : {
372
+ left: P.x,
373
+ top: P.y
374
+ },
375
+ onMouseEnter: () => {
376
+ Q.current && clearTimeout(Q.current);
377
+ },
378
+ onMouseLeave: $,
379
+ onClick: (e) => e.stopPropagation(),
380
+ children: [P.title && /* @__PURE__ */ m("div", {
381
+ className: c.notePopoverTitle,
382
+ children: P.title
383
+ }), /* @__PURE__ */ m("p", {
384
+ className: c.notePopoverContent,
385
+ children: P.contents
386
+ })]
215
387
  })]
216
388
  })
217
389
  })
218
390
  });
219
391
  };
220
392
  //#endregion
221
- export { b as default };
393
+ export { _ as default };
@@ -1,20 +1,27 @@
1
1
  var e = {
2
- appLayout: "_appLayout_18euq_1",
3
- body: "_body_18euq_9",
4
- toolbar: "_toolbar_18euq_17",
5
- scrollContainer: "_scrollContainer_18euq_29",
6
- pageWrapper: "_pageWrapper_18euq_40",
7
- pageCanvas: "_pageCanvas_18euq_45",
8
- textLayer: "_textLayer_18euq_54",
9
- markedContent: "_markedContent_18euq_80",
10
- endOfContent: "_endOfContent_18euq_95",
11
- selecting: "_selecting_18euq_104",
12
- documentLoading: "_documentLoading_18euq_124",
13
- spin: "_spin_18euq_1",
14
- pageSkeleton: "_pageSkeleton_18euq_144",
15
- highlightOverlay: "_highlightOverlay_18euq_173",
16
- linkOverlay: "_linkOverlay_18euq_182",
17
- searchMatchOverlay: "_searchMatchOverlay_18euq_189"
2
+ appLayout: "_appLayout_1xasy_1",
3
+ body: "_body_1xasy_9",
4
+ toolbar: "_toolbar_1xasy_17",
5
+ scrollContainer: "_scrollContainer_1xasy_29",
6
+ pageWrapper: "_pageWrapper_1xasy_40",
7
+ pageCanvas: "_pageCanvas_1xasy_45",
8
+ textLayer: "_textLayer_1xasy_54",
9
+ markedContent: "_markedContent_1xasy_80",
10
+ endOfContent: "_endOfContent_1xasy_95",
11
+ selecting: "_selecting_1xasy_104",
12
+ documentLoading: "_documentLoading_1xasy_124",
13
+ spin: "_spin_1xasy_1",
14
+ pageSkeleton: "_pageSkeleton_1xasy_144",
15
+ highlightOverlay: "_highlightOverlay_1xasy_173",
16
+ linkOverlay: "_linkOverlay_1xasy_182",
17
+ searchMatchOverlay: "_searchMatchOverlay_1xasy_189",
18
+ noteOverlay: "_noteOverlay_1xasy_197",
19
+ noteIconOverlay: "_noteIconOverlay_1xasy_204",
20
+ requireReadBanner: "_requireReadBanner_1xasy_221",
21
+ requireReadDone: "_requireReadDone_1xasy_245",
22
+ notePopover: "_notePopover_1xasy_249",
23
+ notePopoverTitle: "_notePopoverTitle_1xasy_262",
24
+ notePopoverContent: "_notePopoverContent_1xasy_269"
18
25
  };
19
26
  //#endregion
20
27
  export { e as default };