UNPKG

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