//! Use the built-in widgets or create your own. //! //! # Custom widgets //! If you want to implement a custom widget, you simply need to implement the //! [`Widget`] trait. You can use the API of the built-in widgets as a guide or //! source of inspiration. //! //! # Re-exports //! For convenience, the contents of this module are available at the root //! module. Therefore, you can directly type: //! //! ``` //! use iced_web::{button, Button, Widget}; //! ``` use crate::{Bus, Css}; use dodrio::bumpalo; pub mod button; pub mod checkbox; pub mod container; pub mod image; pub mod progress_bar; pub mod radio; pub mod scrollable; pub mod slider; pub mod text_input; mod column; mod row; mod space; mod text; #[doc(no_inline)] pub use button::Button; #[doc(no_inline)] pub use scrollable::Scrollable; #[doc(no_inline)] pub use slider::Slider; #[doc(no_inline)] pub use text::Text; #[doc(no_inline)] pub use text_input::TextInput; pub use checkbox::Checkbox; pub use column::Column; pub use container::Container; pub use image::Image; pub use progress_bar::ProgressBar; pub use radio::Radio; pub use row::Row; pub use space::Space; /// A component that displays information and allows interaction. /// /// If you want to build your own widgets, you will need to implement this /// trait. pub trait Widget { /// Produces a VDOM node for the [`Widget`]. fn node<'b>( &self, bump: &'b bumpalo::Bump, _bus: &Bus, style_sheet: &mut Css<'b>, ) -> dodrio::Node<'b>; }