tailwind_rs_core/utilities/layout/
display.rs1use crate::classes::ClassBuilder;
4use serde::{Deserialize, Serialize};
5use std::fmt;
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
9pub enum Display {
10 Block,
12 InlineBlock,
14 Inline,
16 Flex,
18 InlineFlex,
20 Grid,
22 InlineGrid,
24 Table,
26 InlineTable,
28 TableCell,
30 TableRow,
32 TableColumn,
34 TableColumnGroup,
36 TableFooterGroup,
38 TableHeaderGroup,
40 TableRowGroup,
42 FlowRoot,
44 Contents,
46 ListItem,
48 Hidden,
50}
51
52impl fmt::Display for Display {
53 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
54 match self {
55 Display::Block => write!(f, "block"),
56 Display::InlineBlock => write!(f, "inline-block"),
57 Display::Inline => write!(f, "inline"),
58 Display::Flex => write!(f, "flex"),
59 Display::InlineFlex => write!(f, "inline-flex"),
60 Display::Grid => write!(f, "grid"),
61 Display::InlineGrid => write!(f, "inline-grid"),
62 Display::Table => write!(f, "table"),
63 Display::InlineTable => write!(f, "inline-table"),
64 Display::TableCell => write!(f, "table-cell"),
65 Display::TableRow => write!(f, "table-row"),
66 Display::TableColumn => write!(f, "table-column"),
67 Display::TableColumnGroup => write!(f, "table-column-group"),
68 Display::TableFooterGroup => write!(f, "table-footer-group"),
69 Display::TableHeaderGroup => write!(f, "table-header-group"),
70 Display::TableRowGroup => write!(f, "table-row-group"),
71 Display::FlowRoot => write!(f, "flow-root"),
72 Display::Contents => write!(f, "contents"),
73 Display::ListItem => write!(f, "list-item"),
74 Display::Hidden => write!(f, "hidden"),
75 }
76 }
77}
78
79pub trait DisplayUtilities {
81 fn display(self, display: Display) -> Self;
82}
83
84impl DisplayUtilities for ClassBuilder {
85 fn display(self, display: Display) -> Self {
86 self.class(display.to_string())
87 }
88}
89
90#[cfg(test)]
91mod tests {
92 use super::*;
93
94 #[test]
95 fn test_display_utilities() {
96 let classes = ClassBuilder::new()
97 .display(Display::Flex)
98 .build();
99
100 assert!(classes.to_css_classes().contains("flex"));
101 }
102}