pdf-tsx 1.0.1 → 1.1.1

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 (129) hide show
  1. package/LICENSE +78 -78
  2. package/README.md +678 -634
  3. package/dist/cjs/components/PDFViewer.cjs +1 -1
  4. package/dist/cjs/components/PDFViewer.module.cjs +1 -1
  5. package/dist/cjs/components/features/PDFViewModeToggle.cjs +1 -0
  6. package/dist/cjs/components/features/PDFViewModeToggle.module.cjs +1 -0
  7. package/dist/cjs/favicon.svg +9 -0
  8. package/dist/cjs/hooks/usePDFLoader.cjs +1 -1
  9. package/dist/cjs/index.cjs +1 -1
  10. package/dist/cjs/labels.cjs +1 -1
  11. package/dist/cjs/pdf-tsx.css +1 -1
  12. package/dist/cjs/vendor/pdfjs-wasm/jbig2.cjs +1 -0
  13. package/dist/cjs/vendor/pdfjs-wasm/openjpeg.cjs +1 -0
  14. package/dist/cjs/vendor/pdfjs-wasm/qcms_bg.cjs +1 -0
  15. package/dist/components/PDFSidebar.d.ts +1 -1
  16. package/dist/components/PDFViewer.d.ts +2 -2
  17. package/dist/components/features/PDFAnnotations.d.ts +2 -2
  18. package/dist/components/features/PDFAttachments.d.ts +2 -2
  19. package/dist/components/features/PDFChangeFile.d.ts +1 -1
  20. package/dist/components/features/PDFDownloadButton.d.ts +1 -1
  21. package/dist/components/features/PDFNavigation.d.ts +1 -1
  22. package/dist/components/features/PDFOutline.d.ts +1 -1
  23. package/dist/components/features/PDFPageFit.d.ts +1 -1
  24. package/dist/components/features/PDFPrintButton.d.ts +1 -1
  25. package/dist/components/features/PDFRotationControl.d.ts +1 -1
  26. package/dist/components/features/PDFSearch.d.ts +1 -1
  27. package/dist/components/features/PDFSidebarToggle.d.ts +1 -1
  28. package/dist/components/features/PDFSignatures.d.ts +2 -2
  29. package/dist/components/features/PDFThemeToggle.d.ts +1 -1
  30. package/dist/components/features/PDFThumbnails.d.ts +1 -1
  31. package/dist/components/features/PDFViewModeToggle.d.ts +11 -0
  32. package/dist/components/features/PDFZoomControls.d.ts +1 -1
  33. package/dist/components/ui/PDFToolbar.d.ts +1 -1
  34. package/dist/components/ui/PDFToolbarItem.d.ts +1 -1
  35. package/dist/components/ui/PDFToolbarSeparator.d.ts +1 -1
  36. package/dist/components/ui/ToolbarButton.d.ts +1 -1
  37. package/dist/components/ui/icons.d.ts +3 -2
  38. package/dist/context/LabelsContext.d.ts +1 -1
  39. package/dist/context/PDFViewerContext.d.ts +2 -0
  40. package/dist/context/ThemeContext.d.ts +1 -1
  41. package/dist/es/components/PDFViewer.js +247 -224
  42. package/dist/es/components/PDFViewer.module.js +26 -23
  43. package/dist/es/components/features/PDFViewModeToggle.js +70 -0
  44. package/dist/es/components/features/PDFViewModeToggle.module.js +12 -0
  45. package/dist/es/favicon.svg +9 -0
  46. package/dist/es/hooks/usePDFLoader.js +36 -16
  47. package/dist/es/index.js +13 -12
  48. package/dist/es/labels.js +8 -0
  49. package/dist/es/pdf-tsx.css +1 -1
  50. package/dist/es/vendor/pdfjs-wasm/jbig2.js +4 -0
  51. package/dist/es/vendor/pdfjs-wasm/openjpeg.js +4 -0
  52. package/dist/es/vendor/pdfjs-wasm/qcms_bg.js +4 -0
  53. package/dist/hooks/usePDFLoader.d.ts +1 -1
  54. package/dist/index.d.ts +1 -0
  55. package/dist/labels.d.ts +4 -0
  56. package/package.json +66 -65
  57. package/dist/cjs/vite.svg +0 -1
  58. package/dist/components/features/PDFSignButton.d.ts +0 -10
  59. package/dist/components/features/SignaturePad.d.ts +0 -10
  60. package/dist/es/vite.svg +0 -1
  61. package/dist/pdf-tsx.cjs.js +0 -5
  62. package/dist/pdf-tsx.css +0 -2
  63. package/dist/pdf-tsx.es.js +0 -2637
  64. package/dist/src/components/PDFSidebar.d.ts +0 -11
  65. package/dist/src/components/PDFViewer.d.ts +0 -22
  66. package/dist/src/components/features/PDFAnnotations.d.ts +0 -5
  67. package/dist/src/components/features/PDFAttachments.d.ts +0 -5
  68. package/dist/src/components/features/PDFChangeFile.d.ts +0 -9
  69. package/dist/src/components/features/PDFDownloadButton.d.ts +0 -9
  70. package/dist/src/components/features/PDFNavigation.d.ts +0 -10
  71. package/dist/src/components/features/PDFOutline.d.ts +0 -1
  72. package/dist/src/components/features/PDFPageFit.d.ts +0 -10
  73. package/dist/src/components/features/PDFPrintButton.d.ts +0 -9
  74. package/dist/src/components/features/PDFRotationControl.d.ts +0 -9
  75. package/dist/src/components/features/PDFSearch.d.ts +0 -13
  76. package/dist/src/components/features/PDFSidebarToggle.d.ts +0 -10
  77. package/dist/src/components/features/PDFSignatures.d.ts +0 -5
  78. package/dist/src/components/features/PDFThemeToggle.d.ts +0 -10
  79. package/dist/src/components/features/PDFThumbnails.d.ts +0 -1
  80. package/dist/src/components/features/PDFZoomControls.d.ts +0 -10
  81. package/dist/src/components/ui/PDFToolbar.d.ts +0 -8
  82. package/dist/src/components/ui/PDFToolbarDropdownContext.d.ts +0 -1
  83. package/dist/src/components/ui/PDFToolbarItem.d.ts +0 -7
  84. package/dist/src/components/ui/PDFToolbarSeparator.d.ts +0 -4
  85. package/dist/src/components/ui/ToolbarButton.d.ts +0 -6
  86. package/dist/src/components/ui/icons.d.ts +0 -7
  87. package/dist/src/context/LabelsContext.d.ts +0 -7
  88. package/dist/src/context/PDFViewerContext.d.ts +0 -30
  89. package/dist/src/context/ThemeContext.d.ts +0 -12
  90. package/dist/src/context/labelsContextValue.d.ts +0 -2
  91. package/dist/src/context/themeContextValue.d.ts +0 -7
  92. package/dist/src/hooks/useAnnotationLayer.d.ts +0 -34
  93. package/dist/src/hooks/useAnnotations.d.ts +0 -15
  94. package/dist/src/hooks/useAttachments.d.ts +0 -11
  95. package/dist/src/hooks/useKeyboardShortcuts.d.ts +0 -9
  96. package/dist/src/hooks/useLabels.d.ts +0 -2
  97. package/dist/src/hooks/useOutline.d.ts +0 -14
  98. package/dist/src/hooks/useOverlayRects.d.ts +0 -21
  99. package/dist/src/hooks/usePDFLoader.d.ts +0 -5
  100. package/dist/src/hooks/usePDFRenderer.d.ts +0 -16
  101. package/dist/src/hooks/useScrollTracking.d.ts +0 -10
  102. package/dist/src/hooks/useSignatures.d.ts +0 -17
  103. package/dist/src/hooks/useTextLayer.d.ts +0 -10
  104. package/dist/src/hooks/useTextSearch.d.ts +0 -12
  105. package/dist/src/hooks/useTheme.d.ts +0 -2
  106. package/dist/src/hooks/useThumbnails.d.ts +0 -10
  107. package/dist/src/index.d.ts +0 -24
  108. package/dist/src/labels.d.ts +0 -53
  109. package/dist/src/theme.d.ts +0 -27
  110. package/dist/src/utils/pdfFit.d.ts +0 -2
  111. package/dist/src/utils/url.d.ts +0 -1
  112. package/dist/utils/addSignatureToPdf.d.ts +0 -9
  113. package/dist/vite.svg +0 -1
  114. package/dist/wasm/LICENSE_JBIG2 +0 -196
  115. package/dist/wasm/LICENSE_OPENJPEG +0 -39
  116. package/dist/wasm/LICENSE_PDFJS_JBIG2 +0 -13
  117. package/dist/wasm/LICENSE_PDFJS_OPENJPEG +0 -22
  118. package/dist/wasm/LICENSE_PDFJS_QCMS +0 -22
  119. package/dist/wasm/LICENSE_QCMS +0 -21
  120. package/dist/wasm/jbig2.wasm +0 -0
  121. package/dist/wasm/jbig2_nowasm_fallback.js +0 -15
  122. package/dist/wasm/openjpeg.wasm +0 -0
  123. package/dist/wasm/openjpeg_nowasm_fallback.js +0 -17
  124. package/dist/wasm/qcms_bg.wasm +0 -0
  125. package/dist/wasm/quickjs-eval.js +0 -16
  126. package/dist/wasm/quickjs-eval.wasm +0 -0
  127. /package/dist/{src/hooks → hooks}/usePinchZoom.d.ts +0 -0
  128. /package/dist/{src/utils → utils}/pdfjsPolyfill.d.ts +0 -0
  129. /package/dist/{src/utils → utils}/zoom.d.ts +0 -0
