@react-pdf-kit/viewer 2.0.0-beta.1 → 2.0.0-beta.2

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 (98) hide show
  1. package/README.md +6 -6
  2. package/dist/ToolbarLayout.module-3a77cc37.js +3556 -0
  3. package/dist/assets/style.css +1 -1
  4. package/dist/assets/style.js +11 -11
  5. package/dist/components/RPConfig.js +10 -1485
  6. package/dist/components/RPController.js +57 -57
  7. package/dist/components/RPPages.js +8 -10
  8. package/dist/components/RPProvider.js +33 -29
  9. package/dist/components/icons/DualPageIcon.js +6 -6
  10. package/dist/components/icons/SinglePageIcon.js +6 -6
  11. package/dist/components/layout/LayoutContainer.js +6 -8
  12. package/dist/components/layout/RPDefaultLayout.js +4 -6
  13. package/dist/components/layout/RPLayout.js +49 -51
  14. package/dist/components/layout/sidebar/RPSidebar.js +5 -7
  15. package/dist/components/layout/sidebar/Thumbnail.js +8 -10
  16. package/dist/components/layout/sidebar/Thumbnails.js +5 -7
  17. package/dist/components/layout/toolbar/DocumentDialog.js +8 -10
  18. package/dist/components/layout/toolbar/FileDownloadTool.js +5 -7
  19. package/dist/components/layout/toolbar/MostPageTool.js +8 -10
  20. package/dist/components/layout/toolbar/OtherTool.js +5 -7
  21. package/dist/components/layout/toolbar/Paginate.js +5 -7
  22. package/dist/components/layout/toolbar/PrintTool.js +5 -7
  23. package/dist/components/layout/toolbar/RPMoreOptions.js +6 -8
  24. package/dist/components/layout/toolbar/RPToolbar.js +5 -7
  25. package/dist/components/layout/toolbar/RPToolbarEnd.js +5 -7
  26. package/dist/components/layout/toolbar/SearchResultNavigator.js +5 -7
  27. package/dist/components/layout/toolbar/SearchTool.js +8 -10
  28. package/dist/components/layout/toolbar/ThumbnailTool.js +6 -8
  29. package/dist/components/layout/toolbar/ToolbarCustom.js +21 -23
  30. package/dist/components/layout/toolbar/ToolbarDefault.js +30 -32
  31. package/dist/components/layout/toolbar/ToolbarLayout.js +6 -8
  32. package/dist/components/layout/toolbar/ViewModeTool.js +2 -2
  33. package/dist/components/layout/toolbar/ZoomTool.js +5 -7
  34. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +6 -8
  35. package/dist/components/layout/toolbar/tools/DualPageTool.js +144 -0
  36. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +6 -8
  37. package/dist/components/layout/toolbar/tools/InputPageTool.js +6 -8
  38. package/dist/components/layout/toolbar/tools/NextPageTool.js +9 -11
  39. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +6 -8
  40. package/dist/components/layout/toolbar/tools/PrintTool.js +6 -8
  41. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +29 -0
  42. package/dist/components/layout/toolbar/tools/SinglePageTool.js +144 -0
  43. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +6 -8
  44. package/dist/components/layout/toolbar/tools/ZoomLevelDisplay.js +8 -10
  45. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +6 -8
  46. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +14 -16
  47. package/dist/components/layout/toolbar/tools/defaults/RPVerticalBar.js +6 -8
  48. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +6 -8
  49. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +9 -11
  50. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +9 -11
  51. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +6 -8
  52. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +2 -2
  53. package/dist/components/page/AnnotationLayer.js +8 -10
  54. package/dist/components/page/CanvasLayer.js +8 -10
  55. package/dist/components/page/DualPage.js +5 -7
  56. package/dist/components/page/RPPage.js +8 -10
  57. package/dist/components/page/SinglePage.js +5 -7
  58. package/dist/components/page/TextHighlightLayer.js +8 -10
  59. package/dist/components/page/TextLayer.js +8 -10
  60. package/dist/components/ui/LoadingIndicator.js +5 -7
  61. package/dist/contexts/ElementPageContext.js +1 -1
  62. package/dist/contexts/PaginationContext.js +7 -9
  63. package/dist/contexts/PrintContext.js +7 -9
  64. package/dist/contexts/RPDocumentContext.js +27 -19
  65. package/dist/contexts/RenderQueueProvider.js +7 -9
  66. package/dist/contexts/SearchContext.js +7 -9
  67. package/dist/contexts/ThumbnailsContext.js +7 -9
  68. package/dist/main.js +96 -92
  69. package/dist/types/components/icons/DualPageIcon.d.ts +1 -1
  70. package/dist/types/components/icons/SinglePageIcon.d.ts +1 -1
  71. package/dist/types/components/layout/toolbar/tools/DualPageTool.d.ts +3 -0
  72. package/dist/types/components/layout/toolbar/tools/SelectionModeSwitcherTool.d.ts +3 -0
  73. package/dist/types/components/layout/toolbar/tools/SinglePageTool.d.ts +3 -0
  74. package/dist/types/contexts/RenderQueueProvider.d.ts +2 -2
  75. package/dist/types/main.d.ts +4 -4
  76. package/dist/types/utils/getElementPositionInPage.d.ts +2 -2
  77. package/dist/types/utils/hooks/useCopyText.d.ts +1 -0
  78. package/dist/types/utils/hooks/usePrint.d.ts +3 -2
  79. package/dist/types/utils/hooks/useSearch.d.ts +1 -2
  80. package/dist/types/utils/renderPage.d.ts +2 -2
  81. package/dist/types/utils/types.d.ts +27 -4
  82. package/dist/utils/getWordPositionInPage.js +5 -5
  83. package/dist/utils/highlight.js +72 -72
  84. package/dist/utils/hooks/useCopyText.js +36 -0
  85. package/dist/utils/hooks/useFileDownload.js +8 -10
  86. package/dist/utils/hooks/useLicense.js +1 -1
  87. package/dist/utils/hooks/useLoadPdf.js +42 -39
  88. package/dist/utils/hooks/usePaginate.js +8 -10
  89. package/dist/utils/hooks/usePresentPage.js +8 -10
  90. package/dist/utils/hooks/usePrint.js +8 -10
  91. package/dist/utils/hooks/useScrollToPage.js +8 -10
  92. package/dist/utils/hooks/useSearch.js +8 -10
  93. package/dist/utils/hooks/useThumbnail.js +8 -10
  94. package/dist/utils/hooks/useVirtualReactWindow.js +8 -10
  95. package/dist/utils/injectPrintCSS.js +1 -1
  96. package/dist/utils/renderPage.js +12 -10
  97. package/package.json +21 -17
  98. package/dist/ToolbarLayout.module-37619c4b.js +0 -3548
