tailwind_css/modules/flexbox/span/
mod.rs1use super::*;
2
3use self::resolve::GridKind;
4
5mod resolve;
6
7#[doc=include_str!("readme.md")]
8#[derive(Debug, Copy, Clone)]
9pub struct TailwindRow {
10 kind: GridKind,
11}
12
13#[doc=include_str!("readme.md")]
14#[derive(Debug, Copy, Clone)]
15pub struct TailwindColumn {
16 kind: GridKind,
17}
18
19impl Display for TailwindRow {
20 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
21 write!(f, "row-{}", self.kind)
22 }
23}
24
25impl Display for TailwindColumn {
26 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
27 write!(f, "col-{}", self.kind)
28 }
29}
30
31impl TailwindInstance for TailwindColumn {
32 fn attributes(&self, _: &TailwindBuilder) -> CssAttributes {
33 let class = match self.kind {
34 GridKind::Start(_) => "grid-column-start",
35 GridKind::End(_) => "grid-column-end",
36 GridKind::Span(_) => "grid-column",
37 };
38 css_attributes! {
39 class => self.kind.get_properties()
40 }
41 }
42}
43
44impl TailwindInstance for TailwindRow {
45 fn attributes(&self, _: &TailwindBuilder) -> CssAttributes {
46 let class = match self.kind {
47 GridKind::Start(_) => "grid-row-start",
48 GridKind::End(_) => "grid-row-end",
49 GridKind::Span(_) => "grid-row",
50 };
51 css_attributes! {
52 class => self.kind.get_properties()
53 }
54 }
55}
56
57impl TailwindRow {
58 pub fn parse(pattern: &[&str], arbitrary: &TailwindArbitrary) -> Result<Self> {
59 Ok(Self { kind: GridKind::parse(pattern, arbitrary)? })
60 }
61}
62
63impl TailwindColumn {
64 pub fn parse(pattern: &[&str], arbitrary: &TailwindArbitrary) -> Result<Self> {
65 Ok(Self { kind: GridKind::parse(pattern, arbitrary)? })
66 }
67}