1pub mod background;
2pub use background::*;
3
4pub mod button;
5pub use button::*;
6
7pub mod form;
8pub use form::*;
9
10pub mod nav;
11pub use nav::*;
12
13pub mod size;
14pub use size::*;
15
16pub mod theme;
17pub use theme::*;
18
19pub mod container;
20pub use container::*;
21
22pub mod sidebar;
23pub use sidebar::*;
24
25pub mod tab;
26pub use tab::*;
27
28pub mod card;
29pub use card::*;
30
31pub mod modal;
32pub use modal::*;
33
34pub mod accordion;
35pub use accordion::*;
36
37pub mod alert;
38pub use alert::*;
39
40pub mod badge;
41pub use badge::*;
42
43pub mod breadcrumb;
44pub use breadcrumb::*;
45
46pub mod pagination;
47pub use pagination::*;
48
49pub mod input;
50pub use input::*;
51
52pub mod dropdown;
53pub use dropdown::*;
54
55pub mod list_group;
56pub use list_group::*;
57
58pub mod toast;
59pub use toast::*;
60
61pub mod utilities;
62pub use utilities::*;
63
64#[cfg(test)]
65mod tests {
66 use super::*;
67
68 #[test]
69 fn test_theme_mode_from_str() {
70 assert_eq!(ThemeMode::Dark, "dark".into());
71 assert_eq!(ThemeMode::Light, "light".into());
72 assert_eq!(ThemeMode::Auto, "auto".into());
73 assert_eq!(ThemeMode::Auto, "invalid".into());
74 }
75
76 #[test]
77 fn test_utility_spacing_functions() {
78 assert_eq!("m-0", margin_class(SpacingSize::Zero));
79 assert_eq!("m-1", margin_class(SpacingSize::One));
80 assert_eq!("m-auto", margin_class(SpacingSize::Auto));
81
82 assert_eq!("mx-2", margin_x_class(SpacingSize::Two));
83 assert_eq!("my-3", margin_y_class(SpacingSize::Three));
84
85 assert_eq!("p-4", padding_class(SpacingSize::Four));
86 assert_eq!("px-5", padding_x_class(SpacingSize::Five));
87 assert_eq!("py-0", padding_y_class(SpacingSize::Zero));
88 }
89
90 #[test]
91 fn test_button_variant_basic() {
92 let variant: &str = ButtonVariant::Primary.into();
93 assert_eq!("primary", variant);
94
95 let variant: &str = ButtonVariant::Basic.into();
96 assert_eq!("", variant);
97 }
98
99 #[test]
100 fn test_size_basic() {
101 let size: &str = Size::Small.into();
102 assert_eq!("sm", size);
103
104 let size: &str = Size::Normal.into();
105 assert_eq!("", size);
106
107 let size: &str = Size::Large.into();
108 assert_eq!("lg", size);
109 }
110}