@pdf-viewer/react 0.0.0-experimental.0 → 0.0.0-experimental.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 (86) hide show
  1. package/dist/{ToolbarLayout.module-89451ab3.js → ToolbarLayout.module-185b677e.js} +1071 -1059
  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 { K as Cr } from "../../ToolbarLayout.module-89451ab3.js";
3
+ import { K as Fr } from "../../ToolbarLayout.module-185b677e.js";
4
4
  import "../icons/ChevronUpIcon.js";
5
5
  import "../ui/Button.js";
6
6
  import "../../clsx-0c6e471a.js";
@@ -30,6 +30,7 @@ import "../../utils/getZoomLevel.js";
30
30
  import "../../contexts/LayoutContainerContext.js";
31
31
  import "../../contexts/ViewModeContext.js";
32
32
  import "../../contexts/GlobalCurrentPage.js";
33
+ import "../../contexts/EventCallbackContext.js";
33
34
  import "../../utils/hooks/useDebounce.js";
34
35
  import "../../contexts/VirtualScrollContext.js";
35
36
  import "../../contexts/VirtualGridContext.js";
@@ -54,6 +55,8 @@ import "../../contexts/DownloadContext.js";
54
55
  import "../../contexts/SmoothScrollContext.js";
55
56
  import "../../contexts/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 "../../contexts/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 "../ui/PasswordModal.js";
104
- import "../../utils/getScrollDistance.js";
105
107
  import "../../utils/getWordPositionInPage.js";
106
108
  import "../../utils/smoothScrollTo.js";
107
109
  import "../layout/toolbar/FileUploadTool.js";
@@ -136,5 +138,5 @@ import "../icons/ZoomOutIcon.js";
136
138
  import "../icons/SearchIcon.js";
137
139
  import "../icons/ClearIcon.js";
138
140
  export {
139
- Cr as DualPage
141
+ Fr as DualPage
140
142
  };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { I as Cr } from "../../ToolbarLayout.module-89451ab3.js";
3
+ import { I as Er } from "../../ToolbarLayout.module-185b677e.js";
4
4
  import "../../contexts/RPDocumentContext.js";
5
5
  import "../../contexts/DocumentPasswordContext.js";
6
6
  import "../../contexts/DarkModeContext.js";
@@ -30,6 +30,7 @@ import "../../contexts/LoaderContext.js";
30
30
  import "../../contexts/ToolComponentContext.js";
31
31
  import "../../contexts/IconToolContext.js";
32
32
  import "../../contexts/OtherToolContext.js";
33
+ import "../../contexts/EventCallbackContext.js";
33
34
  import "../RPConfig.js";
34
35
  import "../layout/Container.js";
35
36
  import "../../contexts/ViewportContext.js";
@@ -131,10 +132,11 @@ import "../icons/SearchIcon.js";
131
132
  import "../icons/ClearIcon.js";
132
133
  import "../../utils/hooks/useHighlight.js";
133
134
  import "../../utils/hooks/useLicense.js";
135
+ import "../../utils/getElementPositionInPage.js";
134
136
  import "../RPTheme.js";
135
137
  import "../../utils/hooks/useLoadWorker.js";
136
138
  import "../icons/LightPdfIcon.js";
137
139
  import "../icons/DarkPdfIcon.js";
138
140
  export {
139
- Cr as RPPage
141
+ Er as RPPage
140
142
  };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { M as Cr } from "../../ToolbarLayout.module-89451ab3.js";
3
+ import { M as Er } from "../../ToolbarLayout.module-185b677e.js";
4
4
  import "../icons/ChevronUpIcon.js";
5
5
  import "../ui/Button.js";
6
6
  import "../../clsx-0c6e471a.js";
@@ -30,6 +30,7 @@ import "../../utils/getZoomLevel.js";
30
30
  import "../../contexts/LayoutContainerContext.js";
31
31
  import "../../contexts/ViewModeContext.js";
32
32
  import "../../contexts/GlobalCurrentPage.js";
33
+ import "../../contexts/EventCallbackContext.js";
33
34
  import "../../utils/hooks/useDebounce.js";
