@pdf-viewer/react 1.9.0-beta.4 → 1.9.0-beta.5

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 (111) hide show
  1. package/dist/Checkbox.module-3edaacbb.js +7 -0
  2. package/dist/Combination-da8647d4.js +693 -0
  3. package/dist/Container.module-f8b5c306.js +6 -0
  4. package/dist/DropDown.module-a78567cb.js +11 -0
  5. package/dist/MenuItem.module-bc11d0d3.js +6 -0
  6. package/dist/MenuSeparator.module-89b2ff7f.js +6 -0
  7. package/dist/PropertyItem.module-db0150cc.js +8 -0
  8. package/dist/RPSplitter.module-13d612c4.js +7 -0
  9. package/dist/RPTheme.module-bd9038da.js +8 -0
  10. package/dist/RotateTool.module-03987eba.js +6 -0
  11. package/dist/SearchTool.module-016f3a8d.js +16 -0
  12. package/dist/ToolbarLayout.module-60c3d6e8.js +2434 -0
  13. package/dist/WrapperLayout.module-147bc943.js +6 -0
  14. package/dist/assets/ToolbarLayout.css +1 -0
  15. package/dist/components/RPConfig.js +673 -691
  16. package/dist/components/RPController.js +9 -9
  17. package/dist/components/RPDropFileZone.js +21 -23
  18. package/dist/components/RPPages.js +21 -18
  19. package/dist/components/RPProvider.js +19 -15
  20. package/dist/components/layout/Container.js +10 -11
  21. package/dist/components/layout/LayoutContainer.js +19 -16
  22. package/dist/components/layout/RPDefaultLayout.js +76 -14
  23. package/dist/components/layout/RPLayout.js +74 -24
  24. package/dist/components/layout/WrapperLayout.js +7 -8
  25. package/dist/components/layout/sidebar/RPSidebar.js +51 -12
  26. package/dist/components/layout/sidebar/RPSplitter.js +7 -9
  27. package/dist/components/layout/sidebar/Thumbnail.js +1 -1
  28. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  29. package/dist/components/layout/toolbar/DocumentDialog.js +307 -24
  30. package/dist/components/layout/toolbar/FileDownloadTool.js +23 -13
  31. package/dist/components/layout/toolbar/MenuItem.js +6 -7
  32. package/dist/components/layout/toolbar/MenuSeparator.js +4 -5
  33. package/dist/components/layout/toolbar/MostPageTool.js +50 -23
  34. package/dist/components/layout/toolbar/OtherTool.js +115 -22
  35. package/dist/components/layout/toolbar/Paginate.js +99 -17
  36. package/dist/components/layout/toolbar/PrintTool.js +43 -13
  37. package/dist/components/layout/toolbar/PropertyItem.js +5 -8
  38. package/dist/components/layout/toolbar/RPToolbar.js +28 -7
  39. package/dist/components/layout/toolbar/RPToolbarEnd.js +22 -7
  40. package/dist/components/layout/toolbar/RotateTool.js +20 -21
  41. package/dist/components/layout/toolbar/ScrollModeTool.js +1 -1
  42. package/dist/components/layout/toolbar/SearchCloseButton.js +19 -7
  43. package/dist/components/layout/toolbar/SearchResultNavigator.js +42 -8
  44. package/dist/components/layout/toolbar/SearchTool.js +198 -29
  45. package/dist/components/layout/toolbar/SelectionModeTool.js +1 -1
  46. package/dist/components/layout/toolbar/ThumbnailTool.js +4 -4
  47. package/dist/components/layout/toolbar/ToolbarCustom.js +48 -20
  48. package/dist/components/layout/toolbar/ToolbarDefault.js +82 -0
  49. package/dist/components/layout/toolbar/ToolbarLayout.js +10 -0
  50. package/dist/components/layout/toolbar/ViewModeTool.js +1 -1
  51. package/dist/components/layout/toolbar/ZoomTool.js +140 -28
  52. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +3 -3
  53. package/dist/components/layout/toolbar/tools/InputPageTool.js +7 -7
  54. package/dist/components/layout/toolbar/tools/NextPageTool.js +21 -18
  55. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +1 -1
  56. package/dist/components/layout/toolbar/tools/PrintTool.js +3 -3
  57. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +1 -1
  58. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +14 -14
  59. package/dist/components/layout/toolbar/tools/defaults/{TopbarDefaultTools.js → RPHorizontalBar.js} +29 -20
  60. package/dist/components/layout/toolbar/tools/defaults/RPVerticalBar.js +16 -0
  61. package/dist/components/page/AnnotationLayer.js +20 -17
  62. package/dist/components/page/CanvasLayer.js +20 -17
  63. package/dist/components/page/DualPage.js +1 -1
  64. package/dist/components/page/RPPage.js +20 -17
  65. package/dist/components/page/SinglePage.js +1 -1
  66. package/dist/components/page/TextHighlightLayer.js +20 -17
  67. package/dist/components/page/TextLayer.js +20 -17
  68. package/dist/components/ui/Checkbox.js +125 -239
  69. package/dist/components/ui/DropDown.js +13 -19
  70. package/dist/components/ui/LoadingIndicator.js +22 -5
  71. package/dist/components/ui/RPTooltip.js +424 -211
  72. package/dist/contexts/PaginationContext.js +4 -4
  73. package/dist/contexts/PrintContext.js +2 -2
  74. package/dist/contexts/SearchContext.js +3 -3
  75. package/dist/contexts/ThumbnailsContext.js +1 -1
  76. package/dist/contexts/ViewportContext.js +42 -35
  77. package/dist/floating-ui.react-dom-f3f380e0.js +1447 -0
  78. package/dist/index-473557b1.js +1191 -0
  79. package/dist/index-8547fbc6.js +307 -0
  80. package/dist/main.js +76 -73
  81. package/dist/types/components/layout/RPDefaultLayout.d.ts +2 -1
  82. package/dist/types/components/layout/RPLayout.d.ts +2 -1
  83. package/dist/types/components/layout/toolbar/RPToolbar.d.ts +2 -3
  84. package/dist/types/components/layout/toolbar/ToolbarCustom.d.ts +2 -2
  85. package/dist/types/components/layout/toolbar/ToolbarDefault.d.ts +4 -0
  86. package/dist/types/components/layout/toolbar/ToolbarLayout.d.ts +3 -0
  87. package/dist/types/components/layout/toolbar/tools/defaults/RPHorizontalBar.d.ts +3 -0
  88. package/dist/types/components/layout/toolbar/tools/defaults/RPVerticalBar.d.ts +3 -0
  89. package/dist/types/main.d.ts +3 -3
  90. package/dist/types/utils/types.d.ts +17 -17
  91. package/dist/utils/hooks/useFileDownload.js +20 -17
  92. package/dist/utils/hooks/useLicense.js +1 -1
  93. package/dist/utils/hooks/usePaginate.js +20 -17
  94. package/dist/utils/hooks/usePresentPage.js +20 -17
  95. package/dist/utils/hooks/usePrint.js +20 -17
  96. package/dist/utils/hooks/useScrollToPage.js +20 -17
  97. package/dist/utils/hooks/useSearch.js +20 -17
  98. package/dist/utils/hooks/useThumbnail.js +20 -17
  99. package/dist/utils/hooks/useVirtualReactWindow.js +20 -17
  100. package/package.json +1 -1
  101. package/dist/RPLayout-5892502c.js +0 -3494
  102. package/dist/SearchCloseButton-cbf182aa.js +0 -33
  103. package/dist/assets/RPLayout.css +0 -1
  104. package/dist/components/layout/toolbar/tools/defaults/LeftSidebarDefaultTools.js +0 -16
  105. package/dist/index-00f8683a.js +0 -1672
  106. package/dist/index-5f66a29f.js +0 -1681
  107. package/dist/index-6b37f504.js +0 -332
  108. package/dist/types/components/layout/toolbar/tools/defaults/LeftSidebarDefaultTools.d.ts +0 -3
  109. package/dist/types/components/layout/toolbar/tools/defaults/TopbarDefaultTools.d.ts +0 -3
  110. /package/dist/assets/{RPDropFileZone.css → RPTheme.css} +0 -0
  111. /package/dist/assets/{SearchCloseButton.css → SearchTool.css} +0 -0
