@react-pdf-kit/viewer 2.8.0-beta.1 → 2.8.0-beta.10

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 (175) hide show
  1. package/README.md +44 -30
  2. package/dist/{AnnotationLayer-C6UTOVmc.js → AnnotationLayer-CyOYh0Tw.js} +2 -2
  3. package/dist/CanvasLayer-CJqCJ30J.js +111 -0
  4. package/dist/{LoadingIndicator-Bzzf28Xv.js → LoadingIndicator-0E8WHnSN.js} +7 -7
  5. package/dist/MenuItem-lItnKNd5.js +31 -0
  6. package/dist/Paginate.module-DhE7N8AA.js +9 -0
  7. package/dist/PaginationContext-DIzsZhFd.js +194 -0
  8. package/dist/{PasswordModal-BeLyLUsu.js → PasswordModal-CxHFn0pB.js} +12 -12
  9. package/dist/RPLayout.module-BH5r8dDc.js +14 -0
  10. package/dist/RPPages-U8QNLlIa.js +686 -0
  11. package/dist/{RPTooltip-CXBVXusS.js → RPTooltip-QWwWh4HW.js} +123 -91
  12. package/dist/SearchTool.module-DY8Ucfb_.js +17 -0
  13. package/dist/{SkipLink-CdcjClGB.js → SkipLink-Dj83gZdk.js} +3 -3
  14. package/dist/{TextLayer-DWGFN9SF.js → TextLayer-D-V9kogG.js} +5 -5
  15. package/dist/{Thumbnail-BO3QHzxR.js → Thumbnail-BXMk0OWF.js} +6 -6
  16. package/dist/{Thumbnails-DyeBsQJT.js → Thumbnails-BIuN8LZ8.js} +2 -2
  17. package/dist/assets/AnnotationLayer.css +1 -1
  18. package/dist/assets/CanvasLayer.css +1 -0
  19. package/dist/assets/LoadingIndicator.css +1 -1
  20. package/dist/assets/MenuItem.css +1 -1
  21. package/dist/assets/Paginate.css +1 -1
  22. package/dist/assets/PasswordModal.css +1 -1
  23. package/dist/assets/RPLayout.css +1 -1
  24. package/dist/assets/RPPages.css +1 -1
  25. package/dist/assets/SearchTool.css +1 -1
  26. package/dist/assets/SkipLink.css +1 -1
  27. package/dist/assets/TextLayer.css +1 -1
  28. package/dist/assets/Thumbnail.css +1 -1
  29. package/dist/assets/style.js +1 -1
  30. package/dist/components/RPController.js +39 -39
  31. package/dist/components/RPPages.js +1 -1
  32. package/dist/components/RPProvider.js +1 -1
  33. package/dist/components/layout/LayoutContainer.js +6 -6
  34. package/dist/components/layout/LayoutWrapper.js +5 -5
  35. package/dist/components/layout/RPDefaultLayout.js +56 -55
  36. package/dist/components/layout/RPLayout.js +39 -38
  37. package/dist/components/layout/SkipLink.js +1 -1
  38. package/dist/components/layout/sidebar/RPSidebar.js +2 -2
  39. package/dist/components/layout/sidebar/Thumbnail.js +1 -1
  40. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  41. package/dist/components/layout/toolbar/DarkModeTool.js +1 -1
  42. package/dist/components/layout/toolbar/DocumentProperties.js +6 -6
  43. package/dist/components/layout/toolbar/FileDownloadTool.js +6 -6
  44. package/dist/components/layout/toolbar/FileUploadTool.js +6 -6
  45. package/dist/components/layout/toolbar/FullScreenTool.js +9 -8
  46. package/dist/components/layout/toolbar/MenuItem.js +1 -1
  47. package/dist/components/layout/toolbar/MostPageTool.js +23 -29
  48. package/dist/components/layout/toolbar/OtherTool.js +1 -1
  49. package/dist/components/layout/toolbar/Paginate.js +18 -3
  50. package/dist/components/layout/toolbar/PrintTool.js +6 -6
  51. package/dist/components/layout/toolbar/RPMenuItem.js +2 -2
  52. package/dist/components/layout/toolbar/RPMoreOptions.js +1 -1
  53. package/dist/components/layout/toolbar/RPToolbar.js +1 -1
  54. package/dist/components/layout/toolbar/RotateTool.js +10 -10
  55. package/dist/components/layout/toolbar/ScrollModeTool.js +17 -17
  56. package/dist/components/layout/toolbar/SearchCloseButton.js +2 -2
  57. package/dist/components/layout/toolbar/SearchResultNavigator.js +2 -2
  58. package/dist/components/layout/toolbar/SearchTool.js +133 -121
  59. package/dist/components/layout/toolbar/SelectionModeTool.js +10 -10
  60. package/dist/components/layout/toolbar/ThumbnailTool.js +1 -1
  61. package/dist/components/layout/toolbar/ToolbarCustom.js +2 -2
  62. package/dist/components/layout/toolbar/ToolbarDefault.js +2 -2
  63. package/dist/components/layout/toolbar/ViewModeTool.js +16 -16
  64. package/dist/components/layout/toolbar/ZoomTool.js +82 -80
  65. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +1 -1
  66. package/dist/components/layout/toolbar/tools/DualPageTool.js +1 -1
  67. package/dist/components/layout/toolbar/tools/DualPageWithCoverTool.js +1 -1
  68. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +1 -1
  69. package/dist/components/layout/toolbar/tools/FileUploadTool.js +1 -1
  70. package/dist/components/layout/toolbar/tools/FirstPageTool.js +1 -1
  71. package/dist/components/layout/toolbar/tools/FullScreenTool.js +1 -1
  72. package/dist/components/layout/toolbar/tools/HorizontalScrollingTool.js +3 -3
  73. package/dist/components/layout/toolbar/tools/InputPageTool.js +36 -25
  74. package/dist/components/layout/toolbar/tools/LastPageTool.js +1 -1
  75. package/dist/components/layout/toolbar/tools/NextPageTool.js +2 -2
  76. package/dist/components/layout/toolbar/tools/PageScrollingTool.js +1 -1
  77. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +2 -2
  78. package/dist/components/layout/toolbar/tools/PrintTool.js +1 -1
  79. package/dist/components/layout/toolbar/tools/RotateClockwiseTool.js +1 -1
  80. package/dist/components/layout/toolbar/tools/RotateCounterclockwiseTool.js +1 -1
  81. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +1 -1
  82. package/dist/components/layout/toolbar/tools/SinglePageTool.js +1 -1
  83. package/dist/components/layout/toolbar/tools/ThemeSwitcherTool.js +1 -1
  84. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +1 -1
  85. package/dist/components/layout/toolbar/tools/VerticalScrollingTool.js +1 -1
  86. package/dist/components/layout/toolbar/tools/ZoomInTool.js +25 -23
  87. package/dist/components/layout/toolbar/tools/ZoomLevelDisplay.js +1 -1
  88. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +2 -2
  89. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +25 -23
  90. package/dist/components/layout/toolbar/tools/more-options/DocumentProperties.js +2 -2
  91. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +2 -2
  92. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +2 -2
  93. package/dist/components/layout/toolbar/tools/more-options/FullScreenTool.js +2 -2
  94. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +3 -3
  95. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +2 -2
  96. package/dist/components/layout/toolbar/tools/more-options/RotateTool.js +2 -2
  97. package/dist/components/layout/toolbar/tools/more-options/ScrollModeTool.js +7 -7
  98. package/dist/components/layout/toolbar/tools/more-options/SelectionModeTool.js +2 -2
  99. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +2 -2
  100. package/dist/components/page/AnnotationLayer.js +1 -1
  101. package/dist/components/page/CanvasLayer.js +2 -48
  102. package/dist/components/page/DualPage.js +2 -2
  103. package/dist/components/page/DualPageWithCover.js +2 -2
  104. package/dist/components/page/RPPage.js +94 -2
  105. package/dist/components/page/SinglePage.js +2 -2
  106. package/dist/components/page/TextHighlightLayer.js +1 -1
  107. package/dist/components/page/TextLayer.js +1 -1
  108. package/dist/components/ui/LoadingIndicator.js +1 -1
  109. package/dist/components/ui/PasswordModal.js +1 -1
  110. package/dist/components/ui/RPTooltip.js +1 -1
  111. package/dist/contexts/DimensionPagesContext.js +38 -22
  112. package/dist/contexts/ElementPageContext.js +46 -39
  113. package/dist/contexts/ElementThumbnailContext.js +1 -1
  114. package/dist/contexts/PaginationContext.js +1 -1
  115. package/dist/contexts/RenderQueueProvider.js +26 -18
  116. package/dist/contexts/RenderedPagesCache.js +32 -13
  117. package/dist/contexts/VirtualScrollContext.js +10 -13
  118. package/dist/contexts/ZoomContext.js +119 -61
  119. package/dist/{de_DE--0LF-SJR.js → de_DE-x4Z-jQrz.js} +54 -6
  120. package/dist/{main-0RC2E65p.js → main-DCzVrq0G.js} +2 -2
  121. package/dist/main.js +4 -4
  122. package/dist/style-CJtyyrJx.js +5 -0
  123. package/dist/types/components/page/CanvasLayer.d.ts +4 -1
  124. package/dist/types/components/ui/RPTooltip.d.ts +3 -2
  125. package/dist/types/contexts/RenderQueueProvider.d.ts +2 -0
  126. package/dist/types/contexts/RenderedPagesCache.d.ts +3 -0
  127. package/dist/types/contexts/VirtualScrollContext.d.ts +0 -3
  128. package/dist/types/locales/de_DE.json.d.ts +11 -2
  129. package/dist/types/locales/en_US.json.d.ts +11 -2
  130. package/dist/types/locales/it_IT.json.d.ts +11 -2
  131. package/dist/types/locales/pt_PT.json.d.ts +11 -2
  132. package/dist/types/locales/th_TH.json.d.ts +11 -2
  133. package/dist/types/locales/zh_CN.json.d.ts +11 -2
  134. package/dist/types/utils/Queue.d.ts +1 -0
  135. package/dist/types/utils/const.d.ts +3 -0
  136. package/dist/types/utils/constants.d.ts +9 -0
  137. package/dist/types/utils/documentLayout.d.ts +60 -0
  138. package/dist/types/utils/hooks/usePinch.d.ts +14 -1
  139. package/dist/types/utils/hooks/usePresentPage.d.ts +2 -2
  140. package/dist/types/utils/hooks/useZoomOrigin.d.ts +4 -0
  141. package/dist/types/utils/types.d.ts +24 -2
  142. package/dist/types/utils/zoom.d.ts +2 -0
  143. package/dist/utils/Queue.js +5 -0
  144. package/dist/utils/const.js +2 -2
  145. package/dist/utils/constants.js +2 -2
  146. package/dist/utils/documentLayout.js +141 -0
  147. package/dist/utils/hooks/useLicense.js +1 -1
  148. package/dist/utils/hooks/useLoadPdf.js +73 -63
  149. package/dist/utils/hooks/useLocalization.js +1 -1
  150. package/dist/utils/hooks/usePaginate.js +1 -1
  151. package/dist/utils/hooks/usePinch.js +109 -56
  152. package/dist/utils/hooks/usePresentPage.js +33 -57
  153. package/dist/utils/hooks/useScrollToPage.js +1 -1
  154. package/dist/utils/hooks/useSearch.js +66 -67
  155. package/dist/utils/hooks/useZoomOrigin.js +37 -0
  156. package/dist/utils/renderPage.js +21 -14
  157. package/dist/utils/types.js +3 -3
  158. package/dist/utils/zoom.js +8 -2
  159. package/package.json +1 -1
  160. package/dist/MenuItem-9kCH_GQ0.js +0 -15
  161. package/dist/Paginate.module-B0GMw-MB.js +0 -8
  162. package/dist/PaginationContext-C5CJiEW-.js +0 -242
  163. package/dist/RPLayout.module-Vc3h4xxS.js +0 -14
  164. package/dist/RPPage-BsDixmqF.js +0 -91
  165. package/dist/RPPages-Cf-FDd0a.js +0 -1007
  166. package/dist/SearchTool.module-DUkVXfOn.js +0 -16
  167. package/dist/assets/RPPage.css +0 -1
  168. package/dist/contexts/VirtualGridContext.js +0 -18
  169. package/dist/style-BPQRJJJ7.js +0 -5
  170. package/dist/types/contexts/VirtualGridContext.d.ts +0 -9
  171. package/dist/types/utils/calculatePage.d.ts +0 -12
  172. package/dist/types/utils/hooks/useVirtualReactWindow.d.ts +0 -17
  173. package/dist/utils/calculatePage.js +0 -30
  174. package/dist/utils/hooks/useVirtualReactWindow.js +0 -86
  175. /package/dist/{TextHighlightLayer-BSVgBxR3.js → TextHighlightLayer-3vIZbRyL.js} +0 -0
