pdf-tsx 0.2.0 → 0.4.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 (47) hide show
  1. package/README.md +107 -33
  2. package/dist/cjs/components/PDFSidebar.cjs +1 -1
  3. package/dist/cjs/components/PDFSidebar.module.cjs +1 -1
  4. package/dist/cjs/components/PDFViewer.cjs +1 -1
  5. package/dist/cjs/components/PDFViewer.module.cjs +1 -1
  6. package/dist/cjs/components/features/PDFAnnotations.cjs +1 -1
  7. package/dist/cjs/components/features/PDFAnnotations.module.cjs +1 -1
  8. package/dist/cjs/components/features/PDFNavigation.module.cjs +1 -1
  9. package/dist/cjs/components/features/PDFPageFit.cjs +1 -1
  10. package/dist/cjs/components/features/PDFPrintButton.cjs +1 -1
  11. package/dist/cjs/components/features/PDFSearch.cjs +1 -1
  12. package/dist/cjs/components/features/PDFSearch.module.cjs +1 -1
  13. package/dist/cjs/components/features/PDFSidebarToggle.cjs +1 -0
  14. package/dist/cjs/components/features/PDFSignatures.cjs +1 -1
  15. package/dist/cjs/components/features/PDFSignatures.module.cjs +1 -1
  16. package/dist/cjs/context/ThemeContext.cjs +1 -1
  17. package/dist/cjs/index.cjs +1 -1
  18. package/dist/cjs/pdf-tsx.css +1 -1
  19. package/dist/cjs/utils/pdfFit.cjs +1 -0
  20. package/dist/components/PDFSidebar.d.ts +2 -1
  21. package/dist/components/PDFViewer.d.ts +4 -0
  22. package/dist/components/features/PDFAnnotations.d.ts +4 -0
  23. package/dist/components/features/PDFSidebarToggle.d.ts +7 -0
  24. package/dist/components/features/PDFSignatures.d.ts +4 -0
  25. package/dist/context/PDFViewerContext.d.ts +2 -0
  26. package/dist/context/ThemeContext.d.ts +2 -1
  27. package/dist/es/components/PDFSidebar.js +48 -38
  28. package/dist/es/components/PDFSidebar.module.js +9 -7
  29. package/dist/es/components/PDFViewer.js +150 -137
  30. package/dist/es/components/PDFViewer.module.js +15 -15
  31. package/dist/es/components/features/PDFAnnotations.js +16 -2
  32. package/dist/es/components/features/PDFAnnotations.module.js +12 -10
  33. package/dist/es/components/features/PDFNavigation.module.js +3 -3
  34. package/dist/es/components/features/PDFPageFit.js +24 -34
  35. package/dist/es/components/features/PDFPrintButton.js +2 -2
  36. package/dist/es/components/features/PDFSearch.js +16 -11
  37. package/dist/es/components/features/PDFSearch.module.js +5 -4
  38. package/dist/es/components/features/PDFSidebarToggle.js +20 -0
  39. package/dist/es/components/features/PDFSignatures.js +20 -12
  40. package/dist/es/components/features/PDFSignatures.module.js +16 -14
  41. package/dist/es/context/ThemeContext.js +24 -24
  42. package/dist/es/index.js +15 -14
  43. package/dist/es/pdf-tsx.css +1 -1
  44. package/dist/es/utils/pdfFit.js +13 -0
  45. package/dist/index.d.ts +3 -2
  46. package/dist/utils/pdfFit.d.ts +2 -0
  47. package/package.json +1 -1
@@ -1,43 +1,33 @@
1
1
  import { usePDFViewer as e } from "../../context/PDFViewerContext.js";
2
- import { ToolbarButton as t } from "../ui/ToolbarButton.js";
2
+ import { computeFit as t } from "../../utils/pdfFit.js";
3
+ import { ToolbarButton as n } from "../ui/ToolbarButton.js";
3
4
  import "react";
4
- import { c as n } from "react/compiler-runtime";
5
- import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ import { c as r } from "react/compiler-runtime";
6
+ import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
6
7
  //#region src/components/features/PDFPageFit.tsx
