@react-pdf-kit/viewer 2.8.0-beta.6 → 2.8.0-beta.7

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 (148) hide show
  1. package/dist/{AnnotationLayer-CAIvKf_O.js → AnnotationLayer-Dl6VxRzL.js} +2 -2
  2. package/dist/CanvasLayer-cRwL_IIT.js +105 -0
  3. package/dist/{LoadingIndicator-DiWoWs4Y.js → LoadingIndicator-B_Jsf8No.js} +7 -7
  4. package/dist/MenuItem-D-GflAAo.js +31 -0
  5. package/dist/{PaginationContext-Cwf8sCpK.js → PaginationContext-B3qzCYJu.js} +46 -53
  6. package/dist/{PasswordModal-CB9Rd2zJ.js → PasswordModal-BW_C2ULg.js} +11 -11
  7. package/dist/RPLayout.module-DCbTHUuG.js +14 -0
  8. package/dist/{RPPages-CmXHTAqF.js → RPPages-5yXo7yhq.js} +616 -316
  9. package/dist/{RPTooltip-ZZoFqP7C.js → RPTooltip-COLVx-C_.js} +123 -91
  10. package/dist/SearchTool.module-DY8Ucfb_.js +17 -0
  11. package/dist/{SkipLink-CdcjClGB.js → SkipLink-Dj83gZdk.js} +3 -3
  12. package/dist/{TextLayer-DWGFN9SF.js → TextLayer-BdoXGj0Z.js} +5 -5
  13. package/dist/{Thumbnail-CzclS3h_.js → Thumbnail-BVjnCNxv.js} +6 -6
  14. package/dist/{Thumbnails-DnAsrttK.js → Thumbnails-CrKLESh3.js} +2 -2
  15. package/dist/assets/AnnotationLayer.css +1 -1
  16. package/dist/assets/CanvasLayer.css +1 -0
  17. package/dist/assets/LoadingIndicator.css +1 -1
  18. package/dist/assets/MenuItem.css +1 -1
  19. package/dist/assets/PasswordModal.css +1 -1
  20. package/dist/assets/RPLayout.css +1 -1
  21. package/dist/assets/SearchTool.css +1 -1
  22. package/dist/assets/SkipLink.css +1 -1
  23. package/dist/assets/TextLayer.css +1 -1
  24. package/dist/assets/Thumbnail.css +1 -1
  25. package/dist/assets/style.js +1 -1
  26. package/dist/components/RPController.js +1 -1
  27. package/dist/components/RPPages.js +1 -1
  28. package/dist/components/RPProvider.js +1 -1
  29. package/dist/components/layout/LayoutContainer.js +1 -1
  30. package/dist/components/layout/LayoutWrapper.js +1 -1
  31. package/dist/components/layout/RPDefaultLayout.js +2 -2
  32. package/dist/components/layout/RPLayout.js +2 -2
  33. package/dist/components/layout/SkipLink.js +1 -1
  34. package/dist/components/layout/sidebar/RPSidebar.js +2 -2
  35. package/dist/components/layout/sidebar/Thumbnail.js +1 -1
  36. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  37. package/dist/components/layout/toolbar/DarkModeTool.js +1 -1
  38. package/dist/components/layout/toolbar/DocumentProperties.js +6 -6
  39. package/dist/components/layout/toolbar/FileDownloadTool.js +6 -6
  40. package/dist/components/layout/toolbar/FileUploadTool.js +6 -6
  41. package/dist/components/layout/toolbar/FullScreenTool.js +9 -8
  42. package/dist/components/layout/toolbar/MenuItem.js +1 -1
  43. package/dist/components/layout/toolbar/MostPageTool.js +23 -29
  44. package/dist/components/layout/toolbar/OtherTool.js +1 -1
  45. package/dist/components/layout/toolbar/Paginate.js +2 -2
  46. package/dist/components/layout/toolbar/PrintTool.js +6 -6
  47. package/dist/components/layout/toolbar/RPMenuItem.js +2 -2
  48. package/dist/components/layout/toolbar/RPMoreOptions.js +1 -1
  49. package/dist/components/layout/toolbar/RPToolbar.js +1 -1
  50. package/dist/components/layout/toolbar/RotateTool.js +10 -10
  51. package/dist/components/layout/toolbar/ScrollModeTool.js +15 -15
  52. package/dist/components/layout/toolbar/SearchCloseButton.js +2 -2
  53. package/dist/components/layout/toolbar/SearchResultNavigator.js +2 -2
  54. package/dist/components/layout/toolbar/SearchTool.js +133 -121
  55. package/dist/components/layout/toolbar/SelectionModeTool.js +10 -10
  56. package/dist/components/layout/toolbar/ThumbnailTool.js +1 -1
  57. package/dist/components/layout/toolbar/ToolbarCustom.js +2 -2
  58. package/dist/components/layout/toolbar/ToolbarDefault.js +2 -2
  59. package/dist/components/layout/toolbar/ViewModeTool.js +16 -16
  60. package/dist/components/layout/toolbar/ZoomTool.js +82 -80
  61. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +1 -1
  62. package/dist/components/layout/toolbar/tools/DualPageTool.js +1 -1
  63. package/dist/components/layout/toolbar/tools/DualPageWithCoverTool.js +1 -1
  64. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +1 -1
  65. package/dist/components/layout/toolbar/tools/FileUploadTool.js +1 -1
  66. package/dist/components/layout/toolbar/tools/FirstPageTool.js +1 -1
  67. package/dist/components/layout/toolbar/tools/FullScreenTool.js +1 -1
  68. package/dist/components/layout/toolbar/tools/HorizontalScrollingTool.js +1 -1
  69. package/dist/components/layout/toolbar/tools/InputPageTool.js +2 -2
  70. package/dist/components/layout/toolbar/tools/LastPageTool.js +1 -1
  71. package/dist/components/layout/toolbar/tools/NextPageTool.js +2 -2
  72. package/dist/components/layout/toolbar/tools/PageScrollingTool.js +1 -1
  73. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +2 -2
  74. package/dist/components/layout/toolbar/tools/PrintTool.js +1 -1
  75. package/dist/components/layout/toolbar/tools/RotateClockwiseTool.js +1 -1
  76. package/dist/components/layout/toolbar/tools/RotateCounterclockwiseTool.js +1 -1
  77. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +1 -1
  78. package/dist/components/layout/toolbar/tools/SinglePageTool.js +1 -1
  79. package/dist/components/layout/toolbar/tools/ThemeSwitcherTool.js +1 -1
  80. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +1 -1
  81. package/dist/components/layout/toolbar/tools/VerticalScrollingTool.js +1 -1
  82. package/dist/components/layout/toolbar/tools/ZoomInTool.js +25 -23
  83. package/dist/components/layout/toolbar/tools/ZoomLevelDisplay.js +1 -1
  84. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +2 -2
  85. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +25 -23
  86. package/dist/components/layout/toolbar/tools/more-options/DocumentProperties.js +2 -2
  87. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +2 -2
  88. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +2 -2
  89. package/dist/components/layout/toolbar/tools/more-options/FullScreenTool.js +2 -2
  90. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +3 -3
  91. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +2 -2
  92. package/dist/components/layout/toolbar/tools/more-options/RotateTool.js +2 -2
  93. package/dist/components/layout/toolbar/tools/more-options/ScrollModeTool.js +2 -2
  94. package/dist/components/layout/toolbar/tools/more-options/SelectionModeTool.js +2 -2
  95. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +2 -2
  96. package/dist/components/page/AnnotationLayer.js +1 -1
  97. package/dist/components/page/CanvasLayer.js +2 -48
  98. package/dist/components/page/DualPage.js +2 -2
  99. package/dist/components/page/DualPageWithCover.js +2 -2
  100. package/dist/components/page/RPPage.js +94 -2
  101. package/dist/components/page/SinglePage.js +2 -2
  102. package/dist/components/page/TextLayer.js +1 -1
  103. package/dist/components/ui/LoadingIndicator.js +1 -1
  104. package/dist/components/ui/PasswordModal.js +1 -1
  105. package/dist/components/ui/RPTooltip.js +1 -1
  106. package/dist/contexts/DimensionPagesContext.js +38 -22
  107. package/dist/contexts/ElementThumbnailContext.js +1 -1
  108. package/dist/contexts/PaginationContext.js +1 -1
  109. package/dist/contexts/RenderQueueProvider.js +11 -7
  110. package/dist/contexts/ZoomContext.js +119 -61
  111. package/dist/{de_DE-DwUvXUWH.js → de_DE-C1OrwQKj.js} +18 -0
  112. package/dist/{main-CKr9unOk.js → main-CdlJS0xf.js} +2 -2
  113. package/dist/main.js +4 -4
  114. package/dist/style-CWQAmimK.js +5 -0
  115. package/dist/types/components/ui/RPTooltip.d.ts +3 -2
  116. package/dist/types/contexts/RenderQueueProvider.d.ts +2 -0
  117. package/dist/types/locales/de_DE.json.d.ts +3 -0
  118. package/dist/types/locales/en_US.json.d.ts +3 -0
  119. package/dist/types/locales/it_IT.json.d.ts +3 -0
  120. package/dist/types/locales/pt_PT.json.d.ts +3 -0
  121. package/dist/types/locales/th_TH.json.d.ts +3 -0
  122. package/dist/types/locales/zh_CN.json.d.ts +3 -0
  123. package/dist/types/utils/Queue.d.ts +1 -0
  124. package/dist/types/utils/constants.d.ts +8 -0
  125. package/dist/types/utils/hooks/usePinch.d.ts +14 -1
  126. package/dist/types/utils/hooks/useZoomOrigin.d.ts +4 -0
  127. package/dist/types/utils/types.d.ts +17 -1
  128. package/dist/types/utils/zoom.d.ts +2 -0
  129. package/dist/utils/Queue.js +5 -0
  130. package/dist/utils/constants.js +2 -2
  131. package/dist/utils/hooks/useLicense.js +1 -1
  132. package/dist/utils/hooks/useLocalization.js +1 -1
  133. package/dist/utils/hooks/usePaginate.js +1 -1
  134. package/dist/utils/hooks/usePinch.js +102 -56
  135. package/dist/utils/hooks/usePresentPage.js +23 -19
  136. package/dist/utils/hooks/useScrollToPage.js +1 -1
  137. package/dist/utils/hooks/useSearch.js +1 -1
  138. package/dist/utils/hooks/useZoomOrigin.js +37 -0
  139. package/dist/utils/renderPage.js +21 -14
  140. package/dist/utils/types.js +2 -2
  141. package/dist/utils/zoom.js +8 -2
  142. package/package.json +1 -1
  143. package/dist/MenuItem-BJDWfzAw.js +0 -15
  144. package/dist/RPLayout.module-Vc3h4xxS.js +0 -14
  145. package/dist/RPPage-C_r8aeTc.js +0 -91
  146. package/dist/SearchTool.module-DUkVXfOn.js +0 -16
  147. package/dist/assets/RPPage.css +0 -1
  148. package/dist/style-C8T5x1fE.js +0 -5
