@pdf-viewer/react 1.9.0-beta.5 → 1.9.0-beta.6

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 (81) hide show
  1. package/dist/{Combination-da8647d4.js → Combination-9a0a3e65.js} +14 -14
  2. package/dist/ToolbarLayout.module-88476995.js +2464 -0
  3. package/dist/assets/ToolbarLayout.css +1 -1
  4. package/dist/components/RPController.js +35 -35
  5. package/dist/components/RPPages.js +1 -1
  6. package/dist/components/RPProvider.js +1 -1
  7. package/dist/components/layout/LayoutContainer.js +1 -1
  8. package/dist/components/layout/RPDefaultLayout.js +1 -1
  9. package/dist/components/layout/RPLayout.js +1 -1
  10. package/dist/components/layout/sidebar/RPSidebar.js +11 -11
  11. package/dist/components/layout/sidebar/Thumbnail.js +49 -2
  12. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  13. package/dist/components/layout/toolbar/DocumentDialog.js +11 -11
  14. package/dist/components/layout/toolbar/FileDownloadTool.js +1 -1
  15. package/dist/components/layout/toolbar/MenuItem.js +1 -1
  16. package/dist/components/layout/toolbar/MenuSeparator.js +1 -1
  17. package/dist/components/layout/toolbar/MostPageTool.js +2 -2
  18. package/dist/components/layout/toolbar/OtherTool.js +2 -2
  19. package/dist/components/layout/toolbar/Paginate.js +6 -6
  20. package/dist/components/layout/toolbar/PrintTool.js +1 -1
  21. package/dist/components/layout/toolbar/RPToolbar.js +3 -3
  22. package/dist/components/layout/toolbar/RotateTool.js +1 -1
  23. package/dist/components/layout/toolbar/ScrollModeTool.js +1 -1
  24. package/dist/components/layout/toolbar/SearchResultNavigator.js +1 -1
  25. package/dist/components/layout/toolbar/SearchTool.js +1 -1
  26. package/dist/components/layout/toolbar/SelectionModeTool.js +1 -1
  27. package/dist/components/layout/toolbar/ThumbnailTool.js +6 -6
  28. package/dist/components/layout/toolbar/ToolbarCustom.js +3 -3
  29. package/dist/components/layout/toolbar/ToolbarDefault.js +7 -7
  30. package/dist/components/layout/toolbar/ViewModeTool.js +1 -1
  31. package/dist/components/layout/toolbar/ZoomTool.js +8 -8
  32. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +1 -1
  33. package/dist/components/layout/toolbar/tools/InputPageTool.js +5 -5
  34. package/dist/components/layout/toolbar/tools/NextPageTool.js +1 -1
  35. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +1 -1
  36. package/dist/components/layout/toolbar/tools/PrintTool.js +1 -1
  37. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +1 -1
  38. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +7 -7
  39. package/dist/components/layout/toolbar/tools/defaults/RPHorizontalBar.js +1 -1
  40. package/dist/components/page/AnnotationLayer.js +1 -1
  41. package/dist/components/page/CanvasLayer.js +2 -3
  42. package/dist/components/page/DualPage.js +1 -1
  43. package/dist/components/page/RPPage.js +1 -1
  44. package/dist/components/page/SinglePage.js +1 -1
  45. package/dist/components/page/TextHighlightLayer.js +1 -1
  46. package/dist/components/page/TextLayer.js +1 -1
  47. package/dist/components/ui/Checkbox.js +1 -1
  48. package/dist/components/ui/DropDown.js +1 -1
  49. package/dist/components/ui/LoadingIndicator.js +6 -6
  50. package/dist/components/ui/RPTooltip.js +197 -410
  51. package/dist/contexts/ElementPageContext.js +37 -37
  52. package/dist/contexts/FileInputContext.js +18 -20
  53. package/dist/contexts/PaginationContext.js +1 -1
  54. package/dist/contexts/PrintContext.js +2 -2
  55. package/dist/contexts/RenderQueueProvider.js +10 -0
  56. package/dist/contexts/SearchContext.js +1 -1
  57. package/dist/contexts/ThumbnailsContext.js +1 -1
  58. package/dist/{index-8547fbc6.js → index-2160dd99.js} +5 -5
  59. package/dist/index-492f99d0.js +1657 -0
  60. package/dist/index-49b9a615.js +978 -0
  61. package/dist/main.js +1 -1
  62. package/dist/types/components/layout/sidebar/Thumbnail.d.ts +0 -1
  63. package/dist/types/contexts/RenderQueueProvider.d.ts +16 -0
  64. package/dist/types/utils/Queue.d.ts +18 -0
  65. package/dist/types/utils/renderPage.d.ts +1 -6
  66. package/dist/types/utils/types.d.ts +5 -0
  67. package/dist/utils/Queue.js +47 -0
  68. package/dist/utils/hooks/useFileDownload.js +1 -1
  69. package/dist/utils/hooks/useLicense.js +1 -1
  70. package/dist/utils/hooks/usePageRotateContext.js +14 -14
  71. package/dist/utils/hooks/usePaginate.js +2 -2
  72. package/dist/utils/hooks/usePresentPage.js +1 -1
  73. package/dist/utils/hooks/usePrint.js +1 -1
  74. package/dist/utils/hooks/useScrollToPage.js +1 -1
  75. package/dist/utils/hooks/useSearch.js +1 -1
  76. package/dist/utils/hooks/useThumbnail.js +2 -3
  77. package/dist/utils/hooks/useVirtualReactWindow.js +1 -1
  78. package/package.json +1 -1
  79. package/dist/ToolbarLayout.module-60c3d6e8.js +0 -2434
  80. package/dist/floating-ui.react-dom-f3f380e0.js +0 -1447
  81. package/dist/index-473557b1.js +0 -1191
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RPProvider as r } from "./components/RPProvider.js";
2
- import { R as x, a as m, u as p, b as l, c as f } from "./ToolbarLayout.module-60c3d6e8.js";
2
+ import { R as x, a as m, u as p, b as l, c as f } from "./ToolbarLayout.module-88476995.js";
3
3
  import { RPConfig as a } from "./components/RPConfig.js";
