patternfly_yew/components/
hint.rs1use yew::prelude::*;
4
5#[derive(Clone, PartialEq, Properties)]
7pub struct HintProperties {
8 #[prop_or_default]
9 pub id: AttrValue,
10 #[prop_or_default]
11 pub actions: Option<Html>,
12 #[prop_or_default]
13 pub class: Classes,
14 #[prop_or_default]
15 pub children: Html,
16}
17
18#[function_component(Hint)]
28pub fn hint(props: &HintProperties) -> Html {
29 let mut class = props.class.clone();
30 class.push("pf-v6-c-hint");
31
32 html! (
33 <div id={props.id.clone()} {class}>
34 if let Some(actions) = &props.actions {
35 <div class="pf-v6-c-hint__actions">{ actions.clone() }</div>
36 }
37 { props.children.clone() }
38 </div>
39 )
40}
41
42#[derive(Clone, PartialEq, Properties)]
44pub struct HintTitleProperties {
45 #[prop_or_default]
46 pub id: AttrValue,
47 #[prop_or_default]
48 pub class: Classes,
49 #[prop_or_default]
50 pub children: Html,
51}
52
53#[function_component(HintTitle)]
59pub fn hint_title(props: &HintTitleProperties) -> Html {
60 let mut class = props.class.clone();
61 class.push("pf-v6-c-hint__title");
62
63 html! (<div id={props.id.clone()} {class}>{ props.children.clone() }</div>)
64}
65
66#[derive(Clone, PartialEq, Properties)]
68pub struct HintBodyProperties {
69 #[prop_or_default]
70 pub id: AttrValue,
71 #[prop_or_default]
72 pub class: Classes,
73 #[prop_or_default]
74 pub children: Html,
75}
76
77#[function_component(HintBody)]
83pub fn hint_body(props: &HintBodyProperties) -> Html {
84 let mut class = props.class.clone();
85 class.push("pf-v6-c-hint__body");
86
87 html! (<div id={props.id.clone()} {class}>{ props.children.clone() }</div>)
88}
89
90#[derive(Clone, PartialEq, Properties)]
92pub struct HintFooterProperties {
93 #[prop_or_default]
94 pub id: AttrValue,
95 #[prop_or_default]
96 pub class: Classes,
97 #[prop_or_default]
98 pub children: Html,
99}
100
101#[function_component(HintFooter)]
107pub fn hint_footer(props: &HintFooterProperties) -> Html {
108 let mut class = props.class.clone();
109 class.push("pf-v6-c-hint__footer");
110
111 html! (<div id={props.id.clone()} {class}>{ props.children.clone() }</div>)
112}