@pdf-viewer/react 1.9.1-rc.0 → 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 (75) 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 +20 -19
  6. package/dist/components/RPPages.js +4 -2
  7. package/dist/components/layout/LayoutContainer.js +4 -2
  8. package/dist/components/layout/RPDefaultLayout.js +1 -1
  9. package/dist/components/layout/RPLayout.js +5 -3
  10. package/dist/components/layout/sidebar/RPSidebar.js +1 -1
  11. package/dist/components/layout/sidebar/Thumbnail.js +4 -2
  12. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  13. package/dist/components/layout/toolbar/DocumentDialog.js +4 -2
  14. package/dist/components/layout/toolbar/FileDownloadTool.js +1 -1
  15. package/dist/components/layout/toolbar/MostPageTool.js +4 -2
  16. package/dist/components/layout/toolbar/OtherTool.js +1 -1
  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 +2 -2
  21. package/dist/components/layout/toolbar/SearchResultNavigator.js +1 -1
  22. package/dist/components/layout/toolbar/SearchTool.js +4 -2
  23. package/dist/components/layout/toolbar/ThumbnailTool.js +1 -1
  24. package/dist/components/layout/toolbar/ToolbarCustom.js +9 -7
  25. package/dist/components/layout/toolbar/ToolbarDefault.js +8 -6
  26. package/dist/components/layout/toolbar/ZoomTool.js +128 -28
  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 +5 -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 +13 -13
  34. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +38 -64
  35. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +18 -18
  36. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +12 -9
  37. package/dist/components/page/AnnotationLayer.js +4 -2
  38. package/dist/components/page/CanvasLayer.js +4 -2
  39. package/dist/components/page/DualPage.js +1 -1
  40. package/dist/components/page/RPPage.js +4 -2
  41. package/dist/components/page/SinglePage.js +1 -1
  42. package/dist/components/page/TextHighlightLayer.js +4 -2
  43. package/dist/components/page/TextLayer.js +4 -2
  44. package/dist/components/ui/LoadingIndicator.js +1 -1
  45. package/dist/contexts/ElementPageContext.js +25 -20
  46. package/dist/contexts/GlobalCurrentPage.js +16 -0
  47. package/dist/contexts/PaginationContext.js +5 -4
  48. package/dist/contexts/PrintContext.js +1 -1
  49. package/dist/contexts/RPDocumentContext.js +31 -29
  50. package/dist/contexts/RenderQueueProvider.js +1 -1
  51. package/dist/contexts/SearchContext.js +1 -1
  52. package/dist/contexts/ThumbnailsContext.js +1 -1
  53. package/dist/contexts/ZoomContext.js +86 -39
  54. package/dist/main.js +1 -1
  55. package/dist/{th_TH-f515b3ad.js → th_TH-d627cd51.js} +19 -19
  56. package/dist/types/contexts/GlobalCurrentPage.d.ts +11 -0
  57. package/dist/types/locales/en_US.json.d.ts +3 -3
  58. package/dist/types/utils/hooks/useLoadPdf.d.ts +2 -1
  59. package/dist/types/utils/types.d.ts +9 -5
  60. package/dist/utils/getZoomLevel.js +13 -12
  61. package/dist/utils/hooks/useFileDownload.js +4 -2
  62. package/dist/utils/hooks/useLicense.js +1 -1
  63. package/dist/utils/hooks/useLoadPdf.js +64 -57
  64. package/dist/utils/hooks/useLocalization.js +1 -1
  65. package/dist/utils/hooks/usePaginate.js +4 -2
  66. package/dist/utils/hooks/usePinch.js +17 -17
  67. package/dist/utils/hooks/usePresentPage.js +4 -2
  68. package/dist/utils/hooks/usePrint.js +4 -2
  69. package/dist/utils/hooks/useScrollToPage.js +4 -2
  70. package/dist/utils/hooks/useSearch.js +4 -2
  71. package/dist/utils/hooks/useThumbnail.js +4 -2
  72. package/dist/utils/hooks/useVirtualReactWindow.js +4 -2
  73. package/dist/utils/types.js +11 -10
  74. package/package.json +1 -1
  75. package/dist/ToolbarLayout.module-cd89d275.js +0 -3455
