UNPKG

@pdf-viewer/react

Version:

A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.

63 lines (62 loc) 1.9 kB
import { jsx as C } from "react/jsx-runtime"; import { createContext as x, useContext as P, useState as F, useCallback as r } from "react"; import { useDocumentContext as h } from "./RPDocumentContext.js"; import { useToolbarComponentContext as T } from "./ToolbarComponentContext.js"; import { useDocumentPasswordContext as v } from "./DocumentPasswordContext.js"; import { useToolComponentContext as L } from "./ToolComponentContext.js"; import "../utils/hooks/useLoadPdf.js"; import "pdfjs-dist"; import "../utils/types.js"; import "../th_TH-d627cd51.js"; import "../utils/getThumbnailViewport.js"; import "./ConfigContext.js"; import "../utils/hooks/usePdfProperties.js"; import "../utils/convertPdfDate.js"; import "../utils/formatFileSize.js"; import "../utils/appConsole.js"; const l = x({ dragging: !1, handleDragLeave: () => { }, handleDragEnter: () => { }, handleDrop: () => { } }), H = () => P(l), I = ({ children: m }) => { const [c, e] = F(!1), { setFilename: n, setPdfSrc: a } = h(), { openFileTool: p } = T(), { openFileTool: s } = L(), { setPassword: f } = v(), u = r( (o) => { var i; o.preventDefault(), o.stopPropagation(), e(!1); const t = (i = o.dataTransfer) == null ? void 0 : i.files[0]; if (!t || t.type !== "application/pdf") return; const D = URL.createObjectURL(t); n(t.name), a(D), f(""); }, [n, a] ), d = r( (o) => { o.preventDefault(), o.stopPropagation(), !(!p || !s) && e(!0); }, [p, s] ), g = r((o) => { o.preventDefault(), o.stopPropagation(), e(!1); }, []); return /* @__PURE__ */ C( l.Provider, { value: { dragging: c, handleDragLeave: g, handleDragEnter: d, handleDrop: u }, children: m } ); }; export { l as DropFileZoneContext, I as DropFileZoneProvider, H as useDropFileZoneContext };