@cartridge-engine/ui
v1.0.1
Published
ink-cartridge ui kit
Maintainers
Readme
@cartridge-engine/ui
A UI kit for ink-cartridge — a cohesive set of components for building multi-page, interaction-dense terminal apps where keyboard, mouse, and focus work together.
Status
Early scaffold. Components are implemented in-tree; the index below is filled in alongside the source. APIs are not stable until a 1.0.0 release.
Design philosophy
Atomic, minimal, composable, controllable — each component is a thin wrapper over one framework mechanism, passing Ink props straight through.
Installation
npm install @cartridge-engine/uiPeer dependencies: react >= 18, ink >= 5, and ink-cartridge for the framework (screens, keyboard engine, theme, i18n).
Components
| Component | Description | Status |
|-----------|-------------|--------|
| Button | Declarative useMouseRegion wrapper — fills its parent, forwards its ref for external boundKeyboard linkage | ✓ |
Usage
import { CurrentScreen, KeyboardProvider, ScenarioManagementProvider } from "ink-cartridge";
// import { ... } from "@cartridge-engine/ui";
render(
<ScenarioManagementProvider defaultScreen={Home} fullScreen>
<KeyboardProvider mouse>
<CurrentScreen />
</KeyboardProvider>
</ScenarioManagementProvider>,
);Development
npm run build -w @cartridge-engine/ui # tsc build
npm test -w @cartridge-engine/ui # vitest runSee also
- ink-cartridge — core framework: screen system, keyboard engine, theme, i18n, CLI
- API docs — generated from JSDoc, auto-published on
main
