leptos-bulma 0.6.0

A Leptos component library based on Bulma CSS framework.
Documentation
use leptos::*;

use crate::enums::BColor;

#[component]
pub fn BNotification(
    children: ChildrenFn,
    #[prop(optional, into)] class: TextProp,

    #[prop(default = BColor::Default.into(), into)] color: MaybeSignal<BColor>,
    #[prop(optional, into)] is_light: MaybeSignal<bool>,
    #[prop(into)] is_active: RwSignal<bool>,
) -> impl IntoView {
    let class_list = move || {
        let mut class_list = "notification".to_owned();

        color.get().add_to_class_list(&mut class_list);

        if is_light.get() {
            class_list += " is-light";
        }

        if !class.get().is_empty() {
            class_list += &format!(" {}", class.get());
        }

        class_list
    };

    let class_list = store_value(class_list);

    view! {
        <Show when=move || { is_active.get() }>
            <div class=class_list.with_value(|class_list| class_list())>
                <button class="delete" on:click=move |_| { is_active.set(false) }></button>
                {children()}
            </div>
        </Show>
    }
}