@pdf-viewer/react 1.16.0-rc.0 → 1.16.0-rc.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 (105) hide show
  1. package/dist/{ToolbarLayout.module-d91e2284.js → ToolbarLayout.module-e18aece5.js} +978 -976
  2. package/dist/assets/style.css +1 -1
  3. package/dist/assets/style.js +1 -1
  4. package/dist/components/RPController.js +3 -3
  5. package/dist/components/RPPages.js +3 -3
  6. package/dist/components/RPProvider.js +3 -3
  7. package/dist/components/layout/LayoutContainer.js +3 -3
  8. package/dist/components/layout/RPDefaultLayout.js +3 -3
  9. package/dist/components/layout/RPLayout.js +3 -3
  10. package/dist/components/layout/sidebar/RPSidebar.js +3 -3
  11. package/dist/components/layout/sidebar/Thumbnail.js +3 -3
  12. package/dist/components/layout/sidebar/Thumbnails.js +3 -3
  13. package/dist/components/layout/toolbar/DarkModeTool.js +1 -1
  14. package/dist/components/layout/toolbar/DocumentDialog.js +3 -3
  15. package/dist/components/layout/toolbar/DocumentProperties.js +2 -2
  16. package/dist/components/layout/toolbar/FileDownloadTool.js +3 -3
  17. package/dist/components/layout/toolbar/FileUploadTool.js +2 -2
  18. package/dist/components/layout/toolbar/FullScreenTool.js +2 -2
  19. package/dist/components/layout/toolbar/MenuItem.js +2 -2
  20. package/dist/components/layout/toolbar/MenuSeparator.js +2 -2
  21. package/dist/components/layout/toolbar/MostPageTool.js +3 -3
  22. package/dist/components/layout/toolbar/OtherTool.js +3 -3
  23. package/dist/components/layout/toolbar/Paginate.js +3 -3
  24. package/dist/components/layout/toolbar/PrintTool.js +3 -3
  25. package/dist/components/layout/toolbar/RPMenuItem.js +2 -2
  26. package/dist/components/layout/toolbar/RPMoreOptions.js +3 -3
  27. package/dist/components/layout/toolbar/RPToolbar.js +3 -3
  28. package/dist/components/layout/toolbar/RPToolbarEnd.js +3 -3
  29. package/dist/components/layout/toolbar/RotateTool.js +2 -2
  30. package/dist/components/layout/toolbar/ScrollModeTool.js +2 -2
  31. package/dist/components/layout/toolbar/SearchCloseButton.js +1 -1
  32. package/dist/components/layout/toolbar/SearchResultNavigator.js +3 -3
  33. package/dist/components/layout/toolbar/SearchTool.js +3 -3
  34. package/dist/components/layout/toolbar/SelectionModeTool.js +2 -2
  35. package/dist/components/layout/toolbar/ThumbnailTool.js +3 -3
  36. package/dist/components/layout/toolbar/ToolbarCustom.js +3 -3
  37. package/dist/components/layout/toolbar/ToolbarDefault.js +3 -3
  38. package/dist/components/layout/toolbar/ToolbarLayout.js +3 -3
  39. package/dist/components/layout/toolbar/ViewModeTool.js +2 -2
  40. package/dist/components/layout/toolbar/ZoomTool.js +3 -3
  41. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +3 -3
  42. package/dist/components/layout/toolbar/tools/DualPageTool.js +3 -3
  43. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +3 -3
  44. package/dist/components/layout/toolbar/tools/FileUploadTool.js +1 -1
  45. package/dist/components/layout/toolbar/tools/FullScreenTool.js +1 -1
  46. package/dist/components/layout/toolbar/tools/InputPageTool.js +3 -3
  47. package/dist/components/layout/toolbar/tools/NextPageTool.js +3 -3
  48. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +3 -3
  49. package/dist/components/layout/toolbar/tools/PrintTool.js +3 -3
  50. package/dist/components/layout/toolbar/tools/RotateClockwiseTool.js +1 -1
  51. package/dist/components/layout/toolbar/tools/RotateCounterclockwiseTool.js +1 -1
  52. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +1 -1
  53. package/dist/components/layout/toolbar/tools/SinglePageTool.js +3 -3
  54. package/dist/components/layout/toolbar/tools/ThemeSwitcherTool.js +1 -1
  55. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +3 -3
  56. package/dist/components/layout/toolbar/tools/ZoomInTool.js +1 -1
  57. package/dist/components/layout/toolbar/tools/ZoomLevelDisplay.js +3 -3
  58. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +3 -3
  59. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +1 -1
  60. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +3 -3
  61. package/dist/components/layout/toolbar/tools/defaults/RPVerticalBar.js +3 -3
  62. package/dist/components/layout/toolbar/tools/more-options/DocumentProperties.js +2 -2
  63. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +3 -3
  64. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +3 -3
  65. package/dist/components/layout/toolbar/tools/more-options/FullScreenTool.js +2 -2
  66. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +3 -3
  67. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +3 -3
  68. package/dist/components/layout/toolbar/tools/more-options/RotateTool.js +2 -2
  69. package/dist/components/layout/toolbar/tools/more-options/ScrollModeTool.js +2 -2
  70. package/dist/components/layout/toolbar/tools/more-options/SelectionModeTool.js +2 -2
  71. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +2 -2
  72. package/dist/components/page/AnnotationLayer.js +3 -3
  73. package/dist/components/page/CanvasLayer.js +3 -3
  74. package/dist/components/page/DualPage.js +3 -3
  75. package/dist/components/page/RPPage.js +3 -3
  76. package/dist/components/page/SinglePage.js +3 -3
  77. package/dist/components/page/TextHighlightLayer.js +3 -3
  78. package/dist/components/page/TextLayer.js +3 -3
  79. package/dist/components/ui/DropDown.js +2 -2
  80. package/dist/components/ui/LoadingIndicator.js +3 -3
  81. package/dist/components/ui/RPTooltip.js +430 -200
  82. package/dist/contexts/PaginationContext.js +3 -3
  83. package/dist/contexts/PrintContext.js +3 -3
  84. package/dist/contexts/RenderQueueProvider.js +3 -3
  85. package/dist/contexts/SearchContext.js +3 -3
  86. package/dist/contexts/ThumbnailsContext.js +3 -3
  87. package/dist/floating-ui.react-dom-d22a10b4.js +1474 -0
  88. package/dist/index-3bf64864.js +1886 -0
  89. package/dist/main.js +3 -3
  90. package/dist/types/utils/annotations.d.ts +1 -2
  91. package/dist/types/utils/link_service.d.ts +3 -1
  92. package/dist/utils/annotations.js +45 -56
  93. package/dist/utils/hooks/useFileDownload.js +3 -3
  94. package/dist/utils/hooks/useLicense.js +1 -1
  95. package/dist/utils/hooks/usePaginate.js +3 -3
  96. package/dist/utils/hooks/usePresentPage.js +3 -3
  97. package/dist/utils/hooks/usePrint.js +3 -3
  98. package/dist/utils/hooks/useScrollToPage.js +3 -3
  99. package/dist/utils/hooks/useSearch.js +3 -3
  100. package/dist/utils/hooks/useThumbnail.js +3 -3
  101. package/dist/utils/hooks/useVirtualReactWindow.js +3 -3
  102. package/dist/utils/link_service.js +40 -10
  103. package/package.json +1 -1
  104. package/dist/index-808ea7bf.js +0 -1685
  105. package/dist/index-a48ec088.js +0 -1672
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RPProvider as br } from "./components/RPProvider.js";
2
- import { a as yr, R as Br, S as Hr, b as Ir, u as Or, c as zr, d as Er } from "./ToolbarLayout.module-d91e2284.js";
2
+ import { a as yr, R as Br, S as Hr, b as Ir, u as Or, c as zr, d as Er } from "./ToolbarLayout.module-e18aece5.js";
3
3
  import { RPConfig as Ur } from "./components/RPConfig.js";