@@ -1,27 +1,30 @@
1
1
  var e = {
2
- appLayout: "_appLayout_rgnuz_1",
3
- body: "_body_rgnuz_9",
4
- toolbar: "_toolbar_rgnuz_17",
5
- scrollContainer: "_scrollContainer_rgnuz_29",
6
- pageWrapper: "_pageWrapper_rgnuz_41",
7
- pageCanvas: "_pageCanvas_rgnuz_46",
8
- textLayer: "_textLayer_rgnuz_55",
9
- markedContent: "_markedContent_rgnuz_81",
10
- endOfContent: "_endOfContent_rgnuz_96",
11
- selecting: "_selecting_rgnuz_105",
12
- documentLoading: "_documentLoading_rgnuz_125",
13
- spin: "_spin_rgnuz_1",
14
- pageSkeleton: "_pageSkeleton_rgnuz_145",
15
- highlightOverlay: "_highlightOverlay_rgnuz_174",
16
- linkOverlay: "_linkOverlay_rgnuz_183",
17
- searchMatchOverlay: "_searchMatchOverlay_rgnuz_190",
18
- noteOverlay: "_noteOverlay_rgnuz_198",
19
- noteIconOverlay: "_noteIconOverlay_rgnuz_205",
20
- requireReadBanner: "_requireReadBanner_rgnuz_222",
21
- requireReadDone: "_requireReadDone_rgnuz_246",
22
- notePopover: "_notePopover_rgnuz_250",
23
- notePopoverTitle: "_notePopoverTitle_rgnuz_263",
24
- notePopoverContent: "_notePopoverContent_rgnuz_270"
2
+ appLayout: "_appLayout_9otbp_1",
3
+ body: "_body_9otbp_17",
4
+ toolbar: "_toolbar_9otbp_33",
5
+ scrollContainer: "_scrollContainer_9otbp_57",
6
+ pageWrapper: "_pageWrapper_9otbp_81",
7
+ single: "_single_9otbp_93",
8
+ currentPage: "_currentPage_9otbp_101",
9
+ spread: "_spread_9otbp_111",
10
+ requireReadBanner: "_requireReadBanner_9otbp_135",
11
+ pageCanvas: "_pageCanvas_9otbp_143",
12
+ textLayer: "_textLayer_9otbp_161",
13
+ markedContent: "_markedContent_9otbp_213",
14
+ endOfContent: "_endOfContent_9otbp_243",
15
+ selecting: "_selecting_9otbp_261",
16
+ documentLoading: "_documentLoading_9otbp_301",
17
+ spin: "_spin_9otbp_1",
18
+ pageSkeleton: "_pageSkeleton_9otbp_341",
19
+ highlightOverlay: "_highlightOverlay_9otbp_399",
20
+ linkOverlay: "_linkOverlay_9otbp_417",
21
+ searchMatchOverlay: "_searchMatchOverlay_9otbp_431",
22
+ noteOverlay: "_noteOverlay_9otbp_447",
23
+ noteIconOverlay: "_noteIconOverlay_9otbp_461",
24
+ requireReadDone: "_requireReadDone_9otbp_543",
25
+ notePopover: "_notePopover_9otbp_551",
26
+ notePopoverTitle: "_notePopoverTitle_9otbp_577",
27
+ notePopoverContent: "_notePopoverContent_9otbp_591"
25
28
  };
