@teaui/core
Version:
A high-level terminal UI library for Node
27 lines (26 loc) • 828 B
TypeScript
import { Size } from '../geometry.js';
import type { System } from '../System.js';
import { type Props as ViewProps, View } from '../View.js';
import { Viewport } from '../Viewport.js';
import { type KeyEvent, type MouseEvent } from '../events/index.js';
interface Props extends ViewProps {
/**
* Current toggle state.
* @default false
*/
value?: boolean;
onChange?: (value: boolean) => void;
}
export declare class Toggle extends View {
#private;
constructor(props?: Props);
get value(): boolean;
set value(value: boolean);
update(props: Props): void;
naturalSize(_available: Size): Size;
receiveKey(event: KeyEvent): void;
receiveMouse(event: MouseEvent, system: System): void;
receiveTick(dt: number): boolean;
render(viewport: Viewport): void;
}
export {};