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