console-gui-tools
Version:
A simple library to draw option menu, text popup or other widgets and layout on a Node.js console.
96 lines • 3.18 kB
TypeScript
import { SimplifiedStyledElement, StyledElement } from "./Utils.js";
/**
* @class PageBuilder
* @description Defines a new page:
* It's a sort of collection of styled rows.
* @param {number} rowsPerPage - The number of rows per page. Default is 100. Useful for scrolling.
*
* @export
* @class PageBuilder
*/
export declare class PageBuilder {
rowsPerPage: number;
scrollIndex: number;
content: StyledElement[][];
constructor(rowsPerPage?: number);
/**
* @description Add a new styled row to the page.
* @param {parameters<object>} row - The styled row to add.
* @returns {PageBuilder}
* @memberOf PageBuilder
* @example
* page.addRow({ text: 'Hello World', color: 'white' })
* page.addRow({ text: 'Hello World', color: 'white' }, { text: 'Hello World', color: 'white' })
*/
addRow(...args: SimplifiedStyledElement[]): PageBuilder;
/**
* @description Add an empty row to the page. (like <br /> in HTML)
* @param {number} [count=1] - The number of empty rows to add.
* @returns {PageBuilder}
* @memberOf PageBuilder
* @example page.addEmptyRow()
* page.addEmptyRow(2)
*/
addSpacer(height?: number): PageBuilder;
/**
* @description Returns the content of the page.
* @returns {Array<Array<object>>}
* @memberOf PageBuilder
* @example page.getContent()
*/
getContent(): StyledElement[][];
/**
* @description Returns the height of the page.
* @returns {number}
* @memberOf PageBuilder
* @example page.getPageHeight()
*/
getPageHeight(): number;
/**
* @description Returns the height of the viewed page. It excludes the rows that are not visible.
* @returns {number}
* @memberOf PageBuilder
* @example page.getViewedPageHeight() // returns the height of the page that is visible
*/
getViewedPageHeight(): number;
/**
* @description Changes the index of the scroll bar.
* @param {number} index - The index of the scroll bar.
* @returns {PageBuilder}
* @memberOf PageBuilder
* @example page.setScrollIndex(10)
*/
setScrollIndex(index: number): PageBuilder;
/**
* @description Changes the number of rows per page.
* @param {number} rowsPerPage - The number of rows per page.
* @returns {PageBuilder}
* @memberOf PageBuilder
* @example page.setRowsPerPage(10)
*/
setRowsPerPage(rpp: number): PageBuilder;
/**
* @description Increases the index of the scroll bar.
* @returns {PageBuilder}
* @memberOf PageBuilder
* @example page.increaseScrollIndex()
*/
increaseScrollIndex(): PageBuilder;
/**
* @description Decreases the index of the scroll bar.
* @returns {PageBuilder}
* @memberOf PageBuilder
* @example page.increaseScrollIndex()
*/
decreaseScrollIndex(): PageBuilder;
/**
* @description Clears the page.
* @returns {PageBuilder}
* @memberOf PageBuilder
* @example page.clear()
* @since 1.2.0
*/
clear(): PageBuilder;
}
export default PageBuilder;
//# sourceMappingURL=PageBuilder.d.ts.map