@pdf-viewer/react 0.0.0-experimental.0 → 0.0.0-experimental.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/{ToolbarLayout.module-89451ab3.js → ToolbarLayout.module-acfd93ef.js} +1231 -1221
  2. package/dist/components/RPController.js +5 -3
  3. package/dist/components/RPPages.js +4 -2
  4. package/dist/components/RPProvider.js +37 -22
  5. package/dist/components/layout/LayoutContainer.js +5 -3
  6. package/dist/components/layout/RPDefaultLayout.js +5 -3
  7. package/dist/components/layout/RPLayout.js +5 -3
  8. package/dist/components/layout/sidebar/RPSidebar.js +5 -3
  9. package/dist/components/layout/sidebar/Thumbnail.js +5 -3
  10. package/dist/components/layout/sidebar/Thumbnails.js +5 -3
  11. package/dist/components/layout/toolbar/DocumentDialog.js +5 -3
  12. package/dist/components/layout/toolbar/FileDownloadTool.js +5 -3
  13. package/dist/components/layout/toolbar/MostPageTool.js +5 -3
  14. package/dist/components/layout/toolbar/OtherTool.js +5 -3
  15. package/dist/components/layout/toolbar/Paginate.js +5 -3
  16. package/dist/components/layout/toolbar/PrintTool.js +5 -3
  17. package/dist/components/layout/toolbar/RPMoreOptions.js +6 -4
  18. package/dist/components/layout/toolbar/RPToolbar.js +5 -3
  19. package/dist/components/layout/toolbar/RPToolbarEnd.js +5 -3
  20. package/dist/components/layout/toolbar/SearchResultNavigator.js +5 -3
  21. package/dist/components/layout/toolbar/SearchTool.js +5 -3
  22. package/dist/components/layout/toolbar/ThumbnailTool.js +6 -4
  23. package/dist/components/layout/toolbar/ToolbarCustom.js +6 -4
  24. package/dist/components/layout/toolbar/ToolbarDefault.js +6 -4
  25. package/dist/components/layout/toolbar/ToolbarLayout.js +6 -4
  26. package/dist/components/layout/toolbar/ZoomTool.js +3 -2
  27. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +6 -4
  28. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +6 -4
  29. package/dist/components/layout/toolbar/tools/InputPageTool.js +6 -4
  30. package/dist/components/layout/toolbar/tools/NextPageTool.js +5 -3
  31. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +6 -4
  32. package/dist/components/layout/toolbar/tools/PrintTool.js +6 -4
  33. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +6 -4
  34. package/dist/components/layout/toolbar/tools/ZoomInTool.js +3 -2
  35. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +3 -2
  36. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +3 -2
  37. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +5 -3
  38. package/dist/components/layout/toolbar/tools/defaults/RPVerticalBar.js +6 -4
  39. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +6 -4
  40. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +6 -4
  41. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +6 -4
  42. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +6 -4
  43. package/dist/components/page/AnnotationLayer.js +5 -3
  44. package/dist/components/page/CanvasLayer.js +5 -3
  45. package/dist/components/page/CustomElement.js +7 -2
  46. package/dist/components/page/DualPage.js +5 -3
  47. package/dist/components/page/RPPage.js +4 -2
  48. package/dist/components/page/SinglePage.js +5 -3
  49. package/dist/components/page/TextHighlightLayer.js +5 -3
  50. package/dist/components/page/TextLayer.js +5 -3
  51. package/dist/components/ui/LoadingIndicator.js +5 -3
  52. package/dist/contexts/DimensionPagesContext.js +10 -9
  53. package/dist/contexts/ElementPageContext.js +92 -49
  54. package/dist/contexts/EventCallbackContext.js +30 -0
  55. package/dist/contexts/GlobalCurrentPage.js +13 -10
  56. package/dist/contexts/PagesRotateContext.js +21 -15
  57. package/dist/contexts/PaginationContext.js +7 -5
  58. package/dist/contexts/PrintContext.js +7 -5
  59. package/dist/contexts/RPDocumentContext.js +21 -19
  60. package/dist/contexts/RenderQueueProvider.js +7 -5
  61. package/dist/contexts/SearchContext.js +7 -5
  62. package/dist/contexts/ThumbnailsContext.js +7 -5
  63. package/dist/contexts/ZoomContext.js +13 -12
  64. package/dist/main.js +86 -84
  65. package/dist/types/contexts/EventCallbackContext.d.ts +5 -0
  66. package/dist/types/utils/getElementPositionInPage.d.ts +5 -0
  67. package/dist/types/utils/link_service.d.ts +8 -0
  68. package/dist/types/utils/types.d.ts +10 -1
  69. package/dist/utils/getElementPositionInPage.js +84 -0
  70. package/dist/utils/hooks/useFileDownload.js +5 -3
  71. package/dist/utils/hooks/useLicense.js +1 -1
  72. package/dist/utils/hooks/useLoadPdf.js +49 -47
  73. package/dist/utils/hooks/useLoadWorker.js +8 -8
  74. package/dist/utils/hooks/usePageRotateContext.js +3 -2
  75. package/dist/utils/hooks/usePaginate.js +5 -3
  76. package/dist/utils/hooks/usePinch.js +15 -14
  77. package/dist/utils/hooks/usePresentPage.js +5 -3
  78. package/dist/utils/hooks/usePrint.js +5 -3
  79. package/dist/utils/hooks/useScrollToPage.js +4 -2
  80. package/dist/utils/hooks/useSearch.js +4 -2
  81. package/dist/utils/hooks/useThumbnail.js +5 -3
  82. package/dist/utils/hooks/useVirtualReactWindow.js +5 -3
  83. package/dist/utils/injectPrintCSS.js +11 -11
  84. package/dist/utils/link_service.js +14 -5
  85. package/dist/utils/renderPage.js +1 -0
  86. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { w as Dr, g as Er, c as Fr } from "../ToolbarLayout.module-89451ab3.js";
