tailwind_rs_core/utilities/flexbox/
wrap.rs1use crate::classes::ClassBuilder;
4use serde::{Deserialize, Serialize};
5use std::fmt;
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
9pub enum FlexWrap {
10 Wrap,
12 WrapReverse,
14 Nowrap,
16}
17
18impl fmt::Display for FlexWrap {
19 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
20 match self {
21 FlexWrap::Wrap => write!(f, "flex-wrap"),
22 FlexWrap::WrapReverse => write!(f, "flex-wrap-reverse"),
23 FlexWrap::Nowrap => write!(f, "flex-nowrap"),
24 }
25 }
26}
27
28pub trait FlexWrapUtilities {
30 fn flex_wrap(self, wrap: FlexWrap) -> Self;
31}
32
33impl FlexWrapUtilities for ClassBuilder {
34 fn flex_wrap(self, wrap: FlexWrap) -> Self {
35 self.class(wrap.to_string())
36 }
37}
38
39#[cfg(test)]
40mod tests {
41 use super::*;
42
43 #[test]
44 fn test_flex_wrap_utilities() {
45 let classes = ClassBuilder::new()
46 .flex_wrap(FlexWrap::Wrap)
47 .build();
48
49 assert!(classes.to_css_classes().contains("flex-wrap"));
50 }
51}