yew_bs/components/
visibility.rs1use yew::prelude::*;
2#[derive(Clone, Copy, PartialEq, Debug)]
3pub enum VisibilityType {
4 Visible,
5 Invisible,
6}
7impl VisibilityType {
8 pub fn as_str(&self) -> &'static str {
9 match self {
10 VisibilityType::Visible => "visible",
11 VisibilityType::Invisible => "invisible",
12 }
13 }
14}
15#[derive(Properties, PartialEq)]
17pub struct VisibilityProps {
18 pub visibility: VisibilityType,
20 #[prop_or_default]
22 pub children: Children,
23 #[prop_or_default]
25 pub class: Option<AttrValue>,
26}
27#[function_component(Visibility)]
31pub fn visibility(props: &VisibilityProps) -> Html {
32 let mut classes = Classes::new();
33 classes.push(props.visibility.as_str());
34 if let Some(custom_class) = &props.class {
35 classes.push(custom_class.to_string());
36 }
37 html! {
38 < div class = { classes } > { for props.children.iter() } </ div >
39 }
40}