ns-ui

Slider Range Shear

Dual-handle range slider whose selected span is a taut band of material: it visibly shears under drag velocity while the far handle stays planted, then snaps flat with a slight overshoot on release.

Use when a bounded min/max interval (price range, date window, size limit) where the two ends must read as one connected span, not two independent thumbs — the selected band visibly shears under drag velocity toward whichever handle is moving, with the other handle staying put as the anchor, then relaxes flat with a slight overshoot on release. Pick slider-loupe instead for a single value read through precision magnification (audio scrub, zoom level); that job has one thumb and no second bound to relate it to.

Install

npx shadcn add https://design.helpmarq.com/r/slider-range-shear.json
  • slider
  • range
  • dual-thumb
  • input
  • form
  • filter
  • micro-interaction

ns-ui / slider-range-shear — the span is one taut object, not two thumbs

Filter listings

Monthly rent, London

5 of 10
  • Loft studio, Ravenscourt£890/mo
  • Two-bed maisonette, Peckham£1,450/mo
  • Garden flat, Herne Hill£1,680/mo
  • One-bed, Walthamstow£1,180/mo
  • Studio above a bakery, Dalston£990/mo

drag a grip fast — the band leans with it, then snaps flat

Stay window

Which nights the booking covers.

WedSat

Props

PropTypeDefaultDescription
min?number
max?number
step?number
value?[number, number]controlled [min, max] value; omit for uncontrolled
defaultValue?[number, number]
onValueChange?(value: [number, number]) => void
formatValue?(v: number) => stringformats a bound for both the printed readout and aria-valuetext
minLabel?stringaccessible name for the lower-bound input
maxLabel?stringaccessible name for the upper-bound input
className?string