1pub mod container;
7pub mod icon;
8pub mod text;
9
10pub use container::*;
11pub use icon::*;
12pub use text::*;
13
14#[derive(Debug, Clone, PartialEq, PartialOrd)]
16pub enum Components {
17 Container(Container),
19 Text(Text),
21 Icon(Icon),
23}
24
25impl From<&Components> for Components {
26 fn from(value: &Components) -> Self {
27 value.clone()
28 }
29}
30
31impl From<Container> for Components {
32 fn from(value: Container) -> Self {
34 Self::Container(value)
35 }
36}
37
38impl From<Text> for Components {
39 fn from(value: Text) -> Self {
41 Self::Text(value)
42 }
43}
44
45impl From<Icon> for Components {
46 fn from(value: Icon) -> Self {
48 Self::Icon(value)
49 }
50}
51
52impl Default for Components {
53 fn default() -> Self {
55 Self::Container(Container::default())
56 }
57}