@react-pdf-kit/viewer 2.0.0-beta.1 → 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 (98) hide show
  1. package/README.md +6 -6
  2. package/dist/ToolbarLayout.module-3a77cc37.js +3556 -0
  3. package/dist/assets/style.css +1 -1
  4. package/dist/assets/style.js +11 -11
  5. package/dist/components/RPConfig.js +10 -1485
  6. package/dist/components/RPController.js +57 -57
  7. package/dist/components/RPPages.js +8 -10
  8. package/dist/components/RPProvider.js +33 -29
  9. package/dist/components/icons/DualPageIcon.js +6 -6
  10. package/dist/components/icons/SinglePageIcon.js +6 -6
  11. package/dist/components/layout/LayoutContainer.js +6 -8
  12. package/dist/components/layout/RPDefaultLayout.js +4 -6
  13. package/dist/components/layout/RPLayout.js +49 -51
  14. package/dist/components/layout/sidebar/RPSidebar.js +5 -7
  15. package/dist/components/layout/sidebar/Thumbnail.js +8 -10
  16. package/dist/components/layout/sidebar/Thumbnails.js +5 -7
  17. package/dist/components/layout/toolbar/DocumentDialog.js +8 -10
  18. package/dist/components/layout/toolbar/FileDownloadTool.js +5 -7
  19. package/dist/components/layout/toolbar/MostPageTool.js +8 -10
  20. package/dist/components/layout/toolbar/OtherTool.js +5 -7
  21. package/dist/components/layout/toolbar/Paginate.js +5 -7
  22. package/dist/components/layout/toolbar/PrintTool.js +5 -7
  23. package/dist/components/layout/toolbar/RPMoreOptions.js +6 -8
  24. package/dist/components/layout/toolbar/RPToolbar.js +5 -7
  25. package/dist/components/layout/toolbar/RPToolbarEnd.js +5 -7
  26. package/dist/components/layout/toolbar/SearchResultNavigator.js +5 -7
  27. package/dist/components/layout/toolbar/SearchTool.js +8 -10
  28. package/dist/components/layout/toolbar/ThumbnailTool.js +6 -8
  29. package/dist/components/layout/toolbar/ToolbarCustom.js +21 -23
  30. package/dist/components/layout/toolbar/ToolbarDefault.js +30 -32
  31. package/dist/components/layout/toolbar/ToolbarLayout.js +6 -8
  32. package/dist/components/layout/toolbar/ViewModeTool.js +2 -2
  33. package/dist/components/layout/toolbar/ZoomTool.js +5 -7
  34. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +6 -8
  35. package/dist/components/layout/toolbar/tools/DualPageTool.js +144 -0
  36. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +6 -8
  37. package/dist/components/layout/toolbar/tools/InputPageTool.js +6 -8
  38. package/dist/components/layout/toolbar/tools/NextPageTool.js +9 -11
  39. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +6 -8
  40. package/dist/components/layout/toolbar/tools/PrintTool.js +6 -8
  41. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +29 -0
  42. package/dist/components/layout/toolbar/tools/SinglePageTool.js +144 -0
  43. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +6 -8
  44. package/dist/components/layout/toolbar/tools/ZoomLevelDisplay.js +8 -10
  45. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +6 -8
  46. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +14 -16
  47. package/dist/components/layout/toolbar/tools/defaults/RPVerticalBar.js +6 -8
  48. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +6 -8
  49. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +9 -11
  50. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +9 -11
  51. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +6 -8
  52. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +2 -2
  53. package/dist/components/page/AnnotationLayer.js +8 -10
  54. package/dist/components/page/CanvasLayer.js +8 -10
  55. package/dist/components/page/DualPage.js +5 -7
  56. package/dist/components/page/RPPage.js +8 -10
  57. package/dist/components/page/SinglePage.js +5 -7
  58. package/dist/components/page/TextHighlightLayer.js +8 -10
  59. package/dist/components/page/TextLayer.js +8 -10
  60. package/dist/components/ui/LoadingIndicator.js +5 -7
  61. package/dist/contexts/ElementPageContext.js +1 -1
  62. package/dist/contexts/PaginationContext.js +7 -9
  63. package/dist/contexts/PrintContext.js +7 -9
  64. package/dist/contexts/RPDocumentContext.js +27 -19
  65. package/dist/contexts/RenderQueueProvider.js +7 -9
  66. package/dist/contexts/SearchContext.js +7 -9
  67. package/dist/contexts/ThumbnailsContext.js +7 -9
  68. package/dist/main.js +96 -92
  69. package/dist/types/components/icons/DualPageIcon.d.ts +1 -1
  70. package/dist/types/components/icons/SinglePageIcon.d.ts +1 -1
  71. package/dist/types/components/layout/toolbar/tools/DualPageTool.d.ts +3 -0
  72. package/dist/types/components/layout/toolbar/tools/SelectionModeSwitcherTool.d.ts +3 -0
  73. package/dist/types/components/layout/toolbar/tools/SinglePageTool.d.ts +3 -0
  74. package/dist/types/contexts/RenderQueueProvider.d.ts +2 -2
  75. package/dist/types/main.d.ts +4 -4
  76. package/dist/types/utils/getElementPositionInPage.d.ts +2 -2
  77. package/dist/types/utils/hooks/useCopyText.d.ts +1 -0
  78. package/dist/types/utils/hooks/usePrint.d.ts +3 -2
  79. package/dist/types/utils/hooks/useSearch.d.ts +1 -2
  80. package/dist/types/utils/renderPage.d.ts +2 -2
  81. package/dist/types/utils/types.d.ts +27 -4
  82. package/dist/utils/getWordPositionInPage.js +5 -5
  83. package/dist/utils/highlight.js +72 -72
  84. package/dist/utils/hooks/useCopyText.js +36 -0
  85. package/dist/utils/hooks/useFileDownload.js +8 -10
  86. package/dist/utils/hooks/useLicense.js +1 -1
  87. package/dist/utils/hooks/useLoadPdf.js +42 -39
  88. package/dist/utils/hooks/usePaginate.js +8 -10
  89. package/dist/utils/hooks/usePresentPage.js +8 -10
  90. package/dist/utils/hooks/usePrint.js +8 -10
  91. package/dist/utils/hooks/useScrollToPage.js +8 -10
  92. package/dist/utils/hooks/useSearch.js +8 -10
  93. package/dist/utils/hooks/useThumbnail.js +8 -10
  94. package/dist/utils/hooks/useVirtualReactWindow.js +8 -10
  95. package/dist/utils/injectPrintCSS.js +1 -1
  96. package/dist/utils/renderPage.js +12 -10
  97. package/package.json +21 -17
  98. package/dist/ToolbarLayout.module-37619c4b.js +0 -3548
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { C as Fo, e as Go, d as Ho } from "../ToolbarLayout.module-37619c4b.js";
3
+ import { C as Do, l as Eo, d as Fo } from "../ToolbarLayout.module-3a77cc37.js";
4
4
  import "../components/icons/ChevronUpIcon.js";
