dioxus_element_plug/
lib.rs1pub mod components;
81
82pub mod style_system;
84
85pub mod styles;
87
88pub use style_system::{Theme, CompleteStyleManager, CompleteCssBuilder};
91
92pub use crate::styles::prelude::*;
94
95pub use components::*;
96
97pub mod prelude {
99 pub use crate::components::button::*;
101 pub use crate::components::input::*;
102 pub use crate::components::input_number::*;
103 pub use crate::components::layout::*;
104 pub use crate::components::form::*;
105 pub use crate::components::form_item::*;
106 pub use crate::components::alert::*;
107 pub use crate::components::card::*;
108 pub use crate::components::table::*;
109 pub use crate::components::table_column::*;
110
111 pub use crate::components::tag::*;
113 pub use crate::components::badge::*;
114 pub use crate::components::link::*;
115 pub use crate::components::divider::*;
116 pub use crate::components::empty::*;
117 pub use crate::components::avatar::*;
118 pub use crate::components::avatar_group::*;
119 pub use crate::components::button_group::*;
120 pub use crate::components::icon::*;
121
122 pub use crate::components::switch::*;
124 pub use crate::components::checkbox::*;
125 pub use crate::components::radio::*;
126 pub use crate::components::select::*;
127 pub use crate::components::option::*;
128 pub use crate::components::slider::*;
129 pub use crate::components::rate::*;
130 pub use crate::components::autocomplete::*;
131 pub use crate::components::cascader::*;
132 pub use crate::components::color_picker::*;
133 pub use crate::components::date_picker::*;
134 pub use crate::components::time_picker::*;
135 pub use crate::components::time_select::*;
136 pub use crate::components::transfer::*;
137
138 pub use crate::components::dialog::*;
140 pub use crate::components::drawer::*;
141 pub use crate::components::collapse::*;
142 pub use crate::components::result::*;
143 pub use crate::components::image::*;
144 pub use crate::components::image_viewer::*;
145 pub use crate::components::descriptions::*;
146 pub use crate::components::calendar::*;
147 pub use crate::components::carousel::*;
148 pub use crate::components::timeline::*;
149 pub use crate::components::tree::*;
150 pub use crate::components::upload::*;
151 pub use crate::components::watermark::*;
152 pub use crate::components::progress::*;
153 pub use crate::components::skeleton::*;
154 pub use crate::components::space::*;
155
156 pub use crate::components::breadcrumb::*;
158 pub use crate::components::dropdown::*;
159 pub use crate::components::menu::*;
160 pub use crate::components::pagination::*;
161 pub use crate::components::tabs::*;
162 pub use crate::components::steps::*;
163 pub use crate::components::page_header::*;
164 pub use crate::components::affix::*;
165 pub use crate::components::anchor::*;
166 pub use crate::components::backtop::*;
167
168 pub use crate::components::loading::*;
170 pub use crate::components::message::*;
171 pub use crate::components::message_box::*;
172 pub use crate::components::notification::*;
173 pub use crate::components::tooltip::*;
174 pub use crate::components::popover::*;
175 pub use crate::components::popconfirm::*;
176 pub use crate::components::spin::*;
177 pub use crate::components::infinite_scroll::*;
178
179 pub use crate::Theme;
181 pub use crate::CompleteStyleManager;
182 pub use crate::CompleteCssBuilder;
183
184 pub use crate::styles::prelude::*;
186}
187
188#[cfg(test)]
190mod tests {
191
192
193 #[test]
194 fn test_generated_style_constants() {
195 use crate::styles::prelude::*;
196 assert_eq!(COLOR_PRIMARY, "#409EFF");
197 assert_eq!(COLOR_SUCCESS, "#67C23A");
198 assert_eq!(COLOR_WARNING, "#E6A23C");
199 }
200
201 #[test]
202 fn test_button_variants() {
203 use crate::components::button::ButtonVariant;
204
205 let primary = ButtonVariant::Primary;
206 assert_eq!(primary.as_class(), "el-button--primary");
207
208 let default = ButtonVariant::Default;
209 assert_eq!(default.as_class(), "el-button");
210 }
211
212 #[test]
213 fn test_input_variants() {
214 use crate::components::input::InputType;
215
216 let text = InputType::Text;
217 assert_eq!(text.as_str(), "text");
218
219 let password = InputType::Password;
220 assert_eq!(password.as_str(), "password");
221 }
222}