@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
@@ -3,7 +3,7 @@ import "../../icons/PrintDefaultIcon.js";
3
3
  import "../../../contexts/ToolbarComponentContext.js";
4
4
  import "../../../contexts/IconContext.js";
5
5
  import "../../ui/Button.js";
6
- import { a2 as P } from "../../../ToolbarLayout.module-231e1237.js";
6
+ import { O } from "../../../ToolbarLayout.module-cbc8e216.js";
7
7
  import "../../../contexts/ViewportContext.js";
8
8
  import "../../../contexts/LocalizationContext.js";
9
9
  import "./MenuItem.js";
@@ -11,5 +11,5 @@ import "../../ui/RPTooltip.js";
11
11
  import "../../../contexts/IconToolContext.js";
12
12
  import "../../../contexts/ToolComponentContext.js";
13
13
  export {
14
- P as PrintTool
14
+ O as PrintTool
15
15
  };
@@ -1,9 +1,10 @@
1
1
  import "react/jsx-runtime";
2
- import { a6 as b } from "../../../ToolbarLayout.module-231e1237.js";
2
+ import { W as e } from "../../../ToolbarLayout.module-cbc8e216.js";
3
+ import "./ZoomTool.js";
3
4
  import "../../../contexts/ToolbarComponentContext.js";
4
5
  import "../../../contexts/ViewportContext.js";
5
6
  import "../../../contexts/ToolComponentContext.js";
6
7
  import "../../../utils/withRef.js";
7
8
  export {
8
- b as RPToolbar
9
+ e as RPToolbar
9
10
  };
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "./FileUploadTool.js";
3
3
  import "./DarkModeTool.js";
4
- import { q as b } from "../../../ToolbarLayout.module-231e1237.js";
4
+ import { m as b } from "../../../ToolbarLayout.module-cbc8e216.js";
5
5
  import "./FullScreenTool.js";
6
6
  import "../../../contexts/ViewportContext.js";