@@ -3,94 +3,152 @@ import { appConsole as t } from "../utils/appConsole.js";
3
3
  import { useDocumentContext as n } from "./RPDocumentContext.js";
4
4
  import { useInitialStateContext as r } from "./InitialStateContext.js";
5
5
  import { useViewModeContext as i } from "./ViewModeContext.js";
6
- import "../utils/constants.js";
7
- import { getZoomLevel as a } from "../utils/getZoomLevel.js";
8
- import { useLayoutContainer as o } from "./LayoutContainerContext.js";
9
- import { useRotationContext as s } from "./RotationContext.js";
10
- import { useGlobalCurrentPage as c } from "./GlobalCurrentPage.js";
11
- import { useDebounce as l } from "../utils/hooks/useDebounce.js";
12
- import { createContext as u, useCallback as d, useContext as f, useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
13
- import { jsx as _ } from "react/jsx-runtime";
6
+ import { MAX_ZOOM_SCALE as a, ZOOM_SAFETY_TIMEOUT_MS as o } from "../utils/constants.js";
7
+ import { getZoomLevel as s } from "../utils/getZoomLevel.js";
8
+ import { useLayoutContainer as c } from "./LayoutContainerContext.js";
9
+ import { useRotationContext as ee } from "./RotationContext.js";
10
+ import { useGlobalCurrentPage as te } from "./GlobalCurrentPage.js";
11
+ import { useDebounce as ne } from "../utils/hooks/useDebounce.js";
12
+ import { createContext as l, useCallback as u, useContext as d, useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
13
+ import { jsx as re } from "react/jsx-runtime";
14
14
  //#region lib/contexts/ZoomContext.tsx
15
- var v = u({
15
+ var g = l({
16
16
  zoomLevel: 100,
17
17
  currentZoom: 1,
18
+ targetZoom: 1,
19
+ isZooming: !1,
20
+ zoomOrigin: null,
21
+ zoomGesture: null,
22
+ previousTargetZoom: null,
23
+ zoomTo: () => {},
18
24
  setZoomLevel: () => {}
19
- }), y = () => {
20
- let e = f(v);
25
+ }), _ = () => {
26
+ let e = d(g);
21
27
  return typeof e.currentZoom != "number" && t.warn("Please use this hooks inside children component of RPProvider"), e;
22
- }, b = ({ children: t }) => {
23
- let { initialScale: u = e.PAGE_FIT } = r(), [f, y] = g(u), { pages: b } = n(), { pagesRef: x } = o(), { viewMode: S } = i(), [C, w] = g({
24
- width: x?.clientWidth || 0,
25
- height: x?.clientHeight || 0
26
- }), T = l(C, 100), { rotate: E } = s(), [D, O] = g(null), k = h(null), { currentPage: A } = c(), [j, M] = g(A);
27
- p(() => {
28
- let e = b.get(j);
29
- e ||= b.get(1);
28
+ }, v = ({ children: t }) => {
29
+ let { initialScale: l = e.PAGE_FIT } = r(), [d, _] = h(l), [v, ie] = h(0), [y, b] = h(0), [x, S] = h(!1), [C, w] = h(null), [T, E] = h(null), [D, O] = h(null), k = m(0), A = m(0), { pages: j } = n(), { pagesRef: M } = c(), { viewMode: N } = i(), [ae, P] = h({
30
+ width: M?.clientWidth || 0,
31
+ height: M?.clientHeight || 0
32
+ }), F = ne(ae, 100), { rotate: I } = ee(), [L, R] = h(null), z = m(null), { currentPage: B } = te(), [V, oe] = h(B), H = m(), U = m(), W = m(), G = m({});
33
+ f(() => {
34
+ let e = j.get(V);
35
+ e ||= j.get(1);
30
36
  let t = e?.page.getViewport({
31
37
  scale: 1,
32
- rotation: e.defaultRotation + E
38
+ rotation: e.defaultRotation + I
33
39
  });
34
- t && JSON.stringify(t) !== JSON.stringify(k.current) && (k.current = t, O(t));
40
+ t && JSON.stringify(t) !== JSON.stringify(z.current) && (z.current = t, R(t));
35
41
  }, [
36
- b,
37
- E,
38
- j
42
+ j,
43
+ I,
44
+ V
39
45
  ]);
40
- let N = d(() => D ? {
41
- pageWidth: (D?.width || 0) + 8,
42
- pageHeight: D?.height || 0,
43
- clientWidth: x?.clientWidth || 0,
44
- clientHeight: x?.clientHeight || 0
45
- } : null, [D, x]), P = m(() => {
46
- let e = N();
47
- if (!T.width || !T.height || !e) return 0;
48
- if (typeof f == "number") return f / 100;
49
- let { clientWidth: t, clientHeight: n, pageWidth: r, pageHeight: i } = e;
50
- return a(f, t, n, r, i, S) / 100;
46
+ let K = u(() => L ? {
47
+ pageWidth: (L?.width || 0) + 8,
48
+ pageHeight: L?.height || 0,
49
+ clientWidth: M?.clientWidth || 0,
50
+ clientHeight: M?.clientHeight || 0
51
+ } : null, [L, M]), q = p(() => {
52
+ let e = K();
53
+ if (!F.width || !F.height || !e) return 0;
54
+ if (typeof d == "number") return Math.max(25, Math.min(d, a)) / 100;
55
+ let { clientWidth: t, clientHeight: n, pageWidth: r, pageHeight: i } = e, o = s(d, t, n, r, i, N) / 100;
56
+ return Math.max(25 / 100, Math.min(o, a / 100));
51
57
  }, [
52
- f,
53
- T,
54
- N,
55
- S
56
- ]);
57
- p(() => {
58
- M(A);
59
- }, [f]), p(() => {
58
+ d,
59
+ F,
60
+ K,
61
+ N
62
+ ]), J = u(() => {
63
+ H.current &&= (clearTimeout(H.current), void 0), U.current &&= (clearTimeout(U.current), void 0), W.current &&= (cancelAnimationFrame(W.current), void 0);
64
+ }, []), Y = u((e) => {
65
+ ie(e), S(!1), w(null), E(null), O(null);
66
+ }, []), X = u((e, t = {}) => {
67
+ if (!e) return;
68
+ let n = k.current === 0;
69
+ if (!(!(Math.abs(e - A.current) > 1e-10) && !n)) {
70
+ if (J(), w(t.origin ?? null), E(t.gesture ?? null), O(t.previousTargetZoom ?? A.current ?? k.current ?? null), A.current = e, b(e), n || t.immediate) {
71
+ Y(e);
72
+ return;
73
+ }
74
+ S(!0), U.current = setTimeout(() => {
75
+ H.current &&= (clearTimeout(H.current), void 0), W.current &&= (cancelAnimationFrame(W.current), void 0), U.current = void 0, Y(e);
76
+ }, o), W.current = requestAnimationFrame(() => {
77
+ W.current = void 0, H.current = setTimeout(() => {
78
+ H.current = void 0, U.current &&= (clearTimeout(U.current), void 0), Y(e);
79
+ }, 400);
80
+ });
81
+ }
82
+ }, [J, Y]);
83
+ f(() => {
84
+ if (!q) return;
85
+ let e = G.current;
86
+ G.current = {}, X(q, e);
87
+ }, [q, X]);
88
+ let Z = u((e) => {
89
+ if (typeof e == "number") return Math.max(25, Math.min(e, a)) / 100;
90
+ let t = K();
91
+ if (!t) return 0;
92
+ let { clientWidth: n, clientHeight: r, pageWidth: i, pageHeight: o } = t, c = s(e, n, r, i, o, N);
93
+ return Math.max(25, Math.min(c, a)) / 100;
94
+ }, [K, N]), Q = u((e, t = {}) => {
95
+ G.current = t, _(e), X(Z(e), t);
96
+ }, [Z, X]);
97
+ f(() => {
98
+ y && (A.current = y);
99
+ }, [y]), f(() => {
100
+ v && (k.current = v);
101
+ }, [v]), f(() => () => {
102
+ J();
103
+ }, [J]), f(() => {
104
+ oe(B);
105
+ }, [d]), f(() => {
60
106
  let e = new ResizeObserver((e) => {
61
107
  e.forEach((e) => {
62
- w({
108
+ P({
63
109
  width: e.contentRect.width,
64
110
  height: e.contentRect.height
65
111
  });
66
112
  });
67
113
  });
68
- return x && e.observe(x), () => {
114
+ return M && e.observe(M), () => {
69
115
  e.disconnect();
70
116
  };
71
- }, [x]);
72
- let F = d((e) => {
117
+ }, [M]);
118
+ let $ = u((e) => {
73
119
  let t = 0;
74
120
  if (typeof e == "function") {
75
- let n = N();
121
+ let n = K();
76
122
  if (!n) return;
77
- let { clientWidth: r, clientHeight: i, pageWidth: o, pageHeight: s } = n;
78
- t = (t) => e(a(t, r, i, o, s, S));
123
+ let { clientWidth: r, clientHeight: i, pageWidth: a, pageHeight: o } = n;
124
+ t = (t) => e(s(t, r, i, a, o, N));
79
125
  } else t = e;
80
- t && y(t);
81
- }, [N]), I = m(() => ({
82
- zoomLevel: f,
83
- currentZoom: P,
84
- setZoomLevel: F
126
+ t && (G.current = {}, _(typeof t == "number" ? Math.max(25, Math.min(t, a)) : t));
127
+ }, [K, N]), se = p(() => ({
128
+ zoomLevel: d,
129
+ currentZoom: v,
130
+ targetZoom: y || v,
131
+ isZooming: x,
132
+ zoomOrigin: C,
133
+ zoomGesture: T,
134
+ previousTargetZoom: D,
135
+ zoomTo: Q,
136
+ setZoomLevel: $
85
137
  }), [
86
- P,
87
- f,
88
- F
138
+ v,
139
+ y,
140
+ x,
141
+ d,
142
+ C,
143
+ T,
144
+ D,
145
+ Q,
146
+ $
89
147
  ]);
90
- return /* @__PURE__ */ _(v.Provider, {
91
- value: I,
148
+ return /* @__PURE__ */ re(g.Provider, {
149
+ value: se,
92
150
  children: t
93
151
  });
94
152
  };
95
153
  //#endregion
96
- export { v as ZoomContext, b as ZoomProvider, y as useZoomContext };
154
+ export { g as ZoomContext, v as ZoomProvider, _ as useZoomContext };
@@ -9,6 +9,9 @@ var e = {
9
9
  searchMatchCaseTooltip: "Search case sensitive text",
10
10
  searchWholeWordsLabel: "Whole Words",
11
11
  searchWholeWordsTooltip: "Search exact and case insensitive word(s)",
12
+ searchLoadingMessage: "Searching",
13
+ searchNoResultsMessage: "No matches found",
14
+ searchResultsMessage: "{current} of {total} matches",
12
15
  previousPageTooltip: "Previous page",
13
16
  currentPageTooltip: "Current page",
14
17
  nextPageTooltip: "Next page",
@@ -92,6 +95,9 @@ var e = {
92
95
  searchMatchCaseTooltip: "搜索区分大小写",
93
96
  searchWholeWordsLabel: "全字匹配",
94
97
  searchWholeWordsTooltip: "搜索完全匹配",
98
+ searchLoadingMessage: "正在搜索",
99
+ searchNoResultsMessage: "未找到匹配项",
100
+ searchResultsMessage: "第 {current} 条,共 {total} 条匹配",
95
101
  previousPageTooltip: "上一页",
96
102
  currentPageTooltip: "当前页",
97
103
  nextPageTooltip: "下一页",
@@ -175,6 +181,9 @@ var e = {
175
181
  searchMatchCaseTooltip: "Cerca testo con distinzione maiuscole/minuscole",
176
182
  searchWholeWordsLabel: "Parola intera",
177
183
  searchWholeWordsTooltip: "Cerca esatte parole senza distinzione maiuscole/minuscole",
184
+ searchLoadingMessage: "Ricerca in corso",
185
+ searchNoResultsMessage: "Nessuna corrispondenza trovata",
186
+ searchResultsMessage: "{current} di {total} corrispondenze",
178
187
  previousPageTooltip: "Pagina precedente",
179
188
  currentPageTooltip: "Pagina corrente",
180
189
  nextPageTooltip: "Pagina successiva",
@@ -258,6 +267,9 @@ var e = {
258
267
  searchMatchCaseTooltip: "Pesquisar texto com distinção de maiúsculas/minúsculas",
259
268
  searchWholeWordsLabel: "Palavra inteira",
260
269
  searchWholeWordsTooltip: "Pesquisar palavras exatas sem distinção de maiúsculas/minúsculas",
270
+ searchLoadingMessage: "A pesquisar",
271
+ searchNoResultsMessage: "Nenhuma correspondência encontrada",
272
+ searchResultsMessage: "{current} de {total} correspondências",
261
273
  previousPageTooltip: "Página anterior",
262
274
  currentPageTooltip: "Página atual",
263
275
  nextPageTooltip: "Próxima página",
@@ -341,6 +353,9 @@ var e = {
341
353
  searchMatchCaseTooltip: "ค้นหาข้อความที่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก",
342
354
  searchWholeWordsLabel: "ทั้งคำ",
343
355
  searchWholeWordsTooltip: "ค้นหาคำที่ตรงตัวไม่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก",
356
+ searchLoadingMessage: "กำลังค้นหา",
357
+ searchNoResultsMessage: "ไม่พบผลการค้นหา",
358
+ searchResultsMessage: "ผลการค้นหาที่ {current} จาก {total}",
344
359
  previousPageTooltip: "หน้าก่อนหน้า",
345
360
  currentPageTooltip: "หน้าปัจจุบัน",
346
361
  nextPageTooltip: "หน้าถัดไป",
@@ -424,6 +439,9 @@ var e = {
424
439
  searchMatchCaseTooltip: "Groß-/Kleinschreibung beachten",
425
440
  searchWholeWordsLabel: "Ganze Wörter",
426
441
  searchWholeWordsTooltip: "Exakte Wörter suchen (Groß-/Kleinschreibung ignorieren)",
442
+ searchLoadingMessage: "Suche läuft",
443
+ searchNoResultsMessage: "Keine Treffer gefunden",
444
+ searchResultsMessage: "{current} von {total} Treffern",
427
445
  previousPageTooltip: "Vorherige Seite",
428
446
  currentPageTooltip: "Aktuelle Seite",
429
447
  nextPageTooltip: "Nächste Seite",
@@ -1,8 +1,8 @@
1
1
  import { useViewModeContext as e } from "./contexts/ViewModeContext.js";
2
- import { r as t } from "./PaginationContext-Cwf8sCpK.js";
2
+ import { r as t } from "./PaginationContext-B3qzCYJu.js";
3
3
  import { useLocalizationContext as n } from "./contexts/LocalizationContext.js";
4
4
  import { t as r } from "./Button-BNlmxWrV.js";
5
- import { t as i } from "./RPTooltip-ZZoFqP7C.js";
5
+ import { t as i } from "./RPTooltip-COLVx-C_.js";
6
6
  import { DualPageWithCoverIcon as a } from "./components/icons/DualPageWithCoverIcon.js";
7
7
  import { GoToDownIcon as o } from "./components/icons/GoToDownIcon.js";
8
8
  import { t as s } from "./MostPageTool.module-BRVv-sGz.js";
package/dist/main.js CHANGED
@@ -4,7 +4,7 @@ import { useScrollModeContext as s } from "./contexts/ScrollModeContext.js";
4
4
  import { useViewModeContext as c } from "./contexts/ViewModeContext.js";
5
5
  import { useRotationContext as l } from "./contexts/RotationContext.js";
6
6
  import { useZoomContext as u } from "./contexts/ZoomContext.js";
7
- import { r as d } from "./PaginationContext-Cwf8sCpK.js";
7
+ import { r as d } from "./PaginationContext-B3qzCYJu.js";
8
8
  import { useDarkModeContext as f } from "./contexts/DarkModeContext.js";
9
9
  import { useSelectionModeContext as p } from "./contexts/SelectionModeContext.js";
10
10
  import { useFullScreenContext as m } from "./contexts/FullScreenContext.js";
@@ -16,12 +16,12 @@ import { useHighlightContext as y } from "./contexts/HighlightContext.js";
16
16
  import { useElementPageContext as b } from "./contexts/ElementPageContext.js";
17
17
  import { useElementThumbnailContext as x } from "./contexts/ElementThumbnailContext.js";
18
18
  import { RPProvider as S } from "./components/RPProvider.js";
19
- import { t as C } from "./RPPages-CmXHTAqF.js";
19
+ import { t as C } from "./RPPages-5yXo7yhq.js";
20
20
  import { useFileDownload as w } from "./utils/hooks/useFileDownload.js";
21
21
  import { RPTheme as T } from "./components/RPTheme.js";
22
22
  import { RPConfig as E } from "./components/RPConfig.js";
23
23
  import { t as D } from "./Button-BNlmxWrV.js";
24
- import { t as O } from "./RPTooltip-ZZoFqP7C.js";
24
+ import { t as O } from "./RPTooltip-COLVx-C_.js";
25
25
  import { SearchTool as k } from "./components/layout/toolbar/SearchTool.js";
26
26
  import { RPDefaultLayout as A } from "./components/layout/RPDefaultLayout.js";
27
27
  import { RPVerticalBar as j } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
@@ -46,7 +46,7 @@ import { RotateCounterclockwiseTool as Y } from "./components/layout/toolbar/too
46
46
  import { SelectionModeSwitcherTool as X } from "./components/layout/toolbar/tools/SelectionModeSwitcherTool.js";
47
47
  import { SinglePageTool as Z } from "./components/layout/toolbar/tools/SinglePageTool.js";
48
48
  import { DualPageTool as Q } from "./components/layout/toolbar/tools/DualPageTool.js";
49
- import { n as $, r as ee, t as te } from "./main-CKr9unOk.js";
49
+ import { n as $, r as ee, t as te } from "./main-CdlJS0xf.js";
50
50
  import { PageScrollingTool as ne } from "./components/layout/toolbar/tools/PageScrollingTool.js";
51
51
  import { VerticalScrollingTool as re } from "./components/layout/toolbar/tools/VerticalScrollingTool.js";
52
52
  import { HorizontalScrollingTool as ie } from "./components/layout/toolbar/tools/HorizontalScrollingTool.js";
@@ -0,0 +1,5 @@
1
+ //#endregion
2
+ //#region lib/assets/style.ts
3
+ var e = "\nbutton{font-family:inherit}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}\n._rp-button_xxds9_1{border-radius:var(--rp-button-border-radius);padding:var(--rp-button-padding);color:var(--rp-text-color);cursor:pointer;font-size:var(--rp-icon-font-size);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._rp-button_xxds9_1[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-button_xxds9_1:hover:not(:disabled),._rp-button-active_xxds9_20:not(:disabled){background:var(--rp-button-hover-background)}._rp-button_xxds9_1:disabled{cursor:not-allowed;color:var(--rp-icon-disabled)}._rp-button_xxds9_1:focus-visible{outline-color:var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:0;outline-style:solid;transition:none}\n._rp-checkbox_1vwg8_1{all:unset;border-radius:var(--rp-checkbox-border-radius);border-color:var(--rp-checkbox-border-color);width:16px;height:16px;box-shadow:0 2px 10px var(--black-a7);background-color:#fff;border-style:solid;border-width:1px;justify-content:center;align-items:center;margin-right:8px;display:flex}._rp-checkbox_1vwg8_1:focus{outline:1px solid var(--rp-primary-color)}._rp-checkbox_1vwg8_1[data-state=checked]{background-color:var(--rp-primary-color)}._rp-checkbox-indicator_1vwg8_25{color:var(--rp-checkbox-indicator-color)}\n._rp-dropdown-content_1vzkq_1{font-family:var(--rp-font-family);font-size:var(--rp-dropdown-font-size);background-color:var(--rp-dropdown-background-color);border-radius:var(--rp-dropdown-border-radius);will-change:transform, opacity;min-width:260px;z-index:calc(var(--rp-base-z-index,1) * 5);animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);box-shadow:0 2px 12px #00000026}._rp-dropdown-content_1vzkq_1[data-side=top]{animation-name:_slideDownAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=right]{animation-name:_slideLeftAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=bottom]{animation-name:_slideUpAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=left]{animation-name:_slideRightAndFade_1vzkq_1}._rp-dropdown-arrow_1vzkq_30{fill:var(--rp-dropdown-background-color)}@keyframes _slideUpAndFade_1vzkq_1{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes _slideRightAndFade_1vzkq_1{0%{opacity:0;transform:translate(-2px)}to{opacity:1;transform:translate(0)}}@keyframes _slideDownAndFade_1vzkq_1{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes _slideLeftAndFade_1vzkq_1{0%{opacity:0;transform:translate(2px)}to{opacity:1;transform:translate(0)}}\n._rp-input_dun7b_1{font-family:var(--rp-font-family);border-width:1px;border-color:var(--rp-input-border-color,transparent);border-radius:var(--rp-input-border-radius);min-height:2rem;color:var(--rp-text-color);background:var(--rp-input-background-color);padding:var(--rp-input-padding);box-sizing:border-box;border-style:solid;outline:none}._rp-input_dun7b_1::placeholder{color:var(--rp-input-placeholder-color)}._rp-input_dun7b_1[data-icon=true]{padding-left:calc(1rem + 14px)}._rp-input_dun7b_1:focus,._rp-input_dun7b_1:focus-visible{border-color:var(--rp-outline-color,var(--rp-primary-color))}._rp-input-wrapper_dun7b_28{position:relative}._rp-input-label_dun7b_32{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-input-icon_dun7b_44{color:var(--rp-input-placeholder-color);justify-content:center;align-items:center;padding-left:.5rem;padding-right:.5rem;display:flex;position:absolute;top:0;bottom:0}\n._rp-loading-overlay_8gxoj_1{z-index:100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}._rp-loading-modal_8gxoj_14{background:var(--rp-print-progress-background);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:240px;min-height:120px;padding:24px;display:flex;box-shadow:0 4px 6px #0000001a}._rp-loading-title_8gxoj_27{text-align:center;color:var(--rp-print-progress-color);margin-bottom:16px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}._rp-loading-progress-bar_8gxoj_35{background:#f0f0f0;border-radius:32px;width:100%;height:4px;margin-bottom:16px;position:relative;overflow:hidden}._rp-loading-progress_8gxoj_35{background:linear-gradient(90deg, color-mix(in srgb, var(--rp-primary-color) 80%, black) 0%, var(--rp-primary-color) 50%, color-mix(in srgb, var(--rp-primary-color) 80%, white) 100%);border-radius:32px;height:100%;position:absolute}._rp-loading-cancel-button_8gxoj_55{width:70px;color:var(--rp-text-color);border-radius:var(--rp-button-border-radius);cursor:pointer;border:none;border:1px solid var(--rp-print-progress-cancel-button-border-color);background:0 0;padding:8px;font-family:system-ui,-apple-system,sans-serif;transition:background-color .2s}._rp-loading-cancel-button_8gxoj_55:hover{opacity:.6}@keyframes _loading_8gxoj_1{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(-100%)}}\n._rp-password-overlay_1xibg_1{z-index:100;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}._rp-password-modal_1xibg_13{background:var(--rp-password-background-color);border:1px solid var(--rp-password-border-color);border-radius:8px;flex-direction:column;justify-content:start;max-width:360px;margin-left:10px;margin-right:10px;padding:24px;display:flex;box-shadow:0 2px 12px #00000026}._rp-password-title_1xibg_27{font-family:var(--rp-font-family);color:var(--rp-password-title-font-color);margin-bottom:16px;font-size:16px;font-weight:500}._rp-password-content_1xibg_35{font-size:14px;font-family:var(--rp-font-family);color:var(--rp-password-content-font-color)}._rp-password-form_1xibg_41{margin-top:32px}._rp-password-label_1xibg_45{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-password-input_1xibg_57{border:1px solid var(--rp-password-input-border-color);border-radius:var(--rp-input-border-radius);box-sizing:border-box;background-color:var(--rp-input-background-color);width:100%;min-height:32px;caret-color:var(--rp-password-input-color);color:var(--rp-password-input-font-color);padding:7.5px;font-size:14px}._rp-password-input_1xibg_57::placeholder{color:var(--rp-password-input-placeholder-color)}._rp-password-input-invalid_1xibg_74{border-color:#ff2f61}._rp-password-message-invalid_1xibg_78{color:#ff2f61;min-height:20px;margin-top:4px}._rp-password-submit-button_1xibg_84{text-align:center;border-radius:var(--rp-password-button-border-radius);background-color:var(--rp-password-button-background-color);width:100%;min-height:35px;color:var(--rp-password-button-font-color);cursor:pointer;font-family:var(--rp-font-family);border:1px solid var(--rp-password-button-border-color);justify-content:center;align-items:center;margin-top:8px;padding:8px;transition:background-color .2s;display:flex}\n._tooltipContent_12gjy_1{border-radius:var(--rp-tooltip-border-radius);padding:var(--rp-tooltip-padding);background-color:var(--rp-tooltip-background-color);z-index:1000}._tooltipArrow_12gjy_8{fill:var(--rp-tooltip-background-color)}._tooltipContent_12gjy_1 span{color:var(--rp-tooltip-font-color);font-size:var(--rp-tooltip-font-size)}@keyframes _fadeIn_12gjy_1{0%{opacity:0}to{opacity:1}}\n._rp-drop-zone_1sc50_1{z-index:100;background-color:var(--rp-drop-zone-background-color);font-size:var(--rp-drop-zone-font-size);color:var(--rp-drop-zone-font-color);border:dashed var(--rp-drop-zone-border) 1px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._rp-drop-zone-transparent_1sc50_15{z-index:100;background-color:#0000;position:absolute;inset:0}\n._rp-pages_fn8tz_1{justify-content:center;display:flex}._rp-pages_fn8tz_1:not(._rp-page-scrolling-wrapper_fn8tz_6)>div{height:var(--rp-pages-height)!important;width:var(--rp-pages-width)!important}._rp-pages-horizontal-scroll_fn8tz_11{display:block}._rp-not-supported-list_fn8tz_15{margin:0;padding:0 0 0 .5em;list-style-type:disc;list-style-position:inside}._rp-pages-container_fn8tz_23{outline-width:0;height:100%;position:relative}._rp-pages-container_fn8tz_23 .ignore-hover:focus,._rp-pages-container_fn8tz_23 :not(:hover):focus-visible,._rp-pages-container_fn8tz_23 :not(:hover):focus:focus-visible{outline-color:var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:0px;outline-width:1px;outline-style:solid;transition:none}._rp-pages-container_fn8tz_23 .highlight.appended{border-radius:var(--rp-text-layer-highlight-border-radius);background-color:var(--rp-highlight-background-color);opacity:.5}._rp-pages-container_fn8tz_23 .highlight.appended.begin{border-radius:var(--rp-text-layer-highlight-border-radius) 0 0 var(--rp-text-layer-highlight-border-radius)}._rp-pages-container_fn8tz_23 .highlight.appended.middle{border-radius:0}._rp-pages-container_fn8tz_23 .highlight.appended.end{border-radius:0 var(--rp-text-layer-highlight-border-radius) var(--rp-text-layer-highlight-border-radius) 0}._rp-pages-container_fn8tz_23 .highlight.appended.selected{background-color:var(--rp-current-highlight-background-color)}._rp-page-scrolling-wrapper_fn8tz_6{position:relative;overflow:auto}._rp-viewer_fn8tz_65{height:100%;position:relative}._rp-cursor-grab_fn8tz_70{cursor:grab;-webkit-user-select:none;user-select:none}._rp-cursor-grabbing_fn8tz_78{cursor:grabbing;-webkit-user-select:none;user-select:none}._rp-loader_fn8tz_86{background-color:var(--rp-loader-backdrop-color)}._rp-pages-container_fn8tz_23{background:var(--rp-pages-background-color)}._rp-not-supported_fn8tz_15{justify-content:center;align-items:center;width:100%;height:100%;display:flex}._rp-not-supported-content_fn8tz_102{max-width:250px;font-weight:400;line-height:1.5}._rp-load-error_fn8tz_108{justify-content:center;align-items:center;width:100%;height:100%;display:flex}._rp-load-error-message_fn8tz_116{text-align:center;max-width:280px;font-weight:400;line-height:1.5}\n._rp-loader-icon_7y2fm_1{width:40px;height:40px;animation:1s linear infinite _spin_7y2fm_1}@media (prefers-reduced-motion:reduce){._rp-loader-icon_7y2fm_1{animation:none}}@keyframes _spin_7y2fm_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n._rp-container_f63gc_1{font-family:var(--rp-font-family);height:600px;color:var(--rp-text-color);border-radius:var(--rp-border-radius);position:relative;overflow:hidden}._rp-container_f63gc_1:focus,._rp-container_f63gc_1:focus-within{outline:var(--rp-container-focus-outline-width) solid var(--rp-container-focus-outline-color);outline-offset:var(--rp-container-focus-outline-offset)}\n._rp-layout_1h20a_1{height:100%}._rp-layout-wrapper_1h20a_5{flex:1;height:100%;position:relative}._rp-content_1h20a_11{width:100%;height:calc(100% - var(--rp-toolbar-height));display:flex;overflow:hidden}._rp-sidebar_1h20a_18{flex-shrink:0;display:flex}._rp-pages_1h20a_23{flex:1;min-width:0;height:100%}._rp-container_1h20a_29{height:100%}._rp-loader_1h20a_33{background-color:var(--rp-loader-backdrop-color)}._rp-theme-variables_1h20a_37{--rp-font-family:inherit;--rp-primary-color:#34affc;--rp-border-radius:4px;--rp-text-color:#1c2024;--rp-outline-color:var(--rp-primary-color);--rp-font-size:16px;--rp-drop-mask-background-color:#fafafa;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#c6ccd2;--rp-icon-font-size:calc(var(--rp-font-size) * 1.25);--rp-toolbar-background:#e2e6e9;--rp-toolbar-border-color:#c6ccd2;--rp-toolbar-padding:.25rem;--rp-toolbar-gap:.25rem;--rp-toolbar-size:48px;--rp-sidebar-width:48px;--rp-thumbnail-border-color:#e2e6e9;--rp-thumbnail-background-color:#fff;--rp-thumbnail-active-color:#0003;--rp-thumbnail-padding-y:16px;--rp-button-hover-background:#0000001a;--rp-button-padding:4px;--rp-button-border-radius:4px;--rp-input-padding:.5rem;--rp-input-border-radius:calc(var(--rp-border-radius) + 2px);--rp-input-background-color:#fff;--rp-input-placeholder-color:#75767c;--rp-search-input-border-color:#878c8f;--rp-pages-background-color:#fff;--rp-page-shadow:0px 2px 12px 0px #00000026;--rp-page-outline:none;--rp-page-outline-offset:0;--rp-annotation-layer__link-hover-background:#ff03;--rp-dropdown-background-color:#f1f2f4;--rp-dropdown-padding:4px;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#e2e6e9;--rp-dropdown-separator-margin:4px;--rp-dropdown-padding-menu-item:8px;--rp-dropdown-font-size:calc(var(--rp-font-size) * .875);--rp-dropdown-border-radius:calc(var(--rp-border-radius) + 2px);--rp-search-tool-dropdown-padding:8px;--rp-popover-font-size:calc(var(--rp-font-size) * .875);--rp-popover-background-color:#f1f2f4;--rp-popover-color:#1c2024;--rp-popover-border-color:#e2e6e9;--rp-popover-border-radius:calc(var(--rp-border-radius) + 2px);--rp-overlay-background-color:#000c;--rp-dialog-background-color:#f1f2f4;--rp-properties-divider-color:#e2e6e9;--rp-properties-divider-margin:16px;--rp-property-item-gap:12px;--rp-dialog-title-color:#1c2024;--rp-property-item-label-color:#596673;--rp-property-close-icon-size:calc(var(--rp-font-size) * 1.25);--rp-property-item-font-size:calc(var(--rp-font-size) * .875);--rp-property-item-font-weight:400;--rp-dialog-title-font-size:calc(var(--rp-font-size) * 1.125);--rp-dialog-title-font-weight:600;--rp-menu-item-icon-size:16px;--rp-print-progress-background:#f1f2f4;--rp-print-progress-color:#1c2024;--rp-print-progress-cancel-button-border-color:#919497;--rp-drop-zone-border:#c6ccd2;--rp-drop-zone-font-color:#677481;--rp-drop-zone-font-size:calc(var(--rp-font-size) * 1.125);--rp-drop-zone-background-color:#fafafa;--rp-checkbox-border-radius:var(--rp-border-radius);--rp-checkbox-border-color:#878c8f;--rp-checkbox-indicator-color:white;--rp-highlight-background-color:#ff0;--rp-text-layer-highlight-border-radius:var(--rp-border-radius);--rp-current-highlight-background-color:red;--rp-tooltip-background-color:#1c2024;--rp-tooltip-border-radius:var(--rp-border-radius);--rp-tooltip-font-color:#fff;--rp-tooltip-font-size:14px;--rp-tooltip-padding:8px 8px;--rp-password-background-color:#fff;--rp-password-title-font-color:#1c2024;--rp-password-content-font-color:#596673;--rp-password-input-border-color:#919497;--rp-password-input-placeholder-color:#75767c;--rp-password-input-font-color:#000;--rp-password-button-background-color:#0075cb;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0075cb;--rp-password-border-color:#e2e6e9;--rp-password-button-border-radius:8px;--rp-container-focus-outline-width:0px;--rp-container-focus-outline-color:var(--rp-primary-color);--rp-container-focus-outline-offset:2px;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5}._rp-theme-variables_1h20a_37._rp-dark-mode_1h20a_158{--rp-primary-color:#34affc;--rp-text-color:#fff;--rp-drop-mask-background-color:#1c2024;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#596673;--rp-toolbar-background:#2d3339;--rp-toolbar-border-color:#434c56;--rp-thumbnail-border-color:#2d3339;--rp-thumbnail-background-color:#1c2024;--rp-thumbnail-active-color:#0000004d;--rp-button-hover-background:#0000004d;--rp-input-background-color:#1c2024;--rp-search-input-border-color:#878c8f;--rp-input-placeholder-color:#868692;--rp-pages-background-color:#1c2024;--rp-page-shadow:0px 2px 12px 0px #00000080;--rp-dropdown-background-color:#434c56;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#2d3339;--rp-popover-background-color:#434c56;--rp-popover-color:var(--rp-text-color);--rp-popover-border-color:#2d3339;--rp-dialog-background-color:#434c56;--rp-properties-divider-color:#2d3339;--rp-property-item-label-color:#c6ccd2;--rp-dialog-title-color:#fff;--rp-print-progress-background:#434c56;--rp-print-progress-color:#fff;--rp-print-progress-cancel-button-border-color:#919497;--rp-drop-zone-background-color:#1c2024;--rp-drop-zone-border:#434c56;--rp-drop-zone-font-color:#7b8896;--rp-tooltip-background-color:#5b6d7f;--rp-password-background-color:#434c56;--rp-password-title-font-color:#fff;--rp-password-content-font-color:#c6ccd2;--rp-password-input-border-color:#9399a0;--rp-password-input-placeholder-color:#85878e;--rp-password-input-font-color:#fff;--rp-password-button-background-color:#0075cb;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0075cb;--rp-password-border-color:#2d3339;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5}\n._rp-wrapper-layout_2cghq_1{height:100%;position:relative}\n._rp-skip-link_17rgz_1{z-index:10000;border:1px solid var(--rp-skip-link-border-color);border-radius:var(--rp-border-radius);background:var(--rp-skip-link-background-color);min-width:200px;min-height:36px;color:var(--rp-skip-link-color);font-size:var(--rp-skip-link-font-size);white-space:normal;text-align:center;clip:rect(0, 0, 0, 0);clip-path:inset(50%);justify-content:center;align-items:center;padding-inline:6px;font-weight:600;text-decoration:none;display:flex;position:absolute;top:6px;left:6px;overflow:hidden}._rp-skip-link_17rgz_1:focus{clip:auto;clip-path:none;overflow:visible}._rp-skip-link_17rgz_1:focus:not(:focus-visible),._rp-skip-link_17rgz_1:focus-visible{outline:1px solid var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:1px}._rp-skip-link_17rgz_1:hover{background:var(--rp-skip-link-border-color);border-color:var(--rp-skip-link-border-color)}\n._rp-sidebar-content-wrapper_ppg43_1{height:100%;display:flex;position:relative;overflow:hidden}._rp-sidebar-content_ppg43_1{background:var(--rp-toolbar-background);min-width:var(--rp-sidebar-width);max-width:var(--rp-sidebar-width);text-align:center;flex-shrink:0;padding-top:.75rem}._rp-thumbnails-wrapper_ppg43_17{width:var(--rp-thumbnail-width,auto);flex-shrink:0;transition:width .15s;position:relative;overflow:hidden}._rp-thumbnails-wrapper_ppg43_17._rp-thumbnails-wrapper-dragging_ppg43_24{transition:width}._rp-thumbnails-wrapper-hidden_ppg43_28{width:0}\n._rp-thumbnail-dragger_1faw8_2{touch-action:none;cursor:col-resize;background-color:var(--rp-thumbnail-border-color);width:4px;height:100%;transition:width .4s;position:absolute;top:0;right:0}._rp-thumbnail-dragger-dragging_1faw8_13,._rp-thumbnail-dragger_1faw8_2:hover{width:5px}\n._rp-thumbnail-dragger_174bn_1{touch-action:none;cursor:col-resize;background-color:var(--rp-thumbnail-border-color);width:4px;height:100%;transition:width .4s;position:absolute;top:0;right:0}._rp-thumbnail-dragger_174bn_1:hover,._rp-thumbnail-dragger-dragging_174bn_15{width:5px}\n._rp-thumbnail-wrapper_drpd8_1{margin-bottom:var(--rp-thumbnail-padding-y);cursor:pointer;flex-direction:column;align-items:center;display:flex}._rp-thumbnail-wrapper_drpd8_1:focus-visible{outline:1px solid var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:-1px}._rp-thumbnail-text_drpd8_15{color:var(--rp-text-color);margin-top:8px;font-size:12px;font-weight:400}._rp-thumbnail_drpd8_1{display:flex;position:relative;box-shadow:0 2px 6px #00000026}._rp-thumbnail_drpd8_1:not(._rp-thumbnail-active_drpd8_28):not(:hover){padding:4px}._rp-thumbnail-active_drpd8_28,._rp-thumbnail_drpd8_1:hover{border:var(--rp-thumbnail-active-color) solid 4px}._rp-thumbnail-loader_drpd8_37{justify-content:center;align-items:center;display:flex}\n._rp-thumbnails-container_1szrf_1{height:100%;max-height:100%;width:var(--rp-thumbnail-width,auto);background:var(--rp-thumbnail-background-color);flex-direction:column;align-items:center;display:flex;overflow:hidden auto}._rp-thumbnails_1szrf_1{padding-top:var(--rp-thumbnail-padding-y);box-sizing:border-box;width:100%;padding-right:4px}\n._rp-dialog-wrapper_39boz_1{z-index:9999;position:fixed;inset:0}._rp-dialog-overlay_39boz_7{background:var(--rp-overlay-background-color);position:fixed;inset:0}._rp-document-dialog_39boz_13{background:var(--rp-dialog-background-color);border-radius:var(--rp-border-radius);border:none;max-width:420px;padding:16px;line-height:1.5;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}._rp-document-dialog_39boz_13:focus-visible{outline:none}@media screen and (width<=640px){._rp-document-dialog_39boz_13{width:85%}}._rp-dialog-title_39boz_35{font-size:var(--rp-dialog-title-font-size);font-weight:var(--rp-dialog-title-font-weight);color:var(--rp-dialog-title-color);margin-top:0;margin-bottom:12px;line-height:normal}._rp-dialog-close_39boz_44{font-size:var(--rp-property-close-icon-size);cursor:pointer;position:absolute;top:16px;right:11px}._rp-properties-divider_39boz_52{background:var(--rp-properties-divider-color);width:100%;height:1px;margin-top:var(--rp-properties-divider-margin);margin-bottom:var(--rp-properties-divider-margin)}\n._rp-menu-item_1q6of_1{padding:var(--rp-dropdown-padding-menu-item);cursor:pointer;border-radius:var(--rp-border-radius);outline:none;align-items:center;display:flex}._rp-menu-item_1q6of_1 :is(svg){font-size:var(--rp-menu-item-icon-size)}._rp-menu-item_1q6of_1:is(:hover,:focus-visible){background:var(--rp-dropdown-hover-background-color)}._rp-menu-item_1q6of_1:focus-visible:not(:hover){outline:1px solid var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:1px}.rp-menu-item-left{justify-content:center;align-items:center;padding-right:8px;display:flex}.rp-menu-item{box-sizing:border-box;flex-direction:row;align-items:center;width:100%;display:flex}.rp-menu-item-right{margin-left:auto}.rp-menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-menu-item_1q6of_1[data-disabled]{cursor:not-allowed;opacity:.5}\n._rp-menu-separator_17dlz_1{background-color:var(--rp-dropdown-separator-color);height:1px;margin-top:var(--rp-dropdown-separator-margin);margin-bottom:var(--rp-dropdown-separator-margin)}\n._rp-go-to-Top_4e0yd_1{transform:rotate(180deg)}\n._rp-other-tool-content_su718_1{padding:var(--rp-dropdown-padding)}\n._rp-paginate_3amlb_1{align-items:center;display:flex}._rp-page-input_3amlb_6{box-sizing:border-box;appearance:none;flex-shrink:0;width:3.5em;min-width:calc(4ch + 1rem);max-width:calc(4ch + 1rem);margin:1px .25rem;padding:.25rem .5rem}._rp-page-input_3amlb_6::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._rp-page-input_3amlb_6::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}._rp-page-input_3amlb_6[type=number]{-moz-appearance:textfield}._rp-total-page_3amlb_29{color:var(--rp-text-color);margin-right:4px;font-size:14px;font-weight:400}._rp-sr-only_3amlb_36{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}\n._rp-property-item-wrapper_jno3l_1{gap:var(--rp-property-item-gap);margin-top:var(--rp-property-item-gap);margin-bottom:var(--rp-property-item-gap);font-size:var(--rp-property-item-font-size);font-weight:var(--rp-property-item-font-weight);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}._rp-property-item-label_jno3l_11{color:var(--rp-property-item-label-color)}._rp-property-item-value_jno3l_15{grid-column:span 2/span 2}\n._rp-toolbar-content_sz31z_1{background:var(--rp-toolbar-background);border-bottom:var(--rp-toolbar-border-color) 1px solid;padding:0 var(--rp-toolbar-padding);min-height:var(--rp-toolbar-size);align-items:center;display:flex}._rp-toolbar-wrapper_sz31z_10{justify-content:space-between;gap:0;width:100%;padding-left:1px;display:flex;overflow-x:auto}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar{width:2px!important;height:2px!important}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar-thumb{background-color:#888;border-radius:3px}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar-track{background:#f1f1f1}._rp-toolbar-start_sz31z_33{align-items:center;gap:var(--rp-toolbar-gap);display:flex}._rp-toolbar-middle_sz31z_39{justify-content:center;align-items:center;gap:var(--rp-toolbar-gap);display:flex}._rp-toolbar-end_sz31z_46{justify-content:flex-end;align-items:center;gap:var(--rp-toolbar-gap);padding-right:1px;display:flex}\n._rp-rotate-counterclockwise_1nqcb_1{transform:rotateY(180deg)}\n._rp-search-tool-content_101l0_1{border:1px solid var(--rp-popover-border-color);border-radius:var(--rp-popover-border-radius);background-color:var(--rp-popover-background-color);color:var(--rp-text-color);padding:8px;display:flex}._rp-search-tool-input_101l0_10{color:var(--rp-text-color);align-items:center;gap:.7rem;display:flex}._rp-search-tool-input-icon_101l0_17{color:var(--rp-text-color);font-size:1.25rem}._rp-search-tool-input-icon_101l0_17[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-search-tool-controls_101l0_27{border-left:1px solid var(--rp-popover-border-color);align-items:baseline;margin-left:.4rem;padding-left:.4rem;display:flex}._rp-search-tool-input-wrapper_101l0_35{flex-direction:column;gap:8px;display:flex}._rp-search-tool-input-checkboxes_101l0_41{gap:.5rem;display:flex}._rp-search-tool-input-clear_101l0_46{cursor:pointer;color:var(--rp-input-placeholder-color);justify-content:center;align-items:center;padding-left:.5rem;padding-right:.5rem;display:flex;position:absolute;top:0;bottom:0;right:0}._rp-search-input_101l0_60{border:1px solid var(--rp-search-input-border-color);color:var(--rp-text-color);max-width:220px;padding-right:2rem}._rp-search-icon-info_101l0_67{cursor:pointer;justify-content:center;align-items:center;margin-right:.5rem;font-size:20px;display:flex}._rp-search-icon-info_101l0_67:focus-visible{outline:1px solid var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:1px;border-radius:var(--rp-border-radius)}._rp-search-loader-icon_101l0_81{width:20px;height:20px}._rp-search-live-region_101l0_86{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-search-tool-result-navigator_101l0_98{margin-right:.3rem}\n._rp-toolbar-layout_13tet_1{flex-direction:column;height:100%;display:flex}._rp-content_13tet_7{width:100%;height:calc(100% - var(--rp-toolbar-height));display:flex}._rp-topbar-content_13tet_13{background:var(--rp-toolbar-background);border-bottom:var(--rp-toolbar-border-color) 1px solid;padding:0 var(--rp-toolbar-padding);min-height:var(--rp-toolbar-size);align-items:center;display:flex}._rp-sidebar-content_13tet_22{text-align:center;background:var(--rp-toolbar-background);border-right:var(--rp-toolbar-border-color) 1px solid;min-width:var(--rp-sidebar-width);flex-direction:column;padding-block:.75rem;display:flex}._rp-pages_13tet_32{background:var(--rp-pages-background-color);flex:1}._rp-thumbnails-wrapper_13tet_37{width:var(--rp-thumbnail-width,auto);flex-shrink:0;transition:width .15s;position:relative;overflow:hidden}._rp-thumbnails-wrapper-hidden_13tet_45{width:0}\n._rp-zoom-wrapper_1yldl_1{gap:4px;display:flex}._rp-current-zoom-wrapper_1yldl_6{align-items:center;display:flex}._rp-current-zoom-wrapper_1yldl_6._active_1yldl_11{background-color:var(--rp-button-hover-background)}._rp-current-zoom-icon_1yldl_15{margin-left:2px;transform:rotate(180deg)}._rp-zoom-level-icon_1yldl_20{margin-left:2px}._rp-current-zoom-text_1yldl_24{font-size:14px}._rp-zoom-dropdown-content_1yldl_28{padding:var(--rp-dropdown-padding)}\n._rp-annotation-layer_foiun_1{--annotation-unfocused-field-background:url(\"data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>\");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none;z-index:2;pointer-events:none;transform:unset;color:#000;transform-origin:var(--rp-page-rotate-translate);transform:rotate(var(--rp-rotate));display:block;position:absolute;inset:0}._rp-annotation-layer_foiun_1 :is(img){width:100%;max-width:100%}._rp-annotation-layer_foiun_1 .overlaidText{width:0;height:0;display:inline-block;position:absolute;top:0;left:0;overflow:hidden}._rp-annotation-layer_foiun_1 section:not(.popupAnnotation){z-index:calc(var(--rp-base-z-index,1) * 3)!important}._rp-annotation-layer_foiun_1 section:has(div.annotationContent) canvas.annotationContent{display:none}._rp-annotation-layer_foiun_1 section a{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}._rp-annotation-layer_foiun_1 section a:hover{background-color:var(--rp-annotation-layer__link-hover-background)}._rp-annotation-layer_foiun_1 section :is(svg){width:100%;height:100%;position:absolute;top:0;left:0}._rp-annotation-layer_foiun_1 section .popupTriggerArea,._rp-annotation-layer_foiun_1 section.popupTriggerArea{cursor:pointer}._rp-annotation-layer_foiun_1 section.popupAnnotation{font-size:calc(9px * var(--scale-factor));pointer-events:none;width:max-content;max-width:45%;height:auto}._rp-annotation-layer_foiun_1 section.popupAnnotation.focused .popup{outline-width:3px}._rp-annotation-layer_foiun_1 section .popupContent{margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor));border-top:1px solid #333}._rp-annotation-layer_foiun_1 section .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}._rp-annotation-layer_foiun_1 section .annotationTextContent,._rp-annotation-layer_foiun_1 .overlaidText{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}._rp-annotation-layer_foiun_1 section .annotationTextContent span{width:100%;display:inline-block}._rp-annotation-layer_foiun_1 section.fileAttachmentAnnotation .popupTriggerArea{width:100%;height:100%}._rp-annotation-layer_foiun_1 section.textWidgetAnnotation :is(input,textarea),._rp-annotation-layer_foiun_1 section.choiceWidgetAnnotation select,._rp-annotation-layer_foiun_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}._rp-annotation-layer_foiun_1 section.textWidgetAnnotation :is(input,textarea)[disabled],._rp-annotation-layer_foiun_1 section.choiceWidgetAnnotation select[disabled],._rp-annotation-layer_foiun_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}._rp-annotation-layer_foiun_1 section.textWidgetAnnotation :is(input,textarea):hover,._rp-annotation-layer_foiun_1 section.choiceWidgetAnnotation select:hover,._rp-annotation-layer_foiun_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}._rp-annotation-layer_foiun_1 section.textWidgetAnnotation :is(input,textarea):hover,._rp-annotation-layer_foiun_1 section.choiceWidgetAnnotation select:hover,._rp-annotation-layer_foiun_1 section.buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}._rp-annotation-layer_foiun_1 section.textWidgetAnnotation :is(input,textarea):focus,._rp-annotation-layer_foiun_1 section.choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}._rp-annotation-layer_foiun_1 section.textWidgetAnnotation textarea{resize:none}._rp-annotation-layer_foiun_1 section .popup{box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;font-size:calc(9px * var(--scale-factor));background-color:#ff9;outline:1.5px solid #ffff4a}._rp-annotation-layer_foiun_1 section .popup *{font-size:calc(9px * var(--scale-factor))}._rp-annotation-layer_foiun_1 section .popup .header{display:inline-block}._rp-annotation-layer_foiun_1 section .popup .header h1{font-weight:700;display:inline}._rp-annotation-layer_foiun_1 section .popup .header .popupDate{margin-left:calc(5px * var(--scale-factor));width:fit-content;display:inline-block}._rp-annotation-layer_foiun_1 section{text-align:initial;pointer-events:none;box-sizing:border-box;position:absolute}._rp-annotation-layer_foiun_1 section.popupTriggerArea{pointer-events:auto}._rp-annotation-layer_foiun_1 section:has(a){pointer-events:auto}._rp-annotation-layer_foiun_1 section:has(button){pointer-events:auto}._rp-annotation-layer_foiun_1 section:has(input){pointer-events:auto}._rp-annotation-layer_foiun_1 section:has(textarea){pointer-events:auto}._rp-annotation-layer_foiun_1 section:has(select){pointer-events:auto}._rp-annotation-layer_foiun_1 section:has([role=button]){pointer-events:auto}._rp-annotation-layer_foiun_1 section :is(a,button,input,textarea,select),._rp-annotation-layer_foiun_1 section [role=button],._rp-annotation-layer_foiun_1 section .popup,._rp-annotation-layer_foiun_1 section .popupTriggerArea,._rp-annotation-layer_foiun_1 section.popupTriggerArea{pointer-events:auto}\n._rp-page-wrapper_1iuev_1{justify-content:center;align-items:center;display:flex}._rp-page_1iuev_1{box-shadow:var(--rp-page-shadow,0px 2px 12px 0px #00000026);outline:var(--rp-page-outline,none);outline-offset:var(--rp-page-outline-offset,0);position:relative}._rp-canvas-layer_1iuev_17{contain:strict;z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}._rp-page_1iuev_1 canvas[data-rp$=canvas]{transform:scale(var(--rp-canvas-scale-ratio,1));transform-origin:0 0;will-change:transform, opacity;backface-visibility:hidden;contain:content;opacity:0;pointer-events:none;margin:0;display:block;position:absolute;inset:0}._rp-loader-wrapper_1iuev_40{z-index:1;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}\n._rp-text-highlight_jdkf8_1{pointer-events:none;transform-origin:0 0;white-space:pre;line-height:1;position:absolute;overflow:hidden}\n._rp-text-layer_7vzxr_1{color:#0000;transform:rotate(var(--rp-rotate));transform-origin:var(--rp-page-rotate-translate);z-index:1;pointer-events:auto;-webkit-user-select:text;user-select:text;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));position:absolute;inset:0}._rp-text-layer_7vzxr_1._selecting_7vzxr_18~[data-rp$=annotationLayer] section{pointer-events:none}._rp-text-layer_7vzxr_1 br::selection{color:#0000;background-color:#0000}._rp-text-layer_7vzxr_1 :is(span,br):not(.highlight){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}._rp-text-layer_7vzxr_1>:not(._markedContent_7vzxr_44),._rp-text-layer_7vzxr_1 ._markedContent_7vzxr_44 span:not(._markedContent_7vzxr_44){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._rp-text-layer_7vzxr_1 .endOfContent{bottom:0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._rp-text-layer_7vzxr_1._selecting_7vzxr_18 .endOfContent{top:0}._rp-text-layer-text_7vzxr_68{transform-origin:0 0;white-space:pre;line-height:1;position:absolute;overflow:hidden}@-moz-document url-prefix(){._rp-text-layer-text_7vzxr_68{overflow:visible}}\n";
4
+ //#endregion
5
+ export { e as t };
@@ -1,9 +1,10 @@
1
- import { ReactNode, CSSProperties } from 'react';
1
+ import { CSSProperties, ReactNode } from 'react';
2
2
  interface TooltipProps {
3
3
  children: ReactNode;
4
- content?: string;
4
+ content?: ReactNode;
5
5
  className?: string;
6
6
  style?: CSSProperties;
7
+ hoverDelayDuration?: number;
7
8
  }
8
9
  declare const RPTooltip: import('react').ForwardRefExoticComponent<TooltipProps & import('react').RefAttributes<HTMLDivElement>>;
9
10
  export default RPTooltip;
@@ -1,12 +1,14 @@
1
1
  import { Queue } from '../utils/Queue';
2
2
  import { FC } from 'react';
3
3
  import { PDFPageProxy } from 'pdfjs-dist';
4
+ import { RenderTask } from 'pdfjs-dist/types/src/display/api';
4
5
  import { RenderOptions } from '../utils/types';
5
6
  interface RenderData {
6
7
  page: PDFPageProxy;
7
8
  canvasElem: HTMLCanvasElement;
8
9
  options?: RenderOptions;
9
10
  onLoaded?: () => void;
11
+ onRenderTask?: (task: RenderTask | null) => void;
10
12
  }
11
13
  export declare const RenderQueueContext: import('react').Context<Queue<RenderData> | null>;
12
14
  export declare const RenderQueueProvider: FC<{
@@ -9,6 +9,9 @@ declare const _default: {
9
9
  "searchMatchCaseTooltip": "Groß-/Kleinschreibung beachten",
10
10
  "searchWholeWordsLabel": "Ganze Wörter",
11
11
  "searchWholeWordsTooltip": "Exakte Wörter suchen (Groß-/Kleinschreibung ignorieren)",
12
+ "searchLoadingMessage": "Suche läuft",
13
+ "searchNoResultsMessage": "Keine Treffer gefunden",
14
+ "searchResultsMessage": "{current} von {total} Treffern",
12
15
  "previousPageTooltip": "Vorherige Seite",
13
16
  "currentPageTooltip": "Aktuelle Seite",
14
17
  "nextPageTooltip": "Nächste Seite",
@@ -9,6 +9,9 @@ declare const _default: {
9
9
  "searchMatchCaseTooltip": "Search case sensitive text",
10
10
  "searchWholeWordsLabel": "Whole Words",
11
11
  "searchWholeWordsTooltip": "Search exact and case insensitive word(s)",
12
+ "searchLoadingMessage": "Searching",
13
+ "searchNoResultsMessage": "No matches found",
14
+ "searchResultsMessage": "{current} of {total} matches",
12
15
  "previousPageTooltip": "Previous page",
13
16
  "currentPageTooltip": "Current page",
14
17
  "nextPageTooltip": "Next page",
@@ -9,6 +9,9 @@ declare const _default: {
9
9
  "searchMatchCaseTooltip": "Cerca testo con distinzione maiuscole/minuscole",
10
10
  "searchWholeWordsLabel": "Parola intera",
11
11
  "searchWholeWordsTooltip": "Cerca esatte parole senza distinzione maiuscole/minuscole",
12
+ "searchLoadingMessage": "Ricerca in corso",
13
+ "searchNoResultsMessage": "Nessuna corrispondenza trovata",
14
+ "searchResultsMessage": "{current} di {total} corrispondenze",
12
15
  "previousPageTooltip": "Pagina precedente",
13
16
  "currentPageTooltip": "Pagina corrente",
14
17
  "nextPageTooltip": "Pagina successiva",
@@ -9,6 +9,9 @@ declare const _default: {
9
9
  "searchMatchCaseTooltip": "Pesquisar texto com distinção de maiúsculas/minúsculas",
10
10
  "searchWholeWordsLabel": "Palavra inteira",
11
11
  "searchWholeWordsTooltip": "Pesquisar palavras exatas sem distinção de maiúsculas/minúsculas",
12
+ "searchLoadingMessage": "A pesquisar",
13
+ "searchNoResultsMessage": "Nenhuma correspondência encontrada",
14
+ "searchResultsMessage": "{current} de {total} correspondências",
12
15
  "previousPageTooltip": "Página anterior",
13
16
  "currentPageTooltip": "Página atual",
14
17
  "nextPageTooltip": "Próxima página",
@@ -9,6 +9,9 @@ declare const _default: {
9
9
  "searchMatchCaseTooltip": "ค้นหาข้อความที่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก",
10
10
  "searchWholeWordsLabel": "ทั้งคำ",
11
11
  "searchWholeWordsTooltip": "ค้นหาคำที่ตรงตัวไม่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก",
12
+ "searchLoadingMessage": "กำลังค้นหา",
13
+ "searchNoResultsMessage": "ไม่พบผลการค้นหา",
14
+ "searchResultsMessage": "ผลการค้นหาที่ {current} จาก {total}",
12
15
  "previousPageTooltip": "หน้าก่อนหน้า",
13
16
  "currentPageTooltip": "หน้าปัจจุบัน",
14
17
  "nextPageTooltip": "หน้าถัดไป",
@@ -9,6 +9,9 @@ declare const _default: {
9
9
  "searchMatchCaseTooltip": "搜索区分大小写",
10
10
  "searchWholeWordsLabel": "全字匹配",
11
11
  "searchWholeWordsTooltip": "搜索完全匹配",
12
+ "searchLoadingMessage": "正在搜索",
13
+ "searchNoResultsMessage": "未找到匹配项",
14
+ "searchResultsMessage": "第 {current} 条,共 {total} 条匹配",
12
15
  "previousPageTooltip": "上一页",
13
16
  "currentPageTooltip": "当前页",
14
17
  "nextPageTooltip": "下一页",
@@ -10,6 +10,7 @@ export declare class Queue<T> {
10
10
  enqueue(id: string, data: T, priority?: number): void;
11
11
  dequeue(): QueueItem<T> | undefined;
12
12
  removeQueue(id: string): boolean;
13
+ removeQueues(id: string | RegExp): number;
13
14
  changePagePriority(id: string | RegExp, newPriority: number): boolean;
14
15
  peekAll(): QueueItem<T>[];
15
16
  isEmpty(): boolean;
@@ -3,3 +3,11 @@ export declare const THUMBNAIL_MIN_WIDTH = 200;
3
3
  export declare const SCROLL_BAR_WIDTH = 20;
4
4
  export declare const MIN_ZOOM_SCALE = 25;
5
5
  export declare const MAX_ZOOM_SCALE = 1000;
6
+ export declare const ZOOM_STEP_PERCENT = 25;
7
+ export declare const ZOOM_DEBOUNCE_MS = 400;
8
+ export declare const ZOOM_SAFETY_TIMEOUT_MS = 1000;
9
+ export declare const MAX_CANVAS_DIM = 32767;
10
+ export declare const MAX_CANVAS_PIXELS = 33554432;
11
+ export declare const SAFARI_MAX_CANVAS_PIXELS = 16777216;
12
+ export declare const IOS_MAX_CANVAS_PIXELS = 5242880;
13
+ export declare const CANVAS_AREA_CAP_FACTOR = 200;
@@ -1 +1,14 @@
1
- export declare const usePinch: (container: HTMLDivElement | null) => void;
1
+ import { ZoomOrigin } from './useZoomOrigin';
2
+ export type PinchZoomGesture = 'touch' | 'wheel';
3
+ export interface PinchZoomMetadata {
4
+ gesture?: PinchZoomGesture;
5
+ previousScale: number;
6
+ nextScale: number;
7
+ origin?: ZoomOrigin;
8
+ }
9
+ interface UsePinchOptions {
10
+ onBeforeZoom?: (metadata: PinchZoomMetadata) => void;
11
+ onPinchEnd?: () => void;
12
+ }
13
+ export declare const usePinch: (container: HTMLDivElement | null, options?: UsePinchOptions) => void;
14
+ export {};
@@ -0,0 +1,4 @@
1
+ export type ZoomOrigin = [number, number];
2
+ export declare const getZoomOriginFromClientPoint: (element: HTMLElement | null, clientX: number, clientY: number) => ZoomOrigin | null;
3
+ export declare const getZoomCenterOrigin: (element: HTMLElement | null) => ZoomOrigin | undefined;
4
+ export declare const useZoomOrigin: (element: HTMLElement | null) => () => ZoomOrigin | undefined;
@@ -86,6 +86,9 @@ export type Localization = {
86
86
  searchMatchCaseTooltip?: string;
87
87
  searchWholeWordsLabel?: string;
88
88
  searchWholeWordsTooltip?: string;
89
+ searchLoadingMessage?: string;
90
+ searchNoResultsMessage?: string;
91
+ searchResultsMessage?: string;
89
92
  previousPageTooltip?: string;
90
93
  currentPageTooltip?: string;
91
94
  nextPageTooltip?: string;
@@ -400,6 +403,7 @@ export declare enum ThemeVariables {
400
403
  INPUT_BORDER_RADIUS = "--rp-input-border-radius",
401
404
  INPUT_BACKGROUND_COLOR = "--rp-input-background-color",
402
405
  INPUT_PLACEHOLDER_COLOR = "--rp-input-placeholder-color",
406
+ SEARCH_INPUT_BORDER_COLOR = "--rp-search-input-border-color",
403
407
  PAGES_BACKGROUND_COLOR = "--rp-pages-background-color",
404
408
  PAGE_SHADOW = "--rp-page-shadow",
405
409
  PAGE_OUTLINE = "--rp-page-outline",
@@ -434,6 +438,7 @@ export declare enum ThemeVariables {
434
438
  MENU_ITEM_ICON_SIZE = "--rp-menu-item-icon-size",
435
439
  PRINT_PROGRESS_BACKGROUND = "--rp-print-progress-background",
436
440
  PRINT_PROGRESS_COLOR = "--rp-print-progress-color",
441
+ PRINT_PROGRESS_CANCEL_BUTTON_BORDER_COLOR = "--rp-print-progress-cancel-button-border-color",
437
442
  DROP_ZONE_BORDER = "--rp-drop-zone-border",
438
443
  DROP_ZONE_FONT_COLOR = "--rp-drop-zone-font-color",
439
444
  DROP_ZONE_FONT_SIZE = "--rp-drop-zone-font-size",
@@ -550,9 +555,20 @@ export interface DimensionPagesContextType {
550
555
  export interface ZoomContextType {
551
556
  zoomLevel: number | ZoomLevel;
552
557
  currentZoom: number;
558
+ targetZoom: number;
559
+ isZooming: boolean;
560
+ zoomOrigin: [number, number] | null;
561
+ zoomGesture: 'touch' | 'wheel' | 'toolbar' | null;
562
+ previousTargetZoom: number | null;
563
+ zoomTo: (zoomLevel: number | ZoomLevel, options?: {
564
+ immediate?: boolean;
565
+ origin?: [number, number];
566
+ gesture?: 'touch' | 'wheel' | 'toolbar';
567
+ previousTargetZoom?: number;
568
+ }) => void;
553
569
  setZoomLevel: (callback: number | ZoomLevel | ((prev: number) => number | ZoomLevel)) => void;
554
570
  }
555
- export type ZoomProps = Omit<ZoomContextType, 'currentZoom'>;
571
+ export type ZoomProps = Pick<ZoomContextType, 'zoomLevel' | 'setZoomLevel'>;
556
572
  export type InitialStateContextType = {
557
573
  interactiveForm?: boolean;
558
574
  } & ZoomProviderProps & PageProviderProps & ViewModeInitialProps & ScrollModeInitialProps & RotateProviderProps;
@@ -1,2 +1,4 @@
1
1
  export declare const isZoomOutDisabled: (currentZoom: number) => boolean;
2
2
  export declare const isZoomInDisabled: (currentZoom: number) => boolean;
3
+ export declare const getNextZoomInLevel: (currentZoomPercent: number) => number;
4
+ export declare const getNextZoomOutLevel: (currentZoomPercent: number) => number;
@@ -6,6 +6,7 @@ var e = class {
6
6
  this._triggerEnqueue = e;
7
7
  }
8
8
  enqueue(e, t, n = 0) {
9
+ this.removeQueue(e);
9
10
  let r = {
10
11
  id: e,
11
12
  data: t,
@@ -20,6 +21,10 @@ var e = class {
20
21
  let t = this._items.findIndex((t) => t.id === e);
21
22
  return t === -1 ? !1 : (this._items.splice(t, 1), !0);
22
23
  }
24
+ removeQueues(e) {
25
+ let t = new RegExp(e), n = this._items.length;
26
+ return this._items = this._items.filter((e) => !t.test(e.id)), n - this._items.length;
27
+ }
23
28
  changePagePriority(e, t) {
24
29
  let n = this._items.find((t) => new RegExp(e).test(t.id));
25
30
  return n ? (this.removeQueue(n.id), this.enqueue(n.id, n.data, t), !0) : !1;
@@ -1,4 +1,4 @@
1
1
  //#region lib/utils/constants.ts
2
- var e = 4, t = 200, n = 20, r = 25, i = 1e3;
2
+ var e = 4, t = 200, n = 20, r = 25, i = 1e3, a = 25, o = 400, s = 1e3, c = 32767, l = 33554432, u = 16777216, d = 5242880, f = 200;
3
3
  //#endregion
4
- export { i as MAX_ZOOM_SCALE, r as MIN_ZOOM_SCALE, e as PAGE_PADDING, n as SCROLL_BAR_WIDTH, t as THUMBNAIL_MIN_WIDTH };
4
+ export { f as CANVAS_AREA_CAP_FACTOR, d as IOS_MAX_CANVAS_PIXELS, c as MAX_CANVAS_DIM, l as MAX_CANVAS_PIXELS, i as MAX_ZOOM_SCALE, r as MIN_ZOOM_SCALE, e as PAGE_PADDING, u as SAFARI_MAX_CANVAS_PIXELS, n as SCROLL_BAR_WIDTH, t as THUMBNAIL_MIN_WIDTH, o as ZOOM_DEBOUNCE_MS, s as ZOOM_SAFETY_TIMEOUT_MS, a as ZOOM_STEP_PERCENT };