UNPKG

@pdf-viewer/react

Version:

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

57 lines (56 loc) 2.45 kB
import { jsx as r, Fragment as u } from "react/jsx-runtime"; import { useMemo as d, useCallback as l } from "react"; import { useZoomContext as a } from "../../../../contexts/ZoomContext.js"; import { UIButton as c } from "../../../ui/Button.js"; import f from "../../../ui/RPTooltip.js"; import { useLocalizationContext as O } from "../../../../contexts/LocalizationContext.js"; import { ZoomOutIcon as Z } from "../../../icons/ZoomOutIcon.js"; import { MAX_ZOOM_SCALE as h } from "../../../../utils/constants.js"; import { isZoomOutDisabled as s } from "../../../../utils/zoom.js"; import "../../../../utils/types.js"; import "../../../../de_DE-a553b162.js"; import "../../../../utils/appConsole.js"; import "../../../../contexts/InitialStateContext.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/hooks/usePdfProperties.js"; import "../../../../utils/convertPdfDate.js"; import "../../../../utils/formatFileSize.js"; import "../../../../utils/getZoomLevel.js"; import "../../../../contexts/LayoutContainerContext.js"; import "../../../../contexts/ViewModeContext.js"; import "../../../../contexts/RotationContext.js"; import "../../../../contexts/GlobalCurrentPage.js"; import "../../../../contexts/EventCallbackContext.js"; import "../../../../utils/hooks/useDebounce.js"; import "../../../../clsx-0c6e471a.js"; import "../../../../utils/withRef.js"; import "../../../../index-c9a2990a.js"; import "react-dom"; import "../../../../floating-ui.react-dom-d22a10b4.js"; import "../../../../utils/hooks/useLocalization.js"; const g = ({ icon: m }) => { const { currentZoom: t, setZoomLevel: i } = a(), { localeMessages: o } = O(), p = d(() => s(t), [t]), n = l(() => { i(() => { const e = Math.ceil(t * 100 / 25) * 25; return Math.min(e - 25, h); }); }, [i, t]); return /* @__PURE__ */ r(u, { children: /* @__PURE__ */ r(f, { content: o == null ? void 0 : o.zoomOutTooltip, children: /* @__PURE__ */ r( c, { disabled: p, onClick: n, "aria-label": o == null ? void 0 : o.zoomOutTooltip, "aria-disabled": p, children: m || /* @__PURE__ */ r(Z, { "aria-hidden": "true" }) } ) }) }); }; export { g as ZoomOutTool };