use super::*;
#[component]
pub fn euv_text(node: VirtualNode<EuvTextProps>) -> VirtualNode {
let EuvTextProps { text, variant }: EuvTextProps = node.try_get_props().unwrap_or_default();
html! {
span {
class: text_class(variant)()
text
}
}
}
fn text_class(variant: EuvTextVariant) -> fn() -> &'static Css {
match variant {
EuvTextVariant::Body => c_euv_text,
EuvTextVariant::Title => c_euv_text_title,
EuvTextVariant::TitleLg => c_euv_text_title_lg,
EuvTextVariant::TitleSm => c_euv_text_title_sm,
EuvTextVariant::Paragraph => c_euv_text_paragraph,
EuvTextVariant::Secondary => c_euv_text_secondary,
EuvTextVariant::Mono => c_euv_text_mono,
EuvTextVariant::Deletion => c_euv_text_deletion,
EuvTextVariant::Underline => c_euv_text_underline,
}
}