patternfly_yew/layouts/
stack.rs1use yew::prelude::*;
4
5#[derive(Clone, PartialEq, Properties)]
6pub struct StackProperties {
7 #[prop_or_default]
8 pub children: Html,
9 #[prop_or_default]
10 pub gutter: bool,
11}
12
13#[function_component(Stack)]
28pub fn stack(props: &StackProperties) -> Html {
29 let mut classes = Classes::from("pf-v6-l-stack");
30
31 if props.gutter {
32 classes.push("pf-m-gutter");
33 }
34
35 html! (<div class={classes}>{ props.children.clone() }</div>)
36}
37
38#[derive(Clone, PartialEq, Properties)]
39pub struct StackItemProperties {
40 #[prop_or_default]
41 pub children: Html,
42 #[prop_or_default]
43 pub fill: bool,
44}
45
46#[function_component(StackItem)]
52pub fn stack_item(props: &StackItemProperties) -> Html {
53 let mut classes = Classes::from("pf-v6-l-stack__item");
54
55 if props.fill {
56 classes.push("pf-m-fill");
57 }
58
59 html! (<div class={classes}>{ props.children.clone() }</div>)
60}