@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,21 +1,25 @@
1
- import { useState as a } from "react";
2
- import d from "./useResizeObserver.js";
3
- const S = (c) => {
4
- const [h, u] = a({ width: 0, height: 0 });
5
- return d(c, (z) => {
6
- const e = z[0];
7
- if (e) {
8
- const t = e.contentBoxSize;
9
- let i = 0, o = 0;
10
- if (t) {
11
- const n = Array.isArray(t) ? t : [t];
12
- i = n.reduce((r, { inlineSize: s }) => r + s, 0), o = n.reduce((r, { blockSize: s }) => r + s, 0);
13
- } else
14
- i = e.contentRect.width, o = e.contentRect.height;
15
- u({ width: i, height: o });
16
- }
17
- }), { size: h };
18
- };
19
- export {
20
- S as default
1
+ import e from "./useResizeObserver.js";
2
+ import { useState as t } from "react";
3
+ //#region lib/utils/hooks/useElementSize.ts
4
+ var n = (n) => {
5
+ let [r, i] = t({
6
+ width: 0,
7
+ height: 0
8
+ });
9
+ return e(n, (e) => {
10
+ let t = e[0];
11
+ if (t) {
12
+ let e = t.contentBoxSize, n = 0, r = 0;
13
+ if (e) {
14
+ let t = Array.isArray(e) ? e : [e];
15
+ n = t.reduce((e, { inlineSize: t }) => e + t, 0), r = t.reduce((e, { blockSize: t }) => e + t, 0);
16
+ } else n = t.contentRect.width, r = t.contentRect.height;
17
+ i({
18
+ width: n,
19
+ height: r
20
+ });
21
+ }
22
+ }), { size: r };
21
23
  };
24
+ //#endregion
25
+ export { n as default };
@@ -1,34 +1,17 @@
1
- import { useDocumentContext as c } from "../../contexts/RPDocumentContext.js";
2
- import { useCallback as a } from "react";
3
- import { useDownloadContext as s } from "../../contexts/DownloadContext.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 "../getThumbnailViewport.js";
10
- import "../../contexts/ConfigContext.js";
11
- import "../../contexts/DocumentPasswordContext.js";
12
- import "../appConsole.js";
13
- import "../const.js";
14
- import "./usePdfProperties.js";
15
- import "../convertPdfDate.js";
16
- import "../formatFileSize.js";
17
- const i = ".pdf", d = (o) => URL.createObjectURL(o), p = async (o) => {
18
- const r = await (await fetch(o)).blob();
19
- return d(r);
20
- }, B = () => {
21
- const { filename: o, pdfSrc: e } = c(), { downloadFilename: r } = s(), m = (t) => {
22
- const n = r || t;
23
- return n.endsWith(i) ? n : `${n}${i}`;
24
- };
25
- return { download: a(async () => {
26
- if (!o || !e)
27
- throw new Error("There is no PDF source to download");
28
- const t = document.createElement("a");
29
- t.href = await p(e), t.download = m(o), document.body.appendChild(t), t.click(), document.body.removeChild(t);
30
- }, [o, e]) };
31
- };
32
- export {
33
- B as useFileDownload
1
+ import { useDocumentContext as e } from "../../contexts/RPDocumentContext.js";
2
+ import { useDownloadContext as t } from "../../contexts/DownloadContext.js";
3
+ import { useCallback as n } from "react";
4
+ //#region lib/utils/hooks/useFileDownload.ts
5
+ var r = ".pdf", i = (e) => URL.createObjectURL(e), a = async (e) => i(await (await fetch(e)).blob()), o = () => {
6
+ let { filename: i, pdfSrc: o } = e(), { downloadFilename: s } = t(), c = (e) => {
7
+ let t = s || e;
8
+ return t.endsWith(r) ? t : `${t}${r}`;
9
+ };
10
+ return { download: n(async () => {
11
+ if (!i || !o) throw Error("There is no PDF source to download");
12
+ let e = document.createElement("a");
13
+ e.href = await a(o), e.download = c(i), document.body.appendChild(e), e.click(), document.body.removeChild(e);
14
+ }, [i, o]) };
34
15
  };
16
+ //#endregion
17
+ export { o as useFileDownload };
@@ -1,25 +1,20 @@
1
- import { useRef as u, useCallback as g, useEffect as f } from "react";
2
- const m = () => {
3
- const i = u(null), a = u(/firefox/i.test(navigator.userAgent)), o = g(() => {
4
- var c, d;
5
- const s = document.getSelection();
6
- if (!s || s.rangeCount === 0 || a.current)
7
- return;
8
- const t = s.getRangeAt(0), l = i.current && (t.compareBoundaryPoints(Range.END_TO_END, i.current) === 0 || t.compareBoundaryPoints(Range.START_TO_END, i.current) === 0);
9
- let e = l ? t.startContainer : t.endContainer;
10
- if ((e == null ? void 0 : e.nodeType) === Node.TEXT_NODE && (e = e.parentNode), !l && t.endOffset === 0)
11
- do {
12
- for (; !(e != null && e.previousSibling); )
13
- e = e == null ? void 0 : e.parentNode;
14
- e = e.previousSibling;
15
- } while (!e.childNodes.length);
16
- const n = (c = e == null ? void 0 : e.parentElement) == null ? void 0 : c.closest("[data-rp-text-layer]"), r = n == null ? void 0 : n.querySelector(".endOfContent");
17
- r && (r.style.width = n.style.width, r.style.height = n.style.height, (d = e == null ? void 0 : e.parentElement) == null || d.insertBefore(r, l ? e : e.nextSibling)), i.current = t.cloneRange();
18
- }, []);
19
- f(() => (document == null || document.addEventListener("selectionchange", o), () => {
20
- document == null || document.removeEventListener("selectionchange", o);
21
- }), [o]);
22
- };
23
- export {
24
- m as useFlickerSelectText
1
+ import { useCallback as e, useEffect as t, useRef as n } from "react";
2
+ //#region lib/utils/hooks/useFlickerSelectText.ts
3
+ var r = () => {
4
+ let r = n(null), i = n(/firefox/i.test(navigator.userAgent)), a = e(() => {
5
+ let e = document.getSelection();
6
+ if (!e || e.rangeCount === 0 || i.current) return;
7
+ let t = e.getRangeAt(0), n = r.current && (t.compareBoundaryPoints(Range.END_TO_END, r.current) === 0 || t.compareBoundaryPoints(Range.START_TO_END, r.current) === 0), a = n ? t.startContainer : t.endContainer;
8
+ if (a?.nodeType === Node.TEXT_NODE && (a = a.parentNode), !n && t.endOffset === 0) do {
9
+ for (; !a?.previousSibling;) a = a?.parentNode;
10
+ a = a.previousSibling;
11
+ } while (!a.childNodes.length);
12
+ let o = a?.parentElement?.closest("[data-rp-text-layer]"), s = o?.querySelector(".endOfContent");
13
+ s && (s.style.width = o.style.width, s.style.height = o.style.height, a?.parentElement?.insertBefore(s, n ? a : a.nextSibling)), r.current = t.cloneRange();
14
+ }, []);
15
+ t(() => (document?.addEventListener("selectionchange", a), () => {
16
+ document?.removeEventListener("selectionchange", a);
17
+ }), [a]);
25
18
  };
19
+ //#endregion
20
+ export { r as useFlickerSelectText };
@@ -1,29 +1,32 @@
1
- import { useState as s, useCallback as n, useEffect as a } from "react";
2
- const m = () => {
3
- const [t, r] = s(!1), l = typeof document < "u" && (document.fullscreenEnabled || document.webkitFullscreenEnabled), c = n(async (e) => {
4
- if (!document.fullscreenElement)
5
- try {
6
- await e.requestFullscreen();
7
- } catch (o) {
8
- console.error("Error attempting to enter fullscreen:", o);
9
- }
10
- }, []), u = n(async () => {
11
- if (document.fullscreenElement)
12
- try {
13
- await document.exitFullscreen();
14
- } catch (e) {
15
- console.error("Error attempting to exit fullscreen:", e);
16
- }
17
- }, []);
18
- return a(() => {
19
- const e = () => {
20
- r(!!document.fullscreenElement);
21
- };
22
- return document.addEventListener("fullscreenchange", e), () => {
23
- document.removeEventListener("fullscreenchange", e);
24
- };
25
- }, []), { isFullScreen: t, enterFullScreen: c, exitFullScreen: u, isSupported: l };
26
- };
27
- export {
28
- m as useFullScreen
1
+ import { useCallback as e, useEffect as t, useState as n } from "react";
2
+ //#region lib/utils/hooks/useFullScreen.ts
3
+ var r = () => {
4
+ let [r, i] = n(!1), a = typeof document < "u" && (document.fullscreenEnabled || document.webkitFullscreenEnabled), o = e(async (e) => {
5
+ if (!document.fullscreenElement) try {
6
+ await e.requestFullscreen();
7
+ } catch (e) {
8
+ console.error("Error attempting to enter fullscreen:", e);
9
+ }
10
+ }, []), s = e(async () => {
11
+ if (document.fullscreenElement) try {
12
+ await document.exitFullscreen();
13
+ } catch (e) {
14
+ console.error("Error attempting to exit fullscreen:", e);
15
+ }
16
+ }, []);
17
+ return t(() => {
18
+ let e = () => {
19
+ i(!!document.fullscreenElement);
20
+ };
21
+ return document.addEventListener("fullscreenchange", e), () => {
22
+ document.removeEventListener("fullscreenchange", e);
23
+ };
24
+ }, []), {
25
+ isFullScreen: r,
26
+ enterFullScreen: o,
27
+ exitFullScreen: s,
28
+ isSupported: a
29
+ };
29
30
  };
31
+ //#endregion
32
+ export { r as useFullScreen };
@@ -1,52 +1,53 @@
1
- import { useState as T, useRef as p, useCallback as c, useEffect as X } from "react";
2
- const b = ({
3
- isPressed: v,
4
- scrollSpeed: i = 2
5
- }) => {
6
- const [L, f] = T("unset"), t = p(null), u = p({
7
- startY: 0,
8
- startX: 0,
9
- startScrollTop: 0,
10
- startScrollLeft: 0
11
- }), o = c((r) => {
12
- t.current && (u.current = {
13
- startY: r.pageY,
14
- startX: r.pageX,
15
- startScrollTop: t.current.scrollTop,
16
- startScrollLeft: t.current.scrollLeft
17
- });
18
- }, []), e = c(() => {
19
- f("smooth");
20
- }, []), s = c(
21
- (r) => {
22
- if (!v || !t.current)
23
- return;
24
- r.preventDefault(), f("unset");
25
- const { startX: n, startY: a, startScrollTop: l, startScrollLeft: d } = u.current, h = (r.pageX - n) * i, w = (r.pageY - a) * i;
26
- t.current.scrollTop = l - w, t.current.scrollLeft = d - h;
27
- },
28
- [v, i, t]
29
- ), S = c(
30
- (r) => {
31
- var n, a, l;
32
- t.current && ((n = t.current) == null || n.removeEventListener("mousedown", o), (a = t.current) == null || a.removeEventListener("mouseup", e), (l = t.current) == null || l.removeEventListener("mousemove", s)), t.current = r, r && (r == null || r.addEventListener("mousedown", o, { capture: !0 }), r == null || r.addEventListener("mouseup", e), r == null || r.addEventListener("mousemove", s));
33
- },
34
- [o, e, s]
35
- ), E = c(() => {
36
- u.current = {
37
- ...u.current,
38
- startScrollTop: 0,
39
- startScrollLeft: 0
40
- };
41
- }, []);
42
- return X(() => () => {
43
- t.current && (t.current.removeEventListener("mousedown", o), t.current.removeEventListener("mouseup", e), t.current.removeEventListener("mousemove", s));
44
- }, [o, e, s]), {
45
- initializeGrabScroll: S,
46
- scrollBehavior: L,
47
- resetGrabState: E
48
- };
49
- };
50
- export {
51
- b as useGrabScroll
1
+ import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
+ //#region lib/utils/hooks/useGrabScroll.ts
3
+ var i = ({ isPressed: i, scrollSpeed: a = 2 }) => {
4
+ let [o, s] = r("unset"), c = n(null), l = n({
5
+ startY: 0,
6
+ startX: 0,
7
+ startScrollTop: 0,
8
+ startScrollLeft: 0
9
+ }), u = e((e) => {
10
+ c.current && (l.current = {
11
+ startY: e.pageY,
12
+ startX: e.pageX,
13
+ startScrollTop: c.current.scrollTop,
14
+ startScrollLeft: c.current.scrollLeft
15
+ });
16
+ }, []), d = e(() => {
17
+ s("smooth");
18
+ }, []), f = e((e) => {
19
+ if (!i || !c.current) return;
20
+ e.preventDefault(), s("unset");
21
+ let { startX: t, startY: n, startScrollTop: r, startScrollLeft: o } = l.current, u = (e.pageX - t) * a, d = (e.pageY - n) * a;
22
+ c.current.scrollTop = r - d, c.current.scrollLeft = o - u;
23
+ }, [
24
+ i,
25
+ a,
26
+ c
27
+ ]), p = e((e) => {
28
+ c.current && (c.current?.removeEventListener("mousedown", u), c.current?.removeEventListener("mouseup", d), c.current?.removeEventListener("mousemove", f)), c.current = e, e && (e?.addEventListener("mousedown", u, { capture: !0 }), e?.addEventListener("mouseup", d), e?.addEventListener("mousemove", f));
29
+ }, [
30
+ u,
31
+ d,
32
+ f
33
+ ]), m = e(() => {
34
+ l.current = {
35
+ ...l.current,
36
+ startScrollTop: 0,
37
+ startScrollLeft: 0
38
+ };
39
+ }, []);
40
+ return t(() => () => {
41
+ c.current && (c.current.removeEventListener("mousedown", u), c.current.removeEventListener("mouseup", d), c.current.removeEventListener("mousemove", f));
42
+ }, [
43
+ u,
44
+ d,
45
+ f
46
+ ]), {
47
+ initializeGrabScroll: p,
48
+ scrollBehavior: o,
49
+ resetGrabState: m
50
+ };
52
51
  };
52
+ //#endregion
53
+ export { i as useGrabScroll };
@@ -1,93 +1,93 @@
1
- import { useState as f, useCallback as p, useEffect as w } from "react";
2
- import { getHighlightOptionsWithDefaults as k, findMatches as P } from "../highlight.js";
3
- import "../charators.js";
4
- const x = (n) => {
5
- const e = Math.min(...n.map((s) => s.left)), c = Math.max(...n.map((s) => s.left + s.width)), o = Math.min(...n.map((s) => s.bottom)), t = Math.max(...n.map((s) => s.height));
6
- return { left: e, bottom: o, width: c - e, height: t };
7
- }, N = (n) => n.flatMap((e) => e.rects ?? (e.rect ? [e.rect] : [])), O = (n) => {
8
- const e = n.reduce((o, t) => {
9
- const s = Math.round(t.bottom);
10
- return o[s] || (o[s] = []), o[s].push(t), o;
11
- }, {});
12
- return Object.entries(e).sort((o, t) => Number(t[0]) - Number(o[0])).map(([o, t]) => x(t));
13
- }, L = (n) => {
14
- const e = {};
15
- for (const c of n) {
16
- const o = c.keyword, t = e[o] ?? [];
17
- t.push(c), e[o] = t;
18
- }
19
- return e;
20
- }, j = (n, e) => {
21
- const c = n[0], o = N(n), t = o.length > 0 ? O(o) : c.rect ? [c.rect] : [];
22
- return {
23
- ...c,
24
- pageMatchIdx: e,
25
- rect: t[0] ?? c.rect,
26
- rects: t
27
- };
28
- }, v = (n) => {
29
- const e = {};
30
- for (const t of n) {
31
- const s = e[t.page] ?? [];
32
- s.push(t), e[t.page] = s;
33
- }
34
- let c = 0;
35
- const o = [];
36
- for (const t of Object.values(e)) {
37
- const s = L(t);
38
- for (const g of Object.values(s))
39
- o.push(j(g, c++));
40
- }
41
- return o;
42
- }, K = (n) => {
43
- const [e, c] = f(void 0), [o, t] = f([]), s = p(async (r) => {
44
- if (!r)
45
- return {};
46
- const i = r.numPages, h = {};
47
- for (let a = 1; a <= i; a++) {
48
- const u = await r.getPage(a);
49
- h[a.toString()] = await u.getTextContent();
50
- }
51
- return h;
52
- }, []), g = p(async (r) => {
53
- c(r);
54
- }, []), l = p(() => {
55
- t([]), c(void 0);
56
- }, []);
57
- return w(() => {
58
- n && s(n).then((r) => {
59
- let i = [];
60
- for (const { keyword: h, highlightColor: a, options: u } of e) {
61
- if (!h)
62
- continue;
63
- const b = k(u);
64
- for (const m of Object.keys(r)) {
65
- const d = P(
66
- [h],
67
- r[m],
68
- Number(m) - 1,
69
- b
70
- ).map((M, y) => ({
71
- ...M,
72
- page: Number(m),
73
- pageMatchIdx: y,
74
- color: a,
75
- keyword: h
76
- }));
77
- i = [...i, ...d];
78
- }
79
- }
80
- t(v(i));
81
- }).catch(() => {
82
- l();
83
- });
84
- }, [e, n, l, s]), {
85
- highlight: g,
86
- clear: l,
87
- highlightMatches: o,
88
- highlightKeywords: e
89
- };
90
- };
91
- export {
92
- K as useHighlight
1
+ import { findMatches as e, getHighlightOptionsWithDefaults as t } from "../highlight.js";
2
+ import { useCallback as n, useEffect as r, useState as i } from "react";
3
+ //#region lib/utils/hooks/useHighlight.ts
4
+ var a = (e) => {
5
+ let t = Math.min(...e.map((e) => e.left)), n = Math.max(...e.map((e) => e.left + e.width)), r = Math.min(...e.map((e) => e.bottom)), i = Math.max(...e.map((e) => e.height));
6
+ return {
7
+ left: t,
8
+ bottom: r,
9
+ width: n - t,
10
+ height: i
11
+ };
12
+ }, o = (e) => e.flatMap((e) => e.rects ?? (e.rect ? [e.rect] : [])), s = (e) => {
13
+ let t = e.reduce((e, t) => {
14
+ let n = Math.round(t.bottom);
15
+ return e[n] || (e[n] = []), e[n].push(t), e;
16
+ }, {});
17
+ return Object.entries(t).sort((e, t) => Number(t[0]) - Number(e[0])).map(([e, t]) => a(t));
18
+ }, c = (e) => {
19
+ let t = {};
20
+ for (let n of e) {
21
+ let e = n.keyword, r = t[e] ?? [];
22
+ r.push(n), t[e] = r;
23
+ }
24
+ return t;
25
+ }, l = (e, t) => {
26
+ let n = e[0], r = o(e), i = r.length > 0 ? s(r) : n.rect ? [n.rect] : [];
27
+ return {
28
+ ...n,
29
+ pageMatchIdx: t,
30
+ rect: i[0] ?? n.rect,
31
+ rects: i
32
+ };
33
+ }, u = (e) => {
34
+ let t = {};
35
+ for (let n of e) {
36
+ let e = t[n.page] ?? [];
37
+ e.push(n), t[n.page] = e;
38
+ }
39
+ let n = 0, r = [];
40
+ for (let e of Object.values(t)) {
41
+ let t = c(e);
42
+ for (let e of Object.values(t)) r.push(l(e, n++));
43
+ }
44
+ return r;
45
+ }, d = (a) => {
46
+ let [o, s] = i(void 0), [c, l] = i([]), d = n(async (e) => {
47
+ if (!e) return {};
48
+ let t = e.numPages, n = {};
49
+ for (let r = 1; r <= t; r++) {
50
+ let t = await e.getPage(r);
51
+ n[r.toString()] = await t.getTextContent();
52
+ }
53
+ return n;
54
+ }, []), f = n(async (e) => {
55
+ s(e);
56
+ }, []), p = n(() => {
57
+ l([]), s(void 0);
58
+ }, []);
59
+ return r(() => {
60
+ a && d(a).then((n) => {
61
+ let r = [];
62
+ for (let { keyword: i, highlightColor: a, options: s } of o) {
63
+ if (!i) continue;
64
+ let o = t(s);
65
+ for (let t of Object.keys(n)) {
66
+ let s = e([i], n[t], Number(t) - 1, o).map((e, n) => ({
67
+ ...e,
68
+ page: Number(t),
69
+ pageMatchIdx: n,
70
+ color: a,
71
+ keyword: i
72
+ }));
73
+ r = [...r, ...s];
74
+ }
75
+ }
76
+ l(u(r));
77
+ }).catch(() => {
78
+ p();
79
+ });
80
+ }, [
81
+ o,
82
+ a,
83
+ p,
84
+ d
85
+ ]), {
86
+ highlight: f,
87
+ clear: p,
88
+ highlightMatches: c,
89
+ highlightKeywords: o
90
+ };
93
91
  };
92
+ //#endregion
93
+ export { d as useHighlight };
@@ -1,19 +1,18 @@
1
- import { useCallback as l, useEffect as f } from "react";
2
- const v = (s, c, h = {}) => {
3
- const { distance: i = 10, loadFirst: t = !1 } = h, o = l(
4
- (u) => {
5
- if (!s)
6
- return;
7
- s.scrollHeight - s.clientHeight - s.scrollTop < i && c();
8
- },
9
- [c, s, i]
10
- );
11
- f(() => {
12
- t && c();
13
- }, [t]), f(() => (s == null || s.addEventListener("scroll", o), () => {
14
- s == null || s.removeEventListener("scroll", o);
15
- }), [o, s]);
16
- };
17
- export {
18
- v as useInfiniteScroll
1
+ import { useCallback as e, useEffect as t } from "react";
2
+ //#region lib/utils/hooks/useInfiniteScroll.ts
3
+ var n = (n, r, i = {}) => {
4
+ let { distance: a = 10, loadFirst: o = !1 } = i, s = e((e) => {
5
+ n && n.scrollHeight - n.clientHeight - n.scrollTop < a && r();
6
+ }, [
7
+ r,
8
+ n,
9
+ a
10
+ ]);
11
+ t(() => {
12
+ o && r();
13
+ }, [o]), t(() => (n?.addEventListener("scroll", s), () => {
14
+ n?.removeEventListener("scroll", s);
15
+ }), [s, n]);
19
16
  };
17
+ //#endregion
18
+ export { n as useInfiniteScroll };