@react-pdf-kit/viewer 2.4.0 → 2.5.0-beta.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 (51) hide show
  1. package/dist/PaginationContext-87f832f2.js +233 -0
  2. package/dist/components/RPController.js +47 -46
  3. package/dist/components/RPPages.js +71 -64
  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 +11 -11
  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
@@ -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-87f832f2.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-87f832f2.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-87f832f2.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-87f832f2.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-87f832f2.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-87f832f2.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-87f832f2.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-87f832f2.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-24T12:42:41.878Z"), v = `-----BEGIN PUBLIC KEY-----
5
+ const A = /* @__PURE__ */ new Date("2026-04-28T03:16:05.104Z"), w = `-----BEGIN PUBLIC KEY-----
6
6
  MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvIokvErJ0Fctu0jduSAx
7
7
  gr+5Har/VSuZLlOunS28hnlqqA+OF1apHL7RYkjBosS15yvviYdLrVWYHpHnoY4b
8
8
  HLQ9I6YX6FMB9T/VbB4xLdVdKvfi8r49aTScl5EKuSpgpPgz2VSJTfvVGcRuth/Y
@@ -10,7 +10,7 @@ Bm7PPGYdL2l2gvKDxchmmsHFPukGki9L4JOUeIVX0GXAxabENckaEH/iC1NZhX+W
10
10
  vXnpHeHuIIKlZ16LSivXNgo6BH2Z3GFdg4G3cAaXr6qNP8fsacYNqv2SpTW1viFD
11
11
  vzcGRabN25gpJAp9/syeScefWH3OiJY1lmw88oTiJbjIoiq6AkPhfn3G9mF54nvR
12
12
  kwIDAQAB
13
- -----END PUBLIC KEY-----`, f = "Please visit https://app.react-pdf-kit.dev to generate a new license key.", o = {
13
+ -----END PUBLIC KEY-----`, f = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", o = {
14
14
  invalidLicense: `You are currently using without a valid license. ${f}`,
15
15
  mismatchedDomain: `Your license key is not valid for the current domain / IP. ${f}`,
16
16
  expired: `Your license key has expired. ${f}`,
@@ -31,7 +31,7 @@ function I(a) {
31
31
  }
32
32
  async function T(a) {
33
33
  try {
34
- const i = await import("../../index-0b2a9a20.js").then((u) => u.i), e = (i == null ? void 0 : i.default) ?? i, t = e.pki.publicKeyFromPem(v), r = atob(a.data), n = e.util.decode64(a.signature), s = e.md.sha256.create();
34
+ const i = await import("../../index-0b2a9a20.js").then((u) => u.i), e = (i == null ? void 0 : i.default) ?? i, t = e.pki.publicKeyFromPem(w), r = atob(a.data), n = e.util.decode64(a.signature), s = e.md.sha256.create();
35
35
  s.update(r, "utf8");
36
36
  const d = e.pss.create({
37
37
  md: e.md.sha256.create(),
@@ -50,7 +50,7 @@ async function B(a, i = "SHA-256") {
50
50
  let r = !1;
51
51
  try {
52
52
  if ((e = window.crypto) != null && e.subtle) {
53
- const n = S(v), s = await window.crypto.subtle.importKey(
53
+ const n = S(w), s = await window.crypto.subtle.importKey(
54
54
  "spki",
55
55
  n,
56
56
  { name: "RSA-PSS", hash: i },
@@ -96,26 +96,26 @@ const N = (a, i) => {
96
96
  throw c.warn(l.message), new Error(l.message);
97
97
  }
98
98
  c.debug(">>> validatedLicense", r);
99
- const { avu: n, exp: s, dmt: d, dm: u, t: p } = r;
99
+ const { avu: n, exp: s, dmt: d, dm: u, t: g } = r;
100
100
  if (!s)
101
101
  throw new Error("License is missing expiration timestamp");
102
102
  if (s > Number.MAX_SAFE_INTEGER / 1e3)
103
103
  throw new Error("Invalid expiration timestamp: value too large");
104
- const w = new Date(s * 1e3), h = (/* @__PURE__ */ new Date()).getTime();
105
- if (w.getTime() < h)
104
+ const v = new Date(s * 1e3), h = (/* @__PURE__ */ new Date()).getTime();
105
+ if (v.getTime() < h)
106
106
  throw new Error(o.expired);
107
107
  if (!n)
108
108
  throw new Error("License is missing available until version timestamp");
109
109
  if (n > Number.MAX_SAFE_INTEGER / 1e3)
110
110
  throw new Error("Invalid available until version timestamp: value too large");
111
- const g = new Date(n * 1e3);
112
- if (c.debug("availableUntilTimestamp", g), g.getTime() < A.getTime())
111
+ const p = new Date(n * 1e3);
112
+ if (c.debug("availableUntilTimestamp", p), p.getTime() < A.getTime())
113
113
  throw new Error(o.exceededVersion);
114
- if (p !== L.Custom && !N(d, u))
114
+ if (g !== L.Custom && !N(d, u))
115
115
  throw new Error(o.mismatchedDomain);
116
116
  return {
117
117
  isValid: !0,
118
- type: p,
118
+ type: g,
119
119
  invalidatedMessage: void 0
120
120
  };
121
121
  }, [a]);
@@ -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-87f832f2.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-87f832f2.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-87f832f2.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-87f832f2.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",
3
+ "version": "2.5.0-beta.1",
4
4
  "private": false,
5
5
  "description": "A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.",
6
6
  "keywords": [