UNPKG

@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
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 };