1#[doc(inline)]
51pub use iced::widget::{Canvas, canvas};
52
53#[doc(inline)]
54pub use iced::widget::{Checkbox, checkbox};
55
56#[doc(inline)]
57pub use iced::widget::{Column, column};
58
59#[doc(inline)]
60pub use iced::widget::{ComboBox, combo_box};
61
62#[doc(inline)]
63pub use iced::widget::{Container, container};
64
65#[doc(inline)]
66pub use iced::widget::{Space, space};
67
68#[doc(inline)]
69pub use iced::widget::{Image, image};
70
71#[doc(inline)]
72pub use iced::widget::{Lazy, lazy};
73
74#[doc(inline)]
75pub use iced::widget::{MouseArea, mouse_area};
76
77#[doc(inline)]
78pub use iced::widget::{PaneGrid, pane_grid};
79
80#[doc(inline)]
81pub use iced::widget::{Responsive, responsive};
82
83#[doc(inline)]
84pub use iced::widget::{Row, row};
85
86#[doc(inline)]
87pub use iced::widget::{Slider, VerticalSlider, slider, vertical_slider};
88
89#[doc(inline)]
90pub use iced::widget::{Svg, svg};
91
92#[doc(inline)]
93pub use iced::widget::{TextEditor, text_editor};
94
95#[doc(inline)]
96pub use iced_core::widget::{Id, Operation, Widget};
97
98pub mod aspect_ratio;
99
100#[cfg(feature = "autosize")]
101pub mod autosize;
102
103pub(crate) mod responsive_container;
104
105#[cfg(feature = "surface-message")]
106mod responsive_menu_bar;
107#[cfg(feature = "surface-message")]
108#[doc(inline)]
109pub use responsive_menu_bar::{ResponsiveMenuBar, responsive_menu_bar};
110
111pub mod button;
112#[doc(inline)]
113pub use button::{Button, IconButton, LinkButton, TextButton};
114
115pub(crate) mod common;
116
117pub mod calendar;
118#[doc(inline)]
119pub use calendar::{Calendar, calendar};
120
121pub mod card;
122#[doc(inline)]
123pub use card::*;
124
125pub mod color_picker;
126#[doc(inline)]
127pub use color_picker::{ColorPicker, ColorPickerModel};
128
129#[cfg(feature = "qr_code")]
130#[doc(inline)]
131pub use iced::widget::qr_code;
132
133mod cards;
134#[doc(inline)]
135pub use cards::cards;
136
137pub mod context_drawer;
138#[doc(inline)]
139pub use context_drawer::{ContextDrawer, context_drawer};
140
141pub mod layer_container;
142#[doc(inline)]
143pub use layer_container::{LayerContainer, layer_container};
144
145pub mod context_menu;
146#[doc(inline)]
147pub use context_menu::{ContextMenu, context_menu};
148
149pub mod dialog;
150#[doc(inline)]
151pub use dialog::{Dialog, dialog};
152
153pub mod divider {
155 pub mod horizontal {
157 use iced::{widget::Rule, widget::rule};
158
159 #[must_use]
161 pub fn default<'a>() -> Rule<'a, crate::Theme> {
162 rule::horizontal(1).class(crate::theme::Rule::Default)
163 }
164
165 #[must_use]
167 pub fn light<'a>() -> Rule<'a, crate::Theme> {
168 rule::horizontal(1).class(crate::theme::Rule::LightDivider)
169 }
170
171 #[must_use]
173 pub fn heavy<'a>() -> Rule<'a, crate::Theme> {
174 rule::horizontal(4).class(crate::theme::Rule::HeavyDivider)
175 }
176 }
177
178 pub mod vertical {
180 use iced::widget::{Rule, rule};
181
182 #[must_use]
184 pub fn default<'a>() -> Rule<'a, crate::Theme> {
185 rule::vertical(1).class(crate::theme::Rule::Default)
186 }
187
188 #[must_use]
190 pub fn light<'a>() -> Rule<'a, crate::Theme> {
191 rule::vertical(4).class(crate::theme::Rule::LightDivider)
192 }
193
194 #[must_use]
196 pub fn heavy<'a>() -> Rule<'a, crate::Theme> {
197 rule::vertical(10).class(crate::theme::Rule::HeavyDivider)
198 }
199 }
200}
201
202pub mod dnd_destination;
203#[doc(inline)]
204pub use dnd_destination::{DndDestination, dnd_destination};
205
206pub mod dnd_source;
207#[doc(inline)]
208pub use dnd_source::{DndSource, dnd_source};
209
210pub mod dropdown;
211#[doc(inline)]
212pub use dropdown::{Dropdown, dropdown};
213
214pub mod flex_row;
215#[doc(inline)]
216pub use flex_row::{FlexRow, flex_row};
217
218pub mod grid;
219#[doc(inline)]
220pub use grid::{Grid, grid};
221
222mod header_bar;
223#[doc(inline)]
224pub use header_bar::{HeaderBar, header_bar};
225
226pub mod icon;
227#[doc(inline)]
228pub use icon::{Icon, icon};
229
230pub mod id_container;
231#[doc(inline)]
232pub use id_container::{IdContainer, id_container};
233
234#[cfg(feature = "animated-image")]
235pub mod frames;
236
237pub use taffy::{JustifyContent, JustifyItems};
238
239pub mod list;
240#[doc(inline)]
241pub use list::{ListColumn, list_column};
242
243pub mod menu;
244
245pub mod nav_bar;
246#[doc(inline)]
247pub use nav_bar::{nav_bar, nav_bar_dnd};
248
249pub mod nav_bar_toggle;
250#[doc(inline)]
251pub use nav_bar_toggle::{NavBarToggle, nav_bar_toggle};
252
253pub mod popover;
254#[doc(inline)]
255pub use popover::{Popover, popover};
256
257pub mod progress_bar;
258#[doc(inline)]
259pub use progress_bar::{
260 circular, circular::Circular, determinate_circular, determinate_linear, indeterminate_circular,
261 indeterminate_linear, linear, linear::Linear, style,
262};
263
264pub mod radio;
265#[doc(inline)]
266pub use radio::{Radio, radio};
267
268pub mod rectangle_tracker;
269#[doc(inline)]
270pub use rectangle_tracker::{RectangleTracker, rectangle_tracking_container};
271
272pub mod scrollable;
273#[doc(inline)]
274pub use scrollable::scrollable;
275pub mod segmented_button;
276pub mod segmented_control;
277
278pub mod settings;
279
280pub mod spin_button;
281#[doc(inline)]
282pub use spin_button::{SpinButton, spin_button, vertical as vertical_spin_button};
283
284pub mod tab_bar;
285
286pub mod table;
287#[doc(inline)]
288pub use table::{compact_table, table};
289
290pub mod text;
291#[doc(inline)]
292pub use text::{Text, text};
293
294pub mod text_input;
295#[doc(inline)]
296pub use text_input::{
297 TextInput, editable_input, inline_input, search_input, secure_input, text_input,
298};
299
300pub mod toaster;
301#[doc(inline)]
302pub use toaster::{Toast, ToastId, Toasts, toaster};
303
304mod toggler;
305#[doc(inline)]
306pub use toggler::{Toggler, toggler};
307
308#[doc(inline)]
309pub use tooltip::{Tooltip, tooltip};
310
311#[cfg(all(feature = "wayland", target_os = "linux", feature = "winit"))]
312pub mod wayland;
313
314pub mod tooltip {
315 use crate::Element;
316
317 pub use iced::widget::tooltip::Position;
318
319 pub type Tooltip<'a, Message> =
320 iced::widget::Tooltip<'a, Message, crate::Theme, crate::Renderer>;
321
322 pub fn tooltip<'a, Message>(
323 content: impl Into<Element<'a, Message>>,
324 tooltip: impl Into<Element<'a, Message>>,
325 position: Position,
326 ) -> Tooltip<'a, Message> {
327 let xxs = crate::theme::spacing().space_xxs;
328
329 Tooltip::new(content, tooltip, position)
330 .class(crate::theme::Container::Tooltip)
331 .padding(xxs)
332 .gap(1)
333 }
334}
335
336pub mod warning;
337#[doc(inline)]
338pub use warning::*;
339
340pub mod wrapper;
341#[doc(inline)]
342pub use wrapper::*;
343
344#[cfg(feature = "markdown")]
345#[doc(inline)]
346pub use iced::widget::markdown;
347
348#[cfg(feature = "about")]
349pub mod about;
350#[cfg(feature = "about")]
351#[doc(inline)]
352pub use about::about;