@react-pdf-kit/viewer 2.5.0-beta.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 (46) hide show
  1. package/dist/PaginationContext-87f832f2.js +233 -0
  2. package/dist/components/RPController.js +1 -1
  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/DualPage.js +1 -1
  32. package/dist/components/page/DualPageWithCover.js +1 -1
  33. package/dist/components/page/RPPage.js +1 -1
  34. package/dist/components/page/SinglePage.js +1 -1
  35. package/dist/components/page/TextLayer.js +1 -1
  36. package/dist/contexts/PaginationContext.js +1 -1
  37. package/dist/contexts/RenderQueueProvider.js +1 -1
  38. package/dist/contexts/SearchContext.js +1 -1
  39. package/dist/main.js +1 -1
  40. package/dist/utils/hooks/useLicense.js +1 -1
  41. package/dist/utils/hooks/usePaginate.js +1 -1
  42. package/dist/utils/hooks/usePresentPage.js +1 -1
  43. package/dist/utils/hooks/useScrollToPage.js +1 -1
  44. package/dist/utils/hooks/useSearch.js +1 -1
  45. package/package.json +1 -1
  46. package/dist/PaginationContext-ec777f80.js +0 -223
@@ -0,0 +1,233 @@
1
+ import { jsx as j } from "react/jsx-runtime";
2
+ import { useRef as M, useEffect as L, useCallback as h, useState as b, useMemo as B, createContext as Z, useContext as $ } from "react";
3
+ import { ViewMode as _, ScrollMode as E } from "./utils/types.js";
4
+ import { useScrollModeContext as O } from "./contexts/ScrollModeContext.js";
5
+ import { useDocumentContext as q } from "./contexts/RPDocumentContext.js";
6
+ import { appConsole as J } from "./utils/appConsole.js";
7
+ import { useGlobalCurrentPage as K } from "./contexts/GlobalCurrentPage.js";
8
+ import { useInitialStateContext as Q } from "./contexts/InitialStateContext.js";
9
+ import { useViewModeContext as W } from "./contexts/ViewModeContext.js";
10
+ import { useVirtualScrollContext as X } from "./contexts/VirtualScrollContext.js";
11
+ import { useVirtualGridContext as Y } from "./contexts/VirtualGridContext.js";
12
+ import { smoothScrollTo as F } from "./utils/smoothScrollTo.js";
13
+ import { useDimensionPagesContext as U } from "./contexts/DimensionPagesContext.js";
14
+ import { useSmoothScrollContext as tt } from "./contexts/SmoothScrollContext.js";
15
+ import { getScrollDistance as D } from "./utils/getScrollDistance.js";
16
+ import { getGridDimension as et } from "./utils/calculatePage.js";
17
+ import { useDebounce as ot } from "./utils/hooks/useDebounce.js";
18
+ import { useLayoutContainer as rt } from "./contexts/LayoutContainerContext.js";
19
+ const st = () => {
20
+ const { viewMode: o } = W(), { scrollMode: e } = O(), { virtualScrollRef: f, virtualScrollableElementRef: s, pageScrollElementRef: a } = X(), { setFocusedPage: x } = ct(), p = M(), { columnCount: n } = Y(), { widths: c, heights: m } = U(), g = M(e), C = M(o), d = M(n), { targetScrollPage: R, scrollBehavior: G } = tt(), P = M(null);
21
+ L(() => {
22
+ f != null && f.scrollToItem && (p.current = f);
23
+ }, [f]), L(() => {
24
+ g.current = e, C.current = o;
25
+ }, [e, o]);
26
+ const T = h(
27
+ (u, i) => {
28
+ if (!a)
29
+ return;
30
+ const t = Math.ceil(u / 2) * 2 - 1;
31
+ if (u === t + 1) {
32
+ const r = {
33
+ left: c[t],
34
+ top: 0
35
+ };
36
+ return new Promise(
37
+ (S) => F(a, r, S)
38
+ );
39
+ }
40
+ const l = {
41
+ left: 0,
42
+ top: 0
43
+ };
44
+ return a == null ? void 0 : a.scrollTo({
45
+ ...l,
46
+ behavior: i
47
+ });
48
+ },
49
+ [a, c, F]
50
+ );
51
+ L(() => {
52
+ g.current = e, C.current = o;
53
+ }, [e, o]), L(() => {
54
+ d.current = n;
55
+ }, [n]);
56
+ const A = h(
57
+ (u, i = G) => {
58
+ x(u);
59
+ const t = u - 1;
60
+ let l = t, r = 0;
61
+ if (C.current === _.DUAL_PAGE && g.current === E.PAGE_SCROLLING) {
62
+ T(u, i);
63
+ return;
64
+ }
65
+ if (g.current === E.PAGE_SCROLLING) {
66
+ x(u);
67
+ return;
68
+ }
69
+ if (!p.current || !s) {
70
+ P.current = { page: u, behavior: i };
71
+ return;
72
+ }
73
+ P.current = null;
74
+ const S = s;
75
+ i === "smooth" && (R.current = u);
76
+ const { columnsWidth: N, rowsHeight: v } = et(
77
+ { widths: c, heights: m },
78
+ n
79
+ );
80
+ if (g.current === E.HORIZONTAL_SCROLLING) {
81
+ r = t;
82
+ const w = D(N, r), I = {
83
+ left: Math.floor(w),
84
+ top: 0
85
+ };
86
+ return S.scrollTo({
87
+ ...I,
88
+ behavior: i
89
+ });
90
+ }
91
+ if (C.current === _.DUAL_PAGE) {
92
+ r = t % 2, l = Math.floor(t / 2);
93
+ const I = D(N, r), H = D(v, l), y = {
94
+ left: Math.floor(I),
95
+ top: Math.floor(H)
96
+ };
97
+ return S.scrollTo({
98
+ ...y,
99
+ behavior: i
100
+ });
101
+ }
102
+ const k = D(v, l), z = {
103
+ left: 0,
104
+ top: Math.floor(k)
105
+ };
106
+ return S.scrollTo({
107
+ ...z,
108
+ behavior: i
109
+ });
110
+ },
111
+ [
112
+ s,
113
+ n,
114
+ T,
115
+ x,
116
+ F,
117
+ m,
118
+ c,
119
+ G
120
+ ]
121
+ );
122
+ return L(() => {
123
+ if (!s || !P.current)
124
+ return;
125
+ const { page: u, behavior: i } = P.current;
126
+ P.current = null, A(u, i);
127
+ }, [s, A]), { scrollToPage: A };
128
+ }, nt = (o = 1) => {
129
+ const [e, f] = b(o), [s, a] = b(0), { scrollToPage: x } = st(), p = M(o), { viewMode: n } = W(), { scrollMode: c } = O(), { widths: m } = U(), { pagesRef: g } = rt(), C = ot(e, 100), d = h(
130
+ (t) => {
131
+ if (!/^[0-9]*$/g.test(t.toString()) || !t)
132
+ return { success: !1, currentPage: p.current };
133
+ const r = +t;
134
+ return r < 0 || r > s ? { success: !1, currentPage: p.current } : (f(r), p.current = r, { success: !0, currentPage: +t });
135
+ },
136
+ [s]
137
+ ), R = h(d, [d]), G = h((t) => {
138
+ f(t), p.current = t;
139
+ }, []), P = h(
140
+ (t, l) => {
141
+ const r = d(t);
142
+ return r.success && x(r.currentPage, l), r;
143
+ },
144
+ [d, x]
145
+ ), T = h(
146
+ (t) => {
147
+ const l = t % 2 === 1;
148
+ if (!g || l)
149
+ return !1;
150
+ const r = l ? m[t] : m[t - 1], S = l ? m[t + 1] : m[t];
151
+ return n === _.DUAL_PAGE && r + S < g.clientWidth;
152
+ },
153
+ [n, m, g, s]
154
+ ), A = h(() => {
155
+ let t = e - 1;
156
+ T(t) && (t = e - 2), P(t);
157
+ }, [P, e, n, c, T]), u = B(() => n === _.DUAL_PAGE && c === E.PAGE_SCROLLING ? e === s - 1 : e === s, [e, s, n, c]), i = h(() => {
158
+ if (u)
159
+ return;
160
+ let t = e + 1;
161
+ T(t) && (t = e + 2), P(t);
162
+ }, [P, e, T, n, c, u]);
163
+ return {
164
+ focusedPage: C,
165
+ totalPages: s,
166
+ setFocusedPage: R,
167
+ resetPage: G,
168
+ setTotalPages: a,
169
+ nextPage: i,
170
+ prevPage: A,
171
+ goToPage: P
172
+ };
173
+ }, V = Z({
174
+ focusedPage: 0,
175
+ setFocusedPage: (o) => {
176
+ },
177
+ goToPage: (o, e) => ({ success: !!o, currentPage: +o }),
178
+ totalPages: 0,
179
+ setTotalPages: (o) => {
180
+ },
181
+ prevPage: () => {
182
+ },
183
+ nextPage: () => {
184
+ }
185
+ }), ct = () => {
186
+ const o = $(V);
187
+ return typeof (o == null ? void 0 : o.focusedPage) > "u" && J.error("Please use this hooks inside children component of RPProvider"), o;
188
+ }, Rt = ({ children: o }) => {
189
+ const { pdf: e } = q(), { setCurrentPage: f } = K(), { initialPage: s = 1 } = Q(), {
190
+ focusedPage: a,
191
+ totalPages: x,
192
+ setFocusedPage: p,
193
+ resetPage: n,
194
+ setTotalPages: c,
195
+ goToPage: m,
196
+ nextPage: g,
197
+ prevPage: C
198
+ } = nt(s), d = M(!0);
199
+ return L(() => {
200
+ if (!e) {
201
+ d.current || (c(0), n(1));
202
+ return;
203
+ }
204
+ if (!e.numPages)
205
+ return;
206
+ c(e.numPages);
207
+ const R = d.current ? s : 1, G = Math.min(Math.max(R, 1), e.numPages);
208
+ n(G), d.current = !1;
209
+ }, [e, c, n]), L(() => {
210
+ f(a);
211
+ }, [a, f]), /* @__PURE__ */ j(
212
+ V.Provider,
213
+ {
214
+ value: {
215
+ focusedPage: a,
216
+ totalPages: x,
217
+ setFocusedPage: p,
218
+ setTotalPages: c,
219
+ nextPage: g,
220
+ prevPage: C,
221
+ goToPage: m
222
+ },
223
+ children: o
224
+ }
225
+ );
226
+ };
227
+ export {
228
+ Rt as P,
229
+ st as a,
230
+ nt as b,
231
+ V as c,
232
+ ct as u
233
+ };
@@ -1,6 +1,6 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { useState as o } from "react";
3
- import { P as D } from "../PaginationContext-ec777f80.js";
3
+ import { P as D } from "../PaginationContext-87f832f2.js";
4
4
  import { DarkModeProvider as E } from "../contexts/DarkModeContext.js";
