UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

32 lines (31 loc) • 1 kB
"use client"; import { openPreview } from "./viewer/registry.mjs"; import PreviewOutlet from "./viewer/PreviewOutlet.mjs"; import { useCallback, useMemo } from "react"; import { jsx } from "react/jsx-runtime"; //#region src/Image/useImagePreview.tsx const useImagePreview = (elementRef, options) => { const resolvedOptions = useMemo(() => ({ autoZoomThreshold: 2, defaultZoom: "auto", maxScale: 8, ...options }), [options]); return { open: useCallback(() => { const element = elementRef.current; if (!element) return; const active = document.activeElement; openPreview({ element, options: resolvedOptions, previewSrc: resolvedOptions.src, src: element.currentSrc || element.src }, void 0, 0, active instanceof HTMLElement && active !== document.body ? active : null); }, [elementRef, resolvedOptions]), outlet: /* @__PURE__ */ jsx(PreviewOutlet, { elementRef }) }; }; //#endregion export { useImagePreview }; //# sourceMappingURL=useImagePreview.mjs.map