Skip to main content

ratatui_kit/
lib.rs

1#![doc = include_str!("../README.md")]
2#![allow(clippy::needless_update)]
3#[cfg(feature = "atom")]
4mod atom;
5mod component;
6pub mod components;
7mod context;
8mod element;
9mod handler;
10mod hooks;
11mod input;
12mod multimap;
13mod props;
14mod reactive_handle;
15mod render;
16mod terminal;
17#[cfg(feature = "test-util")]
18pub mod test_util;
19
20mod flatten_export {
21    #[cfg(feature = "atom")]
22    pub use crate::atom::*;
23    pub use crate::component::*;
24    pub use crate::components::theme::*;
25    pub use crate::context::*;
26    pub use crate::element::*;
27    pub use crate::handler::*;
28    pub use crate::hooks::*;
29    pub use crate::input::*;
30    pub use crate::props::*;
31    pub use crate::reactive_handle::*;
32    pub use crate::render::*;
33    pub use crate::terminal::*;
34}
35
36pub use crossterm;
37pub use flatten_export::*;
38pub use ratatui;
39pub use ratatui_kit_macros::*;
40
41pub mod prelude {
42    pub use crate::components::*;
43    pub use crate::flatten_export::*;
44    pub use ratatui_kit_macros::*;
45}
46
47// 声明当前crate的名称为ratatui_kit
48// 这使得其他模块可以通过`use ratatui_kit::...`来访问本模块的内容
49// 因此我们可以使用我们自己的macros和属性
50extern crate self as ratatui_kit;