@react-pdf-kit/viewer 2.6.0-beta.2 → 2.6.0

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 (343) hide show
  1. package/dist/AnnotationLayer-D6BfL976.js +113 -0
  2. package/dist/Button-jStpvb3T.js +21 -0
  3. package/dist/Checkbox-Brta-YKG.js +195 -0
  4. package/dist/Combination-DqNkTtir.js +695 -0
  5. package/dist/Container-DTWaZzc7.js +16 -0
  6. package/dist/CustomThumbnailElement-C2quEICO.js +19 -0
  7. package/dist/DarkPdfIcon-B5ehd9CV.js +9 -0
  8. package/dist/DocumentDialog-DHAWcYIz.js +324 -0
  9. package/dist/DropDown-DikL-krI.js +33 -0
  10. package/dist/Input-Bb_-ljl1.js +31 -0
  11. package/dist/LightPdfIcon-DL8MYtWQ.js +9 -0
  12. package/dist/LoaderIcon-D9YjinGf.js +14 -0
  13. package/dist/LoadingIndicator-MWrbKa6X.js +45 -0
  14. package/dist/MenuItem-BJDWfzAw.js +15 -0
  15. package/dist/MenuSeparator-D1H5l8Ej.js +6 -0
  16. package/dist/MostPageTool.module-BRVv-sGz.js +4 -0
  17. package/dist/OtherTool.module-BQY9Nfqz.js +4 -0
  18. package/dist/Paginate.module-B0GMw-MB.js +8 -0
  19. package/dist/PaginationContext--n91mIJ4.js +232 -0
  20. package/dist/PasswordModal-BDHdSpxf.js +76 -0
  21. package/dist/PropertyItem-evJWWmWZ.js +18 -0
  22. package/dist/RPDropFileZone-BunRfzst.js +35 -0
  23. package/dist/RPLayout.module-Vc3h4xxS.js +14 -0
  24. package/dist/RPPage-BuSGUFzw.js +91 -0
  25. package/dist/RPPages-V5CNUXFD.js +1007 -0
  26. package/dist/RPSplitter-C63X9M8w.js +121 -0
  27. package/dist/RPToolbar.module-BwqWLviy.js +10 -0
  28. package/dist/RPTooltip-ZZoFqP7C.js +381 -0
  29. package/dist/RotateTool.module-DH5yWbvM.js +4 -0
  30. package/dist/SearchTool.module-DUkVXfOn.js +16 -0
  31. package/dist/SkipLink-Bvbn3miT.js +18 -0
  32. package/dist/TextHighlightLayer-BSVgBxR3.js +157 -0
  33. package/dist/TextLayer-DWGFN9SF.js +125 -0
  34. package/dist/Thumbnail-Dwo2-4Ki.js +97 -0
  35. package/dist/Thumbnails-ComClyJJ.js +52 -0
  36. package/dist/ToolbarLayout.module-Zo715dbb.js +12 -0
  37. package/dist/WrapperLayout-Dcd9l9xH.js +13 -0
  38. package/dist/ZoomTool.module-BrIPy8pO.js +11 -0
  39. package/dist/assets/AnnotationLayer.css +1 -0
  40. package/dist/assets/Button.css +1 -0
  41. package/dist/assets/Checkbox.css +1 -0
  42. package/dist/assets/Container.css +1 -0
  43. package/dist/assets/CustomThumbnailElement.css +1 -0
  44. package/dist/assets/DocumentDialog.css +1 -0
  45. package/dist/assets/DropDown.css +1 -0
  46. package/dist/assets/Input.css +1 -0
  47. package/dist/assets/LoaderIcon.css +1 -0
  48. package/dist/assets/LoadingIndicator.css +1 -0
  49. package/dist/assets/MenuItem.css +1 -0
  50. package/dist/assets/MenuSeparator.css +1 -0
  51. package/dist/assets/MostPageTool.css +1 -0
  52. package/dist/assets/OtherTool.css +1 -0
  53. package/dist/assets/Paginate.css +1 -0
  54. package/dist/assets/PasswordModal.css +1 -0
  55. package/dist/assets/PropertyItem.css +1 -0
  56. package/dist/assets/RPDropFileZone.css +1 -0
  57. package/dist/assets/RPLayout.css +1 -0
  58. package/dist/assets/RPPage.css +1 -0
  59. package/dist/assets/RPPages.css +1 -0
  60. package/dist/assets/RPSplitter.css +1 -0
  61. package/dist/assets/RPToolbar.css +1 -0
  62. package/dist/assets/RPTooltip.css +1 -0
  63. package/dist/assets/RotateTool.css +1 -0
  64. package/dist/assets/SearchTool.css +1 -0
  65. package/dist/assets/SkipLink.css +1 -0
  66. package/dist/assets/TextHighlightLayer.css +1 -0
  67. package/dist/assets/TextLayer.css +1 -0
  68. package/dist/assets/Thumbnail.css +1 -0
  69. package/dist/assets/Thumbnails.css +1 -0
  70. package/dist/assets/ToolbarLayout.css +1 -0
  71. package/dist/assets/WrapperLayout.css +1 -0
  72. package/dist/assets/ZoomTool.css +1 -0
  73. package/dist/assets/style.js +2 -77
  74. package/dist/chunk-C_CI6nMA.js +13 -0
  75. package/dist/clsx-B7LyVm5O.js +16 -0
  76. package/dist/components/RPConfig.js +24 -26
  77. package/dist/components/RPController.js +85 -135
  78. package/dist/components/RPDropFileZone.js +3 -61
  79. package/dist/components/RPPages.js +3 -1115
  80. package/dist/components/RPProvider.js +50 -131
  81. package/dist/components/RPTheme.js +20 -21
  82. package/dist/components/icons/CheckIcon.js +16 -22
  83. package/dist/components/icons/ChevronDownIcon.js +17 -23
  84. package/dist/components/icons/ChevronUpIcon.js +16 -22
  85. package/dist/components/icons/ClearIcon.js +26 -25
  86. package/dist/components/icons/ClockwiseIcon.js +16 -22
  87. package/dist/components/icons/CloseIcon.js +16 -22
  88. package/dist/components/icons/DarkPdfIcon.js +2 -15
  89. package/dist/components/icons/DualPageIcon.js +16 -22
  90. package/dist/components/icons/DualPageWithCoverIcon.js +16 -22
  91. package/dist/components/icons/FileDownloadDefaultIcon.js +20 -23
  92. package/dist/components/icons/FileUploadDefaultIcon.js +20 -23
  93. package/dist/components/icons/FullScreenIcon.js +16 -22
  94. package/dist/components/icons/GoToDownIcon.js +16 -22
  95. package/dist/components/icons/HandModeDefaultIcon.js +16 -22
  96. package/dist/components/icons/HorizontalScrollingIcon.js +18 -24
  97. package/dist/components/icons/InfoIcon.js +16 -22
  98. package/dist/components/icons/LightPdfIcon.js +2 -15
  99. package/dist/components/icons/LoaderIcon.js +2 -17
  100. package/dist/components/icons/MoonIcon.js +16 -22
  101. package/dist/components/icons/PageScrollingIcon.js +18 -24
  102. package/dist/components/icons/PrintDefaultIcon.js +20 -23
  103. package/dist/components/icons/SearchIcon.js +16 -22
  104. package/dist/components/icons/SinglePageIcon.js +15 -21
  105. package/dist/components/icons/SunIcon.js +26 -25
  106. package/dist/components/icons/TextSelectionDefaultIcon.js +20 -23
  107. package/dist/components/icons/ThreeDotIcon.js +16 -22
  108. package/dist/components/icons/Thumbnail.js +39 -54
  109. package/dist/components/icons/VerticalScrollingIcon.js +18 -24
  110. package/dist/components/icons/WrappedScrollingIcon.js +18 -24
  111. package/dist/components/icons/ZoomInIcon.js +16 -22
  112. package/dist/components/icons/ZoomOutIcon.js +16 -22
  113. package/dist/components/layout/Container.js +2 -21
  114. package/dist/components/layout/LayoutContainer.js +23 -34
  115. package/dist/components/layout/LayoutWrapper.js +14 -10
  116. package/dist/components/layout/RPDefaultLayout.js +99 -244
  117. package/dist/components/layout/RPLayout.js +70 -220
  118. package/dist/components/layout/SkipLink.js +3 -29
  119. package/dist/components/layout/WrapperLayout.js +2 -27
  120. package/dist/components/layout/sidebar/CustomThumbnailElement.js +2 -68
  121. package/dist/components/layout/sidebar/RPSidebar.js +61 -112
  122. package/dist/components/layout/sidebar/RPSplitter.js +2 -9
  123. package/dist/components/layout/sidebar/Thumbnail.js +3 -155
  124. package/dist/components/layout/sidebar/Thumbnails.js +2 -82
  125. package/dist/components/layout/toolbar/DarkModeTool.js +44 -36
  126. package/dist/components/layout/toolbar/DocumentDialog.js +2 -322
  127. package/dist/components/layout/toolbar/DocumentProperties.js +30 -39
  128. package/dist/components/layout/toolbar/FileDownloadTool.js +54 -50
  129. package/dist/components/layout/toolbar/FileUploadTool.js +54 -49
  130. package/dist/components/layout/toolbar/FullScreenTool.js +62 -72
  131. package/dist/components/layout/toolbar/MenuItem.js +2 -19
  132. package/dist/components/layout/toolbar/MenuSeparator.js +2 -15
  133. package/dist/components/layout/toolbar/MostPageTool.js +62 -81
  134. package/dist/components/layout/toolbar/OtherTool.js +97 -198
  135. package/dist/components/layout/toolbar/Paginate.js +111 -145
  136. package/dist/components/layout/toolbar/PrintTool.js +70 -72
  137. package/dist/components/layout/toolbar/PropertyItem.js +2 -12
  138. package/dist/components/layout/toolbar/RPMenuItem.js +22 -31
  139. package/dist/components/layout/toolbar/RPMoreOptions.js +140 -220
  140. package/dist/components/layout/toolbar/RPToolbar.js +45 -151
  141. package/dist/components/layout/toolbar/RPToolbarEnd.js +23 -121
  142. package/dist/components/layout/toolbar/RotateTool.js +49 -60
  143. package/dist/components/layout/toolbar/ScrollModeTool.js +79 -67
  144. package/dist/components/layout/toolbar/SearchCloseButton.js +23 -31
  145. package/dist/components/layout/toolbar/SearchResultNavigator.js +39 -100
  146. package/dist/components/layout/toolbar/SearchTool.js +226 -267
  147. package/dist/components/layout/toolbar/SelectionModeTool.js +59 -51
  148. package/dist/components/layout/toolbar/ThumbnailTool.js +30 -39
  149. package/dist/components/layout/toolbar/ToolbarCustom.js +56 -113
  150. package/dist/components/layout/toolbar/ToolbarDefault.js +58 -196
  151. package/dist/components/layout/toolbar/ToolbarLayout.js +12 -158
  152. package/dist/components/layout/toolbar/ViewModeTool.js +82 -62
  153. package/dist/components/layout/toolbar/ZoomTool.js +139 -150
  154. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +24 -54
  155. package/dist/components/layout/toolbar/tools/DualPageTool.js +23 -25
  156. package/dist/components/layout/toolbar/tools/DualPageWithCoverTool.js +2 -206
  157. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +23 -35
  158. package/dist/components/layout/toolbar/tools/FileUploadTool.js +23 -34
  159. package/dist/components/layout/toolbar/tools/FirstPageTool.js +2 -201
  160. package/dist/components/layout/toolbar/tools/FullScreenTool.js +25 -33
  161. package/dist/components/layout/toolbar/tools/HorizontalScrollingTool.js +24 -36
  162. package/dist/components/layout/toolbar/tools/InputPageTool.js +51 -92
  163. package/dist/components/layout/toolbar/tools/LastPageTool.js +2 -201
  164. package/dist/components/layout/toolbar/tools/NextPageTool.js +32 -61
  165. package/dist/components/layout/toolbar/tools/PageScrollingTool.js +24 -36
  166. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +21 -62
  167. package/dist/components/layout/toolbar/tools/PrintTool.js +23 -35
  168. package/dist/components/layout/toolbar/tools/RotateClockwiseTool.js +23 -47
  169. package/dist/components/layout/toolbar/tools/RotateCounterclockwiseTool.js +26 -47
  170. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +29 -38
  171. package/dist/components/layout/toolbar/tools/SinglePageTool.js +22 -24
  172. package/dist/components/layout/toolbar/tools/ThemeSwitcherTool.js +24 -35
  173. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +24 -46
  174. package/dist/components/layout/toolbar/tools/VerticalScrollingTool.js +24 -36
  175. package/dist/components/layout/toolbar/tools/ZoomInTool.js +29 -58
  176. package/dist/components/layout/toolbar/tools/ZoomLevelDisplay.js +26 -26
  177. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +94 -133
  178. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +29 -58
  179. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +60 -148
  180. package/dist/components/layout/toolbar/tools/defaults/RPVerticalBar.js +31 -42
  181. package/dist/components/layout/toolbar/tools/more-options/DocumentProperties.js +23 -28
  182. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +25 -52
  183. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +25 -51
  184. package/dist/components/layout/toolbar/tools/more-options/FullScreenTool.js +26 -42
  185. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +57 -87
  186. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +25 -52
  187. package/dist/components/layout/toolbar/tools/more-options/RotateTool.js +44 -64
  188. package/dist/components/layout/toolbar/tools/more-options/ScrollModeTool.js +80 -71
  189. package/dist/components/layout/toolbar/tools/more-options/SelectionModeTool.js +59 -57
  190. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +79 -66
  191. package/dist/components/page/AnnotationLayer.js +2 -146
  192. package/dist/components/page/CanvasLayer.js +47 -71
  193. package/dist/components/page/CustomElement.js +18 -53
  194. package/dist/components/page/DualPage.js +43 -98
  195. package/dist/components/page/DualPageWithCover.js +66 -130
  196. package/dist/components/page/RPPage.js +2 -143
  197. package/dist/components/page/SinglePage.js +27 -88
  198. package/dist/components/page/TextHighlightLayer.js +2 -198
  199. package/dist/components/page/TextLayer.js +2 -202
  200. package/dist/components/page/searchHighlight.js +32 -37
  201. package/dist/components/ui/Button.js +2 -25
  202. package/dist/components/ui/Checkbox.js +2 -273
  203. package/dist/components/ui/DropDown.js +2 -36
  204. package/dist/components/ui/Input.js +2 -28
  205. package/dist/components/ui/LoadingIndicator.js +2 -59
  206. package/dist/components/ui/PasswordModal.js +2 -75
  207. package/dist/components/ui/RPTooltip.js +2 -357
  208. package/dist/contexts/ConfigContext.js +13 -12
  209. package/dist/contexts/DarkModeContext.js +26 -27
  210. package/dist/contexts/DimensionPagesContext.js +49 -60
  211. package/dist/contexts/DocumentPasswordContext.js +37 -35
  212. package/dist/contexts/DownloadContext.js +13 -21
  213. package/dist/contexts/DropFileZoneContext.js +35 -62
  214. package/dist/contexts/ElementPageContext.js +114 -139
  215. package/dist/contexts/ElementThumbnailContext.js +132 -195
  216. package/dist/contexts/EventCallbackContext.js +19 -34
  217. package/dist/contexts/FileInputContext.js +30 -49
  218. package/dist/contexts/FullScreenContext.js +31 -24
  219. package/dist/contexts/GlobalCurrentPage.js +21 -18
  220. package/dist/contexts/HighlightContext.js +22 -31
  221. package/dist/contexts/IconContext.js +9 -11
  222. package/dist/contexts/IconToolContext.js +14 -11
  223. package/dist/contexts/InitialStateContext.js +9 -11
  224. package/dist/contexts/LayerContext.js +9 -8
  225. package/dist/contexts/LayoutContainerContext.js +12 -16
  226. package/dist/contexts/LayoutDropFileZoneContext.js +8 -11
  227. package/dist/contexts/LicenseContext.js +12 -17
  228. package/dist/contexts/LoaderContext.js +14 -27
  229. package/dist/contexts/LocalizationContext.js +22 -33
  230. package/dist/contexts/OtherToolContext.js +17 -17
  231. package/dist/contexts/PageViewportContext.js +9 -8
  232. package/dist/contexts/PagesRotateContext.js +42 -43
  233. package/dist/contexts/PaginationContext.js +2 -40
  234. package/dist/contexts/PrintContext.js +67 -78
  235. package/dist/contexts/RPDocumentContext.js +60 -73
  236. package/dist/contexts/RenderQueueProvider.js +43 -72
  237. package/dist/contexts/RenderedPagesCache.js +17 -13
  238. package/dist/contexts/RotationContext.js +27 -38
  239. package/dist/contexts/ScrollModeContext.js +22 -20
  240. package/dist/contexts/SearchContext.js +39 -97
  241. package/dist/contexts/SelectionModeContext.js +22 -23
  242. package/dist/contexts/SmoothScrollContext.js +18 -16
  243. package/dist/contexts/ThemeContext.js +5 -7
  244. package/dist/contexts/ThumbnailsContext.js +26 -43
  245. package/dist/contexts/ToolComponentContext.js +54 -51
  246. package/dist/contexts/ToolbarComponentContext.js +48 -47
  247. package/dist/contexts/ViewModeContext.js +34 -31
  248. package/dist/contexts/ViewportContext.js +91 -85
  249. package/dist/contexts/VirtualGridContext.js +17 -14
  250. package/dist/contexts/VirtualScrollContext.js +42 -52
  251. package/dist/contexts/ZoomContext.js +95 -107
  252. package/dist/de_DE--0LF-SJR.js +483 -0
  253. package/dist/dist-7FA4Do6I.js +1286 -0
  254. package/dist/dist-BRVqFn7R.js +144 -0
  255. package/dist/dist-C3WNMuW2.js +29 -0
  256. package/dist/dist-CKteKPPA.js +947 -0
  257. package/dist/dist-bK-AHWLF.js +314 -0
  258. package/dist/lib-BiapEtK1.js +10261 -0
  259. package/dist/libInjectCss.js +7 -8
  260. package/dist/main-CHO5p1qM.js +60 -0
  261. package/dist/main.js +53 -296
  262. package/dist/style-9n_QpMZt.js +5 -0
  263. package/dist/useWatermark-CvAAf66v.js +67 -0
  264. package/dist/utils/Queue.js +40 -46
  265. package/dist/utils/annotations.js +227 -261
  266. package/dist/utils/appConsole.js +24 -42
  267. package/dist/utils/approximateFragtion.js +16 -21
  268. package/dist/utils/calculatePage.js +29 -20
  269. package/dist/utils/charators.js +39 -48
  270. package/dist/utils/const.js +8 -11
  271. package/dist/utils/constants.js +4 -8
  272. package/dist/utils/convertPdfDate.js +20 -24
  273. package/dist/utils/dateFormatter.js +7 -7
  274. package/dist/utils/elementPagePosition.js +10 -10
  275. package/dist/utils/formatFileSize.js +17 -8
  276. package/dist/utils/getElementPositionInPage.js +44 -82
  277. package/dist/utils/getScrollDistance.js +4 -4
  278. package/dist/utils/getThumbnailViewport.js +12 -6
  279. package/dist/utils/getWordPositionInPage.js +24 -24
  280. package/dist/utils/getZoomLevel.js +16 -23
  281. package/dist/utils/highlight.js +195 -212
  282. package/dist/utils/hooks/useCopyText.js +23 -33
  283. package/dist/utils/hooks/useDarkMode.js +10 -10
  284. package/dist/utils/hooks/useDarkModeProps.js +9 -10
  285. package/dist/utils/hooks/useDebounce.js +22 -18
  286. package/dist/utils/hooks/useDropFileZone.js +13 -11
  287. package/dist/utils/hooks/useElementSize.js +24 -20
  288. package/dist/utils/hooks/useFileDownload.js +16 -33
  289. package/dist/utils/hooks/useFlickerSelectText.js +19 -24
  290. package/dist/utils/hooks/useFullScreen.js +31 -28
  291. package/dist/utils/hooks/useGrabScroll.js +52 -51
  292. package/dist/utils/hooks/useHighlight.js +92 -92
  293. package/dist/utils/hooks/useInfiniteScroll.js +17 -18
  294. package/dist/utils/hooks/useLicense.js +113 -135
  295. package/dist/utils/hooks/useLoadPdf.js +107 -100
  296. package/dist/utils/hooks/useLoadWorker.js +13 -15
  297. package/dist/utils/hooks/useLocalization.js +25 -25
  298. package/dist/utils/hooks/useMousePressed.js +25 -19
  299. package/dist/utils/hooks/usePageRotateContext.js +25 -41
  300. package/dist/utils/hooks/usePaginate.js +2 -38
  301. package/dist/utils/hooks/usePdfProperties.js +38 -36
  302. package/dist/utils/hooks/usePinch.js +65 -100
  303. package/dist/utils/hooks/usePresentPage.js +69 -92
  304. package/dist/utils/hooks/usePrint.js +167 -178
  305. package/dist/utils/hooks/useRequestAnimationFrame.js +16 -16
  306. package/dist/utils/hooks/useResizeObserver.js +18 -21
  307. package/dist/utils/hooks/useRotate.js +15 -27
  308. package/dist/utils/hooks/useScrollToPage.js +2 -38
  309. package/dist/utils/hooks/useSearch.js +125 -163
  310. package/dist/utils/hooks/useTextSelection.js +69 -75
  311. package/dist/utils/hooks/useThumbnail.js +42 -59
  312. package/dist/utils/hooks/useVirtualReactWindow.js +85 -96
  313. package/dist/utils/hooks/useWatermark.js +2 -78
  314. package/dist/utils/injectPrintCSS.js +6 -21
  315. package/dist/utils/link_service.js +59 -137
  316. package/dist/utils/renderPage.js +20 -19
  317. package/dist/utils/sanitizeExternalUrl.js +12 -15
  318. package/dist/utils/smoothScrollTo.js +8 -5
  319. package/dist/utils/types.js +29 -21
  320. package/dist/utils/withRef.js +7 -7
  321. package/dist/utils/zoom.js +5 -6
  322. package/package.json +7 -7
  323. package/dist/Combination-17ab8af1.js +0 -698
  324. package/dist/MostPageTool.module-13578ad6.js +0 -6
  325. package/dist/OtherTool.module-a4be5f1f.js +0 -6
  326. package/dist/Paginate.module-4eef00aa.js +0 -8
  327. package/dist/PaginationContext-87f832f2.js +0 -233
  328. package/dist/RPLayout.module-92fa19f7.js +0 -14
  329. package/dist/RPSplitter-b62772f9.js +0 -122
  330. package/dist/RPToolbar.module-27d7fe77.js +0 -10
  331. package/dist/RotateTool.module-67946714.js +0 -6
  332. package/dist/SearchTool.module-99f60dc7.js +0 -16
  333. package/dist/ToolbarLayout.module-6e339802.js +0 -12
  334. package/dist/ZoomTool.module-7082af8c.js +0 -12
  335. package/dist/assets/style.css +0 -1
  336. package/dist/clsx-0c6e471a.js +0 -22
  337. package/dist/de_DE-8145915f.js +0 -489
  338. package/dist/index-113053cf.js +0 -309
  339. package/dist/index-11f3cd64.js +0 -983
  340. package/dist/index-23911b43.js +0 -150
  341. package/dist/index-ada501c4.js +0 -27
  342. package/dist/index-d0f0aa9a.js +0 -1542
  343. package/dist/index-e04c91b1.js +0 -11671
