lv-tui
A reactive TUI framework for Rust. Component tree, reactive state, CSS-like styling, event bubbling, focus management — everything you need to build complex terminal applications.
use *;
use Component;
Features
- Component tree — compose UIs with Column, Row, Stack, Block, Scroll, Overlay
- Reactive state —
#[reactive(paint)]auto-triggers repaint on change - Event bubbling — Capture → Target → Bubble with
stop_propagation() - Focus management — Tab/Shift+Tab navigation with Focus/Blur events
- CSS-like stylesheets — type/class/id selectors with style inheritance
- Unicode — CJK/Emoji wide characters, text wrap, truncation, alignment
- Async tasks —
cx.spawn()for background work with TaskComplete events - Debug view — press
dto visualize component borders and labels
Widgets
| Widget | Description |
|---|---|
Label |
Text display with styling |
Input |
Single-line text input with cursor |
Column |
Vertical layout container |
Row |
Horizontal layout container |
Stack |
Layered/z-order container |
Block |
Border + padding wrapper with optional title |
Scroll |
Scrollable content container |
Overlay |
Modal dialog with background dimming |
Getting Started
[]
= "0.1"
License
MIT