@teaui/core
Version:
A high-level terminal UI library for Node
33 lines (32 loc) • 1.17 kB
TypeScript
import type { Viewport } from '../Viewport.js';
import { type Props as ContainerProps, Container } from '../Container.js';
import { Size } from '../geometry.js';
import { type MouseEvent, HotKey, KeyEvent } from '../events/index.js';
import type { View } from '../View.js';
import { type Alignment, type LegendItem } from '../types.js';
import { System } from '../System.js';
import { Color } from '../Color.js';
type Border = 'default' | 'arrows' | 'none';
export interface Props extends ContainerProps {
title?: string;
align?: Alignment;
border?: Border;
foreground?: Color;
hotKey?: HotKey;
onClick?: () => void;
}
export declare class Button extends Container {
#private;
constructor(props: Props);
update(props: Props): void;
childPalette(view: View): import("../Palette.js").Palette;
naturalSize(available: Size): Size;
get title(): string | undefined;
set title(value: string | undefined);
legendItems(): LegendItem[];
receiveMouse(event: MouseEvent, system: System): void;
receiveKey(event: KeyEvent): void;
render(viewport: Viewport): void;
add(child: View, at?: number): void;
}
export {};