Skip to main content

ratatui_kit/components/
mod.rs

1// 适配器组件,用于桥接外部 widget 或自定义渲染逻辑。
2pub mod adapter;
3pub use adapter::*;
4// Fragment 透明容器组件,无额外布局节点,常用于包裹多个子元素。
5pub mod fragment;
6pub use fragment::*;
7// 视图容器组件,支持布局、嵌套、样式等,常用于包裹和组织子组件。
8pub mod view;
9pub use view::*;
10// 边框组件,为内容添加可定制的边框和标题。
11pub mod border;
12pub use border::*;
13// 模态框组件,支持弹窗、遮罩等交互场景。
14pub mod modal;
15pub use modal::*;
16// 确认弹窗组件,封装独占输入层与确认/取消键位。
17pub mod confirm_modal;
18pub use confirm_modal::*;
19// 提示弹窗组件,封装独占输入层与关闭键位。
20pub mod alert_modal;
21pub use alert_modal::*;
22// 快捷键帮助弹窗组件,封装独占输入层与关闭键位。
23pub mod shortcut_info_modal;
24pub use shortcut_info_modal::*;
25// 单选列表组件,封装列表状态与键盘选择事件。
26mod list_state;
27pub mod select;
28pub use select::*;
29// 多选列表组件,封装多选状态与键盘选择事件。
30pub mod multi_select;
31pub use multi_select::*;
32// 表格组件,支持自绘 grid、换行、响应式列等高级表格能力。
33#[cfg(feature = "table")]
34pub mod table;
35#[cfg(feature = "table")]
36pub use table::*;
37// 滚动视图组件,支持内容滚动,适合长列表、文档阅读等。
38pub mod scroll_view;
39pub use scroll_view::*;
40// 上下文提供者组件,实现依赖注入和全局状态共享。
41mod context_provider;
42pub use context_provider::*;
43// 中心布局组件,用于居中布局,适合内容居中显示。
44pub mod center;
45pub use center::*;
46
47// 文本组件,用于显示文本内容,支持样式、超链接等。
48pub mod text;
49pub use text::*;
50// 自动换行文本组件,用于长文档、日志、小说正文等需要把换行高度交给布局的场景。
51pub mod wrapped_text;
52pub use wrapped_text::*;
53
54// 定位组件,支持绝对定位,适合复杂布局需求。
55pub mod positioned;
56pub use positioned::*;
57
58#[cfg(feature = "input")]
59pub mod input;
60#[cfg(feature = "input")]
61pub use input::*;
62#[cfg(feature = "input")]
63pub mod search_input;
64#[cfg(feature = "input")]
65pub use search_input::*;
66#[cfg(feature = "input")]
67pub use tui_input;
68
69#[cfg(feature = "tree")]
70pub mod tree_select;
71#[cfg(feature = "tree")]
72pub use tree_select::*;
73#[cfg(feature = "tree")]
74pub use tui_tree_widget;
75
76#[cfg(feature = "virtual-list")]
77pub mod virtual_list;
78#[cfg(feature = "virtual-list")]
79pub use tui_widget_list;
80#[cfg(feature = "virtual-list")]
81pub use virtual_list::*;
82
83// 注:`textarea` 组件暂时下线(其底层 tui-textarea 尚无 ratatui 0.30 兼容版)。
84// 源码隔离保留在 `textarea.rs`(未声明为模块),待依赖支持 0.30 后恢复接入。
85
86#[cfg(feature = "router")]
87// 路由组件,支持页面跳转、参数、嵌套路由等,适合多页面终端应用。
88pub mod router;
89#[cfg(feature = "router")]
90pub use router::*;