4
4
  import { RPLayout as qr } from "./components/layout/RPLayout.js";
5
5
  import { RPTheme as Gr } from "./components/RPTheme.js";
@@ -95,13 +95,13 @@ import "./SearchCloseButton-08d57275.js";
95
95
  import "./components/ui/RPTooltip.js";
96
96
  import "./index-c9a2990a.js";
97
97
  import "react-dom";
98
- import "./index-808ea7bf.js";
98
+ import "./floating-ui.react-dom-d22a10b4.js";
99
99
  import "./components/icons/CloseIcon.js";
100
100
  import "./components/ui/Checkbox.js";
101
101
  import "./components/icons/CheckIcon.js";
102
102
  import "./contexts/IconContext.js";
103
103
  import "./components/ui/DropDown.js";
104
- import "./index-a48ec088.js";
104
+ import "./index-3bf64864.js";
105
105
  import "./components/layout/toolbar/MenuItem.js";
106
106
  import "./components/layout/toolbar/MenuSeparator.js";
107
107
  import "./utils/dateFormatter.js";
@@ -1,7 +1,6 @@
1
1
  import { PageViewport, PDFDocumentProxy } from 'pdfjs-dist';
2
- import { Annotation, AnnotationEventPayload, Destination } from './types';
2
+ import { Annotation, AnnotationEventPayload } from './types';
3
3
  export declare const annotationsEvents: (event: Event) => (() => void) | undefined;
