polished_css/property/layout/
grid.rs

1crate::create_property!(
2    GridArea,
3    display = "",
4    atomic = "g-area",
5    custom = false,
6    data_type = "<string>",
7    initial_value = Auto,
8    keywords = "auto",
9);
10
11macro_rules! create_grid_auto_struct {
12    ($property:ident, $atomic:literal) => {
13        $crate::create_property!(
14            $property,
15            display = "",
16            atomic = $atomic,
17            custom = false,
18            data_type = "<length-percentage>",
19            initial_value = Auto,
20            keywords = "auto,fit-content,max-content,min-content",
21        );
22    };
23}
24
25create_grid_auto_struct!(GridAutoColumns, "g-auto-col");
26create_grid_auto_struct!(GridAutoRows, "g-auto-row");
27
28crate::create_property!(
29    GridAutoFlow,
30    display = "",
31    atomic = "g-auto-flow",
32    custom = false,
33    data_type = "<length-percentage>",
34    initial_value = Row,
35    keywords = "row,column,dense",
36);
37
38macro_rules! create_grid_flow_struct {
39    ($property:ident, $atomic:literal) => {
40        $crate::create_property!(
41            $property,
42            display = "",
43            atomic = $atomic,
44            custom = false,
45            data_type = "<integer>",
46            initial_value = Auto,
47            keywords = "auto",
48        );
49    };
50}
51
52create_grid_flow_struct!(GridColumnStart, "grid-col-s");
53create_grid_flow_struct!(GridColumnEnd, "grid-col-e");
54create_grid_flow_struct!(GridRowStart, "grid-row-s");
55create_grid_flow_struct!(GridRowEnd, "grid-row-e");
56
57#[cfg(test)]
58mod test {
59    #[test]
60    fn grid_area() {
61        crate::test_property_initial_value!(GridArea, Auto);
62        crate::test_global_keywords!(GridArea, "grid-area");
63        crate::test_function_var!(GridArea, "grid-area");
64        #[cfg(feature = "atomic")]
65        crate::test_atomic_property!(GridArea, "g-area");
66    }
67
68    // TODO: Add missing test
69}