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! {
7 <div class=class>
8 {children()}
9 </div>
10 }
11}
12
13#[component]
14pub fn CardBody<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
15 let class = format!("card-body {}", class);
16 view! {
17 <div class=class>
18 {children()}
19 </div>
20 }
21}
22
23#[component]
24pub fn CardTitle<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
25 let class = format!("card-title {}", class);
26 view! {
27 <div class=class>
28 {children()}
29 </div>
30 }
31}
32
33#[component]
34pub fn CardSubTitle<'a>(
35 #[prop(optional, into)] class: &'a str,
36 children: Children,
37) -> impl IntoView {
38 let class = format!("card-sub-title {}", class);
39 view! {
40 <div class=class>
41 {children()}
42 </div>
43 }
44}
45
46#[component]
47pub fn CardText<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
48 let class = format!("card-text {}", class);
49 view! {
50 <p class=class>
51 {children()}
52 </p>
53 }
54}
55
56#[component]
57pub fn CardLink<'a>(
58 href: &'a str,
59 #[prop(optional, into)] class: &'a str,
60 children: Children,
61) -> impl IntoView {
62 let class = format!("card-link {}", class);
63 view! {
64 <a class=class href=href>
65 {children()}
66 </a>
67 }
68}
69
70#[component]
71pub fn CardHeader<'a>(#[prop(optional, into)] class: &'a str, children: Children) -> impl IntoView {
72 let class = format!("card-header {}", class);
73 view! {
74 <div class=class>
75 {children()}
76 </div>
77 }
78}