mirror of
https://github.com/anomalyco/opentui.git
synced 2026-09-19 01:26:03 +08:00
423 lines
114 KiB
Plaintext
423 lines
114 KiB
Plaintext
---
|
|
title: API and symbol index
|
|
description: Find every published OpenTUI entry point and exported symbol, with its runtime, support class, and canonical documentation
|
|
skill:
|
|
entry: true
|
|
intents: [api, symbols, exports, public-api, api-index, lookup]
|
|
---
|
|
|
|
# API and symbol index
|
|
|
|
Use this page to find every published OpenTUI entry point and named export. The tables come from the generated publish maps and source barrels. They include runtime values and type-only exports.
|
|
|
|
## Support classes
|
|
|
|
| Class | Meaning |
|
|
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------- |
|
|
| Supported | This is a normal supported API. |
|
|
| Advanced | This API needs direct ownership, lifecycle, rendering, or integration knowledge. |
|
|
| Experimental | This API can change as its design develops. |
|
|
| Runtime-specific | This API works only in the runtime shown in its row. |
|
|
| Deprecated | Keep this API only while you move to its replacement. |
|
|
| Implementation-looking public export | The export is publicly reachable today, but OpenTUI does not endorse it for ordinary use. It is still indexed here. |
|
|
|
|
A row can have more than one class. Read [Runtime and platform support](/docs/getting-started/runtime-support) for the supported Bun and Node.js versions.
|
|
|
|
## Entry point index
|
|
|
|
The runtime column describes the published target. A Node stub throws during import for each Bun-only support entry point.
|
|
|
|
| Package entry point | Runtime | Class | Canonical documentation |
|
|
| ------------------------------------------------- | ------------------------------------ | ----------------------------------------------- | ---------------------------------------------------------------- |
|
|
| `@opentui/core` | Bun and Node.js | Supported | [Renderer](/docs/core-concepts/renderer) |
|
|
| `@opentui/core/testing` | Bun and Node.js | Supported | [Testing](/docs/core-concepts/testing) |
|
|
| `@opentui/core/runtime-plugin` | Bun only | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/core/runtime-plugin-support` | Bun only | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/core/runtime-plugin-support/configure` | Bun only | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/core/yoga` | Bun and Node.js | Advanced | [Yoga API](/docs/reference/yoga) |
|
|
| `@opentui/core/tree-sitter/update-assets` | Build time, with Bun CLI | Runtime-specific | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| `@opentui/core/parser.worker` | Bun and Node.js worker | Implementation-looking public export | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| `@opentui/core/node-assets` | Node.js build time | Runtime-specific | [Standalone executables](/docs/reference/standalone-executables) |
|
|
| `@opentui/react` | Bun and Node.js | Supported | [React bindings](/docs/bindings/react) |
|
|
| `@opentui/react/renderer` | Bun and Node.js | Supported, Implementation-looking public export | [React bindings](/docs/bindings/react) |
|
|
| `@opentui/react/test-utils` | Bun and Node.js | Supported | [Testing](/docs/core-concepts/testing) |
|
|
| `@opentui/react/runtime-plugin-support` | Bun only | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/react/runtime-plugin-support/configure` | Bun only | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/react/jsx-runtime` | Compiler selected | Supported | [React bindings](/docs/bindings/react) |
|
|
| `@opentui/react/jsx-dev-runtime` | Compiler selected | Supported | [React bindings](/docs/bindings/react) |
|
|
| `@opentui/solid` | Bun and Node.js | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/preload` | Bun only | Runtime-specific | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/bun-plugin` | Bun only | Runtime-specific, Advanced | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/runtime-plugin-support` | Bun only | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/solid/runtime-plugin-support/configure` | Bun only | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/solid/components` | Bun and Node.js | Advanced | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/jsx-runtime` | Compiler selected | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/jsx-dev-runtime` | Compiler selected | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/keymap` | JavaScript runtimes | Supported | [Core keymap API](/docs/keymap/core) |
|
|
| `@opentui/keymap/extras` | JavaScript runtimes | Supported | [Core keymap API](/docs/keymap/core) |
|
|
| `@opentui/keymap/extras/graph` | JavaScript runtimes | Advanced | [Core keymap API](/docs/keymap/core) |
|
|
| `@opentui/keymap/addons` | JavaScript runtimes | Supported | [Built-in keymap addons](/docs/keymap/addons) |
|
|
| `@opentui/keymap/addons/opentui` | Bun and Node.js | Supported | [Built-in keymap addons](/docs/keymap/addons) |
|
|
| `@opentui/keymap/testing` | JavaScript test runtimes | Supported | [Core keymap API](/docs/keymap/core) |
|
|
| `@opentui/keymap/html` | Browser DOM | Runtime-specific | [Keymap hosts](/docs/keymap/hosts) |
|
|
| `@opentui/keymap/opentui` | Bun and Node.js | Runtime-specific | [Keymap hosts](/docs/keymap/hosts) |
|
|
| `@opentui/keymap/react` | OpenTUI React | Runtime-specific | [React keymap integration](/docs/keymap/react) |
|
|
| `@opentui/keymap/solid` | OpenTUI Solid | Runtime-specific | [Solid keymap integration](/docs/keymap/solid) |
|
|
| `@opentui/keymap/runtime-modules` | Bun runtime loading | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/qrcode` | Bun and Node.js | Supported | [QR encoder](/docs/reference/qr-encoder) |
|
|
| `@opentui/qrcode/react` | OpenTUI React | Runtime-specific | [QR code component](/docs/components/qr-code) |
|
|
| `@opentui/qrcode/solid` | OpenTUI Solid | Runtime-specific | [QR code component](/docs/components/qr-code) |
|
|
| `@opentui/ssh` | Bun 1.3.0 or Node.js 26.4.0 or later | Runtime-specific | [SSH](/docs/reference/ssh) |
|
|
| `@opentui/three` | Bun only | Runtime-specific, Advanced | [Three.js WebGPU](/docs/reference/three) |
|
|
| `@opentui/three/runtime-modules` | Bun only | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
|
|
See [Package entry points](/docs/reference/package-entrypoints) for each entry point's role and import constraints.
|
|
|
|
## `@opentui/core`
|
|
|
|
The root works in Bun and supported Node.js releases. A class in these tables applies to every symbol in its row.
|
|
|
|
### Renderer and render tree
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------ | ----------------------------------------------------------------------------------------------------------- |
|
|
| Renderer | `CliRenderer`, `CliRendererConfig`, `CliRendererErrorEvent`, `CliRendererExternalOutputEvent`, `CliRendererFrameEvent`, `CliRendererHandlerErrorEvent`, `CliRendererStats`, `CliRenderEvents`, `ConsoleMode`, `createCliRenderer`, `ExternalOutputMode`, `KittyKeyboardOptions`, `MouseButton`, `MouseEvent`, `PixelResolution`, `RendererControlState`, `ScreenMode` | Supported | [Renderer](/docs/core-concepts/renderer) |
|
|
| Scheduling and scrollback | `RendererSchedulerState`, `ScrollbackRenderContext`, `ScrollbackSnapshot`, `ScrollbackSurface`, `ScrollbackSurfaceCommitOptions`, `ScrollbackSurfaceOptions`, `ScrollbackWriter`, `SplitFooterReplayResetOptions` | Advanced | [Renderer](/docs/core-concepts/renderer) |
|
|
| Shared renderer types | `CapturedFrame`, `CapturedLine`, `CapturedSpan`, `CursorStyle`, `CursorStyleOptions`, `DebugOverlayCorner`, `ImageRenderProtocol`, `MousePointerStyle`, `RenderContext`, `RendererEvents`, `TargetChannel`, `TerminalCapabilities`, `TerminalCapabilityState`, `TerminalInfo`, `TerminalMultiplexer`, `ThemeMode`, `Timeout`, `ViewportBounds`, `WidthMethod` | Supported | [Renderer](/docs/core-concepts/renderer) and [Terminal capabilities](/docs/reference/terminal-capabilities) |
|
|
| Cell and highlight types | `ATTRIBUTE_BASE_BITS`, `ATTRIBUTE_BASE_MASK`, `getBaseAttributes`, `Highlight`, `LineInfo`, `LineInfoProvider`, `TextAttributes` | Advanced | [Text and terminal cells](/docs/core-concepts/text-and-cells) |
|
|
| Renderables | `BaseRenderable`, `BaseRenderableOptions`, `isRenderable`, `LayoutEvents`, `LayoutOptions`, `Position`, `Renderable`, `RenderableEvents`, `RenderableOptions`, `RenderCommand`, `RootRenderable` | Supported | [Renderables](/docs/core-concepts/renderables) |
|
|
| Composition constructs | `ASCIIFont`, `Box`, `Code`, `FrameBuffer`, `Generic`, `Input`, `ScrollBox`, `Select`, `TabSelect`, `Text`, `vstyles` | Implementation-looking public export | [Renderables](/docs/core-concepts/renderables) |
|
|
| Composition internals | `Construct`, `DelegateMap`, `delegate`, `FunctionalConstruct`, `h`, `InstantiateFn`, `instantiate`, `isVNode`, `maybeMakeRenderable`, `PendingCall`, `ProxiedVNode`, `RenderableConstructor`, `ValidateShape`, `VChild`, `VNode`, `VRenderable`, `VRenderableOptions`, `wrapWithDelegates` | Implementation-looking public export | [Renderables](/docs/core-concepts/renderables) |
|
|
| Layout string parsers | `AlignString`, `BoxSizingString`, `DimensionString`, `DirectionString`, `DisplayString`, `EdgeString`, `FlexDirectionString`, `GutterString`, `JustifyString`, `LogLevelString`, `MeasureModeString`, `OverflowString`, `parseAlign`, `parseAlignItems`, `parseBoxSizing`, `parseDimension`, `parseDirection`, `parseDisplay`, `parseEdge`, `parseFlexDirection`, `parseGutter`, `parseJustify`, `parseLogLevel`, `parseMeasureMode`, `parseOverflow`, `parsePositionType`, `parseUnit`, `parseWrap`, `PositionTypeString`, `UnitString`, `WrapString` | Advanced | [Layout](/docs/core-concepts/layout) |
|
|
| Tree inspection | `visualizeRenderableTree` | Advanced | [Renderables](/docs/core-concepts/renderables) |
|
|
|
|
### Input and selection
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------------------------- |
|
|
| Keyboard events | `KeyEvent`, `KeyHandler`, `KeyHandlerEventMap`, `PasteEvent` | Supported | [Keyboard input](/docs/core-concepts/keyboard) |
|
|
| Keyboard implementation | `buildKittyKeyboardFlags`, `InternalKeyHandler` | Implementation-looking public export | [Keyboard input](/docs/core-concepts/keyboard) |
|
|
| Key parser | `KeyEventType`, `nonAlphanumericKeys`, `ParsedKey`, `parseKeypress`, `ParseKeypressOptions`, `terminalNamedSingleStrokeKeys` | Advanced | [Keyboard input](/docs/core-concepts/keyboard) |
|
|
| Raw input parser | `StdinEvent`, `StdinParser`, `StdinParserOptions`, `StdinParserProtocolContext`, `StdinResponseProtocol` | Advanced | [Keyboard input](/docs/core-concepts/keyboard) |
|
|
| Mouse parser | `MouseEventType`, `MouseParser`, `RawMouseEvent`, `ScrollInfo` | Advanced | [Interaction, focus, and selection](/docs/core-concepts/interaction) |
|
|
| Paste decoding | `decodePasteBytes`, `PasteKind`, `PasteMetadata`, `stripAnsiSequences` | Advanced | [Keyboard input](/docs/core-concepts/keyboard) |
|
|
| Scroll acceleration | `LinearScrollAccel`, `MacOSScrollAccel`, `ScrollAcceleration` | Advanced | [Interaction, focus, and selection](/docs/core-concepts/interaction) |
|
|
| Selection | `ASCIIFontSelectionHelper`, `convertGlobalToLocalSelection`, `LocalSelectionBounds`, `Selection` | Advanced | [Interaction, focus, and selection](/docs/core-concepts/interaction) |
|
|
|
|
### Text, color, links, and clipboard
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------- |
|
|
| Styled text | `bg`, `bgBlack`, `bgBlue`, `bgCyan`, `bgGreen`, `bgMagenta`, `bgRed`, `bgWhite`, `bgYellow`, `black`, `blink`, `blue`, `bold`, `brightBlack`, `brightBlue`, `brightCyan`, `brightGreen`, `brightMagenta`, `brightRed`, `brightWhite`, `brightYellow`, `Color`, `cyan`, `dim`, `fg`, `green`, `isStyledText`, `italic`, `link`, `magenta`, `red`, `reverse`, `strikethrough`, `stringToStyledText`, `StylableInput`, `StyleAttrs`, `StyledText`, `t`, `underline`, `white`, `yellow` | Supported | [Text and terminal cells](/docs/core-concepts/text-and-cells) |
|
|
| Color values | `ansi256IndexToRgb`, `ColorInput`, `ColorIntent`, `DEFAULT_BACKGROUND_RGB`, `DEFAULT_FOREGROUND_RGB`, `hexToRgb`, `hsvToRgb`, `normalizeColorValue`, `NormalizedColorValue`, `normalizeIndexedColorIndex`, `parseColor`, `RGBA`, `rgbToHex`, `RGBTriplet` | Supported | [Colors](/docs/core-concepts/colors) |
|
|
| Attributes and links | `attributesWithLink`, `createTextAttributes`, `getLinkId`, `detectLinks` | Advanced | [Text and terminal cells](/docs/core-concepts/text-and-cells) |
|
|
| HAST conversion | `HASTElement`, `HASTNode`, `HASTText`, `hastToStyledText` | Advanced | [Text and terminal cells](/docs/core-concepts/text-and-cells) |
|
|
| Clipboard | `Clipboard`, `ClipboardClearResult`, `ClipboardOptions`, `ClipboardReadOptions`, `ClipboardReadResult`, `ClipboardRepresentation`, `ClipboardSelection`, `ClipboardService`, `ClipboardTarget`, `ClipboardWriteDestination`, `ClipboardWriteOptions`, `ClipboardWriteResult`, `createClipboard`, `createHostClipboard`, `createRendererClipboardAdapter`, `HostClipboardBackend`, `HostClipboardClearResult`, `HostClipboardOperationOptions`, `HostClipboardOptions`, `HostClipboardReadOptions`, `HostClipboardService`, `HostClipboardWriteOptions`, `HostClipboardWriteResult`, `RendererClipboardBoundary`, `TerminalClipboardAdapter`, `TerminalClipboardOperationResult` | Supported | [Clipboard](/docs/core-concepts/clipboard) |
|
|
|
|
### Tree-sitter and syntax styles
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------ |
|
|
| Client lifecycle | `addDefaultParsers`, `destroyTreeSitterClient`, `getTreeSitterClient`, `TreeSitterClient` | Supported | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| File type lookup | `basenameToFiletype`, `extensionToFiletype`, `extToFiletype`, `infoStringToFiletype`, `pathToFiletype` | Supported | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| Styled output | `treeSitterToStyledText`, `TreeSitterToStyledTextOptions`, `treeSitterToTextChunks` | Supported | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| Parser and result types | `FiletypeParserOptions`, `HighlightMeta`, `HighlightRange`, `HighlightResponse`, `InjectionMapping`, `SimpleHighlight`, `TreeSitterClientEvents`, `TreeSitterClientOptions` | Supported | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| Worker protocol | `BufferState`, `Edit`, `ParsedBuffer`, `PerformanceStats`, `TreeSitterWorkerLogType`, `TreeSitterWorkerRequest`, `TreeSitterWorkerResponse` | Advanced | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| Syntax styles | `convertThemeToStyles`, `MergedStyle`, `StyleDefinition`, `StyleDefinitionInput`, `SyntaxStyle`, `ThemeTokenStyle` | Supported | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
|
|
### Plugins, console, and process services
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------------------- |
|
|
| Generic slots | `createSlotRegistry`, `Plugin`, `PluginContext`, `PluginErrorEvent`, `PluginErrorPhase`, `PluginErrorReport`, `PluginErrorSource`, `ResolvedSlotRenderer`, `SlotMode`, `SlotRegistry`, `SlotRegistryOptions`, `SlotRenderer` | Supported | [Plugin slots](/docs/plugins/slots) |
|
|
| Core slots | `CoreManagedSlot`, `CorePlugin`, `CoreResolvedSlotRenderer`, `CoreSlotContribution`, `CoreSlotFailurePlaceholder`, `CoreSlotMode`, `CoreSlotRegistry`, `CoreSlotRenderer`, `createCoreSlotRegistry`, `registerCorePlugin`, `resolveCoreSlot`, `SlotRenderable`, `SlotRenderableOptions` | Supported | [Core plugin slots](/docs/plugins/core) |
|
|
| Console overlay | `capture`, `ConsoleAction`, `ConsoleKeyBinding`, `ConsoleOptions`, `ConsolePosition`, `TerminalConsole` | Supported | [Console overlay](/docs/core-concepts/console) |
|
|
| Environment access | `clearEnvCache`, `env`, `EnvVarConfig`, `registerEnvVar` | Advanced | [Environment variables](/docs/reference/env-vars) |
|
|
| Environment registry output | `envRegistry`, `generateEnvColored`, `generateEnvMarkdown` | Implementation-looking public export | [Environment variables](/docs/reference/env-vars) |
|
|
| Terminal palette | `buildTerminalPaletteSignature`, `createTerminalPalette`, `GetPaletteOptions`, `NormalizedTerminalPalette`, `normalizeTerminalPalette`, `OscSubscriptionSource`, `TerminalColors`, `TerminalPalette`, `TerminalPaletteDetector`, `TerminalPaletteOptions`, `WriteFunction` | Advanced | [Terminal capabilities](/docs/reference/terminal-capabilities) |
|
|
| Application paths | `DataPaths`, `DataPathsEvents`, `DataPathsManager`, `getDataPaths` | Advanced | [Application data paths](/docs/reference/data-paths) |
|
|
| Clocks | `Clock`, `SystemClock`, `TimerHandle` | Advanced | [Animation and Timeline](/docs/application-apis/animation) |
|
|
|
|
### Components and component helpers
|
|
|
|
| Component or area | Symbols | Class | Canonical documentation |
|
|
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------------------------------------------------- |
|
|
| ASCII font | `ASCIIFontName`, `ASCIIFontOptions`, `ASCIIFontRenderable`, `coordinateToCharacterIndex`, `fonts`, `getCharacterPositions`, `measureText`, `renderFontToFrameBuffer` | Supported | [ASCII font](/docs/components/ascii-font) |
|
|
| Box and borders | `BorderCharacters`, `BorderCharArrays`, `BorderChars`, `borderCharsToArray`, `BorderConfig`, `BorderSides`, `BorderSidesConfig`, `BorderStyle`, `BoxDrawOptions`, `BoxOptions`, `BoxRenderable`, `getBorderFromSides`, `getBorderSides`, `isValidBorderStyle`, `parseBorderStyle` | Supported | [Box](/docs/components/box) |
|
|
| Code | `ChunkRenderContext`, `CodeOptions`, `CodeRenderable`, `HighlightContext`, `OnChunksCallback`, `OnHighlightCallback` | Supported | [Code](/docs/components/code) |
|
|
| Diff | `DiffRenderable`, `DiffRenderableOptions` | Supported | [Diff](/docs/components/diff) |
|
|
| Embedded terminal | `EmbeddedTerminalDataSource`, `EmbeddedTerminalOptions`, `EmbeddedTerminalRenderable`, `EmbeddedTerminalScreen` | Supported | [Embedded terminal](/docs/components/embedded-terminal) |
|
|
| Editable buffer renderable | `ContentChangeEvent`, `CursorChangeEvent`, `EditBufferOptions`, `EditBufferRenderable`, `EditBufferRenderableEvents`, `EditorCapture`, `EditorTraits`, `isEditBufferRenderable` | Advanced | [Editing buffers and views](/docs/extend/editing) |
|
|
| Frame buffer | `FrameBufferOptions`, `FrameBufferRenderable` | Advanced | [Frame buffer](/docs/components/frame-buffer) |
|
|
| Image display | `ImageFit`, `ImageRenderable`, `ImageRenderableOptions`, `ImageRenderableSource`, `resolveImageRenderProtocol` | Supported | [Image](/docs/components/image) |
|
|
| Kitty transport | `KittyImageTransport`, `KittyImageTransportStatus` | Supported | [Kitty transport](/docs/components/image#kitty-transport) |
|
|
| Input | `InputAction`, `InputKeyBinding`, `InputRenderable`, `InputRenderableEvents`, `InputRenderableOptions` | Supported | [Input](/docs/components/input) |
|
|
| Line number gutter | `LineColorConfig`, `LineNumberOptions`, `LineNumberRenderable`, `LineSign` | Supported | [Line number gutter](/docs/components/line-number) |
|
|
| Markdown | `BlockState`, `createMarkdownCodeBlockRenderer`, `MarkdownCodeBlockRenderer`, `MarkdownCodeBlockRendererMap`, `MarkdownOptions`, `MarkdownRenderable`, `MarkdownTableOptions`, `MarkdownTableStyle`, `RenderNodeContext` | Supported | [Markdown](/docs/components/markdown) |
|
|
| Markdown parser state | `ParseState` | Implementation-looking public export | [Markdown](/docs/components/markdown) |
|
|
| Scroll bar | `ArrowOptions`, `ArrowRenderable`, `ScrollBarOptions`, `ScrollBarRenderable`, `ScrollUnit` | Advanced | [Scroll bar](/docs/components/scrollbar) |
|
|
| Scroll box | `ScrollBoxOptions`, `ScrollBoxRenderable` | Supported | [Scroll box](/docs/components/scrollbox) |
|
|
| Select | `SelectAction`, `SelectKeyBinding`, `SelectOption`, `SelectRenderable`, `SelectRenderableEvents`, `SelectRenderableOptions` | Supported | [Select](/docs/components/select) |
|
|
| Slider | `SliderOptions`, `SliderRenderable` | Supported | [Slider](/docs/components/slider) |
|
|
| Tab select | `TabSelectAction`, `TabSelectKeyBinding`, `TabSelectOption`, `TabSelectRenderable`, `TabSelectRenderableEvents`, `TabSelectRenderableOptions` | Supported | [Tab select](/docs/components/tab-select) |
|
|
| Text | `TextOptions`, `TextRenderable` | Supported | [Text](/docs/components/text) |
|
|
| Text nodes | `isTextNodeRenderable`, `RootTextNodeRenderable`, `TextNodeOptions`, `TextNodeRenderable` | Advanced | [Text and terminal cells](/docs/core-concepts/text-and-cells) |
|
|
| Text table | `TextTableCellContent`, `TextTableColumnFitter`, `TextTableColumnWidthMode`, `TextTableContent`, `TextTableOptions`, `TextTableRenderable` | Supported | [Text table](/docs/components/text-table) |
|
|
| Textarea | `defaultTextareaKeyBindings`, `KeyBinding`, `SubmitEvent`, `TextareaAction`, `TextareaKeyAliasMap`, `TextareaOptions`, `TextareaRenderable` | Supported | [Textarea](/docs/components/textarea) |
|
|
| Text buffer renderable | `TextBufferOptions`, `TextBufferRenderable` | Advanced | [Editing buffers and views](/docs/extend/editing) |
|
|
| First-draw timestamp | `TimeToFirstDrawOptions`, `TimeToFirstDrawRenderable` | Supported | [Time to first draw](/docs/components/time-to-first-draw) |
|
|
|
|
### Buffers, editing, animation, and effects
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------ | ---------------------------------------------------------- |
|
|
| Cell buffer | `OptimizedBuffer` | Advanced | [Buffer API](/docs/reference/buffer-api) |
|
|
| Text buffer | `TextBuffer`, `TextChunk`, `TextBufferView` | Advanced | [Editing buffers and views](/docs/extend/editing) |
|
|
| Editing | `EditBuffer`, `EditorView`, `Viewport` | Advanced | [Editing buffers and views](/docs/extend/editing) |
|
|
| Extmarks | `createExtmarksController`, `Extmark`, `ExtmarkOptions`, `ExtmarksController` | Experimental, Advanced | [Editing buffers and views](/docs/extend/editing) |
|
|
| Timeline | `AnimationOptions`, `createTimeline`, `EasingFunctions`, `JSAnimation`, `Timeline`, `TimelineOptions` | Supported | [Animation and Timeline](/docs/application-apis/animation) |
|
|
| Animation engine | `engine` | Implementation-looking public export | [Animation and Timeline](/docs/application-apis/animation) |
|
|
| Effects | `CloudsEffect`, `CRTRollingBarEffect`, `DistortionEffect`, `FlamesEffect`, `RainbowTextEffect`, `VignetteEffect` | Experimental, Advanced | [Post-processing effects](/docs/extend/post-processing) |
|
|
| Filters | `applyAsciiArt`, `applyBrightness`, `applyChromaticAberration`, `applyGain`, `applyInvert`, `applyNoise`, `applySaturation`, `applyScanlines`, `BloomEffect` | Experimental, Advanced | [Post-processing effects](/docs/extend/post-processing) |
|
|
| Matrices | `ACHROMATOPSIA_MATRIX`, `DEUTERANOPIA_COMP_MATRIX`, `DEUTERANOPIA_SIM_MATRIX`, `GRAYSCALE_MATRIX`, `GREENSCALE_MATRIX`, `INVERT_MATRIX`, `PROTANOPIA_COMP_MATRIX`, `PROTANOPIA_SIM_MATRIX`, `SEPIA_MATRIX`, `SOLARIZATION_MATRIX`, `SYNTHWAVE_MATRIX`, `TECHNICOLOR_MATRIX`, `TRITANOPIA_COMP_MATRIX`, `TRITANOPIA_SIM_MATRIX` | Advanced | [Color matrices](/docs/reference/color-matrix) |
|
|
|
|
### Images, audio, and native span output
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------- |
|
|
| `NativeImage` API | `BlendMode`, `CompositeOptions`, `ExtendOptions`, `ExtractOptions`, `ImageColorStatus`, `ImageError`, `ImageErrorCode`, `ImageFormat`, `imageInfo`, `ImageInfo`, `ImageLoadError`, `ImageLoadErrorCode`, `ImageLoadOptions`, `ImageSource`, `NativeImage`, `NativeImagePool`, `NativeImagePoolOptions`, `OwnedRawImage`, `PixelFormat`, `PixelImportOptions`, `RawImage`, `ResizeKernel`, `ResizeOptions` | Advanced | [`NativeImage`](/docs/reference/native-image) |
|
|
| Audio playback and mixing | `Audio`, `AudioAction`, `AudioErrorContext`, `AudioEvents`, `AudioGroup`, `AudioInitializationAction`, `AudioInitializationError`, `AudioPlaybackDevice`, `AudioPlayOptions`, `AudioSetupOptions`, `AudioSound`, `AudioStartOptions`, `AudioVoice`, `setupAudio` | Supported | [Audio](/docs/core-concepts/audio) |
|
|
| Streaming audio | `AudioStream`, `AudioStreamAction`, `AudioStreamBody`, `AudioStreamBodyOptions`, `AudioStreamBufferOptions`, `AudioStreamConnectContext`, `AudioStreamConnection`, `AudioStreamConnector`, `AudioStreamContentTypeContext`, `AudioStreamContentTypePolicy`, `AudioStreamDemuxer`, `AudioStreamDemuxerFactory`, `AudioStreamDemuxOutput`, `AudioStreamError`, `AudioStreamErrorContext`, `AudioStreamEvents`, `AudioStreamFormat`, `AudioStreamMetadata`, `AudioStreamMetadataFormat`, `AudioStreamOptions`, `AudioStreamReconnectEvent`, `AudioStreamReconnectOptions`, `AudioStreamRetryContext`, `AudioStreamRetryDecision`, `AudioStreamRetryPhase`, `AudioStreamSourceOptions`, `AudioStreamState`, `AudioStreamStats`, `AudioStreamUrlOptions`, `createIcyStreamDemuxer`, `IcyStreamDemuxerOptions` | Supported | [Streaming audio](/docs/application-apis/audio-streaming) |
|
|
| Audio capture and recording | `AudioCaptureDevice`, `AudioCaptureOptions`, `AudioCaptureReadResult`, `AudioCaptureStats`, `AudioCaptureStream`, `AudioCaptureStreamAction`, `AudioCaptureStreamError`, `AudioCaptureStreamErrorContext`, `AudioCaptureStreamEvents`, `AudioCaptureStreamOptions`, `AudioCaptureStreamState`, `AudioCaptureStreamStats`, `AudioRecorder`, `AudioRecorderAction`, `AudioRecorderError`, `AudioRecorderErrorContext`, `AudioRecorderEvents`, `AudioRecorderState`, `AudioRecorderStats`, `AudioRecordToFileOptions` | Supported | [Audio capture and recording](/docs/application-apis/audio-capture) |
|
|
| Native span output | `DataHandler`, `NativeSpanFeed` | Advanced | [`NativeSpanFeed`](/docs/reference/native-span-feed) |
|
|
|
|
### Low-level native binding exports
|
|
|
|
These names expose the TypeScript side of the native binding. Use the higher-level API unless a low-level guide requires one of them.
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ---------------------------------------------------------------- |
|
|
| Native handles and binding types | `AudioEngineHandle`, `AudioEngineLib`, `ClipboardOperationHandle`, `ClipboardServiceHandle`, `CursorState`, `EditBufferHandle`, `EditorViewHandle`, `EventSinkHandle`, `ImageHandle`, `LogicalCursor`, `LogLevel`, `MeasureResult`, `NativeAudioStreamCloseReason`, `NativeAudioStreamFormat`, `NativeAudioStreamState`, `NativeBufferedOutput`, `NativeClipboardCancelStatus`, `NativeClipboardCopyStatus`, `NativeClipboardDestroyStatus`, `NativeClipboardOperationStatus`, `NativeClipboardShutdownStatus`, `NativeClipboardStartStatus`, `NativeHandle`, `NativeMeasureTargetHandle`, `NativeMeasureTargetKind`, `NativeRenderableHandle`, `NativeRendererCreateOptions`, `NativeRenderOperationResult`, `NativeSpanFeedEventHandler`, `NativeYogaDirtiedCallback`, `NativeYogaLayout`, `NativeYogaMeasureCallback`, `OptimizedBufferHandle`, `RendererHandle`, `RenderLib`, `resolveRenderLib`, `setRenderLibPath`, `SyntaxStyleHandle`, `TextBufferHandle`, `TextBufferViewHandle`, `VisualCursor` | Implementation-looking public export | [This section](#low-level-native-binding-exports) |
|
|
| Native result structures | `AllocatorStats`, `AudioStreamCreateOptions`, `BuildOptions`, `GrowthPolicy`, `NativeAudioCaptureStats`, `NativeAudioStreamStats`, `NativeRenderStats`, `NativeSpanFeedOptions`, `NativeSpanFeedStats` | Advanced | [This section](#low-level-native-binding-exports) |
|
|
| Bundled asset resolution | `resolveBundledFilePath` | Implementation-looking public export | [Standalone executables](/docs/reference/standalone-executables) |
|
|
| Yoga namespace | `Yoga` | Advanced | [Yoga API](/docs/reference/yoga) |
|
|
|
|
## Other `@opentui/core` entry points
|
|
|
|
### Testing
|
|
|
|
`@opentui/core/testing` works in Bun and Node.js.
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | -------------------------------------- |
|
|
| Renderer setup | `createTestRenderer`, `MockInput`, `MockMouse`, `TestExternalOutput`, `TestExternalOutputCommit`, `TestFlushOptions`, `TestRenderer`, `TestRendererOptions`, `TestRendererSetup`, `TestVisualIdleOptions`, `TestWaitForOptions` | Supported | [Testing](/docs/core-concepts/testing) |
|
|
| Keyboard and mouse | `createMockKeys`, `createMockMouse`, `KeyCodes`, `KeyInput`, `MockKeysOptions`, `MouseButton`, `MouseButtons`, `MouseEventOptions`, `MouseEventType`, `MouseModifiers`, `MousePosition`, `pasteBytes` | Supported | [Testing](/docs/core-concepts/testing) |
|
|
| Capabilities | `createTerminalCapabilities`, `setRendererCapabilities`, `TerminalCapabilitiesOverrides` | Supported | [Testing](/docs/core-concepts/testing) |
|
|
| Deterministic helpers | `createSpy`, `ManualClock`, `MockTreeSitterClient` | Supported | [Testing](/docs/core-concepts/testing) |
|
|
| Recording | `RecordedFrame`, `TestRecorder` | Supported | [Testing](/docs/core-concepts/testing) |
|
|
|
|
### Runtime plugin support
|
|
|
|
These entry points are Bun-only. Their Node.js targets are stubs that throw during import.
|
|
|
|
| Package entry point | Symbols | Class | Canonical documentation |
|
|
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------ |
|
|
| `@opentui/core/runtime-plugin` | `createRuntimePlugin`, `CreateRuntimePluginOptions`, `isCoreRuntimeModuleSpecifier`, `RuntimeModuleEntry`, `RuntimeModuleExports`, `runtimeModuleIdForSpecifier`, `RuntimeModuleLoader`, `RuntimePluginRewriteOptions` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/core/runtime-plugin-support` | `createRuntimePlugin`, `CreateRuntimePluginOptions`, `ensureRuntimePluginSupport`, `RuntimeModuleEntry`, `RuntimeModuleExports`, `runtimeModuleIdForSpecifier`, `RuntimeModuleLoader` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/core/runtime-plugin-support/configure` | `createRuntimePlugin`, `CreateRuntimePluginOptions`, `ensureRuntimePluginSupport`, `RuntimeModuleEntry`, `RuntimeModuleExports`, `runtimeModuleIdForSpecifier`, `RuntimeModuleLoader` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
|
|
### Yoga
|
|
|
|
`@opentui/core/yoga` works in Bun and Node.js. The root `Yoga` namespace exposes this module. See [Yoga API](/docs/reference/yoga) for methods and ownership.
|
|
|
|
| Purpose | Symbols | Class |
|
|
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
|
|
| Objects and callback types | `Config`, `Node`, `default`, `DirtiedFunction`, `Layout`, `MeasureFunction`, `Size`, `Value` | Advanced |
|
|
| Alignment | `Align`, `ALIGN_AUTO`, `ALIGN_BASELINE`, `ALIGN_CENTER`, `ALIGN_FLEX_END`, `ALIGN_FLEX_START`, `ALIGN_SPACE_AROUND`, `ALIGN_SPACE_BETWEEN`, `ALIGN_SPACE_EVENLY`, `ALIGN_STRETCH` | Advanced |
|
|
| Box sizing | `BoxSizing`, `BOX_SIZING_BORDER_BOX`, `BOX_SIZING_CONTENT_BOX` | Advanced |
|
|
| Dimensions | `Dimension`, `DIMENSION_HEIGHT`, `DIMENSION_WIDTH` | Advanced |
|
|
| Direction | `Direction`, `DIRECTION_INHERIT`, `DIRECTION_LTR`, `DIRECTION_RTL` | Advanced |
|
|
| Display | `Display`, `DISPLAY_CONTENTS`, `DISPLAY_FLEX`, `DISPLAY_NONE` | Advanced |
|
|
| Edges | `Edge`, `EDGE_ALL`, `EDGE_BOTTOM`, `EDGE_END`, `EDGE_HORIZONTAL`, `EDGE_LEFT`, `EDGE_RIGHT`, `EDGE_START`, `EDGE_TOP`, `EDGE_VERTICAL` | Advanced |
|
|
| Compatibility errata | `Errata`, `ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE`, `ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING`, `ERRATA_ALL`, `ERRATA_CLASSIC`, `ERRATA_NONE`, `ERRATA_STRETCH_FLEX_BASIS` | Advanced |
|
|
| Experimental feature | `ExperimentalFeature`, `EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS` | Experimental, Advanced |
|
|
| Flex direction | `FlexDirection`, `FLEX_DIRECTION_COLUMN`, `FLEX_DIRECTION_COLUMN_REVERSE`, `FLEX_DIRECTION_ROW`, `FLEX_DIRECTION_ROW_REVERSE` | Advanced |
|
|
| Gaps | `Gutter`, `GUTTER_ALL`, `GUTTER_COLUMN`, `GUTTER_ROW` | Advanced |
|
|
| Justification | `Justify`, `JUSTIFY_CENTER`, `JUSTIFY_FLEX_END`, `JUSTIFY_FLEX_START`, `JUSTIFY_SPACE_AROUND`, `JUSTIFY_SPACE_BETWEEN`, `JUSTIFY_SPACE_EVENLY` | Advanced |
|
|
| Logging | `LogLevel`, `LOG_LEVEL_DEBUG`, `LOG_LEVEL_ERROR`, `LOG_LEVEL_FATAL`, `LOG_LEVEL_INFO`, `LOG_LEVEL_VERBOSE`, `LOG_LEVEL_WARN` | Advanced |
|
|
| Measurement | `MeasureMode`, `MEASURE_MODE_AT_MOST`, `MEASURE_MODE_EXACTLY`, `MEASURE_MODE_UNDEFINED` | Advanced |
|
|
| Node type | `NodeType`, `NODE_TYPE_DEFAULT`, `NODE_TYPE_TEXT` | Advanced |
|
|
| Overflow | `Overflow`, `OVERFLOW_HIDDEN`, `OVERFLOW_SCROLL`, `OVERFLOW_VISIBLE` | Advanced |
|
|
| Position | `PositionType`, `POSITION_TYPE_ABSOLUTE`, `POSITION_TYPE_RELATIVE`, `POSITION_TYPE_STATIC` | Advanced |
|
|
| Units | `Unit`, `UNIT_AUTO`, `UNIT_PERCENT`, `UNIT_POINT`, `UNIT_UNDEFINED` | Advanced |
|
|
| Wrapping | `Wrap`, `WRAP_NO_WRAP`, `WRAP_WRAP`, `WRAP_WRAP_REVERSE` | Advanced |
|
|
|
|
### Tree-sitter assets, worker, and Node assets
|
|
|
|
| Package entry point | Runtime | Symbols | Class | Canonical documentation |
|
|
| ----------------------------------------- | ------------------------ | ----------------------------------------------------- | ------------------------------------ | ---------------------------------------------------------------- |
|
|
| `@opentui/core/tree-sitter/update-assets` | Build time, with Bun CLI | `runUpdateAssetsCli`, `updateAssets`, `UpdateOptions` | Runtime-specific | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| `@opentui/core/parser.worker` | Bun and Node.js worker | No named application exports | Implementation-looking public export | [Tree-sitter](/docs/reference/tree-sitter) |
|
|
| `@opentui/core/node-assets` | Node.js build time | `getNodeAssets`, `NodeAsset`, `NodeAssetTarget` | Runtime-specific | [Standalone executables](/docs/reference/standalone-executables) |
|
|
|
|
## `@opentui/react`
|
|
|
|
The root and compiler-selected JSX entry points work in Bun and Node.js.
|
|
|
|
### Root exports
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | --------------------------------------------------------- |
|
|
| Root rendering | `createElement`, `createPortal`, `createRoot`, `flushSync`, `Root` | Supported | [React bindings](/docs/bindings/react) |
|
|
| Application context | `AppContext`, `useAppContext` | Supported | [React bindings](/docs/bindings/react) |
|
|
| Hooks | `useBlur`, `useFocus`, `useKeyboard`, `UseKeyboardOptions`, `useOnResize`, `usePaste`, `useRenderer`, `useSelectionHandler`, `useTerminalDimensions`, `useTimeline` | Supported | [React bindings](/docs/bindings/react) |
|
|
| Catalogue extension | `extend`, `ExtendedComponentProps`, `ExtendedIntrinsicElements`, `getComponentCatalogue`, `OpenTUIComponents`, `RenderableConstructor` | Advanced | [React bindings](/docs/bindings/react) |
|
|
| Catalogue objects | `baseComponents`, `componentCatalogue` | Implementation-looking public export | [React bindings](/docs/bindings/react) |
|
|
| Component prop types | `AsciiFontProps`, `BoxProps`, `CodeProps`, `DiffProps`, `GetNonStyledProperties`, `ImageProps`, `InputProps`, `LineBreakProps`, `LineNumberProps`, `LinkProps`, `MarkdownProps`, `NonStyledProps`, `ReactProps`, `ScrollBoxProps`, `SelectProps`, `SpanProps`, `TabSelectProps`, `TextareaProps`, `TextProps` | Supported | [Components overview](/docs/components) |
|
|
| Plugin slots | `createReactSlotRegistry`, `createSlot`, `ReactBoundSlotProps`, `ReactPlugin`, `ReactRegistrySlotComponent`, `ReactSlotComponent`, `ReactSlotOptions`, `ReactSlotProps`, `Slot`, `SlotMode` | Supported | [React plugin slots](/docs/plugins/react) |
|
|
| First-draw timestamp | `TimeToFirstDraw`, `TimeToFirstDrawProps` | Supported | [Time to first draw](/docs/components/time-to-first-draw) |
|
|
|
|
### Other React entry points
|
|
|
|
| Package entry point | Symbols | Class | Canonical documentation |
|
|
| ------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ | ------------------------------------------------------ |
|
|
| `@opentui/react/renderer` declarations | `createPortal`, `createRoot`, `flushSync`, `Root` | Supported | [React bindings](/docs/bindings/react) |
|
|
| `@opentui/react/renderer` runtime | All runtime values from `@opentui/react` | Implementation-looking public export | [React bindings](/docs/bindings/react) |
|
|
| `@opentui/react/test-utils` | `testRender` | Supported | [Testing](/docs/core-concepts/testing) |
|
|
| `@opentui/react/runtime-plugin-support` | `ensureRuntimePluginSupport`, `ReactRuntimePluginSupportOptions` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/react/runtime-plugin-support/configure` | `ensureRuntimePluginSupport`, `ReactRuntimePluginSupportOptions` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/react/jsx-runtime` | `Fragment`, `jsx`, `jsxs`, `JSX` | Supported | [React bindings](/docs/bindings/react) |
|
|
| `@opentui/react/jsx-dev-runtime` | `Fragment`, `jsxDEV`, `JSX` | Supported | [React bindings](/docs/bindings/react) |
|
|
|
|
The generated React map points `/renderer` runtime imports to `index.js`. Its declaration path points to `reconciler/renderer.d.ts`. Treat root values outside the four declared names as a build leak.
|
|
|
|
## `@opentui/solid`
|
|
|
|
The root, `/components`, and compiler-selected JSX entry points work in Bun and Node.js.
|
|
|
|
### Root exports
|
|
|
|
| Area | Symbols | Class | Canonical documentation |
|
|
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------------------------------------------------ |
|
|
| Root rendering | `render`, `testRender` | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
| Hooks | `onBlur`, `onFocus`, `onResize`, `useKeyboard`, `UseKeyboardOptions`, `usePaste`, `useRenderer`, `useSelectionHandler`, `useTerminalDimensions`, `useTimeline` | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
| Renamed hook | `useKeyHandler` | Deprecated | Use `useKeyboard` in [Solid bindings](/docs/bindings/solid). |
|
|
| Components | `createDynamic`, `Dynamic`, `DynamicProps`, `Portal` | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
| Scrollback | `createScrollbackWriter`, `SolidScrollbackNode`, `SolidScrollbackWriterOptions`, `writeSolidToScrollback` | Advanced | [Renderer](/docs/core-concepts/renderer) |
|
|
| Catalogue extension | `extend`, `ExtendedComponentProps`, `ExtendedIntrinsicElements`, `getComponentCatalogue`, `OpenTUIComponents`, `RenderableConstructor` | Advanced | [Solid bindings](/docs/bindings/solid) |
|
|
| Catalogue and text wrappers | `baseComponents`, `BoldSpanRenderable`, `componentCatalogue`, `ItalicSpanRenderable`, `LineBreakRenderable`, `LinkOptions`, `LinkRenderable`, `TextNodeKey`, `textNodeKeys`, `UnderlineSpanRenderable` | Implementation-looking public export | [Solid bindings](/docs/bindings/solid) |
|
|
| Reconciler | `_render`, `createComponent`, `createElement`, `createSlotNode`, `createTextNode`, `DomNode`, `effect`, `insert`, `insertNode`, `memo`, `mergeProps`, `setProp`, `spread`, `use` | Implementation-looking public export | [Solid bindings](/docs/bindings/solid) |
|
|
| Reconciler context and wrappers | `LayoutSlotRenderable`, `RendererContext`, `SlotRenderable`, `TextSlotRenderable` | Implementation-looking public export | [Solid bindings](/docs/bindings/solid) |
|
|
| Component prop types | `AsciiFontProps`, `BoxProps`, `CodeProps`, `ElementProps`, `GetNonStyledProperties`, `ImageProps`, `InputProps`, `LinkProps`, `MarkdownProps`, `NonStyledProps`, `ScrollBoxProps`, `SelectProps`, `SpanProps`, `TabSelectProps`, `TextareaProps`, `TextProps` | Supported | [Components overview](/docs/components) |
|
|
| Plugin slots | `createSlot`, `createSolidSlotRegistry`, `Slot`, `SlotMode`, `SolidBoundSlotProps`, `SolidPlugin`, `SolidRegistrySlotComponent`, `SolidSlotComponent`, `SolidSlotOptions`, `SolidSlotProps` | Supported | [Solid plugin slots](/docs/plugins/solid) |
|
|
| JSX namespace | `JSX` | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
| First-draw timestamp | `TimeToFirstDraw`, `TimeToFirstDrawProps` | Supported | [Time to first draw](/docs/components/time-to-first-draw) |
|
|
|
|
### Other Solid entry points
|
|
|
|
| Package entry point | Symbols | Class | Canonical documentation |
|
|
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------ |
|
|
| `@opentui/solid/preload` | No named exports. Importing it installs the Bun source transform. | Runtime-specific | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/bun-plugin` | `createSolidTransformPlugin`, `CreateSolidTransformPluginOptions`, `default`, `ensureSolidTransformPlugin`, `resetSolidTransformPluginState` | Runtime-specific, Advanced | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/runtime-plugin-support` | `ensureRuntimePluginSupport`, `SolidRuntimePluginSupportOptions` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/solid/runtime-plugin-support/configure` | `ensureRuntimePluginSupport`, `SolidRuntimePluginSupportOptions` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
| `@opentui/solid/components` | `extend`, `ExtendedComponentProps`, `ExtendedIntrinsicElements`, `getComponentCatalogue`, `OpenTUIComponents` | Advanced | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/jsx-runtime` | `Fragment`, `jsx`, `jsxDEV`, `jsxs`, `JSX` | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
| `@opentui/solid/jsx-dev-runtime` | `Fragment`, `jsxDEV`, `JSX` | Supported | [Solid bindings](/docs/bindings/solid) |
|
|
|
|
## `@opentui/keymap`
|
|
|
|
### Root engine
|
|
|
|
The root engine is host-agnostic. Use an adapter entry point to connect it to a browser or OpenTUI renderer.
|
|
|
|
| Kind | Symbols | Class | Canonical documentation |
|
|
| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------ |
|
|
| Values | `Keymap`, `KEYMAP_EXTENSION_CONTEXT`, `stringifyKeySequence`, `stringifyKeyStroke` | Supported | [Core keymap API](/docs/keymap/core) |
|
|
| Types | `ActiveBinding`, `ActiveKey`, `ActiveKeyOptions`, `Attributes`, `Binding`, `BindingCommand`, `BindingEvent`, `BindingExpander`, `BindingExpanderContext`, `BindingExpansion`, `BindingFieldCompiler`, `BindingFieldContext`, `BindingParser`, `BindingParserContext`, `BindingParserResult`, `Bindings`, `BindingsValidationResult`, `BindingTransformer`, `BindingTransformerContext`, `Command`, `CommandBindingsQuery`, `CommandContext`, `CommandEntry`, `CommandFieldCompiler`, `CommandFieldContext`, `CommandFilter`, `CommandHandler`, `CommandQuery`, `CommandQueryValue`, `CommandResolver`, `CommandResolverContext`, `CommandResult`, `CommandTransformer`, `CommandTransformerContext`, `DispatchBinding`, `DispatchEvent`, `DispatchLayer`, `DispatchPhase`, `ErrorEvent`, `EventData`, `EventMatchResolver`, `EventMatchResolverContext`, `EventName`, `Events`, `HostCapability`, `HostMetadata`, `HostModifier`, `HostPlatform`, `InterceptName`, `Intercepts`, `KeyAfterInputContext`, `KeyAfterReason`, `KeyDeferredDisambiguationContext`, `KeyDeferredDisambiguationDecision`, `KeyDeferredDisambiguationHandler`, `KeyDisambiguationContext`, `KeyDisambiguationDecision`, `KeyDisambiguationResolver`, `KeyInputContext`, `KeyInterceptOptions`, `KeyLike`, `KeymapEvent`, `KeymapExtensionContext`, `KeymapExtensionProvider`, `KeymapHost`, `KeyMatch`, `KeySequencePart`, `KeyStringifyInput`, `KeyStrokeInput`, `KeyToken`, `Layer`, `LayerAnalysisContext`, `LayerAnalyzer`, `LayerBindingAnalysis`, `LayerBindingsTransformer`, `LayerBindingsTransformerContext`, `LayerFieldCompiler`, `LayerFieldContext`, `Listener`, `NormalizedKeyStroke`, `ParsedBinding`, `ParsedCommand`, `RawInputContext`, `RawInterceptOptions`, `ReactiveMatcher`, `ResolvedKeyToken`, `ResolvedSequencePattern`, `RunCommandOptions`, `RunCommandResult`, `SequencePattern`, `SequencePatternMatch`, `StringifyOptions`, `TargetMode`, `WarningEvent` | Supported | [Core keymap API](/docs/keymap/core) |
|
|
|
|
### Extras and graph
|
|
|
|
| Package entry point | Symbols | Class | Canonical documentation |
|
|
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------ |
|
|
| `@opentui/keymap/extras` | `BindingCommandMap`, `BindingConfig`, `BindingConfigItem`, `BindingDefaults`, `BindingDefaultsContext`, `BindingLookup`, `BindingValue`, `CommandBindingMap`, `commandBindings`, `CommandBindingsError`, `CommandBindingsOptions`, `CommandBindingsOverrideWarning`, `createBindingLookup`, `CreateBindingLookupOptions`, `formatCommandBindings`, `FormatCommandBindingsOptions`, `formatKeySequence`, `FormatKeySequenceOptions`, `KeyModifierName`, `KeySequenceFormatPart`, `SequenceBindingLike`, `TokenDisplayResolver` | Supported | [Core keymap API](/docs/keymap/core) |
|
|
| `@opentui/keymap/extras/graph` | `createGraphExtra`, `getGraphSnapshot`, `GraphBinding`, `GraphCommand`, `GraphInactiveReason`, `GraphLayer`, `GraphSequenceNode`, `GraphSnapshot`, `GraphSnapshotOptions`, `KeymapGraphExtra` | Advanced | [Core keymap API](/docs/keymap/core) |
|
|
|
|
### Addons
|
|
|
|
| Package entry point | Symbols | Class | Canonical documentation |
|
|
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | ---------------------------------------------------------------------------------------------------- |
|
|
| `@opentui/keymap/addons` | `Aliases`, `BackspacePopsPendingSequenceOptions`, `defaultBindingParser`, `defaultEventMatchResolver`, `Enabled`, `EscapeClearsPendingSequenceOptions`, `ExCommand`, `ExCommandPayload`, `LeaderOptions`, `LeaderTrigger`, `NeovimDisambiguationOptions`, `registerAliasesField`, `registerBackspacePopsPendingSequence`, `registerBindingOverrides`, `registerCommaBindings`, `registerDeadBindingWarnings`, `registerDefaultBindingParser`, `registerDefaultEventMatchResolver`, `registerDefaultKeys`, `registerEmacsBindings`, `registerEnabledFields`, `registerEscapeClearsPendingSequence`, `registerExCommands`, `registerLeader`, `registerMetadataFields`, `registerModBindings`, `registerNeovimDisambiguation`, `registerTimedLeader`, `registerUnresolvedCommandWarnings`, `TimedLeaderOptions` | Supported | [Built-in keymap addons](/docs/keymap/addons) |
|
|
| `@opentui/keymap/addons/opentui` | Every export from `@opentui/keymap/addons`, plus `createTextareaBindings`, `EditBufferCommandName`, `EditBufferCommandOptions`, `EditBufferFineGroup`, `registerBaseLayoutFallback`, `registerEditBufferCommands`, `registerManagedTextareaLayer`, `registerTextareaMappingSuspension` | Supported | [Built-in keymap addons](/docs/keymap/addons) and [Custom keymap addons](/docs/keymap/custom-addons) |
|
|
|
|
### Testing and hosts
|
|
|
|
| Package entry point | Runtime | Symbols | Class | Canonical documentation |
|
|
| ------------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------ |
|
|
| `@opentui/keymap/testing` | JavaScript test runtimes | `captureKeymapDiagnostics`, `createTestHostMetadata`, `createTestKeymap`, `createTestKeymapHost`, `CreateTestKeymapHostOptions`, `CreateTestKeymapOptions`, `DEFAULT_TEST_HOST_METADATA`, `TestDiagnosticCapture`, `TestHostMetadataOptions`, `TestKeymapEvent`, `TestKeymapHarness`, `TestKeymapHost`, `TestKeymapTarget`, `TestKeyModifierOptions` | Supported | [Core keymap API](/docs/keymap/core) |
|
|
| `@opentui/keymap/html` | Browser DOM | `createDefaultHtmlKeymap`, `createHtmlKeymap`, `createHtmlKeymapEvent`, `createHtmlKeymapHost`, `htmlEventMatchResolver`, `HtmlKeymapEvent`, `normalizeHtmlKeyName` | Runtime-specific | [Keymap hosts](/docs/keymap/hosts) |
|
|
| `@opentui/keymap/opentui` | Bun and Node.js | `createDefaultOpenTuiKeymap`, `createOpenTuiKeymap`, `createOpenTuiKeymapHost` | Runtime-specific | [Keymap hosts](/docs/keymap/hosts) |
|
|
|
|
### Frameworks and runtime modules
|
|
|
|
| Package entry point | Symbols | Class | Canonical documentation |
|
|
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------ |
|
|
| `@opentui/keymap/react` | `KeymapProvider`, `KeymapProviderProps`, `reactiveMatcherFromStore`, `useActiveKeys`, `useBindings`, `UseBindingsLayer`, `UseBindingsTargetRef`, `useKeymap`, `usePendingSequence` | Runtime-specific | [React keymap integration](/docs/keymap/react) |
|
|
| `@opentui/keymap/solid` | `KeymapProvider`, `KeymapProviderProps`, `reactiveMatcherFromSignal`, `useBindings`, `UseBindingsLayer`, `UseBindingsTarget`, `useKeymap`, `useKeymapSelector` | Runtime-specific | [Solid keymap integration](/docs/keymap/solid) |
|
|
| `@opentui/keymap/runtime-modules` | `runtimeModules` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
|
|
The `runtimeModules` map contains the root, both extras paths, both addon paths, and both host adapters. It loads the React and Solid paths lazily. It does not contain `/testing` or `/runtime-modules`.
|
|
|
|
## `@opentui/qrcode`
|
|
|
|
The package root works in Bun and Node.js. Each framework path re-exports the full root and adds its registration function.
|
|
|
|
| Package entry point | Symbols | Class | Canonical documentation |
|
|
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------ |
|
|
| `@opentui/qrcode` | `ByteEncoding`, `createQrSvg`, `EciAssignment`, `EncodeOptions`, `encodeTextBytes`, `ErrorCorrectionLevel`, `Fnc1SecondPositionInfo`, `Gs1Element`, `QRCode`, `QRCodeFitMode`, `QRCodeOptions`, `QRCodeRenderable`, `QrSegment`, `StructuredAppendInfo`, `TerminalRenderOptions` | Supported | [QR encoder](/docs/reference/qr-encoder) and [QR code component](/docs/components/qr-code) |
|
|
| `@opentui/qrcode/react` | Every root export, plus `registerQRCode` | Runtime-specific | [QR code component](/docs/components/qr-code) |
|
|
| `@opentui/qrcode/solid` | Every root export, plus `registerQRCode` | Runtime-specific | [QR code component](/docs/components/qr-code) |
|
|
|
|
## `@opentui/ssh`
|
|
|
|
The package supports Bun 1.3.0 or later and Node.js 26.4.0 or later. Use Bun 1.4.0 or later on native Windows arm64.
|
|
It has one public entry point.
|
|
|
|
| Symbols | Class | Canonical documentation |
|
|
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | -------------------------- |
|
|
| `AuthConfig`, `AuthMethods`, `ConfigError`, `createServer`, `DenyError`, `Handoff`, `Identity`, `IdentityFor`, `ListenInfo`, `LogEvent`, `logging`, `LoggingOptions`, `Middleware`, `MiddlewareFunction`, `MiddlewareSession`, `Next`, `PublicKey`, `PublicKeyPolicy`, `RemoteAddress`, `Server`, `ServerBuilder`, `ServerConfig`, `Session`, `SessionHandler`, `SshError` | Runtime-specific | [SSH](/docs/reference/ssh) |
|
|
|
|
## `@opentui/three`
|
|
|
|
Both entry points are Bun-only.
|
|
|
|
| Package entry point | Symbols | Class | Canonical documentation |
|
|
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------ |
|
|
| `@opentui/three` | `AnimationDefinition`, `AnimationStateConfig`, `CLICanvas`, `DEFAULT_EXPLOSION_PARAMETERS`, `DEFAULT_PHYSICS_EXPLOSION_PARAMETERS`, `ExplodingSpriteEffect`, `ExplosionCreationData`, `ExplosionEffectParameters`, `ExplosionHandle`, `ExplosionManager`, `InstanceManager`, `InstanceManagerOptions`, `MeshPool`, `MeshPoolOptions`, `ParticleEffectParameters`, `PhysicsExplodingSpriteEffect`, `PhysicsExplosionCreationData`, `PhysicsExplosionEffectParameters`, `PhysicsExplosionHandle`, `PhysicsExplosionManager`, `PhysicsSpriteRecreationData`, `PlanckPhysicsWorld`, `PlanckRigidBody`, `RapierPhysicsWorld`, `RapierRigidBody`, `ResolvedAnimationState`, `ResourceConfig`, `SheetProperties`, `SheetSprite`, `SpriteAnimator`, `SpriteDefinition`, `SpriteParticleGenerator`, `SpriteRecreationData`, `SpriteResource`, `SpriteResourceManager`, `SpriteUtils`, `SuperSampleAlgorithm`, `SuperSampleType`, `TextureUtils`, `THREE`, `ThreeCliRenderer`, `ThreeCliRendererOptions`, `ThreeRenderable`, `ThreeRenderableOptions`, `TiledSprite` | Runtime-specific, Advanced | [Three.js WebGPU](/docs/reference/three) |
|
|
| `@opentui/three/runtime-modules` | `runtimeModules` | Runtime-specific, Advanced | [Runtime module loading](/docs/extend/runtime-plugins) |
|
|
|
|
The `THREE` namespace exposes the installed Three.js module. The `runtimeModules` map contains only the `@opentui/three` root.
|
|
|
|
## Native distribution packages
|
|
|
|
The build generates eight platform packages:
|
|
|
|
- `@opentui/core-darwin-x64`
|
|
- `@opentui/core-darwin-arm64`
|
|
- `@opentui/core-linux-x64`
|
|
- `@opentui/core-linux-arm64`
|
|
- `@opentui/core-linux-x64-musl`
|
|
- `@opentui/core-linux-arm64-musl`
|
|
- `@opentui/core-win32-x64`
|
|
- `@opentui/core-win32-arm64`
|
|
|
|
Each package has one default export that resolves the native library path. These packages are internal distribution surfaces, not application APIs. Let `@opentui/core` select the correct package. See [Runtime and platform support](/docs/getting-started/runtime-support).
|
|
|
|
## Source-defined native ABI
|
|
|
|
The npm API and the source-defined native application binary interface (ABI) are separate surfaces. `lib.zig` defines 335 exported functions. The Yoga module defines 50 more, and `NativeSpanFeed` defines 11 more.
|
|
|
|
OpenTUI's TypeScript packages call these functions through an internal ABI. The project does not publish a first-party C header or a supported standalone C contract. Do not treat the 396 source names as supported npm symbols or as an API for other language bindings.
|
|
|
|
The native binding can change with its TypeScript callers. Use the TypeScript exports indexed above for application code.
|