
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
react-use-hoverintent
Advanced tools
react-use-hoverintent is a react hook which allows you to use classic hoverintent behavior in modern, react way.
"hoverIntent is a plug-in that attempts to determine the user's intent... like a crystal ball, only with mouse movement! It is similar to jQuery's hover method. However, instead of calling the handlerIn function immediately, hoverIntent waits until the user's mouse slows down enough before making the call."
Built with typescript, with official typing, with zero dependency, transpiled to es5.
Inspired by jquery-hoverintent react-hoverintent
yarn add react-use-hoverintent
or
npm install react-use-hoverintent
ref
: the react element ref which you want hoverintent to be applied.
timeout
: A simple delay, in milliseconds, before the onMouseOut
callback is fired. If the user mouses back over the element before the timeout has expired the onMouseOut
callback will not be called (nor will the onMouseOver
callback be called). This is primarily to protect against sloppy/human mousing trajectories that temporarily (and unintentionally) take the user off of the target element... giving them time to return.
Default timeout: 0
sensitivity
: If the mouse travels fewer than this number of pixels between polling intervals, then the onMouseOver
callback will be called. With the minimum sensitivity threshold of 1, the mouse must not move between polling intervals. With higher sensitivity thresholds you are more likely to receive a false positive.
Default sensitivity: 6
interval
: The number of milliseconds hoverIntent waits between reading/comparing mouse coordinates. When the user's mouse first enters the element its coordinates are recorded. The soonest the onMouseOut
callback can be called is after a single polling interval. Setting the polling interval higher will increase the delay before the first possible onMouseOver
call, but also increases the time to the next point of comparison.
Default interval: 100
Basic usage
import React from "react";
import { useHoverIntent } from "react-use-hoverintent";
export const MyFunctionalComponent = (props) => {
const [isHovering, intentRef, setIsHovering] = useHoverIntent();
return <div ref={intentRef} className={`${isHovering ? "hover" : ""}`}></div>;
};
With options
import React from "react";
import { useHoverIntent } from "react-use-hoverintent";
export const MyFunctionalComponent = (props) => {
const [isHovering, intentRef, setIsHovering] = useHoverIntent({
timeout: 100,
sensitivity: 10,
interval: 200,
});
return <div ref={intentRef} className={`${isHovering ? "hover" : ""}`} />;
};
With ForwardRef
import React from "react";
import { useHoverIntent } from "react-use-hoverintent";
export const MyFunctionalComponent = React.forwardRef((props, ref) => {
const [isHovering, intentRef, setIsHovering] = useHoverIntent({ ref });
return <div ref={intentRef} className={`${isHovering ? "hover" : ""}`} />;
});
With Custom UI lib
Check if they have innerRef
prop or forwarded ref
import React from "react";
import { useHoverIntent } from "react-use-hoverintent";
export const MyFunctionalComponent = (props) => {
const [isHovering, intentRef, setIsHovering] = useHoverIntent();
return (
<Card
innerRef={intentRef}
className={`${isHovering ? "hover" : ""}`}
></Card>
);
};
After v1.2.9
With custom hover state control
import React, { useCallback } from "react";
import { useHoverIntent } from "react-use-hoverintent";
export const MyFunctionalComponent = (props) => {
const [isHovering, intentRef, setIsHovering] = useHoverIntent();
const mouseOverHandler = useCallback(() => {
() => setIsHovering(true);
}, [setIsHovering]);
const mouseOutHandler = useCallback(() => {
() => setIsHovering(false);
}, [setIsHovering]);
return (
<>
<div ref={intentRef} className={`${isHovering ? "hover" : ""}`} />
<textarea onMouseOver={mouseOverHandler} onMouseOut={mouseOutHandler} />
</>
);
};
After v1.3.0
use version of your desire
index.js - commonjs
*.cjs - commonjs
*.esm.js - es module
*.min.* minified version
MIT
FAQs
React hook for hoverIntent
The npm package react-use-hoverintent receives a total of 8,018 weekly downloads. As such, react-use-hoverintent popularity was classified as popular.
We found that react-use-hoverintent demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.