34
35
  import "../../contexts/VirtualScrollContext.js";
35
36
  import "../../contexts/VirtualGridContext.js";
@@ -54,6 +55,8 @@ import "../../contexts/DownloadContext.js";
54
55
  import "../../contexts/SmoothScrollContext.js";
55
56
  import "../../contexts/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 "../../contexts/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 "../ui/PasswordModal.js";
104
- import "../../utils/getScrollDistance.js";
105
107
  import "../../utils/getWordPositionInPage.js";
106
108
  import "../../utils/smoothScrollTo.js";
107
109
  import "../layout/toolbar/FileUploadTool.js";
@@ -136,5 +138,5 @@ import "../icons/ZoomOutIcon.js";
136
138
  import "../icons/SearchIcon.js";
137
139
  import "../icons/ClearIcon.js";
138
140
  export {
139
- Cr as SinglePage
141
+ Er as SinglePage
140
142
  };
@@ -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 { H as Bt } from "../../ToolbarLayout.module-89451ab3.js";
5
+ import { H as Dt } from "../../ToolbarLayout.module-185b677e.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -30,6 +30,7 @@ import "../../contexts/LoaderContext.js";
30
30
  import "../../contexts/ToolComponentContext.js";
31
31
  import "../../contexts/IconToolContext.js";
32
32
  import "../../contexts/OtherToolContext.js";
33
+ import "../../contexts/EventCallbackContext.js";
33
34
  import "../RPConfig.js";
34
35
  import "../layout/Container.js";
35
36
  import "../../contexts/ViewportContext.js";
@@ -81,13 +82,14 @@ import "../../utils/getZoomLevel.js";
81
82
  import "../../utils/hooks/useDebounce.js";
82
83
  import "../../utils/hooks/useLicense.js";
83
84
  import "../../utils/const.js";
85
+ import "../../utils/getScrollDistance.js";
86
+ import "../../utils/getElementPositionInPage.js";
84
87
  import "../../utils/calculatePage.js";
85
88
  import "../../utils/hooks/useMousePressed.js";
86
89
  import "../../utils/hooks/useGrabScroll.js";
87
90
  import "../../utils/hooks/usePinch.js";
88
91
  import "../ui/PasswordModal.js";
89
92
  import "../../utils/hooks/useLocalization.js";
90
- import "../../utils/getScrollDistance.js";
91
93
  import "../../utils/getWordPositionInPage.js";
92
94
  import "../../utils/smoothScrollTo.js";
93
95
  import "../layout/toolbar/FileUploadTool.js";
@@ -136,5 +138,5 @@ import "../../utils/hooks/useLoadWorker.js";
136
138
  import "../icons/LightPdfIcon.js";
137
139
  import "../icons/DarkPdfIcon.js";
138
140
  export {
139
- Bt as TextHighlightLayer
141
+ Dt as TextHighlightLayer
140
142
  };
@@ -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 { F as Co } from "../../ToolbarLayout.module-89451ab3.js";
5
+ import { F as Eo } from "../../ToolbarLayout.module-185b677e.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -30,6 +30,7 @@ import "../../contexts/LoaderContext.js";
30
30
  import "../../contexts/ToolComponentContext.js";
31
31
  import "../../contexts/IconToolContext.js";
32
32
  import "../../contexts/OtherToolContext.js";
33
+ import "../../contexts/EventCallbackContext.js";
33
34
  import "../RPConfig.js";
34
35
  import "../layout/Container.js";
35
36
  import "../../contexts/ViewportContext.js";
@@ -81,13 +82,14 @@ import "./CustomElement.js";
81
82
  import "../../utils/getZoomLevel.js";
82
83
  import "../../utils/hooks/useDebounce.js";
83
84
  import "../../utils/hooks/useLicense.js";
85
+ import "../../utils/getScrollDistance.js";
86
+ import "../../utils/getElementPositionInPage.js";
84
87
  import "../../utils/calculatePage.js";
85
88
  import "../../utils/hooks/useMousePressed.js";
86
89
  import "../../utils/hooks/useGrabScroll.js";
