tailwind_rs_core/utilities/flexbox/
order.rs1use crate::classes::ClassBuilder;
4use serde::{Deserialize, Serialize};
5use std::fmt;
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
9pub enum Order {
10 Order1,
12 Order2,
14 Order3,
16 Order4,
18 Order5,
20 Order6,
22 Order7,
24 Order8,
26 Order9,
28 Order10,
30 Order11,
32 Order12,
34 OrderFirst,
36 OrderLast,
38 OrderNone,
40}
41
42impl fmt::Display for Order {
43 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
44 match self {
45 Order::Order1 => write!(f, "order-1"),
46 Order::Order2 => write!(f, "order-2"),
47 Order::Order3 => write!(f, "order-3"),
48 Order::Order4 => write!(f, "order-4"),
49 Order::Order5 => write!(f, "order-5"),
50 Order::Order6 => write!(f, "order-6"),
51 Order::Order7 => write!(f, "order-7"),
52 Order::Order8 => write!(f, "order-8"),
53 Order::Order9 => write!(f, "order-9"),
54 Order::Order10 => write!(f, "order-10"),
55 Order::Order11 => write!(f, "order-11"),
56 Order::Order12 => write!(f, "order-12"),
57 Order::OrderFirst => write!(f, "order-first"),
58 Order::OrderLast => write!(f, "order-last"),
59 Order::OrderNone => write!(f, "order-none"),
60 }
61 }
62}
63
64pub trait OrderUtilities {
66 fn order(self, order: Order) -> Self;
67}
68
69impl OrderUtilities for ClassBuilder {
70 fn order(self, order: Order) -> Self {
71 self.class(order.to_string())
72 }
73}
74
75#[cfg(test)]
76mod tests {
77 use super::*;
78
79 #[test]
80 fn test_order_utilities() {
81 let classes = ClassBuilder::new()
82 .order(Order::Order1)
83 .build();
84
85 assert!(classes.to_css_classes().contains("order-1"));
86 }
87}