Slider API
View componentThe full prop reference for the Slider component. An input where the user selects a value from within a given range.
Import
import { Slider } from '@structyl/styled';Props
Slider
Styled slider component (main export from styled package, wraps Slider.Root with color theming)
| Prop | Type | Default |
|---|---|---|
| asChild# | booleanRender as child element (from underlying Primitive) | — |
| name# | stringForm field name for hidden input(s) | — |
| disabled# | booleanDisable slider interaction and keyboard navigation | false |
| orientation# | 'horizontal' | 'vertical'Slider direction | 'horizontal' |
| dir# | 'ltr' | 'rtl'Text direction (affects horizontal slider direction) | — |
| min# | numberMinimum slider value | 0 |
| max# | numberMaximum slider value | 100 |
| step# | numberStep increment for keyboard/pointer movement | 1 |
| minStepsBetweenThumbs# | numberMinimum 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[]) => voidCallback fired continuously while dragging or stepping | — |
| onValueCommit# | (value: number[]) => voidCallback fired when drag or keyboard interaction ends | — |
| inverted# | booleanReverse the slider direction (min/max swap) | false |
| thumbCount# | numberNumber 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# | stringCSS 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)
| Prop | Type | Default |
|---|---|---|
| asChild# | booleanRender as child element instead of span | — |
| name# | stringForm field name for hidden input(s) | — |
| disabled# | booleanDisable slider interaction and keyboard navigation | false |
| orientation# | 'horizontal' | 'vertical'Slider direction | 'horizontal' |
| dir# | 'ltr' | 'rtl'Text direction (affects horizontal slider direction) | — |
| min# | numberMinimum slider value | 0 |
| max# | numberMaximum slider value | 100 |
| step# | numberStep increment for keyboard/pointer movement | 1 |
| minStepsBetweenThumbs# | numberSmallest 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[]) => voidCallback fired continuously while dragging or stepping | — |
| onValueCommit# | (value: number[]) => voidCallback fired when drag or keyboard interaction ends | — |
| inverted# | booleanReverse the slider direction (min/max swap) | false |
| className# | stringCSS class for root element | — |
| ref# | React.Ref<HTMLSpanElement>Forward ref to root span element | — |
Slider.Track
Slider background track container
| Prop | Type | Default |
|---|---|---|
| asChild# | booleanRender as child element instead of span | — |
| className# | stringCSS 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)
| Prop | Type | Default |
|---|---|---|
| asChild# | booleanRender as child element instead of span | — |
| className# | stringCSS 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)
| Prop | Type | Default |
|---|---|---|
| asChild# | booleanRender as child element instead of span | — |
| aria-label# | stringAccessible label; auto-generated as 'Minimum'/'Maximum' for 2-thumb sliders, 'Value N of M' for multi-thumb | — |
| className# | stringCSS class for thumb element | — |
| ref# | React.Ref<HTMLSpanElement>Forward ref to thumb span element | — |
Keyboard interactions
Adheres to the WAI-ARIA design pattern .
| Key | Description |
|---|---|
| ArrowRight / ArrowUp | Increases the value by the step amount. |
| ArrowLeft / ArrowDown | Decreases the value by the step amount. |
| Home / End | Sets the value to its minimum / maximum. |
| PageUp / PageDown | Increases / decreases by a larger step. |
Source code
If you didn't find what you need here, read the component implementation .