use crate::*;
#[derive(Clone, Copy, Data, New)]
pub struct UsePropsDemo {
#[get(pub, type(copy))]
pub parent_message: Signal<String>,
#[get(pub, type(copy))]
pub child_response: Signal<String>,
}
#[derive(Clone, Copy, Data, New)]
pub struct UseTwoWayDemo {
#[get(pub, type(copy))]
pub shared_text: Signal<String>,
#[get(pub, type(copy))]
pub shared_count: Signal<i32>,
}
#[derive(Clone, Copy, Data, New)]
pub struct UseCrossComponentDemo {
#[get(pub, type(copy))]
pub celsius: Signal<f64>,
#[get(pub, type(copy))]
pub fahrenheit: Signal<f64>,
#[get(pub, type(copy))]
pub red: Signal<i32>,
#[get(pub, type(copy))]
pub green: Signal<i32>,
#[get(pub, type(copy))]
pub blue: Signal<i32>,
#[get(pub, type(copy))]
pub hex_color: Signal<String>,
}
#[derive(Clone, Copy, Data, New)]
pub struct UseTypedPropsDemo {
#[get(pub, type(copy))]
pub disabled: Signal<bool>,
#[get(pub, type(copy))]
pub max_count: Signal<i32>,
#[get(pub, type(copy))]
pub current_count: Signal<i32>,
}
#[derive(Clone, Copy, Data, New)]
pub struct UseCustomCallbackDemo {
#[get(pub, type(copy))]
pub text_value: Signal<String>,
#[get(pub, type(copy))]
pub last_event: Signal<String>,
}