5
5
  import { ViewMode as F, ScrollMode as G, SelectionMode as I } from "../utils/types.js";
6
6
  import { RotateProvider as T } from "../contexts/RotationContext.js";
@@ -1,15 +1,15 @@
1
1
  import { jsx as w, jsxs as Se, Fragment as ct } from "react/jsx-runtime";
2
- import { createElement as ue, PureComponent as dt, Component as ut, memo as ft, useRef as K, useState as mt, useMemo as Ie, useCallback as se, useEffect as ee } from "react";
2
+ import { createElement as fe, PureComponent as dt, Component as ut, memo as ft, useRef as K, useState as mt, useMemo as Ie, useCallback as se, useEffect as ee } from "react";
3
3
  import { RPPage as Te } from "./page/RPPage.js";
4
4
  import { useVirtualReactWindow as pt } from "../utils/hooks/useVirtualReactWindow.js";
5
5
  import { useVirtualScrollContext as ht } from "../contexts/VirtualScrollContext.js";
6
- import { a as gt, u as vt } from "../PaginationContext-ec777f80.js";
6
+ import { a as gt, u as vt } from "../PaginationContext-87f832f2.js";
7
7
  import { useDocumentContext as _t } from "../contexts/RPDocumentContext.js";
8
8
  import { useViewModeContext as wt } from "../contexts/ViewModeContext.js";
9
9
  import { useScrollModeContext as Ct } from "../contexts/ScrollModeContext.js";
10
10
  import { SelectionMode as St, ViewMode as Re, ScrollMode as xe, ErrorType as ye } from "../utils/types.js";
11
11
  import { useFullScreenContext as It } from "../contexts/FullScreenContext.js";
12
- import { c as de } from "../clsx-0c6e471a.js";
12
+ import { c as ue } from "../clsx-0c6e471a.js";
13
13
  import { DualPage as Tt } from "./page/DualPage.js";
14
14
  import { DualPageWithCover as Rt } from "./page/DualPageWithCover.js";
15
15
  import { SinglePage as xt } from "./page/SinglePage.js";