4
- export declare const handleClick: (event: Event, annotation: Annotation[], pdf: PDFDocumentProxy, callback: (res: Destination) => void) => void;
5
4
  export declare function bindLayerEvents(annotatedLayer: HTMLDivElement, handler: (event: Event) => void): void;
6
5
  export declare function unbindLayerEvents(annotatedLayer: HTMLDivElement, handler: (event: Event) => void): void;
7
6
  export declare function handleAnnotationLink(annotation: Annotation): void;
@@ -1,7 +1,9 @@
1
+ import { PDFDocumentProxy } from 'pdfjs-dist';
1
2
  import { IPDFLinkService } from 'pdfjs-dist/types/web/interfaces';
2
3
  declare class SimpleLinkService implements IPDFLinkService {
3
4
  externalLinkEnabled: boolean;
4
- constructor();
5
+ pdfDocument: PDFDocumentProxy | undefined;
6
+ constructor(pdfDocument: PDFDocumentProxy, goToPage: (page: number) => void);
5
7
  /**
6
8
  * @type {number}
7
9
  */
@@ -1,15 +1,15 @@
1
- import { sanitizeExternalUrl as L } from "./sanitizeExternalUrl.js";
2
- import { AnnotationSubType as _, AnnotationType as l } from "./types.js";
3
- import { dateFormatter as I } from "./dateFormatter.js";
1
+ import { sanitizeExternalUrl as _ } from "./sanitizeExternalUrl.js";
2
+ import { AnnotationType as l } from "./types.js";
3
+ import { dateFormatter as L } from "./dateFormatter.js";
4
4
  import "../th_TH-d627cd51.js";
5
- const v = ["click", "dblclick", "input", "change"], g = /* @__PURE__ */ new Map(), E = (e, t) => `${e.loadingTask.docId}___${t.num}R${t.gen === 0 ? "" : t.gen}`;
6
- function x(e, t) {
7
- const n = E(e, t);
8
- return g.has(n) ? g.get(n) ?? null : null;
5
+ const T = ["click", "dblclick", "input", "change"], m = /* @__PURE__ */ new Map(), v = (e, t) => `${e.loadingTask.docId}___${t.num}R${t.gen === 0 ? "" : t.gen}`;
6
+ function I(e, t) {
7
+ const n = v(e, t);
8
+ return m.has(n) ? m.get(n) ?? null : null;
9
9
  }
10
- const B = (e, t, n) => {
11
- g.set(E(e, t), n);
12
- }, O = (e, t) => {
10
+ const x = (e, t, n) => {
11
+ m.set(v(e, t), n);
12
+ }, A = (e, t) => {
13
13
  switch (t[1].name) {
14
14
  case "XYZ":
15
15
  return {
@@ -43,17 +43,17 @@ const B = (e, t, n) => {
43
43
  };
44
44
  }
45
45
  };
46
- async function b(e, t) {
46
+ async function E(e, t) {
47
47
  let n;
48
48
  if (typeof t == "string" ? n = await e.getDestination(t) : n = t, n && typeof n[0] == "object" && n[0] !== null) {
49
- const a = n[0], s = x(e, a);
49
+ const a = n[0], s = I(e, a);
50
50
  if (s === null) {
51
51
  const r = await e.getPageIndex(a);
52
- return B(e, a, r), await b(e, n);
52
+ return x(e, a, r), await E(e, n);
53
53
  } else
54
- return O(s, n);
54
+ return A(s, n);
55
55
  } else
56
- return O(n[0], n);
56
+ return A(n[0], n);
57
57
  }
58
58
  const M = (e) => {
59
59
  const n = e.target.parentNode;
@@ -68,7 +68,7 @@ const M = (e) => {
68
68
  if (c) {
69
69
  try {
70
70
  const { dateObj: i } = JSON.parse(c);
71
- i && (o.textContent = I(i));
71
+ i && (o.textContent = L(i));
72
72
  } catch {
73
73
  }
74
74
  a.disconnect();
@@ -84,43 +84,33 @@ const M = (e) => {
84
84
  attributes: !0
85
85
  // Watch for changes to attributes
86
86
  }), () => a.disconnect();
87
- }, P = (e, t, n, a) => {
88
- if (e.type !== "click")
89
- return;
90
- const s = e.target, r = s.getAttribute("data-element-id"), o = s.getAttribute("href");
91
- if (o && o !== "#")
92
- return;
93
- const c = t.find((i) => i.id === r);
94
- !c || c.annotationType !== _.Link || c.dest && b(n, c.dest).then((i) => {
95
- a(i);
96
- });
97
87
  };
98
- function U(e, t) {
99
- for (const n of v)
88
+ function H(e, t) {
89
+ for (const n of T)
100
90
  e.addEventListener(n, t);
101
91
  }
102
- function V(e, t) {
103
- for (const n of v)
92
+ function P(e, t) {
93
+ for (const n of T)
104
94
  e.removeEventListener(n, t);
105
95
  }
106
- function $(e) {
96
+ function U(e) {
107
97
  const { id: t, url: n, unsafeUrl: a } = e;
108
98
  new MutationObserver((r, o) => {
109
99
  const c = document.querySelector(`[data-annotation-id="${t}"]`);
110
100
  if (c) {
111
- const i = c.querySelector("a"), p = L((n || a) ?? "", "");
101
+ const i = c.querySelector("a"), p = _((n || a) ?? "", "");
112
102
  i && (i == null || i.setAttribute("target", "_blank"), i == null || i.setAttribute("href", p), i == null || i.setAttribute("rel", "noopener noreferrer")), o.disconnect();
113
103
  }
114
104
  }).observe(document.body, { childList: !0, subtree: !0 });
115
105
  }
116
- function D(e, t, n) {
106
+ function V(e, t, n) {
117
107
  const { rotation: a, scale: s } = t, r = a % 180 === 0;
118
108
  if (e.fieldType === "Btn" && e.pushButton) {
119
109
  const o = e.rect[2] - e.rect[0], c = e.rect[3] - e.rect[1], i = document.createElement("canvas");
120
110
  i.setAttribute("width", ((r ? o : c) * s).toString()), i.setAttribute("height", ((r ? c : o) * s).toString()), n.set(e.id, i);
121
111
  }
122
112
  }
123
- function k(e) {
113
+ function B(e) {
124
114
  var r;
125
115
  let t = e;
126
116
  for (; t.tagName !== "SECTION"; )
@@ -132,14 +122,14 @@ function k(e) {
132
122
  if (s || (s = (r = t.firstChild) == null ? void 0 : r.id), s && t.parentElement) {
133
123
  const o = t.parentElement.querySelector(`[aria-controls="${s}"]`);
134
124
  o && new MutationObserver((i, p) => {
135
- const h = document.querySelectorAll(".popupDate");
136
- h.length > 0 && (h.forEach((m) => {
137
- if (m.innerHTML)
125
+ const b = document.querySelectorAll(".popupDate");
126
+ b.length > 0 && (b.forEach((g) => {
127
+ if (g.innerHTML)
138
128
  return !1;
139
- const N = m.getAttribute("data-l10n-args");
129
+ const N = g.getAttribute("data-l10n-args");
140
130
  if (N) {
141
- const { date: y, time: A } = JSON.parse(N);
142
- y && A && (m.textContent = `${y}, ${A}`);
131
+ const { date: h, time: y } = JSON.parse(N);
132
+ h && y && (g.textContent = `${h}, ${y}`);
143
133
  }
144
134
  }), p.disconnect());
145
135
  }).observe(o, { childList: !0, subtree: !0 });
@@ -155,10 +145,10 @@ function d(e, t, n) {
155
145
  function u(e, t) {
156
146
  return { type: e, data: t };
157
147
  }
158
- async function S(e, t) {
148
+ async function w(e, t) {
159
149
  if (e.dest)
160
150
  if (typeof e.dest == "string") {
161
- const n = await b(t, e.dest);
151
+ const n = await E(t, e.dest);
162
152
  return u(l.INTERNAL_LINK, {
163
153
  referencedPage: n.pageIndex,
164
154
  offset: null
@@ -179,7 +169,7 @@ async function S(e, t) {
179
169
  unsafeUrl: e.unsafeUrl
180
170
  });
181
171
  }
182
- function T(e) {
172
+ function O(e) {
183
173
  for (const t of e.getElementsByTagName("span")) {
184
174
  let n = t.textContent;
185
175
  const a = JSON.parse(t.dataset.l10nArgs ?? "{}");
@@ -189,7 +179,7 @@ function T(e) {
189
179
  t.textContent = n;
190
180
  }
191
181
  }
192
- function w(e) {
182
+ function S(e) {
193
183
  return u(l.FILE_ATTACHMENT, e.file);
194
184
  }
195
185
  function f(e, t) {
@@ -236,27 +226,27 @@ function f(e, t) {
236
226
  });
237
227
  }
238
228
  }
239
- async function W(e, t, n) {
229
+ async function $(e, t, n) {
240
230
  var s;
241
231
  let a = e.target.parentNode;
242
- if (a.tagName === "DIV" && (a = a.firstChild), k(a), typeof a.className != "object")
232
+ if (a.tagName === "DIV" && (a = a.firstChild), B(a), typeof a.className != "object")
243
233
  if (a.className === "linkAnnotation" && e.type === "click") {
244
234
  const r = (s = a.dataset) == null ? void 0 : s.annotationId;
245
235
  if (r) {
246
236
  const o = d("id", r, n);
247
237
  if (o.length)
248
- return await S(o[0], t);
238
+ return await w(o[0], t);
249
239
  }
250
240
  } else if (
251
241
  /* annotation.className.includes('popupAnnotation') || */
252
242
  a.className.includes("textAnnotation")
253
243
  )
254
- T(a);
244
+ O(a);
255
245
  else if (a.className.includes("fileAttachmentAnnotation")) {
256
- T(a);
246
+ O(a);
257
247
  const r = a.dataset.annotationId;
258
248
  if (r && e.type === "dblclick")
259
- return w(d("id", r, n)[0]);
249
+ return S(d("id", r, n)[0]);
260
250
  } else if (a.className.includes("textWidgetAnnotation") && e.type === "input") {
261
251
  let r = a.getElementsByTagName("input")[0];
262
252
  return r || (r = a.getElementsByTagName("textarea")[0]), f(r);
@@ -297,11 +287,10 @@ async function W(e, t, n) {
297
287
  }
298
288
  }
299
289
  export {
300
- W as annotationEventsHandler,
290
+ $ as annotationEventsHandler,
301
291
  M as annotationsEvents,
302
- U as bindLayerEvents,
303
- $ as handleAnnotationLink,
304
- D as handleAnnotationWidget,
305
- P as handleClick,
306
- V as unbindLayerEvents
292
+ H as bindLayerEvents,
293
+ U as handleAnnotationLink,
294
+ V as handleAnnotationWidget,
295
+ P as unbindLayerEvents
307
296
  };
@@ -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 Cr } from "../../ToolbarLayout.module-d91e2284.js";
5
+ import { b as Cr } from "../../ToolbarLayout.module-e18aece5.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -94,10 +94,10 @@ import "../getWordPositionInPage.js";
94
94
  import "../smoothScrollTo.js";
95
95
  import "../../components/layout/toolbar/FileUploadTool.js";
96
96
  import "../../components/icons/FileUploadDefaultIcon.js";
97
- import "../../index-a48ec088.js";
97
+ import "../../index-3bf64864.js";
98
98
  import "../../index-c9a2990a.js";
99
99
  import "react-dom";
100
- import "../../index-808ea7bf.js";
100
+ import "../../floating-ui.react-dom-d22a10b4.js";
101
101
  import "../../components/layout/toolbar/DarkModeTool.js";
102
102
  import "../../components/icons/MoonIcon.js";
103
103
  import "../../components/icons/SunIcon.js";
@@ -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("2025-12-30T03:48:13.986Z"), 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-07T03:04:37.364Z"), 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
1
  import "react";
2
2
  import "../types.js";
3
- import { v as Dr } from "../../ToolbarLayout.module-d91e2284.js";
3
+ import { v as Dr } from "../../ToolbarLayout.module-e18aece5.js";
4
4
  import "react/jsx-runtime";
5
5
  import "../../contexts/RPDocumentContext.js";
6
6
  import "../../contexts/DocumentPasswordContext.js";
@@ -94,10 +94,10 @@ import "../getWordPositionInPage.js";
94
94
  import "../smoothScrollTo.js";
95
95
  import "../../components/layout/toolbar/FileUploadTool.js";
96
96
  import "../../components/icons/FileUploadDefaultIcon.js";
97
- import "../../index-a48ec088.js";
97
+ import "../../index-3bf64864.js";
98
98
  import "../../index-c9a2990a.js";
99
99
  import "react-dom";
100
- import "../../index-808ea7bf.js";
100
+ import "../../floating-ui.react-dom-d22a10b4.js";
101
101
  import "../../components/layout/toolbar/DarkModeTool.js";
102
102
  import "../../components/icons/MoonIcon.js";
103
103
  import "../../components/icons/SunIcon.js";
@@ -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 Co } from "../../ToolbarLayout.module-d91e2284.js";
8
+ import { Q as Co } from "../../ToolbarLayout.module-e18aece5.js";
9
9
  import "../../contexts/DarkModeContext.js";
10
10
  import "../../contexts/RotationContext.js";
11
11
  import "../../contexts/LayerContext.js";
@@ -94,10 +94,10 @@ import "../getWordPositionInPage.js";
94
94
  import "../smoothScrollTo.js";
95
95
  import "../../components/layout/toolbar/FileUploadTool.js";
96
96
  import "../../components/icons/FileUploadDefaultIcon.js";
97
- import "../../index-a48ec088.js";
97
+ import "../../index-3bf64864.js";
98
98
  import "../../index-c9a2990a.js";
99
99
  import "react-dom";
100
- import "../../index-808ea7bf.js";
100
+ import "../../floating-ui.react-dom-d22a10b4.js";
101
101
  import "../../components/layout/toolbar/DarkModeTool.js";
102
102
  import "../../components/icons/MoonIcon.js";
103
103
  import "../../components/icons/SunIcon.js";
@@ -2,7 +2,7 @@ import "react";
2
2
  import "react/jsx-runtime";
3
3
  import "../../contexts/RPDocumentContext.js";
4
4
  import "../../contexts/DocumentPasswordContext.js";
5
- import { x as Do } from "../../ToolbarLayout.module-d91e2284.js";
5
+ import { x as Do } from "../../ToolbarLayout.module-e18aece5.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -94,10 +94,10 @@ import "../getWordPositionInPage.js";
94
94
  import "../smoothScrollTo.js";
95
95
  import "../../components/layout/toolbar/FileUploadTool.js";
96
96
  import "../../components/icons/FileUploadDefaultIcon.js";
97
- import "../../index-a48ec088.js";
97
+ import "../../index-3bf64864.js";
98
98
  import "../../index-c9a2990a.js";
99
99
  import "react-dom";
100
- import "../../index-808ea7bf.js";
100
+ import "../../floating-ui.react-dom-d22a10b4.js";
101
101
  import "../../components/layout/toolbar/DarkModeTool.js";
102
102
  import "../../components/icons/MoonIcon.js";
103
103
  import "../../components/icons/SunIcon.js";
@@ -3,7 +3,7 @@ import "../../contexts/ScrollModeContext.js";
3
3
  import "react/jsx-runtime";
4
4
  import "../../contexts/RPDocumentContext.js";
5
5
  import "../../contexts/DocumentPasswordContext.js";
6
- import { t as Br } from "../../ToolbarLayout.module-d91e2284.js";
6
+ import { t as Br } from "../../ToolbarLayout.module-e18aece5.js";
7
7
  import "../../contexts/DarkModeContext.js";
8
8
  import "../types.js";
9
9
  import "../../contexts/RotationContext.js";
@@ -94,10 +94,10 @@ import "./useCopyText.js";
94
94
  import "../getWordPositionInPage.js";
95
95
  import "../../components/layout/toolbar/FileUploadTool.js";
96
96
  import "../../components/icons/FileUploadDefaultIcon.js";
97
- import "../../index-a48ec088.js";
97
+ import "../../index-3bf64864.js";
98
98
  import "../../index-c9a2990a.js";
99
99
  import "react-dom";
100
- import "../../index-808ea7bf.js";
100
+ import "../../floating-ui.react-dom-d22a10b4.js";
101
101
  import "../../components/layout/toolbar/DarkModeTool.js";
102
102
  import "../../components/icons/MoonIcon.js";
103
103
  import "../../components/icons/SunIcon.js";
@@ -7,7 +7,7 @@ import "../../contexts/RPDocumentContext.js";
7
7
  import "../../contexts/ZoomContext.js";
8
8
  import "react/jsx-runtime";
9
9
  import "../../contexts/DocumentPasswordContext.js";
10
- import { B as Do } from "../../ToolbarLayout.module-d91e2284.js";
10
+ import { B as Do } from "../../ToolbarLayout.module-e18aece5.js";
11
11
  import "../../contexts/DarkModeContext.js";
12
12
  import "../../contexts/RotationContext.js";
13
13
  import "../../contexts/LayerContext.js";
@@ -94,10 +94,10 @@ import "./useCopyText.js";
94
94
  import "../smoothScrollTo.js";
95
95
  import "../../components/layout/toolbar/FileUploadTool.js";
96
96
  import "../../components/icons/FileUploadDefaultIcon.js";
97
- import "../../index-a48ec088.js";
97
+ import "../../index-3bf64864.js";
98
98
  import "../../index-c9a2990a.js";
99
99
  import "react-dom";
100
- import "../../index-808ea7bf.js";
100
+ import "../../floating-ui.react-dom-d22a10b4.js";
101
101
  import "../../components/layout/toolbar/DarkModeTool.js";
102
102
  import "../../components/icons/MoonIcon.js";
103
103
  import "../../components/icons/SunIcon.js";
@@ -2,7 +2,7 @@ import "react";
2
2
  import "react/jsx-runtime";
3
3
  import "../../contexts/RPDocumentContext.js";
4
4
  import "../../contexts/DocumentPasswordContext.js";
5
- import { z as Do } from "../../ToolbarLayout.module-d91e2284.js";
5
+ import { z as Do } from "../../ToolbarLayout.module-e18aece5.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -94,10 +94,10 @@ import "../getWordPositionInPage.js";
94
94
  import "../smoothScrollTo.js";
95
95
  import "../../components/layout/toolbar/FileUploadTool.js";
96
96
  import "../../components/icons/FileUploadDefaultIcon.js";
97
- import "../../index-a48ec088.js";
97
+ import "../../index-3bf64864.js";
98
98
  import "../../index-c9a2990a.js";
99
99
  import "react-dom";
100
- import "../../index-808ea7bf.js";
100
+ import "../../floating-ui.react-dom-d22a10b4.js";
101
101
  import "../../components/layout/toolbar/DarkModeTool.js";
102
102
  import "../../components/icons/MoonIcon.js";
103
103
  import "../../components/icons/SunIcon.js";
@@ -4,7 +4,7 @@ import "../../contexts/ScrollModeContext.js";
4
4
  import "react/jsx-runtime";
5
5
  import "../../contexts/RPDocumentContext.js";
6
6
  import "../../contexts/DocumentPasswordContext.js";
7
- import { M as Ar } from "../../ToolbarLayout.module-d91e2284.js";
7
+ import { M as Ar } from "../../ToolbarLayout.module-e18aece5.js";
8
8
  import "../../contexts/DarkModeContext.js";
9
9
  import "../../contexts/RotationContext.js";
10
10
  import "../../contexts/LayerContext.js";
@@ -94,10 +94,10 @@ import "../getWordPositionInPage.js";
94
94
  import "../smoothScrollTo.js";
95
95
  import "../../components/layout/toolbar/FileUploadTool.js";
96
96
  import "../../components/icons/FileUploadDefaultIcon.js";
97
- import "../../index-a48ec088.js";
97
+ import "../../index-3bf64864.js";
98
98
  import "../../index-c9a2990a.js";
99
99
  import "react-dom";
100
- import "../../index-808ea7bf.js";
100
+ import "../../floating-ui.react-dom-d22a10b4.js";
101
101
  import "../../components/layout/toolbar/DarkModeTool.js";
102
102
  import "../../components/icons/MoonIcon.js";
103
103
  import "../../components/icons/SunIcon.js";
@@ -1,16 +1,18 @@
1
- var r = Object.defineProperty;
2
- var s = (a, e, t) => e in a ? r(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[e] = t;
3
- var n = (a, e, t) => (s(a, typeof e != "symbol" ? e + "" : e, t), t);
4
- class u {
5
- constructor() {
6
- n(this, "externalLinkEnabled");
7
- this.externalLinkEnabled = !0;
1
+ var u = Object.defineProperty;
2
+ var c = (o, e, t) => e in o ? u(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
+ var i = (o, e, t) => (c(o, typeof e != "symbol" ? e + "" : e, t), t);
4
+ class f {
5
+ constructor(e, t) {
6
+ i(this, "externalLinkEnabled");
7
+ i(this, "pdfDocument");
8
+ this.externalLinkEnabled = !0, this.pdfDocument = e, this.goToPage = t;
8
9
  }
9
10
  /**
10
11
  * @type {number}
11
12
  */
12
13
  get pagesCount() {
13
- return 0;
14
+ var e;
15
+ return ((e = this.pdfDocument) == null ? void 0 : e.numPages) ?? 0;
14
16
  }
15
17
  /**
16
18
  * @type {number}
@@ -44,6 +46,34 @@ class u {
44
46
  * @param {string|Array} _dest - The named, or explicit, PDF destination.
45
47
  */
46
48
  async goToDestination(e) {
49
+ var r, s, g;
50
+ let t, n;
51
+ if (typeof e == "string" ? t = await ((r = this.pdfDocument) == null ? void 0 : r.getDestination(e)) : t = await e, !Array.isArray(t)) {
52
+ console.error(
53
+ `goToDestination: "${t}" is not a valid destination array, for dest="${e}".`
54
+ );
55
+ return;
56
+ }
57
+ const [a] = t;
58
+ if (a && typeof a == "object") {
59
+ if (n = (s = this.pdfDocument) == null ? void 0 : s.cachedPageNumber(a), !n)
60
+ try {
61
+ n = (await ((g = this.pdfDocument) == null ? void 0 : g.getPageIndex(a)) || 0) + 1;
62
+ } catch {
63
+ console.error(
64
+ `goToDestination: "${a}" is not a valid page reference, for dest="${e}".`
65
+ );
66
+ return;
67
+ }
68
+ } else
69
+ Number.isInteger(a) && (n = a + 1);
70
+ if (!n || n < 1 || n > this.pagesCount) {
71
+ console.error(
72
+ `goToDestination: "${n}" is not a valid page number, for dest="${e}".`
73
+ );
74
+ return;
75
+ }
76
+ this.goToPage(n);
47
77
  }
48
78
  /**
49
79
  * @param {number|string} _val - The page number, or page label.
@@ -55,7 +85,7 @@ class u {
55
85
  * @param {string} url
56
86
  * @param {boolean} [_newWindow]
57
87
  */
58
- addLinkAttributes(e, t, i = !1) {
88
+ addLinkAttributes(e, t, n = !1) {
59
89
  }
60
90
  /**
61
91
  * @param _dest - The PDF destination object.
@@ -94,5 +124,5 @@ class u {
94
124
  }
95
125
  }
96
126
  export {
97
- u as SimpleLinkService
127
+ f as SimpleLinkService
98
128
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pdf-viewer/react",
3
3
  "private": false,
4
4
  "description": "A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.",
5
- "version": "1.16.0-rc.0",
5
+ "version": "1.16.0-rc.2",
6
6
  "keywords": [
7
7
  "react-pdf",
8
8
  "react-pdf-viewer",