@@ -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 { i as h, c as u, o as t, p as b, q as f } from "../../../ToolbarLayout.module-cd89d275.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";
@@ -26,6 +26,7 @@ import "../../../contexts/DownloadContext.js";
26
26
  import "../../../contexts/SmoothScrollContext.js";
27
27
  import "../../../contexts/ElementPageContext.js";
28
28
  import "../../../contexts/PagesRotateContext.js";
29
+ import "../../../contexts/GlobalCurrentPage.js";
29
30
  import "../../../contexts/LoaderContext.js";
30
31
  import "../../../contexts/ToolComponentContext.js";
31
32
  import "../../../contexts/IconToolContext.js";
@@ -44,12 +45,13 @@ import "../../icons/LoaderIcon.js";
44
45
  import "../../../contexts/IconContext.js";
45
46
  import "../../ui/RPTooltip.js";
46
47
  import "../../ui/DropDown.js";
48
+ import "../../../ZoomTool.module-6c5eabbb.js";
47
49
  import "./MenuItem.js";
48
50
  import "./MenuSeparator.js";
49
51
  import { RPHorizontalBar as x } from "./tools/defaults/RPHorizontalBar.js";
50
52
  import { RPVerticalBar as C } from "./tools/defaults/RPVerticalBar.js";
51
- const vr = (a) => {
52
- 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 || {};
53
55
  return /* @__PURE__ */ o(p, { children: [
54
56
  /* @__PURE__ */ o("div", { className: t["rp-toolbar-layout"], children: [
55
57
  /* @__PURE__ */ r("div", { "data-rp": "topbar", className: t["rp-topbar-content"], children: /* @__PURE__ */ r(x, {}) }),
@@ -62,16 +64,16 @@ const vr = (a) => {
62
64
  "data-rp": "thumbnailSidebar",
63
65
  hidden: !i,
64
66
  className: t["rp-thumbnails-wrapper"],
65
- children: /* @__PURE__ */ r(b, { show: i, ref: s })
67
+ children: /* @__PURE__ */ r(b, { show: i, ref: n })
66
68
  }
67
69
  )
68
70
  ] }),
69
- /* @__PURE__ */ r("div", { ref: n, className: t["rp-pages"], children: e })
71
+ /* @__PURE__ */ r("div", { ref: s, className: t["rp-pages"], children: e })
70
72
  ] })
71
73
  ] }),
72
74
  c && m ? /* @__PURE__ */ r(f, { percentage: m }) : null
73
75
  ] });
74
76
  };
75
77
  export {
76
- vr as ToolbarDefault
78
+ xr as ToolbarDefault
77
79
  };
@@ -1,30 +1,130 @@
1
- import "react/jsx-runtime";
2
- import "react";
3
- import "../../../contexts/ZoomContext.js";
4
- import "../../icons/ChevronUpIcon.js";
5
- import "../../icons/ZoomInIcon.js";
6
- import "../../icons/ZoomOutIcon.js";
7
- import "../../ui/Button.js";
8
- import { Z as A } from "../../../ToolbarLayout.module-cd89d275.js";
9
- import "../../ui/DropDown.js";
10
- import "../../../contexts/LayoutContainerContext.js";
11
- import "../../../index-f4a9ae4d.js";
12
- import "./MenuItem.js";
13
- import "./MenuSeparator.js";
14
- import "../../../contexts/ToolbarComponentContext.js";
15
- import "../../../contexts/IconContext.js";
16
- import "../../../utils/constants.js";
17
- import "../../../contexts/ViewportContext.js";
18
- import "../../ui/RPTooltip.js";
19
- import "../../../utils/types.js";
20
- import "../../../utils/getZoomLevel.js";
21
- import "../../../contexts/LocalizationContext.js";
22
- import "../../../contexts/RPDocumentContext.js";
23
- import "../../../contexts/ViewModeContext.js";
24
- import "../../../contexts/PagesRotateContext.js";
25
- import "../../../clsx-0c6e471a.js";
26
- import "../../../contexts/IconToolContext.js";
27
- 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
+ };
28
128
  export {
29
- A as ZoomTool
129
+ Oo as ZoomTool
30
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-cd89d275.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, j as p } from "../../../../ToolbarLayout.module-cd89d275.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-cd89d275.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";
@@ -28,6 +28,7 @@ import "../../../../contexts/DownloadContext.js";
28
28
  import "../../../../contexts/SmoothScrollContext.js";
