@nu-art/commando
Version:
73 lines (72 loc) • 2.75 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BlessedElements = void 0;
exports.createBlessedWidget = createBlessedWidget;
const blessed = __importStar(require("neo-blessed"));
/**
* A collection of Blessed elements for easy access.
*/
exports.BlessedElements = {
screen: blessed.screen,
box: blessed.box,
text: blessed.text,
list: blessed.list,
log: blessed.log,
textarea: blessed.textarea,
textbox: blessed.textbox,
form: blessed.form,
progressbar: blessed.progressbar,
table: blessed.table,
listTable: blessed.listtable,
prompt: blessed.prompt,
message: blessed.message,
loading: blessed.loading,
radioSet: blessed.radioset,
radiobutton: blessed.radiobutton,
checkbox: blessed.checkbox,
input: blessed.input,
button: blessed.button,
line: blessed.line,
scrollableBox: blessed.scrollablebox,
scrollableText: blessed.scrollabletext,
terminal: blessed.terminal,
bigText: blessed.bigtext,
listBar: blessed.listbar,
fileManager: blessed.filemanager,
};
/**
* Creates a Blessed widget of the specified type with the given properties and parent node.
*
* @template WidgetType - The type of the widget to create.
* @param {WidgetType} type - The type of the widget to create.
* @param {BlessedWidgetOptions[WidgetType]} props - The properties to apply to the widget.
* @param {Widgets.Node} [parent] - The parent node for the widget.
* @returns {BlessedWidget[WidgetType]} The created widget.
*/
function createBlessedWidget(type, props = {}, parent) {
const element = exports.BlessedElements[type];
return element(Object.assign(Object.assign({}, props), { parent }));
}