leptos-bootstrap 0.0.3

Bootstrap styled components for leptos.
Documentation
use leptos::prelude::*;

#[component]
pub fn Card<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
    let class = format!("card {}", class);
    view! { <div class=class>{children()}</div> }
}

#[component]
pub fn CardBody<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
    let class = format!("card-body {}", class);
    view! { <div class=class>{children()}</div> }
}

#[component]
pub fn CardTitle<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
    let class = format!("card-title {}", class);
    view! { <div class=class>{children()}</div> }
}

#[component]
pub fn CardSubTitle<'a>(
    #[prop(optional, into)] class: &'a str,
    children: Children,
) -> impl IntoView {
    let class = format!("card-sub-title {}", class);
    view! { <div class=class>{children()}</div> }
}

#[component]
pub fn CardText<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
    let class = format!("card-text {}", class);
    view! { <p class=class>{children()}</p> }
}

#[component]
pub fn CardLink<'a>(
    href: &'a str,
    #[prop(optional, into)] class: &'a str,
    children: Children,
) -> impl IntoView {
    let class = format!("card-link {}", class);
    view! {
        <a class=class href=href>
            {children()}
        </a>
    }
}

#[component]
pub fn CardHeader<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
    let class = format!("card-header {}", class);
    view! { <div class=class>{children()}</div> }
}