1pub mod command;
13#[cfg(feature = "dialog")]
14pub mod dialog;
15pub mod focus;
16pub mod input;
17pub mod navigation;
18pub mod runtime;
19pub mod terminal;
20
21#[cfg(feature = "dialog")]
22pub use dialog::{render_dialog, DialogData, DialogKey, DialogResult, DialogTheme};
23
24pub use command::{CommandHint, CommandRegistry, CommandResolver, CommandResponse};
25pub use focus::{
26 FocusController, FocusIntent, FocusManager, FocusQuery, FocusTarget, FocusWrap, Focusable,
27 OverlayFocus, PageFocusBuilder,
28};
29pub use input::{
30 parse_binding, parse_key, try_parse_binding, try_parse_key, ChordSequenceTracker, InputHint,
31 InputPipeline, InputRegistry, KeyChord, KeyMap, ParseKeyError, PipelineResponse,
32};
33pub use navigation::{
34 BufferState, NavigationCoordinator, NavigationEvent, NavigationResult, NavigationRouter,
35 PaneId, PaneSession, PaneSplit, ViewBuffer, WorkspaceState,
36};
37pub use runtime::{
38 modes, ActionContext, ActionOutcome, ModeId, PageFn, PageProvider, PageSpec, TuiActionHandler,
39 TuiApp, TuiEffect, TuiPages, TuiPagesBuilder, TuiPagesError, TuiPagesOutput, TuiPagesResult,
40 TuiPagesStatus,
41};
42pub use terminal::{enter as enter_terminal, TerminalGuard};
43
44pub mod prelude {
56 pub use crate::terminal;
57 pub use crate::{
58 modes, parse_binding, try_parse_binding, ActionContext, ActionOutcome, FocusController,
59 FocusIntent, FocusManager, FocusQuery, FocusTarget, FocusWrap, KeyChord, ModeId, PageFn,
60 PageFocusBuilder, PageProvider, PageSpec, ParseKeyError, TerminalGuard, TuiActionHandler,
61 TuiApp, TuiEffect, TuiPages, TuiPagesOutput, TuiPagesStatus,
62 };
63
64 #[cfg(feature = "dialog")]
65 pub use crate::dialog::{self, DialogData, DialogKey, DialogResult, DialogTheme};
66 #[cfg(feature = "dialog")]
67 pub use crate::render_dialog;
68}