use crate::class::Class;
use dioxus::prelude::*;
pub fn Input(props: InputProps) -> Element {
rsx! {
input {
class: props.class,
r#type: "text",
..props.attributes,
onchange: move |event| async move {
if let Some(handler) = props.on_change.as_ref() {
handler.call(event.value());
}
}
}
}
}
#[derive(Clone, PartialEq, Props)]
pub struct InputProps {
#[props(into, default = "input".into())]
pub class: Class,
pub on_change: Option<EventHandler<String>>,
#[props(extends = input)]
attributes: Vec<Attribute>,
}