@pdf-viewer/react 1.9.0-beta.1 → 1.9.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/{Popover-48c8394c.js → Popover-1faa77f6.js} +2 -2
  2. package/dist/RPLayout-81cd4970.js +3393 -0
  3. package/dist/{component-2aa6e53b.js → component-1da194e8.js} +1 -1
  4. package/dist/components/RPConfig.js +673 -691
  5. package/dist/components/RPController.js +1 -1
  6. package/dist/components/RPDropFileZone.js +27 -26
  7. package/dist/components/RPPages.js +9 -3
  8. package/dist/components/layout/LayoutContainer.js +9 -3
  9. package/dist/components/layout/RPDefaultLayout.js +1 -1
  10. package/dist/components/layout/RPLayout.js +9 -4
  11. package/dist/components/layout/WrapperLayout.js +8 -7
  12. package/dist/components/layout/sidebar/RPSidebar.js +3 -2
  13. package/dist/components/layout/sidebar/Thumbnail.js +1 -1
  14. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  15. package/dist/components/layout/toolbar/DarkModeTool.js +20 -18
  16. package/dist/components/layout/toolbar/DocumentDialog.js +7 -4
  17. package/dist/components/layout/toolbar/DocumentProperties.js +19 -17
  18. package/dist/components/layout/toolbar/FileDownloadTool.js +4 -2
  19. package/dist/components/layout/toolbar/FileUploadTool.js +21 -19
  20. package/dist/components/layout/toolbar/FullScreenTool.js +45 -36
  21. package/dist/components/layout/toolbar/MenuItem.js +1 -1
  22. package/dist/components/layout/toolbar/MenuSeparator.js +1 -1
  23. package/dist/components/layout/toolbar/MostPageTool.js +10 -4
  24. package/dist/components/layout/toolbar/OtherTool.js +4 -3
  25. package/dist/components/layout/toolbar/Paginate.js +4 -2
  26. package/dist/components/layout/toolbar/PrintTool.js +4 -2
  27. package/dist/components/layout/toolbar/RPToolbar.js +3 -2
  28. package/dist/components/layout/toolbar/RPToolbarEnd.js +1 -1
  29. package/dist/components/layout/toolbar/RotateTool.js +27 -25
  30. package/dist/components/layout/toolbar/ScrollModeTool.js +43 -41
  31. package/dist/components/layout/toolbar/SearchResultNavigator.js +1 -1
  32. package/dist/components/layout/toolbar/SearchTool.js +10 -4
  33. package/dist/components/layout/toolbar/SelectionModeTool.js +32 -30
  34. package/dist/components/layout/toolbar/ThumbnailTool.js +17 -0
  35. package/dist/components/layout/toolbar/ToolbarCustom.js +9 -3
  36. package/dist/components/layout/toolbar/ViewModeTool.js +33 -24
  37. package/dist/components/layout/toolbar/ZoomTool.js +5 -3
  38. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +9 -13
  39. package/dist/components/layout/toolbar/tools/FileUploadTool.js +10 -14
  40. package/dist/components/layout/toolbar/tools/FullScreenTool.js +13 -17
  41. package/dist/components/layout/toolbar/tools/InputPageTool.js +1 -1
  42. package/dist/components/layout/toolbar/tools/NextPageTool.js +10 -4
  43. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +1 -1
  44. package/dist/components/layout/toolbar/tools/PrintTool.js +8 -12
  45. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +1 -1
  46. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +55 -56
  47. package/dist/components/layout/toolbar/tools/defaults/LeftSidebarDefaultTools.js +16 -0
  48. package/dist/components/layout/toolbar/tools/defaults/TopbarDefaultTools.js +59 -0
  49. package/dist/components/page/AnnotationLayer.js +9 -3
  50. package/dist/components/page/CanvasLayer.js +9 -3
  51. package/dist/components/page/DualPage.js +1 -1
  52. package/dist/components/page/RPPage.js +9 -3
  53. package/dist/components/page/SinglePage.js +1 -1
  54. package/dist/components/page/TextHighlightLayer.js +9 -3
  55. package/dist/components/page/TextLayer.js +9 -3
  56. package/dist/components/ui/Checkbox.js +116 -228
  57. package/dist/components/ui/DropDown.js +1 -1
  58. package/dist/components/ui/LoadingIndicator.js +1 -1
  59. package/dist/components/ui/Popover.js +1 -1
  60. package/dist/components/ui/RPTooltip.js +207 -207
  61. package/dist/contexts/DropFileZoneContext.js +28 -29
  62. package/dist/contexts/IconToolContext.js +13 -0
  63. package/dist/contexts/PaginationContext.js +3 -3
  64. package/dist/contexts/PrintContext.js +1 -1
  65. package/dist/contexts/SearchContext.js +1 -1
  66. package/dist/contexts/ThumbnailsContext.js +1 -1
  67. package/dist/contexts/ToolComponentContext.js +52 -0
  68. package/dist/contexts/ToolbarComponentContext.js +6 -3
  69. package/dist/{floating-ui.react-dom-4b1e2e46.js → floating-ui.react-dom-15b9b819.js} +380 -394
  70. package/dist/index-1cb41342.js +307 -0
  71. package/dist/{index-951f0f1f.js → index-7279fb4e.js} +456 -464
  72. package/dist/index-aa2d3884.js +140 -0
  73. package/dist/main.js +23 -19
  74. package/dist/types/components/layout/toolbar/ThumbnailTool.d.ts +2 -0
  75. package/dist/types/components/layout/toolbar/tools/defaults/LeftSidebarDefaultTools.d.ts +3 -0
  76. package/dist/types/components/layout/toolbar/tools/defaults/TopbarDefaultTools.d.ts +3 -0
  77. package/dist/types/contexts/IconToolContext.d.ts +9 -0
  78. package/dist/types/contexts/ToolComponentContext.d.ts +12 -0
  79. package/dist/types/main.d.ts +3 -1
  80. package/dist/types/utils/types.d.ts +60 -42
  81. package/dist/utils/hooks/useFileDownload.js +9 -3
  82. package/dist/utils/hooks/useLicense.js +1 -1
  83. package/dist/utils/hooks/usePaginate.js +9 -3
  84. package/dist/utils/hooks/usePresentPage.js +9 -3
  85. package/dist/utils/hooks/usePrint.js +9 -3
  86. package/dist/utils/hooks/useScrollToPage.js +9 -3
  87. package/dist/utils/hooks/useSearch.js +9 -3
  88. package/dist/utils/hooks/useThumbnail.js +9 -3
  89. package/dist/utils/hooks/useVirtualReactWindow.js +9 -3
  90. package/package.json +1 -1
  91. package/dist/RPLayout-3042ec91.js +0 -3349
  92. package/dist/index-6e0e48fa.js +0 -332
  93. package/dist/index-e3a67935.js +0 -150
