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, 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 reorderable_flex_row;
219#[doc(inline)]
220pub use reorderable_flex_row::{ReorderableFlexRow, reorderable_flex_row};
221
222pub mod grid;
223#[doc(inline)]
224pub use grid::{Grid, grid};
225
226mod header_bar;
227#[doc(inline)]
228pub use header_bar::{HeaderBar, header_bar};
229
230pub mod icon;
231#[doc(inline)]
232pub use icon::{Icon, icon};
233
234pub mod id_container;
235#[doc(inline)]
236pub use id_container::{IdContainer, id_container};
237
238#[cfg(feature = "animated-image")]
239pub mod frames;
240
241pub use taffy::{JustifyContent, JustifyItems};
242
243pub mod list;
244#[doc(inline)]
245pub use list::{ListColumn, list_column};
246
247pub mod menu;
248
249pub mod nav_bar;
250#[doc(inline)]
251pub use nav_bar::{nav_bar, nav_bar_dnd};
252
253pub mod nav_bar_toggle;
254#[doc(inline)]
255pub use nav_bar_toggle::{NavBarToggle, nav_bar_toggle};
256
257pub mod popover;
258#[doc(inline)]
259pub use popover::{Popover, popover};
260
261pub mod progress_bar;
262#[doc(inline)]
263pub use progress_bar::{
264 circular, circular::Circular, determinate_circular, determinate_linear, indeterminate_circular,
265 indeterminate_linear, linear, linear::Linear, style,
266};
267
268pub mod radio;
269#[doc(inline)]
270pub use radio::{Radio, radio};
271
272pub mod rectangle_tracker;
273#[doc(inline)]
274pub use rectangle_tracker::{RectangleTracker, rectangle_tracking_container};
275
276pub mod scrollable;
277#[doc(inline)]
278pub use scrollable::scrollable;
279pub mod segmented_button;
280pub mod segmented_control;
281
282pub mod settings;
283
284pub mod spin_button;
285#[doc(inline)]
286pub use spin_button::{SpinButton, spin_button, vertical as vertical_spin_button};
287
288pub mod tab_bar;
289
290pub mod table;
291#[doc(inline)]
292pub use table::{compact_table, table};
293
294pub mod text;
295#[doc(inline)]
296pub use text::{Text, text};
297
298pub mod text_input;
299#[doc(inline)]
300pub use text_input::{
301 TextInput, editable_input, inline_input, search_input, secure_input, text_input,
302};
303
304pub mod toaster;
305#[doc(inline)]
306pub use toaster::{Toast, ToastId, Toasts, toaster};
307
308mod toggler;
309#[doc(inline)]
310pub use toggler::{Toggler, toggler};
311
312#[doc(inline)]
313pub use tooltip::{Tooltip, tooltip};
314
315#[cfg(all(feature = "wayland", target_os = "linux", feature = "winit"))]
316pub mod wayland;
317
318pub mod tooltip {
319 use crate::Element;
320
321 pub use iced::widget::tooltip::Position;
322
323 pub type Tooltip<'a, Message> =
324 iced::widget::Tooltip<'a, Message, crate::Theme, crate::Renderer>;
325
326 pub fn tooltip<'a, Message>(
327 content: impl Into<Element<'a, Message>>,
328 tooltip: impl Into<Element<'a, Message>>,
329 position: Position,
330 ) -> Tooltip<'a, Message> {
331 let xxs = crate::theme::spacing().space_xxs;
332
333 Tooltip::new(content, tooltip, position)
334 .class(crate::theme::Container::Tooltip)
335 .padding(xxs)
336 .gap(1)
337 }
338}
339
340pub mod warning;
341#[doc(inline)]
342pub use warning::*;
343
344pub mod wrapper;
345#[doc(inline)]
346pub use wrapper::*;
347
348#[cfg(feature = "markdown")]
349#[doc(inline)]
350pub use iced::widget::markdown;
351
352#[cfg(feature = "about")]
353pub mod about;
354#[cfg(feature = "about")]
355#[doc(inline)]
356pub use about::about;