leptos-components 0.2.9

RustLangES leptos components
Documentation
use components_core::{BASE_CLASS, concat};
use leptos::prelude::*;
use leptos::{IntoView, component, view};

#[component]
pub fn Tag(
    #[prop(into)] label: String,
    #[prop(into, optional)] selected: bool,
    #[prop(into, optional)] class: String,
) -> impl IntoView {
    let class = crate::tw!(
        selected
            .then_some(concat!(BASE_CLASS, "-tag--selected"),)
            .or_else(|| Some(concat!(BASE_CLASS, "-tag--default"),)),
        concat!(BASE_CLASS, "-tag"),
        class
    );

    view! {
        <div class={class}>
            {label}
        </div>
    }
}