3
+ import { w as Fr, g as Gr, c as Hr } from "../ToolbarLayout.module-acfd93ef.js";
4
4
  import "../components/icons/ChevronUpIcon.js";
5
5
  import "../components/ui/Button.js";
6
6
  import "../clsx-0c6e471a.js";
@@ -30,6 +30,7 @@ import "../utils/getZoomLevel.js";
30
30
  import "./LayoutContainerContext.js";
31
31
  import "./ViewModeContext.js";
32
32
  import "./GlobalCurrentPage.js";
33
+ import "./EventCallbackContext.js";
33
34
  import "../utils/hooks/useDebounce.js";
34
35
  import "./VirtualScrollContext.js";
35
36
  import "./VirtualGridContext.js";
@@ -54,6 +55,8 @@ import "./DownloadContext.js";
54
55
  import "./SmoothScrollContext.js";
55
56
  import "./ElementPageContext.js";
56
57
  import "../utils/const.js";
58
+ import "../utils/getScrollDistance.js";
59
+ import "../utils/getElementPositionInPage.js";
57
60
  import "../utils/Queue.js";
58
61
  import "../utils/renderPage.js";
59
62
  import "./LoaderContext.js";
@@ -101,7 +104,6 @@ import "../utils/hooks/useMousePressed.js";
101
104
  import "../utils/hooks/useGrabScroll.js";
102
105
  import "../utils/hooks/usePinch.js";
103
106
  import "../components/ui/PasswordModal.js";
104
- import "../utils/getScrollDistance.js";
105
107
  import "../utils/getWordPositionInPage.js";
106
108
  import "../utils/smoothScrollTo.js";
107
109
  import "../components/layout/toolbar/FileUploadTool.js";
@@ -136,7 +138,7 @@ import "../components/icons/ZoomOutIcon.js";
136
138
  import "../components/icons/SearchIcon.js";
137
139
  import "../components/icons/ClearIcon.js";
138
140
  export {
139
- Dr as PrintContext,
140
- Er as PrintProvider,
141
- Fr as usePrintContext
141
+ Fr as PrintContext,
142
+ Gr as PrintProvider,
143
+ Hr as usePrintContext
142
144
  };
@@ -1,8 +1,8 @@
1
- import { jsx as C } from "react/jsx-runtime";
2
- import { createContext as h, useState as l, useEffect as v, useMemo as S, useContext as D } from "react";
3
- import { useLoadPdf as F } from "../utils/hooks/useLoadPdf.js";
4
- import { usePdfProperties as M } from "../utils/hooks/usePdfProperties.js";
5
- import { appConsole as j } from "../utils/appConsole.js";
1
+ import { jsx as h } from "react/jsx-runtime";
2
+ import { createContext as v, useState as l, useEffect as S, useMemo as D, useContext as F } from "react";
3
+ import { useLoadPdf as M } from "../utils/hooks/useLoadPdf.js";
4
+ import { usePdfProperties as j } from "../utils/hooks/usePdfProperties.js";
5
+ import { appConsole as k } from "../utils/appConsole.js";
6
6
  import "pdfjs-dist";
7
7
  import "../utils/types.js";
8
8
  import "../th_TH-d627cd51.js";
@@ -11,7 +11,7 @@ import "./ConfigContext.js";
11
11
  import "./DocumentPasswordContext.js";
12
12
  import "../utils/convertPdfDate.js";
13
13
  import "../utils/formatFileSize.js";
