Import
Usage
RangeInput Props
HTML id for the input field and label association.
The current value. Defaults to
min if not provided.Minimum value of the range.
Maximum value of the range.
Callback fired when the value changes. Receives the input event and the input element.
Object-based class names for conditional styling.
All standard HTML input attributes are supported (except
type and standard class).Examples
Behavior
The component displays tick marks between min and max values (excluding endpoints). A tooltip showing the current value appears above the handle on hover. The filled portion of the track updates in real-time as you drag.
Visual Features
- Filled Track: The track fills from left to right based on current value percentage
- Tick Marks: Subtle vertical lines indicate step positions (if more than 2 values)
- Draggable Handle: Circular handle with accent color
- Hover Tooltip: Current value displays above handle on hover
- Touch Support: Full touch event support with
touch-manipulation
Styling
- The actual range input is invisible (
opacity-0) but remains interactive - Custom track and handle styled with Luminescent UI design tokens
- Smooth transitions on hover with
transition-all - Handle positioned absolutely and translates based on value percentage
- Tooltip appears with smooth opacity transition
Accessibility
- Native
<input type="range">provides keyboard support (arrow keys) - Label is associated with input via
forattribute - The range input remains focusable despite custom styling
select-noneon label prevents text selection during drag