@teaui/core
Version:
A high-level terminal UI library for Node
21 lines (20 loc) • 781 B
TypeScript
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;
}