@@ -1,16 +1,16 @@
1
- import "react/jsx-runtime";
2
- import "../../ui/Button.js";
3
- import "../../icons/SearchIcon.js";
4
- import "react";
5
- import "../../../contexts/LayoutContainerContext.js";
6
- import "../../../SearchCloseButton-cbf182aa.js";
7
- import "../../ui/Input.js";
8
- import "../../ui/Checkbox.js";
9
- import "../../icons/ClearIcon.js";
10
- import "../../icons/LoaderIcon.js";
11
- import { S as $ } from "../../../RPLayout-5892502c.js";
12
- import "../../../contexts/IconContext.js";
13
- import "../../../contexts/RPDocumentContext.js";
1
+ import { jsx as o, Fragment as no, jsxs as d } from "react/jsx-runtime";
2
+ import { UIButton as co } from "../../ui/Button.js";
3
+ import { SearchIcon as q } from "../../icons/SearchIcon.js";
4
+ import { useState as x, useCallback as n, useEffect as k, useMemo as N } from "react";
5
+ import { useLayoutContainer as io } from "../../../contexts/LayoutContainerContext.js";
6
+ import { c as r } from "../../../SearchTool.module-016f3a8d.js";
7
+ import { UIInput as ao } from "../../ui/Input.js";
8
+ import { UICheckbox as U } from "../../ui/Checkbox.js";
9
+ import { ClearIcon as so } from "../../icons/ClearIcon.js";
10
+ import { LoaderIcon as po } from "../../icons/LoaderIcon.js";
11
+ import { c as mo } from "../../../ToolbarLayout.module-60c3d6e8.js";
12
+ import { useIconContext as lo } from "../../../contexts/IconContext.js";
13
+ import { useDocumentContext as ho } from "../../../contexts/RPDocumentContext.js";
14
14
  import "../../../contexts/DocumentPasswordContext.js";
15
15
  import "../../../contexts/DarkModeContext.js";
16
16
  import "../../../contexts/RotationContext.js";
@@ -26,7 +26,7 @@ import "../../../contexts/FullScreenContext.js";
26
26
  import "../../../contexts/FileInputContext.js";
27
27
  import "../../../contexts/DropFileZoneContext.js";
28
28
  import "../../../contexts/DimensionPagesContext.js";
29
- import "../../../contexts/LocalizationContext.js";
29
+ import { useLocalizationContext as uo } from "../../../contexts/LocalizationContext.js";
30
30
  import "../../../contexts/HighlightContext.js";
31
31
  import "../../../contexts/LicenseContext.js";
32
32
  import "../../../contexts/DownloadContext.js";
@@ -34,22 +34,191 @@ import "../../../contexts/SmoothScrollContext.js";
34
34
  import "../../../contexts/ElementPageContext.js";
