leptos_bootstrap/v5/
card.rs1use 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}