@guruhotel/aura-hooks
Version:
🪝 Hooks library designed by the Guruhotel team for Aura UI
1 lines • 725 B
JavaScript
exports.__esModule=!0,exports.useMouse=function(t={resetOnExit:!1}){const[n,r]=(0,e.useState)({x:0,y:0}),o=(0,e.useRef)(),s=e=>{if(o.current){const t=e.currentTarget.getBoundingClientRect(),n=Math.max(0,Math.round(e.pageX-t.left-(window.pageXOffset||window.scrollX))),o=Math.max(0,Math.round(e.pageY-t.top-(window.pageYOffset||window.scrollY)));r({x:n,y:o})}else r({x:e.clientX,y:e.clientY})},u=()=>r({x:0,y:0});return(0,e.useEffect)((()=>{const e=null!=o&&o.current?o.current:document;return e.addEventListener("mousemove",s),t.resetOnExit&&e.addEventListener("mouseleave",u),()=>{e.removeEventListener("mousemove",s),t.resetOnExit&&e.removeEventListener("mouseleave",u)}}),[o.current]),{ref:o,...n}};var e=require("react");