5
5
  import "../components/ui/Button.js";
6
6
  import "../clsx-0c6e471a.js";
@@ -63,19 +63,16 @@ import "./LoaderContext.js";
63
63
  import "../components/icons/LoaderIcon.js";
64
64
  import "./IconToolContext.js";
65
65
  import "./OtherToolContext.js";
66
- import "../components/RPConfig.js";
67
- import "../components/RPTheme.js";
68
66
  import "./ThemeContext.js";
69
- import "../utils/hooks/useLoadWorker.js";
70
67
  import "../components/icons/Thumbnail.js";
71
68
  import "../components/layout/Container.js";
72
69
  import "./ViewportContext.js";
73
70
  import "../components/layout/sidebar/RPSplitter.js";
74
71
  import "../components/layout/WrapperLayout.js";
75
- import "../LayoutWrapper-6224491f.js";
76
72
  import "../components/RPDropFileZone.js";
77
73
  import "../components/icons/LightPdfIcon.js";
78
74
  import "../components/icons/DarkPdfIcon.js";
75
+ import "../LayoutWrapper-6224491f.js";
79
76
  import "../SearchCloseButton-08d57275.js";
80
77
  import "../components/ui/RPTooltip.js";
81
78
  import "../index-c9a2990a.js";
@@ -104,6 +101,7 @@ import "../utils/hooks/useGrabScroll.js";
104
101
  import "../utils/hooks/usePinch.js";
105
102
  import "../components/ui/PasswordModal.js";
106
103
  import "../utils/approximateFragtion.js";
104
+ import "../utils/hooks/useCopyText.js";
107
105
  import "../utils/getWordPositionInPage.js";
108
106
  import "../utils/smoothScrollTo.js";
109
107
  import "../components/layout/toolbar/FileUploadTool.js";
@@ -118,8 +116,8 @@ import "../components/layout/toolbar/RotateTool.js";
118
116
  import "../components/icons/ClockwiseIcon.js";
119
117
  import "../utils/hooks/useRotate.js";
120
118
  import "../components/layout/toolbar/ViewModeTool.js";
121
- import "../components/icons/SinglePageIcon.js";
122
119
  import "../components/icons/DualPageIcon.js";
120
+ import "../components/icons/SinglePageIcon.js";
123
121
  import "../components/layout/toolbar/ScrollModeTool.js";
124
122
  import "../components/icons/PageScrollingIcon.js";
125
123
  import "../components/icons/VerticalScrollingIcon.js";
@@ -138,7 +136,7 @@ import "../utils/zoom.js";
138
136
  import "../components/icons/SearchIcon.js";
139
137
  import "../components/icons/ClearIcon.js";
140
138
  export {
141
- Fo as SearchContext,
142
- Go as SearchProvider,
143
- Ho as useSearchContext
139
+ Do as SearchContext,
140
+ Eo as SearchProvider,
141
+ Fo as useSearchContext
144
142
  };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { A as Ft, T as Gt, h as Ht } from "../ToolbarLayout.module-37619c4b.js";
3
+ import { A as Dt, T as Et, e as Ft } from "../ToolbarLayout.module-3a77cc37.js";
4
4
  import "../components/icons/ChevronUpIcon.js";
5
5
  import "../components/ui/Button.js";
6
6
  import "../clsx-0c6e471a.js";
@@ -63,19 +63,16 @@ import "./LoaderContext.js";
63
63
  import "../components/icons/LoaderIcon.js";
64
64
  import "./IconToolContext.js";
65
65
  import "./OtherToolContext.js";
66
- import "../components/RPConfig.js";
67
- import "../components/RPTheme.js";
68
66
  import "./ThemeContext.js";
69
- import "../utils/hooks/useLoadWorker.js";
70
67
  import "../components/icons/Thumbnail.js";
71
68
  import "../components/layout/Container.js";
72
69
  import "./ViewportContext.js";
73
70
  import "../components/layout/sidebar/RPSplitter.js";
74
71
  import "../components/layout/WrapperLayout.js";
75
- import "../LayoutWrapper-6224491f.js";
76
72
  import "../components/RPDropFileZone.js";
77
73
  import "../components/icons/LightPdfIcon.js";
78
74
  import "../components/icons/DarkPdfIcon.js";
