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"