@pdf-viewer/react 1.4.1 → 1.5.0-beta.1

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 (63) hide show
  1. package/dist/Container-82a82a01.js +39 -0
  2. package/dist/RPDefaultLayout-13f82fd9.js +2914 -0
  3. package/dist/assets/Checkbox.css +1 -1
  4. package/dist/assets/Container.css +1 -1
  5. package/dist/assets/Input.css +1 -1
  6. package/dist/assets/RPDefaultLayout.css +1 -1
  7. package/dist/components/RPController.js +43 -34
  8. package/dist/components/RPPages.js +5 -3
  9. package/dist/components/RPProvider.js +12 -11
  10. package/dist/components/layout/Container.js +6 -18
  11. package/dist/components/layout/RPDefaultLayout.js +4 -3
  12. package/dist/components/layout/sidebar/RPSidebar.js +1 -1
  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/DocumentDialog.js +5 -2
  16. package/dist/components/layout/toolbar/FileDownloadTool.js +1 -1
  17. package/dist/components/layout/toolbar/MostPageTool.js +5 -2
  18. package/dist/components/layout/toolbar/OtherTool.js +1 -1
  19. package/dist/components/layout/toolbar/Paginate.js +1 -1
  20. package/dist/components/layout/toolbar/PrintTool.js +1 -1
  21. package/dist/components/layout/toolbar/RPToolbar.js +1 -1
  22. package/dist/components/layout/toolbar/RPToolbarEnd.js +1 -1
  23. package/dist/components/layout/toolbar/SearchTool.js +5 -2
  24. package/dist/components/layout/toolbar/ZoomTool.js +5 -2
  25. package/dist/components/page/AnnotationLayer.js +5 -2
  26. package/dist/components/page/CanvasLayer.js +5 -2
  27. package/dist/components/page/DualPage.js +1 -1
  28. package/dist/components/page/RPPage.js +5 -2
  29. package/dist/components/page/SinglePage.js +1 -1
  30. package/dist/components/page/TextHighlightLayer.js +5 -2
  31. package/dist/components/page/TextLayer.js +5 -2
  32. package/dist/components/ui/Checkbox.js +19 -19
  33. package/dist/components/ui/Input.js +12 -12
  34. package/dist/components/ui/LoadingIndicator.js +1 -1
  35. package/dist/contexts/DownloadContext.js +21 -0
  36. package/dist/contexts/PaginationContext.js +1 -1
  37. package/dist/contexts/PrintContext.js +1 -1
  38. package/dist/contexts/SearchContext.js +1 -1
  39. package/dist/contexts/SmoothScrollContext.js +13 -0
  40. package/dist/contexts/ThumbnailsContext.js +1 -1
  41. package/dist/contexts/ViewportContext.js +50 -44
  42. package/dist/main.js +1 -1
  43. package/dist/types/components/layout/Container.d.ts +1 -0
  44. package/dist/types/contexts/DownloadContext.d.ts +11 -0
  45. package/dist/types/contexts/SmoothScrollContext.d.ts +10 -0
  46. package/dist/types/contexts/ViewportContext.d.ts +2 -2
  47. package/dist/types/utils/hooks/useWatermark.d.ts +1 -1
  48. package/dist/types/utils/types.d.ts +4 -3
  49. package/dist/utils/hooks/useFileDownload.js +5 -2
  50. package/dist/utils/hooks/useLicense.js +1 -1
  51. package/dist/utils/hooks/usePaginate.js +5 -2
  52. package/dist/utils/hooks/usePrint.js +5 -2
  53. package/dist/utils/hooks/useScrollToPage.js +5 -2
  54. package/dist/utils/hooks/useSearch.js +5 -2
  55. package/dist/utils/hooks/useThumbnail.js +5 -2
  56. package/dist/utils/hooks/useVirtualReactWindow.js +5 -2
  57. package/dist/utils/hooks/useWatermark.js +59 -28
  58. package/dist/utils/smoothScrollTo.js +3 -15
  59. package/dist/utils/types.js +1 -1
  60. package/package.json +4 -4
  61. package/dist/RPDefaultLayout-e27ef121.js +0 -2937
  62. package/dist/components/layout/LayoutContainer.js +0 -31
  63. package/dist/types/components/layout/LayoutContainer.d.ts +0 -9
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { r as B } from "../../RPDefaultLayout-e27ef121.js";
3
+ import { r as E } from "../../RPDefaultLayout-13f82fd9.js";
4
4
  import "../../contexts/RPDocumentContext.js";
