Skip to content
Docs/Slider

Slider

Range slider with keyboard support, customizable min/max/step. Client component.

Usage

tsx
1import { Slider } from '@storm-ds/ui'
2
3<Slider defaultValue={50} />

Default

Value: 50

tsx
1const [value, setValue] = useState(50)
2
3<Slider value={value} onChange={setValue} />

Sizes

Small

Medium

Large

tsx
1<Slider size="sm" defaultValue={30} />
2<Slider size="md" defaultValue={50} />
3<Slider size="lg" defaultValue={70} />

Disabled

tsx
1<Slider disabled defaultValue={40} />

Props

PropTypeDefaultDescription
valuenumber-Controlled value
defaultValuenumber0Initial value
minnumber0Minimum value
maxnumber100Maximum value
stepnumber1Step increment
size'sm' | 'md' | 'lg''md'Slider size
disabledbooleanfalseDisables the slider
onChange(value: number) => void-Called when value changes
classNamestring-Custom classes

Use with AI

Create a Next.js component using Storm UI's Slider. Import: `import { Slider } from '@storm-ds/ui'`. Client component. Supports controlled (value + onChange) and uncontrolled (defaultValue) modes. Props: min, max, step, size (sm/md/lg), disabled. Keyboard accessible (arrow keys). Example: `<Slider defaultValue={50} min={0} max={100} step={5} onChange={(v) => console.log(v)} />`