deft 0.15.0

Cross platform ui framework
use crate::style::PropValueParse;

#[derive(Clone, Debug, PartialEq)]
pub enum Overflow {
    Visible,
    Hidden,
    Scroll,
    Auto,
}

impl Overflow {
    pub fn to_yoga_overflow(&self) -> yoga::Overflow {
        match self {
            Overflow::Visible => yoga::Overflow::Visible,
            Overflow::Hidden => yoga::Overflow::Hidden,
            Overflow::Scroll => yoga::Overflow::Scroll,
            Overflow::Auto => yoga::Overflow::Scroll,
        }
    }
}

impl PropValueParse for Overflow {
    fn parse_prop_value(value: &str) -> Option<Self> {
        match value.to_lowercase().as_str() {
            "visible" => Some(Self::Visible),
            "hidden" => Some(Self::Hidden),
            "scroll" => Some(Self::Scroll),
            "auto" => Some(Self::Auto),
            _ => None,
        }
    }
    fn to_style_string(&self) -> String {
        match self {
            Overflow::Visible => "visible",
            Overflow::Hidden => "hidden",
            Overflow::Scroll => "scroll",
            Overflow::Auto => "auto",
        }
        .to_owned()
    }
}