@@ -0,0 +1,140 @@
1
+ import * as i from "react";
2
+ import { u as p, a as R, P as w, c as h, d as _, b as U } from "./index-1cb41342.js";
3
+ import { jsx as T } from "react/jsx-runtime";
4
+ function z(t, e = globalThis == null ? void 0 : globalThis.document) {
5
+ const s = p(t);
6
+ i.useEffect(() => {
7
+ const n = (r) => {
8
+ r.key === "Escape" && s(r);
9
+ };
10
+ return e.addEventListener("keydown", n, { capture: !0 }), () => e.removeEventListener("keydown", n, { capture: !0 });
11
+ }, [s, e]);
12
+ }
13
+ var H = "DismissableLayer", b = "dismissableLayer.update", M = "dismissableLayer.pointerDownOutside", K = "dismissableLayer.focusOutside", O, S = i.createContext({
14
+ layers: /* @__PURE__ */ new Set(),
15
+ layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
16
+ branches: /* @__PURE__ */ new Set()
17
+ }), j = i.forwardRef(
18
+ (t, e) => {
19
+ const {
20
+ disableOutsidePointerEvents: s = !1,
21
+ onEscapeKeyDown: n,
22
+ onPointerDownOutside: r,
23
+ onFocusOutside: o,
24
+ onInteractOutside: l,
25
+ onDismiss: d,
26
+ ...v
27
+ } = t, u = i.useContext(S), [c, B] = i.useState(null), f = (c == null ? void 0 : c.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, F] = i.useState({}), I = R(e, (a) => B(a)), m = Array.from(u.layers), [W] = [...u.layersWithOutsidePointerEventsDisabled].slice(-1), k = m.indexOf(W), P = c ? m.indexOf(c) : -1, A = u.layersWithOutsidePointerEventsDisabled.size > 0, D = P >= k, N = $((a) => {
28
+ const E = a.target, C = [...u.branches].some((y) => y.contains(E));
29
+ !D || C || (r == null || r(a), l == null || l(a), a.defaultPrevented || d == null || d());
30
+ }, f), L = q((a) => {
31
+ const E = a.target;
32
+ [...u.branches].some((y) => y.contains(E)) || (o == null || o(a), l == null || l(a), a.defaultPrevented || d == null || d());
33
+ }, f);
34
+ return z((a) => {
35
+ P === u.layers.size - 1 && (n == null || n(a), !a.defaultPrevented && d && (a.preventDefault(), d()));
36
+ }, f), i.useEffect(() => {
37
+ if (c)
38
+ return s && (u.layersWithOutsidePointerEventsDisabled.size === 0 && (O = f.body.style.pointerEvents, f.body.style.pointerEvents = "none"), u.layersWithOutsidePointerEventsDisabled.add(c)), u.layers.add(c), g(), () => {
39
+ s && u.layersWithOutsidePointerEventsDisabled.size === 1 && (f.body.style.pointerEvents = O);
40
+ };
41
+ }, [c, f, s, u]), i.useEffect(() => () => {
42
+ c && (u.layers.delete(c), u.layersWithOutsidePointerEventsDisabled.delete(c), g());
43
+ }, [c, u]), i.useEffect(() => {
44
+ const a = () => F({});
45
+ return document.addEventListener(b, a), () => document.removeEventListener(b, a);
46
+ }, []), /* @__PURE__ */ T(
47
+ w.div,
48
+ {
49
+ ...v,
50
+ ref: I,
51
+ style: {
52
+ pointerEvents: A ? D ? "auto" : "none" : void 0,
53
+ ...t.style
54
+ },
55
+ onFocusCapture: h(t.onFocusCapture, L.onFocusCapture),
56
+ onBlurCapture: h(t.onBlurCapture, L.onBlurCapture),
57
+ onPointerDownCapture: h(
58
+ t.onPointerDownCapture,
59
+ N.onPointerDownCapture
60
+ )
61
+ }
62
+ );
63
+ }
64
+ );
65
+ j.displayName = H;
66
+ var X = "DismissableLayerBranch", Y = i.forwardRef((t, e) => {
67
+ const s = i.useContext(S), n = i.useRef(null), r = R(e, n);
68
+ return i.useEffect(() => {
69
+ const o = n.current;
70
+ if (o)
71
+ return s.branches.add(o), () => {
72
+ s.branches.delete(o);
73
+ };
74
+ }, [s.branches]), /* @__PURE__ */ T(w.div, { ...t, ref: r });
75
+ });
76
+ Y.displayName = X;
77
+ function $(t, e = globalThis == null ? void 0 : globalThis.document) {
78
+ const s = p(t), n = i.useRef(!1), r = i.useRef(() => {
79
+ });
80
+ return i.useEffect(() => {
81
+ const o = (d) => {
82
+ if (d.target && !n.current) {
83
+ let v = function() {
84
+ x(
85
+ M,
86
+ s,
87
+ u,
88
+ { discrete: !0 }
89
+ );
90
+ };
91
+ const u = { originalEvent: d };
92
+ d.pointerType === "touch" ? (e.removeEventListener("click", r.current), r.current = v, e.addEventListener("click", r.current, { once: !0 })) : v();
93
+ } else
94
+ e.removeEventListener("click", r.current);
95
+ n.current = !1;
96
+ }, l = window.setTimeout(() => {
97
+ e.addEventListener("pointerdown", o);
98
+ }, 0);
99
+ return () => {
100
+ window.clearTimeout(l), e.removeEventListener("pointerdown", o), e.removeEventListener("click", r.current);
101
+ };
102
+ }, [e, s]), {
103
+ // ensures we check React component tree (not just DOM tree)
104
+ onPointerDownCapture: () => n.current = !0
105
+ };
106
+ }
107
+ function q(t, e = globalThis == null ? void 0 : globalThis.document) {
108
+ const s = p(t), n = i.useRef(!1);
109
+ return i.useEffect(() => {
110
+ const r = (o) => {
111
+ o.target && !n.current && x(K, s, { originalEvent: o }, {
112
+ discrete: !1
113
+ });
114
+ };
115
+ return e.addEventListener("focusin", r), () => e.removeEventListener("focusin", r);
116
+ }, [e, s]), {
117
+ onFocusCapture: () => n.current = !0,
118
+ onBlurCapture: () => n.current = !1
119
+ };
120
+ }
121
+ function g() {
122
+ const t = new CustomEvent(b);
123
+ document.dispatchEvent(t);
124
+ }
125
+ function x(t, e, s, { discrete: n }) {
126
+ const r = s.originalEvent.target, o = new CustomEvent(t, { bubbles: !1, cancelable: !0, detail: s });
127
+ e && r.addEventListener(t, e, { once: !0 }), n ? _(r, o) : r.dispatchEvent(o);
128
+ }
129
+ var G = i["useId".toString()] || (() => {
130
+ }), J = 0;
131
+ function Z(t) {
132
+ const [e, s] = i.useState(G());
133
+ return U(() => {
134
+ t || s((n) => n ?? String(J++));
135
+ }, [t]), t || (e ? `radix-${e}` : "");
136
+ }
137
+ export {
138
+ j as D,
139
+ Z as u
140
+ };
package/dist/main.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import { RPProvider as r } from "./components/RPProvider.js";
2
- import { a as x, b as m, R as l, S as p, c as f, u as n, d as a, e as s } from "./RPLayout-3042ec91.js";
2
+ import { a as x, b as m, R as l, S as p, c as f, u as a, d as n, e as s } from "./RPLayout-81cd4970.js";
3
3
  import { RPConfig as i } from "./components/RPConfig.js";
