let t = null let r = null let l = null export function useMouseTooltip() { const u = (e) => { document.documentElement.style.setProperty('--mouse-x', e.clientX + 'px') document.documentElement.style.setProperty('--mouse-y', e.clientY + 'px') clearTimeout(t) t = setTimeout(() => { document.documentElement.style.setProperty('--mouse-x', e.clientX + 'px') document.documentElement.style.setProperty('--mouse-y', e.clientY + 'px') }, 200) } const clearMousePosition = () => { clearTimeout(t) document.documentElement.style.removeProperty('--mouse-x') document.documentElement.style.removeProperty('--mouse-y') } const i = () => { r = (e) => { if (e.target.closest('.cursor-pointer')) { u(e) } } l = (e) => { if (e.target.closest('.cursor-pointer')) { clearMousePosition() } } document.addEventListener('mouseenter', r, true) document.addEventListener('mouseleave', l, true) } const d = () => { clearTimeout(t) if (r) document.removeEventListener('mouseenter', r, true) if (l) document.removeEventListener('mouseleave', l, true) r = null l = null } i() return d }