//! Built-in widgets and layout containers.
//!
//! | Widget | Description |
//! |--------|-------------|
//! | [`Label`] | Styled text display. |
//! | [`Input`] | Single-line text input with cursor. |
//! | [`Column`] | Vertical layout container. |
//! | [`Row`] | Horizontal layout container. |
//! | [`Stack`] | Layered / z-order container. |
//! | [`Block`] | Border + padding wrapper with optional title. |
//! | [`Scroll`] | Scrollable content container. |
//! | [`Overlay`] | Modal dialog with background dimming. |
//! | [`Table`] | Data table with headers, selection, and keyboard nav. |
//! | [`Tabs`] | Tabbed container with title row and content switching. |
//! | [`TextArea`] | Multi-line text editor with undo/redo and line numbers. |

pub mod block;
pub mod checkbox;
pub mod column;
pub mod dialog;
pub mod diffview;
pub mod input;
pub mod label;
pub mod overlay;
pub mod progressbar;
pub mod row;
pub mod scroll;
pub mod select;
pub mod spinner;
pub mod splitpane;
pub mod stack;
pub mod table;
pub mod tabs;
pub mod textarea;
pub mod tree;
pub mod virtuallist;

pub use block::Block;
pub use checkbox::{Checkbox, RadioGroup};
pub use column::Column;
pub use dialog::Dialog;
pub use diffview::DiffView;
pub use input::Input;
pub use label::Label;
pub use overlay::Overlay;
pub use progressbar::ProgressBar;
pub use row::Row;
pub use scroll::Scroll;
pub use select::Select;
pub use spinner::Spinner;
pub use splitpane::{SplitDirection, SplitPane};
pub use stack::Stack;
pub use table::{ColumnWidth, CursorType, Table, TableCell, TableColumn, TableRow};
pub use tabs::Tabs;
pub use textarea::TextArea;
pub use tree::{Tree, TreeNode};
pub use virtuallist::VirtualList;
