
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
wheel-gestures
Advanced tools
wheel gestures and momentum detection in the browser
Install wheel-gestures using your package manager:
yarn add wheel-gestures # OR npm install wheel-gestures
Import and create an instance of WheelGestures and then add the element you want to observe.
import { WheelGestures } from 'wheel-gestures'
// create an instance per element
const wheelGestures = WheelGestures()
// find and observe the element the user can interact with
const element = window.document.querySelector('.slider')
wheelGestures.observe(element)
// add your event callback
wheelGestures.on('wheel', (wheelEventState) => {
//...
})
There are options to customize the behaviour.
This is the TypeScript type of the WheelEventState object provided. Even if you do not use TypeScript, this might be helpful to see how the data is provided:
export type VectorXYZ = [number, number, number]
export interface WheelEventState {
isStart: boolean
isMomentum: boolean
isEnding: boolean
isMomentumCancel: boolean
axisDelta: VectorXYZ
axisVelocity: VectorXYZ
axisMovement: VectorXYZ
axisMovementProjection: VectorXYZ
event: WheelEvent | WheelEventData
previous?: WheelEventState
}
Read more in the docs.
OS & Browsers
Other people also thought that it might be helpful for some interactions to be able to distinguish between user initiated wheel events and the ones that are triggered by inertia scroll, but none of the other known libraries delivered results in the precision I needed, so I developed my own solution. Honourable mentions:
Hammer.js is a popular library for handling touch gestures in web applications. It supports a wide range of gestures, including pinch, rotate, and swipe, in addition to wheel gestures. Compared to wheel-gestures, Hammer.js offers broader gesture support but may be more complex to integrate for simple wheel gesture needs.
Interact.js is a library for creating draggable, resizable, and gesturable elements. It provides comprehensive support for multi-touch gestures and interactions. While it offers more features than wheel-gestures, it might be overkill for applications that only require basic wheel gesture handling.
FAQs
wheel gestures and momentum detection
The npm package wheel-gestures receives a total of 421,858 weekly downloads. As such, wheel-gestures popularity was classified as popular.
We found that wheel-gestures 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.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.