35
35
  import "../../../contexts/PagesRotateContext.js";
36
36
  import "../../../contexts/LoaderContext.js";
37
+ import { useToolComponentContext as fo } from "../../../contexts/ToolComponentContext.js";
38
+ import { useIconToolContext as Co } from "../../../contexts/IconToolContext.js";
39
+ import "../../../contexts/OtherToolContext.js";
37
40
  import "../../RPConfig.js";
38
- import "../../../contexts/ThemeContext.js";
39
- import "../../RPDropFileZone.js";
40
- import "../../../contexts/ToolbarComponentContext.js";
41
- import "../../../contexts/ToolComponentContext.js";
42
- import "../../ui/RPTooltip.js";
43
- import "../../ui/DropDown.js";
44
- import "./MenuItem.js";
45
- import "./MenuSeparator.js";
46
- import "../../../contexts/ViewportContext.js";
47
- import "../../../contexts/IconToolContext.js";
41
+ import { useToolbarComponentContext as Io } from "../../../contexts/ToolbarComponentContext.js";
42
+ import { useViewportContext as xo } from "../../../contexts/ViewportContext.js";
43
+ import b from "../../ui/RPTooltip.js";
44
+ import "../../../MenuItem.module-bc11d0d3.js";
45
+ import { UIDropDown as bo } from "../../ui/DropDown.js";
48
46
  import "../../../utils/dateFormatter.js";
