leptos_bootstrap/v5/
card.rs

1use leptos::prelude::*;
2
3#[component]
4pub fn Card<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
5    let class = format!("card {}", class);
6    view! { <div class=class>{children()}</div> }
7}
8
9#[component]
10pub fn CardBody<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
11    let class = format!("card-body {}", class);
12    view! { <div class=class>{children()}</div> }
13}
14
15#[component]
16pub fn CardTitle<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
17    let class = format!("card-title {}", class);
18    view! { <div class=class>{children()}</div> }
19}
20
21#[component]
22pub fn CardSubTitle<'a>(
23    #[prop(optional, into)] class: &'a str,
24    children: Children,
25) -> impl IntoView {
26    let class = format!("card-sub-title {}", class);
27    view! { <div class=class>{children()}</div> }
28}
29
30#[component]
31pub fn CardText<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
32    let class = format!("card-text {}", class);
33    view! { <p class=class>{children()}</p> }
34}
35
36#[component]
37pub fn CardLink<'a>(
38    href: &'a str,
39    #[prop(optional, into)] class: &'a str,
40    children: Children,
41) -> impl IntoView {
42    let class = format!("card-link {}", class);
43    view! {
44        <a class=class href=href>
45            {children()}
46        </a>
47    }
48}
49
50#[component]
51pub fn CardHeader<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
52    let class = format!("card-header {}", class);
53    view! { <div class=class>{children()}</div> }
54}