@react-pdf-kit/viewer 2.0.0-beta.0 → 2.0.0-beta.2

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 (201) hide show
  1. package/dist/{LayoutWrapper-a871c161.js → LayoutWrapper-6224491f.js} +1 -1
  2. package/dist/{RotateTool.module-03987eba.js → RotateTool.module-67946714.js} +1 -1
  3. package/dist/{SearchCloseButton-cbf182aa.js → SearchCloseButton-08d57275.js} +1 -1
  4. package/dist/ToolbarLayout.module-3a77cc37.js +3556 -0
  5. package/dist/assets/style.css +1 -0
  6. package/dist/assets/style.js +74 -0
  7. package/dist/components/RPConfig.js +14 -1489
  8. package/dist/components/RPController.js +175 -61
  9. package/dist/components/RPDropFileZone.js +26 -12
  10. package/dist/components/RPPages.js +82 -8
  11. package/dist/components/RPProvider.js +173 -19
  12. package/dist/components/RPTheme.js +6 -5
  13. package/dist/components/icons/DualPageIcon.js +6 -6
  14. package/dist/components/icons/LoaderIcon.js +1 -1
  15. package/dist/components/icons/SinglePageIcon.js +6 -6
  16. package/dist/components/layout/Container.js +1 -1
  17. package/dist/components/layout/LayoutContainer.js +87 -7
  18. package/dist/components/layout/LayoutWrapper.js +2 -1
  19. package/dist/components/layout/RPDefaultLayout.js +127 -3
  20. package/dist/components/layout/RPLayout.js +108 -20
  21. package/dist/components/layout/WrapperLayout.js +22 -9
  22. package/dist/components/layout/sidebar/RPSidebar.js +127 -2
  23. package/dist/components/layout/sidebar/RPSplitter.js +1 -1
  24. package/dist/components/layout/sidebar/Thumbnail.js +89 -8
  25. package/dist/components/layout/sidebar/Thumbnails.js +134 -2
  26. package/dist/components/layout/toolbar/DarkModeTool.js +22 -13
  27. package/dist/components/layout/toolbar/DocumentDialog.js +89 -8
  28. package/dist/components/layout/toolbar/DocumentProperties.js +18 -8
  29. package/dist/components/layout/toolbar/FileDownloadTool.js +127 -2
  30. package/dist/components/layout/toolbar/FileUploadTool.js +31 -10
  31. package/dist/components/layout/toolbar/FullScreenTool.js +39 -27
  32. package/dist/components/layout/toolbar/MenuItem.js +12 -8
  33. package/dist/components/layout/toolbar/MenuSeparator.js +8 -4
  34. package/dist/components/layout/toolbar/MostPageTool.js +89 -9
  35. package/dist/components/layout/toolbar/OtherTool.js +119 -3
  36. package/dist/components/layout/toolbar/Paginate.js +123 -2
  37. package/dist/components/layout/toolbar/PrintTool.js +127 -2
  38. package/dist/components/layout/toolbar/PropertyItem.js +1 -1
  39. package/dist/components/layout/toolbar/RPMenuItem.js +20 -13
  40. package/dist/components/layout/toolbar/RPMoreOptions.js +169 -44
  41. package/dist/components/layout/toolbar/RPToolbar.js +133 -3
  42. package/dist/components/layout/toolbar/RPToolbarEnd.js +133 -2
  43. package/dist/components/layout/toolbar/RotateTool.js +39 -18
  44. package/dist/components/layout/toolbar/ScrollModeTool.js +27 -18
  45. package/dist/components/layout/toolbar/SearchCloseButton.js +11 -2
  46. package/dist/components/layout/toolbar/SearchResultNavigator.js +133 -3
  47. package/dist/components/layout/toolbar/SearchTool.js +87 -8
  48. package/dist/components/layout/toolbar/SelectionModeTool.js +19 -10
  49. package/dist/components/layout/toolbar/ThumbnailTool.js +139 -10
  50. package/dist/components/layout/toolbar/ToolbarCustom.js +104 -23
  51. package/dist/components/layout/toolbar/ToolbarDefault.js +113 -31
  52. package/dist/components/layout/toolbar/ToolbarLayout.js +145 -6
  53. package/dist/components/layout/toolbar/ViewModeTool.js +28 -19
  54. package/dist/components/layout/toolbar/ZoomTool.js +138 -128
  55. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +137 -7
  56. package/dist/components/layout/toolbar/tools/DualPageTool.js +144 -0
  57. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +140 -9
  58. package/dist/components/layout/toolbar/tools/FileUploadTool.js +27 -8
  59. package/dist/components/layout/toolbar/tools/FullScreenTool.js +23 -13
  60. package/dist/components/layout/toolbar/tools/InputPageTool.js +157 -26
  61. package/dist/components/layout/toolbar/tools/NextPageTool.js +89 -9
  62. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +142 -11
  63. package/dist/components/layout/toolbar/tools/PrintTool.js +138 -7
  64. package/dist/components/layout/toolbar/tools/RotateClockwiseTool.js +29 -8
  65. package/dist/components/layout/toolbar/tools/RotateCounterclockwiseTool.js +32 -11
  66. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +29 -0
  67. package/dist/components/layout/toolbar/tools/SinglePageTool.js +144 -0
  68. package/dist/components/layout/toolbar/tools/ThemeSwitcherTool.js +15 -6
  69. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +142 -11
  70. package/dist/components/layout/toolbar/tools/ZoomInTool.js +47 -20
  71. package/dist/components/layout/toolbar/tools/ZoomLevelDisplay.js +140 -0
  72. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +158 -29
  73. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +45 -18
  74. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +104 -19
  75. package/dist/components/layout/toolbar/tools/defaults/RPVerticalBar.js +144 -11
  76. package/dist/components/layout/toolbar/tools/more-options/DocumentProperties.js +15 -5
  77. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +141 -11
  78. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +90 -9
  79. package/dist/components/layout/toolbar/tools/more-options/FullScreenTool.js +21 -9
  80. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +90 -10
  81. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +137 -7
  82. package/dist/components/layout/toolbar/tools/more-options/RotateTool.js +33 -12
  83. package/dist/components/layout/toolbar/tools/more-options/ScrollModeTool.js +23 -14
  84. package/dist/components/layout/toolbar/tools/more-options/SelectionModeTool.js +22 -13
  85. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +27 -18
  86. package/dist/components/page/AnnotationLayer.js +87 -9
  87. package/dist/components/page/CanvasLayer.js +90 -8
  88. package/dist/components/page/CustomElement.js +49 -18
  89. package/dist/components/page/DualPage.js +136 -2
  90. package/dist/components/page/RPPage.js +88 -8
  91. package/dist/components/page/SinglePage.js +136 -2
  92. package/dist/components/page/TextHighlightLayer.js +88 -8
  93. package/dist/components/page/TextLayer.js +89 -9
  94. package/dist/components/ui/Button.js +9 -8
  95. package/dist/components/ui/Checkbox.js +6 -5
  96. package/dist/components/ui/DropDown.js +18 -14
  97. package/dist/components/ui/Input.js +10 -9
  98. package/dist/components/ui/LoadingIndicator.js +135 -2
  99. package/dist/components/ui/PasswordModal.js +18 -15
  100. package/dist/components/ui/RPTooltip.js +202 -415
  101. package/dist/contexts/DimensionPagesContext.js +35 -17
  102. package/dist/contexts/DropFileZoneContext.js +32 -22
  103. package/dist/contexts/ElementPageContext.js +114 -51
  104. package/dist/contexts/EventCallbackContext.js +30 -0
  105. package/dist/contexts/FileInputContext.js +32 -22
  106. package/dist/contexts/GlobalCurrentPage.js +13 -10
  107. package/dist/contexts/HighlightContext.js +24 -11
  108. package/dist/contexts/LicenseContext.js +1 -0
  109. package/dist/contexts/LoaderContext.js +10 -9
  110. package/dist/contexts/LocalizationContext.js +11 -10
  111. package/dist/contexts/PagesRotateContext.js +36 -18
  112. package/dist/contexts/PaginationContext.js +135 -4
  113. package/dist/contexts/PrintContext.js +138 -4
  114. package/dist/contexts/RPDocumentContext.js +46 -28
  115. package/dist/contexts/RenderQueueProvider.js +136 -4
  116. package/dist/contexts/RotationContext.js +25 -15
  117. package/dist/contexts/ScrollModeContext.js +7 -6
  118. package/dist/contexts/SearchContext.js +138 -4
  119. package/dist/contexts/SelectionModeContext.js +5 -4
  120. package/dist/contexts/ThumbnailsContext.js +138 -4
  121. package/dist/contexts/ViewModeContext.js +10 -9
  122. package/dist/contexts/ZoomContext.js +34 -24
  123. package/dist/index-808ea7bf.js +1685 -0
  124. package/dist/index-a48ec088.js +1672 -0
  125. package/dist/{index-35c7f4a2.js → index-c9a2990a.js} +3 -3
  126. package/dist/libInjectCss.js +9 -0
  127. package/dist/main.js +222 -84
  128. package/dist/types/assets/style.d.ts +1 -0
  129. package/dist/types/components/icons/DualPageIcon.d.ts +1 -1
  130. package/dist/types/components/icons/SinglePageIcon.d.ts +1 -1
  131. package/dist/types/components/layout/toolbar/tools/DualPageTool.d.ts +3 -0
  132. package/dist/types/components/layout/toolbar/tools/SelectionModeSwitcherTool.d.ts +3 -0
  133. package/dist/types/components/layout/toolbar/tools/SinglePageTool.d.ts +3 -0
  134. package/dist/types/components/layout/toolbar/tools/ZoomLevelDisplay.d.ts +7 -0
  135. package/dist/types/contexts/EventCallbackContext.d.ts +5 -0
  136. package/dist/types/contexts/RenderQueueProvider.d.ts +2 -2
  137. package/dist/types/libInjectCss.d.ts +1 -0
  138. package/dist/types/main.d.ts +5 -5
  139. package/dist/types/utils/annotations.d.ts +1 -2
  140. package/dist/types/utils/approximateFragtion.d.ts +9 -0
  141. package/dist/types/utils/getElementPositionInPage.d.ts +5 -0
  142. package/dist/types/utils/hooks/useCopyText.d.ts +1 -0
  143. package/dist/types/utils/hooks/usePrint.d.ts +3 -2
  144. package/dist/types/utils/hooks/useSearch.d.ts +1 -2
  145. package/dist/types/utils/injectPrintCSS.d.ts +1 -0
  146. package/dist/types/utils/link_service.d.ts +11 -1
  147. package/dist/types/utils/renderPage.d.ts +2 -2
  148. package/dist/types/utils/types.d.ts +38 -5
  149. package/dist/types/utils/zoom.d.ts +2 -0
  150. package/dist/utils/annotations.js +48 -58
  151. package/dist/utils/approximateFragtion.js +22 -0
  152. package/dist/utils/getElementPositionInPage.js +84 -0
  153. package/dist/utils/getWordPositionInPage.js +5 -5
  154. package/dist/utils/getZoomLevel.js +9 -8
  155. package/dist/utils/highlight.js +72 -72
  156. package/dist/utils/hooks/useCopyText.js +36 -0
  157. package/dist/utils/hooks/useDarkModeProps.js +3 -2
  158. package/dist/utils/hooks/useFileDownload.js +90 -8
  159. package/dist/utils/hooks/useHighlight.js +13 -12
  160. package/dist/utils/hooks/useLicense.js +1 -1
  161. package/dist/utils/hooks/useLoadPdf.js +44 -36
  162. package/dist/utils/hooks/useLoadWorker.js +8 -8
  163. package/dist/utils/hooks/usePageRotateContext.js +33 -17
  164. package/dist/utils/hooks/usePaginate.js +88 -8
  165. package/dist/utils/hooks/usePinch.js +62 -41
  166. package/dist/utils/hooks/usePresentPage.js +88 -8
  167. package/dist/utils/hooks/usePrint.js +90 -9
  168. package/dist/utils/hooks/useRotate.js +21 -7
  169. package/dist/utils/hooks/useScrollToPage.js +86 -8
  170. package/dist/utils/hooks/useSearch.js +86 -8
  171. package/dist/utils/hooks/useThumbnail.js +89 -8
  172. package/dist/utils/hooks/useVirtualReactWindow.js +88 -8
  173. package/dist/utils/hooks/useWatermark.js +18 -15
  174. package/dist/utils/injectPrintCSS.js +22 -0
  175. package/dist/utils/link_service.js +49 -9
  176. package/dist/utils/renderPage.js +13 -10
  177. package/dist/utils/zoom.js +6 -0
  178. package/package.json +5 -6
  179. package/dist/ToolbarLayout.module-c588d36b.js +0 -3411
  180. package/dist/ZoomTool.module-6c5eabbb.js +0 -12
  181. package/dist/assets/Button.css +0 -1
  182. package/dist/assets/Checkbox.css +0 -1
  183. package/dist/assets/Container.css +0 -1
  184. package/dist/assets/DropDown.css +0 -1
  185. package/dist/assets/Input.css +0 -1
  186. package/dist/assets/LayoutWrapper.css +0 -1
  187. package/dist/assets/LoaderIcon.css +0 -1
  188. package/dist/assets/MenuItem.css +0 -1
  189. package/dist/assets/MenuSeparator.css +0 -1
  190. package/dist/assets/PasswordModal.css +0 -1
  191. package/dist/assets/PropertyItem.css +0 -1
  192. package/dist/assets/RPDropFileZone.css +0 -1
  193. package/dist/assets/RPSplitter.css +0 -1
  194. package/dist/assets/RPTooltip.css +0 -1
  195. package/dist/assets/RotateTool.css +0 -1
  196. package/dist/assets/SearchCloseButton.css +0 -1
  197. package/dist/assets/ToolbarLayout.css +0 -1
  198. package/dist/assets/WrapperLayout.css +0 -1
  199. package/dist/assets/ZoomTool.css +0 -1
  200. package/dist/floating-ui.react-dom-6b2fe0df.js +0 -1474
  201. package/dist/index-f563c6f0.js +0 -1889
