euv_ui/component/theme/hook/struct.rs
1use crate::*;
2
3/// Holds the reactive state for the application theme.
4///
5/// Provides the current theme signal and the derived root element class name
6/// signal that combines the app root class with the active theme class.
7#[derive(Clone, Copy, Data, New)]
8pub struct ThemeState {
9 /// The current theme name signal ("light" or "dark").
10 #[get(type(copy))]
11 pub theme: Signal<String>,
12 /// The derived root element class name signal combining the app root
13 /// class and the active theme class.
14 #[get(type(copy))]
15 pub root_class: Signal<String>,
16}