simonwep/viselect
✨ Viselect - A high performance and lightweight library to add a visual way of selecting elements, just like on your Desktop. Zero dependencies, super small. Support for major frameworks! observed · 2026-08-28
Health v2 · maintenance only
79/100
- Activity 99
- Release rhythm 40
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: 8
- age_days: 3056
- days_rel: 594
- days_push: 8
- n_releases_24m: 6
Adoption not part of the score
2948 stars · 161 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Viselect is a lightweight (~4kb), zero-dependency JavaScript library for adding desktop-style visual selection (drag/rubber-band selection) of DOM elements to web apps. It ships framework bindings for React, Vue, and Preact and supports touch and scrolling.
Use cases
- add drag-to-select multiple elements in a web app
- implement rubber band selection like a desktop file manager
- select multiple items in a grid with mouse or touch
- add visual selection to a file or asset manager UI
- framework-agnostic DOM selection library for React or Vue
When to choose
- you need performant multi-element selection over many DOM nodes
- bundle size matters and you want zero dependencies
- you need touch/mobile and scroll-aware selection
- you use React, Vue, or Preact and want ready-made bindings
When to avoid
- you only need simple single-element click selection
- you need selection of non-DOM content like canvas or text ranges
- your framework has no supported binding and you can't write a custom integration
Facets
library · maturity stable
ui-components frontend-framework frontend web-development web-design browser dom-selection drag-select rubber-band-selection zero-dependencies react vue preact touch-support javascript nodejs
2 sources
- readme: https://github.com/simonwep/viselect · fetched 2026-08-28 · 3e9cf56e1918
- homepage: https://simonwep.github.io/viselect · fetched 2026-08-29 · 9971fa322c2b
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| simonwep/viselect | main | 79 |
For agents
markdown · JSON · MCP: product_card(name="simonwep/viselect")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem