UNPKG

tdesign-react

Version:
39 lines (35 loc) 1.19 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ import { useRef, useEffect } from 'react'; import useIsomorphicLayoutEffect from '../../hooks/useLayoutEffect.js'; import '../../_chunks/dep-3a09424a.js'; import 'lodash-es'; function useDialogPosition(visible, dialogCardRef) { var mousePosRef = useRef(null); var getClickPosition = function getClickPosition(e) { mousePosRef.current = { x: e.clientX, y: e.clientY }; setTimeout(function () { mousePosRef.current = null; }, 100); }; useIsomorphicLayoutEffect(function () { document.addEventListener("click", getClickPosition, true); return function () { document.removeEventListener("click", getClickPosition, true); }; }, []); useEffect(function () { if (!visible) return; if (mousePosRef.current && dialogCardRef.current) { dialogCardRef.current.style.transformOrigin = "".concat(mousePosRef.current.x - dialogCardRef.current.offsetLeft, "px ").concat(mousePosRef.current.y - dialogCardRef.current.offsetTop, "px"); } }, [visible, dialogCardRef]); } export { useDialogPosition as default }; //# sourceMappingURL=useDialogPosition.js.map