Add FormInput component
All checks were successful
Push Workflows / rustfmt (push) Successful in 5s
Push Workflows / tailwind-build (push) Successful in 4s
Push Workflows / docs (push) Successful in 19s
Push Workflows / clippy (push) Successful in 17s
Push Workflows / test (push) Successful in 25s
Push Workflows / build (push) Successful in 51s
Push Workflows / nix-build (push) Successful in 5m13s

This commit is contained in:
2026-06-30 21:29:20 -04:00
parent fa9ea95657
commit 4bacbfd1ab
2 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
use dioxus::prelude::*;
/// A simple styled input box
#[component]
pub fn FormInput(
/// The placeholder text and label. When text is entered in the input, the label is shown above
/// the input box.
label: String,
#[props(default)] name: Option<String>,
#[props(default)] required: bool,
#[props(default)] r#type: String,
) -> Element {
let name = name.unwrap_or(label.to_lowercase());
rsx! {
div {
class: "group",
label {
class: "label opacity-0 not-group-has-placeholder-shown:opacity-100 transition-opacity pl-2",
{label.clone()}
}
input {
class: "input",
name,
required,
r#type,
placeholder: label,
}
}
}
}