UNPKG

ascii-ui

Version:

Graphic terminal emulator for HTML canvas elements

55 lines (54 loc) 1.82 kB
import { CharStyle, Terminal } from '../Terminal'; import { Widget, WidgetConstructor, WidgetOptions } from '../Widget'; import { BidirectionalIterator, WidgetContainer } from '../WidgetContainer'; export interface BoxBorderOptions extends CharStyle { topLeft?: string; top?: string; topRight?: string; left?: string; center?: string; right?: string; bottomLeft?: string; bottom?: string; bottomRight?: string; } export interface BoxTitleOptions extends CharStyle { marginLeft?: number; marginRight?: number; ellipsis?: string; } export interface BoxPaddingOptions { top?: number; right?: number; bottom?: number; left?: number; } export interface BoxAspectOptions { boxTitle?: BoxTitleOptions; boxBorders?: BoxBorderOptions; } export interface BoxOptions extends WidgetOptions { title?: string; padding?: BoxPaddingOptions; base?: BoxAspectOptions; focus?: BoxAspectOptions; disabled?: BoxAspectOptions; } export declare class Box extends Widget<BoxOptions> implements WidgetContainer { static defaultOptions: BoxOptions; private static readonly boxTilesPool; private optionsFocus; private optionsDisabled; private attachedWidget; constructor(terminal: Terminal, options?: BoxOptions, parent?: WidgetContainer); render(): void; attachWidget<WidgetType extends Widget>(WidgetClass: WidgetConstructor<WidgetType>, options: any): WidgetType; dettachWidget(widget: Widget): boolean; getWidgetAt(column: number, line: number): Widget; [Symbol.iterator](startWidget?: Widget | number): BidirectionalIterator<Widget>; protected updateOptions(changes: BoxOptions): void; private setBorderPool; private getBoxTiles; private getAspectOptions; private getAvailableSpace; }