@pdf-viewer/react
Version:
A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.
206 lines (205 loc) • 8.72 kB
JavaScript
import { jsx as r } from "react/jsx-runtime";
import { useState as i, useId as w, useMemo as D } from "react";
import { P as E, e as F, f as G, T as b, g as k } from "../ToolbarLayout.module-f843fd79.js";
import { DarkModeProvider as x } from "../contexts/DarkModeContext.js";
import { ViewMode as y, ScrollMode as _, SelectionMode as z } from "../utils/types.js";
import { RotateProvider as A } from "../contexts/RotationContext.js";
import { LayerProvider as N } from "../contexts/LayerContext.js";
import { ZoomProvider as Z } from "../contexts/ZoomContext.js";
import { ViewModeProvider as j } from "../contexts/ViewModeContext.js";
import { ScrollModeProvider as H } from "../contexts/ScrollModeContext.js";
import { VirtualScrollProvider as O } from "../contexts/VirtualScrollContext.js";
import { VirtualGridProvider as Q } from "../contexts/VirtualGridContext.js";
import { SelectionModeProvider as U } from "../contexts/SelectionModeContext.js";
import { InitialStateProvider as W } from "../contexts/InitialStateContext.js";
import { FullScreenProvider as X } from "../contexts/FullScreenContext.js";
import { FileInputProvider as $ } from "../contexts/FileInputContext.js";
import { DropFileZoneProvider as q } from "../contexts/DropFileZoneContext.js";
import { LayoutContainerContext as B } from "../contexts/LayoutContainerContext.js";
import { DimensionPagesProvider as J } from "../contexts/DimensionPagesContext.js";
import { LocalizationProvider as K } from "../contexts/LocalizationContext.js";
import { HighlightProvider as Y } from "../contexts/HighlightContext.js";
import { useWatermark as rr } from "../utils/hooks/useWatermark.js";
import { DownloadProvider as ir } from "../contexts/DownloadContext.js";
import { SmoothScrollProvider as or } from "../contexts/SmoothScrollContext.js";
import { ElementPageProvider as tr } from "../contexts/ElementPageContext.js";
import { PagesRotateProvider as mr } from "../contexts/PagesRotateContext.js";
import { GlobalCurrentPageProvider as er } from "../contexts/GlobalCurrentPage.js";
import "./icons/ChevronUpIcon.js";
import "./ui/Button.js";
import "../clsx-0c6e471a.js";
import "../utils/withRef.js";
import "./ui/Input.js";
import "../contexts/RPDocumentContext.js";
import "../utils/hooks/useLoadPdf.js";
import "pdfjs-dist";
import "../utils/getThumbnailViewport.js";
import "../contexts/ConfigContext.js";
import "../contexts/DocumentPasswordContext.js";
import "../utils/appConsole.js";
import "../utils/hooks/usePdfProperties.js";
import "../utils/convertPdfDate.js";
import "../utils/formatFileSize.js";
import "../utils/highlight.js";
import "../utils/charators.js";
import "../contexts/LicenseContext.js";
import "../utils/hooks/useLicense.js";
import "../utils/Queue.js";
import "../utils/renderPage.js";
import "../contexts/LoaderContext.js";
import "./icons/LoaderIcon.js";
import "../contexts/ToolComponentContext.js";
import "../contexts/IconToolContext.js";
import "../contexts/OtherToolContext.js";
import "../contexts/EventCallbackContext.js";
import "../contexts/ThemeContext.js";
import "./icons/Thumbnail.js";
import "./layout/Container.js";
import "../contexts/ViewportContext.js";
import "../contexts/ToolbarComponentContext.js";
import "./layout/sidebar/RPSplitter.js";
import "../utils/constants.js";
import "./layout/WrapperLayout.js";
import "../LayoutWrapper-6224491f.js";
import "./RPDropFileZone.js";
import "./icons/LightPdfIcon.js";
import "./icons/DarkPdfIcon.js";
import "../SearchCloseButton-08d57275.js";
import "./ui/RPTooltip.js";
import "../index-35c7f4a2.js";
import "react-dom";
import "../floating-ui.react-dom-6b2fe0df.js";
import "./icons/CloseIcon.js";
import "./ui/Checkbox.js";
import "./icons/CheckIcon.js";
import "../contexts/IconContext.js";
import "./ui/DropDown.js";
import "../index-f563c6f0.js";
import "./layout/toolbar/MenuItem.js";
import "./layout/toolbar/MenuSeparator.js";
import "../utils/dateFormatter.js";
import "./layout/toolbar/PropertyItem.js";
import "../RotateTool.module-67946714.js";
import "../utils/hooks/useInfiniteScroll.js";
import "../utils/link_service.js";
import "../utils/annotations.js";
import "../utils/sanitizeExternalUrl.js";
import "./page/searchHighlight.js";
import "../utils/const.js";
import "./page/CustomElement.js";
import "../utils/calculatePage.js";
import "../utils/hooks/useMousePressed.js";
import "../utils/hooks/useGrabScroll.js";
import "../utils/hooks/usePinch.js";
import "../utils/hooks/useDebounce.js";
import "./ui/PasswordModal.js";
import "../utils/hooks/useCopyText.js";
import "../utils/getScrollDistance.js";
import "../utils/getWordPositionInPage.js";
import "../utils/smoothScrollTo.js";
import "./layout/toolbar/FileUploadTool.js";
import "./icons/FileUploadDefaultIcon.js";
import "./layout/toolbar/DarkModeTool.js";
import "./icons/MoonIcon.js";
import "./icons/SunIcon.js";
import "./icons/ThreeDotIcon.js";
import "./layout/toolbar/DocumentProperties.js";
import "./icons/InfoIcon.js";
import "./layout/toolbar/RotateTool.js";
import "./icons/ClockwiseIcon.js";
import "../utils/hooks/useRotate.js";
import "./layout/toolbar/ViewModeTool.js";
import "./icons/SinglePageIcon.js";
import "./icons/DualPageIcon.js";
import "./layout/toolbar/ScrollModeTool.js";
import "./icons/PageScrollingIcon.js";
import "./icons/VerticalScrollingIcon.js";
import "./icons/HorizontalScrollingIcon.js";
import "./icons/FileDownloadDefaultIcon.js";
import "./icons/PrintDefaultIcon.js";
import "./layout/toolbar/FullScreenTool.js";
import "./icons/FullScreenIcon.js";
import "./icons/GoToDownIcon.js";
import "./layout/toolbar/SelectionModeTool.js";
import "./icons/TextSelectionDefaultIcon.js";
import "./icons/HandModeDefaultIcon.js";
import "./icons/ZoomInIcon.js";
import "./icons/ZoomOutIcon.js";
import "../utils/zoom.js";
import "./icons/SearchIcon.js";
import "./icons/ClearIcon.js";
import "../utils/hooks/useDarkMode.js";
import "../th_TH-d627cd51.js";
import "../utils/getZoomLevel.js";
import "../utils/hooks/useFullScreen.js";
import "../utils/hooks/useLocalization.js";
import "../utils/hooks/useHighlight.js";
import "../utils/getElementPositionInPage.js";
const _o = (e) => {
const {
children: p,
darkMode: n = !1,
onDarkModeChange: l,
initialRotation: d = 0,
textLayer: a = !0,
initialPage: c = 1,
initialViewMode: P = y.SINGLE_PAGE,
initialThumbnailsVisible: f = !1,
initialSearch: h,
initialScale: s,
initialScrollMode: v = _.VERTICAL_SCROLLING,
locale: u = "en_US",
localization: S,
downloadFilename: g,
initialSelectionMode: M = z.TEXT,
interactiveForm: R = !0
} = e, [C, L] = i(null), [o, I] = i(null), [V, T] = i(null), t = w(), m = D(() => `rp-instance-${t.replace(/:/g, "-")}`, [t]);
return rr(m), /* @__PURE__ */ r(
W,
{
instanceId: m,
initialScale: s,
initialPage: c,
initialScrollMode: v,
initialRotation: d,
initialViewMode: P,
interactiveForm: R,
children: /* @__PURE__ */ r(or, { children: /* @__PURE__ */ r(K, { locale: u, localization: S, children: /* @__PURE__ */ r(Q, { children: /* @__PURE__ */ r(O, { children: /* @__PURE__ */ r(j, { children: /* @__PURE__ */ r(H, { children: /* @__PURE__ */ r(U, { initialSelectionMode: M, children: /* @__PURE__ */ r(A, { children: /* @__PURE__ */ r(mr, { children: /* @__PURE__ */ r(N, { textLayer: a, children: /* @__PURE__ */ r(
B.Provider,
{
value: {
container: C,
contentRef: o,
pagesRef: V,
setContainer: L,
setContentRef: I,
setPagesRef: T
},
children: /* @__PURE__ */ r(er, { children: /* @__PURE__ */ r(Z, { children: /* @__PURE__ */ r(J, { children: /* @__PURE__ */ r(E, { children: /* @__PURE__ */ r(
x,
{
darkMode: n,
onDarkModeChange: l,
children: /* @__PURE__ */ r(F, { initialSearch: h, children: /* @__PURE__ */ r(Y, { children: /* @__PURE__ */ r(tr, { children: /* @__PURE__ */ r(G, { children: /* @__PURE__ */ r(
b,
{
initialThumbnailsVisible: f,
children: /* @__PURE__ */ r(q, { children: /* @__PURE__ */ r(X, { elementRef: o, children: /* @__PURE__ */ r(k, { children: /* @__PURE__ */ r(
ir,
{
downloadFilename: g,
children: /* @__PURE__ */ r($, { children: p })
}
) }) }) })
}
) }) }) }) })
}
) }) }) }) })
}
) }) }) }) }) }) }) }) }) }) })
}
);
};
export {
_o as RPController
};