26
29
  //#endregion
27
30
  export { e as default };
@@ -0,0 +1,70 @@
1
+ import { usePDFViewer as e } from "../../context/PDFViewerContext.js";
2
+ import { useLabels as t } from "../../hooks/useLabels.js";
3
+ import { ToolbarButton as n } from "../ui/ToolbarButton.js";
4
+ import { IconChevronDown as r } from "../ui/icons.js";
5
+ import i from "./PDFViewModeToggle.module.js";
6
+ import { useCallback as a, useEffect as o, useRef as s, useState as c } from "react";
7
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
8
+ //#region src/components/features/PDFViewModeToggle.tsx
9
+ function d({ continuousIcon: d, singleIcon: f, spreadIcon: p }) {
10
+ let { pageLayout: m, setPageLayout: h } = e(), g = t(), [_, v] = c(!1), y = s(null), b = [
11
+ {
12
+ value: "continuous",
13
+ icon: d,
14
+ title: g.continuousViewTitle
15
+ },
16
+ {
17
+ value: "single",
18
+ icon: f,
19
+ title: g.singleViewTitle
20
+ },
21
+ {
22
+ value: "spread",
23
+ icon: p,
24
+ title: g.spreadViewTitle
25
+ }
26
+ ], x = b.find((e) => e.value === m) ?? b[0], S = a((e) => {
27
+ h(e), v(!1);
28
+ }, [h]);
29
+ return o(() => {
30
+ if (!_) return;
31
+ let e = (e) => {
32
+ y.current?.contains(e.target) || v(!1);
33
+ };
34
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
35
+ }, [_]), /* @__PURE__ */ u("div", {
36
+ ref: y,
37
+ className: i.wrapper,
38
+ children: [/* @__PURE__ */ u(n, {
39
+ onClick: () => v((e) => !e),
40
+ title: g.viewModeToolbarLabel,
41
+ "aria-haspopup": "true",
42
+ "aria-expanded": _,
43
+ className: _ ? i.triggerActive : void 0,
44
+ children: [x.icon, /* @__PURE__ */ l("span", {
45
+ className: i.caret,
46
+ children: /* @__PURE__ */ l(r, { size: 12 })
47
+ })]
48
+ }), _ && /* @__PURE__ */ l("div", {
49
+ className: i.dropdown,
50
+ role: "menu",
51
+ children: b.map((e) => /* @__PURE__ */ u("button", {
52
+ type: "button",
53
+ role: "menuitemradio",
54
+ "aria-checked": e.value === m,
55
+ className: `${i.option}${e.value === m ? ` ${i.optionActive}` : ""}`,
56
+ onClick: () => S(e.value),
57
+ children: [/* @__PURE__ */ l("span", {
58
+ className: i.optionIcon,
59
+ children: e.icon
60
+ }), /* @__PURE__ */ l("span", {
61
+ className: i.optionLabel,
62
+ children: e.title
63
+ })]
64
+ }, e.value))
65
+ })]
66
+ });
67
+ }
68
+ d.toolbarLabelKey = "viewModeToolbarLabel";
69
+ //#endregion
70
+ export { d as PDFViewModeToggle };
@@ -0,0 +1,12 @@
1
+ var e = {
2
+ wrapper: "_wrapper_182cw_1",
3
+ triggerActive: "_triggerActive_182cw_13",
4
+ caret: "_caret_182cw_23",
5
+ dropdown: "_dropdown_182cw_37",
6
+ option: "_option_182cw_69",
7
+ optionActive: "_optionActive_182cw_121",
8
+ optionIcon: "_optionIcon_182cw_129",
9
+ optionLabel: "_optionLabel_182cw_141"
10
+ };
11
+ //#endregion
12
+ export { e as default };
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
+ <rect width="64" height="64" rx="14" fill="#0a0a0f"/>
3
+ <text x="50%" y="29" dominant-baseline="middle" text-anchor="middle"
4
+ font-family="system-ui, -apple-system, 'Segoe UI', sans-serif"
5
+ font-weight="800" font-size="22" letter-spacing="-1" fill="#e11d48">pdf</text>
6
+ <text x="50%" y="49" dominant-baseline="middle" text-anchor="middle"
7
+ font-family="system-ui, -apple-system, 'Segoe UI', sans-serif"
8
+ font-weight="800" font-size="22" letter-spacing="-1" fill="#f4f4f6">tsx</text>
9
+ </svg>
@@ -1,27 +1,47 @@
1
- import { useEffect as e, useState as t } from "react";
2
- import * as n from "pdfjs-dist";
1
+ import e from "../vendor/pdfjs-wasm/openjpeg.js";
2
+ import t from "../vendor/pdfjs-wasm/jbig2.js";
3
+ import n from "../vendor/pdfjs-wasm/qcms_bg.js";
4
+ import { useEffect as r, useState as i } from "react";
5
+ import * as a from "pdfjs-dist";
3
6
  //#region src/hooks/usePDFLoader.ts
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
- let e = new FileReader();
9
- e.onload = async (e) => {
7
+ var o = {
8
+ "openjpeg.wasm": e,
9
+ "jbig2.wasm": t,
10
+ "qcms_bg.wasm": n
11
+ }, s = class {
12
+ async fetch({ kind: e, filename: t }) {
13
+ let n = e === "wasmUrl" ? o[t] : void 0;
14
+ if (!n) throw Error(`Unable to load ${e} data at: ${t}`);
15
+ let r = await fetch(n);
16
+ return new Uint8Array(await r.arrayBuffer());
17
+ }
18
+ };
19
+ function c(e) {
20
+ let [t, n] = i(null), [o, c] = i(0), [l, u] = i(!0);
21
+ return r(() => {
22
+ u(!0), n(null), c(0);
23
+ let t = new FileReader();
24
+ t.onload = async (e) => {
10
25
  let t = new Uint8Array(e.target?.result);
11
26
  try {
12
- let e = await n.getDocument(t).promise;
13
- a(e), s(e.numPages);
27
+ let e = await a.getDocument({
28
+ data: t,
29
+ wasmUrl: "wasm/",
30
+ useWorkerFetch: !1,
31
+ BinaryDataFactory: s
32
+ }).promise;
33
+ n(e), c(e.numPages);
14
34
  } catch (e) {
15
35
  console.error("Errore caricamento:", e);
16
36
  } finally {
17
- l(!1);
37
+ u(!1);
18
38
  }
19
- }, e.readAsArrayBuffer(r);
20
- }, [r]), {
21
- pdf: i,
39
+ }, t.readAsArrayBuffer(e);
40
+ }, [e]), {
41
+ pdf: t,
22
42
  numPages: o,
23
- loading: c
43
+ loading: l
24
44
  };
