@mwillbanks/tuil-ink
Ink renderer, terminal input, semantics, primitives, and overlays for tuil.
Overview
Ink renderer, terminal input, semantics, primitives, and overlays for tuil.
@mwillbanks/tuil-ink is independently installable and also participates in the
umbrella @mwillbanks/tuil runtime where applicable.
Installation
npm install @mwillbanks/tuil-inkHow it operates
The Ink adapter composes runtime, theme, focus, hotkeys, semantics, overlays, and terminal input around Ink rendering. It supports interactive output, static output, and capability-aware fallbacks.
API
| API | Signature | Description |
|---|---|---|
Alert | function Alert | Public function Alert. |
AlertProps | interface AlertProps | Public interface AlertProps. |
AppBar | function AppBar | Public function AppBar. |
AppShell | function AppShell | Public function AppShell. |
Badge | function Badge | Public function Badge. |
BadgeProps | interface BadgeProps | Public interface BadgeProps. |
Box | function Box | Public function Box. |
BoxProps | interface BoxProps | Public interface BoxProps. |
Button | function Button | Public function Button. |
ButtonProps | interface ButtonProps | Public interface ButtonProps. |
CommonComponentProps | interface CommonComponentProps | Public interface CommonComponentProps. |
Container | function Container | Public function Container. |
ContainerProps | interface ContainerProps | Public interface ContainerProps. |
createRuntimeElement | function createRuntimeElement | Public function createRuntimeElement. |
DismissableLayer | function DismissableLayer | Public function DismissableLayer. |
Divider | function Divider | Public function Divider. |
DividerProps | interface DividerProps | Public interface DividerProps. |
escapeTerminalControlCharacters | export escapeTerminalControlCharacters | Public export escapeTerminalControlCharacters. |
ExternalSnapshotStore | interface ExternalSnapshotStore | Public interface ExternalSnapshotStore. |
Heading | function Heading | Public function Heading. |
HeadingProps | interface HeadingProps | Public interface HeadingProps. |
HStack | function HStack | Public function HStack. |
InkRendererBackend | class InkRendererBackend | Public class InkRendererBackend. |
InkRendererTree | type InkRendererTree | Public type InkRendererTree. |
Overlay | function Overlay | Public function Overlay. |
OverlayProps | interface OverlayProps | Public interface OverlayProps. |
OverlayProvider | function OverlayProvider | Public function OverlayProvider. |
OverlayStatus | interface OverlayStatus | Public interface OverlayStatus. |
PointerEventBinding | interface PointerEventBinding | Public interface PointerEventBinding. |
Progress | function Progress | Public function Progress. |
ProgressProps | interface ProgressProps | Public interface ProgressProps. |
render | function render | Public function render. |
renderStatic | function renderStatic | Public function renderStatic. |
renderTerminalImage | function renderTerminalImage | Public function renderTerminalImage. |
resolveSemanticNode | function resolveSemanticNode | Public function resolveSemanticNode. |
ResponsiveStack | function ResponsiveStack | Public function ResponsiveStack. |
ResponsiveStackProps | interface ResponsiveStackProps | Public interface ResponsiveStackProps. |
SemanticNode | interface SemanticNode | Public interface SemanticNode. |
SemanticProvider | function SemanticProvider | Public function SemanticProvider. |
SemanticRegistry | class SemanticRegistry | Public class SemanticRegistry. |
Spinner | function Spinner | Public function Spinner. |
SpinnerProps | interface SpinnerProps | Public interface SpinnerProps. |
Stack | function Stack | Public function Stack. |
StackProps | interface StackProps | Public interface StackProps. |
StatusBar | function StatusBar | Public function StatusBar. |
TerminalImage | function TerminalImage | Public function TerminalImage. |
TerminalImageProps | interface TerminalImageProps | Public interface TerminalImageProps. |
TerminalImageSource | interface TerminalImageSource | Public interface TerminalImageSource. |
TerminalInputHandler | export TerminalInputHandler | Public export TerminalInputHandler. |
TerminalInputLayer | export TerminalInputLayer | Public export TerminalInputLayer. |
TerminalScrollAreaOptions | interface TerminalScrollAreaOptions | Public interface TerminalScrollAreaOptions. |
TerminalSemanticNode | function TerminalSemanticNode | Public function TerminalSemanticNode. |
TerminalSemanticNodeProps | interface TerminalSemanticNodeProps | Public interface TerminalSemanticNodeProps. |
TerminalSize | interface TerminalSize | Public interface TerminalSize. |
Text | function Text | Public function Text. |
TextProps | interface TextProps | Public interface TextProps. |
TuilRenderInstance | interface TuilRenderInstance | Public interface TuilRenderInstance. |
TuilRenderOptions | interface TuilRenderOptions | Public interface TuilRenderOptions. |
useOptionalExternalStore | function useOptionalExternalStore | Public function useOptionalExternalStore. |
useOverlayStatus | function useOverlayStatus | Public function useOverlayStatus. |
usePointerCapture | function usePointerCapture | Public function usePointerCapture. |
usePointerEvent | function usePointerEvent | Public function usePointerEvent. |
usePointerEvents | function usePointerEvents | Public function usePointerEvents. |
useSemanticNode | function useSemanticNode | Public function useSemanticNode. |
useSemanticRegistry | function useSemanticRegistry | Public function useSemanticRegistry. |
useTerminalInput | export useTerminalInput | Public export useTerminalInput. |
useTerminalScrollArea | function useTerminalScrollArea | Public function useTerminalScrollArea. |
useTerminalSize | function useTerminalSize | Public function useTerminalSize. |
useTerminalViewport | function useTerminalViewport | Public function useTerminalViewport. |
VStack | function VStack | Public function VStack. |
Events and lifecycle
Input first flows through overlay handlers, scoped terminal handlers, hotkeys, then focus traversal. Application events remain on the runtime event bus.
All subscriptions and registrations return a disposer or belong to an owning runtime that disposes them in reverse order.
Example
import { render } from "@mwillbanks/tuil-ink";
const instance = render(<App />, { app });
await instance.waitUntilExit();