1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/// Custom widget implementations following Ratatui best practices
///
/// This module contains reusable widget components that implement the Widget and WidgetRef traits.
/// These widgets enable better composition, testability, and separation of concerns.
///
/// ## Layout System
///
/// The UI is organized into a responsive panel-based layout:
/// - **Header**: Session identity and status (model, git, tokens)
/// - **Main**: Transcript area with optional sidebar (wide mode)
/// - **Footer**: Status line and contextual hints
///
/// The `LayoutMode` enum determines the layout variant based on terminal size:
/// - `Compact`: Minimal chrome for small terminals (< 80 cols)
/// - `Standard`: Default layout with borders and titles
/// - `Wide`: Enhanced layout with sidebar (>= 120 cols)
///
/// ## Visual Hierarchy
///
/// Panels use consistent styling via the `Panel` wrapper:
/// - Active panels have highlighted borders
/// - Inactive panels have dimmed borders
/// - Titles are shown in Standard/Wide modes only
pub use ;
pub use HeaderWidget;
pub use InputWidget;
pub use LayoutMode;
pub use ;
pub use SessionWidget;
pub use ;
pub use TranscriptWidget;