@@ -205,8 +205,8 @@ var Jt = 150, Qt = function(e) {
205
205
  e.data;
206
206
  var r = e.rowIndex;
207
207
  return r + ":" + t;
208
- }, fe = null, me = null, pe = null;
209
- process.env.NODE_ENV !== "production" && typeof window < "u" && typeof window.WeakSet < "u" && (fe = /* @__PURE__ */ new WeakSet(), me = /* @__PURE__ */ new WeakSet(), pe = /* @__PURE__ */ new WeakSet());
208
+ }, me = null, pe = null, he = null;
209
+ process.env.NODE_ENV !== "production" && typeof window < "u" && typeof window.WeakSet < "u" && (me = /* @__PURE__ */ new WeakSet(), pe = /* @__PURE__ */ new WeakSet(), he = /* @__PURE__ */ new WeakSet());
210
210
  function Xt(n) {
211
211
  var e, t = n.getColumnOffset, r = n.getColumnStartIndexForOffset, s = n.getColumnStopIndexForStartIndex, l = n.getColumnWidth, a = n.getEstimatedTotalHeight, c = n.getEstimatedTotalWidth, u = n.getOffsetForColumnAndAlignment, g = n.getOffsetForRowAndAlignment, h = n.getRowHeight, I = n.getRowOffset, i = n.getRowStartIndexForOffset, L = n.getRowStopIndexForStartIndex, T = n.initInstanceProps, R = n.shouldResetStyleCacheOnItemSizeChange, H = n.validateProps;
212
212
  return e = /* @__PURE__ */ function(M) {
@@ -352,11 +352,11 @@ function Xt(n) {
352
352
  }, E.componentWillUnmount = function() {
353
353
  this._resetIsScrollingTimeoutId !== null && Ue(this._resetIsScrollingTimeoutId);
354
354
  }, E.render = function() {
355
- var o = this.props, f = o.children, d = o.className, m = o.columnCount, C = o.direction, p = o.height, S = o.innerRef, O = o.innerElementType, P = o.innerTagName, x = o.itemData, z = o.itemKey, y = z === void 0 ? Qt : z, W = o.outerElementType, k = o.outerTagName, U = o.rowCount, A = o.style, G = o.useIsScrolling, D = o.width, V = this.state.isScrolling, te = this._getHorizontalRangeToRender(), re = te[0], ae = te[1], ne = this._getVerticalRangeToRender(), J = ne[0], he = ne[1], Q = [];
355
+ var o = this.props, f = o.children, d = o.className, m = o.columnCount, C = o.direction, p = o.height, S = o.innerRef, O = o.innerElementType, P = o.innerTagName, x = o.itemData, z = o.itemKey, y = z === void 0 ? Qt : z, W = o.outerElementType, k = o.outerTagName, U = o.rowCount, A = o.style, G = o.useIsScrolling, D = o.width, V = this.state.isScrolling, te = this._getHorizontalRangeToRender(), re = te[0], ae = te[1], ne = this._getVerticalRangeToRender(), J = ne[0], ge = ne[1], Q = [];
356
356
  if (m > 0 && U)
357
- for (var $ = J; $ <= he; $++)
357
+ for (var $ = J; $ <= ge; $++)
358
358
  for (var j = re; j <= ae; j++)
359
- Q.push(ue(f, {
359
+ Q.push(fe(f, {
360
360
  columnIndex: j,
361
361
  data: x,
362
362
  isScrolling: G ? V : void 0,
@@ -369,7 +369,7 @@ function Xt(n) {
369
369
  style: this._getItemStyle($, j)
370
370
  }));
371
371
  var le = a(this.props, this._instanceProps), ce = c(this.props, this._instanceProps);
372
- return ue(W || k || "div", {
372
+ return fe(W || k || "div", {
373
373
  className: d,
374
374
  onScroll: this._onScroll,
375
375
  ref: this._outerRefSetter,
@@ -382,7 +382,7 @@ function Xt(n) {
382
382
  willChange: "transform",
383
383
  direction: C
384
384
  }, A)
385
- }, ue(O || P || "div", {
385
+ }, fe(O || P || "div", {
386
386
  children: Q,
387
387
  ref: S,
388
388
  style: {
@@ -423,7 +423,7 @@ function Xt(n) {
423
423
  var Yt = function(e, t) {
424
424
  var r = e.children, s = e.direction, l = e.height, a = e.innerTagName, c = e.outerTagName, u = e.overscanColumnsCount, g = e.overscanCount, h = e.overscanRowsCount, I = e.width, i = t.instance;
425
425
  if (process.env.NODE_ENV !== "production") {
426
- if (typeof g == "number" && fe && !fe.has(i) && (fe.add(i), console.warn("The overscanCount prop has been deprecated. Please use the overscanColumnCount and overscanRowCount props instead.")), (typeof u == "number" || typeof h == "number") && me && !me.has(i) && (me.add(i), console.warn("The overscanColumnsCount and overscanRowsCount props have been deprecated. Please use the overscanColumnCount and overscanRowCount props instead.")), (a != null || c != null) && pe && !pe.has(i) && (pe.add(i), console.warn("The innerTagName and outerTagName props have been deprecated. Please use the innerElementType and outerElementType props instead.")), r == null)
426
+ if (typeof g == "number" && me && !me.has(i) && (me.add(i), console.warn("The overscanCount prop has been deprecated. Please use the overscanColumnCount and overscanRowCount props instead.")), (typeof u == "number" || typeof h == "number") && pe && !pe.has(i) && (pe.add(i), console.warn("The overscanColumnsCount and overscanRowsCount props have been deprecated. Please use the overscanColumnCount and overscanRowCount props instead.")), (a != null || c != null) && he && !he.has(i) && (he.add(i), console.warn("The innerTagName and outerTagName props have been deprecated. Please use the innerElementType and outerElementType props instead.")), r == null)
427
427
  throw Error('An invalid "children" prop has been specified. Value should be a React component. ' + ('"' + (r === null ? "null" : typeof r) + '" was specified.'));
428
428
  switch (s) {
429
429
  case "ltr":
@@ -750,7 +750,7 @@ class sr extends ut {
750
750
  overflow: "visible"
751
751
  }, R = {};
752
752
  let H = !1;
753
- return s || (i === 0 && (H = !0), T.height = 0, R.height = i, R.scaledHeight = i), l || (L === 0 && (H = !0), T.width = 0, R.width = L, R.scaledWidth = L), a && (H = !1), ue(h, {
753
+ return s || (i === 0 && (H = !0), T.height = 0, R.height = i, R.scaledHeight = i), l || (L === 0 && (H = !0), T.width = 0, R.width = L, R.scaledWidth = L), a && (H = !1), fe(h, {
754
754
  ref: this._setRef,
755
755
  style: {
756
756
  ...T,
@@ -826,8 +826,8 @@ const ar = ft(({ columnIndex: n, rowIndex: e, data: t, style: r }) => {
826
826
  estimatedColumnWidth: te,
827
827
  estimatedRowHeight: re,
828
828
  totalDimension: ae
829
- } = pt(), ne = Ot(L, 100), { onScroll: J, onTextSelect: he } = kt();
830
- Vt({ onTextSelect: he, pagesRef: r });
829
+ } = pt(), ne = Ot(L, 100), { onScroll: J, onTextSelect: ge } = kt();
830
+ Vt({ onTextSelect: ge, pagesRef: r });
831
831
  const Q = K();
832
832
  Wt(D, A, i, m);
833
833
  const $ = K({
@@ -838,37 +838,37 @@ const ar = ft(({ columnIndex: n, rowIndex: e, data: t, style: r }) => {
838
838
  const { isPressed: j } = yt(), { selectionMode: le } = bt(), { initializeGrabScroll: ce, resetGrabState: Ye } = zt({
839
839
  isPressed: j
840
840
  }), ie = Ie(() => le === St.HAND, [le]), et = Ie(() => {
841
- const v = Array.from({ length: D }, (_, B) => V(B));
841
+ const _ = Array.from({ length: D }, (v, B) => V(B));
842
842
  return {
843
843
  columnCount: D,
844
844
  isDualPageWithCover: m === Re.DUAL_PAGE_WITH_COVER,
845
- columnWidths: v,
845
+ columnWidths: _,
846
846
  totalPages: f
847
847
  };
848
- }, [D, m, V, f]), ge = se(
849
- (v) => {
850
- const _ = document.activeElement !== r;
851
- !k && _ || (["ArrowUp", "ArrowLeft"].includes(v.key) ? (v.preventDefault(), E()) : ["ArrowDown", "ArrowRight"].includes(v.key) && (v.preventDefault(), b()));
848
+ }, [D, m, V, f]), ve = se(
849
+ (_) => {
850
+ const v = document.activeElement !== r;
851
+ !k && v || (["ArrowUp", "ArrowLeft"].includes(_.key) ? (_.preventDefault(), E()) : ["ArrowDown", "ArrowRight"].includes(_.key) && (_.preventDefault(), b()));
852
852
  },
853
853
  [b, E, k, d]
854
854
  );
855
- ee(() => (window.addEventListener("keydown", ge), () => {
856
- window.removeEventListener("keydown", ge);
857
- }), [ge]), ee(() => {
855
+ ee(() => (window.addEventListener("keydown", ve), () => {
856
+ window.removeEventListener("keydown", ve);
857
+ }), [ve]), ee(() => {
858
858
  if (C.current && (C.current.style.position = "relative"), !!c)
859
- for (let v = 0; v < A; v++)
860
- for (let _ = 0; _ < D; _++)
859
+ for (let _ = 0; _ < A; _++)
860
+ for (let v = 0; v < D; v++)
861
861
  c.resetAfterIndices({
862
- columnIndex: _,
863
- rowIndex: v,
862
+ columnIndex: v,
863
+ rowIndex: _,
864
864
  shouldForceUpdate: !0
865
865
  });
866
866
  }, [A, D, U, c]);
867
867
  const tt = se(
868
- (v, _) => {
868
+ (_, v) => {
869
869
  if (!i)
870
870
  return { scrollTop: 0, scrollLeft: 0 };
871
- const B = $.current.scrollTop > _, X = $.current.scrollLeft > v;
871
+ const B = $.current.scrollTop > v, X = $.current.scrollLeft > _;
872
872
  return B || X ? $.current : {
873
873
  scrollTop: i.scrollTop,
874
874
  scrollLeft: i.scrollLeft
@@ -876,7 +876,7 @@ const ar = ft(({ columnIndex: n, rowIndex: e, data: t, style: r }) => {
876
876
  },
877
877
  [i]
878
878
  ), We = se(
879
- (v, _) => {
879
+ (_, v) => {
880
880
  if (z.current.viewMode !== m || z.current.scrollMode !== d) {
881
881
  Q.current && clearTimeout(Q.current), y.current = !0, a(o, "auto"), Q.current = setTimeout(() => {
882
882
  requestAnimationFrame(() => {
@@ -885,28 +885,35 @@ const ar = ft(({ columnIndex: n, rowIndex: e, data: t, style: r }) => {
885
885
  }, 100);
886
886
  return;
887
887
  }
888
- const X = v.scrollTop, ve = v.scrollLeft;
889
- if (!_.height || !_.width)
888
+ const X = _.scrollTop, de = _.scrollLeft;
889
+ if (!v.height || !v.width)
890
890
  return;
891
891
  y.current = !0;
892
- const { height: Y, width: _e } = _, { height: we, width: Ce } = x.current;
892
+ const { height: Y, width: _e } = v, { height: we, width: Ce } = x.current;
893
893
  if (we === Y && Ce === _e)
894
894
  return;
895
895
  if (R.current && e > 1) {
896
896
  x.current = {
897
- height: _.height,
898
- width: _.width
897
+ height: v.height,
898
+ width: v.width
899
899
  };
900
900
  return;
901
901
  }
902
902
  if (!we || !Ce) {
903
903
  x.current = {
904
- height: _.height,
905
- width: _.width
904
+ height: v.height,
905
+ width: v.width
906
906
  };
907
907
  return;
908
908
  }
909
- const it = X / we * Y, st = ve / Ce * _e, at = Math.round(Math.min(it, Y)) || 0, lt = Math.round(Math.min(st, _e)) || 0;
909
+ if (X === 0 && de === 0) {
910
+ x.current = {
911
+ height: v.height,
912
+ width: v.width
913
+ };
914
+ return;
915
+ }
916
+ const it = X / we * Y, st = de / Ce * _e, at = Math.round(Math.min(it, Y)) || 0, lt = Math.round(Math.min(st, _e)) || 0;
910
917
  W.current = setTimeout(() => {
911
918
  requestAnimationFrame(() => {
912
919
  i == null || i.scrollTo({
@@ -916,31 +923,31 @@ const ar = ft(({ columnIndex: n, rowIndex: e, data: t, style: r }) => {
916
923
  });
917
924
  });
918
925
  }, 0), x.current = {
919
- height: _.height,
920
- width: _.width
926
+ height: v.height,
927
+ width: v.width
921
928
  };
922
929
  },
923
930
  [i, m, d, a, e]
924
931
  );
925
932
  ee(() => {
926
933
  clearTimeout(W.current);
927
- const v = Array.from({ length: A }).reduce(
928
- (X, ve, Y) => X + G(Y),
934
+ const _ = Array.from({ length: A }).reduce(
935
+ (X, de, Y) => X + G(Y),
929
936
  0
930
- ), _ = Array.from({ length: D }).reduce(
931
- (X, ve, Y) => X + V(Y),
937
+ ), v = Array.from({ length: D }).reduce(
938
+ (X, de, Y) => X + V(Y),
932
939
  0
933
- ), B = tt(_, v);
934
- $.current = B, We(B, { height: v, width: _ }), I({
935
- height: v,
936
- width: _
940
+ ), B = tt(v, _);
941
+ $.current = B, We(B, { height: _, width: v }), I({
942
+ height: _,
943
+ width: v
937
944
  });
938
945
  }, [U, A, D, We]);
939
946
  const rt = se(
940
- (v) => {
947
+ (_) => {
941
948
  $.current = {
942
- scrollTop: v.scrollTop,
943
- scrollLeft: v.scrollLeft
949
+ scrollTop: _.scrollTop,
950
+ scrollLeft: _.scrollLeft
944
951
  };
945
952
  },
946
953
  [i]
@@ -953,13 +960,13 @@ const ar = ft(({ columnIndex: n, rowIndex: e, data: t, style: r }) => {
953
960
  }, [i, T, J]), ee(() => () => {
954
961
  Q.current && clearTimeout(Q.current);
955
962
  }, []);
956
- const ot = Ie(() => de(F["rp-pages-container"], {
963
+ const ot = Ie(() => ue(F["rp-pages-container"], {
957
964
  [F["rp-cursor-grab"]]: ie && !j,
958
965
  [F["rp-cursor-grabbing"]]: ie && j
959
966
  }), [ie, j]), nt = se(
960
- (v) => {
961
- if (ie && v) {
962
- const _ = de(F["rp-pages"]), B = document.querySelector(`.${_}`);
967
+ (_) => {
968
+ if (ie && _) {
969
+ const v = ue(F["rp-pages"]), B = document.querySelector(`.${v}`);
963
970
  ce(B);
964
971
  }
965
972
  },
@@ -993,22 +1000,22 @@ const ar = ft(({ columnIndex: n, rowIndex: e, data: t, style: r }) => {
993
1000
  "--scale-round-x": `${Ae(n.current.sx)[1]}px`,
994
1001
  "--scale-round-y": `${Ae(n.current.sy)[1]}px`
995
1002
  },
996
- children: /* @__PURE__ */ w(sr, { style: { minHeight: "50px" }, children: ({ width: v, height: _ }) => /* @__PURE__ */ w(
1003
+ children: /* @__PURE__ */ w(sr, { style: { minHeight: "50px" }, children: ({ width: _, height: v }) => /* @__PURE__ */ w(
997
1004
  "div",
998
1005
  {
999
1006
  "data-rp": "pages",
1000
1007
  ref: nt,
1001
1008
  style: {
1002
- width: v,
1003
- height: _,
1009
+ width: _,
1010
+ height: v,
1004
1011
  ...H && { visibility: "hidden" }
1005
1012
  },
1006
- children: d === xe.PAGE_SCROLLING ? S === ye.INVALID_OR_CORRUPTED_PDF ? /* @__PURE__ */ w("div", { className: F["rp-load-error"], style: { width: v, height: _ }, children: /* @__PURE__ */ w("div", { className: F["rp-load-error-message"], children: "Invalid or corrupted PDF file." }) }) : /* @__PURE__ */ w(
1013
+ children: d === xe.PAGE_SCROLLING ? S === ye.INVALID_OR_CORRUPTED_PDF ? /* @__PURE__ */ w("div", { className: F["rp-load-error"], style: { width: _, height: v }, children: /* @__PURE__ */ w("div", { className: F["rp-load-error-message"], children: "Invalid or corrupted PDF file." }) }) : /* @__PURE__ */ w(
1007
1014
  "div",
1008
1015
  {
1009
1016
  ref: g,
1010
- style: { width: v, height: _ },
1011
- className: de(F["rp-pages"], F["rp-page-scrolling-wrapper"]),
1017
+ style: { width: _, height: v },
1018
+ className: ue(F["rp-pages"], F["rp-page-scrolling-wrapper"]),
1012
1019
  children: m === Re.DUAL_PAGE ? /* @__PURE__ */ w(Tt, { widths: V, heights: G }) : m === Re.DUAL_PAGE_WITH_COVER ? /* @__PURE__ */ w(Rt, { widths: V, heights: G }) : /* @__PURE__ */ w(xt, { widths: V, heights: G })
1013
1020
  }
1014
1021
  ) : re ? /* @__PURE__ */ w(
@@ -1022,12 +1029,12 @@ const ar = ft(({ columnIndex: n, rowIndex: e, data: t, style: r }) => {
1022
1029
  columnCount: D,
1023
1030
  columnWidth: V,
1024
1031
  rowHeight: G,
1025
- height: _,
1026
- width: v,
1032
+ height: v,
1033
+ width: _,
1027
1034
  estimatedColumnWidth: te,
1028
1035
  estimatedRowHeight: re,
1029
1036
  rowCount: A,
1030
- className: de(
1037
+ className: ue(
1031
1038
  F["rp-pages"],
1032
1039
  d === xe.HORIZONTAL_SCROLLING ? F["rp-pages-horizontal-scroll"] : ""
1033
1040
  ),
@@ -23,7 +23,7 @@ import "../utils/hooks/usePdfProperties.js";
23
23
  import "../utils/convertPdfDate.js";
24
24
  import "../utils/formatFileSize.js";
25
25
  import "../utils/appConsole.js";
26
- import "../PaginationContext-ec777f80.js";
26
+ import "../PaginationContext-87f832f2.js";
27
27
  import "../contexts/ScrollModeContext.js";
28
28
  import "../contexts/InitialStateContext.js";
29
29
  import "../contexts/GlobalCurrentPage.js";
@@ -22,7 +22,7 @@ import "../../clsx-0c6e471a.js";
22
22
  import "../../utils/withRef.js";
23
23
  import "../ui/Input.js";
24
24
  import "../../Paginate.module-4eef00aa.js";
25
- import "../../PaginationContext-ec777f80.js";
25
+ import "../../PaginationContext-87f832f2.js";
26
26
  import "../../utils/types.js";
27
27
  import "../../de_DE-8145915f.js";
28
28
  import "../../contexts/ScrollModeContext.js";
@@ -18,7 +18,7 @@ import "../../ToolbarLayout.module-6e339802.js";
18
18
  import "./sidebar/Thumbnails.js";
19
19
  import "./sidebar/Thumbnail.js";
20
20
  import "../icons/LoaderIcon.js";
21
- import "../../PaginationContext-ec777f80.js";
21
+ import "../../PaginationContext-87f832f2.js";
22
22
  import "../../utils/types.js";
23
23
  import "../../de_DE-8145915f.js";
24
24
  import "../../contexts/ScrollModeContext.js";
@@ -17,7 +17,7 @@ import "../../../contexts/LayoutContainerContext.js";
17
17
  import "../../../contexts/ViewportContext.js";
18
18
  import "./Thumbnail.js";
19
19
  import "../../icons/LoaderIcon.js";
20
- import "../../../PaginationContext-ec777f80.js";
20
+ import "../../../PaginationContext-87f832f2.js";
21
21
  import "../../../utils/types.js";
22
22
  import "../../../de_DE-8145915f.js";
23
23
  import "../../../contexts/ScrollModeContext.js";
@@ -2,7 +2,7 @@ import { jsxs as k, jsx as r } from "react/jsx-runtime";
2
2
  import { useRef as h, useState as N, useMemo as _, useCallback as S, useEffect as w } from "react";
3
3
  import { c as I } from "../../../clsx-0c6e471a.js";
4
4
  import { LoaderIcon as L } from "../../icons/LoaderIcon.js";
5
- import { u as j } from "../../../PaginationContext-ec777f80.js";
5
+ import { u as j } from "../../../PaginationContext-87f832f2.js";
6
6
  import { usePagesRotateContext as q } from "../../../contexts/PagesRotateContext.js";
7
7
  import { useRenderQueue as D } from "../../../contexts/RenderQueueProvider.js";
8
8
  import { useDocumentContext as M } from "../../../contexts/RPDocumentContext.js";
@@ -3,7 +3,7 @@ import { useRef as b, useImperativeHandle as v, useMemo as N, useCallback as x,
3
3
  import { Thumbnail as y } from "./Thumbnail.js";
4
4
  import { useThumbnailContext as C } from "../../../contexts/ThumbnailsContext.js";
5
5
  import { useInfiniteScroll as I } from "../../../utils/hooks/useInfiniteScroll.js";
6
- import { u as S } from "../../../PaginationContext-ec777f80.js";
6
+ import { u as S } from "../../../PaginationContext-87f832f2.js";
7
7
  import { withRef as j } from "../../../utils/withRef.js";
8
8
  import "../../../clsx-0c6e471a.js";
9
9
  import "../../icons/LoaderIcon.js";
@@ -1,7 +1,7 @@
1
1
  import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
2
  import { G as C } from "../../../index-11f3cd64.js";
3
3
  import { MenuItem as p } from "./MenuItem.js";
4
- import { u as x } from "../../../PaginationContext-ec777f80.js";
4
+ import { u as x } from "../../../PaginationContext-87f832f2.js";
5
5
  import { useMemo as e, useCallback as a } from "react";
6
6
  import { MenuSeparator as L } from "./MenuSeparator.js";
7
7
  import { GoToDownIcon as l } from "../../icons/GoToDownIcon.js";
@@ -78,7 +78,7 @@ import "../../../utils/hooks/usePrint.js";
78
78
  import "../../../contexts/FullScreenContext.js";
79
79
  import "../../../utils/hooks/useFullScreen.js";
80
80
  import "../../icons/FullScreenIcon.js";
81
- import "../../../PaginationContext-ec777f80.js";
81
+ import "../../../PaginationContext-87f832f2.js";
82
82
  import "../../../contexts/GlobalCurrentPage.js";
83
83
  import "../../../contexts/EventCallbackContext.js";
84
84
  import "../../../contexts/VirtualScrollContext.js";
@@ -4,7 +4,7 @@ import { ChevronUpIcon as b } from "../../icons/ChevronUpIcon.js";
4
4
  import { UIButton as h } from "../../ui/Button.js";
5
5
  import { UIInput as V } from "../../ui/Input.js";
6
6
  import { c as g } from "../../../Paginate.module-4eef00aa.js";
7
- import { u as A } from "../../../PaginationContext-ec777f80.js";
7
+ import { u as A } from "../../../PaginationContext-87f832f2.js";
8
8
  import { useIconContext as S } from "../../../contexts/IconContext.js";
9
9
  import { useToolbarComponentContext as B } from "../../../contexts/ToolbarComponentContext.js";
10
10
  import { useViewportContext as G } from "../../../contexts/ViewportContext.js";
@@ -60,7 +60,7 @@ import "../../icons/FullScreenIcon.js";
60
60
  import "../../../contexts/FullScreenContext.js";
61
61
  import "../../../utils/hooks/useFullScreen.js";
62
62
  import "../../../MostPageTool.module-13578ad6.js";
63
- import "../../../PaginationContext-ec777f80.js";
63
+ import "../../../PaginationContext-87f832f2.js";
64
64
  import "../../../contexts/ScrollModeContext.js";
65
65
  import "../../../contexts/InitialStateContext.js";
66
66
  import "../../../contexts/GlobalCurrentPage.js";
@@ -16,7 +16,7 @@ import "../../ui/Button.js";
16
16
  import "../../../clsx-0c6e471a.js";
17
17
  import "../../ui/Input.js";
18
18
  import "../../../Paginate.module-4eef00aa.js";
19
- import "../../../PaginationContext-ec777f80.js";
19
+ import "../../../PaginationContext-87f832f2.js";
20
20
  import "../../../utils/types.js";
21
21
  import "../../../de_DE-8145915f.js";
22
22
  import "../../../contexts/ScrollModeContext.js";
@@ -74,7 +74,7 @@ import "../../icons/PageScrollingIcon.js";
74
74
  import "../../icons/VerticalScrollingIcon.js";
75
75
  import "../../icons/HorizontalScrollingIcon.js";
76
76
  import "./MostPageTool.js";
77
- import "../../../PaginationContext-ec777f80.js";
77
+ import "../../../PaginationContext-87f832f2.js";
78
78
  import "../../../contexts/GlobalCurrentPage.js";
79
79
  import "../../../contexts/EventCallbackContext.js";
80
80
  import "../../../contexts/VirtualScrollContext.js";
@@ -42,7 +42,7 @@ import "../../../contexts/RotationContext.js";
42
42
  import "../../../contexts/GlobalCurrentPage.js";
43
43
  import "../../../contexts/EventCallbackContext.js";
44
44
  import "../../../utils/hooks/useDebounce.js";
45
- import "../../../PaginationContext-ec777f80.js";
45
+ import "../../../PaginationContext-87f832f2.js";
46
46
  import "../../../contexts/VirtualGridContext.js";
47
47
  import "../../../utils/smoothScrollTo.js";
48
48
  import "../../../contexts/DimensionPagesContext.js";
@@ -53,7 +53,7 @@ import "../../../utils/formatFileSize.js";
53
53
  import "../../../contexts/GlobalCurrentPage.js";
54
54
  import "../../../contexts/EventCallbackContext.js";
55
55
  import "../../../utils/hooks/useDebounce.js";
56
- import "../../../PaginationContext-ec777f80.js";
56
+ import "../../../PaginationContext-87f832f2.js";
57
57
  import "../../../contexts/VirtualGridContext.js";
58
58
  import "../../../utils/smoothScrollTo.js";
59
59
  import "../../../contexts/DimensionPagesContext.js";
@@ -11,7 +11,7 @@ import { R as W } from "../../../RPSplitter-b62772f9.js";
11
11
  import "../sidebar/Thumbnail.js";
12
12
  import "../../../clsx-0c6e471a.js";
13
13
  import "../../icons/LoaderIcon.js";
14
- import "../../../PaginationContext-ec777f80.js";
14
+ import "../../../PaginationContext-87f832f2.js";
15
15
  import "../../../utils/types.js";
16
16
  import "../../../de_DE-8145915f.js";
17
17
  import "../../../contexts/ScrollModeContext.js";
@@ -13,7 +13,7 @@ import { THUMBNAIL_MIN_WIDTH as D } from "../../../utils/constants.js";
13
13
  import "../sidebar/Thumbnail.js";
14
14
  import "../../../clsx-0c6e471a.js";
15
15
  import "../../icons/LoaderIcon.js";
16
- import "../../../PaginationContext-ec777f80.js";
16
+ import "../../../PaginationContext-87f832f2.js";
17
17
  import "../../../utils/types.js";
18
18
  import "../../../de_DE-8145915f.js";
19
19
  import "../../../contexts/ScrollModeContext.js";
@@ -7,7 +7,7 @@ import "../sidebar/Thumbnails.js";
7
7
  import "../sidebar/Thumbnail.js";
8
8
  import "../../../clsx-0c6e471a.js";
9
9
  import "../../icons/LoaderIcon.js";
10
- import "../../../PaginationContext-ec777f80.js";
10
+ import "../../../PaginationContext-87f832f2.js";
11
11
  import "../../../utils/types.js";
12
12
  import "../../../de_DE-8145915f.js";
13
13
  import "../../../contexts/ScrollModeContext.js";
@@ -5,7 +5,7 @@ import { DualPageWithCoverIcon as n } from "../../../icons/DualPageWithCoverIcon
5
5
  import "react";
6
6
  import "../../../../contexts/RPDocumentContext.js";
7
7
  import "../../../../contexts/DocumentPasswordContext.js";
8
- import "../../../../PaginationContext-ec777f80.js";
8
+ import "../../../../PaginationContext-87f832f2.js";
9
9
  import "../../../../contexts/DarkModeContext.js";
10
10
  import "../../../../contexts/RotationContext.js";
11
11
  import "../../../../contexts/LayerContext.js";
@@ -4,7 +4,7 @@ import n from "../../../ui/RPTooltip.js";
4
4
  import { UIButton as a } from "../../../ui/Button.js";
5
5
  import "../../../../contexts/RPDocumentContext.js";
6
6
  import "../../../../contexts/DocumentPasswordContext.js";
7
- import { u as f } from "../../../../PaginationContext-ec777f80.js";
7
+ import { u as f } from "../../../../PaginationContext-87f832f2.js";
8
8
  import "../../../../contexts/DarkModeContext.js";
9
9
  import "../../../../contexts/RotationContext.js";
10
10
  import "../../../../contexts/LayerContext.js";
@@ -1,6 +1,6 @@
1
1
  import { jsxs as u, Fragment as d, jsx as c } from "react/jsx-runtime";
2
2
  import { useState as h, useEffect as x, useCallback as n } from "react";
3
- import { u as S } from "../../../../PaginationContext-ec777f80.js";
3
+ import { u as S } from "../../../../PaginationContext-87f832f2.js";
4
4
  import { useLocalizationContext as v } from "../../../../contexts/LocalizationContext.js";
5
5
  import y from "../../../ui/RPTooltip.js";
6
6
  import { UIInput as C } from "../../../ui/Input.js";
@@ -4,7 +4,7 @@ import a from "../../../ui/RPTooltip.js";
4
4
  import { UIButton as P } from "../../../ui/Button.js";
5
5
  import "../../../../contexts/RPDocumentContext.js";
6
6
  import "../../../../contexts/DocumentPasswordContext.js";
7
- import { u as T } from "../../../../PaginationContext-ec777f80.js";
7
+ import { u as T } from "../../../../PaginationContext-87f832f2.js";
8
8
  import "../../../../contexts/DarkModeContext.js";
9
9
  import "../../../../contexts/RotationContext.js";
10
10
  import "../../../../contexts/LayerContext.js";
@@ -2,7 +2,7 @@ import { jsx as i, Fragment as d } from "react/jsx-runtime";
2
2
  import { useMemo as l } from "react";
3
3
  import { ChevronUpIcon as c } from "../../../icons/ChevronUpIcon.js";
4
4
  import { UIButton as f } from "../../../ui/Button.js";
5
- import { u as s } from "../../../../PaginationContext-ec777f80.js";
5
+ import { u as s } from "../../../../PaginationContext-87f832f2.js";
6
6
  import { useLocalizationContext as u } from "../../../../contexts/LocalizationContext.js";
7
7
  import { ViewMode as x, ScrollMode as P } from "../../../../utils/types.js";
8
8
  import { useViewModeContext as g } from "../../../../contexts/ViewModeContext.js";
@@ -1,7 +1,7 @@
1
1
  import { jsx as r, Fragment as n } from "react/jsx-runtime";
2
2
  import { ChevronUpIcon as e } from "../../../icons/ChevronUpIcon.js";
3
3
  import { UIButton as a } from "../../../ui/Button.js";
4
- import { u as d } from "../../../../PaginationContext-ec777f80.js";
4
+ import { u as d } from "../../../../PaginationContext-87f832f2.js";
5
5
  import { useLocalizationContext as u } from "../../../../contexts/LocalizationContext.js";
6
6
  import c from "../../../ui/RPTooltip.js";
7
7
  import "../../../../clsx-0c6e471a.js";
@@ -50,7 +50,7 @@ import "../../../../../contexts/RotationContext.js";
50
50
  import "../../../../../contexts/GlobalCurrentPage.js";
51
51
  import "../../../../../contexts/EventCallbackContext.js";
52
52
  import "../../../../../utils/hooks/useDebounce.js";
53
- import "../../../../../PaginationContext-ec777f80.js";
53
+ import "../../../../../PaginationContext-87f832f2.js";
54
54
  import "../../../../../contexts/VirtualGridContext.js";
55
55
  import "../../../../../utils/smoothScrollTo.js";
56
56
  import "../../../../../contexts/DimensionPagesContext.js";
@@ -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-ec777f80.js";
6
+ import { u as L } from "../../../../../PaginationContext-87f832f2.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-ec777f80.js";
3
+ import { u as j } from "../../PaginationContext-87f832f2.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-ec777f80.js";
30
+ import "../../PaginationContext-87f832f2.js";
31
31
  import "../../contexts/ScrollModeContext.js";
32
32
  import "../../contexts/VirtualScrollContext.js";
33
33
  import "../../contexts/VirtualGridContext.js";
@@ -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-ec777f80.js";
3
+ import { u as l } from "../../PaginationContext-87f832f2.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-ec777f80.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-ec777f80.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-ec777f80.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-ec777f80.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,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-ec777f80.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-ec777f80.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-ec777f80.js";
31
+ import "../PaginationContext-87f832f2.js";
32
32
  import "./VirtualGridContext.js";
33
33
  import "../utils/smoothScrollTo.js";
34
34
  import "./DimensionPagesContext.js";
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-ec777f80.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";
@@ -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-22T13:39:38.437Z"), w = `-----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
@@ -1,6 +1,6 @@
1
1
  import "react";
2
2
  import "../types.js";
3
- import { b as J } from "../../PaginationContext-ec777f80.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-ec777f80.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-ec777f80.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";
@@ -5,7 +5,7 @@ import { useVirtualScrollContext as ct } from "../../contexts/VirtualScrollConte
5
5
  import { useScrollModeContext as it } from "../../contexts/ScrollModeContext.js";
6
6
  import { useDocumentContext as at } from "../../contexts/RPDocumentContext.js";
7
7
  import { useZoomContext as mt } from "../../contexts/ZoomContext.js";
8
- import { u as lt } from "../../PaginationContext-ec777f80.js";
8
+ import { u as lt } from "../../PaginationContext-87f832f2.js";
9
9
  import { useViewModeContext as ut } from "../../contexts/ViewModeContext.js";
10
10
  import { useDimensionPagesContext as pt } from "../../contexts/DimensionPagesContext.js";
11
11
  import { useLayoutContainer as ft } from "../../contexts/LayoutContainerContext.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-pdf-kit/viewer",
3
- "version": "2.5.0-beta.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": [
@@ -1,223 +0,0 @@
1
- import { jsx as y } from "react/jsx-runtime";
2
- import { useRef as M, useEffect as L, useCallback as h, useState as w, useMemo as j, createContext as B, useContext as Z } from "react";
3
- import { ViewMode as _, ScrollMode as E } from "./utils/types.js";
4
- import { useScrollModeContext as b } from "./contexts/ScrollModeContext.js";
5
- import { useDocumentContext as $ } from "./contexts/RPDocumentContext.js";
6
- import { appConsole as q } from "./utils/appConsole.js";
7
- import { useGlobalCurrentPage as J } from "./contexts/GlobalCurrentPage.js";
8
- import { useInitialStateContext as K } from "./contexts/InitialStateContext.js";
9
- import { useViewModeContext as O } from "./contexts/ViewModeContext.js";
10
- import { useVirtualScrollContext as Q } from "./contexts/VirtualScrollContext.js";
11
- import { useVirtualGridContext as X } from "./contexts/VirtualGridContext.js";
12
- import { smoothScrollTo as F } from "./utils/smoothScrollTo.js";
13
- import { useDimensionPagesContext as W } from "./contexts/DimensionPagesContext.js";
14
- import { useSmoothScrollContext as Y } from "./contexts/SmoothScrollContext.js";
15
- import { getScrollDistance as D } from "./utils/getScrollDistance.js";
16
- import { getGridDimension as tt } from "./utils/calculatePage.js";
17
- import { useDebounce as et } from "./utils/hooks/useDebounce.js";
18
- import { useLayoutContainer as ot } from "./contexts/LayoutContainerContext.js";
19
- const rt = () => {
20
- const { viewMode: o } = O(), { scrollMode: e } = b(), { virtualScrollRef: i, virtualScrollableElementRef: n, pageScrollElementRef: a } = Q(), { setFocusedPage: x } = nt(), d = M(), { columnCount: r } = X(), { widths: c, heights: g } = W(), l = M(e), C = M(o), P = M(r), { targetScrollPage: G, scrollBehavior: S } = Y();
21
- L(() => {
22
- i != null && i.scrollToItem && (d.current = i);
23
- }, [i]), L(() => {
24
- l.current = e, C.current = o;
25
- }, [e, o]);
26
- const T = h(
27
- (f, m) => {
28
- if (!a)
29
- return;
30
- const p = Math.ceil(f / 2) * 2 - 1;
31
- if (f === p + 1) {
32
- const u = {
33
- left: c[p],
34
- top: 0
35
- };
36
- return new Promise(
37
- (s) => F(a, u, s)
38
- );
39
- }
40
- const t = {
41
- left: 0,
42
- top: 0
43
- };
44
- return a == null ? void 0 : a.scrollTo({
45
- ...t,
46
- behavior: m
47
- });
48
- },
49
- [a, c, F]
50
- );
51
- return L(() => {
52
- l.current = e, C.current = o;
53
- }, [e, o]), L(() => {
54
- P.current = r;
55
- }, [r]), { scrollToPage: h(
56
- (f, m = S) => {
57
- x(f);
58
- const p = f - 1;
59
- let t = p, u = 0;
60
- if (C.current === _.DUAL_PAGE && l.current === E.PAGE_SCROLLING) {
61
- T(f, m);
62
- return;
63
- }
64
- if (l.current === E.PAGE_SCROLLING) {
65
- x(f);
66
- return;
67
- }
68
- if (!d.current || !n)
69
- return;
70
- const s = n;
71
- m === "smooth" && (G.current = f);
72
- const { columnsWidth: R, rowsHeight: N } = tt(
73
- { widths: c, heights: g },
74
- r
75
- );
76
- if (l.current === E.HORIZONTAL_SCROLLING) {
77
- u = p;
78
- const v = D(R, u), I = {
79
- left: Math.floor(v),
80
- top: 0
81
- };
82
- return s.scrollTo({
83
- ...I,
84
- behavior: m
85
- });
86
- }
87
- if (C.current === _.DUAL_PAGE) {
88
- u = p % 2, t = Math.floor(p / 2);
89
- const I = D(R, u), z = D(N, t), H = {
90
- left: Math.floor(I),
91
- top: Math.floor(z)
92
- };
93
- return s.scrollTo({
94
- ...H,
95
- behavior: m
96
- });
97
- }
98
- const V = D(N, t), k = {
99
- left: 0,
100
- top: Math.floor(V)
101
- };
102
- return s.scrollTo({
103
- ...k,
104
- behavior: m
105
- });
106
- },
107
- [
108
- n,
109
- r,
110
- T,
111
- x,
112
- F,
113
- g,
114
- c,
115
- S
116
- ]
117
- ) };
118
- }, st = (o = 1) => {
119
- const [e, i] = w(o), [n, a] = w(0), { scrollToPage: x } = rt(), d = M(o), { viewMode: r } = O(), { scrollMode: c } = b(), { widths: g } = W(), { pagesRef: l } = ot(), C = et(e, 100), P = h(
120
- (t) => {
121
- if (!/^[0-9]*$/g.test(t.toString()) || !t)
122
- return { success: !1, currentPage: d.current };
123
- const s = +t;
124
- return s < 0 || s > n ? { success: !1, currentPage: d.current } : (i(s), d.current = s, { success: !0, currentPage: +t });
125
- },
126
- [n]
127
- ), G = h(P, [P]), S = h((t) => {
128
- i(t), d.current = t;
129
- }, []), T = h(
130
- (t, u) => {
131
- const s = P(t);
132
- return s.success && x(s.currentPage, u), s;
133
- },
134
- [P, x]
135
- ), A = h(
136
- (t) => {
137
- const u = t % 2 === 1;
138
- if (!l || u)
139
- return !1;
140
- const s = u ? g[t] : g[t - 1], R = u ? g[t + 1] : g[t];
141
- return r === _.DUAL_PAGE && s + R < l.clientWidth;
142
- },
143
- [r, g, l, n]
144
- ), f = h(() => {
145
- let t = e - 1;
146
- A(t) && (t = e - 2), T(t);
147
- }, [T, e, r, c, A]), m = j(() => r === _.DUAL_PAGE && c === E.PAGE_SCROLLING ? e === n - 1 : e === n, [e, n, r, c]), p = h(() => {
148
- if (m)
149
- return;
150
- let t = e + 1;
151
- A(t) && (t = e + 2), T(t);
152
- }, [T, e, A, r, c, m]);
153
- return {
154
- focusedPage: C,
155
- totalPages: n,
156
- setFocusedPage: G,
157
- resetPage: S,
158
- setTotalPages: a,
159
- nextPage: p,
160
- prevPage: f,
161
- goToPage: T
162
- };
163
- }, U = B({
164
- focusedPage: 0,
165
- setFocusedPage: (o) => {
166
- },
167
- goToPage: (o, e) => ({ success: !!o, currentPage: +o }),
168
- totalPages: 0,
169
- setTotalPages: (o) => {
170
- },
171
- prevPage: () => {
172
- },
173
- nextPage: () => {
174
- }
175
- }), nt = () => {
176
- const o = Z(U);
177
- return typeof (o == null ? void 0 : o.focusedPage) > "u" && q.error("Please use this hooks inside children component of RPProvider"), o;
178
- }, Gt = ({ children: o }) => {
179
- const { pdf: e } = $(), { setCurrentPage: i } = J(), { initialPage: n = 1 } = K(), {
180
- focusedPage: a,
181
- totalPages: x,
182
- setFocusedPage: d,
183
- resetPage: r,
184
- setTotalPages: c,
185
- goToPage: g,
186
- nextPage: l,
187
- prevPage: C
188
- } = st(n), P = M(!0);
189
- return L(() => {
190
- if (!e) {
191
- P.current || (c(0), r(1));
192
- return;
193
- }
194
- if (!e.numPages)
195
- return;
196
- c(e.numPages);
197
- const G = P.current ? n : 1, S = Math.min(Math.max(G, 1), e.numPages);
198
- r(S), P.current = !1;
199
- }, [e, c, r]), L(() => {
200
- i(a);
201
- }, [a, i]), /* @__PURE__ */ y(
202
- U.Provider,
203
- {
204
- value: {
205
- focusedPage: a,
206
- totalPages: x,
207
- setFocusedPage: d,
208
- setTotalPages: c,
209
- nextPage: l,
210
- prevPage: C,
211
- goToPage: g
212
- },
213
- children: o
214
- }
215
- );
216
- };
217
- export {
218
- Gt as P,
219
- rt as a,
220
- st as b,
221
- U as c,
222
- nt as u
223
- };