29
29
  import "../../../../contexts/ElementPageContext.js";
30
30
  import "../../../../contexts/PagesRotateContext.js";
31
+ import "../../../../contexts/GlobalCurrentPage.js";
31
32
  import "../../../../contexts/LoaderContext.js";
32
33
  import "../../../../contexts/ToolComponentContext.js";
33
34
  import "../../../../contexts/IconToolContext.js";
@@ -46,12 +47,13 @@ import "../../../icons/LoaderIcon.js";
46
47
  import "../../../../contexts/IconContext.js";
47
48
  import h from "../../../ui/RPTooltip.js";
48
49
  import "../../../ui/DropDown.js";
50
+ import "../../../../ZoomTool.module-6c5eabbb.js";
49
51
  import "../MenuItem.js";
50
52
  import "../MenuSeparator.js";
51
53
  import "../../../../utils/dateFormatter.js";
52
54
  import "../PropertyItem.js";
53
55
  import "../RotateTool.js";
54
- const Lo = ({ icon: m }) => {
56
+ const To = ({ icon: m }) => {
55
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]);
56
58
  return /* @__PURE__ */ i(l, { children: /* @__PURE__ */ i(h, { content: o == null ? void 0 : o.nextPageTooltip, children: /* @__PURE__ */ i(
57
59
  f,
@@ -64,5 +66,5 @@ const Lo = ({ icon: m }) => {
64
66
  ) }) });
65
67
  };