87
90
  import "../../utils/hooks/usePinch.js";
88
91
  import "../ui/PasswordModal.js";
89
92
  import "../../utils/hooks/useLocalization.js";
90
- import "../../utils/getScrollDistance.js";
91
93
  import "../../utils/getWordPositionInPage.js";
92
94
  import "../../utils/smoothScrollTo.js";
93
95
  import "../layout/toolbar/FileUploadTool.js";
@@ -136,5 +138,5 @@ import "../../utils/hooks/useLoadWorker.js";
136
138
  import "../icons/LightPdfIcon.js";
137
139
  import "../icons/DarkPdfIcon.js";
138
140
  export {
139
- Co as TextLayer
141
+ Eo as TextLayer
140
142
  };
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { o as Fr } from "../../ToolbarLayout.module-89451ab3.js";
2
+ import { o as Hr } from "../../ToolbarLayout.module-185b677e.js";
3
3
  import "../../clsx-0c6e471a.js";
4
4
  import "../../contexts/LocalizationContext.js";
5
5
  import "react";
@@ -31,6 +31,7 @@ import "../../utils/getZoomLevel.js";
31
31
  import "../../contexts/LayoutContainerContext.js";
32
32
  import "../../contexts/ViewModeContext.js";
33
33
  import "../../contexts/GlobalCurrentPage.js";
34
+ import "../../contexts/EventCallbackContext.js";
34
35
  import "../../utils/hooks/useDebounce.js";
35
36
  import "../../contexts/VirtualScrollContext.js";
36
37
  import "../../contexts/VirtualGridContext.js";
@@ -53,6 +54,8 @@ import "../../contexts/DownloadContext.js";
53
54
  import "../../contexts/SmoothScrollContext.js";
54
55
  import "../../contexts/ElementPageContext.js";
55
56
  import "../../utils/const.js";
57
+ import "../../utils/getScrollDistance.js";
58
+ import "../../utils/getElementPositionInPage.js";
56
59
  import "../../utils/Queue.js";
57
60
  import "../../utils/renderPage.js";
58
61
  import "../../contexts/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 "./PasswordModal.js";
104
- import "../../utils/getScrollDistance.js";
105
107
  import "../../utils/getWordPositionInPage.js";
106
108
  import "../../utils/smoothScrollTo.js";
107
109
  import "../layout/toolbar/FileUploadTool.js";
@@ -136,5 +138,5 @@ import "../icons/ZoomOutIcon.js";
136
138
  import "../icons/SearchIcon.js";
137
139
  import "../icons/ClearIcon.js";
138
140
  export {
139
- Fr as default
141
+ Hr as default
140
142
  };
@@ -21,6 +21,7 @@ import "./LayoutContainerContext.js";
21
21
  import "./ViewModeContext.js";
22
22
  import "./RotationContext.js";
23
23
  import "./GlobalCurrentPage.js";
24
+ import "./EventCallbackContext.js";
24
25
  import "../utils/hooks/useDebounce.js";
25
26
  const g = x({
26
27
  widths: [],
@@ -29,31 +30,31 @@ const g = x({
29
30
  },
30
31
  setHeights: () => {
31
32
  }
32
- }), Q = () => {
33
+ }), T = () => {
33
34
  const e = v(g), { widths: r, heights: o } = e;
34
35
  if (r && o) {
35
- const n = r.every((t) => typeof t == "number"), i = o.every((t) => typeof t == "number");
36
- (!n || !i) && C.warn("Please use this hooks inside children component of RPProvider");
36
+ const m = r.every((t) => typeof t == "number"), i = o.every((t) => typeof t == "number");
37
+ (!m || !i) && C.warn("Please use this hooks inside children component of RPProvider");
37
38
  }
38
39
  return e;
39
- }, T = ({ children: e }) => {
40
- const [r, o] = u([]), [n, i] = u([]), { pages: t } = l(), { currentZoom: m } = y(), { pageRotate: p } = D();
40
+ }, U = ({ children: e }) => {
41
+ const [r, o] = u([]), [m, i] = u([]), { pages: t } = l(), { currentZoom: n } = y(), { pageRotate: p } = D();
41
42
  return w(() => {
42
43
  if (!t)
43
44
  return;
44
45
  const h = [], c = [];
45
46
  for (const s of Array.from(t.values())) {
46
47
  const d = p[s.page.pageNumber], a = s.page.getViewport({
47
- scale: m,
48
+ scale: n,
48
49
  rotation: d,
49
50
  dontFlip: !0
50
51
  });
51
52
  h.push(a.width + f), c.push(a.height + f);
52
53
  }
53
54
  o((s) => [...h]), i((s) => [...c]);
54
- }, [m, p, t]), /* @__PURE__ */ P(g.Provider, { value: { widths: r, heights: n, setWidths: o, setHeights: i }, children: e });
55
+ }, [n, p, t]), /* @__PURE__ */ P(g.Provider, { value: { widths: r, heights: m, setWidths: o, setHeights: i }, children: e });
55
56
  };
