@pdf-viewer/react
Version:
A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.
34 lines (33 loc) • 1.29 kB
JavaScript
import { jsx as C } from "react/jsx-runtime";
import { createContext as P, useContext as d, useState as E, useCallback as i, useMemo as f } from "react";
import { appConsole as p } from "../utils/appConsole.js";
import { ViewMode as e } from "../utils/types.js";
import { useInitialStateContext as G } from "./InitialStateContext.js";
import "../de_DE-a553b162.js";
const s = P({
columnCount: 1,
setSinglePage: () => {
},
setDualPage: () => {
},
setDualPageWithCover: () => {
},
viewMode: e.SINGLE_PAGE
}), S = () => {
const o = d(s);
return typeof o.columnCount > "u" && p.error("Please use this hooks inside children component of RPProvider"), o;
}, w = ({ children: o }) => {
const { initialViewMode: r = e.SINGLE_PAGE } = G(), u = r === e.SINGLE_PAGE ? 1 : r === e.DUAL_PAGE_WITH_COVER ? -2 : 2, [t, n] = E(u), a = i(() => {
n(1);
}, []), l = i(() => {
n(2);
}, []), c = i(() => {
n(-2);
}, []), m = f(() => t === 1 ? e.SINGLE_PAGE : t === -2 ? e.DUAL_PAGE_WITH_COVER : e.DUAL_PAGE, [t]);
return /* @__PURE__ */ C(s.Provider, { value: { columnCount: Math.abs(t), setSinglePage: a, setDualPage: l, setDualPageWithCover: c, viewMode: m }, children: o });
};
export {
s as ViewModeContext,
w as ViewModeProvider,
S as useViewModeContext
};