Skip to content

Slider ​

Range input via Radix UI

With Label

Usage ​

tsx
import { Slider } from '@tryvienna/ui'

<Slider defaultValue="[50]" max="100" step="1" />

Examples ​

Default ​

Default
tsx
<Slider defaultValue="[50]" max="100" step="1" />

With Label ​

With Label
tsx
<div className="grid gap-4 w-80">
  <div className="flex items-center justify-between">
    <Label>Volume</Label>
    <span className="text-muted-foreground text-sm">75%</span>
  </div>
  <Slider defaultValue={[75]} max={100} step={1} />
</div>

Range ​

Range
tsx
<div className="grid gap-4 w-80">
  <div className="flex items-center justify-between">
    <Label>Price range</Label>
    <span className="text-muted-foreground text-sm">$25 - $75</span>
  </div>
  <Slider defaultValue={[25, 75]} max={100} step={5} />
</div>

With Steps ​

With Steps
tsx
<div className="grid gap-4 w-80">
  <div className="flex items-center justify-between">
    <Label>Temperature</Label>
    <span className="text-muted-foreground text-sm">0.7</span>
  </div>
  <Slider defaultValue={[7]} max={20} step={1} />
  <div className="flex justify-between text-xs text-muted-foreground">
    <span>0.0</span>
    <span>1.0</span>
    <span>2.0</span>
  </div>
</div>

Disabled ​

Disabled
tsx
<Slider defaultValue="[40]" max="100" step="1" disabled="true" />

Min Max ​

Min Max
tsx
<div className="grid gap-4 w-80">
  <Label>Brightness (20-80%)</Label>
  <Slider defaultValue={[50]} min={20} max={80} step={5} />
</div>

API Reference ​

Slider ​

PropTypeDefaultDescription
defaultValuenumber[] | undefined-
valuenumber[] | undefined-

Also accepts all props from SliderPrimitive.Root.

Data Attributes ​

Componentdata-slot
Slider"slider"