1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use super::*;

impl Display for CssAttributes {
    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
        write!(f, "{}", self.normal)?;
        if !self.transforms.is_empty() {
            write!(f, "transform:{}", self.transforms)?
        }
        if !self.filter.is_empty() {
            write!(f, "filter:{}", self.filter)?
        }
        if !self.backdrop_filter.is_empty() {
            write!(f, "backdrop-filter:{}", self.backdrop_filter)?
        }
        Ok(())
    }
}

impl Add<Self> for CssAttributes {
    type Output = CssAttributes;

    fn add(self, rhs: Self) -> Self::Output {
        let mut out = self;
        out += rhs;
        out
    }
}

impl AddAssign<Self> for CssAttributes {
    fn add_assign(&mut self, rhs: Self) {
        self.normal += rhs.normal;
        self.transforms += rhs.transforms;
        self.filter += rhs.filter;
        self.backdrop_filter += rhs.backdrop_filter;
    }
}