5
5
  import "../../contexts/DarkModeContext.js";
6
6
  import "../../contexts/RotationContext.js";
@@ -20,12 +20,15 @@ import "../../contexts/LayoutContainerContext.js";
20
20
  import "../../contexts/DimensionPagesContext.js";
21
21
  import "../../contexts/LocalizationContext.js";
22
22
  import "../../contexts/HighlightContext.js";
23
+ import "../../contexts/DownloadContext.js";
24
+ import "../../contexts/SmoothScrollContext.js";
23
25
  import "../../contexts/LoaderContext.js";
26
+ import "../../contexts/LicenseContext.js";
24
27
  import "../RPConfig.js";
25
28
  import "../../contexts/ThemeContext.js";
26
29
  import "../RPDropFileZone.js";
27
30
  import "../../contexts/ToolbarComponentContext.js";
28
31
  import "../icons/LoaderIcon.js";
29
32
  export {
30
- B as RPPage
33
+ E as RPPage
31
34
  };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { t as p } from "../../RPDefaultLayout-e27ef121.js";
3
+ import { t as p } from "../../RPDefaultLayout-13f82fd9.js";
4
4
  import "../../contexts/ScrollStateContext.js";
5
5
  export {
6
6
  p as SinglePage
@@ -2,7 +2,7 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "pdfjs-dist";
4
4
  import "../../contexts/RPDocumentContext.js";
5
- import { q as B } from "../../RPDefaultLayout-e27ef121.js";
5
+ import { q as E } from "../../RPDefaultLayout-13f82fd9.js";
6
6
  import "../../contexts/DarkModeContext.js";
7
7
  import "../../contexts/RotationContext.js";
8
8
  import "../../contexts/LayerContext.js";
@@ -21,12 +21,15 @@ import "../../contexts/LayoutContainerContext.js";
21
21
  import "../../contexts/DimensionPagesContext.js";
22
22
  import "../../contexts/LocalizationContext.js";
23
23
  import "../../contexts/HighlightContext.js";
24
+ import "../../contexts/DownloadContext.js";
25
+ import "../../contexts/SmoothScrollContext.js";
24
26
  import "../../contexts/LoaderContext.js";
27
+ import "../../contexts/LicenseContext.js";
25
28
  import "../RPConfig.js";
26
29
  import "../../contexts/ThemeContext.js";
27
30
  import "../RPDropFileZone.js";
28
31
  import "../../contexts/ToolbarComponentContext.js";
29
32
  import "../../utils/highlight.js";
30
33
  export {
31
- B as TextHighlightLayer
34
+ E as TextHighlightLayer
32
35
  };
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "../../contexts/RPDocumentContext.js";
4
- import { p as C } from "../../RPDefaultLayout-e27ef121.js";
4
+ import { p as F } from "../../RPDefaultLayout-13f82fd9.js";
5
5
  import "../../contexts/DarkModeContext.js";
6
6
  import "../../contexts/RotationContext.js";
7
7
  import "../../contexts/LayerContext.js";
@@ -20,7 +20,10 @@ import "../../contexts/LayoutContainerContext.js";
20
20
  import "../../contexts/DimensionPagesContext.js";
21
21
  import "../../contexts/LocalizationContext.js";
22
22
  import "../../contexts/HighlightContext.js";
23
+ import "../../contexts/DownloadContext.js";
24
+ import "../../contexts/SmoothScrollContext.js";
23
25
  import "../../contexts/LoaderContext.js";
26
+ import "../../contexts/LicenseContext.js";
24
27
  import "../RPConfig.js";
25
28
  import "../../contexts/ThemeContext.js";
26
29
  import "../RPDropFileZone.js";
@@ -28,5 +31,5 @@ import "../../contexts/ToolbarComponentContext.js";
28
31
  import "pdfjs-dist";
29
32
  import "../../utils/highlight.js";
30
33
  export {
31
- C as TextLayer
34
+ F as TextLayer
32
35
  };
@@ -1,12 +1,12 @@
1
1
  import { jsxs as g, jsx as s } from "react/jsx-runtime";
2
2
  import * as c from "react";
3
- import { c as j, u as A, a as B, P as S, b as _, d as H, e as K } from "../../index-48ca3f30.js";
4
- import { CheckIcon as L } from "../icons/CheckIcon.js";
5
- import '../../assets/Checkbox.css';function q(e) {
3
+ import { c as O, u as j, a as A, P as S, b as _, d as B, e as H } from "../../index-48ca3f30.js";
4
+ import { CheckIcon as K } from "../icons/CheckIcon.js";
5
+ import '../../assets/Checkbox.css';function L(e) {
6
6
  const r = c.useRef({ value: e, previous: e });
7
7
  return c.useMemo(() => (r.current.value !== e && (r.current.previous = r.current.value, r.current.value = e), r.current.previous), [e]);
8
8
  }
9
- var E = "Checkbox", [z, W] = j(E), [F, T] = z(E), w = c.forwardRef(
9
+ var E = "Checkbox", [z, W] = O(E), [F, T] = z(E), w = c.forwardRef(
10
10
  (e, r) => {
11
11
  const {
12
12
  __scopeCheckbox: t,
@@ -16,18 +16,18 @@ var E = "Checkbox", [z, W] = j(E), [F, T] = z(E), w = c.forwardRef(
16
16
  required: h,
17
17
  disabled: u,
18
18
  value: b = "on",
19
- onCheckedChange: C,
19
+ onCheckedChange: m,
20
20
  form: l,
21
21
  ...x
22
- } = e, [i, m] = c.useState(null), v = A(r, (o) => m(o)), y = c.useRef(!1), I = i ? l || !!i.closest("form") : !0, [p = !1, P] = B({
22
+ } = e, [i, C] = c.useState(null), v = j(r, (o) => C(o)), y = c.useRef(!1), I = i ? l || !!i.closest("form") : !0, [p = !1, P] = A({
23
23
  prop: f,
24
24
  defaultProp: n,
25
- onChange: C
26
- }), O = c.useRef(p);
25
+ onChange: m
26
+ }), q = c.useRef(p);
27
27
  return c.useEffect(() => {
28
28
  const o = i == null ? void 0 : i.form;
29
29
  if (o) {
30
- const k = () => P(O.current);
30
+ const k = () => P(q.current);
31
31
  return o.addEventListener("reset", k), () => o.removeEventListener("reset", k);
32
32
  }
33
33
  }, [i, P]), /* @__PURE__ */ g(F, { scope: t, state: p, disabled: u, children: [
@@ -74,7 +74,7 @@ w.displayName = E;
74
74
  var N = "CheckboxIndicator", D = c.forwardRef(
75
75
  (e, r) => {
76
76
  const { __scopeCheckbox: t, forceMount: a, ...f } = e, n = T(N, t);
77
- return /* @__PURE__ */ s(H, { present: a || d(n.state) || n.state === !0, children: /* @__PURE__ */ s(
77
+ return /* @__PURE__ */ s(B, { present: a || d(n.state) || n.state === !0, children: /* @__PURE__ */ s(
78
78
  S.span,
79
79
  {
80
80
  "data-state": M(n.state),
@@ -88,21 +88,21 @@ var N = "CheckboxIndicator", D = c.forwardRef(
88
88
  );
89
89
  D.displayName = N;
90
90
  var X = (e) => {
91
- const { control: r, checked: t, bubbles: a = !0, defaultChecked: f, ...n } = e, h = c.useRef(null), u = q(t), b = K(r);
91
+ const { control: r, checked: t, bubbles: a = !0, defaultChecked: f, ...n } = e, h = c.useRef(null), u = L(t), b = H(r);
92
92
  c.useEffect(() => {
93
- const l = h.current, x = window.HTMLInputElement.prototype, m = Object.getOwnPropertyDescriptor(x, "checked").set;
94
- if (u !== t && m) {
93
+ const l = h.current, x = window.HTMLInputElement.prototype, C = Object.getOwnPropertyDescriptor(x, "checked").set;
94
+ if (u !== t && C) {
95
95
  const v = new Event("click", { bubbles: a });
96
- l.indeterminate = d(t), m.call(l, d(t) ? !1 : t), l.dispatchEvent(v);
96
+ l.indeterminate = d(t), C.call(l, d(t) ? !1 : t), l.dispatchEvent(v);
97
97
  }
98
98
  }, [u, t, a]);
99
- const C = c.useRef(d(t) ? !1 : t);
99
+ const m = c.useRef(d(t) ? !1 : t);
100
100
  return /* @__PURE__ */ s(
101
101
  "input",
102
102
  {
103
103
  type: "checkbox",
104
104
  "aria-hidden": !0,
105
- defaultChecked: f ?? C.current,
105
+ defaultChecked: f ?? m.current,
106
106
  ...n,
107
107
  tabIndex: -1,
108
108
  ref: h,
@@ -125,15 +125,15 @@ function M(e) {
125
125
  }
126
126
  var U = w, G = D;
127
127
  const R = {
128
- "rp-checkbox": "_rp-checkbox_188mv_1",
129
- "rp-checkbox-indicator": "_rp-checkbox-indicator_188mv_21"
128
+ "rp-checkbox": "_rp-checkbox_1hqx2_1",
129
+ "rp-checkbox-indicator": "_rp-checkbox-indicator_1hqx2_21"
130
130
  }, Y = ({
131
131
  children: e,
132
132
  value: r,
133
133
  name: t,
134
134
  onChange: a
135
135
  }) => /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", position: "relative" }, children: [
136
- /* @__PURE__ */ s(U, { className: R["rp-checkbox"], checked: r, id: t, onCheckedChange: a, children: /* @__PURE__ */ s(G, { className: R["rp-checkbox-indicator"], children: /* @__PURE__ */ s(L, {}) }) }),
136
+ /* @__PURE__ */ s(U, { className: R["rp-checkbox"], checked: r, id: t, onCheckedChange: a, children: /* @__PURE__ */ s(G, { className: R["rp-checkbox-indicator"], children: /* @__PURE__ */ s(K, {}) }) }),
137
137
  /* @__PURE__ */ s("label", { className: R["rp-checkbox-label"], htmlFor: t, children: e })
138
138
  ] });
139
139
  export {
@@ -1,24 +1,24 @@
1
1
  import { jsxs as a, jsx as n } from "react/jsx-runtime";
2
2
  import { c as e } from "../../clsx-0c6e471a.js";
3
3
  import { forwardRef as u } from "react";
4
- import '../../assets/Input.css';const p = {
5
- "rp-input": "_rp-input_3rj4v_1",
6
- "rp-input-wrapper": "_rp-input-wrapper_3rj4v_22",
7
- "rp-input-icon": "_rp-input-icon_3rj4v_26"
8
- }, d = u((i, s) => {
9
- const { className: t, icon: r, children: o, ...c } = i;
10
- return /* @__PURE__ */ a("div", { className: p["rp-input-wrapper"], children: [
4
+ import '../../assets/Input.css';const r = {
5
+ "rp-input": "_rp-input_zo6kn_1",
6
+ "rp-input-wrapper": "_rp-input-wrapper_zo6kn_22",
7
+ "rp-input-icon": "_rp-input-icon_zo6kn_26"
8
+ }, d = u((i, o) => {
9
+ const { className: s, icon: p, children: t, ...c } = i;
10
+ return /* @__PURE__ */ a("div", { className: r["rp-input-wrapper"], children: [
11
11
  /* @__PURE__ */ n(
12
12
  "input",
13
13
  {
14
14
  ...c,
15
- "data-icon": !!r,
16
- ref: s,
17
- className: e(t, p["rp-input"], "ignore-hover")
15
+ "data-icon": !!p,
16
+ ref: o,
17
+ className: e(s, r["rp-input"], "ignore-hover")
18
18
  }
19
19
  ),
20
- r && /* @__PURE__ */ n("span", { className: p["rp-input-icon"], children: r }),
21
- o
20
+ p && /* @__PURE__ */ n("span", { className: r["rp-input-icon"], children: p }),
21
+ t
22
22
  ] });
23
23
  });
24
24
  export {
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { L as i } from "../../RPDefaultLayout-e27ef121.js";
2
+ import { L as i } from "../../RPDefaultLayout-13f82fd9.js";
3
3
  import "../../clsx-0c6e471a.js";
4
4
  import "../../contexts/LocalizationContext.js";
5
5
  export {
@@ -0,0 +1,21 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { createContext as n, useContext as d } from "react";
3
+ const t = n(void 0), a = () => {
4
+ const o = d(t);
5
+ if (!o)
6
+ throw new Error("useDownloadContext must be used within a DownloadProvider");
7
+ return o;
8
+ }, u = ({ children: o, downloadFilename: e }) => /* @__PURE__ */ r(
9
+ t.Provider,
10
+ {
11
+ value: {
12
+ downloadFilename: e
13
+ },
14
+ children: o
15
+ }
16
+ );
17
+ export {
18
+ t as DownloadContext,
19
+ u as DownloadProvider,
20
+ a as useDownloadContext
21
+ };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { h as e, P as m, u as p } from "../RPDefaultLayout-e27ef121.js";
3
+ import { h as e, P as m, u as p } from "../RPDefaultLayout-13f82fd9.js";
4
4
  import "./RPDocumentContext.js";
5
5
  import "../utils/appConsole.js";
6
6
  export {
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { j as e, a as n, d as a } from "../RPDefaultLayout-e27ef121.js";
3
+ import { j as e, a as n, d as a } from "../RPDefaultLayout-13f82fd9.js";
4
4
  export {
5
5
  e as PrintContext,
6
6
  n as PrintProvider,
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { o as a, S as s, e as S } from "../RPDefaultLayout-e27ef121.js";
3
+ import { o as a, S as s, e as S } from "../RPDefaultLayout-13f82fd9.js";
4
4
  export {
5
5
  a as SearchContext,
6
6
  s as SearchProvider,
@@ -0,0 +1,13 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { createContext as c, useRef as o, useContext as s } from "react";
3
+ const t = c({
4
+ smoothScrolling: { current: !1 },
5
+ targetScrollPosition: { current: { left: 0, top: 0 } }
6
+ }), m = ({ children: r }) => {
7
+ const e = o(!1), l = o({ left: 0, top: 0 });
8
+ return /* @__PURE__ */ n(t.Provider, { value: { smoothScrolling: e, targetScrollPosition: l }, children: r });
9
+ }, u = () => s(t);
10
+ export {
11
+ m as SmoothScrollProvider,
12
+ u as useSmoothScrollContext
13
+ };
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { l as i, T as r, m as e } from "../RPDefaultLayout-e27ef121.js";
3
+ import { l as i, T as r, m as e } from "../RPDefaultLayout-13f82fd9.js";
4
4
  export {
5
5
  i as ThumbnailContext,
6
6
  r as ThumbnailProvider,
@@ -1,72 +1,78 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { createContext as b, useState as v, useEffect as x, useContext as g } from "react";
3
- import { useLayoutContainer as f } from "./LayoutContainerContext.js";
4
- const k = {
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import { createContext as g, useState as w, useMemo as S, useEffect as d, useContext as k } from "react";
3
+ import { useLayoutContainer as E } from "./LayoutContainerContext.js";
4
+ const B = {
5
5
  xs: 320,
6
6
  sm: 640,
7
7
  md: 768,
8
8
  lg: 1024,
9
9
  xl: 1280,
10
10
  "2xl": 1536
11
- }, a = b(void 0), L = ({
12
- children: n,
13
- mobileWidth: d = 768
11
+ }, u = g(void 0), A = ({
12
+ children: s,
13
+ mobileWidth: l = 768,
14
+ onLayoutWidthChange: c
14
15
  }) => {
15
- const { container: e } = f(), [r, p] = v({
16
- width: (e == null ? void 0 : e.clientWidth) || window.innerWidth,
17
- height: (e == null ? void 0 : e.clientHeight) || window.innerHeight,
16
+ const [a, m] = w(!1), { container: t } = E(), [r, h] = w({
17
+ width: (t == null ? void 0 : t.clientWidth) || window.innerWidth,
18
+ height: (t == null ? void 0 : t.clientHeight) || window.innerHeight,
18
19
  isMobile: !1,
19
20
  currentBreakpoint: "xs",
20
21
  orientation: "portrait"
21
- }), s = {
22
- ...k,
23
- md: d
24
- }, l = () => r.width <= s.md, u = (t) => {
25
- const o = Object.entries(s);
22
+ }), n = S(() => ({
23
+ ...B,
24
+ md: l
25
+ }), [l]), b = (e) => {
26
+ const o = Object.entries(n);
26
27
  for (let i = o.length - 1; i >= 0; i--)
27
- if (t >= o[i][1])
28
+ if (e >= o[i][1])
28
29
  return o[i][0];
29
30
  return "xs";
30
- }, w = () => {
31
- const t = navigator.userAgent.toLowerCase();
32
- return ["iphone", "ipod", "ipad", "android", "mobile", "phone", "tablet"].some((i) => t.includes(i));
31
+ }, v = () => {
32
+ const e = navigator.userAgent.toLowerCase();
33
+ return ["iphone", "ipod", "ipad", "android", "mobile", "phone", "tablet"].some((i) => e.includes(i));
33
34
  };
34
- x(() => {
35
- if (!e)
35
+ d(() => {
36
+ const e = r.width <= n.md;
37
+ m(e);
38
+ }, [r, n]), d(() => {
39
+ c && c(a, r.width);
40
+ }, [c, a, r]), d(() => {
41
+ if (!t)
36
42
  return;
37
- const t = () => {
38
- const i = e.clientWidth, c = e.clientHeight;
39
- p({
43
+ const e = () => {
44
+ const i = t.clientWidth, p = t.clientHeight;
45
+ h({
40
46
  width: i,
41
- height: c,
42
- isMobile: w(),
43
- currentBreakpoint: u(i),
44
- orientation: c > i ? "portrait" : "landscape"
47
+ height: p,
48
+ isMobile: v(),
49
+ currentBreakpoint: b(i),
50
+ orientation: p > i ? "portrait" : "landscape"
45
51
  });
46
52
  };
47
- t();
48
- const o = new ResizeObserver(t);
49
- return o.observe(e), window.addEventListener("resize", t), () => {
50
- o.disconnect(), window.removeEventListener("resize", t);
53
+ e();
54
+ const o = new ResizeObserver(e);
55
+ return o.observe(t), window.addEventListener("resize", e), () => {
56
+ o.disconnect(), window.removeEventListener("resize", e);
51
57
  };
52
- }, [e]);
53
- const h = {
58
+ }, [t]);
59
+ const x = {
54
60
  ...r,
55
- breakpoints: s,
56
- isBreakpoint: (t) => r.width >= s[t],
61
+ breakpoints: n,
62
+ isBreakpoint: (e) => r.width >= n[e],
57
63
  isMobileDevice: r.isMobile,
58
64
  isPortrait: r.orientation === "portrait",
59
65
  isLandscape: r.orientation === "landscape",
60
- isSmallScreen: l()
66
+ isSmallScreen: a
61
67
  };
62
- return /* @__PURE__ */ m(a.Provider, { value: h, children: n });
63
- }, P = () => {
64
- const n = g(a);
65
- if (n === void 0)
68
+ return /* @__PURE__ */ f(u.Provider, { value: x, children: s });
69
+ }, O = () => {
70
+ const s = k(u);
71
+ if (s === void 0)
66
72
  throw new Error("useViewportContext must be used within a ViewportProvider");
67
- return n;
73
+ return s;
68
74
  };
69
75
  export {
70
- L as ViewportProvider,
71
- P as useViewportContext
76
+ A as ViewportProvider,
77
+ O as useViewportContext
72
78
  };
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RPProvider as t } from "./components/RPProvider.js";
2
- import { b as x, R as n, c as s, u as m, d as p, e as f } from "./RPDefaultLayout-e27ef121.js";
2
+ import { b as x, R as n, c as s, u as m, d as p, e as f } from "./RPDefaultLayout-13f82fd9.js";
3
3
  import { RPConfig as a } from "./components/RPConfig.js";
4
4
  import { RPController as l } from "./components/RPController.js";
5
5
  import { RPTheme as P } from "./components/RPTheme.js";
@@ -1,6 +1,7 @@
1
1
  import { FC, PropsWithChildren } from 'react';
2
2
  interface Props extends PropsWithChildren {
3
3
  getContainerRef?: (element: HTMLDivElement) => void;
4
+ toolbarRef: HTMLDivElement | null;
4
5
  style?: React.CSSProperties;
5
6
  className?: string;
6
7
  }
@@ -0,0 +1,11 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ interface DownloadContextType {
3
+ downloadFilename?: string;
4
+ }
5
+ export declare const DownloadContext: import('react').Context<DownloadContextType | undefined>;
6
+ interface Props extends PropsWithChildren {
7
+ downloadFilename?: string;
8
+ }
9
+ export declare const useDownloadContext: () => DownloadContextType;
10
+ export declare const DownloadProvider: FC<Props>;
11
+ export {};
@@ -0,0 +1,10 @@
1
+ import { ScrollPosition } from '../utils/types';
2
+ interface SmoothScrollContextType {
3
+ smoothScrolling: React.MutableRefObject<boolean>;
4
+ targetScrollPosition: React.MutableRefObject<ScrollPosition>;
5
+ }
6
+ export declare const SmoothScrollProvider: ({ children }: {
7
+ children: React.ReactNode;
8
+ }) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const useSmoothScrollContext: () => SmoothScrollContextType;
10
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { default as React } from 'react';
2
+ import { ViewportProps } from '../utils/types';
2
3
  type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
3
4
  type Orientation = 'portrait' | 'landscape';
4
5
  interface Breakpoints {
@@ -19,9 +20,8 @@ interface ViewportContextType extends ViewportState {
19
20
  isLandscape: boolean;
20
21
  isSmallScreen: boolean;
21
22
  }
22
- interface ViewportProviderProps {
23
+ interface ViewportProviderProps extends ViewportProps {
23
24
  children: React.ReactNode;
24
- mobileWidth?: number;
25
25
  }
26
26
  export declare const ViewportProvider: React.FC<ViewportProviderProps>;
27
27
  export declare const useViewportContext: () => ViewportContextType;
@@ -1 +1 @@
1
- export declare const useWatermark: (container: HTMLDivElement | null) => void;
1
+ export declare const useWatermark: () => void;
@@ -244,7 +244,7 @@ export interface SetPageResult {
244
244
  export interface PageControl {
245
245
  focusedPage: number;
246
246
  setFocusedPage: (page: number | string) => void;
247
- goToPage: (page: number | string) => Promise<SetPageResult>;
247
+ goToPage: (page: number | string) => SetPageResult;
248
248
  totalPages: number;
249
249
  setTotalPages: (page: number) => void;
250
250
  nextPage: () => void;
@@ -296,7 +296,7 @@ export interface PageNavigationToolProps {
296
296
  nextPage: () => void;
297
297
  prevPage: () => void;
298
298
  changePage: (page: number) => void;
299
- goToPage: (page: number) => Promise<SetPageResult>;
299
+ goToPage: (page: number) => SetPageResult;
300
300
  }
301
301
  export interface PreparePrintProgress {
302
302
  loadedPages: number;
@@ -441,7 +441,6 @@ export declare enum ThemeVariables {
441
441
  DROP_ZONE_BACKGROUND_COLOR = "--rp-drop-zone-background-color",
442
442
  CHECKBOX_BORDER_RADIUS = "--rp-checkbox-border-radius",
443
443
  CHECKBOX_BORDER_COLOR = "--rp-checkbox-border-color",
444
- CHECKBOX_INDICATOR_COLOR = "--rp-checkbox-indicator-color",
445
444
  HIGHLIGHT_BACKGROUND_COLOR = "--rp-highlight-background-color",
446
445
  TEXT_LAYER_HIGHLIGHT_BORDER_RADIUS = "--rp-text-layer-highlight-border-radius",
447
446
  CURRENT_HIGHLIGHT_BACKGROUND_COLOR = "--rp-current-highlight-background-color",
@@ -472,6 +471,7 @@ export interface RPControllerProps extends PropsWithChildren, DarkModeProviderPr
472
471
  initialThumbnailsVisible?: boolean;
473
472
  locale?: string;
474
473
  localization?: LocalizationMap;
474
+ downloadFilename?: string;
475
475
  }
476
476
  export interface RPConfigProps extends Omit<ConfigContextType, 'workerUrlAdded'>, RPThemeContextType, PropsWithChildren {
477
477
  workerUrl?: string;
@@ -515,6 +515,7 @@ export interface ViewModeProps {
515
515
  }
516
516
  export interface ViewportProps {
517
517
  mobileWidth?: number;
518
+ onLayoutWidthChange?: (isMobileScreen: boolean, currentWidth: number) => void;
518
519
  }
519
520
  export declare enum ScrollMode {
520
521
  PAGE_SCROLLING = "PAGE",
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../../contexts/RPDocumentContext.js";
3
3
  import "react";
4
- import { c as A } from "../../RPDefaultLayout-e27ef121.js";
4
+ import { c as E } from "../../RPDefaultLayout-13f82fd9.js";
5
5
  import "../../contexts/DarkModeContext.js";
6
6
  import "../../contexts/RotationContext.js";
7
7
  import "../../contexts/LayerContext.js";
@@ -20,11 +20,14 @@ import "../../contexts/LayoutContainerContext.js";
20
20
  import "../../contexts/DimensionPagesContext.js";
21
21
  import "../../contexts/LocalizationContext.js";
22
22
  import "../../contexts/HighlightContext.js";
23
+ import "../../contexts/DownloadContext.js";
24
+ import "../../contexts/SmoothScrollContext.js";
23
25
  import "../../contexts/LoaderContext.js";
26
+ import "../../contexts/LicenseContext.js";
24
27
  import "../../components/RPConfig.js";
25
28
  import "../../contexts/ThemeContext.js";
26
29
  import "../../components/RPDropFileZone.js";
27
30
  import "../../contexts/ToolbarComponentContext.js";
28
31
  export {
29
- A as useFileDownload
32
+ E as useFileDownload
30
33
  };
@@ -1,6 +1,6 @@
1
1
  import { useState as E, useCallback as h, useEffect as A } from "react";
2
2
  import { appConsole as c } from "../appConsole.js";
3
- const b = /* @__PURE__ */ new Date("2025-04-29T07:23:33.593Z"), l = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", o = {
3
+ const b = /* @__PURE__ */ new Date("2025-04-28T03:03:47.184Z"), l = "Please visit https://www.react-pdf.dev/manage-license/ to generate a new license key.", o = {
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,5 +1,5 @@
1
1
  import "react";
2
- import { g as C } from "../../RPDefaultLayout-e27ef121.js";
2
+ import { g as F } from "../../RPDefaultLayout-13f82fd9.js";
3
3
  import "../../contexts/ScrollStateContext.js";
4
4
  import "react/jsx-runtime";
5
5
  import "../../contexts/RPDocumentContext.js";
@@ -20,12 +20,15 @@ import "../../contexts/LayoutContainerContext.js";
20
20
  import "../../contexts/DimensionPagesContext.js";
21
21
  import "../../contexts/LocalizationContext.js";
22
22
  import "../../contexts/HighlightContext.js";
23
+ import "../../contexts/DownloadContext.js";
24
+ import "../../contexts/SmoothScrollContext.js";
23
25
  import "../../contexts/LoaderContext.js";
26
+ import "../../contexts/LicenseContext.js";
24
27
  import "../../components/RPConfig.js";
25
28
  import "../../contexts/ThemeContext.js";
26
29
  import "../../components/RPDropFileZone.js";
27
30
  import "../../contexts/ToolbarComponentContext.js";
28
31
  import "./useDebounce.js";
29
32
  export {
30
- C as usePaginate
33
+ F as usePaginate
31
34
  };
@@ -1,7 +1,7 @@
1
1
  import "react";
2
2
  import "react/jsx-runtime";
3
3
  import "../../contexts/RPDocumentContext.js";
4
- import { i as C } from "../../RPDefaultLayout-e27ef121.js";
4
+ import { i as F } from "../../RPDefaultLayout-13f82fd9.js";
5
5
  import "../../contexts/DarkModeContext.js";
6
6
  import "../../contexts/RotationContext.js";
7
7
  import "../../contexts/LayerContext.js";
@@ -20,12 +20,15 @@ import "../../contexts/LayoutContainerContext.js";
20
20
  import "../../contexts/DimensionPagesContext.js";
21
21
  import "../../contexts/LocalizationContext.js";
22
22
  import "../../contexts/HighlightContext.js";
23
+ import "../../contexts/DownloadContext.js";
24
+ import "../../contexts/SmoothScrollContext.js";
23
25
  import "../../contexts/LoaderContext.js";
26
+ import "../../contexts/LicenseContext.js";
24
27
  import "../../components/RPConfig.js";
25
28
  import "../../contexts/ThemeContext.js";
26
29
  import "../../components/RPDropFileZone.js";
27
30
  import "../../contexts/ToolbarComponentContext.js";
28
31
  import "pdfjs-dist";
29
32
  export {
30
- C as usePrint
33
+ F as usePrint
31
34
  };