7
7
  export {
@@ -3,7 +3,7 @@ import "../../ui/RPTooltip.js";
3
3
  import "../../ui/Button.js";
4
4
  import "../../icons/ChevronUpIcon.js";
5
5
  import "../../../contexts/LocalizationContext.js";
6
- import { a5 as s } from "../../../ToolbarLayout.module-231e1237.js";
6
+ import { V as s } from "../../../ToolbarLayout.module-cbc8e216.js";
7
7
  import "../../../SearchCloseButton-cbf182aa.js";
8
8
  export {
9
9
  s as SearchResultNavigator
@@ -8,13 +8,14 @@ import "../../ui/Input.js";
8
8
  import "../../ui/Checkbox.js";
9
9
  import "../../icons/ClearIcon.js";
10
10
  import "../../icons/LoaderIcon.js";
11
- import { S as _ } from "../../../ToolbarLayout.module-231e1237.js";
11
+ import { S as po } from "../../../ToolbarLayout.module-cbc8e216.js";
12
12
  import "../../../contexts/IconContext.js";
13
13
  import "../../../contexts/RPDocumentContext.js";
14
14
  import "../../../contexts/DocumentPasswordContext.js";
15
15
  import "../../../contexts/DarkModeContext.js";
16
16
  import "../../../contexts/RotationContext.js";
17
17
  import "../../../contexts/LayerContext.js";
18
+ import "../../../contexts/ZoomContext.js";
18
19
  import "../../../contexts/ViewModeContext.js";
19
20
  import "../../../contexts/ScrollModeContext.js";
20
21
  import "../../../contexts/VirtualScrollContext.js";
@@ -24,12 +25,15 @@ import "../../../contexts/InitialStateContext.js";
24
25
  import "../../../contexts/FullScreenContext.js";
25
26
  import "../../../contexts/FileInputContext.js";
26
27
  import "../../../contexts/DropFileZoneContext.js";
28
+ import "../../../contexts/DimensionPagesContext.js";
27
29
  import "../../../contexts/LocalizationContext.js";
28
30
  import "../../../contexts/HighlightContext.js";
29
31
  import "../../../contexts/LicenseContext.js";
30
32
  import "../../../contexts/DownloadContext.js";
31
33
  import "../../../contexts/SmoothScrollContext.js";
34
+ import "../../../contexts/ElementPageContext.js";
32
35
  import "../../../contexts/PagesRotateContext.js";
36
+ import "../../../contexts/GlobalCurrentPage.js";
33
37
  import "../../../contexts/LoaderContext.js";
34
38
  import "../../../contexts/ToolComponentContext.js";
35
39
  import "../../../contexts/IconToolContext.js";
@@ -42,6 +46,7 @@ import "../WrapperLayout.js";
42
46
  import "../../../contexts/ThemeContext.js";
43
47
  import "../../RPDropFileZone.js";
44
48
  import "../../ui/RPTooltip.js";
49
+ import "../../../ZoomTool.module-6c5eabbb.js";
45
50
  import "../../ui/DropDown.js";
46
51
  import "./MenuItem.js";
47
52
  import "./MenuSeparator.js";
@@ -50,5 +55,5 @@ import "./PropertyItem.js";
50
55
  import "../../icons/InfoIcon.js";
51
56
  import "./RotateTool.js";
52
57
  export {
53
- _ as SearchTool
58
+ po as SearchTool
54
59
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as o, Fragment as u } from "react/jsx-runtime";
2
- import { k as a } from "../../../ToolbarLayout.module-231e1237.js";
2
+ import { i as a } from "../../../ToolbarLayout.module-cbc8e216.js";
3
3
  import { ThumbnailIcon as h } from "../../icons/Thumbnail.js";
4
4
  import { UIButton as p } from "../../ui/Button.js";
5
5
  import e from "../../ui/RPTooltip.js";
@@ -1,6 +1,6 @@
1
1
  import { jsxs as p, Fragment as e, jsx as t } from "react/jsx-runtime";
2
2
  import { useRef as f } from "react";
3
- import { k as v, c as C, r as o, s as g, t as x } from "../../../ToolbarLayout.module-231e1237.js";
3
+ import { i as v, c as C, n as o, o as g, p as x } from "../../../ToolbarLayout.module-cbc8e216.js";
4
4
  import { useLayoutContainer as N } from "../../../contexts/LayoutContainerContext.js";
5
5
  import { useToolbarComponentContext as T } from "../../../contexts/ToolbarComponentContext.js";
6
6
  import "../../../contexts/RPDocumentContext.js";
@@ -8,6 +8,7 @@ import "../../../contexts/DocumentPasswordContext.js";
8
8
  import "../../../contexts/DarkModeContext.js";
9
9
  import "../../../contexts/RotationContext.js";
10
10
  import "../../../contexts/LayerContext.js";
11
+ import "../../../contexts/ZoomContext.js";
11
12
  import "../../../contexts/ViewModeContext.js";
12
13
  import "../../../contexts/ScrollModeContext.js";
13
14
  import "../../../contexts/VirtualScrollContext.js";
@@ -17,12 +18,15 @@ import "../../../contexts/InitialStateContext.js";
17
18
  import "../../../contexts/FullScreenContext.js";
18
19
  import "../../../contexts/FileInputContext.js";
19
20
  import "../../../contexts/DropFileZoneContext.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";
@@ -41,13 +45,14 @@ import "../../icons/LoaderIcon.js";
41
45
  import "../../../contexts/IconContext.js";
42
46
  import "../../ui/RPTooltip.js";
43
47
  import "../../ui/DropDown.js";
48
+ import "../../../ZoomTool.module-6c5eabbb.js";
44
49
  import "./MenuItem.js";
45
50
  import "./MenuSeparator.js";
46
51
  import "../../../utils/dateFormatter.js";
47
52
  import "./PropertyItem.js";
48
53
  import "./RotateTool.js";
49
- const vr = (a) => {
50
- const { children: c, toolbar: l } = a, d = f(null), { setContentRef: h } = N(), { active: s } = v(), { showPrintProgress: u } = T(), { progress: b } = C(), { percentage: n } = b || {}, r = l, i = r == null ? void 0 : r.topbar, m = r == null ? void 0 : r.leftSidebar;
54
+ const Tr = (a) => {
55
+ const { children: c, toolbar: l } = a, d = f(null), { setContentRef: h } = N(), { active: n } = v(), { showPrintProgress: u } = T(), { progress: b } = C(), { percentage: s } = b || {}, r = l, i = r == null ? void 0 : r.topbar, m = r == null ? void 0 : r.leftSidebar;
51
56
  return /* @__PURE__ */ p(e, { children: [
52
57
  /* @__PURE__ */ p("div", { className: o["rp-toolbar-layout"], children: [
53
58
  i && /* @__PURE__ */ t("div", { "data-rp": "topbar", className: o["rp-topbar-content"], children: i == null ? void 0 : i.component }),
@@ -58,18 +63,18 @@ const vr = (a) => {
58
63
  "div",
59
64
  {
60
65
  "data-rp": "thumbnailSidebar",
61
- hidden: !s,
66
+ hidden: !n,
62
67
  className: o["rp-thumbnails-wrapper"],
63
- children: /* @__PURE__ */ t(g, { show: s, ref: d })
68
+ children: /* @__PURE__ */ t(g, { show: n, ref: d })
64
69
  }
65
70
  )
66
71
  ] }),
67
72
  /* @__PURE__ */ t("div", { ref: h, className: o["rp-pages"], children: c })
68
73
  ] })
69
74
  ] }),
70
- u && n ? /* @__PURE__ */ t(x, { percentage: n }) : null
75
+ u && s ? /* @__PURE__ */ t(x, { percentage: s }) : null
71
76
  ] });