75
+ import "../LayoutWrapper-6224491f.js";
79
76
  import "../SearchCloseButton-08d57275.js";
80
77
  import "../components/ui/RPTooltip.js";
81
78
  import "../index-c9a2990a.js";
@@ -104,6 +101,7 @@ import "../utils/hooks/useGrabScroll.js";
104
101
  import "../utils/hooks/usePinch.js";
105
102
  import "../components/ui/PasswordModal.js";
106
103
  import "../utils/approximateFragtion.js";
104
+ import "../utils/hooks/useCopyText.js";
107
105
  import "../utils/getWordPositionInPage.js";
108
106
  import "../utils/smoothScrollTo.js";
109
107
  import "../components/layout/toolbar/FileUploadTool.js";
@@ -118,8 +116,8 @@ import "../components/layout/toolbar/RotateTool.js";
118
116
  import "../components/icons/ClockwiseIcon.js";
119
117
  import "../utils/hooks/useRotate.js";
120
118
  import "../components/layout/toolbar/ViewModeTool.js";
121
- import "../components/icons/SinglePageIcon.js";
122
119
  import "../components/icons/DualPageIcon.js";
120
+ import "../components/icons/SinglePageIcon.js";
123
121
  import "../components/layout/toolbar/ScrollModeTool.js";
124
122
  import "../components/icons/PageScrollingIcon.js";
125
123
  import "../components/icons/VerticalScrollingIcon.js";
@@ -138,7 +136,7 @@ import "../utils/zoom.js";
138
136
  import "../components/icons/SearchIcon.js";
139
137
  import "../components/icons/ClearIcon.js";
140
138
  export {
141
- Ft as ThumbnailContext,
142
- Gt as ThumbnailProvider,
143
- Ht as useThumbnailContext
139
+ Dt as ThumbnailContext,
140
+ Et as ThumbnailProvider,
141
+ Ft as useThumbnailContext
144
142
  };
package/dist/main.js CHANGED
@@ -1,10 +1,8 @@
1
- import { RPProvider as Mr } from "./components/RPProvider.js";
2
- import { a as Vr, R as br, S as kr, b as yr, u as Br, c as Hr, d as Ir } from "./ToolbarLayout.module-37619c4b.js";
3
- import { RPConfig as zr } from "./components/RPConfig.js";
4
- import { RPLayout as Nr } from "./components/layout/RPLayout.js";
5
- import { RPController as jr } from "./components/RPController.js";
6
- import { RPTheme as Ar } from "./components/RPTheme.js";
7
- import { RPDropFileZone as Jr } from "./components/RPDropFileZone.js";
1
+ import { RPProvider as kr } from "./components/RPProvider.js";
2
+ import { a as Br, R as Hr, S as Ir, b as Or, u as zr, c as Er, d as Nr } from "./ToolbarLayout.module-3a77cc37.js";
3
+ import { RPConfig as jr } from "./components/RPConfig.js";
4
+ import { RPLayout as Ar } from "./components/layout/RPLayout.js";
5
+ import { RPTheme as Jr } from "./components/RPTheme.js";
8
6
  import { useDarkModeContext as Qr } from "./contexts/DarkModeContext.js";
9
7
  import { useDocumentContext as Xr } from "./contexts/RPDocumentContext.js";
10
8
  import { useRotationContext as _r } from "./contexts/RotationContext.js";
@@ -13,78 +11,86 @@ import { useDropFileZoneContext as tt } from "./contexts/DropFileZoneContext.js"
13
11
  import { useOpenFileContext as pt } from "./contexts/FileInputContext.js";
14
12
  import { useZoomContext as et } from "./contexts/ZoomContext.js";
15
13
  import { useHighlightContext as lt } from "./contexts/HighlightContext.js";
16
- import { usePdfProperties as at } from "./utils/hooks/usePdfProperties.js";
17
- import { useFullScreenContext as st } from "./contexts/FullScreenContext.js";
18
- import { usePageRotateContext as Pt } from "./utils/hooks/usePageRotateContext.js";
19
- import { useElementPageContext as Ct } from "./contexts/ElementPageContext.js";
20
- import { ThemeSwitcherTool as Rt } from "./components/layout/toolbar/tools/ThemeSwitcherTool.js";
14
+ import { useFullScreenContext as ft } from "./contexts/FullScreenContext.js";
15
+ import { usePageRotateContext as st } from "./utils/hooks/usePageRotateContext.js";
16
+ import { useElementPageContext as Tt } from "./contexts/ElementPageContext.js";
17
+ import { ThemeSwitcherTool as ct } from "./components/layout/toolbar/tools/ThemeSwitcherTool.js";
21
18
  import { ThumbnailTool as gt } from "./components/layout/toolbar/tools/ThumbnailTool.js";
22
- import { FileUploadTool as Dt } from "./components/layout/toolbar/tools/FileUploadTool.js";
23
- import { FileDownloadTool as St } from "./components/layout/toolbar/tools/FileDownloadTool.js";
24
- import { PrintTool as Zt } from "./components/layout/toolbar/tools/PrintTool.js";
19
+ import { FileUploadTool as dt } from "./components/layout/toolbar/tools/FileUploadTool.js";
20
+ import { FileDownloadTool as ht } from "./components/layout/toolbar/tools/FileDownloadTool.js";
21
+ import { PrintTool as Dt } from "./components/layout/toolbar/tools/PrintTool.js";
25
22
  import { FullScreenTool as Mt } from "./components/layout/toolbar/tools/FullScreenTool.js";
