tdesign-react
Version:
TDesign Component for React
49 lines (43 loc) • 1.5 kB
JavaScript
/**
* tdesign v1.11.6
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var hooks_useLayoutEffect = require('../../hooks/useLayoutEffect.js');
require('../../_util/dom.js');
require('raf');
require('../../_util/easing.js');
require('../../_chunks/dep-3c8023f1.js');
require('../../_chunks/dep-6e34d7d7.js');
require('../../_chunks/dep-5b35215f.js');
require('../../_chunks/dep-ec3beb8d.js');
require('../../_chunks/dep-d45b3350.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