1use components_core::{BASE_CLASS, concat};
2use leptos::prelude::*;
3use leptos::{IntoView, component, view};
4
5#[component]
6pub fn Tag(
7 #[prop(into)] label: String,
8 #[prop(into, optional)] selected: bool,
9 #[prop(into, optional)] class: String,
10) -> impl IntoView {
11 let class = crate::tw!(
12 selected
13 .then_some(concat!(BASE_CLASS, "-tag--selected"),)
14 .or_else(|| Some(concat!(BASE_CLASS, "-tag--default"),)),
15 concat!(BASE_CLASS, "-tag"),
16 class
17 );
18
19 view! {
20 <div class={class}>
21 {label}
22 </div>
23 }
24}