tailwind_css_fixes/modules/borders/divide/divide_reverse/
mod.rs

1use super::*;
2
3#[doc=include_str!("readme.md")]
4#[derive(Clone, Debug)]
5pub struct TailwindDivideReverse {
6    axis: bool, // true for X, false for Y
7}
8
9impl From<bool> for TailwindDivideReverse {
10    fn from(axis: bool) -> Self {
11        Self { axis }
12    }
13}
14
15impl Display for TailwindDivideReverse {
16    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
17        match self.axis {
18            true => write!(f, "divide-x-reverse"),
19            false => write!(f, "divide-y-reverse"),
20        }
21    }
22}
23
24impl TailwindInstance for TailwindDivideReverse {
25    fn inlineable(&self) -> bool {
26        false // This generates a class, it cannot be inlined.
27    }
28
29    fn attributes(&self, _: &TailwindBuilder) -> CssAttributes {
30        let class = match self.axis {
31            true => "--tw-divide-x-reverse",
32            false => "--tw-divide-y-reverse",
33        };
34
35        // Create the inner attributes that set the variable to 1
36        let inner_attrs = css_attributes! {
37            class => "1"
38        };
39        
40        // Create the top-level object
41        let mut top_level_attrs = CssAttributes::default();
42
43        // Insert the nested rule
44        let selector = ":where(& > :not(:last-child))".to_string();
45        top_level_attrs.insert_nested(selector, inner_attrs);
46
47        top_level_attrs
48    }
49}