build69
build69  /  Components  /  Selection & Choice  /  Slider

Slider

v1.0.8Updated 4 Oct 2026

Range slider control (Radix). Single or dual-thumb for numeric range input. Adds marks with labels, a hover value bubble, paired numeric inputs, and tonal variants.

Preview

Live · 15 stories
DefaultOpen ↗
▸Why this is recommendedformrangeslidernumeric+2

The default, out-of-the-box Slider.

Recommended for+14
  • ✓Volume / brightness
  • ✓Price range filter
  • ✓Settings with bounded numeric
  • ✓Image / colour adjustment
Tags+6
formrangeslidernumericmarksdefault
Features+4
  • Single / range
  • Step quantization
  • Keyboard control
  • Marks with labels
  • Hover value bubble
  • Paired numeric inputs
  • Tonal variants (primary / success / warning / destructive)
  • Labelled by FormField: id and aria-* land on the thumbs (role=slider), never the root span; thumbs are named by the field label, a range as "<label> Minimum value" / "<label> Maximum value"
Not recommended for−2
  • ✕Precise numeric input (use Input type="number")

Install

Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.

get_registry_item({ name: "Slider" })

Usage

import { Slider } from '@/components/inputs/slider';

<Slider min={0} max={100} marks={[{ value: 25 }, { value: 75 }]} showValueBubble />

Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.

Props

PropTypeRequired
value

Current values

number[]—
onValueChange

Value change callback

function—
min

Minimum value

number—
max

Maximum value

number—
marks

Mark positions + labels

SliderMark[]—
showValueBubble

Show hover value bubble

boolean—
showInputs

Show paired numeric inputs

boolean—
tone

Colour tone

'default' | 'primary' | 'success' | 'warning' | 'destructive'—
thumbLabels

Accessible name per thumb, in order; wins over aria-label / a FormField label

string[]—
aria-label

Names the thumb (a range: the prefix of each thumb name)

string—
aria-labelledby

Id(s) of the element(s) that label every thumb; wins over a FormField label

string—
id

DOM id set on the first thumb; FormField clones its field id in, and its label then names the control

string—
aria-describedby

Id(s) of hint or error text describing every thumb (FormField clones this in)

string—
aria-invalid

Mark every thumb invalid; FormField clones this in from its error prop

boolean—
aria-required

Mark every thumb required; FormField clones this in from its required prop

boolean—

Every tonal component shares the same tone × emphasis API, so the pair looks identical across Button, Badge, Alert and more.

Related