@react-pdf-kit/viewer 2.4.0-beta.6 → 2.5.0-beta.0

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 (51) hide show
  1. package/dist/PaginationContext-ec777f80.js +223 -0
  2. package/dist/components/RPController.js +47 -46
  3. package/dist/components/RPPages.js +1 -1
  4. package/dist/components/RPProvider.js +1 -1
  5. package/dist/components/layout/RPDefaultLayout.js +1 -1
  6. package/dist/components/layout/RPLayout.js +1 -1
  7. package/dist/components/layout/sidebar/RPSidebar.js +1 -1
  8. package/dist/components/layout/sidebar/Thumbnail.js +1 -1
  9. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  10. package/dist/components/layout/toolbar/MostPageTool.js +1 -1
  11. package/dist/components/layout/toolbar/OtherTool.js +1 -1
  12. package/dist/components/layout/toolbar/Paginate.js +1 -1
  13. package/dist/components/layout/toolbar/RPMoreOptions.js +1 -1
  14. package/dist/components/layout/toolbar/RPToolbar.js +1 -1
  15. package/dist/components/layout/toolbar/RPToolbarEnd.js +1 -1
  16. package/dist/components/layout/toolbar/SearchResultNavigator.js +1 -1
  17. package/dist/components/layout/toolbar/SearchTool.js +1 -1
  18. package/dist/components/layout/toolbar/ToolbarCustom.js +1 -1
  19. package/dist/components/layout/toolbar/ToolbarDefault.js +1 -1
  20. package/dist/components/layout/toolbar/ToolbarLayout.js +1 -1
  21. package/dist/components/layout/toolbar/tools/DualPageWithCoverTool.js +1 -1
  22. package/dist/components/layout/toolbar/tools/FirstPageTool.js +1 -1
  23. package/dist/components/layout/toolbar/tools/InputPageTool.js +1 -1
  24. package/dist/components/layout/toolbar/tools/LastPageTool.js +1 -1
  25. package/dist/components/layout/toolbar/tools/NextPageTool.js +1 -1
  26. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +1 -1
  27. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +1 -1
  28. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +1 -1
  29. package/dist/components/page/AnnotationLayer.js +1 -1
  30. package/dist/components/page/CanvasLayer.js +1 -1
  31. package/dist/components/page/CustomElement.js +3 -2
  32. package/dist/components/page/DualPage.js +1 -1
  33. package/dist/components/page/DualPageWithCover.js +1 -1
  34. package/dist/components/page/RPPage.js +1 -1
  35. package/dist/components/page/SinglePage.js +1 -1
  36. package/dist/components/page/TextLayer.js +1 -1
  37. package/dist/contexts/ElementPageContext.js +68 -67
  38. package/dist/contexts/PaginationContext.js +1 -1
  39. package/dist/contexts/RenderQueueProvider.js +1 -1
  40. package/dist/contexts/SearchContext.js +1 -1
  41. package/dist/contexts/SmoothScrollContext.js +12 -8
  42. package/dist/main.js +1 -1
  43. package/dist/types/contexts/SmoothScrollContext.d.ts +3 -1
  44. package/dist/types/utils/types.d.ts +1 -0
  45. package/dist/utils/hooks/useLicense.js +1 -1
  46. package/dist/utils/hooks/usePaginate.js +1 -1
  47. package/dist/utils/hooks/usePresentPage.js +1 -1
  48. package/dist/utils/hooks/useScrollToPage.js +1 -1
  49. package/dist/utils/hooks/useSearch.js +51 -50
  50. package/package.json +1 -1
  51. package/dist/PaginationContext-443adec1.js +0 -222
@@ -3,7 +3,7 @@ import { MenuItem as a } from "../../MenuItem.js";
3
3
  import l from "../../../../ui/RPTooltip.js";
4
4
  import { c as C } from "../../../../../MostPageTool.module-13578ad6.js";
5
5
  import { G } from "../../../../../index-11f3cd64.js";
6
- import { u as L } from "../../../../../PaginationContext-443adec1.js";
6
+ import { u as L } from "../../../../../PaginationContext-ec777f80.js";
7
7
  import { useMemo as d, useCallback as c } from "react";
8
8
  import { MenuSeparator as N } from "../../MenuSeparator.js";
