euv_ui/component/progress/view/struct.rs
1use super::*;
2
3/// Props for the `euv_progress` component.
4///
5/// Defines the strongly-typed interface for a determinate progress bar.
6/// The fill level is owned by the caller through a `Signal<f64>` so the
7/// bar can be driven by a download, a form submission, or a timer.
8#[derive(Clone, CustomDebug, Data, Default, New)]
9pub struct EuvProgressProps {
10 /// The completion percentage in the `0.0..=100.0` range; values
11 /// outside it are clamped by [`progress_percent_clamp`].
12 #[get(type(copy))]
13 pub percent: Signal<f64>,
14 /// The label text displayed beside the bar.
15 #[get(type(copy))]
16 pub label: &'static str,
17 /// Whether the bar is currently advancing; drives the animated
18 /// running style instead of the settled one.
19 #[get(type(copy))]
20 pub active: Signal<bool>,
21}