File size: 1,050 Bytes
9ada4bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
interface UIOptions {
    width: number;
    wrap?: boolean;
    rows?: string[];
}
interface Column {
    text: string;
    width?: number;
    align?: "right" | "left" | "center";
    padding: number[];
    border?: boolean;
}
interface ColumnArray extends Array<Column> {
    span: boolean;
}
interface Line {
    hidden?: boolean;
    text: string;
    span?: boolean;
}
declare class UI {
    width: number;
    wrap: boolean;
    rows: ColumnArray[];
    constructor(opts: UIOptions);
    span(...args: ColumnArray): void;
    resetOutput(): void;
    div(...args: (Column | string)[]): ColumnArray;
    private shouldApplyLayoutDSL;
    private applyLayoutDSL;
    private colFromString;
    private measurePadding;
    toString(): string;
    rowToString(row: ColumnArray, lines: Line[]): Line[];
    // if the full 'source' can render in
    // the target line, do so.
    private renderInline;
    private rasterize;
    private negatePadding;
    private columnWidths;
}
declare function ui(opts: UIOptions): UI;
export { ui as default };