4
4
  import { RPController as T } from "./components/RPController.js";
5
- import { RPTheme as R } from "./components/RPTheme.js";
5
+ import { RPTheme as d } from "./components/RPTheme.js";
6
6
  import { RPDropFileZone as g } from "./components/RPDropFileZone.js";
7
7
  import { useDarkModeContext as h } from "./contexts/DarkModeContext.js";
8
- import { useDocumentContext as D } from "./contexts/RPDocumentContext.js";
8
+ import { useDocumentContext as F } from "./contexts/RPDocumentContext.js";
9
9
  import { useRotationContext as Z } from "./contexts/RotationContext.js";
10
- import { useViewModeContext as L } from "./contexts/ViewModeContext.js";
11
- import { useDropFileZoneContext as M } from "./contexts/DropFileZoneContext.js";
10
+ import { useViewModeContext as b } from "./contexts/ViewModeContext.js";
11
+ import { useDropFileZoneContext as v } from "./contexts/DropFileZoneContext.js";
12
12
  import { useOpenFileContext as V } from "./contexts/FileInputContext.js";
13
13
  import { useZoomContext as I } from "./contexts/ZoomContext.js";
14
14
  import { useHighlightContext as k } from "./contexts/HighlightContext.js";
@@ -25,16 +25,19 @@ import { FullScreenTool as eo } from "./components/layout/toolbar/tools/FullScre
25
25
  import { PreviousPageTool as to } from "./components/layout/toolbar/tools/PreviousPageTool.js";
