Add drag-and-drop to a React component so it follows the mouse and snaps back to its original position on release.
Build a pinch-to-zoom image viewer using the usePinch hook combined with a spring animation library.
Create scroll-linked interactive effects tied to page scroll position using useWheel or useScroll.
Add precise hover state tracking with mouse coordinates to an interactive canvas or data visualization.
| pmndrs/use-gesture | ntegrals/openbrowser | wxt-dev/wxt | |
|---|---|---|---|
| Stars | 9,620 | 9,444 | 9,800 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Install via npm, works standalone but pair with react-spring for smooth animated results.
This is a JavaScript library that makes it easy to detect and respond to mouse and touch gestures on elements in a web page. Gestures include dragging, pinching, scrolling, hovering, and wheel movements. The library gives you clean, detailed data about each gesture so you can write interactive effects in just a few lines of code. It works with React, where it provides a set of hooks (small reusable functions that plug into React components), and also with plain JavaScript for projects that do not use React. The README includes simple examples showing a draggable box that follows your mouse and snaps back when released. Pairing this library with an animation library like react-spring is recommended for smooth visual results, though it is not required. The available hooks cover specific gesture types individually: useDrag for drag events, usePinch for pinch-to-zoom, useScroll and useWheel for scrolling, useHover for mouse enter and leave, and useGesture for handling multiple gesture types in one place. Installation is a single package install via npm or yarn, with separate packages for the React and vanilla JavaScript versions. Full documentation with details on every option is hosted at use-gesture.netlify.com. The project is part of the Poimandres open-source collective and includes links to several interactive demos built with the library.
use-gesture is a JavaScript library that gives React and plain-JS apps detailed, clean data about mouse and touch gestures, drag, pinch, scroll, hover, so you can build interactive effects in a few lines.
Mainly TypeScript. The stack also includes TypeScript, JavaScript, React.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.