Crates.io | dioxus-tui |
lib.rs | dioxus-tui |
version | 0.5.0-alpha.0 |
source | src |
created_at | 2022-03-09 19:21:54.218625 |
updated_at | 2024-02-23 00:49:38.723383 |
description | TUI-based renderer for Dioxus |
homepage | https://dioxuslabs.com/learn/0.4/getting_started/tui |
repository | https://github.com/DioxusLabs/dioxus/ |
max_upload_size | |
id | 547131 |
size | 224,909 |
Beautiful terminal user interfaces in Rust with Dioxus .
Leverage React-like patterns, CSS, HTML, and Rust to build beautiful, portable, terminal user interfaces with Dioxus.
fn app() -> Element {
rsx!{
div {
width: "100%",
height: "10px",
background_color: "red",
justify_content: "center",
align_items: "center",
"Hello world!"
}
})
}
You can use Html-like semantics with inline styles, tree hierarchy, components, and more in your text-based user interface (TUI)
application.
Dioxus TUI is essentially a port of Ink but for Rust
and Dioxus
. Dioxus TUI doesn't depend on Node.js or any other JavaScript runtime, so your binaries are portable and beautiful.
WARNING: Dioxus TUI is currently under construction!
Rendering a VirtualDom works fine, but the ecosystem of hooks is not yet ready. Additionally, some bugs in the flexbox implementation might be quirky at times.
Dioxus TUI features:
1 Currently only a subset of the input element is implemented as a component (not an element). The Input
component supports sliders, text, numbers, passwords, buttons, and checkboxes.
2 Basic keyboard, mouse, and focus events are implemented.
3 Currently, most HTML tags don't translate into any meaning inside of Dioxus TUI. So an input
element won't mean anything nor does it have any additional functionality.