9
9
  import { GoToDownIcon as s } from "../../../../icons/GoToDownIcon.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx as P } from "react/jsx-runtime";
2
2
  import { useRef as b, useState as I, useMemo as S, useEffect as h, useCallback as R } from "react";
3
- import { u as j } from "../../PaginationContext-443adec1.js";
3
+ import { u as j } from "../../PaginationContext-ec777f80.js";
4
4
  import { usePrintContext as O } from "../../contexts/PrintContext.js";
5
5
  import { AnnotationLayer as $ } from "pdfjs-dist";
6
6
  import { SimpleLinkService as A } from "../../utils/link_service.js";
@@ -27,7 +27,7 @@ import "../../contexts/EventCallbackContext.js";
27
27
  import "../../utils/hooks/useDebounce.js";
28
28
  import "../../utils/Queue.js";
29
29
  import "../../utils/renderPage.js";
30
- import "../../PaginationContext-443adec1.js";
30
+ import "../../PaginationContext-ec777f80.js";
31
31
  import "../../contexts/ScrollModeContext.js";
32
32
  import "../../contexts/VirtualScrollContext.js";
33
33
  import "../../contexts/VirtualGridContext.js";
@@ -32,6 +32,7 @@ import "../../utils/getScrollDistance.js";
32
32
  import "../../contexts/ScrollModeContext.js";
33
33
  import "../../utils/getElementPositionInPage.js";
34
34
  import "../../contexts/VirtualScrollContext.js";
