Skip to main content

circular_wavy_progress_indicator

Function circular_wavy_progress_indicator 

Source
pub fn circular_wavy_progress_indicator() -> CircularWavyProgressIndicatorBuilder
Expand description

§circular_wavy_progress_indicator

Show completion or ongoing work with an expressive circular waveform.

§Usage

Indicate a loading operation or task completion in a compact space.

§Parameters

  • progress — completion in 0.0..=1.0; omit for ongoing work.
  • modifier — placement and size; defaults to 48dp square.
  • color, track_color — optional active and inactive colors.
  • stroke_width, track_stroke_width — independent widths; default to 4dp.
  • stroke_cap, track_stroke_cap — independent caps; default to rounded.
  • amplitude — wave fraction in 0.0..=1.0; defaults to full height, flattening at known progress at or below 10% and at or above 95%.
  • wavelength — preferred wavelength, default 15dp. The wave count is rounded to fit, with a minimum of five and a maximum of 1024.
  • wave_speed — wave travel per second; defaults to one wavelength. Zero stops wave travel while indeterminate progress can continue.
  • gap_size — visible spacing between active and inactive arcs; default 4dp.
  • paused — freeze motion and stop requesting animation frames; changed appearance parameters still apply immediately.
  • reverse_direction — mirror the indicator for counterclockwise flow.
  • accessibility_label, accessibility_description — localized task details.

§Examples

use tessera_components::{
    theme::material_theme,
    wavy_progress::circular_wavy_progress_indicator,
};
use tessera_ui::tessera;

#[tessera]
fn content() {
    material_theme().child(|| {
        circular_wavy_progress_indicator()
            .progress(0.5)
            .paused(true);
    });
}