Skip to main content

Crate tui_slider

Crate tui_slider 

Source
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