<h1 align="center">οΏ½ite Scoria</h1>
<p align="center">
<strong>Beautiful TUI components for building terminal interfaces.</strong>
</p>
<p align="center">
<a href="https://crates.io/crates/scoria"><img src="https://img.shields.io/crates/v/scoria.svg?style=flat-square&logo=rust" alt="Crates.io"></a>
<a href="https://docs.rs/scoria"><img src="https://img.shields.io/docsrs/scoria?style=flat-square&logo=docs.rs" alt="Documentation"></a>
<a href="#license"><img src="https://img.shields.io/badge/license-MIT%2FApache--2.0-blue?style=flat-square" alt="License"></a>
</p>
---
## What is Scoria?
**Scoria** is volcanic rockβthe building blocks ejected from a forge. This crate provides the building blocks for terminal UIs: spinners, progress bars, text inputs, lists, tables, and more.
---
## Components
| `Spinner` | Animated loading indicators (8 styles) |
| `Progress` | Progress bars (4 styles) |
| `TextInput` | Text input with cursor navigation |
| `List` | Scrollable selection lists |
| `Table` | Data tables with alignment |
| `Tabs` | Tab navigation |
| `Viewport` | Scrollable content areas |
---
## Quick Start
```rust
use scoria::{Spinner, SpinnerStyle, Progress};
// Spinner
let mut spinner = Spinner::new(SpinnerStyle::Dots).title("Loading...");
spinner.tick();
println!("{}", spinner.view());
// Progress bar
let bar = Progress::new()
.progress(0.6)
.width(40)
.show_percentage();
println!("{}", bar.view());
// ββββββββββββββββββββββββββββββββββββββββ 60%
```
---
## Installation
```bash
cargo add scoria
```
---
## Ecosystem
Part of the **Molten Labs** open source ecosystem:
| [molten_brand](https://crates.io/crates/molten_brand) | Design tokens & colors |
| [glyphs](https://crates.io/crates/glyphs) | ANSI escape sequences |
| [lacquer](https://crates.io/crates/lacquer) | Terminal styling |
| [tuyere](https://crates.io/crates/tuyere) | TUI framework |
| **scoria** | TUI components (you are here) |
| [chant](https://crates.io/crates/chant) | Shell glamour |
| [aglow](https://crates.io/crates/aglow) | Markdown renderer |
| [censer](https://crates.io/crates/censer) | Pretty logging |
---
## License
MIT OR Apache-2.0
<p align="center">
<sub>Built with π by <a href="https://github.com/moltenlabs">Molten Labs</a></sub>
</p>