56
57
  export {
57
- T as DimensionPagesProvider,
58
- Q as useDimensionPagesContext
58
+ U as DimensionPagesProvider,
59
+ T as useDimensionPagesContext
59
60
  };
@@ -1,11 +1,17 @@
1
- import { jsx as w } from "react/jsx-runtime";
2
- import { createContext as L, useState as P, useCallback as p, useContext as h, useRef as g, useMemo as A } from "react";
3
- import { LicenseType as R } from "../utils/types.js";
4
- import { useDimensionPagesContext as y } from "./DimensionPagesContext.js";
5
- import { usePagesRotateContext as S } from "./PagesRotateContext.js";
6
- import { useLicenseContext as T } from "./LicenseContext.js";
7
- import { useZoomContext as _ } from "./ZoomContext.js";
8
- import { ORGANIZATION_ALLOWED_FEATURES_MESSAGE as u } from "../utils/const.js";
1
+ import { jsx as z } from "react/jsx-runtime";
2
+ import { createContext as H, useState as N, useCallback as d, useContext as U, useRef as W, useMemo as q } from "react";
3
+ import { ScrollMode as g, LicenseType as B } from "../utils/types.js";
4
+ import { useDimensionPagesContext as J } from "./DimensionPagesContext.js";
5
+ import { usePagesRotateContext as K } from "./PagesRotateContext.js";
6
+ import { useLicenseContext as Q } from "./LicenseContext.js";
7
+ import { useZoomContext as X } from "./ZoomContext.js";
8
+ import { ORGANIZATION_ALLOWED_FEATURES_MESSAGE as x } from "../utils/const.js";
9
+ import { getScrollDistance as w } from "../utils/getScrollDistance.js";
10
+ import { useLayoutContainer as Y } from "./LayoutContainerContext.js";
11
+ import { useScrollModeContext as $ } from "./ScrollModeContext.js";
12
+ import { getElementPagePosition as ee } from "../utils/getElementPositionInPage.js";
13
+ import { useViewModeContext as te } from "./ViewModeContext.js";
14
+ import { useVirtualScrollContext as oe } from "./VirtualScrollContext.js";
9
15
  import "../th_TH-d627cd51.js";
10
16
  import "../utils/appConsole.js";
11
17
  import "./RPDocumentContext.js";
@@ -20,77 +26,114 @@ import "../utils/formatFileSize.js";
20
26
  import "../utils/constants.js";
21
27
  import "./RotationContext.js";
22
28
  import "./InitialStateContext.js";
29
+ import "./EventCallbackContext.js";
23
30
  import "../utils/hooks/useLicense.js";
24
31
  import "../utils/getZoomLevel.js";
25
- import "./LayoutContainerContext.js";
26
- import "./ViewModeContext.js";
27
32
  import "./GlobalCurrentPage.js";
28
33
  import "../utils/hooks/useDebounce.js";
