Sliders/Scrollbar
Sliders and Scrollbars are interactive controls used to adjust values or navigate through scrollable content. Despite having similar visual structures, they serve different purposes: Slider — used to set or adjust a value (e.g., size, opacity, spacing). Scrollbar — used to navigate content vertically or horizontally (e.g., galleries, dropdown menus, scrollable panels). Both components support consistent visual states and value positions to ensure predictable interaction patterns across the interface.
RangeSlider
A RangeSlider is a horizontal control that allows users to choose a value within a predefined range by moving a draggable thumb along a track. It is commonly used on configuration panels, settings controls, and any place where a precise yet simple numeric adjustment is required. Built on @radix-ui/react-slider with custom styles from Figma design.
States
RangeSlider supports interactive states: Default and Hovered.
1. Default State
The normal state of the slider before user interaction.
Value: 0
Value: 50
Value: 100
2. Interactive RangeSlider
RangeSlider with controlled value. Hover over the thumb to see the hovered state.
Current Value: 50
Values
Values represent the position of the slider's thumb on the track:
- • 0 — Thumb positioned at the start of the track (minimum value)
- • 50 — Thumb centered (mid-value)
- • 100 — Thumb at the end of the track (maximum value)
Minimum (0)
Mid-value (50)
Maximum (100)
Usage Examples
Volume Control
ScrollArea
A ScrollArea is a navigation control that lets users scroll through content that exceeds the visible area. Unlike sliders, scrollbars reflect the current scroll position of content rather than setting a value. Scrollbars can be vertical or horizontal, depending on the content layout. Built on @radix-ui/react-scroll-area with custom styles from Figma design. The scrollbar automatically hides when not needed.
Types
Vertical ScrollArea
ScrollArea with vertical scrolling. The scrollbar appears automatically when content exceeds the visible area.
Short Content (no scrollbar)
Long Content (with scrollbar)
Horizontal ScrollArea
ScrollArea with horizontal scrolling. Scroll horizontally to see the scrollbar update.
Both Vertical and Horizontal ScrollArea
ScrollArea with both vertical and horizontal scrolling. Scroll in any direction to see both scrollbars update.
Values
Values indicate the thumb position along the scrollable track:
- • 0 — Start of the scroll (top for vertical, left for horizontal)
- • 50 — Middle of the scrollable area
- • 100 — End of the scroll (bottom for vertical, right for horizontal)
Behavior & Interaction Principles
RangeSlider
- • Users can drag the thumb or tap the track to move to a specific position
- • Movement is smooth, with immediate visual and value feedback
- • Slider interactions should be continuous, without discrete jumps unless defined by system logic
- • The track may have two color segments: filled (active value) and remaining (inactive)
- • The thumb should maintain a clear focus state for accessibility
ScrollArea
- • Users can drag the scrollbar thumb or use scroll gestures (wheel, trackpad, touch)
- • Thumb size should reflect the ratio of visible content to total content
- • Movement should be smooth and responsive
- • Scrollbars automatically hide when not needed
- • Both vertical and horizontal scrollbars must support keyboard navigation for accessibility
Usage Guidelines
RangeSlider
- • Use sliders for adjustable numeric or visual properties (e.g., size, opacity, volume)
- • Avoid using sliders for settings that require exact numerical input — pair with a numeric field if precision is needed
- • Place sliders horizontally only; vertical orientation is not recommended
- • Provide clear labels or helper text to explain what the slider controls
ScrollArea
- • Use scrollbars for containers where content exceeds available space
- • Keep scrollbar visuals minimal to avoid distraction
- • For galleries, grids, and dropdowns, ensure scrollbars do not obstruct interactive elements
- • Respect platform and OS conventions (e.g., macOS overlay scrollbars)
- • Avoid overusing scrollbars — adjust layouts instead when possible