49
- import "./PropertyItem.js";
50
- import "../../../contexts/OtherToolContext.js";
51
- import "../../icons/InfoIcon.js";
52
- import "./RotateTool.js";
47
+ import "../../../PropertyItem.module-db0150cc.js";
48
+ import { InfoIcon as V } from "../../icons/InfoIcon.js";
49
+ import "../../../MenuSeparator.module-89b2ff7f.js";
50
+ import "../../../RotateTool.module-03987eba.js";
51
+ import "../../../RPSplitter.module-13d612c4.js";
52
+ import "../../../Container.module-f8b5c306.js";
53
+ import "../../../WrapperLayout.module-147bc943.js";
54
+ import "../../../RPTheme.module-bd9038da.js";
55
+ import "../../../contexts/ThemeContext.js";
56
+ import { SearchResultNavigator as $ } from "./SearchResultNavigator.js";
57
+ import { SearchCloseButton as j } from "./SearchCloseButton.js";
58
+ const Eo = () => {
59
+ const { searchIcon: u } = lo(), { searchIcon: E } = Co();
60
+ return u || E || /* @__PURE__ */ o(q, {});
61
+ }, vt = ({ icon: u }) => {
62
+ const { container: E } = io(), [f, W] = x(!1), { pdf: z } = ho(), [S, A] = x(null), {
63
+ searchOptions: K,
64
+ setSearchOptions: C,
65
+ loading: F,
66
+ setSearch: s,
67
+ totalMatches: L,
68
+ currentMatchPosition: D,
69
+ nextMatch: O,
70
+ prevMatch: B,
71
+ search: y
72
+ } = mo(), { searchTool: G = !0 } = Io(), { searchTool: H = !0 } = fo(), [m, T] = x(y), { localeMessages: t } = uo(), { isSmallScreen: l } = xo(), [I, J] = x(null), Q = n(() => {
73
+ W(!0);
74
+ }, []), p = n(() => {
75
+ s(""), T(""), W(!1);
76
+ }, [s]), P = (e) => {
77
+ const c = e.key === "Enter", h = e.key === " ";
78
+ (c || h) && p();
79
+ }, v = n(
80
+ (e) => {
81
+ e.key === "Escape" && f && p();
82
+ },
83
+ [f]
84
+ ), X = n(
85
+ (e) => {
86
+ e.shiftKey && e.key === "Enter" ? B() : e.key === "Enter" && y !== m ? s(m) : e.key === "Enter" && O();
87
+ },
88
+ [m, B, O, s, y]
89
+ );
90
+ k(() => (window.addEventListener("keydown", v), () => {
91
+ window.removeEventListener("keydown", v);
92
+ }), [v]), k(() => {
93
+ S && setTimeout(() => {
94
+ S.focus();
95
+ }, 0);
96
+ }, [S]);
97
+ const Y = n((e) => {
98
+ T(e.target.value);
99
+ }, []), Z = n(() => {
100
+ T(""), s("");
101
+ }, [s]), _ = N(() => `${D} / ${L}`, [D, L]), { wholeWords: g, matchCase: M } = N(() => K, [K]), oo = n(
102
+ (e) => {
103
+ C((c) => ({ ...c, matchCase: e }));
104
+ },
105
+ [C]
106
+ ), to = n(
107
+ (e) => {
108
+ C((c) => ({ ...c, wholeWords: e }));
109
+ },
110
+ [C]
111
+ );
112
+ k(() => {
113
+ p();
114
+ }, [z, p]);
115
+ const i = N(() => (I == null ? void 0 : I.querySelectorAll('[tabindex]:not([tabindex="-1"])')) || [], [I]), eo = n(
116
+ (e) => {
117
+ if (e.key === "Tab") {
118
+ const c = document.activeElement;
119
+ let h = 0;
120
+ i.forEach((a, ro) => {
121
+ a === c && (h = ro);
122
+ });
123
+ let w = h + 1;
124
+ e.shiftKey && (w = h - 1);
125
+ const R = i[w];
126
+ if (R)
127
+ R.focus();
128
+ else if (w > i.length - 1) {
129
+ const a = i[0];
130
+ a && a.focus();
131
+ } else {
132
+ const a = i[i.length - 1];
133
+ a && a.focus();
134
+ }
135
+ }
136
+ },
137
+ [i]
138
+ );
139
+ return !G || !H ? null : /* @__PURE__ */ o(no, { children: /* @__PURE__ */ o(
140
+ bo,
141
+ {
142
+ open: f,
143
+ container: E,
144
+ side: "bottom",
145
+ align: "start",
146
+ tabIndex: 0,
147
+ avoidCollisions: !1,
148
+ triggerComponent: /* @__PURE__ */ o(b, { content: t == null ? void 0 : t.searchButtonTooltip, children: /* @__PURE__ */ o(
149
+ co,
150
+ {
151
+ active: f,
152
+ onClick: Q,
153
+ "aria-label": t == null ? void 0 : t.searchButtonTooltip,
154
+ children: u || /* @__PURE__ */ o(Eo, {})
155
+ }
156
+ ) }),
157
+ children: /* @__PURE__ */ d(
158
+ "div",
159
+ {
160
+ ref: J,
161
+ className: r["rp-search-tool-content"],
162
+ tabIndex: 0,
163
+ onKeyDown: eo,
164
+ children: [
165
+ /* @__PURE__ */ d("div", { className: r["rp-search-tool-input-wrapper"], children: [
166
+ /* @__PURE__ */ d("div", { className: r["rp-search-tool-input"], children: [
167
+ /* @__PURE__ */ o(b, { content: t == null ? void 0 : t.searchInputTooltip, children: /* @__PURE__ */ o(
168
+ ao,
169
+ {
170
+ value: m,
171
+ onKeyDown: X,
172
+ onChange: Y,
173
+ icon: /* @__PURE__ */ o(q, {}),
174
+ placeholder: t == null ? void 0 : t.searchInputPlaceholder,
175
+ className: r["rp-search-input"],
176
+ ref: A,
177
+ id: "search-input",
178
+ name: "search-input",
179
+ tabIndex: 0,
180
+ children: !!m && /* @__PURE__ */ o("span", { className: r["rp-search-tool-input-clear"], onClick: Z, children: /* @__PURE__ */ o(so, {}) })
181
+ }
182
+ ) }),
183
+ F ? /* @__PURE__ */ o("span", { children: /* @__PURE__ */ o(po, { className: r["rp-search-loader-icon"] }) }) : /* @__PURE__ */ o("span", { children: _ }),
184
+ l && /* @__PURE__ */ o("div", { className: r["rp-search-tool-controls"], children: /* @__PURE__ */ o(j, { onKeyPress: P, handleClose: p }) })
185
+ ] }),
186
+ /* @__PURE__ */ d("div", { className: r["rp-search-tool-input-checkboxes"], children: [
187
+ l && /* @__PURE__ */ o($, {}),
188
+ /* @__PURE__ */ o(
189
+ U,
190
+ {
191
+ tabIndex: 0,
192
+ name: "matchCase",
193
+ value: M,
194
+ onChange: oo,
195
+ children: t == null ? void 0 : t.searchMatchCaseLabel
196
+ }
197
+ ),
198
+ !l && /* @__PURE__ */ o(b, { content: t == null ? void 0 : t.searchMatchCaseTooltip, children: /* @__PURE__ */ o("div", { className: r["rp-search-icon-info"], tabIndex: 0, children: /* @__PURE__ */ o(V, {}) }) }),
199
+ /* @__PURE__ */ o(
200
+ U,
201
+ {
202
+ tabIndex: 0,
203
+ name: "wholeWord",
204
+ value: g,
205
+ onChange: to,
206
+ children: t == null ? void 0 : t.searchWholeWordsLabel
207
+ }
208
+ ),
209
+ !l && /* @__PURE__ */ o(b, { content: t == null ? void 0 : t.searchWholeWordsTooltip, children: /* @__PURE__ */ o("div", { tabIndex: 0, className: r["rp-search-icon-info"], children: /* @__PURE__ */ o(V, {}) }) })
210
+ ] })
211
+ ] }),
212
+ !l && /* @__PURE__ */ d("div", { className: r["rp-search-tool-controls"], children: [
213
+ /* @__PURE__ */ o($, {}),
214
+ /* @__PURE__ */ o(j, { onKeyPress: P, handleClose: p })
215
+ ] })
216
+ ]
217
+ }
218
+ )
219
+ }
220
+ ) });
221
+ };
53
222
  export {
54
- $ as SearchTool
223
+ vt as SearchTool
55
224
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, Fragment as f, jsxs as i } from "react/jsx-runtime";
2
- import { G as a } from "../../../index-00f8683a.js";
2
+ import { G as a } from "../../../index-473557b1.js";
3
3
  import { TextSelectionDefaultIcon as h } from "../../icons/TextSelectionDefaultIcon.js";
4
4
  import { HandModeDefaultIcon as s } from "../../icons/HandModeDefaultIcon.js";
5
5
  import { CheckIcon as l } from "../../icons/CheckIcon.js";
@@ -1,13 +1,13 @@
1
1
  import { jsx as o, Fragment as u } from "react/jsx-runtime";
2
- import { h as a } from "../../../RPLayout-5892502c.js";
2
+ import { f as a } from "../../../ToolbarLayout.module-60c3d6e8.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";
6
- import { useLocalizationContext as T } from "../../../contexts/LocalizationContext.js";
7
- import { useToolComponentContext as f } from "../../../contexts/ToolComponentContext.js";
6
+ import { useLocalizationContext as f } from "../../../contexts/LocalizationContext.js";
7
+ import { useToolComponentContext as T } from "../../../contexts/ToolComponentContext.js";
8
8
  import { useIconToolContext as s } from "../../../contexts/IconToolContext.js";