14
- const u = h({
14
+ const u = v({
15
15
  pdf: void 0,
16
16
  pages: /* @__PURE__ */ new Map(),
17
17
  setPdfSrc: () => {
@@ -21,21 +21,23 @@ const u = h({
21
21
  loading: !1,
22
22
  loaderProgress: 0,
23
23
  error: void 0
24
- }), I = ({
24
+ }), J = ({
25
25
  children: t,
26
26
  src: e,
27
27
  characterMap: c,
28
28
  onLoadError: P,
29
- onLoaded: g
29
+ onLoaded: g,
30
+ onLoadProgress: x
30
31
  }) => {
31
- const [o, n] = l(e), [i, s] = l(), { pdf: r, pages: p, loading: m, loadingProgress: d, error: f } = F(o, c, {
32
+ const [o, n] = l(e), [i, s] = l(), { pdf: r, pages: p, loading: m, loadingProgress: d, error: f } = M(o, c, {
32
33
  onLoadError: P,
33
- onLoaded: g
34
- }), a = M(o, r, i);
35
- v(() => {
34
+ onLoaded: g,
35
+ onLoadProgress: x
36
+ }), a = j(o, r, i);
37
+ S(() => {
36
38
  s(e == null ? void 0 : e.split("/").pop()), n(e);
37
39
  }, [e]);
38
- const x = S(() => ({
40
+ const C = D(() => ({
39
41
  pdf: r,
40
42
  pages: p,
41
43
  pdfSrc: o,
@@ -47,13 +49,13 @@ const u = h({
47
49
  loaderProgress: d,
48
50
  error: f
49
51
  }), [r, p, o, a, m, d, f]);
50
- return /* @__PURE__ */ C(u.Provider, { value: x, children: o ? t : null });
51
- }, J = () => {
52
- const t = D(u);
53
- return t.pdfSrc || j.error("Please use this hooks inside children component of RPDocument"), t;
52
+ return /* @__PURE__ */ h(u.Provider, { value: C, children: o ? t : null });
53
+ }, K = () => {
54
+ const t = F(u);
55
+ return t.pdfSrc || k.error("Please use this hooks inside children component of RPDocument"), t;
54
56
  };
55
57
  export {
56
- I as DocumentProvider,
58
+ J as DocumentProvider,
57
59
  u as default,
58
- J as useDocumentContext
60
+ K as useDocumentContext
59
61
  };
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "../utils/Queue.js";
4
4
  import "../utils/renderPage.js";
5
- import { B as Ao, f as Do, C as Eo } from "../ToolbarLayout.module-89451ab3.js";
5
+ import { B as Eo, f as Fo, C as Go } from "../ToolbarLayout.module-acfd93ef.js";
6
6
  import "pdfjs-dist";
7
7
  import "../components/icons/ChevronUpIcon.js";
8
8
  import "../components/ui/Button.js";
@@ -32,6 +32,7 @@ import "../utils/getZoomLevel.js";
32
32
  import "./LayoutContainerContext.js";
33
33
  import "./ViewModeContext.js";
34
34
  import "./GlobalCurrentPage.js";
35
+ import "./EventCallbackContext.js";
35
36
  import "../utils/hooks/useDebounce.js";
36
37
  import "./VirtualScrollContext.js";
37
38
  import "./VirtualGridContext.js";
@@ -56,6 +57,8 @@ import "./DownloadContext.js";
56
57
  import "./SmoothScrollContext.js";
57
58
  import "./ElementPageContext.js";
58
59
  import "../utils/const.js";
60
+ import "../utils/getScrollDistance.js";
61
+ import "../utils/getElementPositionInPage.js";
59
62
  import "./LoaderContext.js";
60
63
  import "../components/icons/LoaderIcon.js";
61
64
  import "./IconToolContext.js";
@@ -101,7 +104,6 @@ import "../utils/hooks/useMousePressed.js";
101
104
  import "../utils/hooks/useGrabScroll.js";
102
105
  import "../utils/hooks/usePinch.js";
103
106
  import "../components/ui/PasswordModal.js";
104
- import "../utils/getScrollDistance.js";
105
107
  import "../utils/getWordPositionInPage.js";
106
108
  import "../utils/smoothScrollTo.js";
107
109
  import "../components/layout/toolbar/FileUploadTool.js";
@@ -136,7 +138,7 @@ import "../components/icons/ZoomOutIcon.js";
136
138
  import "../components/icons/SearchIcon.js";
137
139
  import "../components/icons/ClearIcon.js";
138
140
  export {
139
- Ao as RenderQueueContext,
140
- Do as RenderQueueProvider,
141
- Eo as useRenderQueue
141
+ Eo as RenderQueueContext,
142
+ Fo as RenderQueueProvider,
143
+ Go as useRenderQueue
142
144
  };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { A as Do, e as Eo, d as Fo } from "../ToolbarLayout.module-89451ab3.js";
3
+ import { A as Fo, e as Go, d as Ho } from "../ToolbarLayout.module-acfd93ef.js";
4
4
  import "../components/icons/ChevronUpIcon.js";
5
5
  import "../components/ui/Button.js";
6
6
  import "../clsx-0c6e471a.js";
@@ -30,6 +30,7 @@ import "../utils/getZoomLevel.js";
30
30
  import "./LayoutContainerContext.js";
31
31
  import "./ViewModeContext.js";
32
32
  import "./GlobalCurrentPage.js";
33
+ import "./EventCallbackContext.js";
33
34
  import "../utils/hooks/useDebounce.js";
34
35
  import "./VirtualScrollContext.js";
35
36
  import "./VirtualGridContext.js";
@@ -54,6 +55,8 @@ import "./DownloadContext.js";
54
55
  import "./SmoothScrollContext.js";
55
56
  import "./ElementPageContext.js";
56
57
  import "../utils/const.js";
58
+ import "../utils/getScrollDistance.js";
59
+ import "../utils/getElementPositionInPage.js";
57
60
  import "../utils/Queue.js";
58
61
  import "../utils/renderPage.js";
59
62
  import "./LoaderContext.js";
@@ -101,7 +104,6 @@ import "../utils/hooks/useMousePressed.js";
101
104
  import "../utils/hooks/useGrabScroll.js";
102
105
  import "../utils/hooks/usePinch.js";
103
106
  import "../components/ui/PasswordModal.js";
104
- import "../utils/getScrollDistance.js";
105
107
  import "../utils/getWordPositionInPage.js";
106
108
  import "../utils/smoothScrollTo.js";
107
109
  import "../components/layout/toolbar/FileUploadTool.js";
@@ -136,7 +138,7 @@ import "../components/icons/ZoomOutIcon.js";
136
138
  import "../components/icons/SearchIcon.js";
137
139
  import "../components/icons/ClearIcon.js";
138
140
  export {
139
- Do as SearchContext,
140
- Eo as SearchProvider,
141
- Fo as useSearchContext
141
+ Fo as SearchContext,
142
+ Go as SearchProvider,
143
+ Ho as useSearchContext
142
144
  };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { y as Dt, T as Et, h as Ft } from "../ToolbarLayout.module-89451ab3.js";
3
+ import { y as Ft, T as Gt, h as Ht } from "../ToolbarLayout.module-acfd93ef.js";
4
4
  import "../components/icons/ChevronUpIcon.js";
5
5
  import "../components/ui/Button.js";
6
6
  import "../clsx-0c6e471a.js";
@@ -30,6 +30,7 @@ import "../utils/getZoomLevel.js";
30
30
  import "./LayoutContainerContext.js";
31
31
  import "./ViewModeContext.js";
32
32
  import "./GlobalCurrentPage.js";
33
+ import "./EventCallbackContext.js";
33
34
  import "../utils/hooks/useDebounce.js";
34
35
  import "./VirtualScrollContext.js";
35
36
  import "./VirtualGridContext.js";
@@ -54,6 +55,8 @@ import "./DownloadContext.js";
54
55
  import "./SmoothScrollContext.js";
55
56
  import "./ElementPageContext.js";
56
57
  import "../utils/const.js";
58
+ import "../utils/getScrollDistance.js";
59
+ import "../utils/getElementPositionInPage.js";
57
60
  import "../utils/Queue.js";
58
61
  import "../utils/renderPage.js";
59
62
  import "./LoaderContext.js";
@@ -101,7 +104,6 @@ import "../utils/hooks/useMousePressed.js";
101
104
  import "../utils/hooks/useGrabScroll.js";
102
105
  import "../utils/hooks/usePinch.js";
103
106
  import "../components/ui/PasswordModal.js";
104
- import "../utils/getScrollDistance.js";
105
107
  import "../utils/getWordPositionInPage.js";
106
108
  import "../utils/smoothScrollTo.js";
107
109
  import "../components/layout/toolbar/FileUploadTool.js";
@@ -136,7 +138,7 @@ import "../components/icons/ZoomOutIcon.js";
136
138
  import "../components/icons/SearchIcon.js";
137
139
  import "../components/icons/ClearIcon.js";
138
140
  export {
139
- Dt as ThumbnailContext,
140
- Et as ThumbnailProvider,
141
- Ft as useThumbnailContext
141
+ Ft as ThumbnailContext,
142
+ Gt as ThumbnailProvider,
143
+ Ht as useThumbnailContext
142
144
  };
@@ -20,15 +20,16 @@ import "./DocumentPasswordContext.js";
20
20
  import "../utils/hooks/usePdfProperties.js";
21
21
  import "../utils/convertPdfDate.js";
22
22
  import "../utils/formatFileSize.js";
23
+ import "./EventCallbackContext.js";
23
24
  const D = M({
24
25
  zoomLevel: 100,
25
26
  currentZoom: 1,
26
27
  setZoomLevel: () => {
27
28
  }
28
- }), we = () => {
29
- const c = O(D);
30
- return typeof c.currentZoom != "number" && _.warn("Please use this hooks inside children component of RPProvider"), c;
31
- }, Le = ({ children: c }) => {
29
+ }), Le = () => {
30
+ const m = O(D);
31
+ return typeof m.currentZoom != "number" && _.warn("Please use this hooks inside children component of RPProvider"), m;
32
+ }, Pe = ({ children: m }) => {
32
33
  const { initialScale: W = J.PAGE_FIT } = j(), [s, b] = u(W), { pages: l } = F(), { pagesRef: t } = k(), { viewMode: p } = q(), [H, V] = u({
33
34
  width: (t == null ? void 0 : t.clientWidth) || 0,
34
35
  height: (t == null ? void 0 : t.clientHeight) || 0
@@ -42,20 +43,20 @@ const D = M({
42
43
  });
43
44
  o && JSON.stringify(o) !== JSON.stringify(d.current) && (d.current = o, z(o));
44
45
  }, [l, g, w]);
45
- const m = Z(() => {
46
+ const c = Z(() => {
46
47
  if (!n)
47
48
  return null;
48
49
  const e = ((n == null ? void 0 : n.width) || 0) + 2 * T, o = (n == null ? void 0 : n.height) || 0, i = (t == null ? void 0 : t.clientWidth) || 0, r = (t == null ? void 0 : t.clientHeight) || 0;
49
50
  return { pageWidth: e, pageHeight: o, clientWidth: i, clientHeight: r };
50
51
  }, [n, t]), L = x(() => {
51
- const e = m();
52
+ const e = c();
52
53
  if (!h.width || !h.height || !e)
53
54
  return 0;
54
55
  if (typeof s == "number")
55
56
  return s / 100;
56
57
  const { clientWidth: o, clientHeight: i, pageWidth: r, pageHeight: a } = e;
57
58
  return C(s, o, i, r, a, p) / 100;
58
- }, [s, h, m, p]);
59
+ }, [s, h, c, p]);
59
60
  f(() => {
60
61
  y(v);
61
62
  }, [s]), f(() => {
@@ -72,7 +73,7 @@ const D = M({
72
73
  (e) => {
73
74
  let o = 0;
74
75
  if (typeof e == "function") {
75
- const i = m();
76
+ const i = c();
76
77
  if (!i)
77
78
  return;
78
79
  const { clientWidth: r, clientHeight: a, pageWidth: P, pageHeight: E } = i;
@@ -91,16 +92,16 @@ const D = M({
91
92
  o = e;
92
93
  o && b(o);
93
94
  },
94
- [m]
95
+ [c]
95
96
  ), S = x(() => ({
96
97
  zoomLevel: s,
97
98
  currentZoom: L,
98
99
  setZoomLevel: N
99
100
  }), [L, s]);
100
- return /* @__PURE__ */ I(D.Provider, { value: S, children: c });
101
+ return /* @__PURE__ */ I(D.Provider, { value: S, children: m });
101
102
  };
102
103
  export {
103
104
  D as ZoomContext,
104
- Le as ZoomProvider,
105
- we as useZoomContext
105
+ Pe as ZoomProvider,
106
+ Le as useZoomContext
106
107
  };
package/dist/main.js CHANGED
@@ -1,40 +1,40 @@
1
- import { RPProvider as Zr } from "./components/RPProvider.js";
2
- import { a as vr, R as Mr, S as Vr, b as br, u as kr, c as yr, d as Br } from "./ToolbarLayout.module-89451ab3.js";
3
- import { RPConfig as Ir } from "./components/RPConfig.js";
4
- import { RPLayout as zr } from "./components/layout/RPLayout.js";
5
- import { RPController as Nr } from "./components/RPController.js";
6
- import { RPTheme as jr } from "./components/RPTheme.js";
7
- import { RPDropFileZone as Ar } from "./components/RPDropFileZone.js";
8
- import { useDarkModeContext as Jr } from "./contexts/DarkModeContext.js";
9
- import { useDocumentContext as Qr } from "./contexts/RPDocumentContext.js";
10
- import { useRotationContext as Xr } from "./contexts/RotationContext.js";
11
- import { useViewModeContext as _r } from "./contexts/ViewModeContext.js";
12
- import { useDropFileZoneContext as ot } from "./contexts/DropFileZoneContext.js";
13
- import { useOpenFileContext as tt } from "./contexts/FileInputContext.js";
14
- import { useZoomContext as pt } from "./contexts/ZoomContext.js";
15
- import { useHighlightContext as et } from "./contexts/HighlightContext.js";
16
- import { usePdfProperties as lt } from "./utils/hooks/usePdfProperties.js";
17
- import { useFullScreenContext as at } from "./contexts/FullScreenContext.js";
18
- import { usePageRotateContext as st } from "./utils/hooks/usePageRotateContext.js";
19
- import { useElementPageContext as Pt } from "./contexts/ElementPageContext.js";
20
- import { ThemeSwitcherTool as Ct } from "./components/layout/toolbar/tools/ThemeSwitcherTool.js";
21
- import { ThumbnailTool as ct } from "./components/layout/toolbar/tools/ThumbnailTool.js";
22
- import { FileUploadTool as gt } from "./components/layout/toolbar/tools/FileUploadTool.js";
23
- import { FileDownloadTool as Dt } from "./components/layout/toolbar/tools/FileDownloadTool.js";
24
- import { PrintTool as wt } from "./components/layout/toolbar/tools/PrintTool.js";
25
- import { FullScreenTool as Zt } from "./components/layout/toolbar/tools/FullScreenTool.js";
26
- import { PreviousPageTool as vt } from "./components/layout/toolbar/tools/PreviousPageTool.js";
27
- import { NextPageTool as Vt } from "./components/layout/toolbar/tools/NextPageTool.js";
28
- import { InputPageTool as kt } from "./components/layout/toolbar/tools/InputPageTool.js";
29
- import { ZoomInTool as Bt } from "./components/layout/toolbar/tools/ZoomInTool.js";
30
- import { ZoomOutTool as It } from "./components/layout/toolbar/tools/ZoomOutTool.js";
31
- import { ZoomLevelTool as zt } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
32
- import { DocumentPropertiesTool as Nt } from "./components/layout/toolbar/tools/DocumentPropertiesTool.js";
33
- import { RotateClockwiseTool as jt } from "./components/layout/toolbar/tools/RotateClockwiseTool.js";
34
- import { RotateCounterclockwiseTool as At } from "./components/layout/toolbar/tools/RotateCounterclockwiseTool.js";
35
- import { RPHorizontalBar as Jt } from "./components/layout/toolbar/tools/defaults/RPHorizontalBar.js";
36
- import { RPVerticalBar as Qt } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
37
- import { Locales as Xt, ScrollMode as Yt, ThemeVariables as _t, ViewMode as $t, ZoomLevel as om } from "./utils/types.js";
1
+ import { RPProvider as vr } from "./components/RPProvider.js";
2
+ import { a as Vr, R as br, S as kr, b as yr, u as Br, c as Hr, d as Ir } from "./ToolbarLayout.module-acfd93ef.js";
3
+ import { RPConfig as zr } from "./components/RPConfig.js";
4
+ import { RPLayout as Nr } from "./components/layout/RPLayout.js";
5
+ import { RPController as jr } from "./components/RPController.js";
6
+ import { RPTheme as Ar } from "./components/RPTheme.js";
7
+ import { RPDropFileZone as Jr } from "./components/RPDropFileZone.js";
8
+ import { useDarkModeContext as Qr } from "./contexts/DarkModeContext.js";
9
+ import { useDocumentContext as Xr } from "./contexts/RPDocumentContext.js";
10
+ import { useRotationContext as _r } from "./contexts/RotationContext.js";
11
+ import { useViewModeContext as ot } from "./contexts/ViewModeContext.js";
12
+ import { useDropFileZoneContext as tt } from "./contexts/DropFileZoneContext.js";
13
+ import { useOpenFileContext as pt } from "./contexts/FileInputContext.js";
14
+ import { useZoomContext as et } from "./contexts/ZoomContext.js";
15
+ import { useHighlightContext as lt } from "./contexts/HighlightContext.js";
16
+ import { usePdfProperties as at } from "./utils/hooks/usePdfProperties.js";
17
+ import { useFullScreenContext as st } from "./contexts/FullScreenContext.js";
18
+ import { usePageRotateContext as Pt } from "./utils/hooks/usePageRotateContext.js";
19
+ import { useElementPageContext as Ct } from "./contexts/ElementPageContext.js";
20
+ import { ThemeSwitcherTool as ct } from "./components/layout/toolbar/tools/ThemeSwitcherTool.js";
21
+ import { ThumbnailTool as gt } from "./components/layout/toolbar/tools/ThumbnailTool.js";
22
+ import { FileUploadTool as Dt } from "./components/layout/toolbar/tools/FileUploadTool.js";
23
+ import { FileDownloadTool as wt } from "./components/layout/toolbar/tools/FileDownloadTool.js";
24
+ import { PrintTool as Zt } from "./components/layout/toolbar/tools/PrintTool.js";
25
+ import { FullScreenTool as vt } from "./components/layout/toolbar/tools/FullScreenTool.js";
26
+ import { PreviousPageTool as Vt } from "./components/layout/toolbar/tools/PreviousPageTool.js";
27
+ import { NextPageTool as kt } from "./components/layout/toolbar/tools/NextPageTool.js";
28
+ import { InputPageTool as Bt } from "./components/layout/toolbar/tools/InputPageTool.js";
29
+ import { ZoomInTool as It } from "./components/layout/toolbar/tools/ZoomInTool.js";
30
+ import { ZoomOutTool as zt } from "./components/layout/toolbar/tools/ZoomOutTool.js";
31
+ import { ZoomLevelTool as Nt } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
32
+ import { DocumentPropertiesTool as jt } from "./components/layout/toolbar/tools/DocumentPropertiesTool.js";
33
+ import { RotateClockwiseTool as At } from "./components/layout/toolbar/tools/RotateClockwiseTool.js";
34
+ import { RotateCounterclockwiseTool as Jt } from "./components/layout/toolbar/tools/RotateCounterclockwiseTool.js";
35
+ import { RPHorizontalBar as Qt } from "./components/layout/toolbar/tools/defaults/RPHorizontalBar.js";
36
+ import { RPVerticalBar as Xt } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
37
+ import { Locales as _t, ScrollMode as $t, ThemeVariables as om, ViewMode as rm, ZoomLevel as tm } from "./utils/types.js";
38
38
  import "react/jsx-runtime";
39
39
  import "react";
40
40
  import "./contexts/DocumentPasswordContext.js";
@@ -46,6 +46,7 @@ import "./contexts/ToolComponentContext.js";
46
46
  import "./contexts/IconToolContext.js";
47
47
  import "./contexts/OtherToolContext.js";
48
48
  import "./utils/hooks/useFlickerSelectText.js";
49
+ import "./contexts/EventCallbackContext.js";
49
50
  import "./assets/style.js";
50
51
  import "./libInjectCss.js";
51
52
  import "./utils/injectPrintCSS.js";
@@ -164,54 +165,55 @@ import "./utils/hooks/useHighlight.js";
164
165
  import "./utils/convertPdfDate.js";
165
166
  import "./utils/formatFileSize.js";
166
167
  import "./utils/hooks/useFullScreen.js";
168
+ import "./utils/getElementPositionInPage.js";
167
169
  import "./components/icons/ChevronDownIcon.js";
168
170
  import "./components/layout/toolbar/ThumbnailTool.js";
169
171
  export {
170
- Nt as DocumentPropertiesTool,
171
- Dt as FileDownloadTool,
172
- gt as FileUploadTool,
173
- Zt as FullScreenTool,
174
- kt as InputPageTool,
175
- Xt as Locales,
176
- Vt as NextPageTool,
177
- vt as PreviousPageTool,
178
- wt as PrintTool,
179
- Ir as RPConfig,
180
- Nr as RPController,
181
- vr as RPDefaultLayout,
182
- Ar as RPDropFileZone,
183
- Jt as RPHorizontalBar,
184
- zr as RPLayout,
185
- Mr as RPPages,
186
- Zr as RPProvider,
187
- jr as RPTheme,
188
- Qt as RPVerticalBar,
189
- jt as RotateClockwiseTool,
190
- At as RotateCounterclockwiseTool,
191
- Yt as ScrollMode,
192
- Vr as SearchTool,
193
- Ct as ThemeSwitcherTool,
194
- _t as ThemeVariables,
195
- ct as ThumbnailTool,
196
- $t as ViewMode,
197
- Bt as ZoomInTool,
198
- om as ZoomLevel,
199
- zt as ZoomLevelTool,
200
- It as ZoomOutTool,
201
- Jr as useDarkModeContext,
202
- Qr as useDocumentContext,
203
- ot as useDropFileZoneContext,
204
- Pt as useElementPageContext,
205
- br as useFileDownload,
206
- at as useFullScreenContext,
207
- et as useHighlightContext,
208
- tt as useOpenFileContext,
209
- st as usePageRotateContext,
210
- kr as usePaginationContext,
211
- lt as usePdfProperties,
212
- yr as usePrintContext,
213
- Xr as useRotationContext,
214
- Br as useSearchContext,
215
- _r as useViewModeContext,
216
- pt as useZoomContext
172
+ jt as DocumentPropertiesTool,
173
+ wt as FileDownloadTool,
174
+ Dt as FileUploadTool,
175
+ vt as FullScreenTool,
176
+ Bt as InputPageTool,
177
+ _t as Locales,
178
+ kt as NextPageTool,
179
+ Vt as PreviousPageTool,
180
+ Zt as PrintTool,
181
+ zr as RPConfig,
182
+ jr as RPController,
183
+ Vr as RPDefaultLayout,
184
+ Jr as RPDropFileZone,
185
+ Qt as RPHorizontalBar,
186
+ Nr as RPLayout,
187
+ br as RPPages,
188
+ vr as RPProvider,
189
+ Ar as RPTheme,
190
+ Xt as RPVerticalBar,
191
+ At as RotateClockwiseTool,
192
+ Jt as RotateCounterclockwiseTool,
193
+ $t as ScrollMode,
194
+ kr as SearchTool,
195
+ ct as ThemeSwitcherTool,
196
+ om as ThemeVariables,
197
+ gt as ThumbnailTool,
198
+ rm as ViewMode,
199
+ It as ZoomInTool,
200
+ tm as ZoomLevel,
201
+ Nt as ZoomLevelTool,
202
+ zt as ZoomOutTool,
203
+ Qr as useDarkModeContext,
204
+ Xr as useDocumentContext,
205
+ tt as useDropFileZoneContext,
206
+ Ct as useElementPageContext,
207
+ yr as useFileDownload,
208
+ st as useFullScreenContext,
209
+ lt as useHighlightContext,
210
+ pt as useOpenFileContext,
211
+ Pt as usePageRotateContext,
212
+ Br as usePaginationContext,
213
+ at as usePdfProperties,
214
+ Hr as usePrintContext,
215
+ _r as useRotationContext,
216
+ Ir as useSearchContext,
217
+ ot as useViewModeContext,
218
+ et as useZoomContext
217
219
  };
@@ -0,0 +1,5 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { EventCallbackContextType } from '../utils/types';
3
+ export declare const EventCallbackContext: import('react').Context<EventCallbackContextType>;
4
+ export declare const useEventCallbackContext: () => EventCallbackContextType;
5
+ export declare const EventCallbackProvider: FC<PropsWithChildren<EventCallbackContextType>>;
@@ -0,0 +1,5 @@
1
+ import { RectPosition } from './types';
2
+ export declare const getElementPagePosition: (pageDimension: {
3
+ width: number;
4
+ height: number;
5
+ }, pagesRef: HTMLDivElement, element: HTMLElement | JSX.Element, rotation: number, scale: number) => RectPosition;
@@ -34,6 +34,14 @@ declare class SimpleLinkService implements IPDFLinkService {
34
34
  * @param {number|string} _val - The page number, or page label.
35
35
  */
36
36
  goToPage(_val: number | string): void;
37
+ /**
38
+ * Scrolls to a specific location in the PDF document.
39
+ * @param {number} pageNumber - The page number to scroll to.
40
+ * @param {number} x - The x-coordinate to scroll to in page coordinates.
41
+ * @param {number} y - The y-coordinate to scroll to in page coordinates.
42
+ * @param {Object} [options]
43
+ */
44
+ goToXY(_pageNumber: number, _x: number, _y: number, _options?: any): void;
37
45
  /**
38
46
  * @param {HTMLAnchorElement} link
39
47
  * @param {string} url
@@ -456,7 +456,12 @@ export interface CharacterMap {
456
456
  url: string;
457
457
  isCompressed: boolean;
458
458
  }
459
- export interface RPProviderProps extends PropsWithChildren, LoadPDFOptions, RPControllerProps {
459
+ export interface EventCallbackContextType {
460
+ onPageChange?: (page: number) => void;
461
+ onRotate?: (rotation: Record<number, number>) => void;
462
+ onScroll?: (scroll: Event) => void;
463
+ }
464
+ export interface RPProviderProps extends PropsWithChildren, LoadPDFOptions, RPControllerProps, EventCallbackContextType {
460
465
  src: RPSrc;
461
466
  workerUrl?: string;
462
467
  characterMap?: CharacterMap;
@@ -623,6 +628,7 @@ export type LoaderImage = JSX.Element | string;
623
628
  export interface LoadPDFOptions {
624
629
  onLoadError?: (error: any) => void;
625
630
  onLoaded?: (pdfDocument: PDFDocumentProxy) => void;
631
+ onLoadProgress?: (progress: number) => void;
626
632
  loaderImage?: LoaderImage;
627
633
  }
628
634
  export interface ScrollPosition {
@@ -659,6 +665,9 @@ export interface useElementPage {
659
665
  removeElement: (pageNumber: number, index: number) => void;
660
666
  clearElements: (pageNumber: number) => void;
661
667
  elementList: Record<number, Array<HTMLElement | JSX.Element>>;
668
+ scrollToElement: (page: number, index: number, config?: {
669
+ behavior: 'smooth' | 'auto' | 'instant';
670
+ }) => void;
662
671
  }
663
672
  export interface MatchHighlight extends MatchValue {
664
673
  keyword: string | RegExp;