mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-21 22:01:41 +00:00
Add OverlayOptions for configurable positioning (anchor, margins, offsets, percentages). Add OverlayHandle for programmatic visibility control with hide/setHidden/isHidden. Add visible callback for responsive overlays. Extension API: ctx.ui.custom() now accepts overlayOptions and onHandle callback. Examples: overlay-qa-tests.ts (10 test commands), doom-overlay (DOOM at 35 FPS).
86 lines
2.5 KiB
TypeScript
86 lines
2.5 KiB
TypeScript
// Core TUI interfaces and classes
|
|
|
|
// Autocomplete support
|
|
export {
|
|
type AutocompleteItem,
|
|
type AutocompleteProvider,
|
|
CombinedAutocompleteProvider,
|
|
type SlashCommand,
|
|
} from "./autocomplete.js";
|
|
// Components
|
|
export { Box } from "./components/box.js";
|
|
export { CancellableLoader } from "./components/cancellable-loader.js";
|
|
export { Editor, type EditorTheme } from "./components/editor.js";
|
|
export { Image, type ImageOptions, type ImageTheme } from "./components/image.js";
|
|
export { Input } from "./components/input.js";
|
|
export { Loader } from "./components/loader.js";
|
|
export { type DefaultTextStyle, Markdown, type MarkdownTheme } from "./components/markdown.js";
|
|
export { type SelectItem, SelectList, type SelectListTheme } from "./components/select-list.js";
|
|
export { type SettingItem, SettingsList, type SettingsListTheme } from "./components/settings-list.js";
|
|
export { Spacer } from "./components/spacer.js";
|
|
export { Text } from "./components/text.js";
|
|
export { TruncatedText } from "./components/truncated-text.js";
|
|
// Editor component interface (for custom editors)
|
|
export type { EditorComponent } from "./editor-component.js";
|
|
// Fuzzy matching
|
|
export { type FuzzyMatch, fuzzyFilter, fuzzyMatch } from "./fuzzy.js";
|
|
// Keybindings
|
|
export {
|
|
DEFAULT_EDITOR_KEYBINDINGS,
|
|
type EditorAction,
|
|
type EditorKeybindingsConfig,
|
|
EditorKeybindingsManager,
|
|
getEditorKeybindings,
|
|
setEditorKeybindings,
|
|
} from "./keybindings.js";
|
|
// Keyboard input handling
|
|
export {
|
|
isKeyRelease,
|
|
isKeyRepeat,
|
|
isKittyProtocolActive,
|
|
Key,
|
|
type KeyEventType,
|
|
type KeyId,
|
|
matchesKey,
|
|
parseKey,
|
|
setKittyProtocolActive,
|
|
} from "./keys.js";
|
|
// Input buffering for batch splitting
|
|
export { StdinBuffer, type StdinBufferEventMap, type StdinBufferOptions } from "./stdin-buffer.js";
|
|
// Terminal interface and implementations
|
|
export { ProcessTerminal, type Terminal } from "./terminal.js";
|
|
// Terminal image support
|
|
export {
|
|
type CellDimensions,
|
|
calculateImageRows,
|
|
detectCapabilities,
|
|
encodeITerm2,
|
|
encodeKitty,
|
|
getCapabilities,
|
|
getCellDimensions,
|
|
getGifDimensions,
|
|
getImageDimensions,
|
|
getJpegDimensions,
|
|
getPngDimensions,
|
|
getWebpDimensions,
|
|
type ImageDimensions,
|
|
type ImageProtocol,
|
|
type ImageRenderOptions,
|
|
imageFallback,
|
|
renderImage,
|
|
resetCapabilitiesCache,
|
|
setCellDimensions,
|
|
type TerminalCapabilities,
|
|
} from "./terminal-image.js";
|
|
export {
|
|
type Component,
|
|
Container,
|
|
type OverlayAnchor,
|
|
type OverlayHandle,
|
|
type OverlayMargin,
|
|
type OverlayOptions,
|
|
type SizeValue,
|
|
TUI,
|
|
} from "./tui.js";
|
|
// Utilities
|
|
export { truncateToWidth, visibleWidth, wrapTextWithAnsi } from "./utils.js";
|