9
9
  const y = () => {
10
- const { active: t, setActive: c } = a(), { thumbnailIcon: l } = s(), { thumbnailTool: n = !0 } = f(), { localeMessages: i } = T(), r = i == null ? void 0 : i.thumbnailTooltip, m = () => {
10
+ const { active: t, setActive: c } = a(), { thumbnailIcon: l } = s(), { thumbnailTool: n = !0 } = T(), { localeMessages: i } = f(), r = i == null ? void 0 : i.thumbnailTooltip, m = () => {
11
11
  c(!t);
12
12
  };
13
13
  return n ? typeof n == "function" ? /* @__PURE__ */ o(e, { content: r, children: /* @__PURE__ */ o(n, { onClick: m, active: t }) }) : /* @__PURE__ */ o(u, { children: /* @__PURE__ */ o(e, { content: r, children: /* @__PURE__ */ o(p, { onClick: m, active: t, "aria-label": r, children: l || /* @__PURE__ */ o(h, {}) }) }) }) : null;
@@ -1,8 +1,8 @@
1
- import "react/jsx-runtime";
2
- import "react";
3
- import { W as Y } from "../../../RPLayout-5892502c.js";
4
- import "../../../contexts/LayoutContainerContext.js";
5
- import "../../../contexts/ToolbarComponentContext.js";
1
+ import { jsxs as p, Fragment as e, jsx as t } from "react/jsx-runtime";
2
+ import { useRef as f } from "react";
3
+ import { f as v, b as C, m as o, k as g } from "../../../ToolbarLayout.module-60c3d6e8.js";
4
+ import { useLayoutContainer as x } from "../../../contexts/LayoutContainerContext.js";
5
+ import { useToolbarComponentContext as N } from "../../../contexts/ToolbarComponentContext.js";
6
6
  import "../../../contexts/RPDocumentContext.js";
7
7
  import "../../../contexts/DocumentPasswordContext.js";
8
8
  import "../../../contexts/DarkModeContext.js";
@@ -27,26 +27,54 @@ import "../../../contexts/SmoothScrollContext.js";
27
27
  import "../../../contexts/ElementPageContext.js";
28
28
  import "../../../contexts/PagesRotateContext.js";
29
29
  import "../../../contexts/LoaderContext.js";
30
- import "../../RPConfig.js";
31
- import "../../../contexts/ThemeContext.js";
32
- import "../../RPDropFileZone.js";
33
30
  import "../../../contexts/ToolComponentContext.js";
31
+ import "../../../contexts/IconToolContext.js";
32
+ import "../../../contexts/OtherToolContext.js";
33
+ import "../../RPConfig.js";
34
34
  import "../../ui/Button.js";
35
- import "../../../SearchCloseButton-cbf182aa.js";
36
35
  import "../../ui/Input.js";
37
- import "../../ui/Checkbox.js";
38
- import "../../icons/LoaderIcon.js";
39
36
  import "../../../contexts/IconContext.js";
40
- import "../../ui/RPTooltip.js";
41
37
  import "../../../contexts/ViewportContext.js";
42
- import "../../ui/DropDown.js";
43
- import "../../../contexts/IconToolContext.js";
44
- import "./MenuItem.js";
45
- import "./MenuSeparator.js";
38
+ import "../../ui/RPTooltip.js";
39
+ import "../../../MenuItem.module-bc11d0d3.js";
40
+ import "../../../DropDown.module-a78567cb.js";
46
41
  import "../../../utils/dateFormatter.js";
47
- import "./PropertyItem.js";
48
- import "../../../contexts/OtherToolContext.js";
49
- import "./RotateTool.js";
42
+ import "../../../PropertyItem.module-db0150cc.js";
43
+ import "../../../MenuSeparator.module-89b2ff7f.js";
44
+ import "../../../RotateTool.module-03987eba.js";
45
+ import "../../../SearchTool.module-016f3a8d.js";
46
+ import "../../../Checkbox.module-3edaacbb.js";
47
+ import "../../icons/LoaderIcon.js";
48
+ import T from "../../ui/LoadingIndicator.js";
49
+ import "../../../RPSplitter.module-13d612c4.js";
50
+ import "../../../Container.module-f8b5c306.js";
51
+ import "../../../WrapperLayout.module-147bc943.js";
52
+ import "../../../RPTheme.module-bd9038da.js";
53
+ import "../../../contexts/ThemeContext.js";
54
+ const Tr = (a) => {
55
+ const { children: c, toolbar: l } = a, d = f(null), { setContentRef: h } = x(), { active: n } = v(), { showPrintProgress: u } = N(), { progress: b } = C(), { percentage: s } = b || {}, r = l, i = r == null ? void 0 : r.topbar, m = r == null ? void 0 : r.leftSidebar;
56
+ return /* @__PURE__ */ p(e, { children: [
57
+ /* @__PURE__ */ p("div", { className: o["rp-toolbar-layout"], children: [
58
+ i && /* @__PURE__ */ t("div", { "data-rp": "topbar", className: o["rp-topbar-content"], children: i == null ? void 0 : i.component }),
59
+ /* @__PURE__ */ p("div", { className: o["rp-content"], children: [
60
+ /* @__PURE__ */ p(e, { children: [
61
+ m && /* @__PURE__ */ t("div", { "data-rp": "sidebar", className: o["rp-sidebar-content"], children: m == null ? void 0 : m.component }),
62
+ /* @__PURE__ */ t(
63
+ "div",
64
+ {
65
+ "data-rp": "thumbnailSidebar",
66
+ hidden: !n,
67
+ className: o["rp-thumbnails-wrapper"],
68
+ children: /* @__PURE__ */ t(g, { show: n, ref: d })
69
+ }
70
+ )
71
+ ] }),
72
+ /* @__PURE__ */ t("div", { ref: h, className: o["rp-pages"], children: c })
73
+ ] })
74
+ ] }),
75
+ u && s ? /* @__PURE__ */ t(T, { percentage: s }) : null
76
+ ] });
77
+ };
50
78
  export {
51
- Y as ToolbarCustom
79
+ Tr as ToolbarCustom
52
80
  };
@@ -0,0 +1,82 @@
1
+ import { jsxs as o, Fragment as p, jsx as r } from "react/jsx-runtime";
2
+ import { useRef as d } from "react";
3
+ import { f as h, b as u, m as t, k as f } from "../../../ToolbarLayout.module-60c3d6e8.js";
4
+ import { useLayoutContainer as b } from "../../../contexts/LayoutContainerContext.js";
5
+ import { useToolbarComponentContext as v } from "../../../contexts/ToolbarComponentContext.js";
6
+ import "../../../contexts/RPDocumentContext.js";
7
+ import "../../../contexts/DocumentPasswordContext.js";
8
+ import "../../../contexts/DarkModeContext.js";
9
+ import "../../../contexts/RotationContext.js";
10
+ import "../../../contexts/LayerContext.js";
11
+ import "../../../contexts/ZoomContext.js";
12
+ import "../../../contexts/ViewModeContext.js";
13
+ import "../../../contexts/ScrollModeContext.js";
14
+ import "../../../contexts/VirtualScrollContext.js";
15
+ import "../../../contexts/VirtualGridContext.js";
16
+ import "../../../contexts/SelectionModeContext.js";
17
+ import "../../../contexts/InitialStateContext.js";
18
+ import "../../../contexts/FullScreenContext.js";
19
+ import "../../../contexts/FileInputContext.js";
20
+ import "../../../contexts/DropFileZoneContext.js";
21
+ import "../../../contexts/DimensionPagesContext.js";
22
+ import "../../../contexts/LocalizationContext.js";
23
+ import "../../../contexts/HighlightContext.js";
24
+ import "../../../contexts/LicenseContext.js";
25
+ import "../../../contexts/DownloadContext.js";
26
+ import "../../../contexts/SmoothScrollContext.js";
27
+ import "../../../contexts/ElementPageContext.js";
28
+ import "../../../contexts/PagesRotateContext.js";
29
+ import "../../../contexts/LoaderContext.js";
30
+ import "../../../contexts/ToolComponentContext.js";
31
+ import "../../../contexts/IconToolContext.js";
32
+ import "../../../contexts/OtherToolContext.js";
33
+ import "../../RPConfig.js";
34
+ import "../../ui/Button.js";
35
+ import "../../ui/Input.js";
36
+ import "../../../contexts/IconContext.js";
37
+ import "../../../contexts/ViewportContext.js";
38
+ import "../../ui/RPTooltip.js";
39
+ import "../../../MenuItem.module-bc11d0d3.js";
40
+ import "../../../DropDown.module-a78567cb.js";
41
+ import "../../../utils/dateFormatter.js";
42
+ import "../../../PropertyItem.module-db0150cc.js";
43
+ import "../../../MenuSeparator.module-89b2ff7f.js";
44
+ import "../../../RotateTool.module-03987eba.js";
45
+ import "../../../SearchTool.module-016f3a8d.js";
46
+ import "../../../Checkbox.module-3edaacbb.js";
47
+ import "../../icons/LoaderIcon.js";
48
+ import g from "../../ui/LoadingIndicator.js";
49
+ import "../../../RPSplitter.module-13d612c4.js";
50
+ import "../../../Container.module-f8b5c306.js";
51
+ import "../../../WrapperLayout.module-147bc943.js";
52
+ import "../../../RPTheme.module-bd9038da.js";
53
+ import "../../../contexts/ThemeContext.js";
54
+ import { RPHorizontalBar as x } from "./tools/defaults/RPHorizontalBar.js";
55
+ import { RPVerticalBar as C } from "./tools/defaults/RPVerticalBar.js";
56
+ const Pr = (e) => {
57
+ const { children: a } = e, n = d(null), { setContentRef: s } = b(), { active: i } = h(), { showPrintProgress: l } = v(), { progress: c } = u(), { percentage: m } = c || {};
58
+ return /* @__PURE__ */ o(p, { children: [
59
+ /* @__PURE__ */ o("div", { className: t["rp-toolbar-layout"], children: [
60
+ /* @__PURE__ */ r("div", { "data-rp": "topbar", className: t["rp-topbar-content"], children: /* @__PURE__ */ r(x, {}) }),
61
+ /* @__PURE__ */ o("div", { className: t["rp-content"], children: [
62
+ /* @__PURE__ */ o(p, { children: [
63
+ /* @__PURE__ */ r("div", { "data-rp": "sidebar", className: t["rp-sidebar-content"], children: /* @__PURE__ */ r(C, {}) }),
64
+ /* @__PURE__ */ r(
65
+ "div",
66
+ {
67
+ "data-rp": "thumbnailSidebar",
68
+ hidden: !i,
69
+ className: t["rp-thumbnails-wrapper"],
70
+ children: /* @__PURE__ */ r(f, { show: i, ref: n })
71
+ }
72
+ )
73
+ ] }),
74
+ /* @__PURE__ */ r("div", { ref: s, className: t["rp-pages"], children: a })
75
+ ] })
76
+ ] }),
77
+ l && m ? /* @__PURE__ */ r(g, { percentage: m }) : null
78
+ ] });
79
+ };
80
+ export {
81
+ Pr as ToolbarDefault
82
+ };
@@ -0,0 +1,10 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { ToolbarDefault as e } from "./ToolbarDefault.js";
3
+ import { ToolbarCustom as l } from "./ToolbarCustom.js";
4
+ const b = (a) => {
5
+ const { children: r, toolbar: o } = a;
6
+ return o && typeof o == "boolean" ? /* @__PURE__ */ t(e, { children: r }) : /* @__PURE__ */ t(l, { toolbar: o, children: r });
7
+ };
8
+ export {
9
+ b as ToolbarLayout
10
+ };
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, Fragment as I, jsxs as r } from "react/jsx-runtime";
2
- import { G as P } from "../../../index-00f8683a.js";
2
+ import { G as P } from "../../../index-473557b1.js";
3
3
  import { MenuSeparator as T } from "./MenuSeparator.js";
4
4
  import { MenuItem as m } from "./MenuItem.js";
5
5
  import { DualPageIcon as C } from "../../icons/SinglePageIcon.js";
@@ -1,30 +1,142 @@
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 "../../../RPLayout-5892502c.js";
9
- import "../../ui/DropDown.js";
10
- import "../../../contexts/LayoutContainerContext.js";
11
- import "../../../index-00f8683a.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 u } from "react/jsx-runtime";
2
+ import { useState as L, useRef as B, useCallback as s, useMemo as z, useEffect as X } from "react";
3
+ import { useZoomContext as $ } from "../../../contexts/ZoomContext.js";
4
+ import { ChevronUpIcon as q } from "../../icons/ChevronUpIcon.js";
5
+ import { ZoomInIcon as J } from "../../icons/ZoomInIcon.js";
6
+ import { ZoomOutIcon as K } from "../../icons/ZoomOutIcon.js";
7
+ import { UIButton as C } from "../../ui/Button.js";
8
+ import { u as Q, h as c } from "../../../ToolbarLayout.module-60c3d6e8.js";
9
+ import { UIDropDown as Y } from "../../ui/DropDown.js";
10
+ import { useLayoutContainer as M } from "../../../contexts/LayoutContainerContext.js";
11
+ import { G as A } from "../../../index-473557b1.js";
12
+ import { MenuItem as d } from "./MenuItem.js";
13
+ import { MenuSeparator as oo } from "./MenuSeparator.js";
14
+ import { useToolbarComponentContext as to } from "../../../contexts/ToolbarComponentContext.js";
15
+ import { useIconContext as S } from "../../../contexts/IconContext.js";
16
+ import { PAGE_PADDING as P } from "../../../utils/constants.js";
17
+ import { useViewportContext as no } from "../../../contexts/ViewportContext.js";
18
+ import I from "../../ui/RPTooltip.js";
19
+ import { ZoomLevel as x } from "../../../utils/types.js";
20
+ import { getZoomLevel as ro } from "../../../utils/getZoomLevel.js";
21
+ import { useLocalizationContext as eo } from "../../../contexts/LocalizationContext.js";
22
+ import { useDocumentContext as io } from "../../../contexts/RPDocumentContext.js";
23
+ import { useViewModeContext as mo } from "../../../contexts/ViewModeContext.js";
24
+ import { usePagesRotateContext as co } from "../../../contexts/PagesRotateContext.js";
25
+ import { c as po } from "../../../clsx-0c6e471a.js";
26
+ import { useIconToolContext as D } from "../../../contexts/IconToolContext.js";
27
+ import { useToolComponentContext as uo } from "../../../contexts/ToolComponentContext.js";
28
+ const lo = 25, T = 1e3, so = [50, 75, 100, 125, 150, 200, 300, 400], ho = () => {
29
+ const { zoomInIcon: e } = S(), { zoomInIcon: r } = D();
30
+ return e || r || /* @__PURE__ */ t(J, {});
31
+ }, fo = () => {
32
+ const { zoomOutIcon: e } = S(), { zoomOutIcon: r } = D();
33
+ return e || r || /* @__PURE__ */ t(K, {});
34
+ }, Ro = () => {
35
+ const { zoomLevel: e, setZoomLevel: r } = $(), { container: N, pagesRef: i } = M(), { zoomTool: h = !0 } = to(), { zoomTool: f = !0 } = uo(), { focusedPage: a } = Q(), { pageRotate: Z } = co(), { pages: b } = io(), { isSmallScreen: W } = no(), { localeMessages: o } = eo(), { viewMode: g } = mo(), [k, E] = L(0), [O, H] = L(!1), v = B(
36
+ new ResizeObserver((n) => {
37
+ E(n[0].contentRect.height);
38
+ })
39
+ ), y = s(() => {
40
+ r((n) => {
41
+ const p = Math.floor(n / 25) * 25;
42
+ return Math.min(p + 25, T);
43
+ });
44
+ }, [r]), G = s(() => {
45
+ r((n) => {
46
+ const p = Math.ceil(n / 25) * 25;
47
+ return Math.min(p - 25, T);
48
+ });
49
+ }, [r]), _ = z(() => e <= lo, [e]), U = z(() => e >= T, [e]), m = z(() => {
50
+ const n = b.get(a);
51
+ return n ? n.page.getViewport({ scale: 1, rotation: Z[a] }) : null;
52
+ }, [b, a, Z]), w = s(
53
+ (n) => {
54
+ const p = ((m == null ? void 0 : m.width) || 0) + 2 * P, F = ((m == null ? void 0 : m.height) || 0) + 2 * P, R = (i == null ? void 0 : i.clientWidth) || 0, V = (i == null ? void 0 : i.clientHeight) || 0, j = ro(
55
+ n,
56
+ R,
57
+ V,
58
+ p,
59
+ F,
60
+ g
61
+ );
62
+ r(j);
63
+ },
64
+ [r, m, i]
65
+ ), l = s(
66
+ (n) => {
67
+ typeof n == "number" ? r(n) : w(n);
68
+ },
69
+ [r, w]
70
+ );
71
+ return X(() => (i && v.current.observe(i), () => {
72
+ v.current.disconnect();
73
+ }), [i]), !h || !f ? null : typeof h == "function" ? /* @__PURE__ */ t(h, { zoomLevel: e, setZoomLevel: r }) : typeof f == "function" ? /* @__PURE__ */ t(f, { zoomLevel: e, setZoomLevel: r }) : /* @__PURE__ */ u("div", { className: c["rp-zoom-wrapper"], children: [
74
+ /* @__PURE__ */ t(I, { content: o == null ? void 0 : o.zoomOutTooltip, children: /* @__PURE__ */ t(
75
+ C,
76
+ {
77
+ disabled: _,
78
+ onClick: G,
79
+ "aria-label": o == null ? void 0 : o.zoomOutTooltip,
80
+ children: /* @__PURE__ */ t(fo, {})
81
+ }
82
+ ) }),
83
+ !W && /* @__PURE__ */ t(
84
+ Y,
85
+ {
86
+ container: N,
87
+ open: O,
88
+ onOpenChange: H,
89
+ triggerComponent: /* @__PURE__ */ t("div", { role: "button", children: /* @__PURE__ */ t(I, { content: o == null ? void 0 : o.zoomSelectTooltip, children: /* @__PURE__ */ u(
90
+ C,
91
+ {
92
+ className: po(
93
+ c["rp-current-zoom-wrapper"],
94
+ O && c.active
95
+ ),
96
+ "aria-label": o == null ? void 0 : o.zoomSelectTooltip,
97
+ children: [
98
+ /* @__PURE__ */ t("span", { className: c["rp-current-zoom-text"], children: e }),
99
+ /* @__PURE__ */ t("span", { className: c["rp-current-zoom-text"], children: "%" }),
100
+ /* @__PURE__ */ t(q, { className: c["rp-current-zoom-icon"] })
101
+ ]
102
+ }
103
+ ) }) }),
104
+ style: { minWidth: "200px" },
105
+ align: "center",
106
+ side: "bottom",
107
+ avoidCollisions: !1,
108
+ children: /* @__PURE__ */ u(
109
+ "div",
110
+ {
111
+ style: { maxHeight: `${k}px`, overflow: "auto" },
112
+ className: c["rp-zoom-dropdown-content"],
113
+ children: [
114
+ /* @__PURE__ */ u(A, { children: [
115
+ /* @__PURE__ */ t(d, { onClick: () => l(x.ACTUAL), children: o == null ? void 0 : o.zoomActualSize }),
116
+ /* @__PURE__ */ t(d, { onClick: () => l(x.PAGE_FIT), children: o == null ? void 0 : o.zoomPageFit }),
117
+ /* @__PURE__ */ t(d, { onClick: () => l(x.PAGE_WIDTH), children: o == null ? void 0 : o.zoomPageWidth })
118
+ ] }),
119
+ /* @__PURE__ */ t(oo, {}),
120
+ /* @__PURE__ */ t(A, { children: so.map((n) => /* @__PURE__ */ u(d, { onClick: () => l(n), children: [
121
+ n,
122
+ " %"
123
+ ] }, n)) })
124
+ ]
125
+ }
126
+ )
127
+ }
128
+ ),
129
+ /* @__PURE__ */ t(I, { content: o == null ? void 0 : o.zoomInTooltip, children: /* @__PURE__ */ t(
130
+ C,
131
+ {
132
+ disabled: U,
133
+ onClick: y,
134
+ "aria-label": o == null ? void 0 : o.zoomInTooltip,
135
+ children: /* @__PURE__ */ t(ho, {})
136
+ }
137
+ ) })
138
+ ] });
139
+ };
28
140
  export {
29
- A as ZoomTool
141
+ Ro as ZoomTool
30
142
  };
@@ -1,13 +1,13 @@
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 { c as d } from "../../../../RPLayout-5892502c.js";
4
+ import { a as d } from "../../../../ToolbarLayout.module-60c3d6e8.js";
5
5
  import m from "../../../ui/RPTooltip.js";
6
6
  import { useLocalizationContext as p } from "../../../../contexts/LocalizationContext.js";
7
- const f = ({ children: t, className: n, localeMessages: o }) => /* @__PURE__ */ i(m, { className: n, content: o == null ? void 0 : o.downloadFileTooltip, children: t }), a = ({ icon: t }) => {
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 }) => {
8
8
  const { download: n } = d(), { localeMessages: o } = p();
9
9
  return /* @__PURE__ */ i(f, { localeMessages: o, children: /* @__PURE__ */ i(l, { onClick: n, "aria-label": o == null ? void 0 : o.downloadFileTooltip, children: t || /* @__PURE__ */ i(r, {}) }) });
10
10
  };
11
11
  export {
12
- a as FileDownloadTool
12
+ c as FileDownloadTool
13
13
  };