#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum CssValue {
Auto,
None,
Inherit,
Initial,
Unset,
Revert,
}
impl CssValue {
pub fn as_str(&self) -> &'static str {
match self {
CssValue::Auto => "auto",
CssValue::None => "none",
CssValue::Inherit => "inherit",
CssValue::Initial => "initial",
CssValue::Unset => "unset",
CssValue::Revert => "revert",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum DisplayValue {
Block,
Inline,
InlineBlock,
Flex,
InlineFlex,
Grid,
InlineGrid,
None,
Contents,
ListItem,
Table,
InlineTable,
}
impl DisplayValue {
pub fn as_str(&self) -> &'static str {
match self {
DisplayValue::Block => "block",
DisplayValue::Inline => "inline",
DisplayValue::InlineBlock => "inline-block",
DisplayValue::Flex => "flex",
DisplayValue::InlineFlex => "inline-flex",
DisplayValue::Grid => "grid",
DisplayValue::InlineGrid => "inline-grid",
DisplayValue::None => "none",
DisplayValue::Contents => "contents",
DisplayValue::ListItem => "list-item",
DisplayValue::Table => "table",
DisplayValue::InlineTable => "inline-table",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum OverflowValue {
Visible,
Hidden,
Scroll,
Auto,
Clip,
}
impl OverflowValue {
pub fn as_str(&self) -> &'static str {
match self {
OverflowValue::Visible => "visible",
OverflowValue::Hidden => "hidden",
OverflowValue::Scroll => "scroll",
OverflowValue::Auto => "auto",
OverflowValue::Clip => "clip",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum PositionValue {
Static,
Relative,
Absolute,
Fixed,
Sticky,
}
impl PositionValue {
pub fn as_str(&self) -> &'static str {
match self {
PositionValue::Static => "static",
PositionValue::Relative => "relative",
PositionValue::Absolute => "absolute",
PositionValue::Fixed => "fixed",
PositionValue::Sticky => "sticky",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum TextAlignValue {
Left,
Right,
Center,
Justify,
Start,
End,
}
impl TextAlignValue {
pub fn as_str(&self) -> &'static str {
match self {
TextAlignValue::Left => "left",
TextAlignValue::Right => "right",
TextAlignValue::Center => "center",
TextAlignValue::Justify => "justify",
TextAlignValue::Start => "start",
TextAlignValue::End => "end",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum AlignItemsValue {
FlexStart,
FlexEnd,
Center,
Baseline,
Stretch,
}
impl AlignItemsValue {
pub fn as_str(&self) -> &'static str {
match self {
AlignItemsValue::FlexStart => "flex-start",
AlignItemsValue::FlexEnd => "flex-end",
AlignItemsValue::Center => "center",
AlignItemsValue::Baseline => "baseline",
AlignItemsValue::Stretch => "stretch",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum JustifyContentValue {
FlexStart,
FlexEnd,
Center,
SpaceBetween,
SpaceAround,
SpaceEvenly,
Start,
End,
}
impl JustifyContentValue {
pub fn as_str(&self) -> &'static str {
match self {
JustifyContentValue::FlexStart => "flex-start",
JustifyContentValue::FlexEnd => "flex-end",
JustifyContentValue::Center => "center",
JustifyContentValue::SpaceBetween => "space-between",
JustifyContentValue::SpaceAround => "space-around",
JustifyContentValue::SpaceEvenly => "space-evenly",
JustifyContentValue::Start => "start",
JustifyContentValue::End => "end",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum FlexDirectionValue {
Row,
RowReverse,
Column,
ColumnReverse,
}
impl FlexDirectionValue {
pub fn as_str(&self) -> &'static str {
match self {
FlexDirectionValue::Row => "row",
FlexDirectionValue::RowReverse => "row-reverse",
FlexDirectionValue::Column => "column",
FlexDirectionValue::ColumnReverse => "column-reverse",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum FlexWrapValue {
Nowrap,
Wrap,
WrapReverse,
}
impl FlexWrapValue {
pub fn as_str(&self) -> &'static str {
match self {
FlexWrapValue::Nowrap => "nowrap",
FlexWrapValue::Wrap => "wrap",
FlexWrapValue::WrapReverse => "wrap-reverse",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum CursorValue {
Auto,
Default,
Pointer,
Crosshair,
Move,
Text,
Wait,
Help,
Progress,
NotAllowed,
Grab,
}
impl CursorValue {
pub fn as_str(&self) -> &'static str {
match self {
CursorValue::Auto => "auto",
CursorValue::Default => "default",
CursorValue::Pointer => "pointer",
CursorValue::Crosshair => "crosshair",
CursorValue::Move => "move",
CursorValue::Text => "text",
CursorValue::Wait => "wait",
CursorValue::Help => "help",
CursorValue::Progress => "progress",
CursorValue::NotAllowed => "not-allowed",
CursorValue::Grab => "grab",
}
}
}