@@ -1,30 +1,32 @@
1
- import { MAX_ZOOM_SCALE as e } from "../../../../utils/constants.js";
1
+ import { useLayoutContainer as e } from "../../../../contexts/LayoutContainerContext.js";
2
2
  import { useZoomContext as t } from "../../../../contexts/ZoomContext.js";
3
3
  import { useLocalizationContext as n } from "../../../../contexts/LocalizationContext.js";
4
- import { t as r } from "../../../../Button-DBu3SaMk.js";
5
- import { t as i } from "../../../../RPTooltip-CXBVXusS.js";
6
- import { ZoomOutIcon as a } from "../../../icons/ZoomOutIcon.js";
7
- import { isZoomOutDisabled as o } from "../../../../utils/zoom.js";
8
- import { useCallback as s, useMemo as c } from "react";
9
- import { Fragment as l, jsx as u } from "react/jsx-runtime";
4
+ import { useZoomOrigin as r } from "../../../../utils/hooks/useZoomOrigin.js";
5
+ import { t as i } from "../../../../Button-DBu3SaMk.js";
6
+ import { t as a } from "../../../../RPTooltip-QWwWh4HW.js";
7
+ import { ZoomOutIcon as o } from "../../../icons/ZoomOutIcon.js";
8
+ import { getNextZoomOutLevel as s, isZoomOutDisabled as c } from "../../../../utils/zoom.js";
9
+ import { useCallback as l, useMemo as u } from "react";
10
+ import { Fragment as d, jsx as f } from "react/jsx-runtime";
10
11
  //#region lib/components/layout/toolbar/tools/ZoomOutTool.tsx