72
77
  };
73
78
  export {
74
- vr as ToolbarCustom
79
+ Tr as ToolbarCustom
75
80
  };
@@ -1,6 +1,6 @@
1
1
  import { jsxs as o, Fragment as p, jsx as r } from "react/jsx-runtime";
2
2
  import { useRef as d } from "react";
3
- import { k as h, c as u, r as t, s as b, t as f } from "../../../ToolbarLayout.module-231e1237.js";
3
+ import { i as h, c as u, n as t, o as b, p as f } from "../../../ToolbarLayout.module-cbc8e216.js";
4
4
  import { useLayoutContainer as v } from "../../../contexts/LayoutContainerContext.js";
5
5
  import { useToolbarComponentContext as g } from "../../../contexts/ToolbarComponentContext.js";
6
6
  import "../../../contexts/RPDocumentContext.js";
@@ -8,6 +8,7 @@ import "../../../contexts/DocumentPasswordContext.js";
8
8
  import "../../../contexts/DarkModeContext.js";
9
9
  import "../../../contexts/RotationContext.js";
10
10
  import "../../../contexts/LayerContext.js";
11
+ import "../../../contexts/ZoomContext.js";
11
12
  import "../../../contexts/ViewModeContext.js";
12
13
  import "../../../contexts/ScrollModeContext.js";
13
14
  import "../../../contexts/VirtualScrollContext.js";
@@ -17,12 +18,15 @@ import "../../../contexts/InitialStateContext.js";
17
18
  import "../../../contexts/FullScreenContext.js";
18
19
  import "../../../contexts/FileInputContext.js";
19
20
  import "../../../contexts/DropFileZoneContext.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";
@@ -41,12 +45,13 @@ import "../../icons/LoaderIcon.js";
41
45
  import "../../../contexts/IconContext.js";
42
46
  import "../../ui/RPTooltip.js";
43
47
  import "../../ui/DropDown.js";
48
+ import "../../../ZoomTool.module-6c5eabbb.js";
44
49
  import "./MenuItem.js";
45
50
  import "./MenuSeparator.js";
46
51
  import { RPHorizontalBar as x } from "./tools/defaults/RPHorizontalBar.js";
47
52
  import { RPVerticalBar as C } from "./tools/defaults/RPVerticalBar.js";
48
- const ur = (a) => {
49
- const { children: e } = a, s = d(null), { setContentRef: n } = v(), { active: i } = h(), { showPrintProgress: c } = g(), { progress: l } = u(), { percentage: m } = l || {};
53
+ const xr = (a) => {
54
+ const { children: e } = a, n = d(null), { setContentRef: s } = v(), { active: i } = h(), { showPrintProgress: c } = g(), { progress: l } = u(), { percentage: m } = l || {};
50
55
  return /* @__PURE__ */ o(p, { children: [
51
56
  /* @__PURE__ */ o("div", { className: t["rp-toolbar-layout"], children: [
52
57
  /* @__PURE__ */ r("div", { "data-rp": "topbar", className: t["rp-topbar-content"], children: /* @__PURE__ */ r(x, {}) }),
@@ -59,16 +64,16 @@ const ur = (a) => {
59
64
  "data-rp": "thumbnailSidebar",
60
65
  hidden: !i,
61
66
  className: t["rp-thumbnails-wrapper"],
62
- children: /* @__PURE__ */ r(b, { show: i, ref: s })
67
+ children: /* @__PURE__ */ r(b, { show: i, ref: n })
63
68
  }
64
69
  )
65
70
  ] }),
66
- /* @__PURE__ */ r("div", { ref: n, className: t["rp-pages"], children: e })
71
+ /* @__PURE__ */ r("div", { ref: s, className: t["rp-pages"], children: e })
67
72
  ] })
68
73
  ] }),
69
74
  c && m ? /* @__PURE__ */ r(f, { percentage: m }) : null
70
75
  ] });
71
76
  };
72
77
  export {
73
- ur as ToolbarDefault
78
+ xr as ToolbarDefault
74
79
  };
