Browse documentation

Sliders and progress

Edit numeric values or report the progress of a task.

Import

Load the optional component layer before using the examples below.

Ruby
require "zaniah/ui"

Values and ranges

A slider edits one value; a range slider edits lower and upper bounds.

Rendered example
Slider, range slider, progress bar, spinner, and meter rendered together.
Rendered by Zaniah's headless backend.
Ruby
Zaniah::UI::Slider.new(value: 35, min: 0, max: 100, label: "Volume")
Zaniah::UI::RangeSlider.new(value: [20, 80], label: "Range")

Read-only indicators

Use ProgressBar for task completion, Spinner when progress is unknown, and Meter for a measured quantity with thresholds.

Ruby
Zaniah::UI::ProgressBar.new(value: 60, label: "Export")
Zaniah::UI::Spinner.new(label: "Loading")
Zaniah::UI::Meter.new(value: 72, low: 25, high: 80)

API summary

Constructor options and behaviors are drawn from the component reference.

ComponentConstructor and methodsVariants or behavior
Slider(value:, min:, max:, step:, label:); on_changepointer + arrow/Home/End/Page keys
RangeSlider(value: [low, high], ...)two thumbs
ProgressBar(value:, min:, max:, label:)determinate/indeterminate
Spinner(label:, size:)animated loading indicator
Meter(value:, low:, high:, optimum:)thresholds

Accessibility

Sliders support arrow, Home, End, and Page keys. Always label a progress indicator so its purpose is clear.

ComponentSemantic role
Sliderslider
RangeSliderslider
ProgressBarprogressbar
Spinnerprogressbar/busy
Metermeter