11
- var d = ({ icon: d }) => {
12
- let { currentZoom: f, setZoomLevel: p } = t(), { localeMessages: m } = n(), h = c(() => o(f), [f]), g = s(() => {
13
- p(() => {
14
- let t = Math.ceil(f * 100 / 25) * 25;
15
- return Math.min(t - 25, e);
16
- });
17
- }, [p, f]);
18
- return /* @__PURE__ */ u(l, { children: /* @__PURE__ */ u(i, {
19
- content: m?.zoomOutTooltip,
20
- children: /* @__PURE__ */ u(r, {
21
- disabled: h,
22
- onClick: g,
23
- "aria-label": m?.zoomOutTooltip,
24
- "aria-disabled": h,
25
- children: d || /* @__PURE__ */ u(a, { "aria-hidden": "true" })
12
+ var p = ({ icon: p }) => {
13
+ let { targetZoom: m, zoomTo: h } = t(), { pagesRef: g } = e(), { localeMessages: _ } = n(), v = r(g), y = u(() => c(m), [m]), b = l(() => {
14
+ h(s(m * 100), { origin: v() });
15
+ }, [
16
+ v,
17
+ m,
18
+ h
19
+ ]);
20
+ return /* @__PURE__ */ f(d, { children: /* @__PURE__ */ f(a, {
21
+ content: _?.zoomOutTooltip,
22
+ children: /* @__PURE__ */ f(i, {
23
+ disabled: y,
24
+ onClick: b,
25
+ "aria-label": _?.zoomOutTooltip,
26
+ "aria-disabled": y,
27
+ children: p || /* @__PURE__ */ f(o, { "aria-hidden": "true" })
26
28
  })
27
29
  }) });
28
30
  };
29
31
  //#endregion
30
- export { d as ZoomOutTool };
32
+ export { p as ZoomOutTool };
@@ -1,7 +1,7 @@
1
1
  import { useLocalizationContext as e } from "../../../../../contexts/LocalizationContext.js";
2
2
  import { useOtherToolContext as t } from "../../../../../contexts/OtherToolContext.js";
3
- import { t as n } from "../../../../../RPTooltip-CXBVXusS.js";
4
- import { t as r } from "../../../../../MenuItem-9kCH_GQ0.js";
3
+ import { t as n } from "../../../../../RPTooltip-QWwWh4HW.js";
4
+ import { t as r } from "../../../../../MenuItem-lItnKNd5.js";
5
5
  import { InfoIcon as i } from "../../../../icons/InfoIcon.js";
6
6
  import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  //#region lib/components/layout/toolbar/tools/more-options/DocumentProperties.tsx
@@ -1,8 +1,8 @@
1
1
  import { useLocalizationContext as e } from "../../../../../contexts/LocalizationContext.js";
2
2
  import { useFileDownload as t } from "../../../../../utils/hooks/useFileDownload.js";
3
3
  import { useViewportContext as n } from "../../../../../contexts/ViewportContext.js";
4
- import { t as r } from "../../../../../RPTooltip-CXBVXusS.js";
5
- import { t as i } from "../../../../../MenuItem-9kCH_GQ0.js";
4
+ import { t as r } from "../../../../../RPTooltip-QWwWh4HW.js";
5
+ import { t as i } from "../../../../../MenuItem-lItnKNd5.js";
6
6
  import { FileDownloadDefaultIcon as a } from "../../../../icons/FileDownloadDefaultIcon.js";
7
7
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
8
  //#region lib/components/layout/toolbar/tools/more-options/FileDownloadTool.tsx
@@ -1,9 +1,9 @@
1
1
  import { useLocalizationContext as e } from "../../../../../contexts/LocalizationContext.js";
2
2
  import { useOpenFileContext as t } from "../../../../../contexts/FileInputContext.js";
3
3
  import { useViewportContext as n } from "../../../../../contexts/ViewportContext.js";
4
- import { t as r } from "../../../../../RPTooltip-CXBVXusS.js";
4
+ import { t as r } from "../../../../../RPTooltip-QWwWh4HW.js";
5
5
  import { FileUploadDefaultIcon as i } from "../../../../icons/FileUploadDefaultIcon.js";
6
- import { t as a } from "../../../../../MenuItem-9kCH_GQ0.js";
6
+ import { t as a } from "../../../../../MenuItem-lItnKNd5.js";
7
7
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
8
  //#region lib/components/layout/toolbar/tools/more-options/FileUploadTool.tsx
9
9
  var c = (c) => {
@@ -1,8 +1,8 @@
1
1
  import { useFullScreenContext as e } from "../../../../../contexts/FullScreenContext.js";
2
2
  import { useLocalizationContext as t } from "../../../../../contexts/LocalizationContext.js";
3
3
  import { useViewportContext as n } from "../../../../../contexts/ViewportContext.js";
4
- import { t as r } from "../../../../../RPTooltip-CXBVXusS.js";
5
- import { t as i } from "../../../../../MenuItem-9kCH_GQ0.js";
4
+ import { t as r } from "../../../../../RPTooltip-QWwWh4HW.js";
5
+ import { t as i } from "../../../../../MenuItem-lItnKNd5.js";
6
6
  import { FullScreenIcon as a } from "../../../../icons/FullScreenIcon.js";
7
7
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
8
  //#region lib/components/layout/toolbar/tools/more-options/FullScreenTool.tsx
@@ -1,8 +1,8 @@
1
- import { r as e } from "../../../../../PaginationContext-C5CJiEW-.js";
1
+ import { r as e } from "../../../../../PaginationContext-DIzsZhFd.js";
2
2
  import { useLocalizationContext as t } from "../../../../../contexts/LocalizationContext.js";
3
- import { t as n } from "../../../../../RPTooltip-CXBVXusS.js";
3
+ import { t as n } from "../../../../../RPTooltip-QWwWh4HW.js";
4
4
  import { n as r } from "../../../../../dist-VbpVNBs6.js";
5
- import { t as i } from "../../../../../MenuItem-9kCH_GQ0.js";
5
+ import { t as i } from "../../../../../MenuItem-lItnKNd5.js";
6
6
  import { t as a } from "../../../../../MenuSeparator-CaFxd8b5.js";
7
7
  import { GoToDownIcon as o } from "../../../../icons/GoToDownIcon.js";
8
8
  import { t as s } from "../../../../../MostPageTool.module-BRVv-sGz.js";
@@ -1,8 +1,8 @@
1
1
  import { useLocalizationContext as e } from "../../../../../contexts/LocalizationContext.js";
2
2
  import { usePrintContext as t } from "../../../../../contexts/PrintContext.js";
3
3
  import { useViewportContext as n } from "../../../../../contexts/ViewportContext.js";
4
- import { t as r } from "../../../../../RPTooltip-CXBVXusS.js";
5
- import { t as i } from "../../../../../MenuItem-9kCH_GQ0.js";
4
+ import { t as r } from "../../../../../RPTooltip-QWwWh4HW.js";
5
+ import { t as i } from "../../../../../MenuItem-lItnKNd5.js";
6
6
  import { PrintDefaultTool as a } from "../../../../icons/PrintDefaultIcon.js";
7
7
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
8
  //#region lib/components/layout/toolbar/tools/more-options/PrintTool.tsx
@@ -1,7 +1,7 @@
1
1
  import { useLocalizationContext as e } from "../../../../../contexts/LocalizationContext.js";
2
- import { t } from "../../../../../RPTooltip-CXBVXusS.js";
2
+ import { t } from "../../../../../RPTooltip-QWwWh4HW.js";
3
3
  import { n } from "../../../../../dist-VbpVNBs6.js";
4
- import { t as r } from "../../../../../MenuItem-9kCH_GQ0.js";
4
+ import { t as r } from "../../../../../MenuItem-lItnKNd5.js";
5
5
  import { t as i } from "../../../../../MenuSeparator-CaFxd8b5.js";
6
6
  import { ClockwiseIcon as a } from "../../../../icons/ClockwiseIcon.js";
7
7
  import { t as o } from "../../../../../RotateTool.module-DH5yWbvM.js";
@@ -2,9 +2,9 @@ import { ScrollMode as e, ViewMode as t } from "../../../../../utils/types.js";
2
2
  import { useScrollModeContext as n } from "../../../../../contexts/ScrollModeContext.js";
3
3
  import { useViewModeContext as r } from "../../../../../contexts/ViewModeContext.js";
4
4
  import { useLocalizationContext as i } from "../../../../../contexts/LocalizationContext.js";
5
- import { t as a } from "../../../../../RPTooltip-CXBVXusS.js";
5
+ import { t as a } from "../../../../../RPTooltip-QWwWh4HW.js";
6
6
  import { n as o } from "../../../../../dist-VbpVNBs6.js";
7
- import { t as s } from "../../../../../MenuItem-9kCH_GQ0.js";
7
+ import { t as s } from "../../../../../MenuItem-lItnKNd5.js";
8
8
  import { CheckIcon as c } from "../../../../icons/CheckIcon.js";
9
9
  import { PageScrollingIcon as l } from "../../../../icons/PageScrollingIcon.js";
10
10
  import { VerticalScrollingIcon as u } from "../../../../icons/VerticalScrollingIcon.js";
@@ -13,7 +13,7 @@ import { useMemo as f } from "react";
13
13
  import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
14
14
  //#region lib/components/layout/toolbar/tools/more-options/ScrollModeTool.tsx
15
15
  var g = (g) => {
16
- let { icons: _, isToolVisible: v = !0 } = g, { pageScrollIcon: y, verticalScrollIcon: b, horizontalScrollIcon: x } = _ ?? {}, { viewMode: S } = r(), { scrollMode: C, setScrollMode: w } = n(), { localeMessages: T } = i(), E = f(() => S === t.DUAL_PAGE || S === t.DUAL_PAGE_WITH_COVER, [S]);
16
+ let { icons: _, isToolVisible: v = !0 } = g, { pageScrollIcon: y, verticalScrollIcon: b, horizontalScrollIcon: x } = _ ?? {}, { viewMode: S } = r(), { scrollMode: C, setScrollMode: w } = n(), { localeMessages: T } = i(), E = T?.horizontalScrollingLabel || T?.horizontalLabel, D = T?.horizontalScrollingTooltip || T?.horizontalTooltip, O = f(() => S === t.DUAL_PAGE || S === t.DUAL_PAGE_WITH_COVER, [S]);
17
17
  return v ? /* @__PURE__ */ m(p, { children: /* @__PURE__ */ h(o, { children: [
18
18
  /* @__PURE__ */ m(s, {
19
19
  onClick: () => w(e.PAGE_SCROLLING),
@@ -56,19 +56,19 @@ var g = (g) => {
56
56
  })
57
57
  }),
58
58
  /* @__PURE__ */ m(s, {
59
- disabled: E,
59
+ disabled: O,
60
60
  onClick: () => w(e.HORIZONTAL_SCROLLING),
61
- "aria-label": T?.horizontalTooltip,
61
+ "aria-label": D,
62
62
  "aria-checked": C === e.HORIZONTAL_SCROLLING,
63
63
  children: /* @__PURE__ */ h(a, {
64
64
  className: "rp-menu-item",
65
- content: T?.horizontalTooltip,
65
+ content: D,
66
66
  children: [
67
67
  /* @__PURE__ */ m("div", {
68
68
  className: "rp-menu-item-left",
69
69
  children: x || /* @__PURE__ */ m(d, { "aria-hidden": "true" })
70
70
  }),
71
- T?.horizontalLabel,
71
+ E,
72
72
  C === e.HORIZONTAL_SCROLLING ? /* @__PURE__ */ m(c, {
73
73
  className: "rp-menu-item-right",
74
74
  "aria-hidden": "true"
@@ -1,9 +1,9 @@
1
1
  import { SelectionMode as e } from "../../../../../utils/types.js";
2
2
  import { useSelectionModeContext as t } from "../../../../../contexts/SelectionModeContext.js";
3
3
  import { useLocalizationContext as n } from "../../../../../contexts/LocalizationContext.js";
4
- import { t as r } from "../../../../../RPTooltip-CXBVXusS.js";
4
+ import { t as r } from "../../../../../RPTooltip-QWwWh4HW.js";
5
5
  import { n as i } from "../../../../../dist-VbpVNBs6.js";
6
- import { t as a } from "../../../../../MenuItem-9kCH_GQ0.js";
6
+ import { t as a } from "../../../../../MenuItem-lItnKNd5.js";
7
7
  import { t as o } from "../../../../../MenuSeparator-CaFxd8b5.js";
8
8
  import { CheckIcon as s } from "../../../../icons/CheckIcon.js";
9
9
  import { TextSelectionDefaultIcon as c } from "../../../../icons/TextSelectionDefaultIcon.js";
@@ -2,9 +2,9 @@ import { ScrollMode as e, ViewMode as t } from "../../../../../utils/types.js";
2
2
  import { useScrollModeContext as n } from "../../../../../contexts/ScrollModeContext.js";
3
3
  import { useViewModeContext as r } from "../../../../../contexts/ViewModeContext.js";
4
4
  import { useLocalizationContext as i } from "../../../../../contexts/LocalizationContext.js";
5
- import { t as a } from "../../../../../RPTooltip-CXBVXusS.js";
5
+ import { t as a } from "../../../../../RPTooltip-QWwWh4HW.js";
6
6
  import { n as o } from "../../../../../dist-VbpVNBs6.js";
7
- import { t as s } from "../../../../../MenuItem-9kCH_GQ0.js";
7
+ import { t as s } from "../../../../../MenuItem-lItnKNd5.js";
8
8
  import { t as c } from "../../../../../MenuSeparator-CaFxd8b5.js";
9
9
  import { DualPageIcon as l } from "../../../../icons/DualPageIcon.js";
10
10
  import { DualPageWithCoverIcon as u } from "../../../../icons/DualPageWithCoverIcon.js";
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../AnnotationLayer-C6UTOVmc.js";
1
+ import { t as e } from "../../AnnotationLayer-CyOYh0Tw.js";
2
2
  export { e as AnnotationLayer };
@@ -1,48 +1,2 @@
1
- import { useDocumentContext as e } from "../../contexts/RPDocumentContext.js";
2
- import { useInitialStateContext as t } from "../../contexts/InitialStateContext.js";
3
- import { useZoomContext as n } from "../../contexts/ZoomContext.js";
4
- import { usePagesRotateContext as r } from "../../contexts/PagesRotateContext.js";
5
- import { useRenderQueue as i } from "../../contexts/RenderQueueProvider.js";
6
- import { useEffect as a, useRef as o } from "react";
7
- import { jsx as s } from "react/jsx-runtime";
8
- //#region lib/components/page/CanvasLayer.tsx
9
- var c = (c) => {
10
- let { pageNumber: l, onLoaded: u, onLoading: d } = c, f = o(null), { pages: p } = e(), { pageRotate: m } = r(), h = o(), { currentZoom: g } = n(), { interactiveForm: _ } = t(), v = i(), y = o(`page-${l}`);
11
- return a(() => {
12
- if (!p || g === 0) return;
13
- let e = p.get(l);
14
- if (f.current && e) {
15
- let t = f.current;
16
- t.hidden = !0;
17
- let n = h.current;
18
- n && n.cancel(), d && d(), v.enqueue(y.current, {
19
- page: e.page,
20
- canvasElem: t,
21
- options: {
22
- scale: g,
23
- rotate: m[l],
24
- renderForms: !0,
25
- interactiveForm: _
26
- },
27
- onLoaded: u
28
- }, 3);
29
- }
30
- return () => {
31
- v.removeQueue(y.current);
32
- };
33
- }, [
34
- p,
35
- l,
36
- m,
37
- g,
38
- d,
39
- u,
40
- v,
41
- _
42
- ]), /* @__PURE__ */ s("canvas", {
43
- "data-rp": `page-${l}-canvas`,
44
- ref: f
45
- });
46
- };
47
- //#endregion
48
- export { c as CanvasLayer };
1
+ import { t as e } from "../../CanvasLayer-CJqCJ30J.js";
2
+ export { e as CanvasLayer };
@@ -1,5 +1,5 @@
1
- import { r as e } from "../../PaginationContext-C5CJiEW-.js";
2
- import { t } from "../../RPPage-BsDixmqF.js";
1
+ import { r as e } from "../../PaginationContext-DIzsZhFd.js";
2
+ import { RPPage as t } from "./RPPage.js";
3
3
  import { memo as n, useMemo as r } from "react";
4
4
  import { jsx as i } from "react/jsx-runtime";
5
5
  //#region lib/components/page/DualPage.tsx
@@ -1,5 +1,5 @@
1
- import { r as e } from "../../PaginationContext-C5CJiEW-.js";
2
- import { t } from "../../RPPage-BsDixmqF.js";
1
+ import { r as e } from "../../PaginationContext-DIzsZhFd.js";
2
+ import { RPPage as t } from "./RPPage.js";
3
3
  import { memo as n, useMemo as r } from "react";
4
4
  import { jsx as i } from "react/jsx-runtime";
5
5
  //#region lib/components/page/DualPageWithCover.tsx
@@ -1,2 +1,94 @@
1
- import { t as e } from "../../RPPage-BsDixmqF.js";
2
- export { e as RPPage };
1
+ import { useDocumentContext as e } from "../../contexts/RPDocumentContext.js";
2
+ import { useZoomContext as t } from "../../contexts/ZoomContext.js";
3
+ import { usePagesRotateContext as n } from "../../contexts/PagesRotateContext.js";
4
+ import { useLayerContext as r } from "../../contexts/LayerContext.js";
5
+ import { useLoaderContext as i } from "../../contexts/LoaderContext.js";
6
+ import { withRef as a } from "../../utils/withRef.js";
7
+ import { n as o, t as s } from "../../CanvasLayer-CJqCJ30J.js";
8
+ import { t as c } from "../../TextLayer-D-V9kogG.js";
9
+ import { t as l } from "../../AnnotationLayer-CyOYh0Tw.js";
10
+ import { t as u } from "../../TextHighlightLayer-3vIZbRyL.js";
11
+ import { CustomElement as d } from "./CustomElement.js";
12
+ import { useCallback as f, useEffect as p, useImperativeHandle as m, useMemo as h, useRef as g, useState as _ } from "react";
13
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
14
+ //#region lib/components/page/RPPage.tsx
15
+ var b = a((a, b) => {
16
+ let { pageNumber: x, style: S, ...C } = a, { pages: w } = e(), { pageRotate: T } = n(), { textLayer: E } = r(), { currentZoom: D, targetZoom: O } = t(), { LoaderImageComponent: k } = i(), A = g(w.get(x)), [j, M] = _(!1), N = g(null), [P, F] = _({
17
+ width: 0,
18
+ height: 0
19
+ });
20
+ m(b, () => N.current);
21
+ let I = h(() => A.current ? T[x] ?? A.current.defaultRotation ?? 0 : 0, [x, T]);
22
+ p(() => {
23
+ w && (A.current = w.get(x), A.current && F(A.current.page.getViewport({
24
+ scale: 1,
25
+ rotation: I
26
+ })));
27
+ }, [
28
+ w,
29
+ x,
30
+ I
31
+ ]);
32
+ let L = h(() => ({
33
+ width: P.width * (O || D || 1),
34
+ height: P.height * (O || D || 1)
35
+ }), [
36
+ P,
37
+ O,
38
+ D
39
+ ]), R = h(() => {
40
+ switch (I) {
41
+ case 90: return `${L.width / 2}px ${L.width / 2}px`;
42
+ case -90:
43
+ case 270: return `${L.height / 2}px ${L.height / 2}px`;
44
+ default: return "center";
45
+ }
46
+ }, [I, L]), z = h(() => !D || !O ? 1 : O / D, [D, O]), B = f((e) => {
47
+ M(!e.hasRenderedBefore);
48
+ }, []), V = f(() => {
49
+ M(!1);
50
+ }, []);
51
+ return /* @__PURE__ */ v("div", {
52
+ ref: N,
53
+ id: `page-${x}`,
54
+ "data-rp": `page-${x}`,
55
+ ...C,
56
+ style: {
57
+ ...S,
58
+ "--rp-rotate": `${I}deg`,
59
+ "--rp-page-rotate-translate": `${R}`,
60
+ "--user-unit": P.userUnit || 1,
61
+ "--scale-factor": O || D,
62
+ "--rp-canvas-scale-ratio": z,
63
+ "--total-scale-factor": "calc(var(--scale-factor) * var(--user-unit))"
64
+ },
65
+ className: o["rp-page-wrapper"],
66
+ children: /* @__PURE__ */ y("div", {
67
+ style: {
68
+ width: `${L.width}px`,
69
+ height: `${L.height}px`
70
+ },
71
+ className: o["rp-page"],
72
+ children: [
73
+ /* @__PURE__ */ v(s, {
74
+ onLoading: B,
75
+ onLoaded: V,
76
+ pageNumber: x
77
+ }),
78
+ j && k && /* @__PURE__ */ v("div", {
79
+ className: o["rp-loader-wrapper"],
80
+ children: /* @__PURE__ */ v(k, {})
81
+ }),
82
+ /* @__PURE__ */ v(d, { pageNumber: x }),
83
+ E && /* @__PURE__ */ v(c, { pageNumber: x }),
84
+ /* @__PURE__ */ v(u, {
85
+ pageNumber: x,
86
+ viewport: P
87
+ }),
88
+ /* @__PURE__ */ v(l, { pageNumber: x })
89
+ ]
90
+ })
91
+ });
92
+ });
93
+ //#endregion
94
+ export { b as RPPage };
@@ -1,5 +1,5 @@
1
- import { r as e } from "../../PaginationContext-C5CJiEW-.js";
2
- import { t } from "../../RPPage-BsDixmqF.js";
1
+ import { r as e } from "../../PaginationContext-DIzsZhFd.js";
2
+ import { RPPage as t } from "./RPPage.js";
3
3
  import { useMemo as n } from "react";
4
4
  import { jsx as r } from "react/jsx-runtime";
5
5
  //#region lib/components/page/SinglePage.tsx
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../TextHighlightLayer-BSVgBxR3.js";
1
+ import { t as e } from "../../TextHighlightLayer-3vIZbRyL.js";
2
2
  export { e as TextHighlightLayer };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../TextLayer-DWGFN9SF.js";
1
+ import { t as e } from "../../TextLayer-D-V9kogG.js";
2
2
  export { e as TextLayer };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../LoadingIndicator-Bzzf28Xv.js";
1
+ import { t as e } from "../../LoadingIndicator-0E8WHnSN.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../PasswordModal-BeLyLUsu.js";
1
+ import { t as e } from "../../PasswordModal-CxHFn0pB.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../RPTooltip-CXBVXusS.js";
1
+ import { t as e } from "../../RPTooltip-QWwWh4HW.js";
2
2
  export { e as default };
@@ -3,48 +3,64 @@ import { useDocumentContext as t } from "./RPDocumentContext.js";
3
3
  import "../utils/constants.js";
4
4
  import { useZoomContext as n } from "./ZoomContext.js";
5
5
  import { usePagesRotateContext as r } from "./PagesRotateContext.js";
6
- import { createContext as i, useContext as a, useEffect as o, useState as s } from "react";
7
- import { jsx as c } from "react/jsx-runtime";
6
+ import { createContext as i, useCallback as a, useContext as o, useMemo as s, useState as c } from "react";
7
+ import { jsx as l } from "react/jsx-runtime";
8
8
  //#region lib/contexts/DimensionPagesContext.tsx
9
- var l = i({
9
+ var u = i({
10
10
  widths: [],
11
11
  heights: [],
12
12
  setWidths: () => {},
13
13
  setHeights: () => {}
14
- }), u = () => {
15
- let t = a(l), { widths: n, heights: r } = t;
14
+ }), d = () => {
15
+ let t = o(u), { widths: n, heights: r } = t;
16
16
  if (n && r) {
17
17
  let t = n.every((e) => typeof e == "number"), i = r.every((e) => typeof e == "number");
18
18
  (!t || !i) && e.warn("Please use this hooks inside children component of RPProvider");
19
19
  }
20
20
  return t;
21
- }, d = ({ children: e }) => {
22
- let [i, a] = s([]), [u, d] = s([]), { pages: f } = t(), { currentZoom: p } = n(), { pageRotate: m } = r();
23
- return o(() => {
24
- if (!f) return;
21
+ }, f = ({ children: e }) => {
22
+ let [i, o] = c(null), [d, f] = c(null), { pages: p } = t(), { targetZoom: m } = n(), { pageRotate: h } = r(), g = s(() => {
23
+ if (!p || !m) return {
24
+ widths: [],
25
+ heights: []
26
+ };
25
27
  let e = [], t = [];
26
- for (let n of Array.from(f.values())) {
27
- let r = m[n.page.pageNumber], i = n.page.getViewport({
28
- scale: p,
28
+ for (let n of Array.from(p.values())) {
29
+ let r = h[n.page.pageNumber] ?? n.defaultRotation ?? 0, i = n.page.getViewport({
30
+ scale: 1,
29
31
  rotation: r,
30
32
  dontFlip: !0
31
33
  });
32
- e.push(i.width + 4), t.push(i.height + 4);
34
+ e.push(i.width * m + 4), t.push(i.height * m + 4);
33
35
  }
34
- a((t) => [...e]), d((e) => [...t]);
36
+ return {
37
+ widths: e,
38
+ heights: t
39
+ };
35
40
  }, [
36
- p,
37
41
  m,
38
- f
39
- ]), /* @__PURE__ */ c(l.Provider, {
42
+ h,
43
+ p
44
+ ]), _ = i ?? g.widths, v = d ?? g.heights, y = a((e) => {
45
+ o((t) => {
46
+ let n = t ?? g.widths;
47
+ return typeof e == "function" ? e(n) : e;
48
+ });
49
+ }, [g.widths]), b = a((e) => {
50
+ f((t) => {
51
+ let n = t ?? g.heights;
52
+ return typeof e == "function" ? e(n) : e;
53
+ });
54
+ }, [g.heights]);
55
+ return /* @__PURE__ */ l(u.Provider, {
40
56
  value: {
41
- widths: i,
42
- heights: u,
43
- setWidths: a,
44
- setHeights: d
57
+ widths: _,
58
+ heights: v,
59
+ setWidths: y,
60
+ setHeights: b
45
61
  },
46
62
  children: e
47
63
  });
48
64
  };
49
65
  //#endregion
50
- export { d as DimensionPagesProvider, u as useDimensionPagesContext };
66
+ export { f as DimensionPagesProvider, d as useDimensionPagesContext };