Expand description
§tui-slider
A simple TUI slider component library for ratatui.
This library provides horizontal and vertical sliders for terminal user interfaces.
§Features
- Horizontal and Vertical sliders - Support for both orientations
- Simple styling - Customizable colors and symbols
- State management - Built-in state for value tracking
- Easy to use - Minimal configuration required
§Quick Start
use ratatui::prelude::*;
use tui_slider::{Slider, SliderState, SliderOrientation};
// Create a slider state
let mut state = SliderState::new(50.0, 0.0, 100.0);
// Create a slider widget
let slider = Slider::from_state(&state)
.orientation(SliderOrientation::Horizontal)
.label("Volume")
.show_value(true);
// Render it (in your terminal UI loop)
// frame.render_widget(slider, area);§Customization
Customize the appearance with colors and symbols:
use ratatui::style::Color;
use tui_slider::{Slider, SliderState};
let state = SliderState::new(50.0, 0.0, 100.0);
let slider = Slider::from_state(&state)
.filled_symbol("━")
.empty_symbol("─")
.handle_symbol("●")
.filled_color(Color::Cyan)
.empty_color(Color::DarkGray)
.handle_color(Color::White);§Vertical Sliders
Create vertical sliders for equalizers and level meters:
use tui_slider::{Slider, SliderState, SliderOrientation};
let state = SliderState::new(60.0, 0.0, 100.0);
let vertical_slider = Slider::from_state(&state)
.orientation(SliderOrientation::Vertical)
.label("Bass");Re-exports§
pub use orientation::SliderOrientation;pub use position::HorizontalBarAlignment;pub use position::VerticalLabelPosition;pub use position::VerticalValueAlignment;pub use position::VerticalValuePosition;pub use slider::Slider;pub use state::SliderState;
Modules§
- border
- Border styling module
- orientation
- Slider orientation module
- position
- Position enums for label and value placement in sliders
- prelude
- Prelude module for convenient imports
- slider
- Main slider widget module
- state
- Slider state management module
- style
- Slider style configuration module
- symbols
- Symbols for slider widget