@teaui/core
Version:
A high-level terminal UI library for Node
26 lines (25 loc) • 1.05 kB
TypeScript
import type { Viewport } from '../Viewport.js';
import { type Props as ContainerProps, Container } from '../Container.js';
import { Size } from '../geometry.js';
import { System } from '../System.js';
import type { MouseEvent, MouseEventListenerName } from '../events/index.js';
export interface Props extends ContainerProps {
mouse?: MouseEventListenerName | MouseEventListenerName[];
onMouse?: (event: MouseEvent, system: System) => void;
}
/**
* A non-visual container that receives mouse events as a fallback. Children that
* register for mouse events on the same pixels will take priority (since they
* render after this view and override the registration).
*
* By default listens for all button and wheel events. Pass `mouse` to restrict
* which events to listen for.
*/
export declare class Mouse extends Container {
#private;
constructor(props: Props);
update(props: Props): void;
naturalSize(available: Size): Size;
receiveMouse(event: MouseEvent, system: System): void;
render(viewport: Viewport): void;
}