26
- import { PreviousPageTool as Vt } from "./components/layout/toolbar/tools/PreviousPageTool.js";
27
- import { NextPageTool as kt } from "./components/layout/toolbar/tools/NextPageTool.js";
28
- import { InputPageTool as Bt } from "./components/layout/toolbar/tools/InputPageTool.js";
29
- import { ZoomInTool as It } from "./components/layout/toolbar/tools/ZoomInTool.js";
30
- import { ZoomOutTool as zt } from "./components/layout/toolbar/tools/ZoomOutTool.js";
31
- import { ZoomLevelTool as Nt } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
32
- import { DocumentPropertiesTool as jt } from "./components/layout/toolbar/tools/DocumentPropertiesTool.js";
33
- import { RotateClockwiseTool as At } from "./components/layout/toolbar/tools/RotateClockwiseTool.js";
34
- import { RotateCounterclockwiseTool as Jt } from "./components/layout/toolbar/tools/RotateCounterclockwiseTool.js";
35
- import { RPHorizontalBar as Qt } from "./components/layout/toolbar/tools/defaults/RPHorizontalBar.js";
36
- import { RPVerticalBar as Xt } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
37
- import { Locales as _t, ScrollMode as $t, SelectionMode as om, ThemeVariables as rm, ViewMode as tm, ZoomLevel as mm } from "./utils/types.js";
23
+ import { PreviousPageTool as Lt } from "./components/layout/toolbar/tools/PreviousPageTool.js";
24
+ import { NextPageTool as Vt } from "./components/layout/toolbar/tools/NextPageTool.js";
25
+ import { InputPageTool as kt } from "./components/layout/toolbar/tools/InputPageTool.js";
26
+ import { ZoomInTool as Bt } from "./components/layout/toolbar/tools/ZoomInTool.js";
27
+ import { ZoomOutTool as It } from "./components/layout/toolbar/tools/ZoomOutTool.js";
28
+ import { ZoomLevelTool as zt } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
29
+ import { DocumentPropertiesTool as Nt } from "./components/layout/toolbar/tools/DocumentPropertiesTool.js";
30
+ import { RotateClockwiseTool as jt } from "./components/layout/toolbar/tools/RotateClockwiseTool.js";
31
+ import { RotateCounterclockwiseTool as At } from "./components/layout/toolbar/tools/RotateCounterclockwiseTool.js";
32
+ import { RPHorizontalBar as Jt } from "./components/layout/toolbar/tools/defaults/RPHorizontalBar.js";
33
+ import { RPVerticalBar as Qt } from "./components/layout/toolbar/tools/defaults/RPVerticalBar.js";
34
+ import { SelectionModeSwitcherTool as Xt } from "./components/layout/toolbar/tools/SelectionModeSwitcherTool.js";
35
+ import { SinglePageTool as _t } from "./components/layout/toolbar/tools/SinglePageTool.js";
36
+ import { DualPageTool as om } from "./components/layout/toolbar/tools/DualPageTool.js";
37
+ import { Locales as tm, ScrollMode as mm, SelectionMode as pm, ThemeVariables as im, ViewMode as em, ZoomLevel as xm } from "./utils/types.js";
38
38
  import "react/jsx-runtime";
39
39
  import "react";
40
40
  import "./contexts/DocumentPasswordContext.js";
41
41
  import "./utils/appConsole.js";
42
- import "./contexts/LoaderContext.js";
43
- import "./components/icons/LoaderIcon.js";
44
- import "./clsx-0c6e471a.js";
45
- import "./contexts/ToolComponentContext.js";
46
- import "./contexts/IconToolContext.js";
47
- import "./contexts/OtherToolContext.js";
48
- import "./utils/hooks/useFlickerSelectText.js";
49
- import "./contexts/EventCallbackContext.js";
50
- import "./assets/style.js";
51
- import "./libInjectCss.js";
52
- import "./utils/injectPrintCSS.js";
53
- import "./components/icons/ChevronUpIcon.js";
54
- import "./components/ui/Button.js";
55
- import "./utils/withRef.js";
56
- import "./components/ui/Input.js";
42
+ import "./components/RPController.js";
43
+ import "./contexts/LayerContext.js";
57
44
  import "./contexts/ScrollModeContext.js";
58
45
  import "./contexts/InitialStateContext.js";
59
- import "./contexts/LayerContext.js";
60
46
  import "./contexts/VirtualScrollContext.js";
61
47
  import "./contexts/VirtualGridContext.js";
62
48
  import "./contexts/SelectionModeContext.js";
63
- import "./utils/highlight.js";
64
- import "./utils/charators.js";
65
49
  import "./contexts/LayoutContainerContext.js";
66
50
  import "./contexts/DimensionPagesContext.js";
67
51
  import "./utils/constants.js";
68
52
  import "./contexts/PagesRotateContext.js";
53
+ import "./contexts/EventCallbackContext.js";
69
54
  import "./contexts/LocalizationContext.js";
70
55
  import "./utils/hooks/useLocalization.js";
71
56
  import "./th_TH-d627cd51.js";
57
+ import "./utils/hooks/useWatermark.js";
72
58
  import "./contexts/LicenseContext.js";
73
59
  import "./utils/hooks/useLicense.js";
74
60
  import "./contexts/DownloadContext.js";
75
61
  import "./contexts/SmoothScrollContext.js";
62
+ import "./contexts/GlobalCurrentPage.js";
63
+ import "./contexts/LoaderContext.js";
64
+ import "./components/icons/LoaderIcon.js";
65
+ import "./clsx-0c6e471a.js";
66
+ import "./contexts/ToolComponentContext.js";
67
+ import "./contexts/IconToolContext.js";
68
+ import "./contexts/OtherToolContext.js";
69
+ import "./utils/hooks/useFlickerSelectText.js";
70
+ import "./assets/style.js";
71
+ import "./libInjectCss.js";
72
+ import "./utils/injectPrintCSS.js";
73
+ import "./components/icons/ChevronUpIcon.js";
74
+ import "./components/ui/Button.js";
75
+ import "./utils/withRef.js";
76
+ import "./components/ui/Input.js";
77
+ import "./utils/highlight.js";
78
+ import "./utils/charators.js";
76
79
  import "./utils/Queue.js";
