1#![doc(
2 html_logo_url = "https://freyaui.dev/logo.svg",
3 html_favicon_url = "https://freyaui.dev/logo.svg"
4)]
5#![cfg_attr(feature = "docs", feature(doc_cfg))]
6pub mod prelude {
82 pub use freya_core::prelude::*;
83 pub use freya_edit::{
84 Clipboard,
85 ClipboardError,
86 };
87 pub use freya_winit::{
88 WindowDragExt,
89 WinitPlatformExt,
90 config::{
91 CloseDecision,
92 LaunchConfig,
93 WindowConfig,
94 },
95 renderer::RendererContext,
96 };
97
98 pub use crate::components::*;
99 pub fn launch(launch_config: LaunchConfig) {
100 #[cfg(feature = "devtools")]
101 let launch_config = launch_config.with_plugin(freya_devtools::DevtoolsPlugin::default());
102 #[cfg(feature = "performance")]
103 let launch_config = launch_config
104 .with_plugin(freya_performance_plugin::PerformanceOverlayPlugin::default());
105 freya_winit::launch(launch_config)
106 }
107
108 #[cfg_attr(feature = "docs", doc(cfg(feature = "router")))]
109 #[cfg(feature = "router")]
110 pub use freya_router;
111 pub use torin::{
112 alignment::Alignment,
113 content::Content,
114 direction::Direction,
115 gaps::Gaps,
116 geometry::{
117 Area,
118 CursorPoint,
119 Size2D,
120 },
121 position::Position,
122 size::Size,
123 };
124}
125pub mod elements {
126 pub use freya_core::elements::*;
127}
128
129pub mod components {
130 #[cfg_attr(feature = "docs", doc(cfg(feature = "gif")))]
131 #[cfg(feature = "gif")]
132 pub use freya_components::gif_viewer::*;
133 #[cfg_attr(feature = "docs", doc(cfg(feature = "markdown")))]
134 #[cfg(feature = "markdown")]
135 pub use freya_components::markdown::*;
136 cfg_if::cfg_if! {
137 if #[cfg(feature = "router")] {
138 #[cfg_attr(feature = "docs", doc(cfg(feature = "router")))]
139 pub use freya_components::activable_route::*;
140 pub use freya_components::link::*;
141 pub use freya_components::native_router::*;
142 pub use freya_components::animated_router::*;
143 }
144 }
145 #[cfg_attr(feature = "docs", doc(cfg(feature = "remote-asset")))]
146 #[cfg(feature = "remote-asset")]
147 pub use freya_components::Uri;
148 #[cfg_attr(feature = "docs", doc(cfg(feature = "calendar")))]
149 #[cfg(feature = "calendar")]
150 pub use freya_components::calendar::*;
151 #[cfg(feature = "titlebar")]
152 pub use freya_components::titlebar::*;
153 pub use freya_components::{
154 accordion::*,
155 activable_route_context::*,
156 button::*,
157 canvas::*,
158 card::*,
159 checkbox::*,
160 chip::*,
161 color_picker::*,
162 context_menu::*,
163 cursor_area::*,
164 drag_drop::*,
165 draggable_canvas::*,
166 element_expansions::*,
167 floating_tab::*,
168 gallery,
169 get_theme,
170 icons::{
171 arrow::*,
172 tick::*,
173 },
174 image_viewer::*,
175 input::*,
176 loader::*,
177 menu::*,
178 overflowed_content::*,
179 popup::*,
180 portal::*,
181 progressbar::*,
182 radio_item::*,
183 resizable_container::*,
184 scrollviews::*,
185 segmented_button::*,
186 select::*,
187 selectable_text::*,
188 sidebar::*,
189 slider::*,
190 switch::*,
191 table::*,
192 theming::{
193 component_themes::*,
194 extensions::*,
195 hooks::*,
196 themes::*,
197 },
198 tile::*,
199 tooltip::*,
200 };
201}
202
203pub mod text_edit {
204 pub use freya_edit::*;
205}
206
207pub mod clipboard {
208 pub use freya_clipboard::prelude::*;
209}
210
211pub mod animation {
212 pub use freya_animation::prelude::*;
213}
214
215#[cfg_attr(feature = "docs", doc(cfg(feature = "plot")))]
216#[cfg(feature = "plot")]
217pub mod plot {
218 pub use freya_plotters_backend::*;
219 pub use plotters;
220}
221
222#[cfg_attr(feature = "docs", doc(cfg(feature = "router")))]
223#[cfg(feature = "router")]
224pub mod router {
225 pub use freya_router::*;
226}
227
228#[cfg_attr(feature = "docs", doc(cfg(feature = "i18n")))]
229#[cfg(feature = "i18n")]
230pub mod i18n {
231 pub use freya_i18n::*;
232}
233
234#[cfg_attr(feature = "docs", doc(cfg(feature = "engine")))]
235#[cfg(feature = "engine")]
236pub mod engine {
237 pub use freya_engine::*;
238}
239
240pub mod winit {
241 pub use freya_winit::winit::*;
242}
243
244pub mod helpers {
245 pub use freya_core::helpers::*;
246}
247
248#[cfg_attr(feature = "docs", doc(cfg(feature = "tray")))]
249#[cfg(feature = "tray")]
250pub mod tray {
251 pub use freya_winit::tray::*;
252}
253
254#[cfg_attr(feature = "docs", doc(cfg(feature = "sdk")))]
255#[cfg(feature = "sdk")]
256pub mod sdk {
257 pub use freya_sdk::*;
258}
259
260#[cfg_attr(feature = "docs", doc(cfg(feature = "material-design")))]
261#[cfg(feature = "material-design")]
262pub mod material_design {
263 pub use freya_material_design::prelude::*;
264}
265
266#[cfg_attr(feature = "docs", doc(cfg(feature = "icons")))]
267#[cfg(feature = "icons")]
268pub mod icons {
269 pub use freya_icons::*;
270}
271
272#[cfg(feature = "radio")]
274#[cfg_attr(feature = "docs", doc(cfg(feature = "radio")))]
275pub mod radio {
276 pub use freya_radio::prelude::*;
277}
278
279#[cfg(feature = "webview")]
281#[cfg_attr(feature = "docs", doc(cfg(feature = "webview")))]
282pub mod webview {
283 pub use freya_webview::*;
284}
285
286#[cfg(feature = "terminal")]
288#[cfg_attr(feature = "docs", doc(cfg(feature = "terminal")))]
289pub mod terminal {
290 pub use freya_terminal::prelude::*;
291}
292
293#[cfg(doc)]
294pub mod _docs;