66
68
  export {
67
- Lo as NextPageTool
69
+ To as NextPageTool
68
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-cd89d275.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-cd89d275.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 { i as h } from "../../../../ToolbarLayout.module-cd89d275.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
- import { jsx as t, Fragment as f } from "react/jsx-runtime";
2
- import { useCallback as d, useMemo as u } from "react";
3
- import { useZoomContext as I } from "../../../../contexts/ZoomContext.js";
4
- import { ZoomInIcon as a } from "../../../icons/ZoomInIcon.js";
1
+ import { jsx as r, Fragment as c } from "react/jsx-runtime";
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
5
  import { UIButton as Z } from "../../../ui/Button.js";
6
- import h from "../../../ui/RPTooltip.js";
7
- import { useLocalizationContext as s } from "../../../../contexts/LocalizationContext.js";
6
+ import a from "../../../ui/RPTooltip.js";
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 { zoomLevel: r, setZoomLevel: m } = I(), { localeMessages: o } = s(), e = d(() => {
11
- m((p) => {
12
- const c = Math.floor(p / 25) * 25;
13
- return Math.min(c + 25, i);
10
+ const { currentZoom: t, setZoomLevel: m } = u(), { localeMessages: o } = h(), e = f(() => {
11
+ m(() => {
12
+ const p = Math.floor(t * 100 / 25) * 25;
13
+ return Math.min(p + 25, i);
14
14
  });
15
- }, [m]), l = u(() => r >= i, [r]);
16
- return /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(h, { content: o == null ? void 0 : o.zoomInTooltip, children: /* @__PURE__ */ t(
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
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__ */ t(a, {})
22
+ children: n || /* @__PURE__ */ r(I, {})
23
23
  }
24
24
  ) }) });
25
25
  };
@@ -1,82 +1,56 @@
1
- import { jsx as e, Fragment as Z, jsxs as p } from "react/jsx-runtime";
2
- import { useState as k, useRef as G, useMemo as N, useCallback as z, useEffect as S } from "react";
3
- import { useZoomContext as W } from "../../../../contexts/ZoomContext.js";
4
- import { UIButton as E } from "../../../ui/Button.js";
5
- import { u as y, k as i } from "../../../../ToolbarLayout.module-cd89d275.js";
6
- import { UIDropDown as F } from "../../../ui/DropDown.js";
7
- import { useLayoutContainer as R } from "../../../../contexts/LayoutContainerContext.js";
8
- import { G as C } from "../../../../index-f4a9ae4d.js";
9
- import { MenuItem as l } from "../MenuItem.js";
10
- import { MenuSeparator as U } from "../MenuSeparator.js";
11
- import { PAGE_PADDING as g } from "../../../../utils/constants.js";
12
- import _ from "../../../ui/RPTooltip.js";
13
- import { ZoomLevel as s } from "../../../../utils/types.js";
14
- import { getZoomLevel as j } from "../../../../utils/getZoomLevel.js";
15
- import { useLocalizationContext as O } from "../../../../contexts/LocalizationContext.js";
16
- import { useDocumentContext as V } from "../../../../contexts/RPDocumentContext.js";
17
- import { useViewModeContext as B } from "../../../../contexts/ViewModeContext.js";
18
- import { useRotationContext as $ } from "../../../../contexts/RotationContext.js";
19
- import { ChevronDownIcon as q } from "../../../icons/ChevronDownIcon.js";
20
- const J = [50, 75, 100, 125, 150, 200, 300, 400], fo = ({ icon: u }) => {
21
- const { zoomLevel: v, setZoomLevel: m } = W(), { container: L, pagesRef: r } = R(), { focusedPage: h } = y(), { rotate: a } = $(), { pages: d } = V(), { localeMessages: o } = O(), { viewMode: P } = B(), [b, w] = k(0), f = G(
1
+ import { jsx as r, Fragment as z, jsxs as i } from "react/jsx-runtime";
2
+ import { useState as v, useRef as x, useEffect as C } from "react";
3
+ import { useZoomContext as L } from "../../../../contexts/ZoomContext.js";
4
+ import { UIButton as T } from "../../../ui/Button.js";
5
+ import { c as e } from "../../../../ZoomTool.module-6c5eabbb.js";
6
+ import { UIDropDown as w } from "../../../ui/DropDown.js";
7
+ import { useLayoutContainer as I } from "../../../../contexts/LayoutContainerContext.js";
8
+ import { G as h } from "../../../../index-f4a9ae4d.js";
9
+ import { MenuItem as m } from "../MenuItem.js";
10
+ import { MenuSeparator as b } from "../MenuSeparator.js";
11
+ import A from "../../../ui/RPTooltip.js";
12
+ import { ZoomLevel as p } from "../../../../utils/types.js";
13
+ import { useLocalizationContext as N } from "../../../../contexts/LocalizationContext.js";
14
+ import { ChevronDownIcon as P } from "../../../icons/ChevronDownIcon.js";
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(
22
17
  new ResizeObserver((t) => {
23
- w(t[0].contentRect.height);
18
+ s(t[0].contentRect.height);
24
19
  })
25
- ), n = N(() => {
26
- const t = d.get(h);
27
- return t ? t.page.getViewport({ scale: 1, rotation: a + t.defaultRotation }) : null;
28
- }, [d, h, a]), x = z(
29
- (t) => {
30
- const A = ((n == null ? void 0 : n.width) || 0) + 2 * g, D = ((n == null ? void 0 : n.height) || 0) + 2 * g, H = (r == null ? void 0 : r.clientWidth) || 0, I = (r == null ? void 0 : r.clientHeight) || 0, T = j(
31
- t,
32
- H,
33
- I,
34
- A,
35
- D,
36
- P
37
- );
38
- m(T);
39
- },
40
- [m, n, r]
41
- ), c = z(
42
- (t) => {
43
- typeof t == "number" ? m(t) : x(t);
44
- },
45
- [m, x]
46
20
  );
47
- return S(() => (r && f.current.observe(r), () => {
48
- f.current.disconnect();
49
- }), [r]), /* @__PURE__ */ e(Z, { children: /* @__PURE__ */ e(
50
- F,
21
+ return C(() => (c && d.current.observe(c), () => {
22
+ d.current.disconnect();
23
+ }), [c]), /* @__PURE__ */ r(z, { children: /* @__PURE__ */ r(
24
+ w,
51
25
  {
52
- container: L,
53
- triggerComponent: /* @__PURE__ */ e("div", { role: "button", children: /* @__PURE__ */ e(_, { content: o == null ? void 0 : o.zoomSelectTooltip, children: /* @__PURE__ */ p(
54
- E,
26
+ container: a,
27
+ triggerComponent: /* @__PURE__ */ r("div", { role: "button", children: /* @__PURE__ */ r(A, { content: o == null ? void 0 : o.zoomSelectTooltip, children: /* @__PURE__ */ i(
28
+ T,
55
29
  {
56
- className: i["rp-current-zoom-wrapper"],
30
+ className: e["rp-current-zoom-wrapper"],
57
31
  "aria-label": o == null ? void 0 : o.zoomSelectTooltip,
58
32
  children: [
59
- /* @__PURE__ */ e("span", { className: i["rp-current-zoom-text"], children: v }),
60
- /* @__PURE__ */ e("span", { className: i["rp-current-zoom-text"], children: "%" }),
61
- /* @__PURE__ */ e("div", { className: i["rp-zoom-level-icon"], children: u || /* @__PURE__ */ e(q, {}) })
33
+ /* @__PURE__ */ r("span", { className: e["rp-current-zoom-text"], children: u }),
34
+ /* @__PURE__ */ r("span", { className: e["rp-current-zoom-text"], children: "%" }),
35
+ /* @__PURE__ */ r("div", { className: e["rp-zoom-level-icon"], children: l || /* @__PURE__ */ r(P, {}) })
62
36
  ]
63
37
  }
64
38
  ) }) }),
65
39
  style: { minWidth: "200px" },
66
40
  align: "center",
67
- children: /* @__PURE__ */ p(
41
+ children: /* @__PURE__ */ i(
68
42
  "div",
69
43
  {
70
- style: { maxHeight: `${b}px`, overflow: "auto" },
71
- className: i["rp-zoom-dropdown-content"],
44
+ style: { maxHeight: `${f}px`, overflow: "auto" },
45
+ className: e["rp-zoom-dropdown-content"],
72
46
  children: [
73
- /* @__PURE__ */ p(C, { children: [
74
- /* @__PURE__ */ e(l, { onClick: () => c(s.ACTUAL), children: o == null ? void 0 : o.zoomActualSize }),
75
- /* @__PURE__ */ e(l, { onClick: () => c(s.PAGE_FIT), children: o == null ? void 0 : o.zoomPageFit }),
76
- /* @__PURE__ */ e(l, { onClick: () => c(s.PAGE_WIDTH), children: o == null ? void 0 : o.zoomPageWidth })
47
+ /* @__PURE__ */ i(h, { children: [
48
+ /* @__PURE__ */ r(m, { onClick: () => n(p.ACTUAL), children: o == null ? void 0 : o.zoomActualSize }),
49
+ /* @__PURE__ */ r(m, { onClick: () => n(p.PAGE_FIT), children: o == null ? void 0 : o.zoomPageFit }),
50
+ /* @__PURE__ */ r(m, { onClick: () => n(p.PAGE_WIDTH), children: o == null ? void 0 : o.zoomPageWidth })
77
51
  ] }),
78
- /* @__PURE__ */ e(U, {}),
79
- /* @__PURE__ */ e(C, { children: J.map((t) => /* @__PURE__ */ p(l, { onClick: () => c(t), children: [
52
+ /* @__PURE__ */ r(b, {}),
53
+ /* @__PURE__ */ r(h, { children: R.map((t) => /* @__PURE__ */ i(m, { onClick: () => n(t), children: [
80
54
  t,
81
55
  " %"
82
56
  ] }, t)) })
@@ -87,5 +61,5 @@ const J = [50, 75, 100, 125, 150, 200, 300, 400], fo = ({ icon: u }) => {
87
61
  ) });
88
62
  };
89
63
  export {
90
- fo as ZoomLevelTool
64
+ _ as ZoomLevelTool
91
65
  };
@@ -1,28 +1,28 @@
1
- import { jsx as t, Fragment as p } from "react/jsx-runtime";
2
- import { useMemo as c, useCallback as O } from "react";
3
- import { useZoomContext as d } from "../../../../contexts/ZoomContext.js";
4
- import { UIButton as f } from "../../../ui/Button.js";
1
+ import { jsx as r, Fragment as c } from "react/jsx-runtime";
2
+ import { useMemo as l, useCallback as p } from "react";
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 h } from "../../../icons/ZoomOutIcon.js";
8
- import { MIN_ZOOM_SCALE as C, MAX_ZOOM_SCALE as s } from "../../../../utils/constants.js";
9
- const I = ({ icon: r }) => {
10
- const { zoomLevel: m, setZoomLevel: i } = d(), { localeMessages: o } = a(), n = c(() => m <= C, [m]), e = O(() => {
11
- i((u) => {
12
- const l = Math.ceil(u / 25) * 25;
13
- return Math.min(l - 25, s);
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
+ const A = ({ icon: m }) => {
10
+ const { currentZoom: t, setZoomLevel: n } = O(), { localeMessages: o } = f(), i = l(() => t <= h, [t]), e = p(() => {
11
+ n(() => {
12
+ const u = Math.ceil(t * 100 / 25) * 25;
13
+ return Math.min(u - 25, C);
14
14
  });
15
- }, [i]);
16
- return /* @__PURE__ */ t(p, { children: /* @__PURE__ */ t(Z, { content: o == null ? void 0 : o.zoomOutTooltip, children: /* @__PURE__ */ t(
17
- f,
15
+ }, [n, t]);
16
+ return /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(Z, { content: o == null ? void 0 : o.zoomOutTooltip, children: /* @__PURE__ */ r(
17
+ d,
18
18
  {
19
- disabled: n,
19
+ disabled: i,
20
20
  onClick: e,
21
21
  "aria-label": o == null ? void 0 : o.zoomOutTooltip,
22
- children: r || /* @__PURE__ */ t(h, {})
22
+ children: m || /* @__PURE__ */ r(a, {})
23
23
  }
24
24
  ) }) });
25
25
  };
26
26
  export {
27
- I as ZoomOutTool
27
+ A as ZoomOutTool
28
28
  };
@@ -2,7 +2,7 @@ import { jsx as o, jsxs as c } from "react/jsx-runtime";
2
2
  import { useState as d, useEffect as f } from "react";
3
3
  import "../../../../../contexts/RPDocumentContext.js";
4
4
  import "../../../../../contexts/DocumentPasswordContext.js";
5
- import { l as t, S as y, m as C, Z as R, n as v } from "../../../../../ToolbarLayout.module-cd89d275.js";
5
+ import { k as t, S as y, l as C, m as R } from "../../../../../ToolbarLayout.module-cbc8e216.js";
6
6
  import "../../../../../contexts/DarkModeContext.js";
7
7
  import "../../../../../contexts/RotationContext.js";
8
8
  import "../../../../../contexts/LayerContext.js";
@@ -25,13 +25,14 @@ import "../../../../../contexts/DownloadContext.js";
25
25
  import "../../../../../contexts/SmoothScrollContext.js";
26
26
  import "../../../../../contexts/ElementPageContext.js";
27
27
  import "../../../../../contexts/PagesRotateContext.js";
28
+ import "../../../../../contexts/GlobalCurrentPage.js";
28
29
  import "../../../../../contexts/LoaderContext.js";
29
- import { useToolComponentContext as x } from "../../../../../contexts/ToolComponentContext.js";
30
- import { useIconToolContext as I } from "../../../../../contexts/IconToolContext.js";
30
+ import { useToolComponentContext as v } from "../../../../../contexts/ToolComponentContext.js";
31
+ import { useIconToolContext as x } from "../../../../../contexts/IconToolContext.js";
31
32
  import "../../../../../contexts/OtherToolContext.js";
32
33
  import "../../../../RPConfig.js";
33
34
  import "../../../Container.js";
34
- import { useViewportContext as T } from "../../../../../contexts/ViewportContext.js";
35
+ import { useViewportContext as I } from "../../../../../contexts/ViewportContext.js";
35
36
  import "../../../../../contexts/ToolbarComponentContext.js";
36
37
  import "../../../WrapperLayout.js";
37
38
  import "../../../../../contexts/ThemeContext.js";
@@ -39,11 +40,13 @@ import "../../../../RPDropFileZone.js";
39
40
  import "../../../../ui/Button.js";
40
41
  import "../../../../ui/RPTooltip.js";
41
42
  import "../../../../ui/Input.js";
43
+ import "../../../../../ZoomTool.module-6c5eabbb.js";
42
44
  import "../../../../ui/DropDown.js";
43
45
  import "../../MenuItem.js";
44
46
  import "../../MenuSeparator.js";
45
- const So = (u) => {
46
- const { icons: i, slots: m } = u, { setIcons: p } = I(), { setSlots: s } = x(), [e, a] = d(!1), [l, n] = d(!1), { isSmallScreen: S } = T(), h = () => S ? { gridTemplateColumns: "25% 60% 15%" } : void 0;
47
+ import { ZoomTool as T } from "../../ZoomTool.js";
48
+ const Co = (u) => {
49
+ const { icons: i, slots: m } = u, { setIcons: p } = x(), { setSlots: s } = v(), [e, a] = d(!1), [l, n] = d(!1), { isSmallScreen: S } = I(), h = () => S ? { gridTemplateColumns: "25% 60% 15%" } : void 0;
47
50
  return f(() => {
48
51
  p((r) => ({ ...r, ...i })), a(!0);
49
52
  }, [i, p, e, a]), f(() => {
@@ -53,10 +56,10 @@ const So = (u) => {
53
56
  /* @__PURE__ */ o(y, {}),
54
57
  /* @__PURE__ */ o(C, {})
55
58
  ] }),
56
- /* @__PURE__ */ o("div", { "data-rp": "topBarCenter", className: t["rp-toolbar-middle"], children: /* @__PURE__ */ o(R, {}) }),
57
- /* @__PURE__ */ o("div", { "data-rp": "topBarRight", className: t["rp-toolbar-end"], children: /* @__PURE__ */ o(v, {}) })
59
+ /* @__PURE__ */ o("div", { "data-rp": "topBarCenter", className: t["rp-toolbar-middle"], children: /* @__PURE__ */ o(T, {}) }),
60
+ /* @__PURE__ */ o("div", { "data-rp": "topBarRight", className: t["rp-toolbar-end"], children: /* @__PURE__ */ o(R, {}) })
58
61
  ] }) });
59
62
  };
60
63
  export {
61
- So as RPHorizontalBar
64
+ Co as RPHorizontalBar
62
65
  };
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "../../contexts/RPDocumentContext.js";
4
4
  import "../../contexts/DocumentPasswordContext.js";
5
- import { F as to } from "../../ToolbarLayout.module-cd89d275.js";
5
+ import { E as mo } from "../../ToolbarLayout.module-cbc8e216.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../utils/types.js";
8
8
  import "../../contexts/RotationContext.js";
@@ -26,6 +26,7 @@ import "../../contexts/DownloadContext.js";
26
26
  import "../../contexts/SmoothScrollContext.js";
27
27
  import "../../contexts/ElementPageContext.js";
28
28
  import "../../contexts/PagesRotateContext.js";
29
+ import "../../contexts/GlobalCurrentPage.js";
29
30
  import "../../contexts/LoaderContext.js";
30
31
  import "../../contexts/ToolComponentContext.js";
31
32
  import "../../contexts/IconToolContext.js";
@@ -45,6 +46,7 @@ import "../icons/LoaderIcon.js";
45
46
  import "../../contexts/IconContext.js";
46
47
  import "../ui/RPTooltip.js";
47
48
  import "../ui/DropDown.js";
49
+ import "../../ZoomTool.module-6c5eabbb.js";
48
50
  import "../layout/toolbar/MenuItem.js";
49
51
  import "../layout/toolbar/MenuSeparator.js";
50
52
  import "../../utils/dateFormatter.js";
@@ -54,5 +56,5 @@ import "pdfjs-dist";
54
56
  import "../../utils/link_service.js";
55
57
  import "../../utils/annotations.js";
56
58
  export {
57
- to as AnnotationLayer
59
+ mo as AnnotationLayer
58
60
  };