77
80
  import "./utils/renderPage.js";
78
81
  import "pdfjs-dist";
79
- import "./contexts/GlobalCurrentPage.js";
82
+ import "./contexts/ThemeContext.js";
83
+ import "./contexts/ConfigContext.js";
80
84
  import "./components/icons/Thumbnail.js";
81
85
  import "./components/layout/Container.js";
82
86
  import "./contexts/ViewportContext.js";
83
87
  import "./contexts/ToolbarComponentContext.js";
84
88
  import "./components/layout/sidebar/RPSplitter.js";
85
89
  import "./components/layout/WrapperLayout.js";
90
+ import "./components/RPDropFileZone.js";
91
+ import "./components/icons/LightPdfIcon.js";
92
+ import "./components/icons/DarkPdfIcon.js";
86
93
  import "./LayoutWrapper-6224491f.js";
87
- import "./contexts/ThemeContext.js";
88
94
  import "./SearchCloseButton-08d57275.js";
89
95
  import "./components/ui/RPTooltip.js";
90
96
  import "./index-c9a2990a.js";
@@ -115,6 +121,7 @@ import "./utils/hooks/usePinch.js";
115
121
  import "./utils/hooks/useDebounce.js";
116
122
  import "./components/ui/PasswordModal.js";
117
123
  import "./utils/approximateFragtion.js";
124
+ import "./utils/hooks/useCopyText.js";
118
125
  import "./utils/getScrollDistance.js";
119
126
  import "./utils/getWordPositionInPage.js";
120
127
  import "./utils/getThumbnailViewport.js";
@@ -131,8 +138,8 @@ import "./components/layout/toolbar/RotateTool.js";
131
138
  import "./components/icons/ClockwiseIcon.js";
132
139
  import "./utils/hooks/useRotate.js";
133
140
  import "./components/layout/toolbar/ViewModeTool.js";
134
- import "./components/icons/SinglePageIcon.js";
135
141
  import "./components/icons/DualPageIcon.js";
142
+ import "./components/icons/SinglePageIcon.js";
136
143
  import "./components/layout/toolbar/ScrollModeTool.js";
137
144
  import "./components/icons/PageScrollingIcon.js";
138
145
  import "./components/icons/VerticalScrollingIcon.js";
@@ -150,71 +157,68 @@ import "./components/icons/ZoomOutIcon.js";
150
157
  import "./utils/zoom.js";
151
158
  import "./components/icons/SearchIcon.js";
152
159
  import "./components/icons/ClearIcon.js";
153
- import "./contexts/ConfigContext.js";
154
160
  import "./utils/hooks/useLoadWorker.js";
155
161
  import "./components/layout/toolbar/ToolbarLayout.js";
156
162
  import "./components/layout/toolbar/ToolbarDefault.js";
157
163
  import "./components/layout/toolbar/ToolbarCustom.js";
158
- import "./utils/hooks/useWatermark.js";
159
- import "./components/icons/LightPdfIcon.js";
160
- import "./components/icons/DarkPdfIcon.js";
161
164
  import "./utils/hooks/useDarkMode.js";
162
165
  import "./utils/hooks/useLoadPdf.js";
163
- import "./utils/getZoomLevel.js";
164
- import "./utils/hooks/useHighlight.js";
166
+ import "./utils/hooks/usePdfProperties.js";
165
167
  import "./utils/convertPdfDate.js";
166
168
  import "./utils/formatFileSize.js";
169
+ import "./utils/getZoomLevel.js";
170
+ import "./utils/hooks/useHighlight.js";
167
171
  import "./utils/hooks/useFullScreen.js";
168
172
  import "./utils/getElementPositionInPage.js";
169
173
  import "./components/icons/ChevronDownIcon.js";
170
174
  import "./components/layout/toolbar/ThumbnailTool.js";