@@ -1,24 +1,130 @@
1
- import "react/jsx-runtime";
2
- import "react";
3
- import { p as q } from "../../../ToolbarLayout.module-231e1237.js";
4
- import "../../icons/ChevronUpIcon.js";
5
- import "../../icons/ZoomInIcon.js";
6
- import "../../icons/ZoomOutIcon.js";
7
- import "../../ui/Button.js";
8
- import "../../ui/DropDown.js";
9
- import "../../../contexts/LayoutContainerContext.js";
10
- import "../../../index-f4a9ae4d.js";
11
- import "./MenuItem.js";
12
- import "./MenuSeparator.js";
13
- import "../../../contexts/ToolbarComponentContext.js";
14
- import "../../../contexts/IconContext.js";
15
- import "../../../contexts/ViewportContext.js";
16
- import "../../ui/RPTooltip.js";
17
- import "../../../utils/types.js";
18
- import "../../../contexts/LocalizationContext.js";
19
- import "../../../clsx-0c6e471a.js";
20
- import "../../../contexts/IconToolContext.js";
21
- import "../../../contexts/ToolComponentContext.js";
1
+ import { jsx as t, jsxs as c, Fragment as y } from "react/jsx-runtime";
2
+ import { useState as T, useRef as D, useCallback as x, useMemo as h, useEffect as G } from "react";
3
+ import { useZoomContext as _ } from "../../../contexts/ZoomContext.js";
4
+ import { ChevronUpIcon as F } from "../../icons/ChevronUpIcon.js";
5
+ import { ZoomInIcon as H } from "../../icons/ZoomInIcon.js";
6
+ import { ZoomOutIcon as R } from "../../icons/ZoomOutIcon.js";
7
+ import { UIButton as z } from "../../ui/Button.js";
8
+ import { c as e } from "../../../ZoomTool.module-6c5eabbb.js";
9
+ import { UIDropDown as U } from "../../ui/DropDown.js";
10
+ import { useLayoutContainer as j } from "../../../contexts/LayoutContainerContext.js";
11
+ import { G as b } from "../../../index-f4a9ae4d.js";
12
+ import { MenuItem as u } from "./MenuItem.js";
13
+ import { MenuSeparator as B } from "./MenuSeparator.js";
14
+ import { useToolbarComponentContext as V } from "../../../contexts/ToolbarComponentContext.js";
15
+ import { useIconContext as O } from "../../../contexts/IconContext.js";
16
+ import { useViewportContext as X } from "../../../contexts/ViewportContext.js";
17
+ import a from "../../ui/RPTooltip.js";
18
+ import { ZoomLevel as p } from "../../../utils/types.js";
19
+ import { useLocalizationContext as $ } from "../../../contexts/LocalizationContext.js";
20
+ import { c as q } from "../../../clsx-0c6e471a.js";
21
+ import { useIconToolContext as Z } from "../../../contexts/IconToolContext.js";
22
+ import { useToolComponentContext as J } from "../../../contexts/ToolComponentContext.js";
23
+ const K = 25, I = 1e3, Q = [50, 75, 100, 125, 150, 200, 300, 400], Y = () => {
24
+ const { zoomInIcon: r } = O(), { zoomInIcon: n } = Z();
25
+ return r || n || /* @__PURE__ */ t(H, {});
26
+ }, g = () => {
27
+ const { zoomOutIcon: r } = O(), { zoomOutIcon: n } = Z();
28
+ return r || n || /* @__PURE__ */ t(R, {});
29
+ }, Oo = () => {
30
+ const { zoomLevel: r, setZoomLevel: n, currentZoom: i } = _(), { container: v, pagesRef: d } = j(), { zoomTool: l = !0 } = V(), { zoomTool: f = !0 } = J(), { isSmallScreen: A } = X(), { localeMessages: o } = $(), [w, L] = T(0), [s, S] = T(!1), C = D(
31
+ new ResizeObserver((m) => {
32
+ L(m[0].contentRect.height);
33
+ })
34
+ ), P = x(() => {
35
+ n(() => {
36
+ const m = Math.floor(i * 100 / 25) * 25;
37
+ return Math.min(m + 25, I);
38
+ });
39
+ }, [n, i]), N = x(() => {
40
+ n(() => {
41
+ const m = Math.ceil(i * 100 / 25) * 25;
42
+ return Math.min(m - 25, I);
43
+ });
44
+ }, [n, i]), k = h(() => i * 100 <= K, [i]), E = h(() => i * 100 >= I, [i]);
45
+ G(() => (d && C.current.observe(d), () => {
46
+ C.current.disconnect();
47
+ }), [d]);
48
+ const W = h(() => {
49
+ switch (r) {
50
+ case p.ACTUAL:
51
+ return o == null ? void 0 : o.zoomActualSize;
52
+ case p.PAGE_FIT:
53
+ return o == null ? void 0 : o.zoomPageFit;
54
+ case p.PAGE_WIDTH:
55
+ return o == null ? void 0 : o.zoomPageWidth;
56
+ }
57
+ return r;
58
+ }, [r, o]);
59
+ return !l || !f ? null : typeof l == "function" ? /* @__PURE__ */ t(l, { zoomLevel: r, setZoomLevel: n }) : typeof f == "function" ? /* @__PURE__ */ t(f, { zoomLevel: r, setZoomLevel: n }) : /* @__PURE__ */ c("div", { className: e["rp-zoom-wrapper"], children: [
60
+ /* @__PURE__ */ t(a, { content: o == null ? void 0 : o.zoomOutTooltip, children: /* @__PURE__ */ t(
61
+ z,
62
+ {
63
+ disabled: k,
64
+ onClick: N,
65
+ "aria-label": o == null ? void 0 : o.zoomOutTooltip,
66
+ children: /* @__PURE__ */ t(g, {})
67
+ }
68
+ ) }),
69
+ !A && /* @__PURE__ */ t(
70
+ U,
71
+ {
72
+ container: v,
73
+ open: s,
74
+ onOpenChange: S,
75
+ triggerComponent: /* @__PURE__ */ t("div", { role: "button", children: /* @__PURE__ */ t(a, { content: o == null ? void 0 : o.zoomSelectTooltip, children: /* @__PURE__ */ c(
76
+ z,
77
+ {
78
+ className: q(
79
+ e["rp-current-zoom-wrapper"],
80
+ s && e.active
81
+ ),
82
+ "aria-label": o == null ? void 0 : o.zoomSelectTooltip,
83
+ children: [
84
+ typeof r == "number" ? /* @__PURE__ */ c(y, { children: [
85
+ /* @__PURE__ */ t("span", { className: e["rp-current-zoom-text"], children: r }),
86
+ /* @__PURE__ */ t("span", { className: e["rp-current-zoom-text"], children: "%" })
87
+ ] }) : /* @__PURE__ */ t("span", { className: e["rp-current-zoom-text"], children: W }),
88
+ /* @__PURE__ */ t(F, { className: e["rp-current-zoom-icon"] })
89
+ ]
90
+ }
91
+ ) }) }),
92
+ style: { minWidth: "200px" },
93
+ align: "center",
94
+ side: "bottom",
95
+ avoidCollisions: !1,
96
+ children: /* @__PURE__ */ c(
97
+ "div",
98
+ {
99
+ style: { maxHeight: `${w}px`, overflow: "auto" },
100
+ className: e["rp-zoom-dropdown-content"],
101
+ children: [
102
+ /* @__PURE__ */ c(b, { children: [
103
+ /* @__PURE__ */ t(u, { onClick: () => n(p.ACTUAL), children: o == null ? void 0 : o.zoomActualSize }),
104
+ /* @__PURE__ */ t(u, { onClick: () => n(p.PAGE_FIT), children: o == null ? void 0 : o.zoomPageFit }),
105
+ /* @__PURE__ */ t(u, { onClick: () => n(p.PAGE_WIDTH), children: o == null ? void 0 : o.zoomPageWidth })
106
+ ] }),
107
+ /* @__PURE__ */ t(B, {}),
108
+ /* @__PURE__ */ t(b, { children: Q.map((m) => /* @__PURE__ */ c(u, { onClick: () => n(m), children: [
109
+ m,
110
+ " %"
111
+ ] }, m)) })
112
+ ]
113
+ }
114
+ )
115
+ }
116
+ ),
117
+ /* @__PURE__ */ t(a, { content: o == null ? void 0 : o.zoomInTooltip, children: /* @__PURE__ */ t(
118
+ z,
119
+ {
120
+ disabled: E,
121
+ onClick: P,
122
+ "aria-label": o == null ? void 0 : o.zoomInTooltip,
123
+ children: /* @__PURE__ */ t(Y, {})
124
+ }
125
+ ) })
126
+ ] });
127
+ };
22
128
  export {
23
- q as ZoomTool
129
+ Oo as ZoomTool
24
130
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { FileDownloadDefaultIcon as r } from "../../../icons/FileDownloadDefaultIcon.js";
3
3
  import { UIButton as l } from "../../../ui/Button.js";
4
- import { b as d } from "../../../../ToolbarLayout.module-231e1237.js";
4
+ import { b as d } from "../../../../ToolbarLayout.module-cbc8e216.js";
5
5
  import m from "../../../ui/RPTooltip.js";
6
6
  import { useLocalizationContext as p } from "../../../../contexts/LocalizationContext.js";
7
7
  const f = ({ children: t, className: n, localeMessages: o }) => /* @__PURE__ */ i(m, { className: n, content: o == null ? void 0 : o.downloadFileTooltip, children: t }), c = ({ icon: t }) => {
@@ -1,6 +1,6 @@
1
1
  import { jsxs as u, Fragment as h, jsx as g } from "react/jsx-runtime";
2
2
  import { useState as d, useEffect as S, useCallback as o } from "react";
3
- import { u as x, l as p } from "../../../../ToolbarLayout.module-231e1237.js";
3
+ import { u as x, j as p } from "../../../../ToolbarLayout.module-cbc8e216.js";
4
4
  import { useLocalizationContext as C } from "../../../../contexts/LocalizationContext.js";
5
5
  import y from "../../../ui/RPTooltip.js";
6
6
  import { UIInput as E } from "../../../ui/Input.js";
@@ -2,7 +2,7 @@ import { jsx as i, Fragment as l } from "react/jsx-runtime";
2
2
  import { useMemo as d } 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 "../../../../ToolbarLayout.module-231e1237.js";
5
+ import { u as s } from "../../../../ToolbarLayout.module-cbc8e216.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 "../../../../contexts/RPDocumentContext.js";
@@ -10,6 +10,7 @@ import "../../../../contexts/DocumentPasswordContext.js";
10
10
  import "../../../../contexts/DarkModeContext.js";
11
11
  import "../../../../contexts/RotationContext.js";
12
12
  import "../../../../contexts/LayerContext.js";
13
+ import "../../../../contexts/ZoomContext.js";
13
14
  import { useViewModeContext as g } from "../../../../contexts/ViewModeContext.js";
14
15
  import { useScrollModeContext as C } from "../../../../contexts/ScrollModeContext.js";
15
16
  import "../../../../contexts/VirtualScrollContext.js";
@@ -20,11 +21,14 @@ import "../../../../contexts/FullScreenContext.js";
20
21
  import "../../../../contexts/FileInputContext.js";
21
22
  import "../../../../contexts/DropFileZoneContext.js";
22
23
  import "../../../../contexts/LayoutContainerContext.js";
24
+ import "../../../../contexts/DimensionPagesContext.js";
23
25
  import "../../../../contexts/HighlightContext.js";
24
26
  import "../../../../contexts/LicenseContext.js";
25
27
  import "../../../../contexts/DownloadContext.js";
26
28
  import "../../../../contexts/SmoothScrollContext.js";
29
+ import "../../../../contexts/ElementPageContext.js";
27
30
  import "../../../../contexts/PagesRotateContext.js";
31
+ import "../../../../contexts/GlobalCurrentPage.js";
28
32
  import "../../../../contexts/LoaderContext.js";
29
33
  import "../../../../contexts/ToolComponentContext.js";
30
34
  import "../../../../contexts/IconToolContext.js";
@@ -43,12 +47,13 @@ import "../../../icons/LoaderIcon.js";
43
47
  import "../../../../contexts/IconContext.js";
44
48
  import h from "../../../ui/RPTooltip.js";
45
49
  import "../../../ui/DropDown.js";
50
+ import "../../../../ZoomTool.module-6c5eabbb.js";
46
51
  import "../MenuItem.js";
47
52
  import "../MenuSeparator.js";
48
53
  import "../../../../utils/dateFormatter.js";
49
54
  import "../PropertyItem.js";
50
55
  import "../RotateTool.js";
51
- const go = ({ icon: m }) => {
56
+ const To = ({ icon: m }) => {
52
57
  const { focusedPage: t, nextPage: n, totalPages: r } = s(), { localeMessages: o } = u(), { viewMode: p } = g(), { scrollMode: e } = C(), a = d(() => p === x.DUAL_PAGE && e === P.PAGE_SCROLLING && t === r - 1 || t === r, [t, r, p, e]);
53
58
  return /* @__PURE__ */ i(l, { children: /* @__PURE__ */ i(h, { content: o == null ? void 0 : o.nextPageTooltip, children: /* @__PURE__ */ i(
54
59
  f,
@@ -61,5 +66,5 @@ const go = ({ icon: m }) => {
61
66
  ) }) });
62
67
  };
63
68
  export {
64
- go as NextPageTool
69
+ To as NextPageTool
65
70
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as r, Fragment as e } from "react/jsx-runtime";
2
2
  import { ChevronUpIcon as p } from "../../../icons/ChevronUpIcon.js";
3
3
  import { UIButton as m } from "../../../ui/Button.js";
4
- import { u as a } from "../../../../ToolbarLayout.module-231e1237.js";
4
+ import { u as a } from "../../../../ToolbarLayout.module-cbc8e216.js";
5
5
  import { useLocalizationContext as u } from "../../../../contexts/LocalizationContext.js";
6
6
  import P from "../../../ui/RPTooltip.js";
7
7
  const h = ({ icon: t }) => {
@@ -1,7 +1,7 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { PrintDefaultTool as n } from "../../../icons/PrintDefaultIcon.js";
3
3
  import { UIButton as p } from "../../../ui/Button.js";
4
- import { c as m } from "../../../../ToolbarLayout.module-231e1237.js";
4
+ import { c as m } from "../../../../ToolbarLayout.module-cbc8e216.js";
5
5
  import { useLocalizationContext as f } from "../../../../contexts/LocalizationContext.js";
6
6
  import T from "../../../ui/RPTooltip.js";
7
7
  const u = ({ children: o, className: i, localeMessages: t }) => /* @__PURE__ */ r(T, { className: i, content: t == null ? void 0 : t.printTooltip, children: o }), h = ({ icon: o }) => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as o, Fragment as l } from "react/jsx-runtime";
2
- import { k as h } from "../../../../ToolbarLayout.module-231e1237.js";
2
+ import { i as h } from "../../../../ToolbarLayout.module-cbc8e216.js";
3
3
  import { ThumbnailIcon as p } from "../../../icons/Thumbnail.js";
4
4
  import { UIButton as u } from "../../../ui/Button.js";
5
5
  import a from "../../../ui/RPTooltip.js";
@@ -1,25 +1,25 @@
1
1
  import { jsx as r, Fragment as c } from "react/jsx-runtime";
2
- import { useCallback as d, useMemo as f } from "react";
3
- import { d as u } from "../../../../ToolbarLayout.module-231e1237.js";
4
- import { ZoomInIcon as a } from "../../../icons/ZoomInIcon.js";
5
- import { UIButton as I } from "../../../ui/Button.js";
6
- import Z from "../../../ui/RPTooltip.js";
2
+ import { useCallback as f, useMemo as d } from "react";
3
+ import { useZoomContext as u } from "../../../../contexts/ZoomContext.js";
4
+ import { ZoomInIcon as I } from "../../../icons/ZoomInIcon.js";
5
+ import { UIButton as Z } from "../../../ui/Button.js";
6
+ import a from "../../../ui/RPTooltip.js";
7
7
  import { useLocalizationContext as h } from "../../../../contexts/LocalizationContext.js";
8
8
  import { MAX_ZOOM_SCALE as i } from "../../../../utils/constants.js";
9
9
  const A = ({ icon: n }) => {
10
- const { currentZoom: t, setZoomLevel: m } = u(), { localeMessages: o } = h(), e = d(() => {
10
+ const { currentZoom: t, setZoomLevel: m } = u(), { localeMessages: o } = h(), e = f(() => {
11
11
  m(() => {
12
12
  const p = Math.floor(t * 100 / 25) * 25;
13
13
  return Math.min(p + 25, i);
14
14
  });
15
- }, [m, t]), l = f(() => t >= i, [t]);
16
- return /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(Z, { content: o == null ? void 0 : o.zoomInTooltip, children: /* @__PURE__ */ r(
17
- I,
15
+ }, [m, t]), l = d(() => t >= i, [t]);
16
+ return /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(a, { content: o == null ? void 0 : o.zoomInTooltip, children: /* @__PURE__ */ r(
17
+ Z,
18
18
  {
19
19
  disabled: l,
20
20
  onClick: e,
21
21
  "aria-label": o == null ? void 0 : o.zoomInTooltip,
22
- children: n || /* @__PURE__ */ r(a, {})
22
+ children: n || /* @__PURE__ */ r(I, {})
23
23
  }
24
24
  ) }) });
25
25
  };
@@ -1,7 +1,8 @@
1
1
  import { jsx as r, Fragment as z, jsxs as i } from "react/jsx-runtime";
2
2
  import { useState as v, useRef as x, useEffect as C } from "react";
3
- import { d as L, m as e } from "../../../../ToolbarLayout.module-231e1237.js";
3
+ import { useZoomContext as L } from "../../../../contexts/ZoomContext.js";
4
4
  import { UIButton as T } from "../../../ui/Button.js";
5
+ import { c as e } from "../../../../ZoomTool.module-6c5eabbb.js";
5
6
  import { UIDropDown as w } from "../../../ui/DropDown.js";
6
7
  import { useLayoutContainer as I } from "../../../../contexts/LayoutContainerContext.js";
7
8
  import { G as h } from "../../../../index-f4a9ae4d.js";
@@ -11,8 +12,8 @@ import A from "../../../ui/RPTooltip.js";
11
12
  import { ZoomLevel as p } from "../../../../utils/types.js";
12
13
  import { useLocalizationContext as N } from "../../../../contexts/LocalizationContext.js";
13
14
  import { ChevronDownIcon as P } from "../../../icons/ChevronDownIcon.js";
14
- const R = [50, 75, 100, 125, 150, 200, 300, 400], O = ({ icon: l }) => {
15
- const { zoomLevel: a, setZoomLevel: n } = L(), { container: u, pagesRef: c } = I(), { localeMessages: o } = N(), [f, s] = v(0), d = x(
15
+ const R = [50, 75, 100, 125, 150, 200, 300, 400], _ = ({ icon: l }) => {
16
+ const { zoomLevel: u, setZoomLevel: n } = L(), { container: a, pagesRef: c } = I(), { localeMessages: o } = N(), [f, s] = v(0), d = x(
16
17
  new ResizeObserver((t) => {
17
18
  s(t[0].contentRect.height);
18
19
  })
@@ -22,14 +23,14 @@ const R = [50, 75, 100, 125, 150, 200, 300, 400], O = ({ icon: l }) => {
22
23
  }), [c]), /* @__PURE__ */ r(z, { children: /* @__PURE__ */ r(
23
24
  w,
24
25
  {
25
- container: u,
26
+ container: a,
26
27
  triggerComponent: /* @__PURE__ */ r("div", { role: "button", children: /* @__PURE__ */ r(A, { content: o == null ? void 0 : o.zoomSelectTooltip, children: /* @__PURE__ */ i(
27
28
  T,
28
29
  {
29
30
  className: e["rp-current-zoom-wrapper"],
30
31
  "aria-label": o == null ? void 0 : o.zoomSelectTooltip,
31
32
  children: [
32
- /* @__PURE__ */ r("span", { className: e["rp-current-zoom-text"], children: a }),
33
+ /* @__PURE__ */ r("span", { className: e["rp-current-zoom-text"], children: u }),
33
34
  /* @__PURE__ */ r("span", { className: e["rp-current-zoom-text"], children: "%" }),
34
35
  /* @__PURE__ */ r("div", { className: e["rp-zoom-level-icon"], children: l || /* @__PURE__ */ r(P, {}) })
35
36
  ]
@@ -60,5 +61,5 @@ const R = [50, 75, 100, 125, 150, 200, 300, 400], O = ({ icon: l }) => {
60
61
  ) });
61
62
  };
62
63
  export {
63
- O as ZoomLevelTool
64
+ _ as ZoomLevelTool
64
65
  };
@@ -1,25 +1,25 @@
1
1
  import { jsx as r, Fragment as c } from "react/jsx-runtime";
2
2
  import { useMemo as l, useCallback as p } from "react";
3
- import { d } from "../../../../ToolbarLayout.module-231e1237.js";
4
- import { UIButton as O } from "../../../ui/Button.js";
3
+ import { useZoomContext as O } from "../../../../contexts/ZoomContext.js";
4
+ import { UIButton as d } from "../../../ui/Button.js";
5
5
  import Z from "../../../ui/RPTooltip.js";
6
- import { useLocalizationContext as a } from "../../../../contexts/LocalizationContext.js";
7
- import { ZoomOutIcon as f } from "../../../icons/ZoomOutIcon.js";
8
- import { MIN_ZOOM_SCALE as h, MAX_ZOOM_SCALE as s } from "../../../../utils/constants.js";
6
+ import { useLocalizationContext as f } from "../../../../contexts/LocalizationContext.js";
7
+ import { ZoomOutIcon as a } from "../../../icons/ZoomOutIcon.js";
8
+ import { MIN_ZOOM_SCALE as h, MAX_ZOOM_SCALE as C } from "../../../../utils/constants.js";
9
9
  const A = ({ icon: m }) => {
10
- const { currentZoom: t, setZoomLevel: n } = d(), { localeMessages: o } = a(), i = l(() => t <= h, [t]), e = p(() => {
10
+ const { currentZoom: t, setZoomLevel: n } = O(), { localeMessages: o } = f(), i = l(() => t <= h, [t]), e = p(() => {
11
11
  n(() => {
12
12
  const u = Math.ceil(t * 100 / 25) * 25;
13
- return Math.min(u - 25, s);
13
+ return Math.min(u - 25, C);
14
14
  });
15
15
  }, [n, t]);
16
16
  return /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(Z, { content: o == null ? void 0 : o.zoomOutTooltip, children: /* @__PURE__ */ r(
17
- O,
17
+ d,
18
18
  {
19
19
  disabled: i,
20
20
  onClick: e,
21
21
  "aria-label": o == null ? void 0 : o.zoomOutTooltip,
22
- children: m || /* @__PURE__ */ r(f, {})
22
+ children: m || /* @__PURE__ */ r(a, {})
23
23
  }
24
24
  ) }) });
25
25
  };