4
4
  import { RPDefaultLayout as s } from "./components/layout/RPDefaultLayout.js";
5
5
  import { RPLayout as P } from "./components/layout/RPLayout.js";
@@ -1,7 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { PageViewport } from 'pdfjs-dist/types/web/interfaces';
3
3
  interface Props {
4
- thumbnailSrc?: string;
5
4
  pageNumber: number;
6
5
  loading: boolean;
7
6
  isFocused: boolean;
@@ -0,0 +1,16 @@
1
+ import { Queue } from '../utils/Queue';
2
+ import { FC } from 'react';
3
+ import { PDFPageProxy } from 'pdfjs-dist';
4
+ import { renderOptions } from '../utils/types';
5
+ interface RenderData {
6
+ page: PDFPageProxy;
7
+ canvasElem: HTMLCanvasElement;
8
+ options?: renderOptions;
9
+ onLoaded?: () => void;
10
+ }
11
+ export declare const RenderQueueContext: import('react').Context<Queue<RenderData> | null>;
12
+ export declare const RenderQueueProvider: FC<{
13
+ children: React.ReactNode;
14
+ }>;
15
+ export declare const useRenderQueue: () => Queue<RenderData>;
16
+ export {};
@@ -0,0 +1,18 @@
1
+ export interface QueueItem<T> {
2
+ id: string;
3
+ priority: number;
4
+ data: T;
5
+ }
6
+ export declare class Queue<T> {
7
+ private _items;
8
+ private _triggerEnqueue;
9
+ constructor(triggerEnqueue: (data: T) => void);
10
+ enqueue(id: string, data: T, priority?: number): void;
11
+ dequeue(): QueueItem<T> | undefined;
12
+ removeQueue(id: string): boolean;
13
+ changePagePriority(id: string | RegExp, newPriority: number): boolean;
14
+ peekAll(): QueueItem<T>[];
15
+ isEmpty(): boolean;
16
+ size(): number;
17
+ clear(): void;
18
+ }
@@ -1,8 +1,3 @@
1
1
  import { PDFPageProxy } from 'pdfjs-dist/types/web/interfaces';
2
- interface renderOptions {
3
- scale?: number;
4
- rotate?: number;
5
- renderForms?: boolean;
6
- }
2
+ import { renderOptions } from './types';
7
3
  export declare const renderPage: (page: PDFPageProxy, canvasElem: HTMLCanvasElement, options?: renderOptions) => import('pdfjs-dist/types/src/display/api').RenderTask;
8
- export {};
@@ -220,6 +220,11 @@ export interface DarkModeProps {
220
220
  export interface DarkMode extends DarkModeProps {
221
221
  onDarkModeChange: (value: boolean) => void;
222
222
  }
223
+ export interface renderOptions {
224
+ scale?: number;
225
+ rotate?: number;
226
+ renderForms?: boolean;
227
+ }
223
228
  export interface License {
224
229
  validating?: boolean;
225
230
  isValid: boolean;
@@ -0,0 +1,47 @@
1
+ var m = Object.defineProperty;
2
+ var _ = (s, e, t) => e in s ? m(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
+ var n = (s, e, t) => (_(s, typeof e != "symbol" ? e + "" : e, t), t);
4
+ class d {
5
+ constructor(e) {
6
+ n(this, "_items", []);
7
+ n(this, "_triggerEnqueue");
8
+ this._triggerEnqueue = e;
9
+ }
10
+ // Add item to queue with priority (lower number = higher priority)
11
+ enqueue(e, t, i = 0) {
12
+ const r = { id: e, data: t, priority: i }, u = this._items.findIndex((h) => h.priority > i);
13
+ u === -1 ? this._items.push(r) : this._items.splice(u, 0, r), this._triggerEnqueue(t);
14
+ }
15
+ // Remove and return highest priority item
16
+ dequeue() {
17
+ return this._items.shift();
18
+ }
19
+ // Remove item by id
20
+ removeQueue(e) {
21
+ const t = this._items.findIndex((i) => i.id === e);
22
+ return t !== -1 ? (this._items.splice(t, 1), !0) : !1;
23
+ }
24
+ // Change priority of item by id
25
+ changePagePriority(e, t) {
26
+ const i = this._items.find((r) => new RegExp(e).test(r.id));
27
+ return i ? (this.removeQueue(i.id), this.enqueue(i.id, i.data, t), !0) : !1;
28
+ }
29
+ peekAll() {
30
+ return this._items;
31
+ }
32
+ // Check if queue is empty
33
+ isEmpty() {
34
+ return this._items.length === 0;
35
+ }
36
+ // Get current size of queue
37
+ size() {
38
+ return this._items.length;
39
+ }
40
+ // Clear all items
41
+ clear() {
42
+ this._items = [];
43
+ }
44
+ }
45
+ export {
46
+ d as Queue
47
+ };
@@ -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 { a as $ } from "../../ToolbarLayout.module-60c3d6e8.js";
5
+ import { a as $ } from "../../ToolbarLayout.module-88476995.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -1,6 +1,6 @@
1
1
  import { useState as E, useCallback as h, useEffect as A } from "react";
2
2
  import { appConsole as l } from "../appConsole.js";
3
- const b = /* @__PURE__ */ new Date("2025-09-18T03:22:11.054Z"), d = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", s = {
3
+ const b = /* @__PURE__ */ new Date("2025-09-18T07:16:50.255Z"), d = "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. ${d}`,
5
5
  mismatchedDomain: `Your license key is not valid for the current domain / IP. ${d}`,
6
6
  expired: `Your license key has expired. ${d}`,
@@ -1,20 +1,20 @@
1
- import { useMemo as c, useCallback as f } from "react";
2
- import { usePagesRotateContext as m } from "../../contexts/PagesRotateContext.js";
3
- import { useLicenseContext as p } from "../../contexts/LicenseContext.js";
4
- import { LicenseType as u } from "../types.js";
1
+ import { useMemo as c, useCallback as u } from "react";
2
+ import { usePagesRotateContext as f } from "../../contexts/PagesRotateContext.js";
3
+ import { useLicenseContext as m } from "../../contexts/LicenseContext.js";
4
+ import { LicenseType as p } from "../types.js";
5
5
  import { ORGANIZATION_ALLOWED_FEATURES_MESSAGE as R } from "../const.js";
6
- const d = () => {
7
- const { setSinglePageRotate: r } = m(), { type: e, validating: s } = p(), a = c(() => e ? [u.Organization, u.FreeTrial].includes(e) : !1, [e]), i = f(
8
- (l, t) => {
9
- r((o) => {
10
- const n = typeof t == "function" ? t(o[l] || 0) : t;
11
- return n % 90 !== 0 ? (console.warn("rotationDegree must be a multiple of 90 got", n), o) : {
12
- ...o,
13
- [l]: n
6
+ const y = () => {
7
+ const { setSinglePageRotate: n } = f(), { type: r, validating: s } = m(), a = c(() => r !== p.Developer, [r]), i = u(
8
+ (l, e) => {
9
+ n((t) => {
10
+ const o = typeof e == "function" ? e(t[l] || 0) : e;
11
+ return o % 90 !== 0 ? (console.warn("rotationDegree must be a multiple of 90 got", o), t) : {
12
+ ...t,
13
+ [l]: o
14
14
  };
15
15
  });
16
16
  },
17
- [r]
17
+ [n]
18
18
  );
19
19
  return { rotate: c(() => s !== !1 ? () => {
20
20
  } : a ? i : () => {
@@ -22,5 +22,5 @@ const d = () => {
22
22
  }, [s, a, i]) };
23
23
  };
24
24
  export {
25
- d as usePageRotateContext
25
+ y as usePageRotateContext
26
26
  };
@@ -1,6 +1,6 @@
1
1
  import "react";
2
2
  import "../types.js";
3
- import { r as or } from "../../ToolbarLayout.module-60c3d6e8.js";
3
+ import { s as ro } from "../../ToolbarLayout.module-88476995.js";
4
4
  import "react/jsx-runtime";
5
5
  import "../../contexts/RPDocumentContext.js";
6
6
  import "../../contexts/DocumentPasswordContext.js";
@@ -53,5 +53,5 @@ import "../../RPTheme.module-bd9038da.js";
53
53
  import "../../contexts/ThemeContext.js";
54
54
  import "./useDebounce.js";
55
55
  export {
56
- or as usePaginate
56
+ ro as usePaginate
57
57
  };
@@ -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 { I as or } from "../../ToolbarLayout.module-60c3d6e8.js";
8
+ import { M as or } from "../../ToolbarLayout.module-88476995.js";
9
9
  import "../../contexts/DarkModeContext.js";
10
10
  import "../../contexts/RotationContext.js";
11
11
  import "../../contexts/LayerContext.js";
@@ -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 { t as rr } from "../../ToolbarLayout.module-60c3d6e8.js";
5
+ import { v as rr } from "../../ToolbarLayout.module-88476995.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -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 { q as mo } from "../../ToolbarLayout.module-60c3d6e8.js";
6
+ import { r as mo } from "../../ToolbarLayout.module-88476995.js";
7
7
  import "../../contexts/DarkModeContext.js";
8
8
  import "../types.js";
9
9
  import "../../contexts/RotationContext.js";
@@ -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 { y as pr } from "../../ToolbarLayout.module-60c3d6e8.js";
10
+ import { z as pr } from "../../ToolbarLayout.module-88476995.js";
11
11
  import "../../contexts/DarkModeContext.js";
12
12
  import "../../contexts/RotationContext.js";
13
13
  import "../../contexts/LayerContext.js";
@@ -1,9 +1,8 @@
1
1
  import "react";
2
- import "../renderPage.js";
3
2
  import "react/jsx-runtime";
4
3
  import "../../contexts/RPDocumentContext.js";
5
4
  import "../../contexts/DocumentPasswordContext.js";
6
- import { w as om } from "../../ToolbarLayout.module-60c3d6e8.js";
5
+ import { x as mm } from "../../ToolbarLayout.module-88476995.js";
7
6
  import "../../contexts/DarkModeContext.js";
8
7
  import "../../contexts/RotationContext.js";
9
8
  import "../../contexts/LayerContext.js";
@@ -53,5 +52,5 @@ import "../../RPTheme.module-bd9038da.js";
53
52
  import "../../contexts/ThemeContext.js";
54
53
  import "../getThumbnailViewport.js";
55
54
  export {
56
- om as useThumbnail
55
+ mm as useThumbnail
57
56
  };
@@ -4,7 +4,7 @@ import "../../contexts/ScrollModeContext.js";
4
4
  import "react/jsx-runtime";
5
5
  import "../../contexts/RPDocumentContext.js";
6
6
  import "../../contexts/DocumentPasswordContext.js";
7
- import { F as oo } from "../../ToolbarLayout.module-60c3d6e8.js";
7
+ import { I as oo } from "../../ToolbarLayout.module-88476995.js";
8
8
  import "../../contexts/DarkModeContext.js";
9
9
  import "../../contexts/RotationContext.js";
10
10
  import "../../contexts/LayerContext.js";
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pdf-viewer/react",
3
3
  "private": false,
4
4
  "description": "A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.",
5
- "version": "1.9.0-beta.5",
5
+ "version": "1.9.0-beta.6",
6
6
  "keywords": [
7
7
  "react-pdf",
8
8
  "react-pdf-viewer",