171
175
  export {
172
- jt as DocumentPropertiesTool,
173
- St as FileDownloadTool,
174
- Dt as FileUploadTool,
176
+ Nt as DocumentPropertiesTool,
177
+ om as DualPageTool,
178
+ ht as FileDownloadTool,
179
+ dt as FileUploadTool,
175
180
  Mt as FullScreenTool,
176
- Bt as InputPageTool,
177
- _t as Locales,
178
- kt as NextPageTool,
179
- Vt as PreviousPageTool,
180
- Zt as PrintTool,
181
- zr as RPConfig,
182
- jr as RPController,
183
- Vr as RPDefaultLayout,
184
- Jr as RPDropFileZone,
185
- Qt as RPHorizontalBar,
186
- Nr as RPLayout,
187
- br as RPPages,
188
- Mr as RPProvider,
189
- Ar as RPTheme,
190
- Xt as RPVerticalBar,
191
- At as RotateClockwiseTool,
192
- Jt as RotateCounterclockwiseTool,
193
- $t as ScrollMode,
194
- kr as SearchTool,
195
- om as SelectionMode,
196
- Rt as ThemeSwitcherTool,
197
- rm as ThemeVariables,
181
+ kt as InputPageTool,
182
+ tm as Locales,
183
+ Vt as NextPageTool,
184
+ Lt as PreviousPageTool,
185
+ Dt as PrintTool,
186
+ jr as RPConfig,
187
+ Br as RPDefaultLayout,
188
+ Jt as RPHorizontalBar,
189
+ Ar as RPLayout,
190
+ Hr as RPPages,
191
+ kr as RPProvider,
192
+ Jr as RPTheme,
193
+ Qt as RPVerticalBar,
194
+ jt as RotateClockwiseTool,
195
+ At as RotateCounterclockwiseTool,
196
+ mm as ScrollMode,
197
+ Ir as SearchTool,
198
+ pm as SelectionMode,
199
+ Xt as SelectionModeSwitcherTool,
200
+ _t as SinglePageTool,
201
+ ct as ThemeSwitcherTool,
202
+ im as ThemeVariables,
198
203
  gt as ThumbnailTool,
199
- tm as ViewMode,
200
- It as ZoomInTool,
201
- mm as ZoomLevel,
202
- Nt as ZoomLevelTool,
203
- zt as ZoomOutTool,
204
+ em as ViewMode,
205
+ Bt as ZoomInTool,
206
+ xm as ZoomLevel,
207
+ zt as ZoomLevelTool,
208
+ It as ZoomOutTool,
204
209
  Qr as useDarkModeContext,
205
210
  Xr as useDocumentContext,
206
211
  tt as useDropFileZoneContext,
207
- Ct as useElementPageContext,
208
- yr as useFileDownload,
209
- st as useFullScreenContext,
212
+ Tt as useElementPageContext,
213
+ Or as useFileDownload,
214
+ ft as useFullScreenContext,
210
215
  lt as useHighlightContext,
211
216
  pt as useOpenFileContext,
212
- Pt as usePageRotateContext,
213
- Br as usePaginationContext,
214
- at as usePdfProperties,
215
- Hr as usePrintContext,
217
+ st as usePageRotateContext,
218
+ zr as usePaginationContext,
219
+ Er as usePrintContext,
216
220
  _r as useRotationContext,
217
- Ir as useSearchContext,
221
+ Nr as useSearchContext,
218
222
  ot as useViewModeContext,
219
223
  et as useZoomContext
220
224
  };
@@ -1,2 +1,2 @@
1
1
  import { FC, SVGAttributes } from 'react';
2
- export declare const SinglePageIcon: FC<SVGAttributes<HTMLOrSVGElement>>;
2
+ export declare const DualPageIcon: FC<SVGAttributes<HTMLOrSVGElement>>;
@@ -1,2 +1,2 @@
1
1
  import { FC, SVGAttributes } from 'react';
2
- export declare const DualPageIcon: FC<SVGAttributes<HTMLOrSVGElement>>;
2
+ export declare const SinglePageIcon: FC<SVGAttributes<HTMLOrSVGElement>>;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { ToolProps } from '../../../../utils/types';
3
+ export declare const DualPageTool: FC<ToolProps>;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { SelectionModeSwitcherToolProps } from '../../../../utils/types';
3
+ export declare const SelectionModeSwitcherTool: FC<SelectionModeSwitcherToolProps>;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { ToolProps } from '../../../../utils/types';
3
+ export declare const SinglePageTool: FC<ToolProps>;
@@ -1,11 +1,11 @@
1
1
  import { Queue } from '../utils/Queue';
2
2
  import { FC } from 'react';
3
3
  import { PDFPageProxy } from 'pdfjs-dist';
4
- import { renderOptions } from '../utils/types';
4
+ import { RenderOptions } from '../utils/types';
5
5
  interface RenderData {
6
6
  page: PDFPageProxy;
7
7
  canvasElem: HTMLCanvasElement;
8
- options?: renderOptions;
8
+ options?: RenderOptions;
9
9
  onLoaded?: () => void;
10
10
  }
11
11
  export declare const RenderQueueContext: import('react').Context<Queue<RenderData> | null>;
@@ -3,9 +3,7 @@ export { RPPages } from './components/RPPages';
3
3
  export { RPConfig } from './components/RPConfig';
4
4
  export { RPDefaultLayout } from './components/layout/RPDefaultLayout';
5
5
  export { RPLayout } from './components/layout/RPLayout';
6
- export { RPController } from './components/RPController';
7
6
  export { RPTheme } from './components/RPTheme';
8
- export { RPDropFileZone } from './components/RPDropFileZone';
9
7
  export { useDarkModeContext } from './contexts/DarkModeContext';
10
8
  export { usePaginationContext } from './contexts/PaginationContext';
11
9
  export { useDocumentContext } from './contexts/RPDocumentContext';
@@ -18,7 +16,6 @@ export { usePrintContext } from './contexts/PrintContext';
18
16
  export { useZoomContext } from './contexts/ZoomContext';
19
17
  export { useSearchContext } from './contexts/SearchContext';
20
18
  export { useHighlightContext } from './contexts/HighlightContext';
21
- export { usePdfProperties } from './utils/hooks/usePdfProperties';
22
19
  export { useFullScreenContext } from './contexts/FullScreenContext';
23
20
  export { usePageRotateContext } from './utils/hooks/usePageRotateContext';
24
21
  export { useElementPageContext } from './contexts/ElementPageContext';
@@ -41,5 +38,8 @@ export { RotateClockwiseTool } from './components/layout/toolbar/tools/RotateClo
41
38
  export { RotateCounterclockwiseTool } from './components/layout/toolbar/tools/RotateCounterclockwiseTool';
42
39
  export { RPHorizontalBar } from './components/layout/toolbar/tools/defaults/RPHorizontalBar';
43
40
  export { RPVerticalBar } from './components/layout/toolbar/tools/defaults/RPVerticalBar';
