tailwind_rs_core/utilities/flexbox/
align_content.rs1use crate::classes::ClassBuilder;
4use serde::{Deserialize, Serialize};
5use std::fmt;
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
9pub enum AlignContent {
10 Start,
12 End,
14 Center,
16 Between,
18 Around,
20 Evenly,
22 Stretch,
24}
25
26impl fmt::Display for AlignContent {
27 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
28 match self {
29 AlignContent::Start => write!(f, "content-start"),
30 AlignContent::End => write!(f, "content-end"),
31 AlignContent::Center => write!(f, "content-center"),
32 AlignContent::Between => write!(f, "content-between"),
33 AlignContent::Around => write!(f, "content-around"),
34 AlignContent::Evenly => write!(f, "content-evenly"),
35 AlignContent::Stretch => write!(f, "content-stretch"),
36 }
37 }
38}
39
40pub trait AlignContentUtilities {
42 fn align_content(self, align: AlignContent) -> Self;
43}
44
45impl AlignContentUtilities for ClassBuilder {
46 fn align_content(self, align: AlignContent) -> Self {
47 self.class(align.to_string())
48 }
49}
50
51#[cfg(test)]
52mod tests {
53 use super::*;
54
55 #[test]
56 fn test_align_content_utilities() {
57 let classes = ClassBuilder::new()
58 .align_content(AlignContent::Center)
59 .build();
60
61 assert!(classes.to_css_classes().contains("content-center"));
62 }
63}