@pdf-viewer/react
Version:
A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.
93 lines (92 loc) • 4.54 kB
JavaScript
import { jsx as r } from "react/jsx-runtime";
import { useState as e, useId as V, useMemo as T } from "react";
import { P as w, f as D, g as E, T as G, h as b } from "../ToolbarLayout.module-cbc8e216.js";
import { DarkModeProvider as k } from "../contexts/DarkModeContext.js";
import { ViewMode as x, ScrollMode as F, SelectionMode as y } from "../utils/types.js";
import { RotateProvider as _ } from "../contexts/RotationContext.js";
import { LayerProvider as z } from "../contexts/LayerContext.js";
import { ZoomProvider as A } from "../contexts/ZoomContext.js";
import { ViewModeProvider as N } from "../contexts/ViewModeContext.js";
import { ScrollModeProvider as Z } from "../contexts/ScrollModeContext.js";
import { VirtualScrollProvider as j } from "../contexts/VirtualScrollContext.js";
import { VirtualGridProvider as H } from "../contexts/VirtualGridContext.js";
import { SelectionModeProvider as O } from "../contexts/SelectionModeContext.js";
import { InitialStateProvider as Q } from "../contexts/InitialStateContext.js";
import { FullScreenProvider as U } from "../contexts/FullScreenContext.js";
import { FileInputProvider as W } from "../contexts/FileInputContext.js";
import { DropFileZoneProvider as X } from "../contexts/DropFileZoneContext.js";
import { LayoutContainerContext as $ } from "../contexts/LayoutContainerContext.js";
import { DimensionPagesProvider as q } from "../contexts/DimensionPagesContext.js";
import { LocalizationProvider as B } from "../contexts/LocalizationContext.js";
import { HighlightProvider as J } from "../contexts/HighlightContext.js";
import { useWatermark as K } from "../utils/hooks/useWatermark.js";
import { DownloadProvider as Y } from "../contexts/DownloadContext.js";
import { SmoothScrollProvider as rr } from "../contexts/SmoothScrollContext.js";
import { ElementPageProvider as er } from "../contexts/ElementPageContext.js";
import { PagesRotateProvider as or } from "../contexts/PagesRotateContext.js";
import { GlobalCurrentPageProvider as ir } from "../contexts/GlobalCurrentPage.js";
const br = (n) => {
const {
children: l,
darkMode: d = !1,
onDarkModeChange: m,
initialRotation: a = 0,
textLayer: c = !0,
initialPage: P = 1,
initialViewMode: h = x.SINGLE_PAGE,
initialThumbnailsVisible: f = !1,
initialSearch: p,
initialScale: s,
initialScrollMode: v = F.VERTICAL_SCROLLING,
locale: u = "en_US",
localization: S,
downloadFilename: g
} = n, [M, R] = e(null), [o, C] = e(null), [L, I] = e(null), i = V(), t = T(() => `rp-instance-${i.replace(/:/g, "-")}`, [i]);
return K(t), /* @__PURE__ */ r(
Q,
{
instanceId: t,
initialScale: s,
initialPage: P,
initialScrollMode: v,
initialRotation: a,
initialViewMode: h,
children: /* @__PURE__ */ r(rr, { children: /* @__PURE__ */ r(B, { locale: u, localization: S, children: /* @__PURE__ */ r(H, { children: /* @__PURE__ */ r(j, { children: /* @__PURE__ */ r(N, { children: /* @__PURE__ */ r(Z, { children: /* @__PURE__ */ r(O, { initialSelectionMode: y.TEXT, children: /* @__PURE__ */ r(_, { children: /* @__PURE__ */ r(or, { children: /* @__PURE__ */ r(z, { textLayer: c, children: /* @__PURE__ */ r(
$.Provider,
{
value: {
container: M,
contentRef: o,
pagesRef: L,
setContainer: R,
setContentRef: C,
setPagesRef: I
},
children: /* @__PURE__ */ r(ir, { children: /* @__PURE__ */ r(A, { children: /* @__PURE__ */ r(q, { children: /* @__PURE__ */ r(w, { children: /* @__PURE__ */ r(
k,
{
darkMode: d,
onDarkModeChange: m,
children: /* @__PURE__ */ r(D, { initialSearch: p, children: /* @__PURE__ */ r(J, { children: /* @__PURE__ */ r(er, { children: /* @__PURE__ */ r(E, { children: /* @__PURE__ */ r(
G,
{
initialThumbnailsVisible: f,
children: /* @__PURE__ */ r(X, { children: /* @__PURE__ */ r(U, { elementRef: o, children: /* @__PURE__ */ r(b, { children: /* @__PURE__ */ r(
Y,
{
downloadFilename: g,
children: /* @__PURE__ */ r(W, { children: l })
}
) }) }) })
}
) }) }) }) })
}
) }) }) }) })
}
) }) }) }) }) }) }) }) }) }) })
}
);
};
export {
br as RPController
};