cabin_tailwind/utilities/
transition.rs1use std::fmt;
6
7use crate::{Property, Utility};
8
9pub struct Transition(pub &'static str);
10
11pub const NONE: Property = Property("transition-property", "none");
12
13pub const ALL: Transition = Transition("all");
14
15pub const DEFAULT: Transition = Transition("color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter");
16
17pub const COLORS: Transition =
18 Transition("color, background-color, border-color, text-decoration-color, fill, stroke");
19
20pub const OPACITY: Transition = Transition("opacity");
21
22pub const SHADOW: Transition = Transition("box-shadow");
23
24pub const TRANSFORM: Transition = Transition("transform");
25
26impl Utility for Transition {
27 fn declarations(&self, f: &mut dyn fmt::Write) -> fmt::Result {
28 write!(f, "transition-property: {};", self.0)?;
29 write!(
30 f,
31 "transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);"
32 )?;
33 write!(f, "transition-duration: 150ms;")?;
34 Ok(())
35 }
36}