patternfly_yew/components/page/
sidebar.rs1use yew::prelude::*;
2
3#[derive(Clone, PartialEq, Properties)]
5pub struct PageSidebarProperties {
6 #[prop_or_default]
7 pub children: Html,
8 #[prop_or(true)]
9 pub open: bool,
10}
11
12#[function_component(PageSidebar)]
18pub fn page_sidebar(props: &PageSidebarProperties) -> Html {
19 let mut classes = match props.open {
20 true => classes!["pf-m-expanded"],
21 false => classes!["pf-m-collapsed"],
22 };
23
24 classes.push("pf-v5-c-page__sidebar");
25
26 html! (
27 <div
28 aria-hidden={(!props.open).to_string()}
29 class={classes}>
30 <div class="pf-v5-c-page__sidebar-body">
31 { props.children.clone() }
32 </div>
33 </div>
34 )
35}