Class: Message
Defined in: packages/core/src/widgets/message.ts:16
Message / Error
Extends
Constructors
Constructor
new Message(
options):Message
Defined in: packages/core/src/widgets/message.ts:20
Parameters
options
MessageOptions = {}
Returns
Message
Overrides
Properties
_events
_events:
any
Defined in: packages/core/src/lib/events.ts:10
Inherited from
_maxListeners?
optional_maxListeners:number
Defined in: packages/core/src/lib/events.ts:11
Inherited from
name?
optionalname:string
Defined in: packages/core/src/widgets/element.ts:51
Inherited from
position
position:
any
Defined in: packages/core/src/widgets/element.ts:56
Position specification. Can be relative coordinates or keywords. Kept as any due to complex internal position calculation system.
Inherited from
noOverflow?
optionalnoOverflow:boolean
Defined in: packages/core/src/widgets/element.ts:57
Inherited from
dockBorders?
optionaldockBorders:boolean
Defined in: packages/core/src/widgets/element.ts:58
Inherited from
shadow?
optionalshadow:boolean
Defined in: packages/core/src/widgets/element.ts:59
Inherited from
style
style:
Style
Defined in: packages/core/src/widgets/element.ts:61
Element style configuration (colors, attributes, hover/focus effects)
Inherited from
hidden
hidden:
boolean
Defined in: packages/core/src/widgets/element.ts:62
Inherited from
fixed
fixed:
boolean
Defined in: packages/core/src/widgets/element.ts:63
Inherited from
align
align:
string
Defined in: packages/core/src/widgets/element.ts:64
Inherited from
valign
valign:
string
Defined in: packages/core/src/widgets/element.ts:65
Inherited from
wrap
wrap:
boolean
Defined in: packages/core/src/widgets/element.ts:66
Inherited from
shrink?
optionalshrink:boolean
Defined in: packages/core/src/widgets/element.ts:67
Inherited from
ch
ch:
string
Defined in: packages/core/src/widgets/element.ts:68
Inherited from
padding
padding:
Padding
Defined in: packages/core/src/widgets/element.ts:70
Padding configuration for all sides
Inherited from
border?
optionalborder:Border
Defined in: packages/core/src/widgets/element.ts:72
Border configuration
Inherited from
parseTags?
optionalparseTags:boolean
Defined in: packages/core/src/widgets/element.ts:73
Inherited from
content
content:
string=""
Defined in: packages/core/src/widgets/element.ts:74
Inherited from
lpos?
optionallpos:RenderCoords
Defined in: packages/core/src/widgets/element.ts:76
Last rendered position coordinates
Inherited from
_clines?
optional_clines:any
Defined in: packages/core/src/widgets/element.ts:77
Inherited from
_pcontent?
optional_pcontent:string
Defined in: packages/core/src/widgets/element.ts:78
Inherited from
_borderColors?
optional_borderColors: (string|number)[]
Defined in: packages/core/src/widgets/element.ts:79
Inherited from
_slisteners?
optional_slisteners:any[]
Defined in: packages/core/src/widgets/element.ts:80
Inherited from
_label?
optional_label:any
Defined in: packages/core/src/widgets/element.ts:81
Inherited from
_labelScroll()?
optional_labelScroll: () =>void
Defined in: packages/core/src/widgets/element.ts:82
Returns
void
Inherited from
_labelResize()?
optional_labelResize: () =>void
Defined in: packages/core/src/widgets/element.ts:83
Returns
void
Inherited from
_hoverOptions?
optional_hoverOptions:any
Defined in: packages/core/src/widgets/element.ts:84
Inherited from
_draggable?
optional_draggable:boolean
Defined in: packages/core/src/widgets/element.ts:85
Inherited from
_dragMD()?
optional_dragMD: (data) =>void
Defined in: packages/core/src/widgets/element.ts:86
Parameters
data
MouseEvent
Returns
void
Inherited from
_dragM()?
optional_dragM: (data) =>void
Defined in: packages/core/src/widgets/element.ts:87
Parameters
data
MouseEvent
Returns
void
Inherited from
_drag?
optional_drag:any
Defined in: packages/core/src/widgets/element.ts:88
Inherited from
_noFill?
optional_noFill:boolean
Defined in: packages/core/src/widgets/element.ts:89
Inherited from
_isLabel?
optional_isLabel:boolean
Defined in: packages/core/src/widgets/element.ts:90
Inherited from
_isList?
optional_isList:boolean
Defined in: packages/core/src/widgets/element.ts:91
Inherited from
childBase?
optionalchildBase:number
Defined in: packages/core/src/widgets/element.ts:92
Inherited from
childOffset?
optionalchildOffset:number
Defined in: packages/core/src/widgets/element.ts:93
Inherited from
alwaysScroll?
optionalalwaysScroll:boolean
Defined in: packages/core/src/widgets/element.ts:94
Inherited from
baseLimit?
optionalbaseLimit:number
Defined in: packages/core/src/widgets/element.ts:95
Inherited from
track?
optionaltrack:TrackConfig
Defined in: packages/core/src/widgets/element.ts:96
Inherited from
scrollbar?
optionalscrollbar:ScrollbarConfig
Defined in: packages/core/src/widgets/element.ts:97
Inherited from
items?
optionalitems:any[]
Defined in: packages/core/src/widgets/element.ts:98
Inherited from
scrollable?
optionalscrollable:boolean
Defined in: packages/core/src/widgets/element.ts:101
Inherited from
scroll()?
optionalscroll: (offset,always?) =>any
Defined in: packages/core/src/widgets/element.ts:104
Scroll the content by a relative offset.
Parameters
offset
number
The number of lines/items to scroll (positive = down, negative = up)
always?
boolean
Force the scroll operation even if position hasn't changed
Returns
any
Inherited from
scrollTo()?
optionalscrollTo: (offset,always?) =>void
Defined in: packages/core/src/widgets/element.ts:105
Scroll the content to an absolute index.
Parameters
offset
number
The absolute scroll position (line/item index)
always?
boolean
Force the scroll operation even if position hasn't changed
Returns
void
Inherited from
setScroll()?
optionalsetScroll: (offset,always?) =>void
Defined in: packages/core/src/widgets/element.ts:106
Scroll the content to an absolute index (alias for scrollTo).
Parameters
offset
number
The absolute scroll position (line/item index)
always?
boolean
Force the scroll operation even if position hasn't changed
Returns
void
Inherited from
getScroll()?
optionalgetScroll: () =>number
Defined in: packages/core/src/widgets/element.ts:107
Get the current scroll index in lines.
Returns
number
The current absolute scroll position
Inherited from
getScrollHeight()?
optionalgetScrollHeight: () =>number
Defined in: packages/core/src/widgets/element.ts:108
Get the actual height of the scrolling area (total content height).
Returns
number
The total scrollable content height in lines
Inherited from
getScrollPerc()?
optionalgetScrollPerc: (s?) =>number
Defined in: packages/core/src/widgets/element.ts:109
Get the current scroll index in percentage (0-100).
Parameters
s?
boolean
Internal flag for special return values
Returns
number
The scroll position as a percentage (0-100), or -1 if not scrollable
Inherited from
setScrollPerc()?
optionalsetScrollPerc: (i) =>void
Defined in: packages/core/src/widgets/element.ts:110
Set the current scroll index in percentage (0-100).
Parameters
i
number
The target scroll percentage (0-100)
Returns
void
Inherited from
resetScroll()?
optionalresetScroll: () =>any
Defined in: packages/core/src/widgets/element.ts:111
Reset the scroll index to its initial state (top).
Returns
any
Inherited from
_scrollBottom()?
optional_scrollBottom: () =>number
Defined in: packages/core/src/widgets/element.ts:112
Returns
number
Inherited from
_recalculateIndex()?
optional_recalculateIndex: () =>number
Defined in: packages/core/src/widgets/element.ts:113
Returns
number
Inherited from
type
type:
string="message"
Defined in: packages/core/src/widgets/message.ts:17
Type of the node (e.g. box, list, form, etc.). Used to identify the widget type at runtime.
Overrides
options
options:
MessageOptions
Defined in: packages/core/src/widgets/message.ts:18
Overrides
uid
staticuid:number=0
Defined in: packages/core/src/widgets/node.ts:30
Inherited from
ScreenRegistry
staticScreenRegistry:any
Defined in: packages/core/src/widgets/node.ts:31
Inherited from
screen
screen:
any
Defined in: packages/core/src/widgets/node.ts:47
Reference to the parent Screen instance. Type: Screen (subclass of Node)
Kept as any due to circular dependency between Node and Screen, and to preserve access to Screen-specific methods like clearRegion(), render(), and the program property without complex generic typing.
Inherited from
parent
parent:
any
Defined in: packages/core/src/widgets/node.ts:56
Reference to the parent element in the widget tree. Type: Node (can be any Element/Box/List/etc subclass)
Kept as any to avoid complex generic typing and preserve access to subclass-specific methods. Attempting to type as Node loses methods from subclasses like Box, List, Form, etc.
Inherited from
children
children:
any[]
Defined in: packages/core/src/widgets/node.ts:63
Array of child elements. Type: Node[] (can contain any Node subclasses)
Kept as any[] to preserve flexibility with mixed widget types.
Inherited from
$
$:
Record<string,unknown>
Defined in: packages/core/src/widgets/node.ts:68
An object for any miscellaneous user data.
Inherited from
_
_:
Record<string,unknown>
Defined in: packages/core/src/widgets/node.ts:73
An object for any miscellaneous user data.
Inherited from
data
data:
Record<string,unknown>
Defined in: packages/core/src/widgets/node.ts:78
An object for any miscellaneous user data.
Inherited from
uid
uid:
number
Defined in: packages/core/src/widgets/node.ts:80
Inherited from
index
index:
number=-1
Defined in: packages/core/src/widgets/node.ts:86
Render index (document order index) of the last render call. Indicates the order in which this element was rendered relative to others. Set to -1 initially, updated during rendering.
Inherited from
detached?
optionaldetached:boolean
Defined in: packages/core/src/widgets/node.ts:87
Inherited from
destroyed?
optionaldestroyed:boolean
Defined in: packages/core/src/widgets/node.ts:88
Inherited from
runtime
runtime:
Runtime
Defined in: packages/core/src/widgets/node.ts:90
Inherited from
Accessors
focused
Get Signature
get focused():
boolean
Defined in: packages/core/src/widgets/element.ts:115
Returns
boolean
Inherited from
visible
Get Signature
get visible():
boolean
Defined in: packages/core/src/widgets/element.ts:992
Returns
boolean
Inherited from
_detached
Get Signature
get _detached():
boolean
Defined in: packages/core/src/widgets/element.ts:1003
Returns
boolean
Inherited from
draggable
Get Signature
get draggable():
boolean
Defined in: packages/core/src/widgets/element.ts:1036
Returns
boolean
Set Signature
set draggable(
draggable):void
Defined in: packages/core/src/widgets/element.ts:1040
Parameters
draggable
any
Returns
void
Inherited from
width
Get Signature
get width():
number
Defined in: packages/core/src/widgets/element.ts:1437
Returns
number
Set Signature
set width(
val):void
Defined in: packages/core/src/widgets/element.ts:1641
Position Setters
Parameters
val
any
Returns
void
Inherited from
height
Get Signature
get height():
number
Defined in: packages/core/src/widgets/element.ts:1488
Returns
number
Set Signature
set height(
val):void
Defined in: packages/core/src/widgets/element.ts:1649
Parameters
val
any
Returns
void
Inherited from
aleft
Get Signature
get aleft():
number
Defined in: packages/core/src/widgets/element.ts:1525
Returns
number
Set Signature
set aleft(
val):void
Defined in: packages/core/src/widgets/element.ts:1657
Parameters
val
any
Returns
void
Inherited from
aright
Get Signature
get aright():
number
Defined in: packages/core/src/widgets/element.ts:1550
Returns
number
Set Signature
set aright(
val):void
Defined in: packages/core/src/widgets/element.ts:1678
Parameters
val
any
Returns
void
Inherited from
atop
Get Signature
get atop():
number
Defined in: packages/core/src/widgets/element.ts:1587
Returns
number
Set Signature
set atop(
val):void
Defined in: packages/core/src/widgets/element.ts:1686
Parameters
val
any
Returns
void
Inherited from
abottom
Get Signature
get abottom():
number
Defined in: packages/core/src/widgets/element.ts:1612
Returns
number
Set Signature
set abottom(
val):void
Defined in: packages/core/src/widgets/element.ts:1707
Parameters
val
any
Returns
void
Inherited from
rleft
Get Signature
get rleft():
number
Defined in: packages/core/src/widgets/element.ts:1616
Returns
number
Set Signature
set rleft(
val):void
Defined in: packages/core/src/widgets/element.ts:1715
Parameters
val
any
Returns
void
Inherited from
rright
Get Signature
get rright():
number
Defined in: packages/core/src/widgets/element.ts:1620
Returns
number
Set Signature
set rright(
val):void
Defined in: packages/core/src/widgets/element.ts:1723
Parameters
val
any
Returns
void
Inherited from
rtop
Get Signature
get rtop():
number
Defined in: packages/core/src/widgets/element.ts:1624
Returns
number
Set Signature
set rtop(
val):void
Defined in: packages/core/src/widgets/element.ts:1730
Parameters
val
any
Returns
void
Inherited from
rbottom
Get Signature
get rbottom():
number
Defined in: packages/core/src/widgets/element.ts:1628
Returns
number
Set Signature
set rbottom(
val):void
Defined in: packages/core/src/widgets/element.ts:1738
Parameters
val
any
Returns
void
Inherited from
ileft
Get Signature
get ileft():
number
Defined in: packages/core/src/widgets/element.ts:1745
Returns
number
Inherited from
itop
Get Signature
get itop():
number
Defined in: packages/core/src/widgets/element.ts:1750
Returns
number
Inherited from
iright
Get Signature
get iright():
number
Defined in: packages/core/src/widgets/element.ts:1755
Returns
number
Inherited from
ibottom
Get Signature
get ibottom():
number
Defined in: packages/core/src/widgets/element.ts:1760
Returns
number
Inherited from
iwidth
Get Signature
get iwidth():
number
Defined in: packages/core/src/widgets/element.ts:1765
Returns
number
Inherited from
iheight
Get Signature
get iheight():
number
Defined in: packages/core/src/widgets/element.ts:1772
Returns
number
Inherited from
tpadding
Get Signature
get tpadding():
number
Defined in: packages/core/src/widgets/element.ts:1779
Returns
number
Inherited from
left
Get Signature
get left():
number
Defined in: packages/core/src/widgets/element.ts:1792
Relative coordinates as default properties
Returns
number
Set Signature
set left(
val):void
Defined in: packages/core/src/widgets/element.ts:1808
Parameters
val
any
Returns
void
Inherited from
right
Get Signature
get right():
number
Defined in: packages/core/src/widgets/element.ts:1796
Returns
number
Set Signature
set right(
val):void
Defined in: packages/core/src/widgets/element.ts:1812
Parameters
val
any
Returns
void
Inherited from
top
Get Signature
get top():
number
Defined in: packages/core/src/widgets/element.ts:1800
Returns
number
Set Signature
set top(
val):void
Defined in: packages/core/src/widgets/element.ts:1816
Parameters
val
any
Returns
void
Inherited from
bottom
Get Signature
get bottom():
number
Defined in: packages/core/src/widgets/element.ts:1804
Returns
number
Set Signature
set bottom(
val):void
Defined in: packages/core/src/widgets/element.ts:1820
Parameters
val
any
Returns
void
Inherited from
log
Get Signature
get log(): (
text,time?,callback?) =>void
Defined in: packages/core/src/widgets/message.ts:143
Alias for display. Display a message for a time period.
Example
message.log("Status: OK", 5);
Returns
(
text,time?,callback?):void
Parameters
text
string
time?
number | (err?, data?) => void
callback?
(err?, data?) => void
Returns
void
Methods
setMaxListeners()
setMaxListeners(
n):void
Defined in: packages/core/src/lib/events.ts:19
Parameters
n
number
Returns
void
Inherited from
addListener()
addListener(
type,listener):void
Defined in: packages/core/src/lib/events.ts:23
Parameters
type
string
listener
Function
Returns
void
Inherited from
on()
on(
type,listener):any
Defined in: packages/core/src/lib/events.ts:34
Parameters
type
string
listener
Function
Returns
any
Inherited from
removeListener()
removeListener(
type,listener):void
Defined in: packages/core/src/lib/events.ts:38
Parameters
type
string
listener
Function
Returns
void
Inherited from
off()
off(
type,listener):any
Defined in: packages/core/src/lib/events.ts:57
Parameters
type
string
listener
Function
Returns
any
Inherited from
removeAllListeners()
removeAllListeners(
type?):void
Defined in: packages/core/src/lib/events.ts:61
Parameters
type?
string
Returns
void
Inherited from
once()
once(
type,listener):any
Defined in: packages/core/src/lib/events.ts:69
Parameters
type
string
listener
Function
Returns
any
Inherited from
listeners()
listeners(
type):Function[]
Defined in: packages/core/src/lib/events.ts:79
Parameters
type
string
Returns
Function[]
Inherited from
_emit()
_emit(
type,args):any
Defined in: packages/core/src/lib/events.ts:85
Parameters
type
string
args
any[]
Returns
any
Inherited from
emit()
emit(
type, ...rest):boolean
Defined in: packages/core/src/lib/events.ts:113
Parameters
type
string
rest
...any[]
Returns
boolean
Inherited from
sattr()
sattr(
style,fg?,bg?):number
Defined in: packages/core/src/widgets/element.ts:327
Parameters
style
any
fg?
any
bg?
any
Returns
number
Inherited from
onScreenEvent()
onScreenEvent(
type,handler):void
Defined in: packages/core/src/widgets/element.ts:373
Same as el.on('screen', ...) except this will automatically keep track of which listeners are bound to the screen object. For use with removeScreenEvent(), free(), and destroy().
Parameters
type
string
Event type
handler
(...args) => void
Event handler function
Returns
void
Inherited from
onceScreenEvent()
onceScreenEvent(
type,handler):void
Defined in: packages/core/src/widgets/element.ts:384
Same as onScreenEvent() but fires only once.
Parameters
type
string
Event type
handler
(...args) => void
Event handler function
Returns
void
Inherited from
removeScreenEvent()
removeScreenEvent(
type,handler):void
Defined in: packages/core/src/widgets/element.ts:401
Same as el.removeListener('screen', ...) except this will automatically keep track of which listeners are bound to the screen object. For use with onScreenEvent(), free(), and destroy().
Parameters
type
string
Event type
handler
(...args) => void
Event handler function
Returns
void
Inherited from
free()
free():
void
Defined in: packages/core/src/widgets/element.ts:421
Free up the element. Automatically unbind all events that may have been bound to the screen object. This prevents memory leaks. For use with onScreenEvent(), removeScreenEvent(), and destroy().
Returns
void
Inherited from
hide()
hide():
void
Defined in: packages/core/src/widgets/element.ts:433
Hide element.
Returns
void
Inherited from
show()
show():
void
Defined in: packages/core/src/widgets/element.ts:446
Show element.
Returns
void
Inherited from
toggle()
toggle():
void
Defined in: packages/core/src/widgets/element.ts:455
Toggle hidden/shown.
Returns
void
Inherited from
focus()
focus():
any
Defined in: packages/core/src/widgets/element.ts:462
Focus element.
Returns
any
Inherited from
isFocusable()
isFocusable():
boolean
Defined in: packages/core/src/widgets/element.ts:470
Check if this element can receive keyboard focus. Elements are focusable if they have tabIndex >= -1.
Returns
boolean
Inherited from
isInTabOrder()
isInTabOrder():
boolean
Defined in: packages/core/src/widgets/element.ts:478
Check if element participates in Tab key navigation. Elements with tabIndex=-1 are focusable but excluded from Tab order.
Returns
boolean
Inherited from
getTabIndex()
getTabIndex():
number
Defined in: packages/core/src/widgets/element.ts:487
Get effective tab index for focus navigation ordering.
Returns
number
Inherited from
setContent()
setContent(
content,noClear?,noTags?):void
Defined in: packages/core/src/widgets/element.ts:499
Set or get the content. Note: When text is input, it will be stripped of all non-SGR escape codes, tabs will be replaced with 8 spaces, and tags will be replaced with SGR codes (if enabled).
Parameters
content
string
noClear?
boolean
noTags?
boolean
Returns
void
Inherited from
getContent()
getContent():
string
Defined in: packages/core/src/widgets/element.ts:509
Return content, slightly different from el.content. Assume the above formatting.
Returns
string
Inherited from
getBorderLength()
getBorderLength():
number
Defined in: packages/core/src/widgets/element.ts:522
Get the border perimeter length (number of border cells). Useful for creating colors arrays for addressable border animations.
Returns
number
Number of border cells, or 0 if no border
Example
const box = new Box({ width: 20, height: 10, border: { type: "line" } });
console.log(box.getBorderLength()); // 56 (2 * (20 + 10) - 4)
Inherited from
getBorderColors()
getBorderColors(): (
string|number)[]
Defined in: packages/core/src/widgets/element.ts:538
Get the current border colors array (for addressable border animations). Returns a copy to prevent external mutations.
Returns
(string | number)[]
Copy of colors array, or empty array if not set
Example
const colors = box.getBorderColors();
const rotated = rotateColors(colors, 1);
box.setBorderColors(rotated);
Inherited from
setBorderColors()
setBorderColors(
colors):void
Defined in: packages/core/src/widgets/element.ts:560
Set border colors array for addressable border animations. Stores an internal copy to prevent external mutations. Call screen.render() after to see changes.
Parameters
colors
(string | number)[]
Array of colors (names, hex codes, or numeric codes)
Returns
void
Example
// Rainbow animation
const colors = generateRainbow(box.getBorderLength());
box.setBorderColors(colors);
screen.render();
// Later, animate
setInterval(() => {
const rotated = rotateColors(box.getBorderColors(), 1);
box.setBorderColors(rotated);
screen.render();
}, 100);
Inherited from
setText()
setText(
content,noClear?):void
Defined in: packages/core/src/widgets/element.ts:567
Similar to setContent, but ignore tags and remove escape codes.
Parameters
content
string
noClear?
boolean
Returns
void
Inherited from
getText()
getText():
string
Defined in: packages/core/src/widgets/element.ts:576
Similar to getContent, but return content with tags and escape codes removed.
Returns
string
Inherited from
parseContent()
parseContent(
noTags?):boolean
Defined in: packages/core/src/widgets/element.ts:580
Parameters
noTags?
boolean
Returns
boolean
Inherited from
_parseTags()
_parseTags(
text):string
Defined in: packages/core/src/widgets/element.ts:656
Parameters
text
string
Returns
string
Inherited from
_parseAttr()
_parseAttr(
lines):any
Defined in: packages/core/src/widgets/element.ts:761
Parameters
lines
any
Returns
any
Inherited from
_align()
_align(
line,width,align?):string
Defined in: packages/core/src/widgets/element.ts:790
Parameters
line
string
width
number
align?
string
Returns
string
Inherited from
_wrapContent()
_wrapContent(
content,width):WrappedContent
Defined in: packages/core/src/widgets/element.ts:822
Parameters
content
string
width
number
Returns
WrappedContent
Inherited from
enableMouse()
enableMouse():
void
Defined in: packages/core/src/widgets/element.ts:1016
Enable mouse events for the element (automatically called when a form of on('mouse') is bound). Registers the element as clickable with the screen.
Returns
void
Inherited from
enableKeys()
enableKeys():
void
Defined in: packages/core/src/widgets/element.ts:1024
Enable keypress events for the element (automatically called when a form of on('keypress') is bound). Registers the element as keyable with the screen.
Returns
void
Inherited from
enableInput()
enableInput():
void
Defined in: packages/core/src/widgets/element.ts:1031
Enable key and mouse events. Calls both enableMouse() and enableKeys().
Returns
void
Inherited from
enableDrag()
enableDrag(
verify?):boolean
Defined in: packages/core/src/widgets/element.ts:1054
Enable dragging of the element. Allows the element to be dragged with the mouse. Automatically calls enableMouse().
Parameters
verify?
any
Optional callback function to verify if dragging should start (receives mouse data)
Returns
boolean
True if dragging was enabled
Inherited from
disableDrag()
disableDrag():
boolean
Defined in: packages/core/src/widgets/element.ts:1128
Disable dragging of the element. Removes drag event handlers and resets dragging state.
Returns
boolean
True if dragging was disabled
Inherited from
key()
key(...
args):any
Defined in: packages/core/src/widgets/element.ts:1142
Bind a key event handler.
Parameters
args
...any[]
Arguments to pass to program.key()
Returns
any
The bound key handler
Inherited from
onceKey()
onceKey(...
args):any
Defined in: packages/core/src/widgets/element.ts:1151
Bind a key event handler that fires only once.
Parameters
args
...any[]
Arguments to pass to program.onceKey()
Returns
any
The bound key handler
Inherited from
unkey()
unkey(...
args):any
Defined in: packages/core/src/widgets/element.ts:1160
Unbind a key event handler.
Parameters
args
...any[]
Arguments to pass to program.unkey()
Returns
any
Result of unbinding
Inherited from
removeKey()
removeKey(...
args):any
Defined in: packages/core/src/widgets/element.ts:1170
Remove a key event handler. Alias for unkey().
Parameters
args
...any[]
Arguments to pass to program.unkey()
Returns
any
Result of removing
Inherited from
setIndex()
setIndex(
index):void
Defined in: packages/core/src/widgets/element.ts:1179
Set the z-index of the element (changes rendering order). Higher indices are rendered later (on top). Negative indices count from the end.
Parameters
index
number
New z-index value
Returns
void
Inherited from
setFront()
setFront():
void
Defined in: packages/core/src/widgets/element.ts:1200
Put the element in front of its siblings. Sets the element's z-index to the highest value (renders last/on top).
Returns
void
Inherited from
setBack()
setBack():
void
Defined in: packages/core/src/widgets/element.ts:1208
Put the element in back of its siblings. Sets the element's z-index to the lowest value (renders first/at bottom).
Returns
void
Inherited from
clearPos()
clearPos(
get?,override?):void
Defined in: packages/core/src/widgets/element.ts:1218
Clear the element's position in the screen buffer. Fills the region with spaces, used when moving or hiding elements.
Parameters
get?
boolean
Whether to use _getCoords (default: false)
override?
any
If true, always clear even if cell hasn't changed
Returns
void
Inherited from
setLabel()
setLabel(
options):void
Defined in: packages/core/src/widgets/element.ts:1233
Set the label text for the top-left (or top-right) corner. Creates or updates a label that appears on the top border of the element.
Parameters
options
any
Label text (string) or options object with text and side properties
Returns
void
Example
element.setLabel("My Label");
element.setLabel({ text: "My Label", side: "right" });
Inherited from
removeLabel()
removeLabel():
void
Defined in: packages/core/src/widgets/element.ts:1312
Remove the label completely. Detaches the label element and removes associated event listeners.
Returns
void
Inherited from
setHover()
setHover(
options):void
Defined in: packages/core/src/widgets/element.ts:1329
Set a hover text box to follow the cursor. Similar to the "title" DOM attribute in the browser.
Parameters
options
any
Hover text (string) or options object with text property
Returns
void
Example
element.setHover("Hover text here");
element.setHover({ text: "Hover text here" });
Inherited from
removeHover()
removeHover():
void
Defined in: packages/core/src/widgets/element.ts:1343
Remove the hover label completely. Detaches the hover text box if it's currently displayed.
Returns
void
Inherited from
_getPos()
_getPos():
any
Defined in: packages/core/src/widgets/element.ts:1369
Positioning
Returns
any
Inherited from
_getWidth()
_getWidth(
get?):number
Defined in: packages/core/src/widgets/element.ts:1390
Position Getters
Parameters
get?
boolean
Returns
number
Inherited from
_getHeight()
_getHeight(
get?):number
Defined in: packages/core/src/widgets/element.ts:1441
Parameters
get?
boolean
Returns
number
Inherited from
_getLeft()
_getLeft(
get?):number
Defined in: packages/core/src/widgets/element.ts:1492
Parameters
get?
boolean
Returns
number
Inherited from
_getRight()
_getRight(
get?):number
Defined in: packages/core/src/widgets/element.ts:1529
Parameters
get?
boolean
Returns
number
Inherited from
_getTop()
_getTop(
get?):number
Defined in: packages/core/src/widgets/element.ts:1554
Parameters
get?
boolean
Returns
number
Inherited from
_getBottom()
_getBottom(
get?):number
Defined in: packages/core/src/widgets/element.ts:1591
Parameters
get?
boolean
Returns
number
Inherited from
_getShrinkBox()
_getShrinkBox(
xi,xl,yi,yl,get?):any
Defined in: packages/core/src/widgets/element.ts:1828
Rendering - here be dragons
Parameters
xi
number
xl
number
yi
number
yl
number
get?
boolean
Returns
any
Inherited from
_getShrinkContent()
_getShrinkContent(
xi,xl,yi,yl,_get?):any
Defined in: packages/core/src/widgets/element.ts:1979
Parameters
xi
number
xl
number
yi
number
yl
number
_get?
boolean
Returns
any
Inherited from
_getShrink()
_getShrink(
xi,xl,yi,yl,get?):any
Defined in: packages/core/src/widgets/element.ts:2015
Parameters
xi
number
xl
number
yi
number
yl
number
get?
boolean
Returns
any
Inherited from
_getCoords()
_getCoords(
get?,noscroll?):RenderCoords|undefined
Defined in: packages/core/src/widgets/element.ts:2060
Parameters
get?
boolean
noscroll?
boolean
Returns
RenderCoords | undefined
Inherited from
render()
render():
any
Defined in: packages/core/src/widgets/element.ts:2233
Write content and children to the screen buffer. This is the main rendering method that draws the element, its border, scrollbar, and all child elements to the screen buffer. Returns the rendered coordinates.
Returns
any
Rendered coordinates object, or undefined if hidden/invalid
Inherited from
_render()
_render():
any
Defined in: packages/core/src/widgets/element.ts:2893
Internal alias for render().
Returns
any
Rendered coordinates object
Inherited from
insertLine()
insertLine(
i,line):void
Defined in: packages/core/src/widgets/element.ts:2907
Insert a line into the box's content. Handles wrapped content by inserting at the specified fake line index.
Parameters
i
number
Line index to insert at (fake line number)
line
Line or array of lines to insert
string | string[]
Returns
void
Inherited from
deleteLine()
deleteLine(
i,n?):void
Defined in: packages/core/src/widgets/element.ts:2968
Delete a line from the box's content. Handles wrapped content by deleting at the specified fake line index.
Parameters
i
number
Line index to delete (fake line number)
n?
number
Number of lines to delete (default: 1)
Returns
void
Inherited from
insertTop()
insertTop(
line):void
Defined in: packages/core/src/widgets/element.ts:3024
Insert a line at the top of the box. Inserts at the first visible line based on childBase.
Parameters
line
Line or array of lines to insert
string | string[]
Returns
void
Inherited from
insertBottom()
insertBottom(
line):void
Defined in: packages/core/src/widgets/element.ts:3034
Insert a line at the bottom of the box. Inserts after the last visible line based on height and childBase.
Parameters
line
Line or array of lines to insert
string | string[]
Returns
void
Inherited from
deleteTop()
deleteTop(
n?):void
Defined in: packages/core/src/widgets/element.ts:3047
Delete a line at the top of the box. Deletes from the first visible line based on childBase.
Parameters
n?
number
Number of lines to delete (default: 1)
Returns
void
Inherited from
deleteBottom()
deleteBottom(
n?):void
Defined in: packages/core/src/widgets/element.ts:3057
Delete a line at the bottom of the box. Deletes from the last visible line based on height and childBase.
Parameters
n?
number
Number of lines to delete (default: 1)
Returns
void
Inherited from
setLine()
setLine(
i,line):void
Defined in: packages/core/src/widgets/element.ts:3072
Set a line in the box's content.
Parameters
i
number
Line index to set (fake line number)
line
string
Line content to set
Returns
void
Inherited from
setBaseLine()
setBaseLine(
i,line):void
Defined in: packages/core/src/widgets/element.ts:3086
Set a line in the box's content from the visible top.
Parameters
i
number
Line offset from visible top
line
string
Line content to set
Returns
void
Inherited from
getLine()
getLine(
i):string
Defined in: packages/core/src/widgets/element.ts:3096
Get a line from the box's content.
Parameters
i
number
Line index to get (fake line number)
Returns
string
Line content
Inherited from
getBaseLine()
getBaseLine(
i):string
Defined in: packages/core/src/widgets/element.ts:3107
Get a line from the box's content from the visible top.
Parameters
i
number
Line offset from visible top
Returns
string
Line content
Inherited from
clearLine()
clearLine(
i):void
Defined in: packages/core/src/widgets/element.ts:3116
Clear a line from the box's content.
Parameters
i
number
Line index to clear (fake line number)
Returns
void
Inherited from
clearBaseLine()
clearBaseLine(
i):void
Defined in: packages/core/src/widgets/element.ts:3125
Clear a line from the box's content from the visible top.
Parameters
i
number
Line offset from visible top
Returns
void
Inherited from
unshiftLine()
unshiftLine(
line):void
Defined in: packages/core/src/widgets/element.ts:3134
Unshift a line onto the top of the content.
Parameters
line
Line or array of lines to insert
string | string[]
Returns
void
Inherited from
shiftLine()
shiftLine(
i?,n?):void
Defined in: packages/core/src/widgets/element.ts:3143
Shift a line off the top of the content.
Parameters
i?
number
Line index to remove (default: 0)
n?
number
Number of lines to remove (default: 1)
Returns
void
Inherited from
pushLine()
pushLine(
line):void
Defined in: packages/core/src/widgets/element.ts:3151
Push a line onto the bottom of the content.
Parameters
line
Line or array of lines to insert
string | string[]
Returns
void
Inherited from
popLine()
popLine(
n?):void
Defined in: packages/core/src/widgets/element.ts:3160
Pop a line off the bottom of the content.
Parameters
n?
number
Number of lines to remove (default: 1)
Returns
void
Inherited from
getLines()
getLines():
string[]
Defined in: packages/core/src/widgets/element.ts:3168
An array containing the content lines.
Returns
string[]
Array of fake (unwrapped) lines
Inherited from
getScreenLines()
getScreenLines():
string[]
Defined in: packages/core/src/widgets/element.ts:3176
An array containing the lines as they are displayed on the screen.
Returns
string[]
Array of real (wrapped) lines
Inherited from
strWidth()
strWidth(
text):number
Defined in: packages/core/src/widgets/element.ts:3186
Get a string's displayed width, taking into account double-width, surrogate pairs, combining characters, tags, and SGR escape codes.
Parameters
text
string
Text to measure
Returns
number
Displayed width in cells
Inherited from
screenshot()
screenshot(
xi?,xl?,yi?,yl?):string
Defined in: packages/core/src/widgets/element.ts:3202
Take an SGR screenshot of the element within the region. Returns a string containing only characters and SGR codes. Can be displayed by simply echoing it in a terminal.
Parameters
xi?
number
Left X offset from element's inner left (default: 0)
xl?
number
Right X offset from element's inner left (default: element width)
yi?
number
Top Y offset from element's inner top (default: 0)
yl?
number
Bottom Y offset from element's inner top (default: element height)
Returns
string
SGR-encoded screenshot string
Inherited from
display()
display(
text,time?,callback?):void
Defined in: packages/core/src/widgets/message.ts:43
Display a message for a time period. Can be dismissed by pressing a key or clicking (if mouse enabled). Time=0, -1, or Infinity requires key/click to dismiss.
Parameters
text
string
Message text to display
time?
Time in seconds to display (or callback if omitted). Default: 3 seconds
number | (err?, data?) => void
callback?
(err?, data?) => void
Optional callback function called when message is dismissed
Returns
void
Example
// Show for 3 seconds (default)
message.display("Hello World");
// Show for 5 seconds
message.display("Processing...", 5);
// Show until dismissed
message.display("Press any key", 0, () => {
console.log("Dismissed");
});
error()
error(
text,time?,callback?):void
Defined in: packages/core/src/widgets/message.ts:160
Display an error message (prefixed with red "Error:").
Parameters
text
string
Error message text
time?
Time in seconds to display (or callback if omitted). Default: 3 seconds
number | (err?, data?) => void
callback?
(err?, data?) => void
Optional callback function called when message is dismissed
Returns
void
Example
message.error("Failed to connect", 5);
insert()
insert(
element,i):void
Defined in: packages/core/src/widgets/node.ts:154
Insert a node to this node's children at index i.
Parameters
element
any
i
number
Returns
void
Inherited from
prepend()
prepend(
element):void
Defined in: packages/core/src/widgets/node.ts:191
Prepend a node to this node's children.
Parameters
element
any
Returns
void
Inherited from
append()
append(
element):void
Defined in: packages/core/src/widgets/node.ts:198
Append a node to this node's children.
Parameters
element
any
Returns
void
Inherited from
insertBefore()
insertBefore(
element,other):void
Defined in: packages/core/src/widgets/node.ts:205
Insert a node to this node's children before the reference node.
Parameters
element
any
other
any
Returns
void
Inherited from
insertAfter()
insertAfter(
element,other):void
Defined in: packages/core/src/widgets/node.ts:213
Insert a node from node after the reference node.
Parameters
element
any
other
any
Returns
void
Inherited from
remove()
remove(
element):void
Defined in: packages/core/src/widgets/node.ts:221
Remove child node from node.
Parameters
element
any
Returns
void
Inherited from
detach()
detach():
void
Defined in: packages/core/src/widgets/node.ts:255
Remove node from its parent.
Returns
void
Inherited from
destroy()
destroy():
void
Defined in: packages/core/src/widgets/node.ts:271
Same as the detach() method, except this will automatically call free() and unbind any screen events to prevent memory leaks. For use with onScreenEvent(), removeScreenEvent(), and free().
Returns
void
Inherited from
forDescendants()
forDescendants(
iter,s?):void
Defined in: packages/core/src/widgets/node.ts:283
Iterate over all descendants, calling iter(el) for each.
Parameters
iter
(el) => void
s?
any
Returns
void
Inherited from
forAncestors()
forAncestors(
iter,s?):void
Defined in: packages/core/src/widgets/node.ts:294
Iterate over all ancestors, calling iter(el) for each.
Parameters
iter
(el) => void
s?
any
Returns
void
Inherited from
collectDescendants()
collectDescendants(
s?):any[]
Defined in: packages/core/src/widgets/node.ts:305
Collect all descendants into an array.
Parameters
s?
any
Returns
any[]
Inherited from
collectAncestors()
collectAncestors(
s?):any[]
Defined in: packages/core/src/widgets/node.ts:316
Collect all ancestors into an array.
Parameters
s?
any
Returns
any[]
Inherited from
emitDescendants()
emitDescendants(...
args):void
Defined in: packages/core/src/widgets/node.ts:327
Emit event for element, and recursively emit same event for all descendants.
Parameters
args
...any[]
Returns
void
Inherited from
emitAncestors()
emitAncestors(...
args):void
Defined in: packages/core/src/widgets/node.ts:343
Emit event for element, and recursively emit same event for all ancestors.
Parameters
args
...any[]
Returns
void
Inherited from
hasDescendant()
hasDescendant(
target):boolean
Defined in: packages/core/src/widgets/node.ts:359
Check if target is a descendant of this node.
Parameters
target
any
Returns
boolean
Inherited from
hasAncestor()
hasAncestor(
target):boolean
Defined in: packages/core/src/widgets/node.ts:377
Check if target is an ancestor of this node.
Parameters
target
any
Returns
boolean
Inherited from
get()
get(
name,value?):any
Defined in: packages/core/src/widgets/node.ts:388
Get user property with a potential default value.
Parameters
name
string
value?
any
Returns
any
Inherited from
set()
set(
name,value):any
Defined in: packages/core/src/widgets/node.ts:398
Set user property to value.
Parameters
name
string
value
any
Returns
any