tailwind_rs_core/utilities/flexbox/
justify_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 JustifyContent {
10 Start,
12 End,
14 Center,
16 Between,
18 Around,
20 Evenly,
22}
23
24impl fmt::Display for JustifyContent {
25 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
26 match self {
27 JustifyContent::Start => write!(f, "justify-start"),
28 JustifyContent::End => write!(f, "justify-end"),
29 JustifyContent::Center => write!(f, "justify-center"),
30 JustifyContent::Between => write!(f, "justify-between"),
31 JustifyContent::Around => write!(f, "justify-around"),
32 JustifyContent::Evenly => write!(f, "justify-evenly"),
33 }
34 }
35}
36
37pub trait JustifyContentUtilities {
39 fn justify_content(self, justify: JustifyContent) -> Self;
40}
41
42impl JustifyContentUtilities for ClassBuilder {
43 fn justify_content(self, justify: JustifyContent) -> Self {
44 self.class(justify.to_string())
45 }
46}
47
48#[cfg(test)]
49mod tests {
50 use super::*;
51
52 #[test]
53 fn test_justify_content_utilities() {
54 let classes = ClassBuilder::new()
55 .justify_content(JustifyContent::Center)
56 .build();
57
58 assert!(classes.to_css_classes().contains("justify-center"));
59 }
60}