use dioxus::prelude::*;
mod props;
pub use props::{ButtonProps, ButtonSize, ButtonVariants};
mod style;
use style::{get_size_class, get_variant_class, BASE_CLASS};
pub fn Button(props: ButtonProps) -> Element {
let ButtonProps {
class,
variant,
size,
text,
} = props;
let variant_class = get_variant_class(&variant);
let size_class = get_size_class(&size);
let combined_class = format!("{} {} {} {}", BASE_CLASS, variant_class, size_class, class);
rsx! {
button { class: "{combined_class}", "{text}" }
}
}