29
- const f = L(void 0), ie = ({ children: m }) => {
30
- const [s, r] = P({}), { widths: t, heights: c } = y(), { pageRotate: l } = S(), { currentZoom: a } = _(), d = p(
31
- (e, n) => {
32
- r((o) => {
33
- const i = { width: t[e], height: c[e] };
34
+ const S = H(void 0), Ve = ({ children: l }) => {
35
+ const [s, m] = N({}), { widths: t, heights: r } = J(), { pagesRef: c } = Y(), { scrollMode: C } = $(), { pageRotate: u } = K(), { currentZoom: a } = X(), { columnCount: R } = te(), { pageScrollElementRef: I, virtualScrollableElementRef: T } = oe(), M = d(
36
+ (e, i, o = { behavior: "smooth" }) => {
37
+ var v;
38
+ const n = T || I;
39
+ if (!c || !n)
40
+ return;
41
+ const L = (v = s[e]) == null ? void 0 : v[i];
42
+ if (!L)
43
+ return;
44
+ let p = 0, P = 0;
45
+ if (C === g.VERTICAL_SCROLLING) {
46
+ const f = e - 1, E = R, j = f % E, k = Math.floor(f / E);
47
+ p = w(r, k), P = w(t, j);
48
+ }
49
+ C === g.HORIZONTAL_SCROLLING && (P = t.slice(0, e - 1).reduce((f, E) => f + E, 0));
50
+ const _ = {
51
+ height: r[e - 1],
52
+ width: t[e - 1]
53
+ }, D = u[e], { left: G, top: Z } = ee(
54
+ _,
55
+ c,
56
+ L,
57
+ D,
58
+ a
59
+ ), V = P + G, b = p + Z, F = {
60
+ left: Math.max(V, 0),
61
+ top: Math.max(b, 0)
62
+ };
63
+ n.scrollTo({
64
+ ...F,
65
+ behavior: o.behavior
66
+ });
67
+ },
68
+ [s, r, t, c, u, a, C]
69
+ ), A = d(
70
+ (e, i) => {
71
+ m((o) => {
72
+ const n = { width: t[e], height: r[e] };
34
73
  return {
35
74
  ...o,
36
- [e]: n(
75
+ [e]: i(
37
76
  o[e],
38
- i,
39
- l[e],
77
+ n,
78
+ u[e],
40
79
  a * 100
41
80
  )
42
81
  };
43
82
  });
44
83
  },
45
- [t, c, a, l]
46
- ), x = p((e) => {
47
- r((n) => {
48
- const o = { ...n };
84
+ [t, r, a, u]
85
+ ), O = d((e) => {
86
+ m((i) => {
87
+ const o = { ...i };
49
88
  return delete o[e], o;
50
89
  });
51
- }, []), C = p((e, n) => {
52
- r((o) => {
53
- const i = { ...o };
54
- return i[e] = i[e].filter((D, v) => v !== n), i;
90
+ }, []), y = d((e, i) => {
91
+ m((o) => {
92
+ const n = { ...o };
93
+ return n[e] = n[e].filter((L, p) => p !== i), n;
55
94
  });
56
95
  }, []);
57
- return /* @__PURE__ */ w(
58
- f.Provider,
96
+ return /* @__PURE__ */ z(
97
+ S.Provider,
59
98
  {
60
- value: { updateElement: d, clearElements: x, removeElement: C, elementList: s },
61
- children: m
99
+ value: { updateElement: A, clearElements: O, removeElement: y, elementList: s, scrollToElement: M },
100
+ children: l
62
101
  }
63
102
  );
64
- }, E = () => {
65
- }, me = () => {
66
- const m = h(f), { type: s, validating: r } = T(), t = g(0), c = A(() => {
67
- if (r !== !1)
103
+ }, h = () => {
104
+ }, be = () => {
105
+ const l = U(S), { type: s, validating: m } = Q(), t = W(0), r = q(() => {
106
+ if (m !== !1)
68
107
  return {
69
- updateElement: E,
70
- clearElements: E,
71
- removeElement: E,
72
- elementList: {}
108
+ updateElement: h,
109
+ clearElements: h,
110
+ removeElement: h,
111
+ elementList: {},
112
+ scrollToElement: h
73
113
  };
74
- if (!(s !== R.Developer))
114
+ if (!(s !== B.Developer))
75
115
  return {
76
116
  updateElement: () => {
77
- t.current === 0 && (console.error(u), t.current++);
117
+ t.current === 0 && (console.error(x), t.current++);
78
118
  },
79
119
  clearElements: () => {
80
- t.current === 0 && (console.error(u), t.current++);
120
+ t.current === 0 && (console.error(x), t.current++);
81
121
  },
82
122
  removeElement: () => {
83
- t.current === 0 && (console.error(u), t.current++);
123
+ t.current === 0 && (console.error(x), t.current++);
84
124
  },
85
- elementList: {}
125
+ elementList: {},
126
+ scrollToElement: () => {
127
+ t.current === 0 && (console.error(x), t.current++);
128
+ }
86
129
  };
87
- }, [s, r]);
88
- if (!m)
130
+ }, [s, m]);
131
+ if (!l)
89
132
  throw new Error("useElementPageContext must be used within a ElementPageProvider");
90
- return c || m;
133
+ return r || l;
91
134
  };
92
135
  export {
93
- f as ElementPageContext,
94
- ie as ElementPageProvider,
95
- me as useElementPageContext
136
+ S as ElementPageContext,
137
+ Ve as ElementPageProvider,
138
+ be as useElementPageContext
96
139
  };
@@ -0,0 +1,30 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { createContext as l, useContext as c } from "react";
3
+ const t = l({
4
+ onPageChange: () => {
5
+ },
6
+ onRotate: () => {
7
+ },
8
+ onScroll: () => {
9
+ }
10
+ }), v = () => c(t), x = ({
11
+ children: e,
12
+ onPageChange: o,
13
+ onRotate: n,
14
+ onScroll: r
15
+ }) => /* @__PURE__ */ a(
16
+ t.Provider,
17
+ {
18
+ value: {
19
+ onPageChange: o,
20
+ onRotate: n,
21
+ onScroll: r
22
+ },
23
+ children: e
24
+ }
25
+ );
26
+ export {
27
+ t as EventCallbackContext,
28
+ x as EventCallbackProvider,
29
+ v as useEventCallbackContext
30
+ };
@@ -1,16 +1,19 @@
1
- import { jsx as a } from "react/jsx-runtime";
2
- import { createContext as u, useContext as s, useState as c } from "react";
3
- import { useInitialStateContext as i } from "./InitialStateContext.js";
4
- const e = u({
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { createContext as s, useContext as c, useState as i, useEffect as l } from "react";
3
+ import { useInitialStateContext as C } from "./InitialStateContext.js";
4
+ import { useEventCallbackContext as P } from "./EventCallbackContext.js";
5
+ const n = s({
5
6
  currentPage: 1,
6
7
  setCurrentPage: () => {
7
8
  }
8
- }), C = () => s(e), x = ({ children: t }) => {
9
- const { initialPage: r = 1 } = i(), [o, n] = c(r);
10
- return /* @__PURE__ */ a(e.Provider, { value: { currentPage: o, setCurrentPage: n }, children: t });
9
+ }), p = () => c(n), b = ({ children: r }) => {
10
+ const { initialPage: o = 1 } = C(), [t, a] = i(o), { onPageChange: e } = P();
11
+ return l(() => {
12
+ e && e(t);
13
+ }, [t, e]), /* @__PURE__ */ u(n.Provider, { value: { currentPage: t, setCurrentPage: a }, children: r });
11
14
  };
12
15
  export {
13
- e as GlobalCurrentPage,
14
- x as GlobalCurrentPageProvider,
15
- C as useGlobalCurrentPage
16
+ n as GlobalCurrentPage,
17
+ b as GlobalCurrentPageProvider,
18
+ p as useGlobalCurrentPage
16
19
  };
@@ -1,7 +1,8 @@
1
- import { jsx as p } from "react/jsx-runtime";
2
- import { createContext as g, useContext as u, useState as R, useEffect as f, useMemo as P } from "react";
3
- import { useDocumentContext as c } from "./RPDocumentContext.js";
4
- import { useRotationContext as l } from "./RotationContext.js";
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { createContext as R, useContext as c, useState as f, useEffect as l, useMemo as P } from "react";
3
+ import { useDocumentContext as x } from "./RPDocumentContext.js";
4
+ import { useRotationContext as C } from "./RotationContext.js";
5
+ import { useEventCallbackContext as d } from "./EventCallbackContext.js";
5
6
  import "../utils/hooks/useLoadPdf.js";
6
7
  import "pdfjs-dist";
7
8
  import "../utils/types.js";
@@ -14,24 +15,29 @@ import "../utils/hooks/usePdfProperties.js";
14
15
  import "../utils/convertPdfDate.js";
15
16
  import "../utils/formatFileSize.js";
16
17
  import "./InitialStateContext.js";
17
- const s = g({
18
+ const p = R({
18
19
  singlePageRotate: {},
19
20
  setSinglePageRotate: () => {
20
21
  },
21
22
  pageRotate: {}
22
- }), w = () => {
23
- const { singlePageRotate: a, setSinglePageRotate: t, pageRotate: r } = u(s);
23
+ }), G = () => {
24
+ const { singlePageRotate: a, setSinglePageRotate: t, pageRotate: r } = c(p);
24
25
  return { singlePageRotate: a, setSinglePageRotate: t, pageRotate: r };
25
- }, z = ({ children: a }) => {
26
- const [t, r] = R({}), { rotate: i } = l(), { pages: e } = c();
27
- f(() => {
26
+ }, H = ({ children: a }) => {
27
+ const [t, r] = f({}), { rotate: n } = C(), { pages: e } = x(), { onRotate: i } = d();
28
+ l(() => {
28
29
  e && r({});
29
30
  }, [e]);
30
- const m = P(() => e ? Array.from(e.values()).reduce((n, o) => (n[o.page.pageNumber] = t[o.page.pageNumber] ? (i + t[o.page.pageNumber] + o.defaultRotation) % 360 : (i + o.defaultRotation) % 360, n), {}) : {}, [i, e, t]);
31
- return /* @__PURE__ */ p(s.Provider, { value: { singlePageRotate: t, setSinglePageRotate: r, pageRotate: m }, children: a });
31
+ const g = P(() => {
32
+ if (!e)
33
+ return {};
34
+ const s = Array.from(e.values()).reduce((m, o) => (m[o.page.pageNumber] = t[o.page.pageNumber] ? (n + t[o.page.pageNumber] + o.defaultRotation) % 360 : (n + o.defaultRotation) % 360, m), {});
35
+ return i && i(s), s;
36
+ }, [n, e, t, i]);
37
+ return /* @__PURE__ */ u(p.Provider, { value: { singlePageRotate: t, setSinglePageRotate: r, pageRotate: g }, children: a });
32
38
  };
33
39
  export {
34
- s as PagesRotateContext,
35
- z as PagesRotateProvider,
36
- w as usePagesRotateContext
40
+ p as PagesRotateContext,
41
+ H as PagesRotateProvider,
42
+ G as usePagesRotateContext
37
43
  };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { t as Eo, P as Fo, u as Go } from "../ToolbarLayout.module-89451ab3.js";
3
+ import { t as Go, P as Ho, u as Io } from "../ToolbarLayout.module-185b677e.js";
4
4
  import "./RPDocumentContext.js";
5
5
  import "../utils/appConsole.js";
6
6
  import "./GlobalCurrentPage.js";
@@ -31,6 +31,7 @@ import "../utils/getZoomLevel.js";
31
31
  import "./LayoutContainerContext.js";
32
32
  import "./ViewModeContext.js";
33
33
  import "../utils/hooks/useDebounce.js";
34
+ import "./EventCallbackContext.js";
34
35
  import "./VirtualScrollContext.js";
35
36
  import "./VirtualGridContext.js";
36
37
  import "./SelectionModeContext.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
- Eo as PaginationContext,
140
- Fo as PaginationProvider,
141
- Go as usePaginationContext
141
+ Go as PaginationContext,
142
+ Ho as PaginationProvider,
143
+ Io as usePaginationContext
142
144
  };