Slider: Range
Pass two values for a range. Name each thumb with getAriaLabel, and keep them apart with minStepsBetweenValues. With draggableRange, drag anywhere between the thumbs to move both at once; a tap there still moves the nearest thumb.
This adds the example as components/examples/slider/range.tsx, together with the Slider component and the HextaUI theme tokens it needs.
pnpm dlx shadcn@latest add https://hextaui.com/r/slider-range.jsonTo add only the component, follow the Slider installation.
Props in this example
The Slider props this example sets, from the API reference.
| Prop | Type | Default |
|---|---|---|
defaultValue | number | number[] | – |
max | number | 100 |
step | number | 1 |
minStepsBetweenValues | number | 0 |
draggableRangeIn a range, dragging between the thumbs moves them together, keeping the gap. | boolean | false |
format | Intl.NumberFormatOptions | – |
getAriaLabelNames each thumb of a range. | (index: number) => string | – |
className | string | (state) => string | – |
Every prop is in the Slider API reference.
See them all, with keyboard support and accessibility notes, on the Slider page.
- CalendarA date grid for single, range and multiple selection, with sliding months, range previews and touch-sized days.
- CheckboxA checkbox whose check draws in, with indeterminate parents, groups and labels that share its hover.
- ComboboxA filterable select with chips, groups and async results, in a popup that resizes as you type.
- Date pickerA button that opens a calendar in a popover, or a bottom sheet on phones, for single dates and ranges.
- FieldLabels, descriptions and errors wired to their control, with validation states and layouts for forms.
- InputA text input with three sizes, invalid and read-only states, native validation styling and a 16px touch font so phones never zoom in.