css_style/
visibility.rs

1use crate::{Style, StyleUpdater};
2
3#[derive(Clone, Debug, Copy, PartialEq, Eq, Display, From)]
4pub enum Visibility {
5    #[display(fmt = "visible")]
6    Visible,
7    #[display(fmt = "hidden")]
8    Hidden,
9    #[display(fmt = "collapse")]
10    Collapse,
11    #[display(fmt = "initial")]
12    Initial,
13    #[display(fmt = "inherit")]
14    Inherit,
15}
16
17impl From<bool> for Visibility {
18    fn from(source: bool) -> Self {
19        if source {
20            Visibility::Visible
21        } else {
22            Visibility::Hidden
23        }
24    }
25}
26
27impl StyleUpdater for Visibility {
28    fn update_style(self, style: Style) -> Style {
29        style.insert("visibility", self.to_string())
30    }
31}