@@ -5,6 +5,24 @@ import { useDocumentContext as l } from "./RPDocumentContext.js";
5
5
  import { useZoomContext as y } from "./ZoomContext.js";
6
6
  import { PAGE_PADDING as f } from "../utils/constants.js";
7
7
  import { usePagesRotateContext as D } from "./PagesRotateContext.js";
8
+ import "../utils/hooks/useLoadPdf.js";
9
+ import "pdfjs-dist";
10
+ import "../utils/types.js";
11
+ import "../th_TH-d627cd51.js";
12
+ import "../utils/getThumbnailViewport.js";
13
+ import "./ConfigContext.js";
14
+ import "./DocumentPasswordContext.js";
15
+ import "../utils/hooks/usePdfProperties.js";
16
+ import "../utils/convertPdfDate.js";
17
+ import "../utils/formatFileSize.js";
18
+ import "./InitialStateContext.js";
19
+ import "../utils/getZoomLevel.js";
20
+ import "./LayoutContainerContext.js";
21
+ import "./ViewModeContext.js";
22
+ import "./RotationContext.js";
23
+ import "./GlobalCurrentPage.js";
24
+ import "./EventCallbackContext.js";
25
+ import "../utils/hooks/useDebounce.js";
8
26
  const g = x({
9
27
  widths: [],
10
28
  heights: [],
@@ -12,31 +30,31 @@ const g = x({
12
30
  },
13
31
  setHeights: () => {
14
32
  }
15
- }), E = () => {
16
- const o = v(g), { widths: s, heights: e } = o;
17
- if (s && e) {
18
- const n = s.every((t) => typeof t == "number"), r = e.every((t) => typeof t == "number");
19
- (!n || !r) && C.warn("Please use this hooks inside children component of RPProvider");
33
+ }), T = () => {
34
+ const e = v(g), { widths: r, heights: o } = e;
35
+ if (r && o) {
36
+ const m = r.every((t) => typeof t == "number"), i = o.every((t) => typeof t == "number");
37
+ (!m || !i) && C.warn("Please use this hooks inside children component of RPProvider");
20
38
  }
21
- return o;
22
- }, G = ({ children: o }) => {
23
- const [s, e] = u([]), [n, r] = u([]), { pages: t } = l(), { currentZoom: m } = y(), { pageRotate: h } = D();
39
+ return e;
40
+ }, U = ({ children: e }) => {
41
+ const [r, o] = u([]), [m, i] = u([]), { pages: t } = l(), { currentZoom: n } = y(), { pageRotate: p } = D();
24
42
  return w(() => {
25
43
  if (!t)
26
44
  return;
27
- const c = [], a = [];
28
- for (const i of Array.from(t.values())) {
29
- const d = h[i.page.pageNumber], p = i.page.getViewport({
30
- scale: m,
45
+ const h = [], c = [];
46
+ for (const s of Array.from(t.values())) {
47
+ const d = p[s.page.pageNumber], a = s.page.getViewport({
48
+ scale: n,
31
49
  rotation: d,
32
50
  dontFlip: !0
33
51
  });
34
- c.push(p.width + f), a.push(p.height + f);
52
+ h.push(a.width + f), c.push(a.height + f);
35
53
  }
36
- e((i) => [...c]), r((i) => [...a]);
37
- }, [m, h, t]), /* @__PURE__ */ P(g.Provider, { value: { widths: s, heights: n, setWidths: e, setHeights: r }, children: o });
54
+ o((s) => [...h]), i((s) => [...c]);
55
+ }, [n, p, t]), /* @__PURE__ */ P(g.Provider, { value: { widths: r, heights: m, setWidths: o, setHeights: i }, children: e });
38
56
  };
39
57
  export {
40
- G as DimensionPagesProvider,
41
- E as useDimensionPagesContext
58
+ U as DimensionPagesProvider,
59
+ T as useDimensionPagesContext
42
60
  };
@@ -4,7 +4,17 @@ import { useDocumentContext as h } from "./RPDocumentContext.js";
4
4
  import { useToolbarComponentContext as T } from "./ToolbarComponentContext.js";
5
5
  import { useDocumentPasswordContext as v } from "./DocumentPasswordContext.js";
6
6
  import { useToolComponentContext as L } from "./ToolComponentContext.js";
7
- const i = x({
7
+ import "../utils/hooks/useLoadPdf.js";
8
+ import "pdfjs-dist";
9
+ import "../utils/types.js";
10
+ import "../th_TH-d627cd51.js";
11
+ import "../utils/getThumbnailViewport.js";
12
+ import "./ConfigContext.js";
13
+ import "../utils/hooks/usePdfProperties.js";
14
+ import "../utils/convertPdfDate.js";
15
+ import "../utils/formatFileSize.js";
16
+ import "../utils/appConsole.js";
17
+ const l = x({
8
18
  dragging: !1,
9
19
  handleDragLeave: () => {
10
20
  },
@@ -12,41 +22,41 @@ const i = x({
12
22
  },
13
23
  handleDrop: () => {
14
24
  }
15
- }), R = () => P(i), S = ({ children: c }) => {
16
- const [f, t] = F(!1), { setFilename: n, setPdfSrc: a } = h(), { openFileTool: s } = T(), { openFileTool: l } = L(), { setPassword: u } = v(), m = r(
17
- (e) => {
18
- var p;
19
- e.preventDefault(), e.stopPropagation(), t(!1);
20
- const o = (p = e.dataTransfer) == null ? void 0 : p.files[0];
21
- if (!o || o.type !== "application/pdf")
25
+ }), H = () => P(l), I = ({ children: m }) => {
26
+ const [c, e] = F(!1), { setFilename: n, setPdfSrc: a } = h(), { openFileTool: p } = T(), { openFileTool: s } = L(), { setPassword: f } = v(), u = r(
27
+ (o) => {
28
+ var i;
29
+ o.preventDefault(), o.stopPropagation(), e(!1);
30
+ const t = (i = o.dataTransfer) == null ? void 0 : i.files[0];
31
+ if (!t || t.type !== "application/pdf")
22
32
  return;
23
- const D = URL.createObjectURL(o);
24
- n(o.name), a(D), u("");
33
+ const D = URL.createObjectURL(t);
34
+ n(t.name), a(D), f("");
25
35
  },
26
36
  [n, a]
27
37
  ), d = r(
28
- (e) => {
29
- e.preventDefault(), e.stopPropagation(), !(!s || !l) && t(!0);
38
+ (o) => {
39
+ o.preventDefault(), o.stopPropagation(), !(!p || !s) && e(!0);
30
40
  },
31
- [s, l]
32
- ), g = r((e) => {
33
- e.preventDefault(), e.stopPropagation(), t(!1);
41
+ [p, s]
42
+ ), g = r((o) => {
43
+ o.preventDefault(), o.stopPropagation(), e(!1);
34
44
  }, []);
35
45
  return /* @__PURE__ */ C(
36
- i.Provider,
46
+ l.Provider,
37
47
  {
38
48
  value: {
39
- dragging: f,
49
+ dragging: c,
40
50
  handleDragLeave: g,
41
51
  handleDragEnter: d,
42
- handleDrop: m
52
+ handleDrop: u
43
53
  },
44
- children: c
54
+ children: m
45
55
  }
46
56
  );
47
57
  };
48
58
  export {
49
- i as DropFileZoneContext,
50
- S as DropFileZoneProvider,
51
- R as useDropFileZoneContext
59
+ l as DropFileZoneContext,
60
+ I as DropFileZoneProvider,
61
+ H as useDropFileZoneContext
52
62
  };
@@ -1,76 +1,139 @@
1
- import { jsx as w } from "react/jsx-runtime";
2
- import { createContext as L, useState as P, useCallback as u, useContext as h, useRef as g, useMemo as A } from "react";
3
- import { LicenseType as R } from "../utils/types.js";
4
- import { useDimensionPagesContext as y } from "./DimensionPagesContext.js";
5
- import { usePagesRotateContext as S } from "./PagesRotateContext.js";
6
- import { useLicenseContext as T } from "./LicenseContext.js";
7
- import { useZoomContext as _ } from "./ZoomContext.js";
8
- import { ORGANIZATION_ALLOWED_FEATURES_MESSAGE as E } from "../utils/const.js";
9
- const d = L(void 0), U = ({ children: c }) => {
10
- const [i, o] = P({}), { widths: t, heights: l } = y(), { pageRotate: m } = S(), { currentZoom: f } = _(), x = u(
11
- (e, r) => {
12
- o((n) => {
13
- const s = { width: t[e], height: l[e] };
1
+ import { jsx as z } from "react/jsx-runtime";
2
+ import { createContext as H, useState as N, useCallback as d, useContext as U, useRef as W, useMemo as q } from "react";
3
+ import { ScrollMode as g, LicenseType as B } from "../utils/types.js";
4
+ import { useDimensionPagesContext as J } from "./DimensionPagesContext.js";
5
+ import { usePagesRotateContext as K } from "./PagesRotateContext.js";
6
+ import { useLicenseContext as Q } from "./LicenseContext.js";
7
+ import { useZoomContext as X } from "./ZoomContext.js";
8
+ import { ORGANIZATION_ALLOWED_FEATURES_MESSAGE as x } from "../utils/const.js";
9
+ import { getScrollDistance as w } from "../utils/getScrollDistance.js";
10
+ import { useLayoutContainer as Y } from "./LayoutContainerContext.js";
11
+ import { useScrollModeContext as $ } from "./ScrollModeContext.js";
12
+ import { getElementPagePosition as ee } from "../utils/getElementPositionInPage.js";
13
+ import { useViewModeContext as te } from "./ViewModeContext.js";
14
+ import { useVirtualScrollContext as oe } from "./VirtualScrollContext.js";
15
+ import "../th_TH-d627cd51.js";
16
+ import "../utils/appConsole.js";
17
+ import "./RPDocumentContext.js";
18
+ import "../utils/hooks/useLoadPdf.js";
19
+ import "pdfjs-dist";
20
+ import "../utils/getThumbnailViewport.js";
21
+ import "./ConfigContext.js";
22
+ import "./DocumentPasswordContext.js";
23
+ import "../utils/hooks/usePdfProperties.js";
24
+ import "../utils/convertPdfDate.js";
25
+ import "../utils/formatFileSize.js";
26
+ import "../utils/constants.js";
27
+ import "./RotationContext.js";
28
+ import "./InitialStateContext.js";
29
+ import "./EventCallbackContext.js";
30
+ import "../utils/hooks/useLicense.js";
31
+ import "../utils/getZoomLevel.js";
32
+ import "./GlobalCurrentPage.js";
33
+ import "../utils/hooks/useDebounce.js";
34
+ const S = H(void 0), Ve = ({ children: l }) => {
35
+ const [s, m] = N({}), { widths: t, heights: r } = J(), { pagesRef: c } = Y(), { scrollMode: C } = $(), { pageRotate: u } = K(), { currentZoom: a } = X(), { columnCount: R } = te(), { pageScrollElementRef: I, virtualScrollableElementRef: T } = oe(), M = d(
36
+ (e, i, o = { behavior: "smooth" }) => {
37
+ var v;
38
+ const n = T || I;
39
+ if (!c || !n)
40
+ return;
41
+ const L = (v = s[e]) == null ? void 0 : v[i];
42
+ if (!L)
43
+ return;
44
+ let p = 0, P = 0;
45
+ if (C === g.VERTICAL_SCROLLING) {
46
+ const f = e - 1, E = R, j = f % E, k = Math.floor(f / E);
47
+ p = w(r, k), P = w(t, j);
48
+ }
49
+ C === g.HORIZONTAL_SCROLLING && (P = t.slice(0, e - 1).reduce((f, E) => f + E, 0));
50
+ const _ = {
51
+ height: r[e - 1],
52
+ width: t[e - 1]
53
+ }, D = u[e], { left: G, top: Z } = ee(
54
+ _,
55
+ c,
56
+ L,
57
+ D,
58
+ a
59
+ ), V = P + G, b = p + Z, F = {
60
+ left: Math.max(V, 0),
61
+ top: Math.max(b, 0)
62
+ };
63
+ n.scrollTo({
64
+ ...F,
65
+ behavior: o.behavior
66
+ });
67
+ },
68
+ [s, r, t, c, u, a, C]
69
+ ), A = d(
70
+ (e, i) => {
71
+ m((o) => {
72
+ const n = { width: t[e - 1], height: r[e - 1] };
14
73
  return {
15
- ...n,
16
- [e]: r(
17
- n[e],
18
- s,
19
- m[e],
20
- f * 100
74
+ ...o,
75
+ [e]: i(
76
+ o[e],
77
+ n,
78
+ u[e],
79
+ a * 100
21
80
  )
22
81
  };
23
82
  });
24
83
  },
25
- [t, l, f, m]
26
- ), p = u((e) => {
27
- o((r) => {
28
- const n = { ...r };
29
- return delete n[e], n;
84
+ [t, r, a, u]
85
+ ), O = d((e) => {
86
+ m((i) => {
87
+ const o = { ...i };
88
+ return delete o[e], o;
30
89
  });
31
- }, []), C = u((e, r) => {
32
- o((n) => {
33
- const s = { ...n };
34
- return s[e] = s[e].filter((D, v) => v !== r), s;
90
+ }, []), y = d((e, i) => {
91
+ m((o) => {
92
+ const n = { ...o };
93
+ return n[e] = n[e].filter((L, p) => p !== i), n;
35
94
  });
36
95
  }, []);
37
- return /* @__PURE__ */ w(
38
- d.Provider,
96
+ return /* @__PURE__ */ z(
97
+ S.Provider,
39
98
  {
40
- value: { updateElement: x, clearElements: p, removeElement: C, elementList: i },
41
- children: c
99
+ value: { updateElement: A, clearElements: O, removeElement: y, elementList: s, scrollToElement: M },
100
+ children: l
42
101
  }
43
102
  );
44
- }, a = () => {
45
- }, W = () => {
46
- const c = h(d), { type: i, validating: o } = T(), t = g(0), l = A(() => {
47
- if (o !== !1)
103
+ }, h = () => {
104
+ }, be = () => {
105
+ const l = U(S), { type: s, validating: m } = Q(), t = W(0), r = q(() => {
106
+ if (m !== !1)
48
107
  return {
49
- updateElement: a,
50
- clearElements: a,
51
- removeElement: a,
52
- elementList: {}
108
+ updateElement: h,
109
+ clearElements: h,
110
+ removeElement: h,
111
+ elementList: {},
112
+ scrollToElement: h
53
113
  };
54
- if (!(i !== R.Developer))
114
+ if (!(s !== B.Developer))
55
115
  return {
56
116
  updateElement: () => {
57
- t.current === 0 && (console.error(E), t.current++);
117
+ t.current === 0 && (console.error(x), t.current++);
58
118
  },
59
119
  clearElements: () => {
60
- t.current === 0 && (console.error(E), t.current++);
120
+ t.current === 0 && (console.error(x), t.current++);
61
121
  },
62
122
  removeElement: () => {
63
- t.current === 0 && (console.error(E), t.current++);
123
+ t.current === 0 && (console.error(x), t.current++);
64
124
  },
65
- elementList: {}
125
+ elementList: {},
126
+ scrollToElement: () => {
127
+ t.current === 0 && (console.error(x), t.current++);
128
+ }
66
129
  };
67
- }, [i, o]);
68
- if (!c)
130
+ }, [s, m]);
131
+ if (!l)
69
132
  throw new Error("useElementPageContext must be used within a ElementPageProvider");
70
- return l || c;
133
+ return r || l;
71
134
  };
72
135
  export {
73
- d as ElementPageContext,
74
- U as ElementPageProvider,
75
- W as useElementPageContext
136
+ S as ElementPageContext,
137
+ Ve as ElementPageProvider,
138
+ be as useElementPageContext
76
139
  };
@@ -0,0 +1,30 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { createContext as l, useContext as c } from "react";
3
+ const t = l({
4
+ onPageChange: () => {
5
+ },
6
+ onRotate: () => {
7
+ },
8
+ onScroll: () => {
9
+ }
10
+ }), v = () => c(t), x = ({
11
+ children: e,
12
+ onPageChange: o,
13
+ onRotate: n,
14
+ onScroll: r
15
+ }) => /* @__PURE__ */ a(
16
+ t.Provider,
17
+ {
18
+ value: {
19
+ onPageChange: o,
20
+ onRotate: n,
21
+ onScroll: r
22
+ },
23
+ children: e
24
+ }
25
+ );
26
+ export {
27
+ t as EventCallbackContext,
28
+ x as EventCallbackProvider,
29
+ v as useEventCallbackContext
30
+ };
@@ -1,39 +1,49 @@
1
- import { jsxs as m, jsx as x } from "react/jsx-runtime";
2
- import { createContext as C, useRef as c, useContext as F } from "react";
1
+ import { jsxs as d, jsx as x } from "react/jsx-runtime";
2
+ import { createContext as C, useRef as s, useContext as F } from "react";
3
3
  import { useDocumentContext as h } from "./RPDocumentContext.js";
4
4
  import { useDocumentPasswordContext as P } from "./DocumentPasswordContext.js";
5
- const l = C(null), g = ({ children: t }) => {
6
- const { setFilename: u, setPdfSrc: p } = h(), r = c(), o = c(null), { setPassword: a } = P(), f = () => {
7
- var e;
8
- (e = o.current) == null || e.click();
9
- }, d = (e) => {
10
- var i;
11
- const n = (i = e.target.files) == null ? void 0 : i[0];
12
- if (!n || n.type !== "application/pdf")
5
+ import "../utils/hooks/useLoadPdf.js";
6
+ import "pdfjs-dist";
7
+ import "../utils/types.js";
8
+ import "../th_TH-d627cd51.js";
9
+ import "../utils/getThumbnailViewport.js";
10
+ import "./ConfigContext.js";
11
+ import "../utils/hooks/usePdfProperties.js";
12
+ import "../utils/convertPdfDate.js";
13
+ import "../utils/formatFileSize.js";
14
+ import "../utils/appConsole.js";
15
+ const c = C(null), S = ({ children: e }) => {
16
+ const { setFilename: l, setPdfSrc: u } = h(), o = s(), n = s(null), { setPassword: m } = P(), a = () => {
17
+ var t;
18
+ (t = n.current) == null || t.click();
19
+ }, f = (t) => {
20
+ var p;
21
+ const r = (p = t.target.files) == null ? void 0 : p[0];
22
+ if (!r || r.type !== "application/pdf")
13
23
  return;
14
- const s = URL.createObjectURL(n);
15
- r.current && URL.revokeObjectURL(r.current), r.current = s, u(n.name), p(s), e.target.value = "", a("");
24
+ const i = URL.createObjectURL(r);
25
+ o.current && URL.revokeObjectURL(o.current), o.current = i, l(r.name), u(i), t.target.value = "", m("");
16
26
  };
17
- return /* @__PURE__ */ m(l.Provider, { value: { openFile: f }, children: [
18
- t,
27
+ return /* @__PURE__ */ d(c.Provider, { value: { openFile: a }, children: [
28
+ e,
19
29
  /* @__PURE__ */ x(
20
30
  "input",
21
31
  {
22
32
  accept: "application/pdf",
23
33
  type: "file",
24
- ref: o,
34
+ ref: n,
25
35
  style: { display: "none" },
26
- onChange: d
36
+ onChange: f
27
37
  }
28
38
  )
29
39
  ] });
30
- }, j = () => {
31
- const t = F(l);
32
- if (!t)
40
+ }, q = () => {
41
+ const e = F(c);
42
+ if (!e)
33
43
  throw new Error("useOpenFileContext must be used within FileInputProvider");
34
- return t;
44
+ return e;
35
45
  };
36
46
  export {
37
- g as FileInputProvider,
38
- j as useOpenFileContext
47
+ S as FileInputProvider,
48
+ q as useOpenFileContext
39
49
  };
@@ -1,16 +1,19 @@
1
- import { jsx as a } from "react/jsx-runtime";
2
- import { createContext as u, useContext as s, useState as c } from "react";
3
- import { useInitialStateContext as i } from "./InitialStateContext.js";
4
- const e = u({
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { createContext as s, useContext as c, useState as i, useEffect as l } from "react";
3
+ import { useInitialStateContext as C } from "./InitialStateContext.js";
4
+ import { useEventCallbackContext as P } from "./EventCallbackContext.js";
5
+ const n = s({
5
6
  currentPage: 1,
6
7
  setCurrentPage: () => {
7
8
  }
8
- }), C = () => s(e), x = ({ children: t }) => {
9
- const { initialPage: r = 1 } = i(), [o, n] = c(r);
10
- return /* @__PURE__ */ a(e.Provider, { value: { currentPage: o, setCurrentPage: n }, children: t });
9
+ }), p = () => c(n), b = ({ children: r }) => {
10
+ const { initialPage: o = 1 } = C(), [t, a] = i(o), { onPageChange: e } = P();
11
+ return l(() => {
12
+ e && e(t);
13
+ }, [t, e]), /* @__PURE__ */ u(n.Provider, { value: { currentPage: t, setCurrentPage: a }, children: r });
11
14
  };
12
15
  export {
13
- e as GlobalCurrentPage,
14
- x as GlobalCurrentPageProvider,
15
- C as useGlobalCurrentPage
16
+ n as GlobalCurrentPage,
17
+ b as GlobalCurrentPageProvider,
18
+ p as useGlobalCurrentPage
16
19
  };
@@ -1,18 +1,31 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { createContext as s, useContext as c } from "react";
3
- import { useDocumentContext as l } from "./RPDocumentContext.js";
4
- import { useHighlight as u } from "../utils/hooks/useHighlight.js";
5
- const o = s(void 0), p = ({ children: t }) => {
6
- const { pdf: i } = l(), { highlight: e, highlightMatches: r, highlightKeywords: h, clear: g } = u(i);
7
- return /* @__PURE__ */ n(o.Provider, { value: { highlight: e, highlightMatches: r, highlightKeywords: h, clear: g }, children: t });
8
- }, C = () => {
9
- const t = c(o);
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { createContext as g, useContext as n } from "react";
3
+ import { useDocumentContext as s } from "./RPDocumentContext.js";
4
+ import { useHighlight as c } from "../utils/hooks/useHighlight.js";
5
+ import "../utils/hooks/useLoadPdf.js";
6
+ import "pdfjs-dist";
7
+ import "../utils/types.js";
8
+ import "../th_TH-d627cd51.js";
9
+ import "../utils/getThumbnailViewport.js";
10
+ import "./ConfigContext.js";
11
+ import "./DocumentPasswordContext.js";
12
+ import "../utils/appConsole.js";
13
+ import "../utils/hooks/usePdfProperties.js";
14
+ import "../utils/convertPdfDate.js";
15
+ import "../utils/formatFileSize.js";
16
+ import "../utils/highlight.js";
17
+ import "../utils/charators.js";
18
+ const o = g(void 0), M = ({ children: t }) => {
19
+ const { pdf: i } = s(), { highlight: r, highlightMatches: e, highlightKeywords: h, clear: m } = c(i);
20
+ return /* @__PURE__ */ p(o.Provider, { value: { highlight: r, highlightMatches: e, highlightKeywords: h, clear: m }, children: t });
21
+ }, k = () => {
22
+ const t = n(o);
10
23
  if (!t)
11
24
  throw new Error("useHighlightContext must be used within a HighlightProvider");
12
25
  return t;
13
26
  };
14
27
  export {
15
28
  o as HighlightContext,
16
- p as HighlightProvider,
17
- C as useHighlightContext
29
+ M as HighlightProvider,
30
+ k as useHighlightContext
18
31
  };
@@ -1,6 +1,7 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
2
  import { createContext as s, useContext as i } from "react";
3
3
  import { useLicense as c } from "../utils/hooks/useLicense.js";
4
+ import "../utils/appConsole.js";
4
5
  const e = s({ isValid: !1 }), a = () => i(e), f = ({
5
6
  children: t,
6
7
  licenseKey: o
@@ -1,13 +1,14 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { createContext as d, useContext as i } from "react";
3
- import { appConsole as m } from "../utils/appConsole.js";
2
+ import { createContext as i, useContext as m } from "react";
3
+ import { appConsole as d } from "../utils/appConsole.js";
4
4
  import { LoaderIcon as s } from "../components/icons/LoaderIcon.js";
5
- const t = d({
5
+ import "../clsx-0c6e471a.js";
6
+ const t = i({
6
7
  LoaderImageComponent: void 0
7
- }), u = () => {
8
- const o = i(t);
9
- return typeof o.LoaderImageComponent > "u" && m.error("Please use this hooks inside children component of RPProvider"), o;
10
- }, C = ({ children: o, loaderImage: e }) => {
8
+ }), C = () => {
9
+ const o = m(t);
10
+ return typeof o.LoaderImageComponent > "u" && d.error("Please use this hooks inside children component of RPProvider"), o;
11
+ }, x = ({ children: o, loaderImage: e }) => {
11
12
  const n = () => e || /* @__PURE__ */ r(s, {});
12
13
  return /* @__PURE__ */ r(
13
14
  t.Provider,
@@ -21,6 +22,6 @@ const t = d({
21
22
  };
22
23
  export {
23
24
  t as LoaderContext,
24
- C as LoaderProvider,
25
- u as useLoaderContext
25
+ x as LoaderProvider,
26
+ C as useLoaderContext
26
27
  };
@@ -1,13 +1,14 @@
1
1
  import { jsx as c } from "react/jsx-runtime";
2
- import { createContext as f, useContext as d, useEffect as s } from "react";
3
- import { appConsole as m } from "../utils/appConsole.js";
4
- import { useLocalization as p } from "../utils/hooks/useLocalization.js";
2
+ import { createContext as f, useContext as m, useEffect as s } from "react";
3
+ import { appConsole as p } from "../utils/appConsole.js";
4
+ import { useLocalization as d } from "../utils/hooks/useLocalization.js";
5
+ import "../th_TH-d627cd51.js";
5
6
  const r = f({
6
7
  localeMessages: {}
7
- }), C = () => {
8
- const e = d(r);
9
- return typeof e.localeMessages > "u" && m.error("Please use this hooks inside children component of RPProvider"), e;
10
- }, P = ({
8
+ }), P = () => {
9
+ const e = m(r);
10
+ return typeof e.localeMessages > "u" && p.error("Please use this hooks inside children component of RPProvider"), e;
11
+ }, v = ({
11
12
  children: e,
12
13
  locale: o = "en_US",
13
14
  localization: t
@@ -16,7 +17,7 @@ const r = f({
16
17
  setLocale: n,
17
18
  localeMessages: i,
18
19
  addLocalization: a
19
- } = p(o);
20
+ } = d(o);
20
21
  return s(() => {
21
22
  o && n(o);
22
23
  }, [o]), s(() => {
@@ -33,6 +34,6 @@ const r = f({
33
34
  };
34
35
  export {
35
36
  r as LocalizationContext,
36
- P as LocalizationProvider,
37
- C as useLocalizationContext
37
+ v as LocalizationProvider,
38
+ P as useLocalizationContext
38
39
  };