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 pub use torin::{
109 alignment::Alignment,
110 content::Content,
111 direction::Direction,
112 gaps::Gaps,
113 geometry::{
114 Area,
115 CursorPoint,
116 Size2D,
117 },
118 position::Position,
119 size::Size,
120 };
121}
122pub mod elements {
123 pub use freya_core::elements::*;
124}
125
126pub mod components {
127 #[cfg_attr(feature = "docs", doc(cfg(feature = "gif")))]
128 #[cfg(feature = "gif")]
129 pub use freya_components::gif_viewer::*;
130 #[cfg_attr(feature = "docs", doc(cfg(feature = "markdown")))]
131 #[cfg(feature = "markdown")]
132 pub use freya_components::markdown::*;
133 cfg_if::cfg_if! {
134 if #[cfg(feature = "router")] {
135 #[cfg_attr(feature = "docs", doc(cfg(feature = "router")))]
136 pub use freya_components::activable_route::*;
137 pub use freya_components::link::*;
138 pub use freya_components::native_router::*;
139 pub use freya_components::animated_router::*;
140 }
141 }
142 #[cfg_attr(feature = "docs", doc(cfg(feature = "remote-asset")))]
143 #[cfg(feature = "remote-asset")]
144 pub use freya_components::Uri;
145 #[cfg_attr(feature = "docs", doc(cfg(feature = "calendar")))]
146 #[cfg(feature = "calendar")]
147 pub use freya_components::calendar::*;
148 #[cfg_attr(feature = "docs", doc(cfg(feature = "plot")))]
149 #[cfg(feature = "plot")]
150 pub use freya_components::plot::*;
151 #[cfg(feature = "titlebar")]
152 pub use freya_components::titlebar::*;
153 pub use freya_components::{
154 accordion::*,
155 activable_route_context::*,
156 button::*,
157 card::*,
158 checkbox::*,
159 chip::*,
160 color_picker::*,
161 context_menu::*,
162 cursor_area::*,
163 drag_drop::*,
164 draggable_canvas::*,
165 element_expansions::*,
166 floating_tab::*,
167 gallery,
168 get_theme,
169 icons::{
170 arrow::*,
171 tick::*,
172 },
173 image_viewer::*,
174 input::*,
175 loader::*,
176 menu::*,
177 overflowed_content::*,
178 popup::*,
179 portal::*,
180 progressbar::*,
181 radio_item::*,
182 resizable_container::*,
183 scrollviews::*,
184 segmented_button::*,
185 select::*,
186 selectable_text::*,
187 sidebar::*,
188 slider::*,
189 switch::*,
190 table::*,
191 theming::{
192 component_themes::*,
193 extensions::*,
194 hooks::*,
195 themes::*,
196 },
197 tile::*,
198 tooltip::*,
199 };
200}
201
202pub mod text_edit {
203 pub use freya_edit::*;
204}
205
206pub mod clipboard {
207 pub use freya_clipboard::prelude::*;
208}
209
210pub mod animation {
211 pub use freya_animation::prelude::*;
212}
213
214#[cfg_attr(feature = "docs", doc(cfg(feature = "router")))]
215#[cfg(feature = "router")]
216pub mod router {
217 pub use freya_router::*;
218}
219
220#[cfg_attr(feature = "docs", doc(cfg(feature = "i18n")))]
221#[cfg(feature = "i18n")]
222pub mod i18n {
223 pub use freya_i18n::*;
224}
225
226#[cfg_attr(feature = "docs", doc(cfg(feature = "engine")))]
227#[cfg(feature = "engine")]
228pub mod engine {
229 pub use freya_engine::*;
230}
231
232pub mod winit {
233 pub use freya_winit::winit::*;
234}
235
236pub mod helpers {
237 pub use freya_core::helpers::*;
238}
239
240#[cfg_attr(feature = "docs", doc(cfg(feature = "tray")))]
241#[cfg(feature = "tray")]
242pub mod tray {
243 pub use freya_winit::tray::*;
244}
245
246#[cfg_attr(feature = "docs", doc(cfg(feature = "sdk")))]
247#[cfg(feature = "sdk")]
248pub mod sdk {
249 pub use freya_sdk::*;
250}
251
252#[cfg_attr(feature = "docs", doc(cfg(feature = "material-design")))]
253#[cfg(feature = "material-design")]
254pub mod material_design {
255 pub use freya_material_design::prelude::*;
256}
257
258#[cfg_attr(feature = "docs", doc(cfg(feature = "icons")))]
259#[cfg(feature = "icons")]
260pub mod icons {
261 pub use freya_icons::*;
262}
263
264#[cfg(feature = "radio")]
266#[cfg_attr(feature = "docs", doc(cfg(feature = "radio")))]
267pub mod radio {
268 pub use freya_radio::prelude::*;
269}
270
271#[cfg(feature = "webview")]
273#[cfg_attr(feature = "docs", doc(cfg(feature = "webview")))]
274pub mod webview {
275 pub use freya_webview::*;
276}
277
278#[cfg(feature = "terminal")]
280#[cfg_attr(feature = "docs", doc(cfg(feature = "terminal")))]
281pub mod terminal {
282 pub use freya_terminal::prelude::*;
283}
284
285#[cfg(doc)]
286pub mod _docs;