44
- export type { CharacterMap, DarkModeProps, DownloadToolProps, FullScreenToolProps, Localization, MatchValue, OpenFileToolProps, PageNavigationToolProps, PdfPage, PdfProperties, PreparePrintProgress, PrintToolProps, RPConfigProps, RPThemeProps, RPProviderProps, RPDefaultLayoutProps, RPLayoutProps, RPIcons, RPSlots, SearchOptions, SetPageResult, ScrollModeInitialProps, ThumbnailToolProps, ViewModeInitialProps, ZoomProps, RPHorizontalBarProps, RPHorizontalBarSlots, RPHorizontalBarIcons, RPVerticalBarProps, RPVerticalBarSlots, RPVerticalBarIcons, TextHighlight, MatchHighlight, RectPosition, ThemeSwitcherIcons, ThemeSwitcherToolProps, ToolProps, ToolbarSection, ToolbarProps } from './utils/types';
41
+ export { SelectionModeSwitcherTool } from './components/layout/toolbar/tools/SelectionModeSwitcherTool';
42
+ export { SinglePageTool } from './components/layout/toolbar/tools/SinglePageTool';
43
+ export { DualPageTool } from './components/layout/toolbar/tools/DualPageTool';
44
+ export type { CharacterMap, DarkModeProps, DownloadToolProps, FullScreenToolProps, Localization, MatchValue, OpenFileToolProps, PageNavigationToolProps, PdfPage, PdfProperties, PreparePrintProgress, PrintOptions, PrintToolProps, RPConfigProps, RPThemeProps, RPProviderProps, RPDefaultLayoutProps, RPLayoutProps, RPIcons, RPSlots, SearchOptions, SetPageResult, ScrollModeInitialProps, ThumbnailToolProps, ViewModeInitialProps, ZoomProps, RPHorizontalBarProps, RPHorizontalBarSlots, RPHorizontalBarIcons, RPVerticalBarProps, RPVerticalBarSlots, RPVerticalBarIcons, TextHighlight, MatchHighlight, RectPosition, ThemeSwitcherIcons, ThemeSwitcherToolProps, ToolProps, ToolbarSection, ToolbarProps, SelectionModeSwitcherToolProps, SelectionModeSwitcherIcons } from './utils/types';
45
45
  export { ViewMode, ScrollMode, ZoomLevel, Locales, ThemeVariables, SelectionMode } from './utils/types';
@@ -1,5 +1,5 @@
1
- import { RectPosition } from './types';
1
+ import { ElementPosition } from './types';
2
2
  export declare const getElementPagePosition: (pageDimension: {
3
3
  width: number;
4
4
  height: number;
5
- }, pagesRef: HTMLDivElement, element: HTMLElement | JSX.Element, rotation: number, scale: number) => RectPosition;
5
+ }, pagesRef: HTMLDivElement, element: HTMLElement | JSX.Element, rotation: number, scale: number) => ElementPosition;
@@ -0,0 +1 @@
1
+ export declare const useCopyText: (container: HTMLElement | null) => void;
@@ -1,11 +1,12 @@
1
- import { PreparePrintProgress } from '../types';
1
+ import { PreparePrintProgress, PrintOptions } from '../types';
2
2
  interface PrintHookResult {
3
- print: () => Promise<void>;
3
+ print: (options?: PrintOptions) => Promise<void>;
4
4
  cancel: () => void;
5
5
  progress: PreparePrintProgress;
6
6
  isComplete: boolean;
7
7
  isError: boolean;
8
8
  error: Error | null;
9
+ showDefaultProgress?: boolean;
9
10
  }
10
11
  export declare const usePrint: () => PrintHookResult;
11
12
  export {};
@@ -9,6 +9,5 @@ export declare const useSearch: (options?: SearchOptions, initialSearch?: string
9
9
  currentMatch: MatchValue | null;
10
10
  nextMatch: () => void;
11
11
  prevMatch: () => void;
12
- currentMatchElement: HTMLElement | null;
13
- setCurrentMatchElement: import('react').Dispatch<import('react').SetStateAction<HTMLElement | null>>;
12
+ setCurrentMatchPosition: import('react').Dispatch<import('react').SetStateAction<number>>;
14
13
  };
@@ -1,3 +1,3 @@
1
1
  import { PDFPageProxy } from 'pdfjs-dist/types/web/interfaces';
