Skip to main content

euv_ui/hook/toggle/
struct.rs

1use super::*;
2
3/// A reactive boolean toggle.
4///
5/// Constructed via `Toggle::new()` (Lombok `New`).
6/// The initial value is the default (`false`); use
7/// `set_true` / `set_false` / `toggle` / `set` to
8/// change it. The current value is exposed as a
9/// `Signal<bool>` accessed through `get_value()`. Any
10/// `html!` body that reads `toggle.get_value().get()`
11/// inside its render closure re-renders when the value
12/// changes.
13///
14/// `Toggle::default()` produces the same value as
15/// `Toggle::new()`.
16#[derive(Clone, Data, Debug, Default, New)]
17pub struct Toggle {
18    /// The current value signal.
19    #[new(skip)]
20    pub(crate) value: Signal<bool>,
21}