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// 滚动视图组件,支持内容滚动,适合长列表、文档阅读等。
33pub mod scroll_view;
34pub use scroll_view::*;
35// 上下文提供者组件,实现依赖注入和全局状态共享。
36mod context_provider;
37pub use context_provider::*;
38// 中心布局组件,用于居中布局,适合内容居中显示。
39pub mod center;
40pub use center::*;
41
42// 文本组件,用于显示文本内容,支持样式、超链接等。
43pub mod text;
44pub use text::*;
45// 自动换行文本组件,用于长文档、日志、小说正文等需要把换行高度交给布局的场景。
46pub mod wrapped_text;
47pub use wrapped_text::*;
48
49// 定位组件,支持绝对定位,适合复杂布局需求。
50pub mod positioned;
51pub use positioned::*;
52
53#[cfg(feature = "input")]
54pub mod input;
55#[cfg(feature = "input")]
56pub use input::*;
57#[cfg(feature = "input")]
58pub mod search_input;
59#[cfg(feature = "input")]
60pub use search_input::*;
61#[cfg(feature = "input")]
62pub use tui_input;
63
64#[cfg(feature = "tree")]
65pub mod tree_select;
66#[cfg(feature = "tree")]
67pub use tree_select::*;
68#[cfg(feature = "tree")]
69pub use tui_tree_widget;
70
71#[cfg(feature = "virtual-list")]
72pub mod virtual_list;
73#[cfg(feature = "virtual-list")]
74pub use tui_widget_list;
75#[cfg(feature = "virtual-list")]
76pub use virtual_list::*;
77
78// 注:`textarea` 组件暂时下线(其底层 tui-textarea 尚无 ratatui 0.30 兼容版)。
79// 源码隔离保留在 `textarea.rs`(未声明为模块),待依赖支持 0.30 后恢复接入。
80
81#[cfg(feature = "router")]
82// 路由组件,支持页面跳转、参数、嵌套路由等,适合多页面终端应用。
83pub mod router;
84#[cfg(feature = "router")]
85pub use router::*;