@vergiss/chooks
Version:
React hooks library
51 lines (44 loc) • 1.11 kB
JavaScript
;
import "core-js/modules/es.object.define-property";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useMousePosition = void 0;
var react_1 = require("react");
var initState = {
screenX: NaN,
screenY: NaN,
clientX: NaN,
clientY: NaN,
pageX: NaN,
pageY: NaN
};
function useMousePosition() {
var _a = react_1.useState(initState),
pos = _a[0],
setPos = _a[1];
react_1.useEffect(function () {
var setMousePosition = function setMousePosition(e) {
var screenX = e.screenX,
screenY = e.screenY,
clientX = e.clientX,
clientY = e.clientY,
pageX = e.pageX,
pageY = e.pageY;
setPos({
screenX: screenX,
screenY: screenY,
clientX: clientX,
clientY: clientY,
pageX: pageX,
pageY: pageY
});
};
document.addEventListener('mousemove', setMousePosition);
return function () {
document.removeEventListener('mousemove', setMousePosition);
};
}, []);
return pos;
}
exports.useMousePosition = useMousePosition;