Slider

Draggable range input with optional marks, min/max, and step control.

Live Demo

Basic

Value: 40

With Marks

Disabled

Props

PropTypeDefaultDescription
valuenumberControlled value
defaultValuenumber0Default value (uncontrolled)
minnumber0Minimum value
maxnumber100Maximum value
stepnumber1Step increment
disabledbooleanfalseDisables the slider
marksSliderMark[]Array of marks along the track
onChange(value: number) => voidCallback with new value

Usage

import { Slider } from '@ghiberti85/ui'

const [value, setValue] = useState(40)

// Basic
<Slider value={value} onChange={setValue} aria-label="Volume" />

// With marks and step
<Slider
  value={value}
  onChange={setValue}
  step={25}
  marks={[
    { value: 0, label: '0' },
    { value: 50, label: '50' },
    { value: 100, label: '100' },
  ]}
  aria-label="Level"
/>

// Disabled
<Slider defaultValue={60} disabled aria-label="Disabled" />

View in Storybook

Open in Storybook
Ghiberti UI — Design System