17 lines
613 B
JavaScript
17 lines
613 B
JavaScript
import useHoverDirty from './useHoverDirty';
|
|
import useMouse from './useMouse';
|
|
var nullRef = { current: null };
|
|
var useMouseHovered = function (ref, options) {
|
|
if (options === void 0) { options = {}; }
|
|
var whenHovered = !!options.whenHovered;
|
|
var bound = !!options.bound;
|
|
var isHovered = useHoverDirty(ref, whenHovered);
|
|
var state = useMouse(whenHovered && !isHovered ? nullRef : ref);
|
|
if (bound) {
|
|
state.elX = Math.max(0, Math.min(state.elX, state.elW));
|
|
state.elY = Math.max(0, Math.min(state.elY, state.elH));
|
|
}
|
|
return state;
|
|
};
|
|
export default useMouseHovered;
|