at main 54 lines 2.7 kB view raw
1use dioxus::prelude::*; 2 3#[component] 4pub fn Input( 5 oninput: Option<EventHandler<FormEvent>>, 6 onchange: Option<EventHandler<FormEvent>>, 7 oninvalid: Option<EventHandler<FormEvent>>, 8 onselect: Option<EventHandler<SelectionEvent>>, 9 onselectionchange: Option<EventHandler<SelectionEvent>>, 10 onfocus: Option<EventHandler<FocusEvent>>, 11 onblur: Option<EventHandler<FocusEvent>>, 12 onfocusin: Option<EventHandler<FocusEvent>>, 13 onfocusout: Option<EventHandler<FocusEvent>>, 14 onkeydown: Option<EventHandler<KeyboardEvent>>, 15 onkeypress: Option<EventHandler<KeyboardEvent>>, 16 onkeyup: Option<EventHandler<KeyboardEvent>>, 17 oncompositionstart: Option<EventHandler<CompositionEvent>>, 18 oncompositionupdate: Option<EventHandler<CompositionEvent>>, 19 oncompositionend: Option<EventHandler<CompositionEvent>>, 20 oncopy: Option<EventHandler<ClipboardEvent>>, 21 oncut: Option<EventHandler<ClipboardEvent>>, 22 onpaste: Option<EventHandler<ClipboardEvent>>, 23 #[props(extends=GlobalAttributes)] 24 #[props(extends=input)] 25 attributes: Vec<Attribute>, 26 children: Element, 27) -> Element { 28 rsx! { 29 document::Link { rel: "stylesheet", href: asset!("./input-style.css") } 30 input { 31 class: "input", 32 oninput: move |e| _ = oninput.map(|callback| callback(e)), 33 onchange: move |e| _ = onchange.map(|callback| callback(e)), 34 oninvalid: move |e| _ = oninvalid.map(|callback| callback(e)), 35 onselect: move |e| _ = onselect.map(|callback| callback(e)), 36 onselectionchange: move |e| _ = onselectionchange.map(|callback| callback(e)), 37 onfocus: move |e| _ = onfocus.map(|callback| callback(e)), 38 onblur: move |e| _ = onblur.map(|callback| callback(e)), 39 onfocusin: move |e| _ = onfocusin.map(|callback| callback(e)), 40 onfocusout: move |e| _ = onfocusout.map(|callback| callback(e)), 41 onkeydown: move |e| _ = onkeydown.map(|callback| callback(e)), 42 onkeypress: move |e| _ = onkeypress.map(|callback| callback(e)), 43 onkeyup: move |e| _ = onkeyup.map(|callback| callback(e)), 44 oncompositionstart: move |e| _ = oncompositionstart.map(|callback| callback(e)), 45 oncompositionupdate: move |e| _ = oncompositionupdate.map(|callback| callback(e)), 46 oncompositionend: move |e| _ = oncompositionend.map(|callback| callback(e)), 47 oncopy: move |e| _ = oncopy.map(|callback| callback(e)), 48 oncut: move |e| _ = oncut.map(|callback| callback(e)), 49 onpaste: move |e| _ = onpaste.map(|callback| callback(e)), 50 ..attributes, 51 {children} 52 } 53 } 54}