@@ -1,164 +1,126 @@
1
- import { useState as C, useRef as b, useMemo as z, useCallback as S, useEffect as B } from "react";
2
- import { ScrollMode as N, ViewMode as nt } from "../types.js";
3
- import { findMatches as st } from "../highlight.js";
4
- import { useVirtualScrollContext as ct } from "../../contexts/VirtualScrollContext.js";
5
- import { useScrollModeContext as it } from "../../contexts/ScrollModeContext.js";
6
- import { useDocumentContext as at } from "../../contexts/RPDocumentContext.js";
7
- import { useZoomContext as mt } from "../../contexts/ZoomContext.js";
8
- import { u as lt } from "../../PaginationContext-87f832f2.js";
9
- import { useViewModeContext as ut } from "../../contexts/ViewModeContext.js";
10
- import { useDimensionPagesContext as pt } from "../../contexts/DimensionPagesContext.js";
11
- import { useLayoutContainer as ft } from "../../contexts/LayoutContainerContext.js";
12
- import { getScrollDistance as F } from "../getScrollDistance.js";
13
- import { getWordPositionInPage as gt } from "../getWordPositionInPage.js";
14
- import { usePagesRotateContext as ht } from "../../contexts/PagesRotateContext.js";
15
- import { useSmoothScrollContext as dt } from "../../contexts/SmoothScrollContext.js";
16
- import "../../de_DE-8145915f.js";
17
- import "../charators.js";
18
- import "react/jsx-runtime";
19
- import "../appConsole.js";
20
- import "../../contexts/InitialStateContext.js";
21
- import "./useLoadPdf.js";
22
- import "pdfjs-dist";
23
- import "../getThumbnailViewport.js";
24
- import "../../contexts/ConfigContext.js";
25
- import "../../contexts/DocumentPasswordContext.js";
26
- import "../const.js";
27
- import "./usePdfProperties.js";
28
- import "../convertPdfDate.js";
29
- import "../formatFileSize.js";
30
- import "../constants.js";
31
- import "../getZoomLevel.js";
32
- import "../../contexts/RotationContext.js";
33
- import "../../contexts/GlobalCurrentPage.js";
34
- import "../../contexts/EventCallbackContext.js";
35
- import "./useDebounce.js";
36
- import "../../contexts/VirtualGridContext.js";
37
- import "../smoothScrollTo.js";
38
- import "../calculatePage.js";
39
- const ee = (O = {}, U = "") => {
40
- const [l, q] = C(U), [J, y] = C(!1), { pdf: _, pages: I } = at(), { widths: f, heights: R } = pt(), w = b(!l), { currentZoom: A } = mt(), [s, g] = C([]), { setFocusedPage: D } = lt(), { columnCount: G, viewMode: V } = ut(), { pageRotate: v } = ht(), [c, i] = C(0), { pageScrollElementRef: W, virtualScrollableElementRef: Z } = ct(), { scrollMode: h } = it(), { pagesRef: L } = ft(), { scrollBehavior: j } = dt(), K = b({}), m = b(0), Q = z(() => c === 0 ? null : s[c - 1], [c, s]), a = z(() => s.length, [s]), u = S(
41
- (e) => {
42
- if (e === 0)
43
- return;
44
- const t = s[e - 1];
45
- if (!t || !I)
46
- return;
47
- const o = Z || W;
48
- if (!o || !L)
49
- return;
50
- const r = I.get(t.page);
51
- if (h === N.PAGE_SCROLLING && D(t.page), !r)
52
- return;
53
- let n = 0, p = 0;
54
- if (h === N.VERTICAL_SCROLLING) {
55
- const d = t.page - 1, M = G;
56
- let x, P;
57
- if (V === nt.DUAL_PAGE_WITH_COVER)
58
- if (t.page === 1)
59
- x = 0, P = 0;
60
- else {
61
- const H = t.page - 2;
62
- x = H % 2, P = Math.floor(H / 2) + 1;
63
- }
64
- else
65
- x = d % M, P = Math.floor(d / M);
66
- n = F(R, P), p = F(f, x);
67
- }
68
- h === N.HORIZONTAL_SCROLLING && (p = f.slice(0, t.page - 1).reduce((d, M) => d + M, 0));
69
- const E = {
70
- height: R[t.page - 1],
71
- width: f[t.page - 1]
72
- }, T = v[t.page], { leftInPage: $, topInPage: tt } = gt(
73
- E,
74
- L,
75
- t.rect,
76
- A,
77
- T
78
- ), et = p + $, ot = n + tt, rt = {
79
- left: Math.max(et, 0),
80
- top: Math.max(ot, 0)
81
- };
82
- o.scrollTo({
83
- ...rt,
84
- behavior: j
85
- });
86
- },
87
- [
88
- I,
89
- D,
90
- f,
91
- R,
92
- h,
93
- V,
94
- G,
95
- Z,
96
- W,
97
- L,
98
- s,
99
- A,
100
- v,
101
- j
102
- ]
103
- );
104
- B(() => {
105
- c && u(c);
106
- }, [c]);
107
- const X = S(() => {
108
- i((e) => {
109
- let t;
110
- return a ? e + 1 > a ? t = 1 : t = e + 1 : t = 0, m.current = t, t;
111
- }), m.current === 1 && u(m.current);
112
- }, [a, u]), Y = S(() => {
113
- i((e) => {
114
- let t;
115
- return a ? e - 1 <= 0 ? t = a : t = e - 1 : t = 0, m.current = t, t;
116
- }), m.current === 1 && u(m.current);
117
- }, [a, u]), k = S(async (e) => {
118
- if (!e)
119
- return {};
120
- const t = e.numPages, o = {};
121
- for (let r = 1; r <= t; r++) {
122
- if (w.current)
123
- throw "close pop over";
124
- const n = await e.getPage(r);
125
- o[r.toString()] = await n.getTextContent();
126
- }
127
- return o;
128
- }, []);
129
- return B(() => {
130
- if (!l) {
131
- w.current = !0, g([]), i(0);
132
- return;
133
- }
134
- w.current = !1, y(!0), g([]), i(0), k(_).then((e) => {
135
- K.current = e;
136
- const o = Object.keys(e).reduce((r, n) => {
137
- const p = st(
138
- [l],
139
- e[n],
140
- Number(n) - 1,
141
- O
142
- ).map((E, T) => ({ ...E, page: Number(n), pageMatchIdx: T }));
143
- return [...r, ...p];
144
- }, []);
145
- g(o), i(o.length ? 1 : 0);
146
- }).catch(() => {
147
- g([]), i(0);
148
- }).finally(() => y(!1));
149
- }, [l, k, _, O]), {
150
- search: l,
151
- setSearch: q,
152
- loading: J,
153
- matches: s,
154
- totalMatches: a,
155
- currentMatchPosition: c,
156
- currentMatch: Q,
157
- nextMatch: X,
158
- prevMatch: Y,
159
- setCurrentMatchPosition: i
160
- };
161
- };
162
- export {
163
- ee as useSearch
1
+ import { ScrollMode as e, ViewMode as t } from "../types.js";
2
+ import { useDocumentContext as n } from "../../contexts/RPDocumentContext.js";
3
+ import { useScrollModeContext as r } from "../../contexts/ScrollModeContext.js";
4
+ import { useViewModeContext as i } from "../../contexts/ViewModeContext.js";
5
+ import { useVirtualScrollContext as a } from "../../contexts/VirtualScrollContext.js";
6
+ import { useLayoutContainer as o } from "../../contexts/LayoutContainerContext.js";
7
+ import { useZoomContext as s } from "../../contexts/ZoomContext.js";
8
+ import { usePagesRotateContext as c } from "../../contexts/PagesRotateContext.js";
9
+ import { useDimensionPagesContext as l } from "../../contexts/DimensionPagesContext.js";
10
+ import { useSmoothScrollContext as u } from "../../contexts/SmoothScrollContext.js";
11
+ import { getScrollDistance as d } from "../getScrollDistance.js";
12
+ import { r as f } from "../../PaginationContext--n91mIJ4.js";
13
+ import { findMatches as p } from "../highlight.js";
14
+ import { getWordPositionInPage as m } from "../getWordPositionInPage.js";
15
+ import { useCallback as h, useEffect as g, useMemo as _, useRef as v, useState as y } from "react";
16
+ //#region lib/utils/hooks/useSearch.ts
17
+ var b = (b = {}, x = "") => {
18
+ let [S, C] = y(x), [w, T] = y(!1), { pdf: E, pages: D } = n(), { widths: O, heights: k } = l(), A = v(!S), { currentZoom: j } = s(), [M, N] = y([]), { setFocusedPage: P } = f(), { columnCount: F, viewMode: I } = i(), { pageRotate: L } = c(), [R, z] = y(0), { pageScrollElementRef: B, virtualScrollableElementRef: V } = a(), { scrollMode: H } = r(), { pagesRef: U } = o(), { scrollBehavior: W } = u(), G = v({}), K = v(0), q = _(() => R === 0 ? null : M[R - 1], [R, M]), J = _(() => M.length, [M]), Y = h((n) => {
19
+ if (n === 0) return;
20
+ let r = M[n - 1];
21
+ if (!r || !D) return;
22
+ let i = V || B;
23
+ if (!i || !U) return;
24
+ let a = D.get(r.page);
25
+ if (H === e.PAGE_SCROLLING && P(r.page), !a) return;
26
+ let o = 0, s = 0;
27
+ if (H === e.VERTICAL_SCROLLING) {
28
+ let e = r.page - 1, n = F, i, a;
29
+ if (I === t.DUAL_PAGE_WITH_COVER) if (r.page === 1) i = 0, a = 0;
30
+ else {
31
+ let e = r.page - 2;
32
+ i = e % 2, a = Math.floor(e / 2) + 1;
33
+ }
34
+ else i = e % n, a = Math.floor(e / n);
35
+ o = d(k, a), s = d(O, i);
36
+ }
37
+ H === e.HORIZONTAL_SCROLLING && (s = O.slice(0, r.page - 1).reduce((e, t) => e + t, 0));
38
+ let c = {
39
+ height: k[r.page - 1],
40
+ width: O[r.page - 1]
41
+ }, l = L[r.page], { leftInPage: u, topInPage: f } = m(c, U, r.rect, j, l), p = s + u, h = o + f, g = {
42
+ left: Math.max(p, 0),
43
+ top: Math.max(h, 0)
44
+ };
45
+ i.scrollTo({
46
+ ...g,
47
+ behavior: W
48
+ });
49
+ }, [
50
+ D,
51
+ P,
52
+ O,
53
+ k,
54
+ H,
55
+ I,
56
+ F,
57
+ V,
58
+ B,
59
+ U,
60
+ M,
61
+ j,
62
+ L,
63
+ W
64
+ ]);
65
+ g(() => {
66
+ R && Y(R);
67
+ }, [R]);
68
+ let X = h(() => {
69
+ z((e) => {
70
+ let t;
71
+ return t = J ? e + 1 > J ? 1 : e + 1 : 0, K.current = t, t;
72
+ }), K.current === 1 && Y(K.current);
73
+ }, [J, Y]), Z = h(() => {
74
+ z((e) => {
75
+ let t;
76
+ return t = J ? e - 1 <= 0 ? J : e - 1 : 0, K.current = t, t;
77
+ }), K.current === 1 && Y(K.current);
78
+ }, [J, Y]), Q = h(async (e) => {
79
+ if (!e) return {};
80
+ let t = e.numPages, n = {};
81
+ for (let r = 1; r <= t; r++) {
82
+ if (A.current) throw "close pop over";
83
+ let t = await e.getPage(r);
84
+ n[r.toString()] = await t.getTextContent();
85
+ }
86
+ return n;
87
+ }, []);
88
+ return g(() => {
89
+ if (!S) {
90
+ A.current = !0, N([]), z(0);
91
+ return;
92
+ }
93
+ A.current = !1, T(!0), N([]), z(0), Q(E).then((e) => {
94
+ G.current = e;
95
+ let t = Object.keys(e).reduce((t, n) => {
96
+ let r = p([S], e[n], Number(n) - 1, b).map((e, t) => ({
97
+ ...e,
98
+ page: Number(n),
99
+ pageMatchIdx: t
100
+ }));
101
+ return [...t, ...r];
102
+ }, []);
103
+ N(t), z(+!!t.length);
104
+ }).catch(() => {
105
+ N([]), z(0);
106
+ }).finally(() => T(!1));
107
+ }, [
108
+ S,
109
+ Q,
110
+ E,
111
+ b
112
+ ]), {
113
+ search: S,
114
+ setSearch: C,
115
+ loading: w,
116
+ matches: M,
117
+ totalMatches: J,
118
+ currentMatchPosition: R,
119
+ currentMatch: q,
120
+ nextMatch: X,
121
+ prevMatch: Z,
122
+ setCurrentMatchPosition: z
123
+ };
164
124
  };
125
+ //#endregion
126
+ export { b as useSearch };
@@ -1,76 +1,70 @@
1
- import { useCallback as p, useEffect as b } from "react";
2
- const D = ({ onTextSelect: s, pagesRef: n }) => {
3
- const f = p(() => {
4
- const e = n == null ? void 0 : n.querySelectorAll('[data-rp$="-textLayer"]');
5
- return e ? Array.from(e) : [];
6
- }, [n]), N = p(() => {
7
- const e = document.getSelection();
8
- if (!e || e.rangeCount === 0 || e.toString().trim() === "")
9
- return null;
10
- const E = e.toString(), a = /* @__PURE__ */ new Map(), O = f();
11
- for (let i = 0; i < e.rangeCount; i++) {
12
- const t = e.getRangeAt(i);
13
- O.forEach((d) => {
14
- if (t.intersectsNode(d)) {
15
- const g = d.getAttribute("data-rp"), T = g == null ? void 0 : g.match(/page-(\d+)-textLayer/);
16
- if (T) {
17
- const h = parseInt(T[1]), C = d.closest('[data-rp*="page-"]');
18
- if (!C)
19
- return;
20
- const c = C.getBoundingClientRect();
21
- a.has(h) || a.set(h, {
22
- rects: [],
23
- pageRect: c
24
- });
25
- const y = a.get(h), _ = document.createTreeWalker(d, NodeFilter.SHOW_TEXT, null);
26
- let u;
27
- for (; u = _.nextNode(); )
28
- if (t.intersectsNode(u) && u.parentElement) {
29
- const o = document.createRange();
30
- o.selectNodeContents(u);
31
- const A = t.compareBoundaryPoints(Range.START_TO_START, o) > 0 ? t.startContainer : o.startContainer, B = t.compareBoundaryPoints(Range.START_TO_START, o) > 0 ? t.startOffset : o.startOffset, R = t.compareBoundaryPoints(Range.END_TO_END, o) < 0 ? t.endContainer : o.endContainer, S = t.compareBoundaryPoints(Range.END_TO_END, o) < 0 ? t.endOffset : o.endOffset, m = document.createRange();
32
- m.setStart(A, B), m.setEnd(R, S);
33
- const r = m.getBoundingClientRect();
34
- if (r.width === 0 || r.height === 0)
35
- continue;
36
- const P = {
37
- left: r.left - c.left,
38
- top: r.top - c.top,
39
- right: r.right - c.left,
40
- bottom: r.bottom - c.top,
41
- width: r.width,
42
- height: r.height
43
- };
44
- y.rects.push(P);
45
- }
46
- }
47
- }
48
- });
49
- }
50
- const w = Array.from(a.entries()).sort(([i], [t]) => i - t).map(([i, t]) => ({
51
- pageNumber: i,
52
- pageBasedBoundingRects: t.rects,
53
- pageDimension: {
54
- width: t.pageRect.width,
55
- height: t.pageRect.height
56
- },
57
- pagePositionInWindow: {
58
- x: t.pageRect.left,
59
- y: t.pageRect.top
60
- }
61
- }));
62
- return {
63
- text: E,
64
- pageSelections: w
65
- };
66
- }, [f]), l = p(() => {
67
- const e = N();
68
- e && (s == null || s(e));
69
- }, [N, s]);
70
- b(() => (n == null || n.addEventListener("pointerup", l), () => {
71
- n == null || n.removeEventListener("pointerup", l);
72
- }), [n, l]);
73
- };
74
- export {
75
- D as useTextSelection
1
+ import { useCallback as e, useEffect as t } from "react";
2
+ //#region lib/utils/hooks/useTextSelection.ts
3
+ var n = ({ onTextSelect: n, pagesRef: r }) => {
4
+ let i = e(() => {
5
+ let e = r?.querySelectorAll("[data-rp$=\"-textLayer\"]");
6
+ return e ? Array.from(e) : [];
7
+ }, [r]), a = e(() => {
8
+ let e = document.getSelection();
9
+ if (!e || e.rangeCount === 0 || e.toString().trim() === "") return null;
10
+ let t = e.toString(), n = /* @__PURE__ */ new Map(), r = i();
11
+ for (let t = 0; t < e.rangeCount; t++) {
12
+ let i = e.getRangeAt(t);
13
+ r.forEach((e) => {
14
+ if (i.intersectsNode(e)) {
15
+ let t = e.getAttribute("data-rp")?.match(/page-(\d+)-textLayer/);
16
+ if (t) {
17
+ let r = parseInt(t[1]), a = e.closest("[data-rp*=\"page-\"]");
18
+ if (!a) return;
19
+ let o = a.getBoundingClientRect();
20
+ n.has(r) || n.set(r, {
21
+ rects: [],
22
+ pageRect: o
23
+ });
24
+ let s = n.get(r), c = document.createTreeWalker(e, NodeFilter.SHOW_TEXT, null), l;
25
+ for (; l = c.nextNode();) if (i.intersectsNode(l) && l.parentElement) {
26
+ let e = document.createRange();
27
+ e.selectNodeContents(l);
28
+ let t = i.compareBoundaryPoints(Range.START_TO_START, e) > 0 ? i.startContainer : e.startContainer, n = i.compareBoundaryPoints(Range.START_TO_START, e) > 0 ? i.startOffset : e.startOffset, r = i.compareBoundaryPoints(Range.END_TO_END, e) < 0 ? i.endContainer : e.endContainer, a = i.compareBoundaryPoints(Range.END_TO_END, e) < 0 ? i.endOffset : e.endOffset, c = document.createRange();
29
+ c.setStart(t, n), c.setEnd(r, a);
30
+ let u = c.getBoundingClientRect();
31
+ if (u.width === 0 || u.height === 0) continue;
32
+ let d = {
33
+ left: u.left - o.left,
34
+ top: u.top - o.top,
35
+ right: u.right - o.left,
36
+ bottom: u.bottom - o.top,
37
+ width: u.width,
38
+ height: u.height
39
+ };
40
+ s.rects.push(d);
41
+ }
42
+ }
43
+ }
44
+ });
45
+ }
46
+ return {
47
+ text: t,
48
+ pageSelections: Array.from(n.entries()).sort(([e], [t]) => e - t).map(([e, t]) => ({
49
+ pageNumber: e,
50
+ pageBasedBoundingRects: t.rects,
51
+ pageDimension: {
52
+ width: t.pageRect.width,
53
+ height: t.pageRect.height
54
+ },
55
+ pagePositionInWindow: {
56
+ x: t.pageRect.left,
57
+ y: t.pageRect.top
58
+ }
59
+ }))
60
+ };
61
+ }, [i]), o = e(() => {
62
+ let e = a();
63
+ e && n?.(e);
64
+ }, [a, n]);
65
+ t(() => (r?.addEventListener("pointerup", o), () => {
66
+ r?.removeEventListener("pointerup", o);
67
+ }), [r, o]);
76
68
  };
69
+ //#endregion
70
+ export { n as useTextSelection };
@@ -1,60 +1,43 @@
1
- import { useState as f, useMemo as d, useCallback as u, useEffect as b } from "react";
2
- import { useDocumentContext as h } from "../../contexts/RPDocumentContext.js";
3
- import { getThumbnailViewport as P } from "../getThumbnailViewport.js";
4
- import "react/jsx-runtime";
5
- import "./useLoadPdf.js";
6
- import "pdfjs-dist";
7
- import "../types.js";
8
- import "../../de_DE-8145915f.js";
9
- import "../../contexts/ConfigContext.js";
10
- import "../../contexts/DocumentPasswordContext.js";
11
- import "../appConsole.js";
12
- import "../const.js";
13
- import "./usePdfProperties.js";
14
- import "../convertPdfDate.js";
15
- import "../formatFileSize.js";
16
- const E = () => {
17
- const [a, s] = f({}), { pages: t } = h(), p = d(() => Object.keys(a).length, [a]), n = u(
18
- (i) => {
19
- if (!t.size)
20
- return;
21
- const e = i > t.size ? t.size : i, c = Array.from(t.values()).slice(0, e).map((o) => {
22
- const { thumbnailViewport: r, scale: g } = P(o.page, o.defaultRotation);
23
- return {
24
- scale: g,
25
- page: o.page,
26
- loading: !0,
27
- viewport: r,
28
- defaultRotation: o.defaultRotation
29
- };
30
- }).reduce((o, r) => (o[r.page.pageNumber] = r, o), {});
31
- s(c);
32
- },
33
- [t]
34
- );
35
- b(() => {
36
- n(10);
37
- }, [n]);
38
- const l = u(
39
- (i) => {
40
- if (!t)
41
- return;
42
- const e = t.get(i);
43
- e && s((m) => ({
44
- ...m,
45
- [i]: {
46
- loading: !0,
47
- page: e.page,
48
- viewport: e.thumbnailViewport,
49
- scale: e.thumbnailScale,
50
- defaultRotation: e.defaultRotation
51
- }
52
- }));
53
- },
54
- [t]
55
- );
56
- return { thumbnailPages: a, addPage: l, addToPage: n, thumbnailLength: p };
57
- };
58
- export {
59
- E as useThumbnail
1
+ import { getThumbnailViewport as e } from "../getThumbnailViewport.js";
2
+ import { useDocumentContext as t } from "../../contexts/RPDocumentContext.js";
3
+ import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
4
+ //#region lib/utils/hooks/useThumbnail.ts
5
+ var o = () => {
6
+ let [o, s] = a({}), { pages: c } = t(), l = i(() => Object.keys(o).length, [o]), u = n((t) => {
7
+ if (!c.size) return;
8
+ let n = t > c.size ? c.size : t;
9
+ s(Array.from(c.values()).slice(0, n).map((t) => {
10
+ let { thumbnailViewport: n, scale: r } = e(t.page, t.defaultRotation);
11
+ return {
12
+ scale: r,
13
+ page: t.page,
14
+ loading: !0,
15
+ viewport: n,
16
+ defaultRotation: t.defaultRotation
17
+ };
18
+ }).reduce((e, t) => (e[t.page.pageNumber] = t, e), {}));
19
+ }, [c]);
20
+ return r(() => {
21
+ u(10);
22
+ }, [u]), {
23
+ thumbnailPages: o,
24
+ addPage: n((e) => {
25
+ if (!c) return;
26
+ let t = c.get(e);
27
+ t && s((n) => ({
28
+ ...n,
29
+ [e]: {
30
+ loading: !0,
31
+ page: t.page,
32
+ viewport: t.thumbnailViewport,
33
+ scale: t.thumbnailScale,
34
+ defaultRotation: t.defaultRotation
35
+ }
36
+ }));
37
+ }, [c]),
38
+ addToPage: u,
39
+ thumbnailLength: l
40
+ };
60
41
  };
42
+ //#endregion
43
+ export { o as useThumbnail };