25
45
  }
26
46
  //#endregion
27
- export { r as usePDFLoader };
47
+ export { c as usePDFLoader };
package/dist/es/index.js CHANGED
@@ -9,15 +9,16 @@ import { PDFDownloadButton as d } from "./components/features/PDFDownloadButton.
9
9
  import { PDFNavigation as f } from "./components/features/PDFNavigation.js";
10
10
  import { PDFOutline as p } from "./components/features/PDFOutline.js";
11
11
  import { PDFPageFit as m } from "./components/features/PDFPageFit.js";
12
- import { PDFRotationControl as h } from "./components/features/PDFRotationControl.js";
13
- import { PDFSearch as g } from "./components/features/PDFSearch.js";
14
- import { PDFSignatures as _, PDFSignaturesIcon as v } from "./components/features/PDFSignatures.js";
15
- import { PDFThumbnails as y } from "./components/features/PDFThumbnails.js";
16
- import { PDFZoomControls as b } from "./components/features/PDFZoomControls.js";
17
- import { PDFThemeToggle as x } from "./components/features/PDFThemeToggle.js";
18
- import { PDFPrintButton as S } from "./components/features/PDFPrintButton.js";
19
- import { PDFSidebarToggle as C } from "./components/features/PDFSidebarToggle.js";
20
- import { PDFToolbar as w } from "./components/ui/PDFToolbar.js";
21
- import { PDFToolbarItem as T } from "./components/ui/PDFToolbarItem.js";
22
- import { PDFToolbarSeparator as E } from "./components/ui/PDFToolbarSeparator.js";
23
- export { c as PDFAnnotations, l as PDFAnnotationsIcon, o as PDFAttachments, s as PDFAttachmentsIcon, u as PDFChangeFile, d as PDFDownloadButton, f as PDFNavigation, p as PDFOutline, m as PDFPageFit, S as PDFPrintButton, h as PDFRotationControl, g as PDFSearch, a as PDFSidebar, C as PDFSidebarToggle, _ as PDFSignatures, v as PDFSignaturesIcon, x as PDFThemeToggle, y as PDFThumbnails, w as PDFToolbar, T as PDFToolbarItem, E as PDFToolbarSeparator, i as PDFViewer, b as PDFZoomControls, e as darkTheme, n as englishLabels, r as italianLabels, t as lightTheme };
12
+ import { PDFViewModeToggle as h } from "./components/features/PDFViewModeToggle.js";
13
+ import { PDFRotationControl as g } from "./components/features/PDFRotationControl.js";
14
+ import { PDFSearch as _ } from "./components/features/PDFSearch.js";
15
+ import { PDFSignatures as v, PDFSignaturesIcon as y } from "./components/features/PDFSignatures.js";
16
+ import { PDFThumbnails as b } from "./components/features/PDFThumbnails.js";
17
+ import { PDFZoomControls as x } from "./components/features/PDFZoomControls.js";
18
+ import { PDFThemeToggle as S } from "./components/features/PDFThemeToggle.js";
19
+ import { PDFPrintButton as C } from "./components/features/PDFPrintButton.js";
20
+ import { PDFSidebarToggle as w } from "./components/features/PDFSidebarToggle.js";
21
+ import { PDFToolbar as T } from "./components/ui/PDFToolbar.js";
22
+ import { PDFToolbarItem as E } from "./components/ui/PDFToolbarItem.js";
23
+ import { PDFToolbarSeparator as D } from "./components/ui/PDFToolbarSeparator.js";
24
+ export { c as PDFAnnotations, l as PDFAnnotationsIcon, o as PDFAttachments, s as PDFAttachmentsIcon, u as PDFChangeFile, d as PDFDownloadButton, f as PDFNavigation, p as PDFOutline, m as PDFPageFit, C as PDFPrintButton, g as PDFRotationControl, _ as PDFSearch, a as PDFSidebar, w as PDFSidebarToggle, v as PDFSignatures, y as PDFSignaturesIcon, S as PDFThemeToggle, b as PDFThumbnails, T as PDFToolbar, E as PDFToolbarItem, D as PDFToolbarSeparator, h as PDFViewModeToggle, i as PDFViewer, x as PDFZoomControls, e as darkTheme, n as englishLabels, r as italianLabels, t as lightTheme };
package/dist/es/labels.js CHANGED
@@ -22,6 +22,10 @@ var e = {
22
22
  fitWidthTitle: "Adatta alla larghezza",
23
23
  fitPageTitle: "Adatta pagina intera",
24
24
  fitToolbarLabel: "Adatta",
25
+ viewModeToolbarLabel: "Visualizzazione",
26
+ continuousViewTitle: "Scorrimento continuo",
27
+ singleViewTitle: "Pagina singola",
28
+ spreadViewTitle: "Due pagine affiancate",
25
29
  switchToLightTitle: "Switch to light mode",
26
30
  switchToDarkTitle: "Switch to dark mode",
27
31
  themeToolbarLabel: "Tema",
@@ -84,6 +88,10 @@ var e = {
84
88
  fitWidthTitle: "Fit to width",
85
89
  fitPageTitle: "Fit whole page",
86
90
  fitToolbarLabel: "Fit",
91
+ viewModeToolbarLabel: "View",
92
+ continuousViewTitle: "Continuous scroll",
93
+ singleViewTitle: "Single page",
94
+ spreadViewTitle: "Two-page spread",
87
95
  switchToLightTitle: "Switch to light mode",
88
96
  switchToDarkTitle: "Switch to dark mode",
89
97
  themeToolbarLabel: "Theme",
@@ -1,2 +1,2 @@
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_rgnuz_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_rgnuz_9{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_rgnuz_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_rgnuz_29{scrollbar-gutter:stable;background-color:var(--pdf-scroll-area);touch-action:pan-x pan-y;flex-direction:column;flex:1;padding:10px 20px;display:flex;position:relative;overflow:auto}._pageWrapper_rgnuz_41{margin:0 auto 25px;position:relative}._pageCanvas_rgnuz_46{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_rgnuz_55{--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_rgnuz_55 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_rgnuz_55>:not(._markedContent_rgnuz_81),._textLayer_rgnuz_55 ._markedContent_rgnuz_81 span:not(._markedContent_rgnuz_81){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_rgnuz_55 ._markedContent_rgnuz_81{display:contents}._textLayer_rgnuz_55 ._endOfContent_rgnuz_96{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_rgnuz_55._selecting_rgnuz_105 ._endOfContent_rgnuz_96{top:0}._textLayer_rgnuz_55 ::selection{background:#0000ff40}._textLayer_rgnuz_55 br::selection{background:0 0}._documentLoading_rgnuz_125{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._documentLoading_rgnuz_125:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite _spin_rgnuz_1}._pageSkeleton_rgnuz_145{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_rgnuz_145:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_rgnuz_1}@keyframes _spin_rgnuz_1{to{transform:rotate(360deg)}}._highlightOverlay_rgnuz_174{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_rgnuz_183{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_rgnuz_190{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._noteOverlay_rgnuz_198{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._noteIconOverlay_rgnuz_205{z-index:3;pointer-events:all;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;transition:background-color .1s;display:flex;position:absolute}._noteIconOverlay_rgnuz_205:hover{background-color:#ffd20033;outline:1px solid #a0780066}._requireReadBanner_rgnuz_222{font-size:13px;font-weight:500;font-family:var(--pdf-font-family);color:#fff;background-color:color-mix(in srgb, var(--pdf-accent) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:5px;align-self:flex-end;align-items:center;gap:8px;margin-top:auto;margin-right:25px;padding:9px 16px;transition:background-color .4s;display:flex;position:sticky;bottom:12px;box-shadow:0 2px 12px #0000002e}._requireReadDone_rgnuz_246{background-color:#16a34abf}._notePopover_rgnuz_250{z-index:9999;background-color:var(--pdf-surface);border:1px solid var(--pdf-border);min-width:160px;max-width:280px;font-family:var(--pdf-font-family);border-radius:6px;padding:10px 12px;position:fixed;box-shadow:0 4px 16px #00000026}._notePopoverTitle_rgnuz_263{color:var(--pdf-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}._notePopoverContent_rgnuz_270{color:var(--pdf-text-primary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}._list_gygvf_1{flex-direction:column;display:flex}._emptyState_gygvf_6{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_gygvf_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_gygvf_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_gygvf_33{cursor:pointer}._cardClickable_gygvf_33:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_gygvf_41{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_gygvf_48{color:var(--pdf-text-secondary);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}._cardPage_gygvf_57{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_gygvf_62{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_gygvf_68{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_gygvf_74{justify-content:center;align-items:center;display:flex;position:relative}._badge_gygvf_81{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_1b8zt_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1b8zt_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1b8zt_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1b8zt_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1b8zt_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_1b8zt_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1b8zt_41>*{flex-shrink:0}._labeledItem_1b8zt_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1b8zt_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_1b8zt_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._separator_b9iob_1{background:var(--pdf-toolbar-separator);flex-shrink:0;width:1px;height:20px;margin:0 4px}._separatorH_b9iob_9{background:var(--pdf-toolbar-separator);height:1px;margin:2px 4px}
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_9otbp_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_9otbp_17{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_9otbp_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_9otbp_57{scrollbar-gutter:stable;background-color:var(--pdf-scroll-area);touch-action:pan-x pan-y;flex-direction:column;flex:1;padding:10px 20px;display:flex;position:relative;overflow:auto}._pageWrapper_9otbp_81{margin:0 auto 25px;position:relative}._scrollContainer_9otbp_57._single_9otbp_93 ._pageWrapper_9otbp_81{display:none}._scrollContainer_9otbp_57._single_9otbp_93 ._pageWrapper_9otbp_81._currentPage_9otbp_101{display:block}._scrollContainer_9otbp_57._spread_9otbp_111{flex-flow:wrap;place-content:flex-start center;gap:25px;display:flex}._scrollContainer_9otbp_57._spread_9otbp_111 ._pageWrapper_9otbp_81{margin:0}._scrollContainer_9otbp_57._spread_9otbp_111 ._requireReadBanner_9otbp_135{grid-column:1/-1}._pageCanvas_9otbp_143{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_9otbp_161{--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_9otbp_161 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_9otbp_161>:not(._markedContent_9otbp_213),._textLayer_9otbp_161 ._markedContent_9otbp_213 span:not(._markedContent_9otbp_213){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_9otbp_161 ._markedContent_9otbp_213{display:contents}._textLayer_9otbp_161 ._endOfContent_9otbp_243{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_9otbp_161._selecting_9otbp_261 ._endOfContent_9otbp_243{top:0}._textLayer_9otbp_161 ::selection{background:#0000ff40}._textLayer_9otbp_161 br::selection{background:0 0}._documentLoading_9otbp_301{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._documentLoading_9otbp_301:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite _spin_9otbp_1}._pageSkeleton_9otbp_341{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_9otbp_341:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_9otbp_1}@keyframes _spin_9otbp_1{to{transform:rotate(360deg)}}._highlightOverlay_9otbp_399{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_9otbp_417{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_9otbp_431{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._noteOverlay_9otbp_447{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._noteIconOverlay_9otbp_461{z-index:3;pointer-events:all;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;transition:background-color .1s;display:flex;position:absolute}._noteIconOverlay_9otbp_461:hover{background-color:#ffd20033;outline:1px solid #a0780066}._requireReadBanner_9otbp_135{font-size:13px;font-weight:500;font-family:var(--pdf-font-family);color:#fff;background-color:color-mix(in srgb, var(--pdf-accent) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:5px;align-self:flex-end;align-items:center;gap:8px;margin-top:auto;margin-right:25px;padding:9px 16px;transition:background-color .4s;display:flex;position:sticky;bottom:12px;box-shadow:0 2px 12px #0000002e}._requireReadDone_9otbp_543{background-color:#16a34abf}._notePopover_9otbp_551{z-index:9999;background-color:var(--pdf-surface);border:1px solid var(--pdf-border);min-width:160px;max-width:280px;font-family:var(--pdf-font-family);border-radius:6px;padding:10px 12px;position:fixed;box-shadow:0 4px 16px #00000026}._notePopoverTitle_9otbp_577{color:var(--pdf-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}._notePopoverContent_9otbp_591{color:var(--pdf-text-primary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}._list_gygvf_1{flex-direction:column;display:flex}._emptyState_gygvf_6{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_gygvf_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_gygvf_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_gygvf_33{cursor:pointer}._cardClickable_gygvf_33:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_gygvf_41{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_gygvf_48{color:var(--pdf-text-secondary);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}._cardPage_gygvf_57{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_gygvf_62{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_gygvf_68{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_gygvf_74{justify-content:center;align-items:center;display:flex;position:relative}._badge_gygvf_81{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}._wrapper_182cw_1{align-items:center;display:flex;position:relative}._triggerActive_182cw_13{background:var(--pdf-surface);color:var(--pdf-text-primary)}._caret_182cw_23{opacity:.7;align-items:center;margin-left:-2px;display:flex}._dropdown_182cw_37{background:var(--pdf-bg);border:1px solid var(--pdf-border);z-index:100;border-radius:6px;flex-direction:column;gap:1px;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 16px #0000002e}._option_182cw_69{cursor:pointer;width:100%;color:var(--pdf-text-secondary);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._option_182cw_69:hover{background:var(--pdf-surface);color:var(--pdf-text-primary)}._optionActive_182cw_121{color:var(--pdf-accent)}._optionIcon_182cw_129{flex-shrink:0;align-items:center;display:flex}._optionLabel_182cw_141{flex:1}._zoomLabel_m8iv9_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_1b8zt_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1b8zt_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1b8zt_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1b8zt_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1b8zt_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_1b8zt_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1b8zt_41>*{flex-shrink:0}._labeledItem_1b8zt_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1b8zt_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_1b8zt_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._separator_b9iob_1{background:var(--pdf-toolbar-separator);flex-shrink:0;width:1px;height:20px;margin:0 4px}._separatorH_b9iob_9{background:var(--pdf-toolbar-separator);height:1px;margin:2px 4px}
2
2
  /*$vite$:1*/