elvis_core/style/
bridge.rs

1use crate::{
2    style::Style,
3    value::layouts::{Alignment, FlexPosition},
4};
5
6impl From<Alignment> for Vec<Style> {
7    fn from(align: Alignment) -> Vec<Style> {
8        match align {
9            Alignment::BottomCenter => vec![
10                Style::AlignItems(FlexPosition::End),
11                Style::JustifyContent(FlexPosition::Center),
12            ],
13            Alignment::BottomLeft => vec![
14                Style::AlignItems(FlexPosition::End),
15                Style::JustifyContent(FlexPosition::Start),
16            ],
17            Alignment::BottomRight => vec![
18                Style::AlignItems(FlexPosition::End),
19                Style::JustifyContent(FlexPosition::End),
20            ],
21            Alignment::Center => vec![
22                Style::AlignItems(FlexPosition::Center),
23                Style::JustifyContent(FlexPosition::Center),
24            ],
25            Alignment::CenterLeft => vec![
26                Style::AlignItems(FlexPosition::Center),
27                Style::JustifyContent(FlexPosition::Start),
28            ],
29            Alignment::CenterRight => vec![
30                Style::AlignItems(FlexPosition::Center),
31                Style::JustifyContent(FlexPosition::End),
32            ],
33            Alignment::TopCenter => vec![
34                Style::AlignItems(FlexPosition::Start),
35                Style::JustifyContent(FlexPosition::Center),
36            ],
37            Alignment::TopLeft => vec![
38                Style::AlignItems(FlexPosition::Start),
39                Style::JustifyContent(FlexPosition::Start),
40            ],
41            Alignment::TopRight => vec![
42                Style::AlignItems(FlexPosition::Start),
43                Style::JustifyContent(FlexPosition::End),
44            ],
45        }
46    }
47}