26
26
  import { NextPageTool as mo } from "./components/layout/toolbar/tools/NextPageTool.js";
27
27
  import { InputPageTool as po } from "./components/layout/toolbar/tools/InputPageTool.js";
28
- import { ZoomInTool as no } from "./components/layout/toolbar/tools/ZoomInTool.js";
28
+ import { ZoomInTool as ao } from "./components/layout/toolbar/tools/ZoomInTool.js";
29
29
  import { ZoomOutTool as so } from "./components/layout/toolbar/tools/ZoomOutTool.js";
30
30
  import { ZoomLevelTool as io } from "./components/layout/toolbar/tools/ZoomLevelTool.js";
31
- import { Locales as To, ScrollMode as Co, ThemeVariables as Ro, ViewMode as go, ZoomLevel as co } from "./utils/types.js";
31
+ import { TopbarDefaultTools as To } from "./components/layout/toolbar/tools/defaults/TopbarDefaultTools.js";
32
+ import { LeftSidebarDefaultTools as Ro } from "./components/layout/toolbar/tools/defaults/LeftSidebarDefaultTools.js";
33
+ import { Locales as co, ScrollMode as ho, ThemeVariables as Do, ViewMode as Fo, ZoomLevel as So } from "./utils/types.js";
32
34
  export {
33
35
  Y as FileDownloadTool,
34
36
  W as FileUploadTool,
35
37
  eo as FullScreenTool,
36
38
  po as InputPageTool,
37
- To as Locales,
39
+ Ro as LeftSidebarDefaultTools,
40
+ co as Locales,
38
41
  mo as NextPageTool,
39
42
  to as PreviousPageTool,
40
43
  $ as PrintTool,
@@ -45,31 +48,32 @@ export {
45
48
  m as RPLayout,
46
49
  l as RPPages,
47
50
  r as RPProvider,
48
- R as RPTheme,
49
- Co as ScrollMode,
51
+ d as RPTheme,
52
+ ho as ScrollMode,
50
53
  p as SearchTool,
51
54
  G as ThemeSwitcherTool,
52
- Ro as ThemeVariables,
55
+ Do as ThemeVariables,
53
56
  K as ThumbnailTool,
54
- go as ViewMode,
55
- no as ZoomInTool,
56
- co as ZoomLevel,
57
+ To as TopbarDefaultTools,
58
+ Fo as ViewMode,
59
+ ao as ZoomInTool,
60
+ So as ZoomLevel,
57
61
  io as ZoomLevelTool,
58
62
  so as ZoomOutTool,
59
63
  h as useDarkModeContext,
60
- D as useDocumentContext,
61
- M as useDropFileZoneContext,
64
+ F as useDocumentContext,
65
+ v as useDropFileZoneContext,
62
66
  A as useElementPageContext,
63
67
  f as useFileDownload,
64
68
  U as useFullScreenContext,
65
69
  k as useHighlightContext,
66
70
  V as useOpenFileContext,
67
71
  q as usePageRotateContext,
68
- n as usePaginationContext,
72
+ a as usePaginationContext,
69
73
  H as usePdfProperties,
70
- a as usePrintContext,
74
+ n as usePrintContext,
71
75
  Z as useRotationContext,
72
76
  s as useSearchContext,
73
- L as useViewModeContext,
77
+ b as useViewModeContext,
74
78
  I as useZoomContext
75
79
  };
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const ThumbnailTool: FC;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { LeftSidebarDefaultToolProps } from '../../../../../utils/types';
3
+ export declare const LeftSidebarDefaultTools: FC<LeftSidebarDefaultToolProps>;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { TopbarDefaultToolProps } from '../../../../../utils/types';
3
+ export declare const TopbarDefaultTools: FC<TopbarDefaultToolProps>;
@@ -0,0 +1,9 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { RPIcons } from '../utils/types';
3
+ type IconToolContext = RPIcons & {
4
+ setIcons: React.Dispatch<React.SetStateAction<RPIcons>>;
5
+ };
6
+ export declare const IconToolContext: import('react').Context<IconToolContext>;
7
+ export declare const useIconToolContext: () => IconToolContext;
8
+ export declare const IconToolProvider: FC<PropsWithChildren>;
9
+ export {};
@@ -0,0 +1,12 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { RPSlots } from '../utils/types';
3
+ type ToolContext = RPSlots & {
4
+ setSlots: React.Dispatch<React.SetStateAction<RPSlots>>;
5
+ };
6
+ export declare const ToolComponentContext: import('react').Context<ToolContext>;
7
+ export declare const useToolComponentContext: () => ToolContext;
8
+ interface Props extends PropsWithChildren {
9
+ slots?: RPSlots;
10
+ }
11
+ export declare const ToolComponentProvider: FC<Props>;
12
+ export {};
@@ -36,5 +36,7 @@ export { InputPageTool } from './components/layout/toolbar/tools/InputPageTool';
36
36
  export { ZoomInTool } from './components/layout/toolbar/tools/ZoomInTool';
37
37
  export { ZoomOutTool } from './components/layout/toolbar/tools/ZoomOutTool';
38
38
  export { ZoomLevelTool } from './components/layout/toolbar/tools/ZoomLevelTool';
39
- export type { CharacterMap, DarkModeProps, DownloadToolProps, FullScreenToolProps, Localization, MatchValue, OpenFileToolProps, PageNavigationToolProps, PdfPage, PdfProperties, PreparePrintProgress, PrintToolProps, RPConfigProps, RPThemeProps, RPProviderProps, RPDefaultLayoutProps, RPLayoutProps, RPIcons, RPSlots, SearchOptions, SetPageResult, ScrollModeProps, ThumbnailToolProps, ViewModeProps, ZoomProps } from './utils/types';
39
+ export { TopbarDefaultTools } from './components/layout/toolbar/tools/defaults/TopbarDefaultTools';
40
+ export { LeftSidebarDefaultTools } from './components/layout/toolbar/tools/defaults/LeftSidebarDefaultTools';
41
+ export type { CharacterMap, DarkModeProps, DownloadToolProps, FullScreenToolProps, Localization, MatchValue, OpenFileToolProps, PageNavigationToolProps, PdfPage, PdfProperties, PreparePrintProgress, PrintToolProps, RPConfigProps, RPThemeProps, RPProviderProps, RPDefaultLayoutProps, RPLayoutProps, RPIcons, RPSlots, SearchOptions, SetPageResult, ScrollModeProps, ThumbnailToolProps, ViewModeProps, ZoomProps, TopbarDefaultToolProps, TopbarDefaultToolSlots, TopbarDefaultToolIcons, LeftSidebarDefaultToolProps, LeftSidebarDefaultToolSlots, LeftSidebarDefaultToolIcons } from './utils/types';
40
42
  export { ViewMode, ScrollMode, ZoomLevel, Locales, ThemeVariables } from './utils/types';
@@ -322,50 +322,10 @@ export interface ThumbnailToolProps {
322
322
  onClick: () => void;
323
323
  active: boolean;
324
324
  }
325
- export interface RPSlots {
326
- themeSwitcher?: boolean | FC<Omit<DarkModeProps, 'onDarkModeChange'>>;
327
- documentProperties?: boolean;
328
- rotateTool?: boolean;
329
- fullscreenTool?: boolean | FC<FullScreenToolProps>;
330
- openFileTool?: boolean | FC<OpenFileToolProps>;
331
- dropFileZone?: boolean | React.ReactNode | React.ComponentType;
332
- downloadTool?: boolean | FC<DownloadToolProps>;
333
- zoomTool?: boolean | FC<ZoomProps>;
334
- viewModeTool?: boolean;
335
- scrollModeTool?: boolean;
336
- thumbnailTool?: boolean | FC<ThumbnailToolProps>;
337
- pageNavigationTool?: boolean | FC<PageNavigationToolProps>;
338
- printTool?: boolean | FC<PrintToolProps>;
339
- containerWidthSm?: number;
340
- showPrintProgress?: boolean;
341
- selectionModeTool?: boolean;
342
- searchTool?: boolean;
343
- jumpNavigationTool?: boolean;
325
+ export interface RPSlots extends TopbarDefaultToolSlots, LeftSidebarDefaultToolSlots {
344
326
  sidebarEnable?: boolean;
345
327
  }
346
- export interface RPIcons {
347
- goToFirstPageIcon?: React.ReactNode;
348
- goToLastPageIcon?: React.ReactNode;
349
- lightModeIcon?: React.ReactNode;
350
- darkModeIcon?: React.ReactNode;
351
- nextIcon?: React.ReactNode;
352
- prevIcon?: React.ReactNode;
353
- fullScreenIcon?: React.ReactNode;
354
- downloadIcon?: React.ReactNode;
355
- zoomInIcon?: React.ReactNode;
356
- zoomOutIcon?: React.ReactNode;
357
- openFileIcon?: React.ReactNode;
358
- rotateClockwiseIcon?: React.ReactNode;
359
- rotateCounterClockwiseIcon?: React.ReactNode;
360
- pageScrollIcon?: React.ReactNode;
361
- verticalScrollIcon?: React.ReactNode;
362
- horizontalScrollIcon?: React.ReactNode;
363
- documentPropertiesIcon?: React.ReactNode;
364
- printIcon?: React.ReactNode;
365
- thumbnailIcon?: React.ReactNode;
366
- searchIcon?: React.ReactNode;
367
- textSelectionIcon?: React.ReactNode;
368
- handModeIcon?: React.ReactNode;
328
+ export interface RPIcons extends TopbarDefaultToolIcons, LeftSidebarDefaultToolIcons {
369
329
  }
370
330
  export interface PdfProperties {
371
331
  filename: string;
@@ -745,4 +705,62 @@ export interface ToolbarProps {
745
705
  topbar: Partial<ToolbarSection>;
746
706
  leftSidebar: Partial<ToolbarSection>;
747
707
  }
708
+ export interface TopbarDefaultToolSlots {
709
+ themeSwitcher?: boolean | FC<Omit<DarkModeProps, 'onDarkModeChange'>>;
710
+ documentProperties?: boolean;
711
+ rotateTool?: boolean;
712
+ fullscreenTool?: boolean | FC<FullScreenToolProps>;
713
+ openFileTool?: boolean | FC<OpenFileToolProps>;
714
+ dropFileZone?: boolean | React.ReactNode | React.ComponentType;
715
+ downloadTool?: boolean | FC<DownloadToolProps>;
716
+ zoomTool?: boolean | FC<ZoomProps>;
717
+ viewModeTool?: boolean;
718
+ scrollModeTool?: boolean;
719
+ pageNavigationTool?: boolean | FC<PageNavigationToolProps>;
720
+ printTool?: boolean | FC<PrintToolProps>;
721
+ containerWidthSm?: number;
722
+ showPrintProgress?: boolean;
723
+ selectionModeTool?: boolean;
724
+ searchTool?: boolean;
725
+ jumpNavigationTool?: boolean;
726
+ }
727
+ export interface TopbarDefaultToolIcons {
728
+ goToFirstPageIcon?: React.ReactNode;
729
+ goToLastPageIcon?: React.ReactNode;
730
+ lightModeIcon?: React.ReactNode;
731
+ darkModeIcon?: React.ReactNode;
732
+ nextIcon?: React.ReactNode;
733
+ prevIcon?: React.ReactNode;
734
+ fullScreenIcon?: React.ReactNode;
735
+ downloadIcon?: React.ReactNode;
736
+ zoomInIcon?: React.ReactNode;
737
+ zoomOutIcon?: React.ReactNode;
738
+ openFileIcon?: React.ReactNode;
739
+ rotateClockwiseIcon?: React.ReactNode;
740
+ rotateCounterClockwiseIcon?: React.ReactNode;
741
+ singlePageIcon?: React.ReactNode;
742
+ dualPageIcon?: React.ReactNode;
743
+ pageScrollIcon?: React.ReactNode;
744
+ verticalScrollIcon?: React.ReactNode;
745
+ horizontalScrollIcon?: React.ReactNode;
746
+ documentPropertiesIcon?: React.ReactNode;
747
+ printIcon?: React.ReactNode;
748
+ searchIcon?: React.ReactNode;
749
+ textSelectionIcon?: React.ReactNode;
750
+ handModeIcon?: React.ReactNode;
751
+ }
752
+ export interface TopbarDefaultToolProps {
753
+ slots?: TopbarDefaultToolSlots;
754
+ icons?: TopbarDefaultToolIcons;
755
+ }
756
+ export interface LeftSidebarDefaultToolSlots {
757
+ thumbnailTool?: boolean | FC<ThumbnailToolProps>;
758
+ }
759
+ export interface LeftSidebarDefaultToolIcons {
760
+ thumbnailIcon?: React.ReactNode;
761
+ }
762
+ export interface LeftSidebarDefaultToolProps {
763
+ slots?: LeftSidebarDefaultToolSlots;
764
+ icons?: LeftSidebarDefaultToolIcons;
765
+ }
748
766
  export {};
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "../../contexts/RPDocumentContext.js";
4
4
  import "../../contexts/DocumentPasswordContext.js";
5
- import { c as T } from "../../RPLayout-3042ec91.js";
5
+ import { c as Z } from "../../RPLayout-81cd4970.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -30,6 +30,7 @@ import "../../components/RPConfig.js";
30
30
  import "../../contexts/ThemeContext.js";
31
31
  import "../../components/RPDropFileZone.js";
32
32
  import "../../contexts/ToolbarComponentContext.js";
33
+ import "../../contexts/ToolComponentContext.js";
33
34
  import "../../components/ui/Button.js";
34
35
  import "../../SearchCloseButton-ddb9877e.js";
35
36
  import "../../components/ui/Input.js";
@@ -37,11 +38,16 @@ import "../../components/ui/Checkbox.js";
37
38
  import "../../components/icons/LoaderIcon.js";
38
39
  import "../../contexts/IconContext.js";
39
40
  import "../../components/ui/RPTooltip.js";
40
- import "../../Popover-48c8394c.js";
41
+ import "../../Popover-1faa77f6.js";
41
42
  import "../../contexts/ViewportContext.js";
43
+ import "../../contexts/IconToolContext.js";
42
44
  import "../../components/ui/DropDown.js";
43
45
  import "../../components/layout/toolbar/MenuItem.js";
44
46
  import "../../components/layout/toolbar/MenuSeparator.js";
47
+ import "../dateFormatter.js";
48
+ import "../../components/layout/toolbar/PropertyItem.js";
49
+ import "../../contexts/OtherToolContext.js";
50
+ import "../../components/layout/toolbar/RotateTool.js";
45
51
  export {
46
- T as useFileDownload
52
+ Z as useFileDownload
47
53
  };
@@ -1,6 +1,6 @@
1
1
  import { useState as g, useCallback as h, useEffect as A } from "react";
2
2
  import { appConsole as c } from "../appConsole.js";
3
- const b = /* @__PURE__ */ new Date("2025-07-29T03:33:35.655Z"), l = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
3
+ const b = /* @__PURE__ */ new Date("2025-08-04T03:09:32.567Z"), l = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
4
4
  invalidLicense: `You are currently using without a valid license. ${l}`,
5
5
  mismatchedDomain: `Your license key is not valid for the current domain / IP. ${l}`,
6
6
  expired: `Your license key has expired. ${l}`,
@@ -1,6 +1,6 @@
1
1
  import "react";
2
2
  import "../types.js";
3
- import { l as V } from "../../RPLayout-3042ec91.js";
3
+ import { o as $ } from "../../RPLayout-81cd4970.js";
4
4
  import "react/jsx-runtime";
5
5
  import "../../contexts/RPDocumentContext.js";
6
6
  import "../../contexts/DocumentPasswordContext.js";
@@ -31,6 +31,7 @@ import "../../components/RPConfig.js";
31
31
  import "../../contexts/ThemeContext.js";
32
32
  import "../../components/RPDropFileZone.js";
33
33
  import "../../contexts/ToolbarComponentContext.js";
34
+ import "../../contexts/ToolComponentContext.js";
34
35
  import "../../components/ui/Button.js";
35
36
  import "../../SearchCloseButton-ddb9877e.js";
36
37
  import "../../components/ui/Input.js";
@@ -38,12 +39,17 @@ import "../../components/ui/Checkbox.js";
38
39
  import "../../components/icons/LoaderIcon.js";
39
40
  import "../../contexts/IconContext.js";
40
41
  import "../../components/ui/RPTooltip.js";
41
- import "../../Popover-48c8394c.js";
42
+ import "../../Popover-1faa77f6.js";
42
43
  import "../../contexts/ViewportContext.js";
44
+ import "../../contexts/IconToolContext.js";
43
45
  import "../../components/ui/DropDown.js";
44
46
  import "../../components/layout/toolbar/MenuItem.js";
45
47
  import "../../components/layout/toolbar/MenuSeparator.js";
48
+ import "../dateFormatter.js";
49
+ import "../../components/layout/toolbar/PropertyItem.js";
50
+ import "../../contexts/OtherToolContext.js";
51
+ import "../../components/layout/toolbar/RotateTool.js";
46
52
  import "./useDebounce.js";
47
53
  export {
48
- V as usePaginate
54
+ $ as usePaginate
49
55
  };
@@ -5,7 +5,7 @@ import "../calculatePage.js";
5
5
  import "react/jsx-runtime";
6
6
  import "../../contexts/RPDocumentContext.js";
7
7
  import "../../contexts/DocumentPasswordContext.js";
8
- import { z as V } from "../../RPLayout-3042ec91.js";
8
+ import { F as $ } from "../../RPLayout-81cd4970.js";
9
9
  import "../../contexts/DarkModeContext.js";
10
10
  import "../../contexts/RotationContext.js";
11
11
  import "../../contexts/LayerContext.js";
@@ -31,6 +31,7 @@ import "../../components/RPConfig.js";
31
31
  import "../../contexts/ThemeContext.js";
32
32
  import "../../components/RPDropFileZone.js";
33
33
  import "../../contexts/ToolbarComponentContext.js";
34
+ import "../../contexts/ToolComponentContext.js";
34
35
  import "../../components/ui/Button.js";
35
36
  import "../../SearchCloseButton-ddb9877e.js";
36
37
  import "../../components/ui/Input.js";
@@ -38,12 +39,17 @@ import "../../components/ui/Checkbox.js";
38
39
  import "../../components/icons/LoaderIcon.js";
39
40
  import "../../contexts/IconContext.js";
40
41
  import "../../components/ui/RPTooltip.js";
41
- import "../../Popover-48c8394c.js";
42
+ import "../../Popover-1faa77f6.js";
42
43
  import "../../contexts/ViewportContext.js";
44
+ import "../../contexts/IconToolContext.js";
43
45
  import "../../components/ui/DropDown.js";
44
46
  import "../../components/layout/toolbar/MenuItem.js";
45
47
  import "../../components/layout/toolbar/MenuSeparator.js";
48
+ import "../dateFormatter.js";
49
+ import "../../components/layout/toolbar/PropertyItem.js";
50
+ import "../../contexts/OtherToolContext.js";
51
+ import "../../components/layout/toolbar/RotateTool.js";
46
52
  import "./useDebounce.js";
47
53
  export {
48
- V as usePresentPage
54
+ $ as usePresentPage
49
55
  };
@@ -2,7 +2,7 @@ import "react";
2
2
  import "react/jsx-runtime";
3
3
  import "../../contexts/RPDocumentContext.js";
4
4
  import "../../contexts/DocumentPasswordContext.js";
5
- import { n as U } from "../../RPLayout-3042ec91.js";
5
+ import { q as _ } from "../../RPLayout-81cd4970.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -30,6 +30,7 @@ import "../../components/RPConfig.js";
30
30
  import "../../contexts/ThemeContext.js";
31
31
  import "../../components/RPDropFileZone.js";
32
32
  import "../../contexts/ToolbarComponentContext.js";
33
+ import "../../contexts/ToolComponentContext.js";
33
34
  import "../../components/ui/Button.js";
34
35
  import "../../SearchCloseButton-ddb9877e.js";
35
36
  import "../../components/ui/Input.js";
@@ -37,12 +38,17 @@ import "../../components/ui/Checkbox.js";
37
38
  import "../../components/icons/LoaderIcon.js";
38
39
  import "../../contexts/IconContext.js";
39
40
  import "../../components/ui/RPTooltip.js";
40
- import "../../Popover-48c8394c.js";
41
+ import "../../Popover-1faa77f6.js";
41
42
  import "../../contexts/ViewportContext.js";
43
+ import "../../contexts/IconToolContext.js";
42
44
  import "../../components/ui/DropDown.js";
43
45
  import "../../components/layout/toolbar/MenuItem.js";
44
46
  import "../../components/layout/toolbar/MenuSeparator.js";
47
+ import "../dateFormatter.js";
48
+ import "../../components/layout/toolbar/PropertyItem.js";
49
+ import "../../contexts/OtherToolContext.js";
50
+ import "../../components/layout/toolbar/RotateTool.js";
45
51
  import "pdfjs-dist";
46
52
  export {
47
- U as usePrint
53
+ _ as usePrint
48
54
  };
@@ -3,7 +3,7 @@ import "../../contexts/ScrollModeContext.js";
3
3
  import "react/jsx-runtime";
4
4
  import "../../contexts/RPDocumentContext.js";
5
5
  import "../../contexts/DocumentPasswordContext.js";
6
- import { k as W } from "../../RPLayout-3042ec91.js";
6
+ import { n as oo } from "../../RPLayout-81cd4970.js";
7
7
  import "../../contexts/DarkModeContext.js";
8
8
  import "../types.js";
9
9
  import "../../contexts/RotationContext.js";
@@ -31,6 +31,7 @@ import "../../components/RPConfig.js";
31
31
  import "../../contexts/ThemeContext.js";
32
32
  import "../../components/RPDropFileZone.js";
33
33
  import "../../contexts/ToolbarComponentContext.js";
34
+ import "../../contexts/ToolComponentContext.js";
34
35
  import "../../components/ui/Button.js";
35
36
  import "../../SearchCloseButton-ddb9877e.js";
36
37
  import "../../components/ui/Input.js";
@@ -38,13 +39,18 @@ import "../../components/ui/Checkbox.js";
38
39
  import "../../components/icons/LoaderIcon.js";
39
40
  import "../../contexts/IconContext.js";
40
41
  import "../../components/ui/RPTooltip.js";
41
- import "../../Popover-48c8394c.js";
42
+ import "../../Popover-1faa77f6.js";
42
43
  import "../../contexts/ViewportContext.js";
44
+ import "../../contexts/IconToolContext.js";
43
45
  import "../../components/ui/DropDown.js";
44
46
  import "../../components/layout/toolbar/MenuItem.js";
45
47
  import "../../components/layout/toolbar/MenuSeparator.js";
48
+ import "../dateFormatter.js";
49
+ import "../../components/layout/toolbar/PropertyItem.js";
50
+ import "../../contexts/OtherToolContext.js";
51
+ import "../../components/layout/toolbar/RotateTool.js";
46
52
  import "../smoothScrollTo.js";
47
53
  import "../getScrollDistance.js";
48
54
  export {
49
- W as useScrollToPage
55
+ oo as useScrollToPage
50
56
  };
@@ -7,7 +7,7 @@ import "../../contexts/RPDocumentContext.js";
7
7
  import "../../contexts/ZoomContext.js";
8
8
  import "react/jsx-runtime";
9
9
  import "../../contexts/DocumentPasswordContext.js";
10
- import { r as X } from "../../RPLayout-3042ec91.js";
10
+ import { v as or } from "../../RPLayout-81cd4970.js";
11
11
  import "../../contexts/DarkModeContext.js";
12
12
  import "../../contexts/RotationContext.js";
13
13
  import "../../contexts/LayerContext.js";
@@ -32,6 +32,7 @@ import "../../components/RPConfig.js";
32
32
  import "../../contexts/ThemeContext.js";
33
33
  import "../../components/RPDropFileZone.js";
34
34
  import "../../contexts/ToolbarComponentContext.js";
35
+ import "../../contexts/ToolComponentContext.js";
35
36
  import "../../components/ui/Button.js";
36
37
  import "../../SearchCloseButton-ddb9877e.js";
37
38
  import "../../components/ui/Input.js";
@@ -39,13 +40,18 @@ import "../../components/ui/Checkbox.js";
39
40
  import "../../components/icons/LoaderIcon.js";
40
41
  import "../../contexts/IconContext.js";
41
42
  import "../../components/ui/RPTooltip.js";
42
- import "../../Popover-48c8394c.js";
43
+ import "../../Popover-1faa77f6.js";
43
44
  import "../../contexts/ViewportContext.js";
45
+ import "../../contexts/IconToolContext.js";
44
46
  import "../../components/ui/DropDown.js";
45
47
  import "../../components/layout/toolbar/MenuItem.js";
46
48
  import "../../components/layout/toolbar/MenuSeparator.js";
49
+ import "../dateFormatter.js";
50
+ import "../../components/layout/toolbar/PropertyItem.js";
51
+ import "../../contexts/OtherToolContext.js";
52
+ import "../../components/layout/toolbar/RotateTool.js";
47
53
  import "../getScrollDistance.js";
48
54
  import "../getWordPositionInPage.js";
49
55
  export {
50
- X as useSearch
56
+ or as useSearch
51
57
  };