structyl

Slider API

View component

The full prop reference for the Slider component. An input where the user selects a value from within a given range.

Import

tsx
import { Slider } from '@structyl/styled';

Props

Slider

Styled slider component (main export from styled package, wraps Slider.Root with color theming)

PropTypeDefault
asChild#boolean

Render as child element (from underlying Primitive)

name#string

Form field name for hidden input(s)

disabled#boolean

Disable slider interaction and keyboard navigation

false
orientation#'horizontal' | 'vertical'

Slider direction

'horizontal'
dir#'ltr' | 'rtl'

Text direction (affects horizontal slider direction)

min#number

Minimum slider value

0
max#number

Maximum slider value

100
step#number

Step increment for keyboard/pointer movement

1
minStepsBetweenThumbs#number

Minimum gap between multiple thumbs in steps

0
value#number[]

Controlled slider value(s)

defaultValue#number[]

Initial uncontrolled value(s); defaults to [min] if not provided

onValueChange#(value: number[]) => void

Callback fired continuously while dragging or stepping

onValueCommit#(value: number[]) => void

Callback fired when drag or keyboard interaction ends

inverted#boolean

Reverse the slider direction (min/max swap)

false
thumbCount#number

Number of thumbs to render; inferred from value/defaultValue length if omitted

color#'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success'

Thumb border and range fill color variant

'primary'
className#string

CSS class for root element

ref#React.Ref<HTMLSpanElement>

Forward ref to root span element

Slider.Root

Root slider container (primitive compound component, use directly for headless slider)

PropTypeDefault
asChild#boolean

Render as child element instead of span

name#string

Form field name for hidden input(s)

disabled#boolean

Disable slider interaction and keyboard navigation

false
orientation#'horizontal' | 'vertical'

Slider direction

'horizontal'
dir#'ltr' | 'rtl'

Text direction (affects horizontal slider direction)

min#number

Minimum slider value

0
max#number

Maximum slider value

100
step#number

Step increment for keyboard/pointer movement

1
minStepsBetweenThumbs#number

Smallest gap between thumbs in multi-thumb sliders (in steps)

0
value#number[]

Controlled slider value(s)

defaultValue#number[]

Initial uncontrolled value(s); defaults to [min] if not provided

onValueChange#(value: number[]) => void

Callback fired continuously while dragging or stepping

onValueCommit#(value: number[]) => void

Callback fired when drag or keyboard interaction ends

inverted#boolean

Reverse the slider direction (min/max swap)

false
className#string

CSS class for root element

ref#React.Ref<HTMLSpanElement>

Forward ref to root span element

Slider.Track

Slider background track container

PropTypeDefault
asChild#boolean

Render as child element instead of span

className#string

CSS class for track element

ref#React.Ref<HTMLSpanElement>

Forward ref to track span element

Slider.Range

Colored fill range between min and max values (or between multiple thumbs)

PropTypeDefault
asChild#boolean

Render as child element instead of span

className#string

CSS class for range element

ref#React.Ref<HTMLSpanElement>

Forward ref to range span element

Slider.Thumb

Draggable thumb handle for slider value (rendered multiple times for multi-value sliders)

PropTypeDefault
asChild#boolean

Render as child element instead of span

aria-label#string

Accessible label; auto-generated as 'Minimum'/'Maximum' for 2-thumb sliders, 'Value N of M' for multi-thumb

className#string

CSS class for thumb element

ref#React.Ref<HTMLSpanElement>

Forward ref to thumb span element

Keyboard interactions

Adheres to the WAI-ARIA design pattern .

KeyDescription
ArrowRight / ArrowUpIncreases the value by the step amount.
ArrowLeft / ArrowDownDecreases the value by the step amount.
Home / EndSets the value to its minimum / maximum.
PageUp / PageDownIncreases / decreases by a larger step.

Source code

If you didn't find what you need here, read the component implementation .

structyl — Accessible React Component Library