7
- var o = 60, s = 10;
8
- function c(c) {
9
- let l = n(19), { fitWidthIcon: u, fitPageIcon: d } = c, { pdf: f, rotation: p, setZoom: m, containerRef: h } = e(), g;
10
- l[0] !== h || l[1] !== f || l[2] !== p || l[3] !== m ? (g = async () => {
11
- if (!f || !h.current) return;
12
- let e = (await f.getPage(1)).getViewport({
13
- scale: 1,
14
- rotation: p
15
- });
16
- m((h.current.clientWidth - o) / e.width);
17
- }, l[0] = h, l[1] = f, l[2] = p, l[3] = m, l[4] = g) : g = l[4];
18
- let _ = g, v;
19
- l[5] !== h || l[6] !== f || l[7] !== p || l[8] !== m ? (v = async () => {
20
- if (!f || !h.current) return;
21
- let e = (await f.getPage(1)).getViewport({
22
- scale: 1,
23
- rotation: p
24
- }), t = h.current.clientWidth - o, n = h.current.clientHeight - s * 2;
25
- m(Math.min(t / e.width, n / e.height));
26
- }, l[5] = h, l[6] = f, l[7] = p, l[8] = m, l[9] = v) : v = l[9];
27
- let y = v, b;
28
- l[10] !== u || l[11] !== _ ? (b = /* @__PURE__ */ i(t, {
8
+ function s(s) {
9
+ let c = r(18), { fitWidthIcon: l, fitPageIcon: u } = s, { pdf: d, rotation: f, setZoom: p, containerRef: m } = e(), h;
10
+ c[0] !== m || c[1] !== d || c[2] !== f || c[3] !== p ? (h = async (e) => {
11
+ !d || !m.current || p(await t(e, d, m.current, f));
12
+ }, c[0] = m, c[1] = d, c[2] = f, c[3] = p, c[4] = h) : h = c[4];
13
+ let g = h, _;
14
+ c[5] === g ? _ = c[6] : (_ = () => g("width"), c[5] = g, c[6] = _);
15
+ let v;
16
+ c[7] !== l || c[8] !== _ ? (v = /* @__PURE__ */ a(n, {
29
17
  onClick: _,
30
18
  title: "Adatta alla larghezza",
31
- children: u
32
- }), l[10] = u, l[11] = _, l[12] = b) : b = l[12];
33
- let x;
34
- l[13] !== d || l[14] !== y ? (x = /* @__PURE__ */ i(t, {
19
+ children: l
20
+ }), c[7] = l, c[8] = _, c[9] = v) : v = c[9];
21
+ let y;
22
+ c[10] === g ? y = c[11] : (y = () => g("page"), c[10] = g, c[11] = y);
23
+ let b;
24
+ c[12] !== u || c[13] !== y ? (b = /* @__PURE__ */ a(n, {
35
25
  onClick: y,
36
26
  title: "Adatta pagina intera",
37
- children: d
38
- }), l[13] = d, l[14] = y, l[15] = x) : x = l[15];
39
- let S;
40
- return l[16] !== b || l[17] !== x ? (S = /* @__PURE__ */ a(r, { children: [b, x] }), l[16] = b, l[17] = x, l[18] = S) : S = l[18], S;
27
+ children: u
28
+ }), c[12] = u, c[13] = y, c[14] = b) : b = c[14];
29
+ let x;
30
+ return c[15] !== v || c[16] !== b ? (x = /* @__PURE__ */ o(i, { children: [v, b] }), c[15] = v, c[16] = b, c[17] = x) : x = c[17], x;
41
31
  }
42
32
  //#endregion
43
- export { c as PDFPageFit };
33
+ export { s as PDFPageFit };
@@ -9,9 +9,9 @@ function i(i) {
9
9
  a[0] === s ? c = a[1] : (c = () => {
10
10
  let e = URL.createObjectURL(s), t = document.createElement("iframe");
11
11
  t.style.display = "none", t.src = e, document.body.appendChild(t), t.onload = () => {
12
- t.contentWindow?.print(), setTimeout(() => {
12
+ t.contentWindow?.addEventListener("afterprint", () => {
13
13
  document.body.removeChild(t), URL.revokeObjectURL(e);
14
- }, 1e3);
14
+ }, { once: !0 }), t.contentWindow?.print();
15
15
  };
16
16
  }, a[0] = s, a[1] = c);
17
17
  let l = c, u;
@@ -6,7 +6,7 @@ import { c as a } from "react/compiler-runtime";
6
6
  import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
7
7
  //#region src/components/features/PDFSearch.tsx
8
8
  function l(l) {
9
- let u = a(33), { searchIcon: d, prevIcon: f, nextIcon: p, clearIcon: m } = l, { pdf: h, goToPage: g, setHighlight: _, setSearchMatches: v } = e(), [y, b] = i(""), [x, S] = i(0), C;
9
+ let u = a(35), { searchIcon: d, prevIcon: f, nextIcon: p, clearIcon: m } = l, { pdf: h, goToPage: g, setHighlight: _, setSearchMatches: v } = e(), [y, b] = i(""), [x, S] = i(0), C;
10
10
  u[0] !== h || u[1] !== y ? (C = {
11
11
  pdf: h,
12
12
  query: y
@@ -32,14 +32,19 @@ function l(l) {
32
32
  b(""), S(0), _(null);
33
33
  }, u[14] = _, u[15] = N);
34
34
  let P = N, F;
35
- u[16] !== M || u[17] !== y ? (F = /* @__PURE__ */ s("input", {
35
+ u[16] === d ? F = u[17] : (F = /* @__PURE__ */ s("span", {
36
+ className: n.searchIconWrapper,
37
+ children: d
38
+ }), u[16] = d, u[17] = F);
39
+ let I;
40
+ u[18] !== M || u[19] !== y ? (I = /* @__PURE__ */ s("input", {
36
41
  className: n.searchInput,
37
42
  value: y,
38
43
  onChange: M,
39
44
  placeholder: "Cerca nel documento..."
40
- }), u[16] = M, u[17] = y, u[18] = F) : F = u[18];
41
- let I;
42
- u[19] !== m || u[20] !== P || u[21] !== x || u[22] !== A || u[23] !== p || u[24] !== f || u[25] !== y || u[26] !== T || u[27] !== E ? (I = y && /* @__PURE__ */ c(o, { children: [
45
+ }), u[18] = M, u[19] = y, u[20] = I) : I = u[20];
46
+ let L;
47
+ u[21] !== m || u[22] !== P || u[23] !== x || u[24] !== A || u[25] !== p || u[26] !== f || u[27] !== y || u[28] !== T || u[29] !== E ? (L = y && /* @__PURE__ */ c(o, { children: [
43
48
  /* @__PURE__ */ s("span", {
44
49
  className: n.counter,
45
50
  children: T ? "…" : E === 0 ? "0" : `${x + 1}/${E}`
@@ -61,16 +66,16 @@ function l(l) {
61
66
  onClick: P,
62
67
  children: m
63
68
  })
64
- ] }), u[19] = m, u[20] = P, u[21] = x, u[22] = A, u[23] = p, u[24] = f, u[25] = y, u[26] = T, u[27] = E, u[28] = I) : I = u[28];
65
- let L;
66
- return u[29] !== d || u[30] !== F || u[31] !== I ? (L = /* @__PURE__ */ c("div", {
69
+ ] }), u[21] = m, u[22] = P, u[23] = x, u[24] = A, u[25] = p, u[26] = f, u[27] = y, u[28] = T, u[29] = E, u[30] = L) : L = u[30];
70
+ let R;
71
+ return u[31] !== F || u[32] !== I || u[33] !== L ? (R = /* @__PURE__ */ c("div", {
67
72
  className: n.wrapper,
68
73
  children: [
69
- d,
70
74
  F,
71
- I
75
+ I,
76
+ L
72
77
  ]
73
- }), u[29] = d, u[30] = F, u[31] = I, u[32] = L) : L = u[32], L;
78
+ }), u[31] = F, u[32] = I, u[33] = L, u[34] = R) : R = u[34], R;
74
79
  }
75
80
  //#endregion
76
81
  export { l as PDFSearch };
@@ -1,8 +1,9 @@
1
1
  var e = {
2
- wrapper: "_wrapper_yinyt_1",
3
- searchInput: "_searchInput_yinyt_13",
4
- navButton: "_navButton_yinyt_53",
5
- counter: "_counter_yinyt_95"
2
+ wrapper: "_wrapper_4qrs1_1",
3
+ searchIconWrapper: "_searchIconWrapper_4qrs1_13",
4
+ searchInput: "_searchInput_4qrs1_25",
5
+ navButton: "_navButton_4qrs1_65",
6
+ counter: "_counter_4qrs1_107"
6
7
  };
7
8
  //#endregion
8
9
  export { e as default };
@@ -0,0 +1,20 @@
1
+ import { usePDFViewer as e } from "../../context/PDFViewerContext.js";
2
+ import t from "../ui/ToolbarButton.module.js";
3
+ import { c as n } from "react/compiler-runtime";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/components/features/PDFSidebarToggle.tsx
6
+ function i(i) {
7
+ let a = n(5), { collapseIcon: o, expandIcon: s } = i, { sidebarCollapsed: c, setSidebarCollapsed: l } = e();
8
+ if (!c) return null;
9
+ let u;
10
+ a[0] === l ? u = a[1] : (u = () => l(!1), a[0] = l, a[1] = u);
11
+ let d = s ?? o, f;
12
+ return a[2] !== u || a[3] !== d ? (f = /* @__PURE__ */ r("button", {
13
+ className: t.btn,
14
+ onClick: u,
15
+ title: "Espandi sidebar",
16
+ children: d
17
+ }), a[2] = u, a[3] = d, a[4] = f) : f = a[4], f;
18
+ }
19
+ //#endregion
20
+ export { i as PDFSidebarToggle };
@@ -87,8 +87,22 @@ function s(e) {
87
87
  children: [g, C]
88
88
  }), t[26] = c, t[27] = l, t[28] = C, t[29] = g, t[30] = w) : w = t[30], w;
89
89
  }
90
- function c() {
91
- let o = r(22), { pdf: c, goToPage: l, setHighlight: u } = e(), d;
90
+ function c(o) {
91
+ let s = r(8), { icon: c } = o, { pdf: l } = e(), u;
92
+ s[0] === l ? u = s[1] : (u = { pdf: l }, s[0] = l, s[1] = u);
93
+ let { signatures: d, loading: f } = t(u), p = d.length, m;
94
+ s[2] !== p || s[3] !== f ? (m = !f && p > 0 && /* @__PURE__ */ i("span", {
95
+ className: n.badge,
96
+ children: p > 99 ? "99+" : p
97
+ }), s[2] = p, s[3] = f, s[4] = m) : m = s[4];
98
+ let h;
99
+ return s[5] !== c || s[6] !== m ? (h = /* @__PURE__ */ a("span", {
100
+ className: n.iconWrapper,
101
+ children: [c, m]
102
+ }), s[5] = c, s[6] = m, s[7] = h) : h = s[7], h;
103
+ }
104
+ function l() {
105
+ let o = r(18), { pdf: c, goToPage: l, setHighlight: u } = e(), d;
92
106
  o[0] === c ? d = o[1] : (d = { pdf: c }, o[0] = c, o[1] = d);
93
107
  let { signatures: f, loading: p } = t(d), m;
94
108
  o[2] !== l || o[3] !== u ? (m = (e) => {
@@ -113,20 +127,14 @@ function c() {
113
127
  onClick: () => h(e)
114
128
  }, t)), o[10] = h, o[11] = p, o[12] = f, o[13] = v) : v = o[13];
115
129
  let y;
116
- o[14] !== p || o[15] !== f ? (y = !p && f.length > 0 && /* @__PURE__ */ i("div", {
117
- className: n.disclaimer,
118
- children: "La presenza del campo firma non garantisce la validità crittografica."
119
- }), o[14] = p, o[15] = f, o[16] = y) : y = o[16];
120
- let b;
121
- return o[17] !== g || o[18] !== _ || o[19] !== v || o[20] !== y ? (b = /* @__PURE__ */ a("div", {
130
+ return o[14] !== g || o[15] !== _ || o[16] !== v ? (y = /* @__PURE__ */ a("div", {
122
131
  className: n.list,
123
132
  children: [
124
133
  g,
125
134
  _,
126
- v,
127
- y
135
+ v
128
136
  ]
129
- }), o[17] = g, o[18] = _, o[19] = v, o[20] = y, o[21] = b) : b = o[21], b;
137
+ }), o[14] = g, o[15] = _, o[16] = v, o[17] = y) : y = o[17], y;
130
138
  }
131
139
  //#endregion
132
- export { c as PDFSignatures };
140
+ export { l as PDFSignatures, c as PDFSignaturesIcon };
@@ -1,18 +1,20 @@
1
1
  var e = {
2
- list: "_list_1xon0_1",
3
- emptyState: "_emptyState_1xon0_11",
4
- card: "_card_1xon0_23",
5
- cardClickable: "_cardClickable_1xon0_45",
6
- cardSigned: "_cardSigned_1xon0_61",
7
- cardHeader: "_cardHeader_1xon0_71",
8
- statusDot: "_statusDot_1xon0_85",
9
- statusDotSigned: "_statusDotSigned_1xon0_113",
10
- statusLabel: "_statusLabel_1xon0_121",
11
- statusLabelSigned: "_statusLabelSigned_1xon0_137",
12
- fieldList: "_fieldList_1xon0_145",
13
- fieldRow: "_fieldRow_1xon0_157",
14
- fieldLabel: "_fieldLabel_1xon0_167",
15
- disclaimer: "_disclaimer_1xon0_175"
2
+ list: "_list_11831_1",
3
+ emptyState: "_emptyState_11831_11",
4
+ card: "_card_11831_23",
5
+ cardClickable: "_cardClickable_11831_45",
6
+ cardSigned: "_cardSigned_11831_61",
7
+ cardHeader: "_cardHeader_11831_71",
8
+ statusDot: "_statusDot_11831_85",
9
+ statusDotSigned: "_statusDotSigned_11831_113",
10
+ statusLabel: "_statusLabel_11831_121",
11
+ statusLabelSigned: "_statusLabelSigned_11831_137",
12
+ fieldList: "_fieldList_11831_145",
13
+ fieldRow: "_fieldRow_11831_157",
14
+ fieldLabel: "_fieldLabel_11831_167",
15
+ disclaimer: "_disclaimer_11831_175",
16
+ iconWrapper: "_iconWrapper_11831_197",
17
+ badge: "_badge_11831_211"
16
18
  };
17
19
  //#endregion
18
20
  export { e as default };
@@ -5,38 +5,38 @@ import { jsx as s } from "react/jsx-runtime";
5
5
  //#region src/context/ThemeContext.tsx
6
6
  var c = r(null);
7
7
  function l(r) {
8
- let i = o(17), { children: l, themeOverrides: d } = r, [f, p] = a(!0), m, h;
9
- i[0] !== f || i[1] !== d?.dark || i[2] !== d?.light ? (h = f ? {
8
+ let i = o(17), { children: l, themeOverrides: d, defaultTheme: f } = r, [p, m] = a((f === void 0 ? "light" : f) === "dark"), h, g;
9
+ i[0] !== p || i[1] !== d?.dark || i[2] !== d?.light ? (g = p ? {
10
10
  ...e,
11
11
  ...d?.dark
12
12
  } : {
13
13
  ...t,
14
14
  ...d?.light
15
- }, m = n(h), i[0] = f, i[1] = d?.dark, i[2] = d?.light, i[3] = m, i[4] = h) : (m = i[3], h = i[4]);
16
- let g = m, _;
17
- i[5] === Symbol.for("react.memo_cache_sentinel") ? (_ = () => p(u), i[5] = _) : _ = i[5];
18
- let v;
19
- i[6] !== f || i[7] !== h ? (v = {
20
- isDark: f,
21
- toggleTheme: _,
22
- theme: h
23
- }, i[6] = f, i[7] = h, i[8] = v) : v = i[8];
24
- let y = g, b;
25
- i[9] === y ? b = i[10] : (b = {
26
- ...y,
15
+ }, h = n(g), i[0] = p, i[1] = d?.dark, i[2] = d?.light, i[3] = h, i[4] = g) : (h = i[3], g = i[4]);
16
+ let _ = h, v;
17
+ i[5] === Symbol.for("react.memo_cache_sentinel") ? (v = () => m(u), i[5] = v) : v = i[5];
18
+ let y;
19
+ i[6] !== p || i[7] !== g ? (y = {
20
+ isDark: p,
21
+ toggleTheme: v,
22
+ theme: g
23
+ }, i[6] = p, i[7] = g, i[8] = y) : y = i[8];
24
+ let b = _, x;
25
+ i[9] === b ? x = i[10] : (x = {
26
+ ...b,
27
27
  height: "100%",
28
28
  width: "100%"
29
- }, i[9] = y, i[10] = b);
30
- let x;
31
- i[11] !== l || i[12] !== b ? (x = /* @__PURE__ */ s("div", {
32
- style: b,
33
- children: l
34
- }), i[11] = l, i[12] = b, i[13] = x) : x = i[13];
29
+ }, i[9] = b, i[10] = x);
35
30
  let S;
36
- return i[14] !== v || i[15] !== x ? (S = /* @__PURE__ */ s(c.Provider, {
37
- value: v,
38
- children: x
39
- }), i[14] = v, i[15] = x, i[16] = S) : S = i[16], S;
31
+ i[11] !== l || i[12] !== x ? (S = /* @__PURE__ */ s("div", {
32
+ style: x,
33
+ children: l
34
+ }), i[11] = l, i[12] = x, i[13] = S) : S = i[13];
35
+ let C;
36
+ return i[14] !== y || i[15] !== S ? (C = /* @__PURE__ */ s(c.Provider, {
37
+ value: y,
38
+ children: S
39
+ }), i[14] = y, i[15] = S, i[16] = C) : C = i[16], C;
40
40
  }
41
41
  function u(e) {
42
42
  return !e;
package/dist/es/index.js CHANGED
@@ -1,17 +1,18 @@
1
1
  import { darkTheme as e, lightTheme as t } from "./theme.js";
2
2
  import n from "./components/PDFViewer.js";
3
3
  import { PDFSidebar as r } from "./components/PDFSidebar.js";
4
- import { PDFAnnotations as i } from "./components/features/PDFAnnotations.js";
5
- import { PDFChangeFile as a } from "./components/features/PDFChangeFile.js";
6
- import { PDFDownloadButton as o } from "./components/features/PDFDownloadButton.js";
7
- import { PDFNavigation as s } from "./components/features/PDFNavigation.js";
8
- import { PDFOutline as c } from "./components/features/PDFOutline.js";
9
- import { PDFPageFit as l } from "./components/features/PDFPageFit.js";
10
- import { PDFRotationControl as u } from "./components/features/PDFRotationControl.js";
11
- import { PDFSearch as d } from "./components/features/PDFSearch.js";
12
- import { PDFSignatures as f } from "./components/features/PDFSignatures.js";
13
- import { PDFThumbnails as p } from "./components/features/PDFThumbnails.js";
14
- import { PDFZoomControls as m } from "./components/features/PDFZoomControls.js";
15
- import { PDFThemeToggle as h } from "./components/features/PDFThemeToggle.js";
16
- import { PDFPrintButton as g } from "./components/features/PDFPrintButton.js";
17
- export { i as PDFAnnotations, a as PDFChangeFile, o as PDFDownloadButton, s as PDFNavigation, c as PDFOutline, l as PDFPageFit, g as PDFPrintButton, u as PDFRotationControl, d as PDFSearch, r as PDFSidebar, f as PDFSignatures, h as PDFThemeToggle, p as PDFThumbnails, n as PDFViewer, m as PDFZoomControls, e as darkTheme, t as lightTheme };
4
+ import { PDFAnnotations as i, PDFAnnotationsIcon as a } from "./components/features/PDFAnnotations.js";
5
+ import { PDFChangeFile as o } from "./components/features/PDFChangeFile.js";
6
+ import { PDFDownloadButton as s } from "./components/features/PDFDownloadButton.js";
7
+ import { PDFNavigation as c } from "./components/features/PDFNavigation.js";
8
+ import { PDFOutline as l } from "./components/features/PDFOutline.js";
9
+ import { PDFPageFit as u } from "./components/features/PDFPageFit.js";
10
+ import { PDFRotationControl as d } from "./components/features/PDFRotationControl.js";
11
+ import { PDFSearch as f } from "./components/features/PDFSearch.js";
12
+ import { PDFSignatures as p, PDFSignaturesIcon as m } from "./components/features/PDFSignatures.js";
13
+ import { PDFThumbnails as h } from "./components/features/PDFThumbnails.js";
14
+ import { PDFZoomControls as g } from "./components/features/PDFZoomControls.js";
15
+ import { PDFThemeToggle as _ } from "./components/features/PDFThemeToggle.js";
16
+ import { PDFPrintButton as v } from "./components/features/PDFPrintButton.js";
17
+ import { PDFSidebarToggle as y } from "./components/features/PDFSidebarToggle.js";
18
+ export { i as PDFAnnotations, a as PDFAnnotationsIcon, o as PDFChangeFile, s as PDFDownloadButton, c as PDFNavigation, l as PDFOutline, u as PDFPageFit, v as PDFPrintButton, d as PDFRotationControl, f as PDFSearch, r as PDFSidebar, y as PDFSidebarToggle, p as PDFSignatures, m as PDFSignaturesIcon, _ as PDFThemeToggle, h as PDFThumbnails, n as PDFViewer, g as PDFZoomControls, e as darkTheme, t as lightTheme };
@@ -1,2 +1,2 @@
1
- ._wrapper_184n8_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._buttonBar_184n8_13{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._panelButton_184n8_33{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_184n8_33:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_184n8_73{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_184n8_73:hover{color:var(--pdf-accent-light)}._contentPanel_184n8_91{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_184n8_107{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_184n8_131{flex:1;overflow-y:auto}._appLayout_nel8e_1{width:100%;height:100%;display:flex;overflow:hidden}._mainContent_nel8e_15{flex-direction:column;flex:1;min-width:0;display:flex}._toolbar_nel8e_29{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_nel8e_53{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_nel8e_73{margin-bottom:25px;position:relative}._pageCanvas_nel8e_83{box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block}._textLayer_nel8e_97{--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:0;--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_nel8e_97 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_nel8e_97>:not(._markedContent_nel8e_149),._textLayer_nel8e_97 ._markedContent_nel8e_149 span:not(._markedContent_nel8e_149){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_nel8e_97 ._markedContent_nel8e_149{display:contents}._textLayer_nel8e_97 ._endOfContent_nel8e_177{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_nel8e_97._selecting_nel8e_195 ._endOfContent_nel8e_177{top:0}._textLayer_nel8e_97 ::selection{background:#0000ff40}._textLayer_nel8e_97 br::selection{background:0 0}._pageSkeleton_nel8e_235{background:linear-gradient(90deg,#3f3f46 25%,#52525b 50%,#3f3f46 75%) 0 0/200% 100%;border-radius:1px;animation:1.4s infinite _shimmer_nel8e_1}@keyframes _shimmer_nel8e_1{0%{background-position:200% 0}to{background-position:-200% 0}}._highlightOverlay_nel8e_267{pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_nel8e_283{pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_nel8e_295{pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_173qc_1{flex-direction:column;display:flex}._emptyState_173qc_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_173qc_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_173qc_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_173qc_65{cursor:pointer}._cardClickable_173qc_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_173qc_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_173qc_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_173qc_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_173qc_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_173qc_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._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_6ysgx_1{align-items:center;gap:2px;margin-left:auto;display:flex}._pageInput_6ysgx_15{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_6ysgx_15:focus{border-color:var(--pdf-accent);background:var(--pdf-bg)}._pageInput_6ysgx_15::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_6ysgx_15::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_6ysgx_15{-moz-appearance:textfield}._pageTotal_6ysgx_71{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_yinyt_1{align-items:center;gap:4px;display:flex}._searchInput_yinyt_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_yinyt_13:focus{border-color:var(--pdf-accent)}._searchInput_yinyt_13::placeholder{color:var(--pdf-text-placeholder)}._navButton_yinyt_53{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_yinyt_53:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_yinyt_53:disabled{color:var(--pdf-border);cursor:default}._counter_yinyt_95{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_1xon0_1{flex-direction:column;display:flex}._emptyState_1xon0_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._card_1xon0_23{border:1px solid var(--pdf-border);background-color:var(--pdf-panel-bg);cursor:default;border-radius:6px;margin:8px;padding:12px;font-size:12px;transition:box-shadow .12s}._cardClickable_1xon0_45{cursor:pointer}._cardClickable_1xon0_45:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardSigned_1xon0_61{background-color:#f0fdf4;border-color:#bbf7d0}._cardHeader_1xon0_71{align-items:center;gap:7px;margin-bottom:8px;display:flex}._statusDot_1xon0_85{background-color:var(--pdf-border-light);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;line-height:1;display:flex}._statusDotSigned_1xon0_113{background-color:#22c55e}._statusLabel_1xon0_121{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}._statusLabelSigned_1xon0_137{color:#16a34a}._fieldList_1xon0_145{flex-direction:column;gap:3px;display:flex}._fieldRow_1xon0_157{color:var(--pdf-text-secondary);font-size:12px}._fieldLabel_1xon0_167{color:var(--pdf-text-secondary)}._disclaimer_1xon0_175{color:#a16207;background-color:#fefce8;border:1px solid #fef08a;border-radius:4px;margin:0 8px 12px;padding:8px 10px;font-size:10px;line-height:1.5}._thumbnailList_116om_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_116om_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_116om_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_116om_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_116om_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_116om_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_116om_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailLabel_116om_75{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_116om_89{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}
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_8il7s_1{width:100%;height:100%;display:flex;overflow:hidden}._mainContent_8il7s_15{flex-direction:column;flex:1;min-width:0;display:flex}._toolbar_8il7s_29{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_8il7s_53{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_8il7s_73{margin-bottom:25px;position:relative}._pageCanvas_8il7s_83{box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block}._textLayer_8il7s_97{--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:0;--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_8il7s_97 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_8il7s_97>:not(._markedContent_8il7s_149),._textLayer_8il7s_97 ._markedContent_8il7s_149 span:not(._markedContent_8il7s_149){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_8il7s_97 ._markedContent_8il7s_149{display:contents}._textLayer_8il7s_97 ._endOfContent_8il7s_179{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_8il7s_97._selecting_8il7s_197 ._endOfContent_8il7s_179{top:0}._textLayer_8il7s_97 ::selection{background:#0000ff40}._textLayer_8il7s_97 br::selection{background:0 0}._pageSkeleton_8il7s_237{background:linear-gradient(90deg,#3f3f46 25%,#52525b 50%,#3f3f46 75%) 0 0/200% 100%;border-radius:1px;animation:1.4s infinite _shimmer_8il7s_1}@keyframes _shimmer_8il7s_1{0%{background-position:200% 0}to{background-position:-200% 0}}._highlightOverlay_8il7s_269{pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_8il7s_285{pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_8il7s_297{pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_10scn_1{flex-direction:column;display:flex}._emptyState_10scn_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_10scn_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_10scn_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_10scn_65{cursor:pointer}._cardClickable_10scn_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_10scn_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_10scn_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_10scn_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_10scn_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_10scn_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_10scn_141{justify-content:center;align-items:center;display:flex;position:relative}._badge_10scn_155{background-color:var(--pdf-accent);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_11831_1{flex-direction:column;display:flex}._emptyState_11831_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._card_11831_23{border:1px solid var(--pdf-border);background-color:var(--pdf-panel-bg);cursor:default;border-radius:6px;margin:8px;padding:12px;font-size:12px;transition:box-shadow .12s}._cardClickable_11831_45{cursor:pointer}._cardClickable_11831_45:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardSigned_11831_61{background-color:#f0fdf4;border-color:#bbf7d0}._cardHeader_11831_71{align-items:center;gap:7px;margin-bottom:8px;display:flex}._statusDot_11831_85{background-color:var(--pdf-border-light);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;line-height:1;display:flex}._statusDotSigned_11831_113{background-color:#22c55e}._statusLabel_11831_121{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}._statusLabelSigned_11831_137{color:#16a34a}._fieldList_11831_145{flex-direction:column;gap:3px;display:flex}._fieldRow_11831_157{color:var(--pdf-text-secondary);font-size:12px}._fieldLabel_11831_167{color:var(--pdf-text-secondary)}._disclaimer_11831_175{color:#a16207;background-color:#fefce8;border:1px solid #fef08a;border-radius:4px;margin:0 8px 12px;padding:8px 10px;font-size:10px;line-height:1.5}._iconWrapper_11831_197{justify-content:center;align-items:center;display:flex;position:relative}._badge_11831_211{background-color:var(--pdf-accent);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_116om_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_116om_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_116om_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_116om_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_116om_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_116om_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_116om_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailLabel_116om_75{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_116om_89{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}
2
2
  /*$vite$:1*/
@@ -0,0 +1,13 @@
1
+ //#region src/utils/pdfFit.ts
2
+ var e = 60, t = 10;
3
+ async function n(n, r, i, a) {
4
+ let o = (await r.getPage(1)).getViewport({
5
+ scale: 1,
6
+ rotation: a
7
+ }), s = i.clientWidth - e;
8
+ if (n === "width") return s / o.width;
9
+ let c = i.clientHeight - t * 2;
10
+ return Math.min(s / o.width, c / o.height);
11
+ }
12
+ //#endregion
13
+ export { n as computeFit };
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { default as PDFViewer } from './components/PDFViewer';
2
2
  export type { Theme } from './theme';
3
3
  export { darkTheme, lightTheme } from './theme';
4
4
  export { PDFSidebar } from './components/PDFSidebar';
5
- export { PDFAnnotations } from './components/features/PDFAnnotations';
5
+ export { PDFAnnotations, PDFAnnotationsIcon } from './components/features/PDFAnnotations';
6
6
  export { PDFChangeFile } from './components/features/PDFChangeFile';
7
7
  export { PDFDownloadButton } from './components/features/PDFDownloadButton';
8
8
  export { PDFNavigation } from './components/features/PDFNavigation';
@@ -10,8 +10,9 @@ export { PDFOutline } from './components/features/PDFOutline';
10
10
  export { PDFPageFit } from './components/features/PDFPageFit';
11
11
  export { PDFRotationControl } from './components/features/PDFRotationControl';
12
12
  export { PDFSearch } from './components/features/PDFSearch';
13
- export { PDFSignatures } from './components/features/PDFSignatures';
13
+ export { PDFSignatures, PDFSignaturesIcon } from './components/features/PDFSignatures';
14
14
  export { PDFThumbnails } from './components/features/PDFThumbnails';
15
15
  export { PDFZoomControls } from './components/features/PDFZoomControls';
16
16
  export { PDFThemeToggle } from './components/features/PDFThemeToggle';
17
17
  export { PDFPrintButton } from './components/features/PDFPrintButton';
18
+ export { PDFSidebarToggle } from './components/features/PDFSidebarToggle';
@@ -0,0 +1,2 @@
1
+ import type * as pdfjsLib from "pdfjs-dist";
2
+ export declare function computeFit(mode: "width" | "page", pdf: pdfjsLib.PDFDocumentProxy, container: HTMLDivElement, rotation: number): Promise<number>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdf-tsx",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "A fully-featured, composable PDF viewer component for React",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.cjs",