@opentui/core 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3d.js +1 -1
- package/Renderable.d.ts +3 -1
- package/{index-8sac0sgm.js → index-a6ydv6yb.js} +29 -5
- package/{index-8sac0sgm.js.map → index-a6ydv6yb.js.map} +5 -5
- package/index.js +109 -7
- package/index.js.map +7 -7
- package/package.json +7 -7
- package/renderables/Input.d.ts +1 -1
- package/renderables/ScrollBar.d.ts +1 -1
- package/renderables/ScrollBox.d.ts +17 -2
- package/renderables/Select.d.ts +1 -1
- package/renderables/TabSelect.d.ts +1 -1
- package/renderer.d.ts +4 -1
- package/testing/mock-keys.d.ts +67 -0
- package/testing/test-renderer.d.ts +6 -0
- package/types.d.ts +3 -0
package/3d.js
CHANGED
package/Renderable.d.ts
CHANGED
|
@@ -125,7 +125,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
125
125
|
selectable: boolean;
|
|
126
126
|
protected buffered: boolean;
|
|
127
127
|
protected frameBuffer: OptimizedBuffer | null;
|
|
128
|
-
protected
|
|
128
|
+
protected _focusable: boolean;
|
|
129
129
|
protected _focused: boolean;
|
|
130
130
|
protected keyHandler: KeyHandler;
|
|
131
131
|
protected keypressHandler: ((key: ParsedKey) => void) | null;
|
|
@@ -149,6 +149,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
149
149
|
renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
150
150
|
renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
151
151
|
constructor(ctx: RenderContext, options: RenderableOptions<any>);
|
|
152
|
+
get focusable(): boolean;
|
|
152
153
|
get ctx(): RenderContext;
|
|
153
154
|
get visible(): boolean;
|
|
154
155
|
get primaryAxis(): "row" | "column";
|
|
@@ -228,6 +229,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
228
229
|
protected createFrameBuffer(): void;
|
|
229
230
|
protected onResize(width: number, height: number): void;
|
|
230
231
|
private replaceParent;
|
|
232
|
+
private _forceLayoutUpdateFor;
|
|
231
233
|
add(obj: Renderable | VNode<any, any[]> | unknown, index?: number): number;
|
|
232
234
|
insertBefore(obj: Renderable | VNode<any, any[]> | unknown, anchor?: Renderable | unknown): number;
|
|
233
235
|
getRenderable(id: string): Renderable | undefined;
|
|
@@ -5912,7 +5912,7 @@ class Renderable extends BaseRenderable {
|
|
|
5912
5912
|
selectable = false;
|
|
5913
5913
|
buffered;
|
|
5914
5914
|
frameBuffer = null;
|
|
5915
|
-
|
|
5915
|
+
_focusable = false;
|
|
5916
5916
|
_focused = false;
|
|
5917
5917
|
keyHandler = getKeyHandler();
|
|
5918
5918
|
keypressHandler = null;
|
|
@@ -5963,6 +5963,9 @@ class Renderable extends BaseRenderable {
|
|
|
5963
5963
|
this.createFrameBuffer();
|
|
5964
5964
|
}
|
|
5965
5965
|
}
|
|
5966
|
+
get focusable() {
|
|
5967
|
+
return this._focusable;
|
|
5968
|
+
}
|
|
5966
5969
|
get ctx() {
|
|
5967
5970
|
return this._ctx;
|
|
5968
5971
|
}
|
|
@@ -6004,8 +6007,9 @@ class Renderable extends BaseRenderable {
|
|
|
6004
6007
|
return false;
|
|
6005
6008
|
}
|
|
6006
6009
|
focus() {
|
|
6007
|
-
if (this._focused || !this.
|
|
6010
|
+
if (this._focused || !this._focusable)
|
|
6008
6011
|
return;
|
|
6012
|
+
this._ctx.focusRenderable(this);
|
|
6009
6013
|
this._focused = true;
|
|
6010
6014
|
this.requestRender();
|
|
6011
6015
|
this.keypressHandler = (key) => {
|
|
@@ -6018,7 +6022,7 @@ class Renderable extends BaseRenderable {
|
|
|
6018
6022
|
this.emit("focused" /* FOCUSED */);
|
|
6019
6023
|
}
|
|
6020
6024
|
blur() {
|
|
6021
|
-
if (!this._focused || !this.
|
|
6025
|
+
if (!this._focused || !this._focusable)
|
|
6022
6026
|
return;
|
|
6023
6027
|
this._focused = false;
|
|
6024
6028
|
this.requestRender();
|
|
@@ -6545,6 +6549,7 @@ class Renderable extends BaseRenderable {
|
|
|
6545
6549
|
}
|
|
6546
6550
|
obj.parent = this;
|
|
6547
6551
|
}
|
|
6552
|
+
_forceLayoutUpdateFor = null;
|
|
6548
6553
|
add(obj, index) {
|
|
6549
6554
|
if (!obj) {
|
|
6550
6555
|
return -1;
|
|
@@ -6568,6 +6573,7 @@ class Renderable extends BaseRenderable {
|
|
|
6568
6573
|
let insertedIndex;
|
|
6569
6574
|
if (index !== undefined) {
|
|
6570
6575
|
this.renderableArray.splice(index, 0, renderable);
|
|
6576
|
+
this._forceLayoutUpdateFor = this.renderableArray.slice(index);
|
|
6571
6577
|
insertedIndex = this.layoutNode.insertChild(childLayoutNode, index);
|
|
6572
6578
|
} else {
|
|
6573
6579
|
this.renderableArray.push(renderable);
|
|
@@ -6652,6 +6658,12 @@ class Renderable extends BaseRenderable {
|
|
|
6652
6658
|
}
|
|
6653
6659
|
this._newChildren = [];
|
|
6654
6660
|
}
|
|
6661
|
+
if (this._forceLayoutUpdateFor) {
|
|
6662
|
+
for (const child of this._forceLayoutUpdateFor) {
|
|
6663
|
+
child.updateFromLayout();
|
|
6664
|
+
}
|
|
6665
|
+
this._forceLayoutUpdateFor = null;
|
|
6666
|
+
}
|
|
6655
6667
|
this.ensureZIndexSorted();
|
|
6656
6668
|
const shouldPushScissor = this._overflow !== "visible" && this.width > 0 && this.height > 0;
|
|
6657
6669
|
if (shouldPushScissor) {
|
|
@@ -7996,6 +8008,7 @@ class CliRenderer extends EventEmitter6 {
|
|
|
7996
8008
|
sigwinchHandler = null;
|
|
7997
8009
|
_capabilities = null;
|
|
7998
8010
|
_latestPointer = { x: 0, y: 0 };
|
|
8011
|
+
_currentFocusedRenderable = null;
|
|
7999
8012
|
constructor(lib, rendererPtr, stdin, stdout, width, height, config = {}) {
|
|
8000
8013
|
super();
|
|
8001
8014
|
this.stdin = stdin;
|
|
@@ -8107,6 +8120,17 @@ Error details:
|
|
|
8107
8120
|
};
|
|
8108
8121
|
}
|
|
8109
8122
|
}
|
|
8123
|
+
get currentFocusedRenderable() {
|
|
8124
|
+
return this._currentFocusedRenderable;
|
|
8125
|
+
}
|
|
8126
|
+
focusRenderable(renderable) {
|
|
8127
|
+
if (this._currentFocusedRenderable === renderable)
|
|
8128
|
+
return;
|
|
8129
|
+
if (this._currentFocusedRenderable) {
|
|
8130
|
+
this._currentFocusedRenderable.blur();
|
|
8131
|
+
}
|
|
8132
|
+
this._currentFocusedRenderable = renderable;
|
|
8133
|
+
}
|
|
8110
8134
|
addToHitGrid(x, y, width, height, id) {
|
|
8111
8135
|
if (id !== this.capturedRenderable?.num) {
|
|
8112
8136
|
this.lib.addToHitGrid(this.rendererPtr, x, y, width, height, id);
|
|
@@ -8889,5 +8913,5 @@ Error details:
|
|
|
8889
8913
|
|
|
8890
8914
|
export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, TrackedNode, createTrackedNode, nonAlphanumericKeys, parseKeypress, KeyHandler, getKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, SyntaxStyle, hastToStyledText, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, LayoutEvents, RenderableEvents, isValidPercentage, isMarginType, isPaddingType, isPositionType, isPositionTypeType, isOverflowType, isDimensionType, isFlexBasisType, isSizeType, isRenderable, BaseRenderable, Renderable, RootRenderable, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, CliRenderer };
|
|
8891
8915
|
|
|
8892
|
-
//# debugId=
|
|
8893
|
-
//# sourceMappingURL=index-
|
|
8916
|
+
//# debugId=22DC4532C30EE05864756E2164756E21
|
|
8917
|
+
//# sourceMappingURL=index-a6ydv6yb.js.map
|