2
- import { renderOptions } from './types';
3
- export declare const renderPage: (page: PDFPageProxy, canvasElem: HTMLCanvasElement, options?: renderOptions) => import('pdfjs-dist/types/src/display/api').RenderTask;
2
+ import { RenderOptions } from './types';
3
+ export declare const renderPage: (page: PDFPageProxy, canvasElem: HTMLCanvasElement, options?: RenderOptions) => import('pdfjs-dist/types/src/display/api').RenderTask;
@@ -224,10 +224,11 @@ export interface DarkModeProps {
224
224
  export interface DarkMode extends DarkModeProps {
225
225
  onDarkModeChange: (value: boolean) => void;
226
226
  }
227
- export interface renderOptions {
227
+ export interface RenderOptions {
228
228
  scale?: number;
229
229
  rotate?: number;
230
230
  renderForms?: boolean;
231
+ interactiveForm?: boolean;
231
232
  }
232
233
  export interface License {
233
234
  validating?: boolean;
@@ -321,13 +322,18 @@ export interface PreparePrintProgress {
321
322
  totalPages: number;
322
323
  percentage: number;
323
324
  }
325
+ export interface PrintConfiguration {
326
+ visibleDefaultProgress?: boolean;
327
+ }
328
+ export type PrintOptions = PrintConfiguration | React.MouseEvent<{}>;
324
329
  export interface PrintToolProps {
325
- print: () => void;
330
+ print: (options?: PrintOptions) => Promise<void>;
326
331
  cancel: () => void;
327
332
  setOnProgress: (callback: (progress: PreparePrintProgress) => void) => void;
328
333
  setOnComplete: (callback: () => void) => void;
329
334
  setOnError: (callback: (error: Error) => void) => void;
330
335
  progress: PreparePrintProgress;
336
+ showDefaultProgress?: boolean;
331
337
  }
332
338
  export interface ThumbnailToolProps {
333
339
  onClick: () => void;
@@ -474,6 +480,7 @@ export interface RPControllerProps extends PropsWithChildren, DarkModeProviderPr
474
480
  localization?: LocalizationMap;
475
481
  downloadFilename?: string;
476
482
  initialSelectionMode?: SelectionMode;
483
+ interactiveForm?: boolean;
477
484
  }
478
485
  export interface RPConfigProps extends Omit<ConfigContextType, 'workerUrlAdded'>, RPThemeContextType, PropsWithChildren {
479
486
  workerUrl?: string;
@@ -508,6 +515,7 @@ export interface ZoomContextType {
508
515
  export type ZoomProps = Omit<ZoomContextType, 'currentZoom'>;
509
516
  export type InitialStateContextType = {
510
517
  instanceId: string;
518
+ interactiveForm?: boolean;
511
519
  } & ZoomProviderProps & PageProviderProps & ViewModeInitialProps & ScrollModeInitialProps & RotateProviderProps;
512
520
  export interface ZoomProviderProps {
513
521
  initialScale?: number | ZoomLevel;
@@ -541,6 +549,12 @@ export interface ScrollModeInitialProps {
541
549
  initialScrollMode?: ScrollMode;
542
550
  }
543
551
  export interface RectPosition {
552
+ left: number;
553
+ bottom: number;
554
+ width: number;
555
+ height: number;
556
+ }
557
+ export interface ElementPosition {
544
558
  left: number;
545
559
  top: number;
546
560
  width: number;
@@ -611,8 +625,7 @@ export interface SearchContextType {
611
625
  prevMatch: () => void;
612
626
  searchOptions: SearchOptions;
613
627
  setSearchOptions: Dispatch<SetStateAction<SearchOptions>>;
614
- currentMatchElement: HTMLElement | null;
615
- setCurrentMatchElement: Dispatch<SetStateAction<HTMLElement | null>>;
628
+ setCurrentMatchPosition: Dispatch<React.SetStateAction<number>>;
616
629
  }
617
630
  export declare enum SelectionMode {
618
631
  TEXT = "TEXT",
@@ -631,6 +644,9 @@ export interface LoadPDFOptions {
631
644
  onLoaded?: (pdfDocument: PDFDocumentProxy) => void;
632
645
  onLoadProgress?: (progress: number) => void;
633
646
  loaderImage?: LoaderImage;
647
+ disableAutoFetch?: boolean;
648
+ disableStream?: boolean;
649
+ rangeChunkSize?: number;
634
650
  }
635
651
  export interface ScrollPosition {
636
652
  left: number;
@@ -720,6 +736,13 @@ export interface ThemeSwitcherIcons {
720
736
  export interface ThemeSwitcherToolProps {
721
737
  icons?: ThemeSwitcherIcons;
722
738
  }
739
+ export interface SelectionModeSwitcherIcons {
740
+ textSelectionIcon?: React.ReactNode;
741
+ handModeIcon?: React.ReactNode;
742
+ }
743
+ export interface SelectionModeSwitcherToolProps {
744
+ icons?: SelectionModeSwitcherIcons;
745
+ }
723
746
  export interface ToolbarSection {
724
747
  component: React.ReactNode;
725
748
  }
@@ -1,5 +1,5 @@
1
1
  const a = (i, h, l, o, n) => {
2
- const c = l.height * o, s = l.width * o, y = l.top * o, w = l.left * o, d = {
2
+ const c = l.height * o, s = l.width * o, y = l.bottom * o, m = l.left * o, d = {
3
3
  width: n % 180 === 90 ? i.height : i.width,
4
4
  height: n % 180 === 90 ? i.width : i.height
5
5
  }, r = {
@@ -8,16 +8,16 @@ const a = (i, h, l, o, n) => {
8
8
  }, t = document.createElement("div");
9
9
  t.style.width = `${d.width}px`, t.style.height = `${d.height}px`, t.style.position = "absolute", t.style.transform = `rotate(${n}deg)`, t.style.transformOrigin = "center center", t.style.visibility = "hidden", t.style.left = "-99999px";
10
10
  const e = document.createElement("div");
11
- e.style.position = "absolute", e.style.width = `${s}px`, e.style.height = `${c}px`, e.style.position = "absolute", e.style.bottom = `${y}px`, e.style.left = `${w}px`, t.appendChild(e), h.appendChild(t);
12
- const p = t.getBoundingClientRect(), g = e.getBoundingClientRect();
11
+ e.style.position = "absolute", e.style.width = `${s}px`, e.style.height = `${c}px`, e.style.position = "absolute", e.style.bottom = `${y}px`, e.style.left = `${m}px`, t.appendChild(e), h.appendChild(t);
12
+ const g = t.getBoundingClientRect(), p = e.getBoundingClientRect();
13
13
  h.removeChild(t);
14
14
  const u = {
15
15
  top: h.clientHeight / 2,
16
16
  left: h.clientWidth / 2
17
17
  };
18
18
  return {
19
- leftInPage: g.left - p.left - u.left + r.width / 2,
20
- topInPage: g.top - p.top - u.top + r.height / 2
19
+ leftInPage: p.left - g.left - u.left + r.width / 2,
20
+ topInPage: p.top - g.top - u.top + r.height / 2
21
21
  };
22
22
  };
23
23
  export {