1ch docs
HTML in. Terminal-density UI out. No React or reconciler required.
Quick Start
import { registerTermUIElement } from "1ch";
registerTermUIElement();
<term-ui width="62" mode="dark">
<section gap="1">
<article title="deploy v2.4.1">
<progress label="build" value="100" max="100"></progress>
<progress label="tests" value="94" max="100"></progress>
<progress label="cover" value="82" max="100"></progress>
</article>
<figure height="4" fill>4,7,5,12,9,14,8,11</figure>
</section>
</term-ui>
Source Formats
You can also use `source="..."` with `source-format="html|markdown|json"` when generating content dynamically.
JS Interactivity
const term = document.querySelector("term-ui");
term.addEventListener("termui-action", (event) => {
const action = (event as CustomEvent).detail;
// update your app state here
});
Waiting for action events...
Need a scratchpad? Open the HTML REPL to paste any HTML and preview instantly.