tdesign-react
Version:
TDesign Component for React
47 lines (41 loc) • 1.46 kB
JavaScript
/**
* tdesign v1.15.1
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var hooks_useLayoutEffect = require('../../hooks/useLayoutEffect.js');
require('../../_chunks/dep-381fa848.js');
require('../../_chunks/dep-4ed9eda4.js');
require('../../_chunks/dep-25585736.js');
require('../../_chunks/dep-667ac7af.js');
require('../../_chunks/dep-64577888.js');
require('../../_chunks/dep-62e73936.js');
function useDialogPosition(visible, dialogCardRef) {
var mousePosRef = React.useRef(null);
var getClickPosition = function getClickPosition(e) {
mousePosRef.current = {
x: e.clientX,
y: e.clientY
};
setTimeout(function () {
mousePosRef.current = null;
}, 100);
};
hooks_useLayoutEffect["default"](function () {
document.addEventListener("click", getClickPosition, true);
return function () {
document.removeEventListener("click", getClickPosition, true);
};
}, []);
React.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]);
}
exports["default"] = useDialogPosition;
//# sourceMappingURL=useDialogPosition.js.map