@pdf-viewer/react 1.9.1-rc.1 → 1.9.1-rc.10

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 (74) hide show
  1. package/dist/ToolbarLayout.module-cbc8e216.js +3346 -0
  2. package/dist/ZoomTool.module-6c5eabbb.js +12 -0
  3. package/dist/assets/ToolbarLayout.css +1 -1
  4. package/dist/assets/ZoomTool.css +1 -0
  5. package/dist/components/RPController.js +56 -52
  6. package/dist/components/RPPages.js +8 -2
  7. package/dist/components/layout/LayoutContainer.js +7 -2
  8. package/dist/components/layout/RPDefaultLayout.js +1 -1
  9. package/dist/components/layout/RPLayout.js +8 -3
  10. package/dist/components/layout/sidebar/RPSidebar.js +1 -1
  11. package/dist/components/layout/sidebar/Thumbnail.js +7 -2
  12. package/dist/components/layout/sidebar/Thumbnails.js +2 -2
  13. package/dist/components/layout/toolbar/DocumentDialog.js +7 -2
  14. package/dist/components/layout/toolbar/FileDownloadTool.js +1 -1
  15. package/dist/components/layout/toolbar/MostPageTool.js +7 -2
  16. package/dist/components/layout/toolbar/OtherTool.js +2 -2
  17. package/dist/components/layout/toolbar/Paginate.js +2 -2
  18. package/dist/components/layout/toolbar/PrintTool.js +2 -2
  19. package/dist/components/layout/toolbar/RPToolbar.js +3 -2
  20. package/dist/components/layout/toolbar/RPToolbarEnd.js +1 -1
  21. package/dist/components/layout/toolbar/SearchResultNavigator.js +1 -1
  22. package/dist/components/layout/toolbar/SearchTool.js +7 -2
  23. package/dist/components/layout/toolbar/ThumbnailTool.js +1 -1
  24. package/dist/components/layout/toolbar/ToolbarCustom.js +12 -7
  25. package/dist/components/layout/toolbar/ToolbarDefault.js +11 -6
  26. package/dist/components/layout/toolbar/ZoomTool.js +128 -22
  27. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +1 -1
  28. package/dist/components/layout/toolbar/tools/InputPageTool.js +1 -1
  29. package/dist/components/layout/toolbar/tools/NextPageTool.js +8 -3
  30. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +1 -1
  31. package/dist/components/layout/toolbar/tools/PrintTool.js +1 -1
  32. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +1 -1
  33. package/dist/components/layout/toolbar/tools/ZoomInTool.js +10 -10
  34. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +7 -6
  35. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +9 -9
  36. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +19 -13
  37. package/dist/components/page/AnnotationLayer.js +7 -2
  38. package/dist/components/page/CanvasLayer.js +7 -2
  39. package/dist/components/page/CustomElement.js +20 -4
  40. package/dist/components/page/DualPage.js +1 -1
  41. package/dist/components/page/RPPage.js +8 -2
  42. package/dist/components/page/SinglePage.js +1 -1
  43. package/dist/components/page/TextHighlightLayer.js +7 -2
  44. package/dist/components/page/TextLayer.js +7 -2
  45. package/dist/components/ui/LoadingIndicator.js +1 -1
  46. package/dist/contexts/DimensionPagesContext.js +40 -9
  47. package/dist/contexts/ElementPageContext.js +74 -10
  48. package/dist/contexts/GlobalCurrentPage.js +16 -0
  49. package/dist/contexts/PaginationContext.js +5 -4
  50. package/dist/contexts/PrintContext.js +1 -1
  51. package/dist/contexts/RPDocumentContext.js +31 -29
  52. package/dist/contexts/RenderQueueProvider.js +1 -1
  53. package/dist/contexts/SearchContext.js +3 -3
  54. package/dist/contexts/ThumbnailsContext.js +1 -1
  55. package/dist/contexts/ZoomContext.js +92 -15
  56. package/dist/main.js +64 -62
  57. package/dist/types/contexts/GlobalCurrentPage.d.ts +11 -0
  58. package/dist/types/utils/hooks/useLoadPdf.d.ts +2 -1
  59. package/dist/types/utils/types.d.ts +5 -1
  60. package/dist/utils/getZoomLevel.js +9 -9
  61. package/dist/utils/hooks/useFileDownload.js +7 -2
  62. package/dist/utils/hooks/useLicense.js +1 -1
  63. package/dist/utils/hooks/useLoadPdf.js +64 -57
  64. package/dist/utils/hooks/usePaginate.js +7 -2
  65. package/dist/utils/hooks/usePinch.js +77 -4
  66. package/dist/utils/hooks/usePresentPage.js +7 -2
  67. package/dist/utils/hooks/usePrint.js +7 -2
  68. package/dist/utils/hooks/useScrollToPage.js +7 -2
  69. package/dist/utils/hooks/useSearch.js +7 -2
  70. package/dist/utils/hooks/useThumbnail.js +7 -2
  71. package/dist/utils/hooks/useVirtualReactWindow.js +7 -2
  72. package/dist/utils/types.js +10 -9
  73. package/package.json +1 -1
  74. package/dist/ToolbarLayout.module-231e1237.js +0 -3671
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { F as m, T as r, k as e } from "../ToolbarLayout.module-231e1237.js";
3
+ import { x as m, T as r, i as e } from "../ToolbarLayout.module-cbc8e216.js";
4
4
  export {
5
5
  m as ThumbnailContext,
6
6
  r as ThumbnailProvider,
@@ -1,17 +1,94 @@
1
- import "react/jsx-runtime";
2
- import "react";
3
- import "../utils/types.js";
4
- import "../utils/appConsole.js";
5
- import "./InitialStateContext.js";
6
- import "./RPDocumentContext.js";
7
- import "../utils/constants.js";
8
- import "../utils/getZoomLevel.js";
9
- import "./LayoutContainerContext.js";
10
- import "./ViewModeContext.js";
11
- import "./RotationContext.js";
12
- import { v, Z as C, d as f } from "../ToolbarLayout.module-231e1237.js";
1
+ import { jsx as A } from "react/jsx-runtime";
2
+ import { createContext as I, useContext as M, useState as u, useRef as O, useEffect as p, useCallback as Z, useMemo as x } from "react";
3
+ import { ZoomLevel as R } from "../utils/types.js";
4
+ import { appConsole as J } from "../utils/appConsole.js";
5
+ import { useInitialStateContext as _ } from "./InitialStateContext.js";
6
+ import { useDocumentContext as j } from "./RPDocumentContext.js";
7
+ import { PAGE_PADDING as F } from "../utils/constants.js";
8
+ import { getZoomLevel as C } from "../utils/getZoomLevel.js";
9
+ import { useLayoutContainer as T } from "./LayoutContainerContext.js";
10
+ import { useViewModeContext as k } from "./ViewModeContext.js";
11
+ import { useRotationContext as q } from "./RotationContext.js";
12
+ import { useGlobalCurrentPage as B } from "./GlobalCurrentPage.js";
13
+ import { useDebounce as K } from "../utils/hooks/useDebounce.js";
14
+ const D = I({
15
+ zoomLevel: 100,
16
+ currentZoom: 1,
17
+ setZoomLevel: () => {
18
+ }
19
+ }), me = () => {
20
+ const c = M(D);
21
+ return typeof c.currentZoom != "number" && J.warn("Please use this hooks inside children component of RPProvider"), c;
22
+ }, ue = ({ children: c }) => {
23
+ const { initialScale: W = R.PAGE_FIT } = _(), [n, b] = u(W), { pages: l } = j(), { pagesRef: t } = T(), { viewMode: h } = k(), [H, V] = u({
24
+ width: (t == null ? void 0 : t.clientWidth) || 0,
25
+ height: (t == null ? void 0 : t.clientHeight) || 0
26
+ }), a = K(H, 100), { rotate: g } = q(), [i, z] = u(null), d = O(null), { currentPage: v } = B(), [w, y] = u(v);
27
+ p(() => {
28
+ let e = l.get(w);
29
+ e || (e = l.get(1));
30
+ const o = e == null ? void 0 : e.page.getViewport({
31
+ scale: 1,
32
+ rotation: e.defaultRotation + g
33
+ });
34
+ o && JSON.stringify(o) !== JSON.stringify(d.current) && (d.current = o, z(o));
35
+ }, [l, g, w]);
36
+ const m = Z(() => {
37
+ if (!i)
38
+ return null;
39
+ const e = ((i == null ? void 0 : i.width) || 0) + 2 * F, o = (i == null ? void 0 : i.height) || 0, r = (t == null ? void 0 : t.clientWidth) || 0, s = (t == null ? void 0 : t.clientHeight) || 0;
40
+ return { pageWidth: e, pageHeight: o, clientWidth: r, clientHeight: s };
41
+ }, [i, t]), L = x(() => {
42
+ const e = m();
43
+ if (!a.width || !a.height || !e)
44
+ return 0;
45
+ if (typeof n == "number")
46
+ return n / 100;
47
+ const { clientWidth: o, clientHeight: r, pageWidth: s, pageHeight: f } = e;
48
+ return C(n, o, r, s, f, h) / 100;
49
+ }, [n, a, m, h]);
50
+ p(() => {
51
+ y(v);
52
+ }, [n]), p(() => {
53
+ const e = (r) => {
54
+ r.forEach((s) => {
55
+ V({ width: s.contentRect.width, height: s.contentRect.height });
56
+ });
57
+ }, o = new ResizeObserver(e);
58
+ return t && o.observe(t), () => {
59
+ o.disconnect();
60
+ };
61
+ }, [t]);
62
+ const N = Z(
63
+ (e) => {
64
+ let o = 0;
65
+ if (typeof e == "function") {
66
+ const r = m();
67
+ if (!r)
68
+ return;
69
+ const { clientWidth: s, clientHeight: f, pageWidth: P, pageHeight: E } = r, G = C(
70
+ n,
71
+ s,
72
+ f,
73
+ P,
74
+ E,
75
+ h
76
+ );
77
+ o = e(G);
78
+ } else
79
+ o = e;
80
+ o && b(o);
81
+ },
82
+ [m]
83
+ ), S = x(() => ({
84
+ zoomLevel: n,
85
+ currentZoom: L,
86
+ setZoomLevel: N
87
+ }), [L, n]);
88
+ return /* @__PURE__ */ A(D.Provider, { value: S, children: c });
89
+ };
13
90
  export {
14
- v as ZoomContext,
15
- C as ZoomProvider,
16
- f as useZoomContext
91
+ D as ZoomContext,
92
+ ue as ZoomProvider,
93
+ me as useZoomContext
17
94
  };
package/dist/main.js CHANGED
@@ -1,78 +1,80 @@
1
1
  import { RPProvider as r } from "./components/RPProvider.js";
2
- import { a as x, R as m, S as l, f as p, b as a, u as f, c as n, e as s, d as u } from "./ToolbarLayout.module-231e1237.js";
3
- import { RPConfig as P } from "./components/RPConfig.js";
4
- import { RPLayout as C } from "./components/layout/RPLayout.js";
5
- import { RPController as c } from "./components/RPController.js";
6
- import { RPTheme as g } from "./components/RPTheme.js";
7
- import { RPDropFileZone as F } from "./components/RPDropFileZone.js";
8
- import { useDarkModeContext as S } from "./contexts/DarkModeContext.js";
9
- import { useDocumentContext as w } from "./contexts/RPDocumentContext.js";
10
- import { useRotationContext as v } from "./contexts/RotationContext.js";
11
- import { useViewModeContext as V } from "./contexts/ViewModeContext.js";
12
- import { useDropFileZoneContext as y } from "./contexts/DropFileZoneContext.js";
13
- import { useOpenFileContext as H } from "./contexts/FileInputContext.js";
2
+ import { a as x, R as m, S as l, b as p, u as f, c as a, d as n } from "./ToolbarLayout.module-cbc8e216.js";
3
+ import { RPConfig as u } from "./components/RPConfig.js";
4
+ import { RPLayout as P } from "./components/layout/RPLayout.js";
5
+ import { RPController as C } from "./components/RPController.js";
6
+ import { RPTheme as c } from "./components/RPTheme.js";
7
+ import { RPDropFileZone as g } from "./components/RPDropFileZone.js";
8
+ import { useDarkModeContext as F } from "./contexts/DarkModeContext.js";
9
+ import { useDocumentContext as S } from "./contexts/RPDocumentContext.js";
10
+ import { useRotationContext as w } from "./contexts/RotationContext.js";
11
+ import { useViewModeContext as v } from "./contexts/ViewModeContext.js";
12
+ import { useDropFileZoneContext as V } from "./contexts/DropFileZoneContext.js";
13
+ import { useOpenFileContext as y } from "./contexts/FileInputContext.js";
14
+ import { useZoomContext as H } from "./contexts/ZoomContext.js";
14
15
  import { useHighlightContext as O } from "./contexts/HighlightContext.js";
15
16
  import { usePdfProperties as z } from "./utils/hooks/usePdfProperties.js";
16
17
  import { useFullScreenContext as N } from "./contexts/FullScreenContext.js";
17
18
  import { usePageRotateContext as j } from "./utils/hooks/usePageRotateContext.js";
18
- import { ThemeSwitcherTool as A } from "./components/layout/toolbar/tools/ThemeSwitcherTool.js";
19
- import { ThumbnailTool as J } from "./components/layout/toolbar/tools/ThumbnailTool.js";
20
- import { FileUploadTool as Q } from "./components/layout/toolbar/tools/FileUploadTool.js";
21
- import { FileDownloadTool as X } from "./components/layout/toolbar/tools/FileDownloadTool.js";
22
- import { PrintTool as _ } from "./components/layout/toolbar/tools/PrintTool.js";
23
- import { FullScreenTool as oo } from "./components/layout/toolbar/tools/FullScreenTool.js";
24
- import { PreviousPageTool as ro } from "./components/layout/toolbar/tools/PreviousPageTool.js";
25
- import { NextPageTool as xo } from "./components/layout/toolbar/tools/NextPageTool.js";
26
- import { InputPageTool as lo } from "./components/layout/toolbar/tools/InputPageTool.js";
27
- import { ZoomInTool as ao } from "./components/layout/toolbar/tools/ZoomInTool.js";
28
- import { ZoomOutTool as no } from "./components/layout/toolbar/tools/ZoomOutTool.js";
29
- import { ZoomLevelTool as uo } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
30
- import { RPHorizontalBar as Po } from "./components/layout/toolbar/tools/defaults/RPHorizontalBar.js";
31
- import { RPVerticalBar as Co } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
32
- import { Locales as co, ScrollMode as go, ThemeVariables as ho, ViewMode as Fo, ZoomLevel as Do } from "./utils/types.js";
19
+ import { useElementPageContext as A } from "./contexts/ElementPageContext.js";
20
+ import { ThemeSwitcherTool as J } from "./components/layout/toolbar/tools/ThemeSwitcherTool.js";
21
+ import { ThumbnailTool as Q } from "./components/layout/toolbar/tools/ThumbnailTool.js";
22
+ import { FileUploadTool as X } from "./components/layout/toolbar/tools/FileUploadTool.js";
23
+ import { FileDownloadTool as _ } from "./components/layout/toolbar/tools/FileDownloadTool.js";
24
+ import { PrintTool as oo } from "./components/layout/toolbar/tools/PrintTool.js";
25
+ import { FullScreenTool as ro } from "./components/layout/toolbar/tools/FullScreenTool.js";
26
+ import { PreviousPageTool as xo } from "./components/layout/toolbar/tools/PreviousPageTool.js";
27
+ import { NextPageTool as lo } from "./components/layout/toolbar/tools/NextPageTool.js";
28
+ import { InputPageTool as fo } from "./components/layout/toolbar/tools/InputPageTool.js";
29
+ import { ZoomInTool as no } from "./components/layout/toolbar/tools/ZoomInTool.js";
30
+ import { ZoomOutTool as uo } from "./components/layout/toolbar/tools/ZoomOutTool.js";
31
+ import { ZoomLevelTool as Po } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
32
+ import { RPHorizontalBar as Co } from "./components/layout/toolbar/tools/defaults/RPHorizontalBar.js";
33
+ import { RPVerticalBar as co } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
34
+ import { Locales as ho, ScrollMode as Fo, ThemeVariables as Do, ViewMode as So, ZoomLevel as Zo } from "./utils/types.js";
33
35
  export {
34
- X as FileDownloadTool,
35
- Q as FileUploadTool,
36
- oo as FullScreenTool,
37
- lo as InputPageTool,
38
- co as Locales,
39
- xo as NextPageTool,
40
- ro as PreviousPageTool,
41
- _ as PrintTool,
42
- P as RPConfig,
43
- c as RPController,
36
+ _ as FileDownloadTool,
37
+ X as FileUploadTool,
38
+ ro as FullScreenTool,
39
+ fo as InputPageTool,
40
+ ho as Locales,
41
+ lo as NextPageTool,
42
+ xo as PreviousPageTool,
43
+ oo as PrintTool,
44
+ u as RPConfig,
45
+ C as RPController,
44
46
  x as RPDefaultLayout,
45
- F as RPDropFileZone,
46
- Po as RPHorizontalBar,
47
- C as RPLayout,
47
+ g as RPDropFileZone,
48
+ Co as RPHorizontalBar,
49
+ P as RPLayout,
48
50
  m as RPPages,
49
51
  r as RPProvider,
50
- g as RPTheme,
51
- Co as RPVerticalBar,
52
- go as ScrollMode,
52
+ c as RPTheme,
53
+ co as RPVerticalBar,
54
+ Fo as ScrollMode,
53
55
  l as SearchTool,
54
- A as ThemeSwitcherTool,
55
- ho as ThemeVariables,
56
- J as ThumbnailTool,
57
- Fo as ViewMode,
58
- ao as ZoomInTool,
59
- Do as ZoomLevel,
60
- uo as ZoomLevelTool,
61
- no as ZoomOutTool,
62
- S as useDarkModeContext,
63
- w as useDocumentContext,
64
- y as useDropFileZoneContext,
65
- p as useElementPageContext,
66
- a as useFileDownload,
56
+ J as ThemeSwitcherTool,
57
+ Do as ThemeVariables,
58
+ Q as ThumbnailTool,
59
+ So as ViewMode,
60
+ no as ZoomInTool,
61
+ Zo as ZoomLevel,
62
+ Po as ZoomLevelTool,
63
+ uo as ZoomOutTool,
64
+ F as useDarkModeContext,
65
+ S as useDocumentContext,
66
+ V as useDropFileZoneContext,
67
+ A as useElementPageContext,
68
+ p as useFileDownload,
67
69
  N as useFullScreenContext,
68
70
  O as useHighlightContext,
69
- H as useOpenFileContext,
71
+ y as useOpenFileContext,
70
72
  j as usePageRotateContext,
71
73
  f as usePaginationContext,
72
74
  z as usePdfProperties,
73
- n as usePrintContext,
74
- v as useRotationContext,
75
- s as useSearchContext,
76
- V as useViewModeContext,
77
- u as useZoomContext
75
+ a as usePrintContext,
76
+ w as useRotationContext,
77
+ n as useSearchContext,
78
+ v as useViewModeContext,
79
+ H as useZoomContext
78
80
  };
@@ -0,0 +1,11 @@
1
+ export declare const GlobalCurrentPage: import('react').Context<{
2
+ currentPage: number;
3
+ setCurrentPage: (page: number) => void;
4
+ }>;
5
+ export declare const useGlobalCurrentPage: () => {
6
+ currentPage: number;
7
+ setCurrentPage: (page: number) => void;
8
+ };
9
+ export declare const GlobalCurrentPageProvider: ({ children }: {
10
+ children: React.ReactNode;
11
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,10 @@
1
1
  import { PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api.js';
2
- import { PdfPage, RPSrc, CharacterMap, LoadPDFOptions } from '../types';
2
+ import { PdfPage, RPSrc, CharacterMap, LoadPDFOptions, ErrorType } from '../types';
3
3
  export declare const useLoadPdf: (src?: RPSrc, characterMap?: CharacterMap, options?: LoadPDFOptions) => {
4
4
  pdf: PDFDocumentProxy | undefined;
5
5
  pages: Map<number, PdfPage>;
6
6
  loading: boolean;
7
+ error: ErrorType | undefined;
7
8
  loadingProgress: number;
8
9
  passwordRequired: boolean | undefined;
9
10
  passwordError: string | undefined;
@@ -12,6 +12,7 @@ export interface DocumentContextType {
12
12
  filename?: string | null;
13
13
  loading: boolean;
14
14
  loaderProgress: number;
15
+ error: ErrorType | unknown;
15
16
  }
16
17
  export declare enum AnnotationSubType {
17
18
  Text = 1,
@@ -44,6 +45,9 @@ export declare enum AnnotationType {
44
45
  FORM_BUTTON = "form-button",
45
46
  BUTTON = "button"
46
47
  }
48
+ export declare enum ErrorType {
49
+ NOT_SUPPORTED = "not-supported"
50
+ }
47
51
  export interface AnnotationEventPayload {
48
52
  type: AnnotationType;
49
53
  data: any;
@@ -493,7 +497,7 @@ export interface DimensionPagesContextType {
493
497
  export interface ZoomContextType {
494
498
  zoomLevel: number | ZoomLevel;
495
499
  currentZoom: number;
496
- setZoomLevel: React.Dispatch<React.SetStateAction<number | ZoomLevel>>;
500
+ setZoomLevel: (callback: number | ZoomLevel | ((prev: number) => number | ZoomLevel)) => void;
497
501
  }
498
502
  export type ZoomProps = Omit<ZoomContextType, 'currentZoom'>;
499
503
  export type InitialStateContextType = {
@@ -1,23 +1,23 @@
1
- import { SCROLL_BAR_WIDTH as s, PAGE_PADDING as f } from "./constants.js";
1
+ import { SCROLL_BAR_WIDTH as a } from "./constants.js";
2
2
  import { ViewMode as u, ZoomLevel as r } from "./types.js";
3
- const l = (o, t, a, e, m, A) => {
3
+ const Z = (o, t, m, e, c, s) => {
4
4
  if (typeof o == "number")
5
5
  return o;
6
- const n = A === u.DUAL_PAGE ? 2 * e : e;
6
+ const n = s === u.DUAL_PAGE ? 2 * e : e;
7
7
  switch (o) {
8
8
  case r.PAGE_FIT:
9
- const c = Math.min(
10
- (t - s) / n,
11
- (a - f) / m
9
+ const f = Math.min(
10
+ (t - a) / n,
11
+ m / c
12
12
  );
13
- return Math.floor(c * 100);
13
+ return Math.floor(f * 100);
14
14
  case r.PAGE_WIDTH:
15
- return Math.floor(t / n * 100);
15
+ return Math.floor((t - a) / n * 100);
16
16
  case r.ACTUAL:
17
17
  default:
18
18
  return 100;
19
19
  }
20
20
  };
21
21
  export {
22
- l as getZoomLevel
22
+ Z as getZoomLevel
23
23
  };
@@ -2,10 +2,11 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "../../contexts/RPDocumentContext.js";
4
4
  import "../../contexts/DocumentPasswordContext.js";
5
- import { b as X } from "../../ToolbarLayout.module-231e1237.js";
5
+ import { b as oo } from "../../ToolbarLayout.module-cbc8e216.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
9
+ import "../../contexts/ZoomContext.js";
9
10
  import "../../contexts/ViewModeContext.js";
10
11
  import "../../contexts/ScrollModeContext.js";
11
12
  import "../../contexts/VirtualScrollContext.js";
@@ -16,12 +17,15 @@ import "../../contexts/FullScreenContext.js";
16
17
  import "../../contexts/FileInputContext.js";
17
18
  import "../../contexts/DropFileZoneContext.js";
18
19
  import "../../contexts/LayoutContainerContext.js";
20
+ import "../../contexts/DimensionPagesContext.js";
19
21
  import "../../contexts/LocalizationContext.js";
20
22
  import "../../contexts/HighlightContext.js";
21
23
  import "../../contexts/LicenseContext.js";
22
24
  import "../../contexts/DownloadContext.js";
23
25
  import "../../contexts/SmoothScrollContext.js";
26
+ import "../../contexts/ElementPageContext.js";
24
27
  import "../../contexts/PagesRotateContext.js";
28
+ import "../../contexts/GlobalCurrentPage.js";
25
29
  import "../../contexts/LoaderContext.js";
26
30
  import "../../contexts/ToolComponentContext.js";
27
31
  import "../../contexts/IconToolContext.js";
@@ -41,11 +45,12 @@ import "../../components/icons/LoaderIcon.js";
41
45
  import "../../contexts/IconContext.js";
42
46
  import "../../components/ui/RPTooltip.js";
43
47
  import "../../components/ui/DropDown.js";
48
+ import "../../ZoomTool.module-6c5eabbb.js";
44
49
  import "../../components/layout/toolbar/MenuItem.js";
45
50
  import "../../components/layout/toolbar/MenuSeparator.js";
46
51
  import "../dateFormatter.js";
47
52
  import "../../components/layout/toolbar/PropertyItem.js";
48
53
  import "../../components/layout/toolbar/RotateTool.js";
49
54
  export {
50
- X as useFileDownload
55
+ oo as useFileDownload
51
56
  };
@@ -1,6 +1,6 @@
1
1
  import { useState as E, useCallback as h, useEffect as A } from "react";
2
2
  import { appConsole as l } from "../appConsole.js";
3
- const b = /* @__PURE__ */ new Date("2025-09-29T02:13:58.192Z"), d = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
3
+ const b = /* @__PURE__ */ new Date("2025-10-03T03:57:13.618Z"), d = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
4
4
  invalidLicense: `You are currently using without a valid license. ${d}`,
5
5
  mismatchedDomain: `Your license key is not valid for the current domain / IP. ${d}`,
6
6
  expired: `Your license key has expired. ${d}`,
@@ -1,70 +1,77 @@
1
- import { useState as u, useRef as T, useEffect as y } from "react";
2
- import * as V from "pdfjs-dist";
3
- import { getThumbnailViewport as D } from "../getThumbnailViewport.js";
4
- import { useConfigContext as N } from "../../contexts/ConfigContext.js";
5
- import { useDocumentPasswordContext as U } from "../../contexts/DocumentPasswordContext.js";
6
- const h = (l, e, C = {}) => {
7
- const [r, I] = u(), { workerUrlAdded: L } = N(), [q, k] = u(/* @__PURE__ */ new Map()), i = T(), [v, f] = u(0), [m, x] = u(!1), { password: d, passwordError: S, setPasswordError: g, passwordRequired: P, setPasswordRequired: c } = U(), { onLoadError: p, onLoaded: w } = C;
8
- return y(() => {
9
- if (!L || !l)
1
+ import { useState as a, useRef as N, useEffect as k } from "react";
2
+ import * as x from "pdfjs-dist";
3
+ import { ErrorType as O } from "../types.js";
4
+ import { getThumbnailViewport as U } from "../getThumbnailViewport.js";
5
+ import { useConfigContext as h } from "../../contexts/ConfigContext.js";
6
+ import { useDocumentPasswordContext as j } from "../../contexts/DocumentPasswordContext.js";
7
+ const G = (f, s, V = {}) => {
8
+ const [n, C] = a(), { workerUrlAdded: y } = h(), [I, L] = a(/* @__PURE__ */ new Map()), d = N(), [S, m] = a(0), [P, T] = a(!1), [q, v] = a(), { password: u, passwordError: D, setPasswordError: c, passwordRequired: g, setPasswordRequired: p } = j(), { onLoadError: i, onLoaded: w } = V;
9
+ return k(() => {
10
+ if (!y || !f)
10
11
  return;
11
- f(0), i.current = Date.now();
12
- const t = i.current, E = {
13
- url: l,
14
- cMapPacked: (e == null ? void 0 : e.isCompressed) ?? !0,
15
- ...(e == null ? void 0 : e.url) && { cMapUrl: e.url },
16
- ...d && { password: d },
17
- verbosity: V.VerbosityLevel.ERRORS
18
- }, n = V.getDocument(E);
19
- n.onProgress = (o) => {
20
- if (t === i.current) {
21
- const { loaded: b, total: a } = o, R = a ? Math.min(100, Math.round(b / a * 100)) : 0;
22
- f(R);
23
- }
24
- }, x(!0);
25
- const s = n.promise.then((o) => (t === i.current && (I(o), f(100)), w && w(o), c(!1), g(""), o)).catch((o) => {
26
- o instanceof Error && o.name === "PasswordException" ? (c(!0), g(o.message || "Password required")) : o instanceof Error && o.name === "InvalidPDFException" && d ? (c(!0), g("Incorrect password")) : p && p(o);
27
- }).finally(() => {
28
- x(!1);
29
- });
30
- return () => {
31
- s.finally(() => {
32
- n.destroy();
33
- });
12
+ m(0), d.current = Date.now();
13
+ const r = d.current, E = {
14
+ url: f,
15
+ cMapPacked: (s == null ? void 0 : s.isCompressed) ?? !0,
16
+ ...(s == null ? void 0 : s.url) && { cMapUrl: s.url },
17
+ ...u && { password: u },
18
+ verbosity: x.VerbosityLevel.ERRORS
34
19
  };
35
- }, [l, L, d, p, w]), y(() => {
36
- if (P)
20
+ try {
21
+ const e = x.getDocument(E);
22
+ e.onProgress = (o) => {
23
+ if (r === d.current) {
24
+ const { loaded: R, total: l } = o, b = l ? Math.min(100, Math.round(R / l * 100)) : 0;
25
+ m(b);
26
+ }
27
+ }, T(!0);
28
+ const t = e.promise.then((o) => (r === d.current && (C(o), m(100)), w && w(o), p(!1), c(""), o)).catch((o) => {
29
+ o instanceof Error && o.name === "PasswordException" ? (p(!0), c(o.message || "Password required")) : o instanceof Error && o.name === "InvalidPDFException" && u ? (p(!0), c("Incorrect password")) : i && i(o);
30
+ }).finally(() => {
31
+ T(!1);
32
+ });
33
+ return () => {
34
+ t.finally(() => {
35
+ e.destroy();
36
+ });
37
+ };
38
+ } catch (e) {
39
+ v(O.NOT_SUPPORTED), i && i(e);
40
+ }
41
+ }, [f, y, u, i, w]), k(() => {
42
+ if (g)
37
43
  return;
38
- const t = /* @__PURE__ */ new Map();
39
- if (!r || m) {
40
- k(t);
44
+ const r = /* @__PURE__ */ new Map();
45
+ if (!n || P) {
46
+ L(r);
41
47
  return;
42
48
  }
43
- const E = r.numPages, n = [];
44
- for (let s = 1; s <= E; s++) {
45
- const o = r.getPage(s);
46
- n.push(o);
49
+ const E = n.numPages, e = [];
50
+ for (let t = 1; t <= E; t++) {
51
+ const o = n.getPage(t);
52
+ e.push(o);
47
53
  }
48
- Promise.all(n).then((s) => {
49
- s.map((o) => {
50
- const { thumbnailViewport: b, scale: a } = D(o), R = o.getViewport();
51
- t.set(o.pageNumber, {
54
+ Promise.all(e).then((t) => {
55
+ t.map((o) => {
56
+ const { thumbnailViewport: R, scale: l } = U(o), b = o.getViewport();
57
+ r.set(o.pageNumber, {
52
58
  page: o,
53
- thumbnailViewport: b,
54
- thumbnailScale: a,
55
- defaultRotation: R.rotation
59
+ thumbnailViewport: R,
60
+ thumbnailScale: l,
61
+ defaultRotation: b.rotation
56
62
  });
57
- }), k(t);
63
+ }), L(r);
58
64
  });
59
- }, [r, m, P]), {
60
- pdf: r,
61
- pages: q,
62
- loading: m,
63
- loadingProgress: v,
64
- passwordRequired: P,
65
- passwordError: S
65
+ }, [n, P, g]), {
66
+ pdf: n,
67
+ pages: I,
68
+ loading: P,
69
+ error: q,
70
+ loadingProgress: S,
71
+ passwordRequired: g,
72
+ passwordError: D
66
73
  };
67
74
  };
68
75
  export {
69
- h as useLoadPdf
76
+ G as useLoadPdf
70
77
  };
@@ -1,12 +1,13 @@
1
1
  import "react";
2
2
  import "../types.js";
3
- import { y as Z } from "../../ToolbarLayout.module-231e1237.js";
3
+ import { r as tr } from "../../ToolbarLayout.module-cbc8e216.js";
4
4
  import "react/jsx-runtime";
5
5
  import "../../contexts/RPDocumentContext.js";
6
6
  import "../../contexts/DocumentPasswordContext.js";
7
7
  import "../../contexts/DarkModeContext.js";
8
8
  import "../../contexts/RotationContext.js";
9
9
  import "../../contexts/LayerContext.js";
10
+ import "../../contexts/ZoomContext.js";
10
11
  import "../../contexts/ViewModeContext.js";
11
12
  import "../../contexts/ScrollModeContext.js";
12
13
  import "../../contexts/VirtualScrollContext.js";
@@ -17,12 +18,15 @@ import "../../contexts/FullScreenContext.js";
17
18
  import "../../contexts/FileInputContext.js";
18
19
  import "../../contexts/DropFileZoneContext.js";
19
20
  import "../../contexts/LayoutContainerContext.js";
21
+ import "../../contexts/DimensionPagesContext.js";
20
22
  import "../../contexts/LocalizationContext.js";
21
23
  import "../../contexts/HighlightContext.js";
22
24
  import "../../contexts/LicenseContext.js";
23
25
  import "../../contexts/DownloadContext.js";
24
26
  import "../../contexts/SmoothScrollContext.js";
27
+ import "../../contexts/ElementPageContext.js";
25
28
  import "../../contexts/PagesRotateContext.js";
29
+ import "../../contexts/GlobalCurrentPage.js";
26
30
  import "../../contexts/LoaderContext.js";
27
31
  import "../../contexts/ToolComponentContext.js";
28
32
  import "../../contexts/IconToolContext.js";
@@ -42,6 +46,7 @@ import "../../components/icons/LoaderIcon.js";
42
46
  import "../../contexts/IconContext.js";
43
47
  import "../../components/ui/RPTooltip.js";
44
48
  import "../../components/ui/DropDown.js";
49
+ import "../../ZoomTool.module-6c5eabbb.js";
45
50
  import "../../components/layout/toolbar/MenuItem.js";
46
51
  import "../../components/layout/toolbar/MenuSeparator.js";
47
52
  import "../dateFormatter.js";
@@ -49,5 +54,5 @@ import "../../components/layout/toolbar/PropertyItem.js";
49
54
  import "../../components/layout/toolbar/RotateTool.js";
50
55
  import "./useDebounce.js";
51
56
  export {
52
- Z as usePaginate
57
+ tr as usePaginate
53
58
  };