35
+ import "../../contexts/SmoothScrollContext.js";
35
36
  const a = ({ child: t }) => {
36
37
  const r = u(null);
37
38
  return c(() => {
@@ -41,7 +42,7 @@ const a = ({ child: t }) => {
41
42
  (o = r.current) == null || o.removeChild(t);
42
43
  };
43
44
  }, [t]), /* @__PURE__ */ m("div", { ref: r });
44
- }, X = ({ pageNumber: t }) => {
45
+ }, Y = ({ pageNumber: t }) => {
45
46
  const { elementList: r } = f(), i = u(null), o = l(() => {
46
47
  var e;
47
48
  return (e = r[t]) == null ? void 0 : e.map((p, n) => p instanceof HTMLElement ? /* @__PURE__ */ m(a, { child: p }, n) : /* @__PURE__ */ m("div", { children: p }, n));
@@ -49,5 +50,5 @@ const a = ({ child: t }) => {
49
50
  return o ? /* @__PURE__ */ m(s, { children: /* @__PURE__ */ m("div", { ref: i, "data-rp": `page-${t}-customElement`, children: o.map((e) => e) }) }) : null;
50
51
  };
51
52
  export {
52
- X as CustomElement
53
+ Y as CustomElement
53
54
  };
@@ -1,6 +1,6 @@
1
1
  import { jsx as u } from "react/jsx-runtime";
2
2
  import { memo as h, useMemo as e } from "react";
3
- import { u as l } from "../../PaginationContext-443adec1.js";
3
+ import { u as l } from "../../PaginationContext-ec777f80.js";
4
4
  import { RPPage as f } from "./RPPage.js";
5
5
  import "../../utils/types.js";
6
6
  import "../../de_DE-8145915f.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx as h } from "react/jsx-runtime";
2
2
  import { memo as b, useMemo as f } from "react";
3
- import { u as y } from "../../PaginationContext-443adec1.js";
3
+ import { u as y } from "../../PaginationContext-ec777f80.js";
4
4
  import { RPPage as I } from "./RPPage.js";
5
5
  import "../../utils/types.js";
6
6
  import "../../de_DE-8145915f.js";
@@ -26,7 +26,7 @@ import "../../utils/formatFileSize.js";
26
26
  import "../../contexts/RenderQueueProvider.js";
27
27
  import "../../utils/Queue.js";
28
28
  import "../../utils/renderPage.js";
29
- import "../../PaginationContext-443adec1.js";
29
+ import "../../PaginationContext-ec777f80.js";
30
30
  import "../../contexts/ScrollModeContext.js";
31
31
  import "../../contexts/InitialStateContext.js";
32
32
  import "../../contexts/GlobalCurrentPage.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { useMemo as m } from "react";
3
- import { u as n } from "../../PaginationContext-443adec1.js";
3
+ import { u as n } from "../../PaginationContext-ec777f80.js";
4
4
  import { RPPage as s } from "./RPPage.js";
5
5
  import "../../utils/types.js";
6
6
  import "../../de_DE-8145915f.js";
@@ -29,7 +29,7 @@ import "../../contexts/RotationContext.js";
29
29
  import "../../contexts/GlobalCurrentPage.js";
30
30
  import "../../contexts/EventCallbackContext.js";
31
31
  import "../../utils/hooks/useDebounce.js";
32
- import "../../PaginationContext-443adec1.js";
32
+ import "../../PaginationContext-ec777f80.js";
33
33
  import "../../contexts/VirtualGridContext.js";
34
34
  import "../../utils/smoothScrollTo.js";
35
35
  import "../../contexts/DimensionPagesContext.js";
@@ -1,17 +1,18 @@
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";
1
+ import { jsx as H } from "react/jsx-runtime";
2
+ import { createContext as N, useState as U, useCallback as d, useContext as W, useRef as q, useMemo as J } from "react";
3
+ import { ScrollMode as w, LicenseType as K } from "../utils/types.js";
4
+ import { useDimensionPagesContext as Q } from "./DimensionPagesContext.js";
5
+ import { usePagesRotateContext as X } from "./PagesRotateContext.js";
6
+ import { useLicenseContext as Y } from "./LicenseContext.js";
7
+ import { useZoomContext as $ } from "./ZoomContext.js";
8
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
+ import { getScrollDistance as R } from "../utils/getScrollDistance.js";
10
+ import { useLayoutContainer as ee } from "./LayoutContainerContext.js";
11
+ import { useScrollModeContext as te } from "./ScrollModeContext.js";
12
+ import { getElementPagePosition as oe } from "../utils/getElementPositionInPage.js";
13
+ import { useViewModeContext as ne } from "./ViewModeContext.js";
14
+ import { useVirtualScrollContext as re } from "./VirtualScrollContext.js";
15
+ import { useSmoothScrollContext as se } from "./SmoothScrollContext.js";
15
16
  import "../de_DE-8145915f.js";
16
17
  import "../utils/appConsole.js";
17
18
  import "./RPDocumentContext.js";
@@ -31,79 +32,79 @@ import "../utils/hooks/useLicense.js";
31
32
  import "../utils/getZoomLevel.js";
32
33
  import "./GlobalCurrentPage.js";
33
34
  import "../utils/hooks/useDebounce.js";
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)
35
+ const I = N(void 0), ke = ({ children: m }) => {
36
+ const [i, l] = U({}), { widths: t, heights: n } = Q(), { pagesRef: c } = ee(), { scrollMode: C } = te(), { pageRotate: u } = X(), { currentZoom: a } = $(), { columnCount: T } = ne(), { pageScrollElementRef: M, virtualScrollableElementRef: A } = re(), { scrollBehavior: v } = se(), O = d(
37
+ (e, r, o) => {
38
+ var g;
39
+ const s = o ?? { behavior: v }, L = A || M;
40
+ if (!c || !L)
40
41
  return;
41
- const L = (v = s[e]) == null ? void 0 : v[i];
42
- if (!L)
42
+ const p = (g = i[e]) == null ? void 0 : g[r];
43
+ if (!p)
43
44
  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);
45
+ let S = 0, P = 0;
46
+ if (C === w.VERTICAL_SCROLLING) {
47
+ const f = e - 1, E = T, z = f % E, B = Math.floor(f / E);
48
+ S = R(n, B), P = R(t, z);
48
49
  }
49
- C === g.HORIZONTAL_SCROLLING && (P = t.slice(0, e - 1).reduce((f, E) => f + E, 0));
50
- const _ = {
51
- height: r[e - 1],
50
+ C === w.HORIZONTAL_SCROLLING && (P = t.slice(0, e - 1).reduce((f, E) => f + E, 0));
51
+ const G = {
52
+ height: n[e - 1],
52
53
  width: t[e - 1]
53
- }, D = u[e], { left: G, top: Z } = ee(
54
- _,
54
+ }, Z = u[e], { left: V, top: b } = oe(
55
+ G,
55
56
  c,
56
- L,
57
- D,
57
+ p,
58
+ Z,
58
59
  a
59
- ), V = P + G, b = p + Z, F = {
60
- left: Math.max(V, 0),
61
- top: Math.max(b, 0)
60
+ ), F = P + V, j = S + b, k = {
61
+ left: Math.max(F, 0),
62
+ top: Math.max(j, 0)
62
63
  };
63
- n.scrollTo({
64
- ...F,
65
- behavior: o.behavior
64
+ L.scrollTo({
65
+ ...k,
66
+ behavior: s.behavior
66
67
  });
67
68
  },
68
- [s, r, t, c, u, a, C]
69
- ), A = d(
70
- (e, i) => {
71
- m((o) => {
72
- const n = { width: t[e - 1], height: r[e - 1] };
69
+ [i, n, t, c, u, a, C, v]
70
+ ), y = d(
71
+ (e, r) => {
72
+ l((o) => {
73
+ const s = { width: t[e - 1], height: n[e - 1] };
73
74
  return {
74
75
  ...o,
75
- [e]: i(
76
+ [e]: r(
76
77
  o[e],
77
- n,
78
+ s,
78
79
  u[e],
79
80
  a * 100
80
81
  )
81
82
  };
82
83
  });
83
84
  },
84
- [t, r, a, u]
85
- ), O = d((e) => {
86
- m((i) => {
87
- const o = { ...i };
85
+ [t, n, a, u]
86
+ ), _ = d((e) => {
87
+ l((r) => {
88
+ const o = { ...r };
88
89
  return delete o[e], o;
89
90
  });
90
- }, []), y = d((e, i) => {
91
- m((o) => {
92
- const n = { ...o };
93
- return n[e] = n[e].filter((L, p) => p !== i), n;
91
+ }, []), D = d((e, r) => {
92
+ l((o) => {
93
+ const s = { ...o };
94
+ return s[e] = s[e].filter((L, p) => p !== r), s;
94
95
  });
95
96
  }, []);
96
- return /* @__PURE__ */ z(
97
- S.Provider,
97
+ return /* @__PURE__ */ H(
98
+ I.Provider,
98
99
  {
99
- value: { updateElement: A, clearElements: O, removeElement: y, elementList: s, scrollToElement: M },
100
- children: l
100
+ value: { updateElement: y, clearElements: _, removeElement: D, elementList: i, scrollToElement: O },
101
+ children: m
101
102
  }
102
103
  );
103
104
  }, h = () => {
104
- }, be = () => {
105
- const l = U(S), { type: s, validating: m } = Q(), t = W(0), r = q(() => {
106
- if (m !== !1)
105
+ }, ze = () => {
106
+ const m = W(I), { type: i, validating: l } = Y(), t = q(0), n = J(() => {
107
+ if (l !== !1)
107
108
  return {
108
109
  updateElement: h,
109
110
  clearElements: h,
@@ -111,7 +112,7 @@ const S = H(void 0), Ve = ({ children: l }) => {
111
112
  elementList: {},
112
113
  scrollToElement: h
113
114
  };
114
- if (!(s !== B.Developer))
115
+ if (!(i !== K.Developer))
115
116
  return {
116
117
  updateElement: () => {
117
118
  t.current === 0 && (console.error(x), t.current++);
@@ -127,13 +128,13 @@ const S = H(void 0), Ve = ({ children: l }) => {
127
128
  t.current === 0 && (console.error(x), t.current++);
128
129
  }
129
130
  };
130
- }, [s, m]);
131
- if (!l)
131
+ }, [i, l]);
132
+ if (!m)
132
133
  throw new Error("useElementPageContext must be used within a ElementPageProvider");
133
- return r || l;
134
+ return n || m;
134
135
  };
135
136
  export {
136
- S as ElementPageContext,
137
- Ve as ElementPageProvider,
138
- be as useElementPageContext
137
+ I as ElementPageContext,
138
+ ke as ElementPageProvider,
139
+ ze as useElementPageContext
139
140
  };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { c as J, P as K, u as L } from "../PaginationContext-443adec1.js";
3
+ import { c as J, P as K, u as L } from "../PaginationContext-ec777f80.js";
4
4
  import "./RPDocumentContext.js";
5
5
  import "../utils/appConsole.js";
6
6
  import "./GlobalCurrentPage.js";
@@ -2,7 +2,7 @@ import { jsx as f } from "react/jsx-runtime";
2
2
  import { createContext as l, useRef as g, useState as P, useCallback as s, useMemo as R, useEffect as a, useContext as h } from "react";
3
3
  import { Queue as v } from "../utils/Queue.js";
4
4
  import { renderPage as x } from "../utils/renderPage.js";
5
- import { u as y } from "../PaginationContext-443adec1.js";
5
+ import { u as y } from "../PaginationContext-ec777f80.js";
6
6
  import "pdfjs-dist";
7
7
  import "../utils/types.js";
8
8
  import "../de_DE-8145915f.js";
@@ -28,7 +28,7 @@ import "./RotationContext.js";
28
28
  import "./GlobalCurrentPage.js";
29
29
  import "./EventCallbackContext.js";
30
30
  import "../utils/hooks/useDebounce.js";
31
- import "../PaginationContext-443adec1.js";
31
+ import "../PaginationContext-ec777f80.js";
32
32
  import "./VirtualGridContext.js";
33
33
  import "../utils/smoothScrollTo.js";
34
34
  import "./DimensionPagesContext.js";
@@ -1,12 +1,16 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { createContext as c, useRef as l, useContext as n } from "react";
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { createContext as c, useRef as n, useContext as s } from "react";
3
3
  const o = c({
4
- targetScrollPage: { current: void 0 }
5
- }), m = ({ children: t }) => {
6
- const r = l();
7
- return /* @__PURE__ */ e(o.Provider, { value: { targetScrollPage: r }, children: t });
8
- }, u = () => n(o);
4
+ targetScrollPage: { current: void 0 },
5
+ scrollBehavior: "smooth"
6
+ }), a = ({
7
+ children: t,
8
+ scrollBehavior: r = "smooth"
9
+ }) => {
10
+ const e = n();
11
+ return /* @__PURE__ */ l(o.Provider, { value: { targetScrollPage: e, scrollBehavior: r }, children: t });
12
+ }, u = () => s(o);
9
13
  export {
10
- m as SmoothScrollProvider,
14
+ a as SmoothScrollProvider,
11
15
  u as useSmoothScrollContext
12
16
  };
package/dist/main.js CHANGED
@@ -7,7 +7,7 @@ import { RPTheme as Bt } from "./components/RPTheme.js";
7
7
  import { default as Ht } from "./components/ui/RPTooltip.js";
8
8
  import { UIButton as bt } from "./components/ui/Button.js";
9
9
  import { useDarkModeContext as zt } from "./contexts/DarkModeContext.js";
10
- import { u as Ut } from "./PaginationContext-443adec1.js";
10
+ import { u as Ut } from "./PaginationContext-ec777f80.js";
11
11
  import { useDocumentContext as Nt } from "./contexts/RPDocumentContext.js";
12
12
  import { useRotationContext as jt } from "./contexts/RotationContext.js";
13
13
  import { useViewModeContext as At } from "./contexts/ViewModeContext.js";
@@ -1,8 +1,10 @@
1
1
  interface SmoothScrollContextType {
2
2
  targetScrollPage: React.MutableRefObject<number | undefined>;
3
+ scrollBehavior: 'smooth' | 'auto';
3
4
  }
4
- export declare const SmoothScrollProvider: ({ children }: {
5
+ export declare const SmoothScrollProvider: ({ children, scrollBehavior }: {
5
6
  children: React.ReactNode;
7
+ scrollBehavior?: "smooth" | "auto";
6
8
  }) => import("react/jsx-runtime").JSX.Element;
7
9
  export declare const useSmoothScrollContext: () => SmoothScrollContextType;
8
10
  export {};
@@ -513,6 +513,7 @@ export interface RPControllerProps extends PropsWithChildren, DarkModeProviderPr
513
513
  downloadFilename?: string;
514
514
  initialSelectionMode?: SelectionMode;
515
515
  interactiveForm?: boolean;
516
+ scrollBehavior?: 'smooth' | 'auto';
516
517
  }
517
518
  export interface RPConfigProps extends Omit<ConfigContextType, 'workerUrlAdded'>, RPThemeContextType, PropsWithChildren {
518
519
  workerUrl?: string;
@@ -2,7 +2,7 @@ import { useState as E, useCallback as y, useEffect as b } from "react";
2
2
  import { LicenseType as L } from "../types.js";
3
3
  import { appConsole as c } from "../appConsole.js";
4
4
  import "../../de_DE-8145915f.js";
5
- const A = /* @__PURE__ */ new Date("2026-04-21T03:07:28.218Z"), w = `-----BEGIN PUBLIC KEY-----
5
+ const A = /* @__PURE__ */ new Date("2026-04-22T13:39:38.437Z"), w = `-----BEGIN PUBLIC KEY-----
6
6
  MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvIokvErJ0Fctu0jduSAx
7
7
  gr+5Har/VSuZLlOunS28hnlqqA+OF1apHL7RYkjBosS15yvviYdLrVWYHpHnoY4b
8
8
  HLQ9I6YX6FMB9T/VbB4xLdVdKvfi8r49aTScl5EKuSpgpPgz2VSJTfvVGcRuth/Y
@@ -1,6 +1,6 @@
1
1
  import "react";
2
2
  import "../types.js";
3
- import { b as J } from "../../PaginationContext-443adec1.js";
3
+ import { b as J } from "../../PaginationContext-ec777f80.js";
4
4
  import "../../contexts/ViewModeContext.js";
5
5
  import "../../contexts/ScrollModeContext.js";
6
6
  import "./useDebounce.js";
@@ -2,7 +2,7 @@ import { useRef as Y, useState as C, useMemo as D, useEffect as E, useCallback a
2
2
  import { useLayoutContainer as v } from "../../contexts/LayoutContainerContext.js";
3
3
  import { useDimensionPagesContext as A } from "../../contexts/DimensionPagesContext.js";
4
4
  import { getGridDimension as H, getPositionFromPage as _ } from "../calculatePage.js";
5
- import { u as q } from "../../PaginationContext-443adec1.js";
5
+ import { u as q } from "../../PaginationContext-ec777f80.js";
6
6
  import { useDebounce as G } from "./useDebounce.js";
7
7
  import { useSmoothScrollContext as M } from "../../contexts/SmoothScrollContext.js";
8
8
  import { ViewMode as V } from "../types.js";
@@ -1,6 +1,6 @@
1
1
  import "react";
2
2
  import "../../contexts/ScrollModeContext.js";
3
- import { a as H } from "../../PaginationContext-443adec1.js";
3
+ import { a as H } from "../../PaginationContext-ec777f80.js";
4
4
  import "../../contexts/ViewModeContext.js";
5
5
  import "../types.js";
6
6
  import "../../contexts/VirtualScrollContext.js";
@@ -1,17 +1,18 @@
1
- import { useState as C, useRef as b, useMemo as H, useCallback as I, useEffect as z } from "react";
2
- import { ScrollMode as N, ViewMode as rt } from "../types.js";
3
- import { findMatches as nt } from "../highlight.js";
4
- import { useVirtualScrollContext as st } from "../../contexts/VirtualScrollContext.js";
5
- import { useScrollModeContext as ct } from "../../contexts/ScrollModeContext.js";
6
- import { useDocumentContext as it } from "../../contexts/RPDocumentContext.js";
7
- import { useZoomContext as at } from "../../contexts/ZoomContext.js";
8
- import { u as mt } from "../../PaginationContext-443adec1.js";
9
- import { useViewModeContext as pt } from "../../contexts/ViewModeContext.js";
10
- import { useDimensionPagesContext as ut } from "../../contexts/DimensionPagesContext.js";
11
- import { useLayoutContainer as lt } from "../../contexts/LayoutContainerContext.js";
1
+ import { useState as C, useRef as b, useMemo as z, useCallback as S, useEffect as B } from "react";
2
+ import { ScrollMode as N, ViewMode as nt } from "../types.js";
3
+ import { findMatches as st } from "../highlight.js";
4
+ import { useVirtualScrollContext as ct } from "../../contexts/VirtualScrollContext.js";
5
+ import { useScrollModeContext as it } from "../../contexts/ScrollModeContext.js";
6
+ import { useDocumentContext as at } from "../../contexts/RPDocumentContext.js";
7
+ import { useZoomContext as mt } from "../../contexts/ZoomContext.js";
8
+ import { u as lt } from "../../PaginationContext-ec777f80.js";
9
+ import { useViewModeContext as ut } from "../../contexts/ViewModeContext.js";
10
+ import { useDimensionPagesContext as pt } from "../../contexts/DimensionPagesContext.js";
11
+ import { useLayoutContainer as ft } from "../../contexts/LayoutContainerContext.js";
12
12
  import { getScrollDistance as F } from "../getScrollDistance.js";
13
- import { getWordPositionInPage as ft } from "../getWordPositionInPage.js";
14
- import { usePagesRotateContext as gt } from "../../contexts/PagesRotateContext.js";
13
+ import { getWordPositionInPage as gt } from "../getWordPositionInPage.js";
14
+ import { usePagesRotateContext as ht } from "../../contexts/PagesRotateContext.js";
15
+ import { useSmoothScrollContext as dt } from "../../contexts/SmoothScrollContext.js";
15
16
  import "../../de_DE-8145915f.js";
16
17
  import "../charators.js";
17
18
  import "react/jsx-runtime";
@@ -34,58 +35,57 @@ import "../../contexts/EventCallbackContext.js";
34
35
  import "./useDebounce.js";
35
36
  import "../../contexts/VirtualGridContext.js";
36
37
  import "../smoothScrollTo.js";
37
- import "../../contexts/SmoothScrollContext.js";
38
38
  import "../calculatePage.js";
39
- const $t = (O = {}, U = "") => {
40
- const [p, q] = C(U), [B, y] = C(!1), { pdf: _, pages: S } = it(), { widths: f, heights: R } = ut(), w = b(!p), { currentZoom: A } = at(), [s, g] = C([]), { setFocusedPage: D } = mt(), { columnCount: G, viewMode: V } = pt(), { pageRotate: v } = gt(), [c, i] = C(0), { pageScrollElementRef: W, virtualScrollableElementRef: Z } = st(), { scrollMode: h } = ct(), { pagesRef: L } = lt(), J = b({}), m = b(0), K = H(() => c === 0 ? null : s[c - 1], [c, s]), a = H(() => s.length, [s]), u = I(
39
+ const ee = (O = {}, U = "") => {
40
+ const [l, q] = C(U), [J, y] = C(!1), { pdf: _, pages: I } = at(), { widths: f, heights: R } = pt(), w = b(!l), { currentZoom: A } = mt(), [s, g] = C([]), { setFocusedPage: D } = lt(), { columnCount: G, viewMode: V } = ut(), { pageRotate: v } = ht(), [c, i] = C(0), { pageScrollElementRef: W, virtualScrollableElementRef: Z } = ct(), { scrollMode: h } = it(), { pagesRef: L } = ft(), { scrollBehavior: j } = dt(), K = b({}), m = b(0), Q = z(() => c === 0 ? null : s[c - 1], [c, s]), a = z(() => s.length, [s]), u = S(
41
41
  (e) => {
42
42
  if (e === 0)
43
43
  return;
44
44
  const t = s[e - 1];
45
- if (!t || !S)
45
+ if (!t || !I)
46
46
  return;
47
47
  const o = Z || W;
48
48
  if (!o || !L)
49
49
  return;
50
- const r = S.get(t.page);
50
+ const r = I.get(t.page);
51
51
  if (h === N.PAGE_SCROLLING && D(t.page), !r)
52
52
  return;
53
- let n = 0, l = 0;
53
+ let n = 0, p = 0;
54
54
  if (h === N.VERTICAL_SCROLLING) {
55
55
  const d = t.page - 1, M = G;
56
56
  let x, P;
57
- if (V === rt.DUAL_PAGE_WITH_COVER)
57
+ if (V === nt.DUAL_PAGE_WITH_COVER)
58
58
  if (t.page === 1)
59
59
  x = 0, P = 0;
60
60
  else {
61
- const k = t.page - 2;
62
- x = k % 2, P = Math.floor(k / 2) + 1;
61
+ const H = t.page - 2;
62
+ x = H % 2, P = Math.floor(H / 2) + 1;
63
63
  }
64
64
  else
65
65
  x = d % M, P = Math.floor(d / M);
66
- n = F(R, P), l = F(f, x);
66
+ n = F(R, P), p = F(f, x);
67
67
  }
68
- h === N.HORIZONTAL_SCROLLING && (l = f.slice(0, t.page - 1).reduce((d, M) => d + M, 0));
68
+ h === N.HORIZONTAL_SCROLLING && (p = f.slice(0, t.page - 1).reduce((d, M) => d + M, 0));
69
69
  const E = {
70
70
  height: R[t.page - 1],
71
71
  width: f[t.page - 1]
72
- }, T = v[t.page], { leftInPage: Y, topInPage: $ } = ft(
72
+ }, T = v[t.page], { leftInPage: $, topInPage: tt } = gt(
73
73
  E,
74
74
  L,
75
75
  t.rect,
76
76
  A,
77
77
  T
78
- ), tt = l + Y, et = n + $, ot = {
79
- left: Math.max(tt, 0),
80
- top: Math.max(et, 0)
78
+ ), et = p + $, ot = n + tt, rt = {
79
+ left: Math.max(et, 0),
80
+ top: Math.max(ot, 0)
81
81
  };
82
82
  o.scrollTo({
83
- ...ot,
84
- behavior: "smooth"
83
+ ...rt,
84
+ behavior: j
85
85
  });
86
86
  },
87
87
  [
88
- S,
88
+ I,
89
89
  D,
90
90
  f,
91
91
  R,
@@ -97,23 +97,24 @@ const $t = (O = {}, U = "") => {
97
97
  L,
98
98
  s,
99
99
  A,
100
- v
100
+ v,
101
+ j
101
102
  ]
102
103
  );
103
- z(() => {
104
+ B(() => {
104
105
  c && u(c);
105
106
  }, [c]);
106
- const Q = I(() => {
107
+ const X = S(() => {
107
108
  i((e) => {
108
109
  let t;
109
110
  return a ? e + 1 > a ? t = 1 : t = e + 1 : t = 0, m.current = t, t;
110
111
  }), m.current === 1 && u(m.current);
111
- }, [a, u]), X = I(() => {
112
+ }, [a, u]), Y = S(() => {
112
113
  i((e) => {
113
114
  let t;
114
115
  return a ? e - 1 <= 0 ? t = a : t = e - 1 : t = 0, m.current = t, t;
115
116
  }), m.current === 1 && u(m.current);
116
- }, [a, u]), j = I(async (e) => {
117
+ }, [a, u]), k = S(async (e) => {
117
118
  if (!e)
118
119
  return {};
119
120
  const t = e.numPages, o = {};
@@ -125,39 +126,39 @@ const $t = (O = {}, U = "") => {
125
126
  }
126
127
  return o;
127
128
  }, []);
128
- return z(() => {
129
- if (!p) {
129
+ return B(() => {
130
+ if (!l) {
130
131
  w.current = !0, g([]), i(0);
131
132
  return;
132
133
  }
133
- w.current = !1, y(!0), g([]), i(0), j(_).then((e) => {
134
- J.current = e;
134
+ w.current = !1, y(!0), g([]), i(0), k(_).then((e) => {
135
+ K.current = e;
135
136
  const o = Object.keys(e).reduce((r, n) => {
136
- const l = nt(
137
- [p],
137
+ const p = st(
138
+ [l],
138
139
  e[n],
139
140
  Number(n) - 1,
140
141
  O
141
142
  ).map((E, T) => ({ ...E, page: Number(n), pageMatchIdx: T }));
142
- return [...r, ...l];
143
+ return [...r, ...p];
143
144
  }, []);
144
145
  g(o), i(o.length ? 1 : 0);
145
146
  }).catch(() => {
146
147
  g([]), i(0);
147
148
  }).finally(() => y(!1));
148
- }, [p, j, _, O]), {
149
- search: p,
149
+ }, [l, k, _, O]), {
150
+ search: l,
150
151
  setSearch: q,
151
- loading: B,
152
+ loading: J,
152
153
  matches: s,
153
154
  totalMatches: a,
154
155
  currentMatchPosition: c,
155
- currentMatch: K,
156
- nextMatch: Q,
157
- prevMatch: X,
156
+ currentMatch: Q,
157
+ nextMatch: X,
158
+ prevMatch: Y,
158
159
  setCurrentMatchPosition: i
159
160
  };
160
161
  };
161
162
  export {
162
- $t as useSearch
163
+ ee as useSearch
163
164
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-pdf-kit/viewer",
3
- "version": "2.4.0-beta.6",
3
+ "version": "2.5.0-beta.0",
4
4
  "private": false,
5
5
  "description": "A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.",
6
6
  "keywords": [