@react-pdf-kit/viewer 2.0.0 → 2.0.1-rc.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.
@@ -1,21 +1,21 @@
1
1
  import { getCharacterType as D } from "./charators.js";
2
- function _(r, c, m, i) {
2
+ function _(l, c, m, i) {
3
3
  const s = [];
4
- for (const n of r) {
4
+ for (const n of l) {
5
5
  const o = y(c, n, i);
6
6
  s.push(...R(o, c, m));
7
7
  }
8
8
  return s;
9
9
  }
10
- const L = (r, c) => {
10
+ const L = (l, c) => {
11
11
  const m = ["g"];
12
12
  c.matchCase || m.push("i");
13
- let s = r.replace(/[.^$*+?()[{|\\]/g, (n) => `\\${n}`).trim();
13
+ let s = l.replace(/[.^$*+?()[{|\\]/g, (n) => `\\${n}`).trim();
14
14
  return new RegExp(s, m.join(""));
15
15
  };
16
- function y(r, c, m) {
16
+ function y(l, c, m) {
17
17
  const i = [];
18
- for (const t of r.items)
18
+ for (const t of l.items)
19
19
  if (t.hasEOL)
20
20
  if (t.str.endsWith("-")) {
21
21
  const d = t.str.lastIndexOf("-");
@@ -34,14 +34,14 @@ function y(r, c, m) {
34
34
  m.wholeWords && !W(s, e.index, e[0].length) || o.push([e.index, e[0].length, e[0]]);
35
35
  return o;
36
36
  }
37
- function R(r, c, m) {
37
+ function R(l, c, m) {
38
38
  function i(d) {
39
39
  return d.hasEOL ? d.str.endsWith("-") ? -1 : 1 : 0;
40
40
  }
41
41
  let s = 0, n = 0;
42
42
  const o = c.items, e = o.length - 1, t = [];
43
- for (let d = 0; d < r.length; d++) {
44
- let h = r[d][0];
43
+ for (let d = 0; d < l.length; d++) {
44
+ let h = l[d][0];
45
45
  for (; s !== e && h >= n + o[s].str.length; ) {
46
46
  const x = o[s];
47
47
  n += x.str.length + i(x), s++;
@@ -50,19 +50,19 @@ function R(r, c, m) {
50
50
  idx: s,
51
51
  offset: h - n
52
52
  };
53
- for (h += r[d][1]; s !== e && h > n + o[s].str.length; ) {
53
+ for (h += l[d][1]; s !== e && h > n + o[s].str.length; ) {
54
54
  const x = o[s];
55
55
  n += x.str.length + i(x), s++;
56
56
  }
57
- const l = {
57
+ const r = {
58
58
  idx: s,
59
59
  offset: h - n
60
60
  };
61
61
  t.push({
62
62
  start: g,
63
- end: l,
64
- str: r[d][2],
65
- oIndex: r[d][0],
63
+ end: r,
64
+ str: l[d][2],
65
+ oIndex: l[d][0],
66
66
  pageIndex: m,
67
67
  rect: { left: 0, bottom: 0, width: 0, height: 0 },
68
68
  rects: []
@@ -71,45 +71,45 @@ function R(r, c, m) {
71
71
  for (const d of t) {
72
72
  const h = [];
73
73
  for (let g = d.start.idx; g <= d.end.idx; g++) {
74
- const l = o[g], x = l.transform[4], C = l.transform[5], a = l.str.length > 0 ? l.width / l.str.length : 0, M = g === d.start.idx ? d.start.offset : 0, N = g === d.end.idx ? d.end.offset : l.str.length, f = x + M * a, E = (N - M) * a, u = (c.styles ?? {})[l.fontName], T = (u == null ? void 0 : u.ascent) ?? 1, v = (u == null ? void 0 : u.descent) != null ? Math.abs(u.descent) : 1 - T, b = C - v * l.height;
75
- (E > 0 || l.height > 0) && h.push({
74
+ const r = o[g], x = r.transform[4], C = r.transform[5], a = r.str.length > 0 ? r.width / r.str.length : 0, M = g === d.start.idx ? d.start.offset : 0, N = g === d.end.idx ? d.end.offset : r.str.length, f = x + M * a, E = (N - M) * a, u = (c.styles ?? {})[r.fontName], T = (u == null ? void 0 : u.ascent) ?? 1, v = (u == null ? void 0 : u.descent) != null ? Math.abs(u.descent) : 1 - T, b = C - v * r.height;
75
+ r.height > 0 && r.width > 0 && h.push({
76
76
  left: f,
77
77
  bottom: b,
78
78
  width: E,
79
- height: l.height
79
+ height: r.height
80
80
  });
81
81
  }
82
82
  d.rect = h[0], d.rects = h;
83
83
  }
84
84
  return t;
85
85
  }
86
- function W(r, c, m) {
87
- let i = r.slice(0, c).match(/([^\p{M}])\p{M}*$/u);
86
+ function W(l, c, m) {
87
+ let i = l.slice(0, c).match(/([^\p{M}])\p{M}*$/u);
88
88
  if (i) {
89
- const s = r.charCodeAt(c), n = i[1].charCodeAt(0);
89
+ const s = l.charCodeAt(c), n = i[1].charCodeAt(0);
90
90
  if (D(s) === D(n))
91
91
  return !1;
92
92
  }
93
- if (i = r.slice(c + m).match(/^\p{M}*([^\p{M}])/u), i) {
94
- const s = r.charCodeAt(c + m - 1), n = i[1].charCodeAt(0);
93
+ if (i = l.slice(c + m).match(/^\p{M}*([^\p{M}])/u), i) {
94
+ const s = l.charCodeAt(c + m - 1), n = i[1].charCodeAt(0);
95
95
  if (D(s) === D(n))
96
96
  return !1;
97
97
  }
98
98
  return !0;
99
99
  }
100
- function I(r, c, m) {
100
+ function I(l, c, m) {
101
101
  const i = [];
102
102
  function s(n, o, e = -1, t = -1, d = "") {
103
103
  const h = c.items[n], g = [];
104
- let l = "", x = "", C = "", a = m[n];
104
+ let r = "", x = "", C = "", a = m[n];
105
105
  if (!a)
106
106
  return;
107
107
  if (a.nodeType === Node.TEXT_NODE) {
108
108
  const f = document.createElement("span");
109
109
  a.before(f), f.append(a), m[n] = f, a = f;
110
110
  }
111
- e >= 0 && t >= 0 ? l = h.str.substring(e, t) : e < 0 && t < 0 ? l = h.str : e >= 0 ? l = h.str.substring(e) : t >= 0 && (l = h.str.substring(0, t));
112
- const M = document.createTextNode(l), N = document.createElement("span");
111
+ e >= 0 && t >= 0 ? r = h.str.substring(e, t) : e < 0 && t < 0 ? r = h.str : e >= 0 ? r = h.str.substring(e) : t >= 0 && (r = h.str.substring(0, t));
112
+ const M = document.createTextNode(r), N = document.createElement("span");
113
113
  if (N.className = "highlight appended " + d, N.setAttribute("data-match-index", `${o}`), N.append(M), g.push(N), i.push({ element: N, index: o }), e > 0)
114
114
  if (a.childNodes.length === 1 && a.childNodes[0].nodeType === Node.TEXT_NODE) {
115
115
  x = h.str.substring(0, e);
@@ -135,7 +135,7 @@ function I(r, c, m) {
135
135
  }
136
136
  a.replaceChildren(...g);
137
137
  }
138
- for (const [n, o] of r.entries())
138
+ for (const [n, o] of l.entries())
139
139
  if (o.start.idx === o.end.idx)
140
140
  s(o.start.idx, n, o.start.offset, o.end.offset);
141
141
  else
@@ -143,8 +143,8 @@ function I(r, c, m) {
143
143
  e === o.start.idx ? s(e, n, o.start.offset, -1, "begin") : e === o.end.idx ? s(e, n, -1, o.end.offset, "end") : s(e, n, -1, -1, "middle");
144
144
  return i;
145
145
  }
146
- function V(r, c) {
147
- const m = r.items.map((i) => i.str);
146
+ function V(l, c) {
147
+ const m = l.items.map((i) => i.str);
148
148
  for (let i = 0; i < c.length; i++) {
149
149
  const s = c[i];
150
150
  if (s && s.nodeType !== Node.TEXT_NODE) {
@@ -153,19 +153,19 @@ function V(r, c) {
153
153
  }
154
154
  }
155
155
  }
156
- function H(r = {}) {
157
- return { matchCase: !1, wholeWords: !1, ...r };
156
+ function H(l = {}) {
157
+ return { matchCase: !1, wholeWords: !1, ...l };
158
158
  }
159
- function S(r, c, m) {
159
+ function S(l, c, m) {
160
160
  const i = [];
161
161
  function s(n, o, e = -1, t = -1, d) {
162
162
  var f, E;
163
163
  const h = c.items[n], g = [];
164
- let l = "", x = "", C = "", a = m[n];
164
+ let r = "", x = "", C = "", a = m[n];
165
165
  if (!a)
166
166
  return;
167
- e >= 0 && t >= 0 ? l = h.str.substring(e, t) : e < 0 && t < 0 ? l = h.str : e >= 0 ? l = h.str.substring(e) : t >= 0 && (l = h.str.substring(0, t));
168
- const M = document.createTextNode(l), N = document.createElement("span");
167
+ e >= 0 && t >= 0 ? r = h.str.substring(e, t) : e < 0 && t < 0 ? r = h.str : e >= 0 ? r = h.str.substring(e) : t >= 0 && (r = h.str.substring(0, t));
168
+ const M = document.createTextNode(r), N = document.createElement("span");
169
169
  if (N.style.background = d, N.append(M), g.push(N), e > 0)
170
170
  if (a.childNodes.length === 1 && a.childNodes[0].nodeType === Node.TEXT_NODE) {
171
171
  x = h.str.substring(0, e);
@@ -205,7 +205,7 @@ function S(r, c, m) {
205
205
  }
206
206
  a.replaceChildren(...g), i.push({ element: N, index: o });
207
207
  }
208
- for (const [n, o] of r.entries()) {
208
+ for (const [n, o] of l.entries()) {
209
209
  const { start: e, end: t, color: d } = o;
210
210
  e.idx === t.idx && s(e.idx, n, e.offset, t.offset, d);
211
211
  }
@@ -1,55 +1,93 @@
1
- import { useState as m, useCallback as r, useEffect as C } from "react";
2
- import { getHighlightOptionsWithDefaults as H, findMatches as M } from "../highlight.js";
1
+ import { useState as f, useCallback as p, useEffect as w } from "react";
2
+ import { getHighlightOptionsWithDefaults as k, findMatches as P } from "../highlight.js";
3
3
  import "../charators.js";
4
- const k = (s) => {
5
- const [n, c] = m(void 0), [f, l] = m([]), u = r(async (t) => {
6
- if (!t)
4
+ const x = (n) => {
5
+ const e = Math.min(...n.map((s) => s.left)), c = Math.max(...n.map((s) => s.left + s.width)), o = Math.min(...n.map((s) => s.bottom)), t = Math.max(...n.map((s) => s.height));
6
+ return { left: e, bottom: o, width: c - e, height: t };
7
+ }, N = (n) => n.flatMap((e) => e.rects ?? (e.rect ? [e.rect] : [])), O = (n) => {
8
+ const e = n.reduce((o, t) => {
9
+ const s = Math.round(t.bottom);
10
+ return o[s] || (o[s] = []), o[s].push(t), o;
11
+ }, {});
12
+ return Object.entries(e).sort((o, t) => Number(t[0]) - Number(o[0])).map(([o, t]) => x(t));
13
+ }, L = (n) => {
14
+ const e = {};
15
+ for (const c of n) {
16
+ const o = c.keyword, t = e[o] ?? [];
17
+ t.push(c), e[o] = t;
18
+ }
19
+ return e;
20
+ }, j = (n, e) => {
21
+ const c = n[0], o = N(n), t = o.length > 0 ? O(o) : c.rect ? [c.rect] : [];
22
+ return {
23
+ ...c,
24
+ pageMatchIdx: e,
25
+ rect: t[0] ?? c.rect,
26
+ rects: t
27
+ };
28
+ }, v = (n) => {
29
+ const e = {};
30
+ for (const t of n) {
31
+ const s = e[t.page] ?? [];
32
+ s.push(t), e[t.page] = s;
33
+ }
34
+ let c = 0;
35
+ const o = [];
36
+ for (const t of Object.values(e)) {
37
+ const s = L(t);
38
+ for (const g of Object.values(s))
39
+ o.push(j(g, c++));
40
+ }
41
+ return o;
42
+ }, K = (n) => {
43
+ const [e, c] = f(void 0), [o, t] = f([]), s = p(async (r) => {
44
+ if (!r)
7
45
  return {};
8
- const i = t.numPages, e = {};
9
- for (let o = 1; o <= i; o++) {
10
- const h = await t.getPage(o);
11
- e[o.toString()] = await h.getTextContent();
46
+ const i = r.numPages, h = {};
47
+ for (let a = 1; a <= i; a++) {
48
+ const u = await r.getPage(a);
49
+ h[a.toString()] = await u.getTextContent();
12
50
  }
13
- return e;
14
- }, []), p = r(async (t) => {
15
- c(t);
16
- }, []), g = r(() => {
17
- l([]), c(void 0);
51
+ return h;
52
+ }, []), g = p(async (r) => {
53
+ c(r);
54
+ }, []), l = p(() => {
55
+ t([]), c(void 0);
18
56
  }, []);
19
- return C(() => {
20
- s && u(s).then((t) => {
57
+ return w(() => {
58
+ n && s(n).then((r) => {
21
59
  let i = [];
22
- for (const { keyword: e, highlightColor: o, options: h } of n) {
23
- if (!e)
60
+ for (const { keyword: h, highlightColor: a, options: u } of e) {
61
+ if (!h)
24
62
  continue;
25
- const y = H(h);
26
- for (const a of Object.keys(t)) {
27
- const b = M(
28
- [e],
29
- t[a],
30
- Number(a) - 1,
31
- y
32
- ).map((w, x) => ({
33
- ...w,
34
- page: Number(a),
35
- pageMatchIdx: x,
36
- color: o,
37
- keyword: e
63
+ const b = k(u);
64
+ for (const m of Object.keys(r)) {
65
+ const d = P(
66
+ [h],
67
+ r[m],
68
+ Number(m) - 1,
69
+ b
70
+ ).map((M, y) => ({
71
+ ...M,
72
+ page: Number(m),
73
+ pageMatchIdx: y,
74
+ color: a,
75
+ keyword: h
38
76
  }));
39
- i = [...i, ...b];
77
+ i = [...i, ...d];
40
78
  }
41
79
  }
42
- l(i);
80
+ t(v(i));
43
81
  }).catch(() => {
44
- g();
82
+ l();
45
83
  });
46
- }, [n, s, g, u]), {
47
- highlight: p,
48
- clear: g,
49
- highlightMatches: f,
50
- highlightKeywords: n
84
+ }, [e, n, l, s]), {
85
+ highlight: g,
86
+ clear: l,
87
+ highlightMatches: o,
88
+ highlightKeywords: e
51
89
  };
52
90
  };
53
91
  export {
54
- k as useHighlight
92
+ K as useHighlight
55
93
  };
@@ -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-02-20T05:08:30.511Z"), d = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
3
+ const b = /* @__PURE__ */ new Date("2026-02-24T06:36:48.609Z"), 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,6 +1,6 @@
1
- import { useState as g, useRef as N, useEffect as R, useCallback as P } from "react";
2
- import { useDocumentContext as O } from "../../contexts/RPDocumentContext.js";
3
- import { PixelsPerInch as X, AnnotationMode as q, RenderingCancelledException as B } from "pdfjs-dist";
1
+ import { useState as m, useRef as X, useEffect as D, useCallback as g } from "react";
2
+ import { useDocumentContext as k } from "../../contexts/RPDocumentContext.js";
3
+ import { PixelsPerInch as q, AnnotationMode as O, RenderingCancelledException as U } from "pdfjs-dist";
4
4
  import "react/jsx-runtime";
5
5
  import "./useLoadPdf.js";
6
6
  import "../types.js";
@@ -13,171 +13,160 @@ import "./usePdfProperties.js";
13
13
  import "../convertPdfDate.js";
14
14
  import "../formatFileSize.js";
15
15
  const re = () => {
16
- const { pdf: l, pages: f } = O(), [D, E] = g({
16
+ const { pdf: p, pages: f } = k(), [R, E] = m({
17
17
  loadedPages: 0,
18
18
  totalPages: 0,
19
19
  percentage: 0
20
- }), [T, b] = g(!1), [A, y] = g(!1), [Z, L] = g(null), [F, w] = g(void 0), s = N(!1);
21
- R(() => {
22
- s.current;
23
- }, [s]);
24
- const C = P(() => {
20
+ }), [T, y] = m(!1), [A, b] = m(!1), [Z, C] = m(null), [M, P] = m(void 0), o = X(!1);
21
+ D(() => {
22
+ o.current;
23
+ }, [o]);
24
+ const S = g(() => {
25
25
  document.documentElement.classList.remove("rp-print-html-printing"), document.body.classList.remove("rp-print-body-printing");
26
26
  const e = document.querySelector(".rp-print-zone");
27
27
  e && e.remove();
28
- }, []), a = P(() => {
29
- s.current = !1, b(!1), y(!1), L(null), w(void 0), E({
28
+ }, []), i = g(() => {
29
+ o.current = !1, y(!1), b(!1), C(null), P(void 0), E({
30
30
  loadedPages: 0,
31
31
  totalPages: 0,
32
32
  percentage: 0
33
33
  });
34
- }, []), M = () => {
35
- s.current = !0;
34
+ }, []), F = () => {
35
+ o.current = !0;
36
36
  }, I = async ({
37
37
  scratchCanvas: e,
38
38
  pdfDocument: n,
39
39
  pageNumber: t,
40
- viewerPdfPage: o,
41
- printResolution: r,
42
- optionalContentConfigPromise: i,
43
- printAnnotationStoragePromise: u
40
+ viewerPdfPage: r,
41
+ printResolution: s,
42
+ optionalContentConfigPromise: l,
43
+ printAnnotationStoragePromise: w
44
44
  }) => {
45
- if (s.current) {
46
- a();
45
+ if (o.current) {
46
+ i();
47
47
  return;
48
48
  }
49
- const c = r / X.PDF;
50
- e.width = Math.floor(o.width * c), e.height = Math.floor(o.height * c);
51
- const p = e.getContext("2d");
52
- p.save(), p.fillStyle = "rgb(255, 255, 255)", p.fillRect(0, 0, e.width, e.height), p.restore();
53
- const [m, h] = await Promise.all([
49
+ const a = s / q.PDF;
50
+ e.width = Math.floor(r.width * a), e.height = Math.floor(r.height * a);
51
+ const c = e.getContext("2d");
52
+ c.save(), c.fillStyle = "rgb(255, 255, 255)", c.fillRect(0, 0, e.width, e.height), c.restore();
53
+ const [u, h] = await Promise.all([
54
54
  n.getPage(t),
55
- u
55
+ w
56
56
  ]);
57
- if (s.current) {
58
- a();
57
+ if (o.current) {
58
+ i();
59
59
  return;
60
60
  }
61
61
  const v = {
62
62
  canvas: e,
63
- canvasContext: p,
64
- transform: [c, 0, 0, c, 0, 0],
65
- viewport: m.getViewport({ scale: 1, rotation: o.rotation }),
63
+ canvasContext: c,
64
+ transform: [a, 0, 0, a, 0, 0],
65
+ viewport: u.getViewport({ scale: 1, rotation: r.rotation }),
66
66
  intent: "print",
67
- annotationMode: q.ENABLE_STORAGE,
68
- optionalContentConfigPromise: i,
67
+ annotationMode: O.ENABLE_STORAGE,
68
+ optionalContentConfigPromise: l,
69
69
  printAnnotationStorage: h
70
70
  };
71
71
  try {
72
- return m.render(v).promise;
72
+ return u.render(v).promise;
73
73
  } catch (d) {
74
- throw d instanceof B || console.error(d), d;
74
+ throw d instanceof U || console.error(d), d;
75
75
  }
76
- }, S = P(() => {
76
+ }, L = g(() => {
77
77
  const e = window.print;
78
78
  return new Promise((n) => {
79
- const t = (i) => {
79
+ const t = (l) => {
80
80
  setTimeout(() => {
81
- e.call(window), setTimeout(() => i(), 20);
81
+ e.call(window), setTimeout(() => l(), 20);
82
82
  }, 0);
83
83
  };
84
84
  if (document.querySelector(".rp-print-zone")) {
85
85
  t(n);
86
86
  return;
87
87
  }
88
- const r = new MutationObserver(() => {
89
- document.querySelector(".rp-print-zone") && (t(n), r.disconnect());
88
+ const s = new MutationObserver(() => {
89
+ document.querySelector(".rp-print-zone") && (t(n), s.disconnect());
90
90
  });
91
- r.observe(document.body, { childList: !0, subtree: !0 });
91
+ s.observe(document.body, { childList: !0, subtree: !0 });
92
92
  });
93
- }, []), U = async (e) => {
93
+ }, []), z = (e) => {
94
94
  const n = document.createElement("img"), t = document.createElement("div");
95
- return t.classList.add("rp-print-page"), await new Promise((o, r) => {
96
- e.toBlob((i) => {
97
- i ? (n.src = URL.createObjectURL(i), n.onload = () => {
98
- URL.revokeObjectURL(n.src), o();
99
- }, n.onerror = r) : r(new Error("Failed to create blob"));
100
- });
101
- }).catch(() => {
102
- }), t.appendChild(n), t;
95
+ return t.classList.add("rp-print-page"), n.src = e.toDataURL(), t.appendChild(n), t;
103
96
  }, x = (e, n) => {
104
97
  const t = document.createElement("div");
105
98
  t.classList.add("rp-print-zone");
106
- const o = document.createElement("style"), r = n.get(1);
107
- if (r) {
108
- const { width: i, height: u } = r == null ? void 0 : r.page.getViewport({ scale: 1 });
109
- o.innerHTML = `@page { size: ${i}px ${u}px }`;
110
- }
111
- return t.appendChild(o), t.append(...e), t;
112
- }, k = P(
99
+ const r = document.createElement("style");
100
+ return n.get(1) && (r.innerHTML = "@page { size: 100% 100%; margin: 0; }"), t.appendChild(r), t.append(...e), t;
101
+ }, N = g(
113
102
  async (e) => {
114
- if (!l)
103
+ if (!p)
115
104
  return;
116
- a();
105
+ i();
117
106
  const n = e && "visibleDefaultProgress" in e ? e : void 0;
118
- (n == null ? void 0 : n.visibleDefaultProgress) !== void 0 ? w(n.visibleDefaultProgress) : w(!0);
119
- const t = document.createElement("canvas"), o = [];
107
+ (n == null ? void 0 : n.visibleDefaultProgress) !== void 0 ? P(n.visibleDefaultProgress) : P(!0);
108
+ const t = document.createElement("canvas"), r = [];
120
109
  try {
121
- l.isPureXfa && console.warn("[rp] XFA Form is not supported at the moment.");
122
- const i = l.getOptionalContentConfig({ intent: "print" }), u = Promise.resolve(
123
- l.annotationStorage.print ?? void 0
124
- ), c = f.size;
125
- for (const [m, h] of f) {
126
- if (s.current) {
127
- a();
110
+ p.isPureXfa && console.warn("[rp] XFA Form is not supported at the moment.");
111
+ const l = p.getOptionalContentConfig({ intent: "print" }), w = Promise.resolve(
112
+ p.annotationStorage.print ?? void 0
113
+ ), a = f.size;
114
+ for (const [u, h] of f) {
115
+ if (o.current) {
116
+ i();
128
117
  return;
129
118
  }
130
119
  const v = h.page.getViewport({ scale: 1 });
131
120
  if (await I({
132
121
  scratchCanvas: t,
133
- pdfDocument: l,
134
- pageNumber: m,
122
+ pdfDocument: p,
123
+ pageNumber: u,
135
124
  viewerPdfPage: v,
136
125
  printResolution: 150,
137
- optionalContentConfigPromise: i,
138
- printAnnotationStoragePromise: u
139
- }), s.current) {
140
- a();
126
+ optionalContentConfigPromise: l,
127
+ printAnnotationStoragePromise: w
128
+ }), o.current) {
129
+ i();
141
130
  return;
142
131
  }
143
- const d = await U(t);
144
- o.push(d);
145
- const z = parseFloat((o.length / c * 100).toFixed(2));
132
+ const d = z(t);
133
+ r.push(d);
134
+ const V = parseFloat((r.length / a * 100).toFixed(2));
146
135
  E({
147
- loadedPages: m,
148
- totalPages: c,
149
- percentage: z
136
+ loadedPages: u,
137
+ totalPages: a,
138
+ percentage: V
150
139
  });
151
140
  }
152
- if (s.current) {
153
- a();
141
+ if (o.current) {
142
+ i();
154
143
  return;
155
144
  }
156
- const p = x(o, f);
157
- document.body.appendChild(p), document.documentElement.classList.add("rp-print-html-printing"), document.body.classList.add("rp-print-body-printing"), b(!0), await S();
158
- } catch (r) {
159
- y(!0), r instanceof Error && L(r);
145
+ const c = x(r, f);
146
+ document.body.appendChild(c), document.documentElement.classList.add("rp-print-html-printing"), document.body.classList.add("rp-print-body-printing"), y(!0), await L();
147
+ } catch (s) {
148
+ b(!0), s instanceof Error && C(s);
160
149
  } finally {
161
150
  t.height = 0, t.width = 0;
162
151
  }
163
152
  },
164
- [l, f, s, a, x, S]
153
+ [p, f, o, i, x, L]
165
154
  );
166
- return R(() => {
155
+ return D(() => {
167
156
  const e = () => {
168
- a(), C();
157
+ i(), S();
169
158
  };
170
159
  return window.addEventListener("afterprint", e, !0), () => {
171
160
  window.removeEventListener("afterprint", e, !0);
172
161
  };
173
- }, [C, a]), {
174
- print: k,
175
- cancel: M,
176
- progress: D,
162
+ }, [S, i]), {
163
+ print: N,
164
+ cancel: F,
165
+ progress: R,
177
166
  isComplete: T,
178
167
  isError: A,
179
168
  error: Z,
180
- showDefaultProgress: F
169
+ showDefaultProgress: M
181
170
  };
182
171
  };
183
172
  export {
@@ -6,14 +6,13 @@ function e() {
6
6
  .rp-print-zone { display: none; }
7
7
 
8
8
  @media print {
9
- @page { margin: 0; }
10
9
  .rp-print-html-printing { height: 100%; }
11
10
  .rp-print-body-printing { background: transparent; height: 100%; margin: 0; display: block; }
12
11
  .rp-print-body-printing * { display: none; }
13
12
  .rp-print-zone { display: block; height: 100%; }
14
13
  .rp-print-page { display: flex; align-items: center; flex-direction: column; justify-content: center; height: 100%; width: 100%; page-break-after: always; page-break-inside: avoid; }
15
14
  .rp-print-page:last-child { page-break-after: auto; }
16
- .rp-print-page img, .rp-print-page canvas { display: block; max-height: 100%; max-width: 100%; direction: ltr; }
15
+ .rp-print-page img, .rp-print-page canvas { display: block; height: 100%; width: 100%; direction: ltr; }
17
16
  }
18
17
  `, document.head.appendChild(t);
19
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-pdf-kit/viewer",
3
- "version": "2.0.0",
3
+ "version": "2.0.1-rc.1",
4
4
  "private": false,
5
5
  "description": "A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.",
6
6
  "keywords": [