UNPKG

@teaui/core

Version:

A high-level terminal UI library for Node

21 lines (20 loc) 781 B
import type { Viewport } from '../Viewport.js'; import { type Props as ContainerProps, Container } from '../Container.js'; import { Size } from '../geometry.js'; import type { KeyEvent } from '../events/index.js'; export interface Props extends ContainerProps { onKey?: (event: KeyEvent) => void; } /** * A non-visual, non-focusable container that receives key events as a fallback — * only when no hotkey matches and no child view has focus. If multiple Keyboard * views are nested, the innermost one receives the event. */ export declare class Keyboard extends Container { #private; constructor(props: Props); update(props: Props): void; naturalSize(available: Size): Size; receiveKey(event: KeyEvent): void; render(viewport: Viewport): void; }