ns-ui

Slider Loupe

Slider read through a circular magnifying loupe riding the thumb: the tick beneath sits sharp at 1.8x inside the lens while the rest of the scale rests soft-focus; rubber-banding past the bounds wobbles the magnification on release.

Use when a slider read through a circular magnifying loupe that rides the thumb, sharpening the tick beneath it while the rest of the scale stays soft-focus; use for precise value-reading (audio scrub, zoom level), not a destructive confirm gesture; pick slider-vernier instead when the final digit needs ceremony and precision is the whole point, slider-range-shear when two bounds are being set rather than one value, or confirm-slide-shatter when the drag is the destructive confirm this line rules out.

Install

npx shadcn add https://design.helpmarq.com/r/slider-loupe.json
  • slider
  • input
  • form
  • canvas
  • magnifier
  • micro-interaction

ns-ui / slider-loupe — the lens is the readout

Nocturne in Monochrome

Signal Terrain — Field Recordings, Vol. II

paused
1:144:22

Waveform zoom

Magnification of the editor timeline.

175%

drag past either end for a rubber-band wobble · arrows / PageUp / Home steer the lens

Props

PropTypeDefaultDescription
value?numbercontrolled value; omit for uncontrolled
defaultValue?number50
min?number0
max?number100
step?number1
tickStep?numberminor tick interval in value units; auto-derived when omitted
majorEvery?number5every Nth minor tick is major and labeled
formatLabel?(v: number) => stringtick label text (drawn on canvas)
formatValue?(v: number) => stringaria-valuetext for the current value
onValueChange?(v: number) => void
className?string
aria-label?string"Value"