@@ -1,19 +1,19 @@
1
- import { getCharacterType as X } from "./charators.js";
2
- function V(r, c, a, i) {
1
+ import { getCharacterType as D } from "./charators.js";
2
+ function V(r, c, u, i) {
3
3
  const o = [];
4
4
  for (const n of r) {
5
5
  const s = y(c, n, i);
6
- o.push(...I(s, c, a));
6
+ o.push(...I(s, c, u));
7
7
  }
8
8
  return o;
9
9
  }
10
- const D = (r, c) => {
11
- const a = ["g"];
12
- c.matchCase || a.push("i");
10
+ const X = (r, c) => {
11
+ const u = ["g"];
12
+ c.matchCase || u.push("i");
13
13
  let o = r.replace(/[.^$*+?()[{|\\]/g, (n) => `\\${n}`).trim();
14
- return new RegExp(o, a.join(""));
14
+ return new RegExp(o, u.join(""));
15
15
  };
16
- function y(r, c, a) {
16
+ function y(r, c, u) {
17
17
  const i = [];
18
18
  for (const t of r.items)
19
19
  if (t.hasEOL)
@@ -27,14 +27,14 @@ function y(r, c, a) {
27
27
  i.push(t.str);
28
28
  const o = i.join("").replace(/\n/g, " ");
29
29
  let n;
30
- c instanceof RegExp ? n = c.flags.indexOf("g") === -1 ? new RegExp(c, `${c.flags}g`) : c : n = D(c, a);
30
+ c instanceof RegExp ? n = c.flags.indexOf("g") === -1 ? new RegExp(c, `${c.flags}g`) : c : n = X(c, u);
31
31
  const s = [];
32
32
  let e;
33
33
  for (; (e = n.exec(o)) !== null; )
34
- a.wholeWords && !L(o, e.index, e[0].length) || s.push([e.index, e[0].length, e[0]]);
34
+ u.wholeWords && !L(o, e.index, e[0].length) || s.push([e.index, e[0].length, e[0]]);
35
35
  return s;
36
36
  }
37
- function I(r, c, a) {
37
+ function I(r, c, u) {
38
38
  function i(l) {
39
39
  return l.hasEOL ? l.str.endsWith("-") ? -1 : 1 : 0;
40
40
  }
@@ -46,7 +46,7 @@ function I(r, c, a) {
46
46
  const f = s[o];
47
47
  n += f.str.length + i(f), o++;
48
48
  }
49
- const p = {
49
+ const h = {
50
50
  idx: o,
51
51
  offset: d - n
52
52
  };
@@ -59,81 +59,81 @@ function I(r, c, a) {
59
59
  offset: d - n
60
60
  };
61
61
  t.push({
62
- start: p,
62
+ start: h,
63
63
  end: m,
64
64
  str: r[l][2],
65
65
  oIndex: r[l][0],
66
- pageIndex: a,
66
+ pageIndex: u,
67
67
  rect: {
68
68
  left: 0,
69
- top: 0,
69
+ bottom: 0,
70
70
  width: 0,
71
71
  height: 0
72
72
  }
73
73
  });
74
74
  }
75
75
  for (const l of t) {
76
- const d = s[l.start.idx], p = s[l.end.idx], m = d.transform[4], f = d.transform[5], E = m + d.width * l.start.offset / d.str.length, h = f, b = m + p.width * l.end.offset / p.str.length, N = f, u = {
77
- left: Math.min(E, b),
78
- top: Math.min(h, N),
79
- width: Math.abs(b - E),
80
- height: Math.max(d.height, p.height)
76
+ const d = s[l.start.idx], h = s[l.end.idx], m = d.transform[4] + l.start.offset * (d.width / d.str.length), f = d.transform[5], E = h.transform[4] + l.end.offset * (h.width / h.str.length), a = h.transform[5], M = {
77
+ left: Math.min(m, E),
78
+ bottom: Math.min(f, a),
79
+ width: Math.abs(E - m),
80
+ height: Math.max(d.height, h.height)
81
81
  };
82
- l.rect = u;
82
+ l.rect = M;
83
83
  }
84
84
  return t;
85
85
  }
86
- function L(r, c, a) {
86
+ function L(r, c, u) {
87
87
  let i = r.slice(0, c).match(/([^\p{M}])\p{M}*$/u);
88
88
  if (i) {
89
89
  const o = r.charCodeAt(c), n = i[1].charCodeAt(0);
90
- if (X(o) === X(n))
90
+ if (D(o) === D(n))
91
91
  return !1;
92
92
  }
93
- if (i = r.slice(c + a).match(/^\p{M}*([^\p{M}])/u), i) {
94
- const o = r.charCodeAt(c + a - 1), n = i[1].charCodeAt(0);
95
- if (X(o) === X(n))
93
+ if (i = r.slice(c + u).match(/^\p{M}*([^\p{M}])/u), i) {
94
+ const o = r.charCodeAt(c + u - 1), n = i[1].charCodeAt(0);
95
+ if (D(o) === D(n))
96
96
  return !1;
97
97
  }
98
98
  return !0;
99
99
  }
100
- function H(r, c, a) {
100
+ function H(r, c, u) {
101
101
  const i = [];
102
102
  function o(n, s, e = -1, t = -1, l = "") {
103
- const d = c.items[n], p = [];
104
- let m = "", f = "", E = "", h = a[n];
105
- if (!h)
103
+ const d = c.items[n], h = [];
104
+ let m = "", f = "", E = "", a = u[n];
105
+ if (!a)
106
106
  return;
107
- if (h.nodeType === Node.TEXT_NODE) {
108
- const u = document.createElement("span");
109
- h.before(u), u.append(h), a[n] = u, h = u;
107
+ if (a.nodeType === Node.TEXT_NODE) {
108
+ const p = document.createElement("span");
109
+ a.before(p), p.append(a), u[n] = p, a = p;
110
110
  }
111
111
  e >= 0 && t >= 0 ? m = d.str.substring(e, t) : e < 0 && t < 0 ? m = d.str : e >= 0 ? m = d.str.substring(e) : t >= 0 && (m = d.str.substring(0, t));
112
- const b = document.createTextNode(m), N = document.createElement("span");
113
- if (N.className = "highlight appended " + l, N.setAttribute("data-match-index", `${s}`), N.append(b), p.push(N), i.push({ element: N, index: s }), e > 0)
114
- if (h.childNodes.length === 1 && h.childNodes[0].nodeType === Node.TEXT_NODE) {
112
+ const M = document.createTextNode(m), N = document.createElement("span");
113
+ if (N.className = "highlight appended " + l, N.setAttribute("data-match-index", `${s}`), N.append(M), h.push(N), i.push({ element: N, index: s }), e > 0)
114
+ if (a.childNodes.length === 1 && a.childNodes[0].nodeType === Node.TEXT_NODE) {
115
115
  f = d.str.substring(0, e);
116
- const u = document.createTextNode(f);
117
- p.unshift(u);
116
+ const p = document.createTextNode(f);
117
+ h.unshift(p);
118
118
  } else {
119
- let u = 0;
120
- const C = [];
121
- for (const g of h.childNodes) {
119
+ let p = 0;
120
+ const b = [];
121
+ for (const g of a.childNodes) {
122
122
  const x = g.nodeType === Node.TEXT_NODE ? g.nodeValue : g.firstChild.nodeValue;
123
- u += x.length, u <= e ? C.push(g) : e >= u - x.length && t <= u && C.push(
123
+ p += x.length, p <= e ? b.push(g) : e >= p - x.length && t <= p && b.push(
124
124
  document.createTextNode(
125
- x.substring(0, e - (u - x.length))
125
+ x.substring(0, e - (p - x.length))
126
126
  )
127
127
  );
128
128
  }
129
- p.unshift(...C);
129
+ h.unshift(...b);
130
130
  }
131
131
  if (t > 0) {
132
132
  E = d.str.substring(t);
133
- const u = document.createTextNode(E);
134
- p.push(u);
133
+ const p = document.createTextNode(E);
134
+ h.push(p);
135
135
  }
136
- h.replaceChildren(...p);
136
+ a.replaceChildren(...h);
137
137
  }
138
138
  for (const [n, s] of r.entries())
139
139
  if (s.start.idx === s.end.idx)
@@ -144,11 +144,11 @@ function H(r, c, a) {
144
144
  return i;
145
145
  }
146
146
  function R(r, c) {
147
- const a = r.items.map((i) => i.str);
147
+ const u = r.items.map((i) => i.str);
148
148
  for (let i = 0; i < c.length; i++) {
149
149
  const o = c[i];
150
150
  if (o && o.nodeType !== Node.TEXT_NODE) {
151
- const n = document.createTextNode(a[i]);
151
+ const n = document.createTextNode(u[i]);
152
152
  o.replaceChildren(n);
153
153
  }
154
154
  }
@@ -156,54 +156,54 @@ function R(r, c) {
156
156
  function W(r = {}) {
157
157
  return { matchCase: !1, wholeWords: !1, ...r };
158
158
  }
159
- function A(r, c, a) {
159
+ function A(r, c, u) {
160
160
  const i = [];
161
161
  function o(n, s, e = -1, t = -1, l) {
162
- var u, C;
163
- const d = c.items[n], p = [];
164
- let m = "", f = "", E = "", h = a[n];
165
- if (!h)
162
+ var p, b;
163
+ const d = c.items[n], h = [];
164
+ let m = "", f = "", E = "", a = u[n];
165
+ if (!a)
166
166
  return;
167
167
  e >= 0 && t >= 0 ? m = d.str.substring(e, t) : e < 0 && t < 0 ? m = d.str : e >= 0 ? m = d.str.substring(e) : t >= 0 && (m = d.str.substring(0, t));
168
- const b = document.createTextNode(m), N = document.createElement("span");
169
- if (N.style.background = l, N.append(b), p.push(N), e > 0)
170
- if (h.childNodes.length === 1 && h.childNodes[0].nodeType === Node.TEXT_NODE) {
168
+ const M = document.createTextNode(m), N = document.createElement("span");
169
+ if (N.style.background = l, N.append(M), h.push(N), e > 0)
170
+ if (a.childNodes.length === 1 && a.childNodes[0].nodeType === Node.TEXT_NODE) {
171
171
  f = d.str.substring(0, e);
172
172
  const g = document.createTextNode(f);
173
- p.unshift(g);
173
+ h.unshift(g);
174
174
  } else {
175
175
  let g = 0;
176
176
  const x = [];
177
- for (const T of h.childNodes) {
178
- const v = T.nodeType === Node.TEXT_NODE ? T.nodeValue || "" : ((u = T.firstChild) == null ? void 0 : u.nodeValue) || "", M = v.length;
179
- if (g += M, g <= e)
177
+ for (const T of a.childNodes) {
178
+ const v = T.nodeType === Node.TEXT_NODE ? T.nodeValue || "" : ((p = T.firstChild) == null ? void 0 : p.nodeValue) || "", C = v.length;
179
+ if (g += C, g <= e)
180
180
  x.push(T);
181
- else if (e >= g - M && t <= g) {
182
- const w = v.substring(0, e - (g - M));
181
+ else if (e >= g - C && t <= g) {
182
+ const w = v.substring(0, e - (g - C));
183
183
  x.push(document.createTextNode(w));
184
184
  }
185
185
  }
186
- p.unshift(...x);
186
+ h.unshift(...x);
187
187
  }
188
188
  if (t > 0)
189
- if (h.childNodes.length === 1 && h.childNodes[0].nodeType === Node.TEXT_NODE) {
189
+ if (a.childNodes.length === 1 && a.childNodes[0].nodeType === Node.TEXT_NODE) {
190
190
  E = d.str.substring(t);
191
191
  const g = document.createTextNode(E);
192
- p.push(g);
192
+ h.push(g);
193
193
  } else {
194
194
  let g = 0;
195
195
  const x = [];
196
- for (const T of h.childNodes) {
196
+ for (const T of a.childNodes) {
197
197
  g >= t && x.push(T);
198
- const v = T.nodeType === Node.TEXT_NODE ? T.nodeValue || "" : ((C = T.firstChild) == null ? void 0 : C.nodeValue) || "", M = v.length;
199
- if (g += M, g > t) {
200
- const w = v.substring(t - (g - M));
198
+ const v = T.nodeType === Node.TEXT_NODE ? T.nodeValue || "" : ((b = T.firstChild) == null ? void 0 : b.nodeValue) || "", C = v.length;
199
+ if (g += C, g > t) {
200
+ const w = v.substring(t - (g - C));
201
201
  w && x.push(document.createTextNode(w));
202
202
  }
203
203
  }
204
- x.length > 0 && p.push(...x);
204
+ x.length > 0 && h.push(...x);
205
205
  }
206
- h.replaceChildren(...p), i.push({ element: N, index: s });
206
+ a.replaceChildren(...h), i.push({ element: N, index: s });
207
207
  }
208
208
  for (const [n, s] of r.entries()) {
209
209
  const { start: e, end: t, color: l } = s;
@@ -0,0 +1,36 @@
1
+ import { useRef as o, useEffect as i } from "react";
2
+ const s = /[\x00-\x1F]/g;
3
+ let c = null, r = null;
4
+ function d(e) {
5
+ return c || (c = /([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu, r = /* @__PURE__ */ new Map([["ſt", "ſt"]])), e.replace(
6
+ c,
7
+ (f, u, t) => u ? u.normalize("NFKC") : (r == null ? void 0 : r.get(t)) || ""
8
+ );
9
+ }
10
+ function p(e, f = !1) {
11
+ return s.test(e) ? f ? e.replace(s, (u) => u === "\0" ? "" : " ") : e.replace(/\x00/g, "") : e;
12
+ }
13
+ const x = (e) => {
14
+ const f = o(!1), u = o(null);
15
+ i(() => {
16
+ if (!e || f.current)
17
+ return;
18
+ const t = (n) => {
19
+ var l;
20
+ const b = document.getSelection();
21
+ if (!b)
22
+ return;
23
+ const a = b.toString();
24
+ a && ((l = n.clipboardData) == null || l.setData(
25
+ "text/plain",
26
+ p(d(a))
27
+ ), n.preventDefault(), n.stopPropagation());
28
+ };
29
+ return e.addEventListener("copy", t), u.current = e, f.current = !0, () => {
30
+ u.current && (u.current.removeEventListener("copy", t), f.current = !1);
31
+ };
32
+ }, [e]);
33
+ };
34
+ export {
35
+ x as useCopyText
36
+ };
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "../../contexts/RPDocumentContext.js";
4
4
  import "../../contexts/DocumentPasswordContext.js";
5
- import { b as Hr } from "../../ToolbarLayout.module-37619c4b.js";
5
+ import { b as Er } from "../../ToolbarLayout.module-3a77cc37.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -31,15 +31,16 @@ import "../../contexts/ToolComponentContext.js";
31
31
  import "../../contexts/IconToolContext.js";
32
32
  import "../../contexts/OtherToolContext.js";
33
33
  import "../../contexts/EventCallbackContext.js";
34
- import "../../components/RPConfig.js";
34
+ import "../../contexts/ThemeContext.js";
35
+ import "../../contexts/ConfigContext.js";
36
+ import "pdfjs-dist";
35
37
  import "../../components/layout/Container.js";
36
38
  import "../../contexts/ViewportContext.js";
37
39
  import "../../contexts/ToolbarComponentContext.js";
38
40
  import "../../components/layout/sidebar/RPSplitter.js";
39
41
  import "../../components/layout/WrapperLayout.js";
40
- import "../../LayoutWrapper-6224491f.js";
41
- import "../../contexts/ThemeContext.js";
42
42
  import "../../components/RPDropFileZone.js";
43
+ import "../../LayoutWrapper-6224491f.js";
43
44
  import "../../components/ui/Button.js";
44
45
  import "../../SearchCloseButton-08d57275.js";
45
46
  import "../../components/ui/Input.js";
@@ -54,11 +55,9 @@ import "../dateFormatter.js";
54
55
  import "../../components/layout/toolbar/PropertyItem.js";
55
56
  import "../../RotateTool.module-67946714.js";
56
57
  import "./useLoadPdf.js";
57
- import "pdfjs-dist";
58
58
  import "../types.js";
59
59
  import "../../th_TH-d627cd51.js";
60
60
  import "../getThumbnailViewport.js";
61
- import "../../contexts/ConfigContext.js";
62
61
  import "../appConsole.js";
63
62
  import "./usePdfProperties.js";
64
63
  import "../convertPdfDate.js";
@@ -91,6 +90,7 @@ import "./usePinch.js";
91
90
  import "../../components/ui/PasswordModal.js";
92
91
  import "./useLocalization.js";
93
92
  import "../approximateFragtion.js";
93
+ import "./useCopyText.js";
94
94
  import "../getWordPositionInPage.js";
95
95
  import "../smoothScrollTo.js";
96
96
  import "../../components/layout/toolbar/FileUploadTool.js";
@@ -111,8 +111,8 @@ import "../../components/layout/toolbar/RotateTool.js";
111
111
  import "../../components/icons/ClockwiseIcon.js";
112
112
  import "./useRotate.js";
113
113
  import "../../components/layout/toolbar/ViewModeTool.js";
114
- import "../../components/icons/SinglePageIcon.js";
115
114
  import "../../components/icons/DualPageIcon.js";
115
+ import "../../components/icons/SinglePageIcon.js";
116
116
  import "../../components/icons/CheckIcon.js";
117
117
  import "../../components/layout/toolbar/ScrollModeTool.js";
118
118
  import "../../components/icons/PageScrollingIcon.js";
@@ -133,10 +133,8 @@ import "../zoom.js";
133
133
  import "../../components/icons/SearchIcon.js";
134
134
  import "../../components/icons/ClearIcon.js";
135
135
  import "./useHighlight.js";
136
- import "../../components/RPTheme.js";
137
- import "./useLoadWorker.js";
138
136
  import "../../components/icons/LightPdfIcon.js";
139
137
  import "../../components/icons/DarkPdfIcon.js";
140
138
  export {
141
- Hr as useFileDownload
139
+ Er as useFileDownload
142
140
  };
@@ -1,6 +1,6 @@
1
1
  import { useState as E, useCallback as h, useEffect as A } from "react";
2
2
  import { appConsole as l } from "../appConsole.js";
3
- const b = /* @__PURE__ */ new Date("2026-01-06T03:19:25.099Z"), d = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
3
+ const b = /* @__PURE__ */ new Date("2026-01-09T02:44:21.102Z"), d = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
4
4
  invalidLicense: `You are currently using without a valid license. ${d}`,
5
5
  mismatchedDomain: `Your license key is not valid for the current domain / IP. ${d}`,
6
6
  expired: `Your license key has expired. ${d}`,
@@ -1,39 +1,42 @@
1
- import { useState as a, useRef as O, useEffect as T } from "react";
2
- import * as C from "pdfjs-dist";
3
- import { ErrorType as U } from "../types.js";
4
- import { getThumbnailViewport as h } from "../getThumbnailViewport.js";
5
- import { useConfigContext as j } from "../../contexts/ConfigContext.js";
6
- import { useDocumentPasswordContext as A } from "../../contexts/DocumentPasswordContext.js";
1
+ import { useState as d, useRef as A, useEffect as k } from "react";
2
+ import * as I from "pdfjs-dist";
3
+ import { ErrorType as F } from "../types.js";
4
+ import { getThumbnailViewport as j } from "../getThumbnailViewport.js";
5
+ import { useConfigContext as z } from "../../contexts/ConfigContext.js";
6
+ import { useDocumentPasswordContext as _ } from "../../contexts/DocumentPasswordContext.js";
7
7
  import "../../th_TH-d627cd51.js";
8
8
  import "react/jsx-runtime";
9
9
  import "../appConsole.js";
10
- const Q = (l, s, I = {}) => {
11
- const [n, S] = a(), { workerUrlAdded: k } = j(), [q, x] = a(/* @__PURE__ */ new Map()), d = O(), [m, P] = a(0), [g, V] = a(!1), [v, D] = a(), { password: u, passwordError: N, setPasswordError: c, passwordRequired: p, setPasswordRequired: w } = A(), { onLoadError: i, onLoaded: E, onLoadProgress: R } = I;
12
- return T(() => {
13
- R && R(m);
14
- }, [m, R]), T(() => {
15
- if (!k || !l)
10
+ const Y = (m, s, h = {}) => {
11
+ const [n, q] = d(), { workerUrlAdded: v } = z(), [D, S] = d(/* @__PURE__ */ new Map()), a = A(), [f, g] = d(0), [P, T] = d(!1), [N, O] = d(), { password: u, passwordError: U, setPasswordError: c, passwordRequired: p, setPasswordRequired: w } = _(), { onLoadError: i, onLoaded: E, onLoadProgress: b, disableAutoFetch: x, disableStream: C, rangeChunkSize: V } = h;
12
+ return k(() => {
13
+ b && b(f);
14
+ }, [f, b]), k(() => {
15
+ if (!v || !m)
16
16
  return;
17
- P(0), d.current = Date.now();
18
- const r = d.current, b = {
19
- url: l,
17
+ g(0), a.current = Date.now();
18
+ const r = a.current, R = {
19
+ url: m,
20
20
  cMapPacked: (s == null ? void 0 : s.isCompressed) ?? !0,
21
21
  ...(s == null ? void 0 : s.url) && { cMapUrl: s.url },
22
22
  ...u && { password: u },
23
- verbosity: C.VerbosityLevel.ERRORS
23
+ ...x !== void 0 && { disableAutoFetch: x },
24
+ ...C !== void 0 && { disableStream: C },
25
+ ...V !== void 0 && { rangeChunkSize: V },
26
+ verbosity: I.VerbosityLevel.ERRORS
24
27
  };
25
28
  try {
26
- const e = C.getDocument(b);
29
+ const e = I.getDocument(R);
27
30
  e.onProgress = (o) => {
28
- if (r === d.current) {
29
- const { loaded: y, total: f } = o, L = f ? Math.min(100, Math.round(y / f * 100)) : 0;
30
- P(L);
31
+ if (r === a.current) {
32
+ const { loaded: y, total: l } = o, L = l ? Math.min(100, Math.round(y / l * 100)) : 0;
33
+ g(L);
31
34
  }
32
- }, V(!0);
33
- const t = e.promise.then((o) => (r === d.current && (S(o), P(100)), E && E(o), w(!1), c(""), o)).catch((o) => {
35
+ }, T(!0);
36
+ const t = e.promise.then((o) => (r === a.current && (q(o), g(100)), E && E(o), w(!1), c(""), o)).catch((o) => {
34
37
  o instanceof Error && o.name === "PasswordException" ? (w(!0), c(o.message || "Password required")) : o instanceof Error && o.name === "InvalidPDFException" && u ? (w(!0), c("Incorrect password")) : i && i(o);
35
38
  }).finally(() => {
36
- V(!1);
39
+ T(!1);
37
40
  });
38
41
  return () => {
39
42
  t.finally(() => {
@@ -41,42 +44,42 @@ const Q = (l, s, I = {}) => {
41
44
  });
42
45
  };
43
46
  } catch (e) {
44
- D(U.NOT_SUPPORTED), i && i(e);
47
+ O(F.NOT_SUPPORTED), i && i(e);
45
48
  }
46
- }, [l, k, u, i, E]), T(() => {
49
+ }, [m, v, u, i, E]), k(() => {
47
50
  if (p)
48
51
  return;
49
52
  const r = /* @__PURE__ */ new Map();
50
- if (!n || g) {
51
- x(r);
53
+ if (!n || P) {
54
+ S(r);
52
55
  return;
53
56
  }
54
- const b = n.numPages, e = [];
55
- for (let t = 1; t <= b; t++) {
57
+ const R = n.numPages, e = [];
58
+ for (let t = 1; t <= R; t++) {
56
59
  const o = n.getPage(t);
57
60
  e.push(o);
58
61
  }
59
62
  Promise.all(e).then((t) => {
60
63
  t.map((o) => {
61
- const { thumbnailViewport: y, scale: f } = h(o), L = o.getViewport();
64
+ const { thumbnailViewport: y, scale: l } = j(o), L = o.getViewport();
62
65
  r.set(o.pageNumber, {
63
66
  page: o,
64
67
  thumbnailViewport: y,
65
- thumbnailScale: f,
68
+ thumbnailScale: l,
66
69
  defaultRotation: L.rotation
67
70
  });
68
- }), x(r);
71
+ }), S(r);
69
72
  });
70
- }, [n, g, p]), {
73
+ }, [n, P, p]), {
71
74
  pdf: n,
72
- pages: q,
73
- loading: g,
74
- error: v,
75
- loadingProgress: m,
75
+ pages: D,
76
+ loading: P,
77
+ error: N,
78
+ loadingProgress: f,
76
79
  passwordRequired: p,
77
- passwordError: N
80
+ passwordError: U
78
81
  };
79
82
  };
80
83
  export {
81
- Q as useLoadPdf
84
+ Y as useLoadPdf
82
85
  };
@@ -1,6 +1,6 @@
1
1
  import "react";
2
2
  import "../types.js";
3
- import { v as Gr } from "../../ToolbarLayout.module-37619c4b.js";
3
+ import { v as Er } from "../../ToolbarLayout.module-3a77cc37.js";
4
4
  import "react/jsx-runtime";
5
5
  import "../../contexts/RPDocumentContext.js";
6
6
  import "../../contexts/DocumentPasswordContext.js";
@@ -32,15 +32,16 @@ import "../../contexts/ToolComponentContext.js";
32
32
  import "../../contexts/IconToolContext.js";
33
33
  import "../../contexts/OtherToolContext.js";
34
34
  import "../../contexts/EventCallbackContext.js";
35
- import "../../components/RPConfig.js";
35
+ import "../../contexts/ThemeContext.js";
36
+ import "../../contexts/ConfigContext.js";
37
+ import "pdfjs-dist";
36
38
  import "../../components/layout/Container.js";
37
39
  import "../../contexts/ViewportContext.js";
38
40
  import "../../contexts/ToolbarComponentContext.js";
39
41
  import "../../components/layout/sidebar/RPSplitter.js";
40
42
  import "../../components/layout/WrapperLayout.js";
41
- import "../../LayoutWrapper-6224491f.js";
42
- import "../../contexts/ThemeContext.js";
43
43
  import "../../components/RPDropFileZone.js";
44
+ import "../../LayoutWrapper-6224491f.js";
44
45
  import "../../components/ui/Button.js";
45
46
  import "../../SearchCloseButton-08d57275.js";
46
47
  import "../../components/ui/Input.js";
@@ -61,7 +62,6 @@ import "../highlight.js";
61
62
  import "../charators.js";
62
63
  import "../Queue.js";
63
64
  import "../renderPage.js";
64
- import "pdfjs-dist";
65
65
  import "../../components/icons/Thumbnail.js";
66
66
  import "../../clsx-0c6e471a.js";
67
67
  import "../withRef.js";
@@ -76,7 +76,6 @@ import "../../components/page/CustomElement.js";
76
76
  import "../appConsole.js";
77
77
  import "./useLoadPdf.js";
78
78
  import "../getThumbnailViewport.js";
79
- import "../../contexts/ConfigContext.js";
80
79
  import "./usePdfProperties.js";
81
80
  import "../convertPdfDate.js";
82
81
  import "../formatFileSize.js";
@@ -91,6 +90,7 @@ import "./usePinch.js";
91
90
  import "../../components/ui/PasswordModal.js";
92
91
  import "./useLocalization.js";
93
92
  import "../approximateFragtion.js";
93
+ import "./useCopyText.js";
94
94
  import "../getWordPositionInPage.js";
95
95
  import "../smoothScrollTo.js";
96
96
  import "../../components/layout/toolbar/FileUploadTool.js";
@@ -111,8 +111,8 @@ import "../../components/layout/toolbar/RotateTool.js";
111
111
  import "../../components/icons/ClockwiseIcon.js";
112
112
  import "./useRotate.js";
113
113
  import "../../components/layout/toolbar/ViewModeTool.js";
114
- import "../../components/icons/SinglePageIcon.js";
115
114
  import "../../components/icons/DualPageIcon.js";
115
+ import "../../components/icons/SinglePageIcon.js";
116
116
  import "../../components/icons/CheckIcon.js";
117
117
  import "../../components/layout/toolbar/ScrollModeTool.js";
118
118
  import "../../components/icons/PageScrollingIcon.js";
@@ -133,10 +133,8 @@ import "../zoom.js";
133
133
  import "../../components/icons/SearchIcon.js";
134
134
  import "../../components/icons/ClearIcon.js";
135
135
  import "./useHighlight.js";
136
- import "../../components/RPTheme.js";
137
- import "./useLoadWorker.js";
138
136
  import "../../components/icons/LightPdfIcon.js";
139
137
  import "../../components/icons/DarkPdfIcon.js";
140
138
  export {
141
- Gr as usePaginate
139
+ Er as usePaginate
142
140
  };
@@ -5,7 +5,7 @@ import "../calculatePage.js";
5
5
  import "react/jsx-runtime";
6
6
  import "../../contexts/RPDocumentContext.js";
7
7
  import "../../contexts/DocumentPasswordContext.js";
8
- import { Q as Fo } from "../../ToolbarLayout.module-37619c4b.js";
8
+ import { Q as Do } from "../../ToolbarLayout.module-3a77cc37.js";
9
9
  import "../../contexts/DarkModeContext.js";
10
10
  import "../../contexts/RotationContext.js";
11
11
  import "../../contexts/LayerContext.js";
@@ -32,15 +32,16 @@ import "../../contexts/ToolComponentContext.js";
32
32
  import "../../contexts/IconToolContext.js";
33
33
  import "../../contexts/OtherToolContext.js";
34
34
  import "../../contexts/EventCallbackContext.js";
35
- import "../../components/RPConfig.js";
35
+ import "../../contexts/ThemeContext.js";
36
+ import "../../contexts/ConfigContext.js";
37
+ import "pdfjs-dist";
36
38
  import "../../components/layout/Container.js";
37
39
  import "../../contexts/ViewportContext.js";
38
40
  import "../../contexts/ToolbarComponentContext.js";
39
41
  import "../../components/layout/sidebar/RPSplitter.js";
40
42
  import "../../components/layout/WrapperLayout.js";
41
- import "../../LayoutWrapper-6224491f.js";
42
- import "../../contexts/ThemeContext.js";
43
43
  import "../../components/RPDropFileZone.js";
44
+ import "../../LayoutWrapper-6224491f.js";
44
45
  import "../../components/ui/Button.js";
45
46
  import "../../SearchCloseButton-08d57275.js";
46
47
  import "../../components/ui/Input.js";
@@ -58,11 +59,9 @@ import "./useDebounce.js";
58
59
  import "../appConsole.js";
59
60
  import "../constants.js";
60
61
  import "./useLoadPdf.js";
61
- import "pdfjs-dist";
62
62
  import "../types.js";
63
63
  import "../../th_TH-d627cd51.js";
64
64
  import "../getThumbnailViewport.js";
65
- import "../../contexts/ConfigContext.js";
66
65
  import "./usePdfProperties.js";
67
66
  import "../convertPdfDate.js";
68
67
  import "../formatFileSize.js";
@@ -91,6 +90,7 @@ import "./usePinch.js";
91
90
  import "../../components/ui/PasswordModal.js";
92
91
  import "./useLocalization.js";
93
92
  import "../approximateFragtion.js";
93
+ import "./useCopyText.js";
94
94
  import "../getWordPositionInPage.js";
95
95
  import "../smoothScrollTo.js";
96
96
  import "../../components/layout/toolbar/FileUploadTool.js";
@@ -111,8 +111,8 @@ import "../../components/layout/toolbar/RotateTool.js";
111
111
  import "../../components/icons/ClockwiseIcon.js";
112
112
  import "./useRotate.js";
113
113
  import "../../components/layout/toolbar/ViewModeTool.js";
114
- import "../../components/icons/SinglePageIcon.js";
115
114
  import "../../components/icons/DualPageIcon.js";
115
+ import "../../components/icons/SinglePageIcon.js";
116
116
  import "../../components/icons/CheckIcon.js";
117
117
  import "../../components/layout/toolbar/ScrollModeTool.js";
118
118
  import "../../components/icons/PageScrollingIcon.js";
@@ -133,10 +133,8 @@ import "../zoom.js";
133
133
  import "../../components/icons/SearchIcon.js";
134
134
  import "../../components/icons/ClearIcon.js";
135
135
  import "./useHighlight.js";
136
- import "../../components/RPTheme.js";
137
- import "./useLoadWorker.js";
138
136
  import "../../components/icons/LightPdfIcon.js";
139
137
  import "../../components/icons/DarkPdfIcon.js";
140
138
  export {
141
- Fo as usePresentPage
139
+ Do as usePresentPage
142
140
  };