Local guide ↗ import { Slider } from "bits-ui"

Single value

A numeric value updates continuously as the thumb moves

Output volume 62%
QuietFull

Range

type="multiple" binds number[]; the thumbs snippet supplies the indexes to render

Monthly infrastructure budget $25k–$70k
$25k $70k

Drag either thumb; values stay sorted as the handles cross.

Discrete steps and ticks

An array-valued step prop creates a non-linear scale, with thumbs, ticks and tickItems supplied to the children snippet

Editor font size

Discrete scale, not a continuous interval

16px
8 12 16 24 32 48

type is required: single mode binds a number; multiple mode binds a number array and automatically sorts crossed thumbs unless autoSort={false}. The root children snippet exposes thumb indexes and tick indexes; tickItems adds each tick’s numeric value. An array passed to step defines discrete allowed values rather than a uniform increment.

Slider deliberately renders no hidden form input because its value space is effectively unbounded. Add your own hidden input for a single value, or one input per range endpoint. Use onValueCommit for expensive work after a drag; onValueChange runs throughout it.