mirror of
https://github.com/Tria-plc/emaui.git
synced 2026-08-27 16:40:57 +00:00
34 lines
944 B
JavaScript
34 lines
944 B
JavaScript
'use client';
|
|
'use strict';
|
|
|
|
var React = require('react');
|
|
|
|
function useHover() {
|
|
const [hovered, setHovered] = React.useState(false);
|
|
const previousNode = React.useRef(null);
|
|
const handleMouseEnter = React.useCallback(() => {
|
|
setHovered(true);
|
|
}, []);
|
|
const handleMouseLeave = React.useCallback(() => {
|
|
setHovered(false);
|
|
}, []);
|
|
const ref = React.useCallback(
|
|
(node) => {
|
|
if (previousNode.current) {
|
|
previousNode.current.removeEventListener("mouseenter", handleMouseEnter);
|
|
previousNode.current.removeEventListener("mouseleave", handleMouseLeave);
|
|
}
|
|
if (node) {
|
|
node.addEventListener("mouseenter", handleMouseEnter);
|
|
node.addEventListener("mouseleave", handleMouseLeave);
|
|
}
|
|
previousNode.current = node;
|
|
},
|
|
[handleMouseEnter, handleMouseLeave]
|
|
);
|
|
return { ref, hovered };
|
|
}
|
|
|
|
exports.useHover = useHover;
|
|
//# sourceMappingURL=use-hover.cjs.map
|