tailwind_rs_core/utilities/flexbox/
flex_grow.rs1use crate::classes::ClassBuilder;
4use serde::{Deserialize, Serialize};
5use std::fmt;
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
9pub enum FlexGrow {
10 Grow0,
12 Grow,
14}
15
16impl fmt::Display for FlexGrow {
17 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18 match self {
19 FlexGrow::Grow0 => write!(f, "grow-0"),
20 FlexGrow::Grow => write!(f, "grow"),
21 }
22 }
23}
24
25pub trait FlexGrowUtilities {
27 fn flex_grow(self, grow: FlexGrow) -> Self;
28}
29
30impl FlexGrowUtilities for ClassBuilder {
31 fn flex_grow(self, grow: FlexGrow) -> Self {
32 self.class(grow.to_string())
33 }
34}
35
36#[cfg(test)]
37mod tests {
38 use super::*;
39
40 #[test]
41 fn test_flex_grow_utilities() {
42 let classes = ClassBuilder::new().flex_grow(FlexGrow::Grow).build();
43
44 assert!(classes.to_css_classes().contains("grow"));
45 }
46}