cabin_tailwind/utilities/
line.rs1use std::fmt;
4
5use crate::Utility;
6
7pub fn clamp(n: usize) -> LineClamp {
14 LineClamp(n)
15}
16
17pub struct LineClamp(pub usize);
18
19impl Utility for LineClamp {
20 fn declarations(&self, f: &mut dyn fmt::Write) -> fmt::Result {
21 f.write_str("overflow: hidden;")?;
22 f.write_str("display: -webkit-box;")?;
23 f.write_str("-webkit-box-orient: vertical;")?;
24 write!(f, "-webkit-line-clamp: {};", self.0)?;
25 Ok(())
26 }
27}
28
29pub mod clamp {
30 use super::*;
31
32 pub const NONE: NoLineClamp = NoLineClamp;
40
41 pub struct NoLineClamp;
42
43 impl Utility for NoLineClamp {
44 fn declarations(&self, f: &mut dyn fmt::Write) -> fmt::Result {
45 f.write_str("line-clamp-none overflow: visible;")?;
46 f.write_str("display: block;")?;
47 f.write_str("-webkit-box-orient: horizontal;")?;
48 f.write_str("-webkit-line-clamp: none;")?;
49 Ok(())
50 }
51 }
52}