Add an explicit overlay unfocus target so callers can move input to the editor or another component while overlays remain visible. Align fallback overlay focus with visual focus order and cover blocked replacement release, null targets, and multi-overlay cycling.
108 lines
3.0 KiB
TypeScript
108 lines
3.0 KiB
TypeScript
// Core TUI interfaces and classes
|
|
|
|
// Autocomplete support
|
|
export {
|
|
type AutocompleteItem,
|
|
type AutocompleteProvider,
|
|
type AutocompleteSuggestions,
|
|
CombinedAutocompleteProvider,
|
|
type SlashCommand,
|
|
} from "./autocomplete.ts";
|
|
// Components
|
|
export { Box } from "./components/box.ts";
|
|
export { CancellableLoader } from "./components/cancellable-loader.ts";
|
|
export { Editor, type EditorOptions, type EditorTheme } from "./components/editor.ts";
|
|
export { Image, type ImageOptions, type ImageTheme } from "./components/image.ts";
|
|
export { Input } from "./components/input.ts";
|
|
export { Loader, type LoaderIndicatorOptions } from "./components/loader.ts";
|
|
export { type DefaultTextStyle, Markdown, type MarkdownOptions, type MarkdownTheme } from "./components/markdown.ts";
|
|
export {
|
|
type SelectItem,
|
|
SelectList,
|
|
type SelectListLayoutOptions,
|
|
type SelectListTheme,
|
|
type SelectListTruncatePrimaryContext,
|
|
} from "./components/select-list.ts";
|
|
export { type SettingItem, SettingsList, type SettingsListTheme } from "./components/settings-list.ts";
|
|
export { Spacer } from "./components/spacer.ts";
|
|
export { Text } from "./components/text.ts";
|
|
export { TruncatedText } from "./components/truncated-text.ts";
|
|
// Editor component interface (for custom editors)
|
|
export type { EditorComponent } from "./editor-component.ts";
|
|
// Fuzzy matching
|
|
export { type FuzzyMatch, fuzzyFilter, fuzzyMatch } from "./fuzzy.ts";
|
|
// Keybindings
|
|
export {
|
|
getKeybindings,
|
|
type Keybinding,
|
|
type KeybindingConflict,
|
|
type KeybindingDefinition,
|
|
type KeybindingDefinitions,
|
|
type Keybindings,
|
|
type KeybindingsConfig,
|
|
KeybindingsManager,
|
|
setKeybindings,
|
|
TUI_KEYBINDINGS,
|
|
} from "./keybindings.ts";
|
|
// Keyboard input handling
|
|
export {
|
|
decodeKittyPrintable,
|
|
isKeyRelease,
|
|
isKeyRepeat,
|
|
isKittyProtocolActive,
|
|
Key,
|
|
type KeyEventType,
|
|
type KeyId,
|
|
matchesKey,
|
|
parseKey,
|
|
setKittyProtocolActive,
|
|
} from "./keys.ts";
|
|
// Input buffering for batch splitting
|
|
export { StdinBuffer, type StdinBufferEventMap, type StdinBufferOptions } from "./stdin-buffer.ts";
|
|
// Terminal interface and implementations
|
|
export { ProcessTerminal, type Terminal } from "./terminal.ts";
|
|
// Terminal image support
|
|
export {
|
|
allocateImageId,
|
|
type CellDimensions,
|
|
calculateImageRows,
|
|
deleteAllKittyImages,
|
|
deleteKittyImage,
|
|
detectCapabilities,
|
|
encodeITerm2,
|
|
encodeKitty,
|
|
getCapabilities,
|
|
getCellDimensions,
|
|
getGifDimensions,
|
|
getImageDimensions,
|
|
getJpegDimensions,
|
|
getPngDimensions,
|
|
getWebpDimensions,
|
|
hyperlink,
|
|
type ImageDimensions,
|
|
type ImageProtocol,
|
|
type ImageRenderOptions,
|
|
imageFallback,
|
|
renderImage,
|
|
resetCapabilitiesCache,
|
|
setCapabilities,
|
|
setCellDimensions,
|
|
type TerminalCapabilities,
|
|
} from "./terminal-image.ts";
|
|
export {
|
|
type Component,
|
|
Container,
|
|
CURSOR_MARKER,
|
|
type Focusable,
|
|
isFocusable,
|
|
type OverlayAnchor,
|
|
type OverlayHandle,
|
|
type OverlayMargin,
|
|
type OverlayOptions,
|
|
type OverlayUnfocusOptions,
|
|
type SizeValue,
|
|
TUI,
|
|
} from "./tui.ts";
|
|
// Utilities
|
|
export { truncateToWidth, visibleWidth, wrapTextWithAnsi } from "./utils.ts";
|