scoria 0.1.0

Beautiful TUI components for building terminal interfaces πŸŽ‡
Documentation

<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

| Component | Description |
|-----------|-------------|
| `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:

| Crate | Description |
|-------|-------------|
| [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>