@opentui/core 0.1.77 → 0.1.78
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 +8 -0
- package/{index-h3dbfsf6.js → index-rje6z21e.js} +103 -37
- package/{index-h3dbfsf6.js.map → index-rje6z21e.js.map} +8 -8
- package/index.js +1 -1
- package/package.json +7 -7
- package/renderer.d.ts +4 -1
- package/testing/test-recorder.d.ts +2 -0
- package/testing.js +6 -4
- package/testing.js.map +3 -3
- package/types.d.ts +2 -0
- package/zig.d.ts +1 -0
package/3d.js
CHANGED
package/Renderable.d.ts
CHANGED
|
@@ -47,11 +47,15 @@ export interface LayoutOptions extends BaseRenderableOptions {
|
|
|
47
47
|
maxWidth?: number | "auto" | `${number}%`;
|
|
48
48
|
maxHeight?: number | "auto" | `${number}%`;
|
|
49
49
|
margin?: number | "auto" | `${number}%`;
|
|
50
|
+
marginX?: number | "auto" | `${number}%`;
|
|
51
|
+
marginY?: number | "auto" | `${number}%`;
|
|
50
52
|
marginTop?: number | "auto" | `${number}%`;
|
|
51
53
|
marginRight?: number | "auto" | `${number}%`;
|
|
52
54
|
marginBottom?: number | "auto" | `${number}%`;
|
|
53
55
|
marginLeft?: number | "auto" | `${number}%`;
|
|
54
56
|
padding?: number | `${number}%`;
|
|
57
|
+
paddingX?: number | `${number}%`;
|
|
58
|
+
paddingY?: number | `${number}%`;
|
|
55
59
|
paddingTop?: number | `${number}%`;
|
|
56
60
|
paddingRight?: number | `${number}%`;
|
|
57
61
|
paddingBottom?: number | `${number}%`;
|
|
@@ -225,11 +229,15 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
225
229
|
set minHeight(minHeight: number | `${number}%` | null | undefined);
|
|
226
230
|
set maxHeight(maxHeight: number | `${number}%` | null | undefined);
|
|
227
231
|
set margin(margin: number | "auto" | `${number}%` | null | undefined);
|
|
232
|
+
set marginX(marginX: number | "auto" | `${number}%` | null | undefined);
|
|
233
|
+
set marginY(marginY: number | "auto" | `${number}%` | null | undefined);
|
|
228
234
|
set marginTop(margin: number | "auto" | `${number}%` | null | undefined);
|
|
229
235
|
set marginRight(margin: number | "auto" | `${number}%` | null | undefined);
|
|
230
236
|
set marginBottom(margin: number | "auto" | `${number}%` | null | undefined);
|
|
231
237
|
set marginLeft(margin: number | "auto" | `${number}%` | null | undefined);
|
|
232
238
|
set padding(padding: number | `${number}%` | null | undefined);
|
|
239
|
+
set paddingX(paddingX: number | `${number}%` | null | undefined);
|
|
240
|
+
set paddingY(paddingY: number | `${number}%` | null | undefined);
|
|
233
241
|
set paddingTop(padding: number | `${number}%` | null | undefined);
|
|
234
242
|
set paddingRight(padding: number | `${number}%` | null | undefined);
|
|
235
243
|
set paddingBottom(padding: number | `${number}%` | null | undefined);
|
|
@@ -1833,23 +1833,23 @@ var kittyKeyMap = {
|
|
|
1833
1833
|
57396: "f33",
|
|
1834
1834
|
57397: "f34",
|
|
1835
1835
|
57398: "f35",
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1836
|
+
57399: "kp0",
|
|
1837
|
+
57400: "kp1",
|
|
1838
|
+
57401: "kp2",
|
|
1839
|
+
57402: "kp3",
|
|
1840
|
+
57403: "kp4",
|
|
1841
|
+
57404: "kp5",
|
|
1842
|
+
57405: "kp6",
|
|
1843
|
+
57406: "kp7",
|
|
1844
|
+
57407: "kp8",
|
|
1845
|
+
57408: "kp9",
|
|
1846
|
+
57409: "kpdecimal",
|
|
1847
|
+
57410: "kpdivide",
|
|
1848
|
+
57411: "kpmultiply",
|
|
1849
|
+
57412: "kpminus",
|
|
1850
|
+
57413: "kpplus",
|
|
1851
|
+
57414: "kpenter",
|
|
1852
|
+
57415: "kpequal",
|
|
1853
1853
|
57428: "mediaplay",
|
|
1854
1854
|
57429: "mediapause",
|
|
1855
1855
|
57430: "mediaplaypause",
|
|
@@ -5956,6 +5956,9 @@ function isCompleteSequence(data) {
|
|
|
5956
5956
|
return "incomplete";
|
|
5957
5957
|
}
|
|
5958
5958
|
const afterEsc = data.slice(1);
|
|
5959
|
+
if (afterEsc.startsWith(ESC)) {
|
|
5960
|
+
return isCompleteSequence(afterEsc);
|
|
5961
|
+
}
|
|
5959
5962
|
if (afterEsc.startsWith("[")) {
|
|
5960
5963
|
if (afterEsc.startsWith("[M")) {
|
|
5961
5964
|
return data.length >= 6 ? "complete" : "incomplete";
|
|
@@ -6034,6 +6037,9 @@ function isCompleteApcSequence(data) {
|
|
|
6034
6037
|
}
|
|
6035
6038
|
return "incomplete";
|
|
6036
6039
|
}
|
|
6040
|
+
function isNestedEscapeSequenceStart(char) {
|
|
6041
|
+
return char === "[" || char === "]" || char === "O" || char === "N" || char === "P" || char === "_";
|
|
6042
|
+
}
|
|
6037
6043
|
function extractCompleteSequences(buffer) {
|
|
6038
6044
|
const sequences = [];
|
|
6039
6045
|
let pos = 0;
|
|
@@ -6049,6 +6055,14 @@ function extractCompleteSequences(buffer) {
|
|
|
6049
6055
|
pos += seqEnd;
|
|
6050
6056
|
break;
|
|
6051
6057
|
} else if (status === "incomplete") {
|
|
6058
|
+
if (candidate === ESC + ESC) {
|
|
6059
|
+
const nextChar = remaining[seqEnd];
|
|
6060
|
+
if (seqEnd < remaining.length && !isNestedEscapeSequenceStart(nextChar)) {
|
|
6061
|
+
sequences.push(candidate);
|
|
6062
|
+
pos += seqEnd;
|
|
6063
|
+
break;
|
|
6064
|
+
}
|
|
6065
|
+
}
|
|
6052
6066
|
seqEnd++;
|
|
6053
6067
|
} else {
|
|
6054
6068
|
sequences.push(candidate);
|
|
@@ -10629,6 +10643,10 @@ function getOpenTUILib(libPath) {
|
|
|
10629
10643
|
args: ["ptr", "i64"],
|
|
10630
10644
|
returns: "void"
|
|
10631
10645
|
},
|
|
10646
|
+
restoreTerminalModes: {
|
|
10647
|
+
args: ["ptr"],
|
|
10648
|
+
returns: "void"
|
|
10649
|
+
},
|
|
10632
10650
|
enableMouse: {
|
|
10633
10651
|
args: ["ptr", "bool"],
|
|
10634
10652
|
returns: "void"
|
|
@@ -11763,6 +11781,9 @@ class FFIRenderLib {
|
|
|
11763
11781
|
const ts = timestamp ?? Date.now();
|
|
11764
11782
|
this.opentui.symbols.dumpStdoutBuffer(renderer, ts);
|
|
11765
11783
|
}
|
|
11784
|
+
restoreTerminalModes(renderer) {
|
|
11785
|
+
this.opentui.symbols.restoreTerminalModes(renderer);
|
|
11786
|
+
}
|
|
11766
11787
|
enableMouse(renderer, enableMovement) {
|
|
11767
11788
|
this.opentui.symbols.enableMouse(renderer, enableMovement);
|
|
11768
11789
|
}
|
|
@@ -13352,10 +13373,13 @@ class Renderable extends BaseRenderable {
|
|
|
13352
13373
|
setupMarginAndPadding(options) {
|
|
13353
13374
|
const node = this.yogaNode;
|
|
13354
13375
|
if (isMarginType(options.margin)) {
|
|
13355
|
-
node.setMargin(Edge.
|
|
13356
|
-
|
|
13357
|
-
|
|
13358
|
-
node.setMargin(Edge.
|
|
13376
|
+
node.setMargin(Edge.All, options.margin);
|
|
13377
|
+
}
|
|
13378
|
+
if (isMarginType(options.marginX)) {
|
|
13379
|
+
node.setMargin(Edge.Horizontal, options.marginX);
|
|
13380
|
+
}
|
|
13381
|
+
if (isMarginType(options.marginY)) {
|
|
13382
|
+
node.setMargin(Edge.Vertical, options.marginY);
|
|
13359
13383
|
}
|
|
13360
13384
|
if (isMarginType(options.marginTop)) {
|
|
13361
13385
|
node.setMargin(Edge.Top, options.marginTop);
|
|
@@ -13370,10 +13394,13 @@ class Renderable extends BaseRenderable {
|
|
|
13370
13394
|
node.setMargin(Edge.Left, options.marginLeft);
|
|
13371
13395
|
}
|
|
13372
13396
|
if (isPaddingType(options.padding)) {
|
|
13373
|
-
node.setPadding(Edge.
|
|
13374
|
-
|
|
13375
|
-
|
|
13376
|
-
node.setPadding(Edge.
|
|
13397
|
+
node.setPadding(Edge.All, options.padding);
|
|
13398
|
+
}
|
|
13399
|
+
if (isPaddingType(options.paddingX)) {
|
|
13400
|
+
node.setPadding(Edge.Horizontal, options.paddingX);
|
|
13401
|
+
}
|
|
13402
|
+
if (isPaddingType(options.paddingY)) {
|
|
13403
|
+
node.setPadding(Edge.Vertical, options.paddingY);
|
|
13377
13404
|
}
|
|
13378
13405
|
if (isPaddingType(options.paddingTop)) {
|
|
13379
13406
|
node.setPadding(Edge.Top, options.paddingTop);
|
|
@@ -13508,11 +13535,19 @@ class Renderable extends BaseRenderable {
|
|
|
13508
13535
|
}
|
|
13509
13536
|
set margin(margin) {
|
|
13510
13537
|
if (isMarginType(margin)) {
|
|
13511
|
-
|
|
13512
|
-
|
|
13513
|
-
|
|
13514
|
-
|
|
13515
|
-
|
|
13538
|
+
this.yogaNode.setMargin(Edge.All, margin);
|
|
13539
|
+
this.requestRender();
|
|
13540
|
+
}
|
|
13541
|
+
}
|
|
13542
|
+
set marginX(marginX) {
|
|
13543
|
+
if (isMarginType(marginX)) {
|
|
13544
|
+
this.yogaNode.setMargin(Edge.Horizontal, marginX);
|
|
13545
|
+
this.requestRender();
|
|
13546
|
+
}
|
|
13547
|
+
}
|
|
13548
|
+
set marginY(marginY) {
|
|
13549
|
+
if (isMarginType(marginY)) {
|
|
13550
|
+
this.yogaNode.setMargin(Edge.Vertical, marginY);
|
|
13516
13551
|
this.requestRender();
|
|
13517
13552
|
}
|
|
13518
13553
|
}
|
|
@@ -13542,11 +13577,19 @@ class Renderable extends BaseRenderable {
|
|
|
13542
13577
|
}
|
|
13543
13578
|
set padding(padding) {
|
|
13544
13579
|
if (isPaddingType(padding)) {
|
|
13545
|
-
|
|
13546
|
-
|
|
13547
|
-
|
|
13548
|
-
|
|
13549
|
-
|
|
13580
|
+
this.yogaNode.setPadding(Edge.All, padding);
|
|
13581
|
+
this.requestRender();
|
|
13582
|
+
}
|
|
13583
|
+
}
|
|
13584
|
+
set paddingX(paddingX) {
|
|
13585
|
+
if (isPaddingType(paddingX)) {
|
|
13586
|
+
this.yogaNode.setPadding(Edge.Horizontal, paddingX);
|
|
13587
|
+
this.requestRender();
|
|
13588
|
+
}
|
|
13589
|
+
}
|
|
13590
|
+
set paddingY(paddingY) {
|
|
13591
|
+
if (isPaddingType(paddingY)) {
|
|
13592
|
+
this.yogaNode.setPadding(Edge.Vertical, paddingY);
|
|
13550
13593
|
this.requestRender();
|
|
13551
13594
|
}
|
|
13552
13595
|
}
|
|
@@ -15786,6 +15829,7 @@ class CliRenderer extends EventEmitter9 {
|
|
|
15786
15829
|
_cachedPalette = null;
|
|
15787
15830
|
_paletteDetectionPromise = null;
|
|
15788
15831
|
_onDestroy;
|
|
15832
|
+
_themeMode = null;
|
|
15789
15833
|
inputHandlers = [];
|
|
15790
15834
|
prependedInputHandlers = [];
|
|
15791
15835
|
idleResolvers = [];
|
|
@@ -16115,6 +16159,9 @@ Captured output:
|
|
|
16115
16159
|
get capabilities() {
|
|
16116
16160
|
return this._capabilities;
|
|
16117
16161
|
}
|
|
16162
|
+
get themeMode() {
|
|
16163
|
+
return this._themeMode;
|
|
16164
|
+
}
|
|
16118
16165
|
getDebugInputs() {
|
|
16119
16166
|
return [...this._debugInputs];
|
|
16120
16167
|
}
|
|
@@ -16272,6 +16319,7 @@ Captured output:
|
|
|
16272
16319
|
}).bind(this);
|
|
16273
16320
|
focusHandler = ((sequence) => {
|
|
16274
16321
|
if (sequence === "\x1B[I") {
|
|
16322
|
+
this.lib.restoreTerminalModes(this.rendererPtr);
|
|
16275
16323
|
this.emit("focus");
|
|
16276
16324
|
return true;
|
|
16277
16325
|
}
|
|
@@ -16281,6 +16329,23 @@ Captured output:
|
|
|
16281
16329
|
}
|
|
16282
16330
|
return false;
|
|
16283
16331
|
}).bind(this);
|
|
16332
|
+
themeModeHandler = ((sequence) => {
|
|
16333
|
+
if (sequence === "\x1B[?997;1n") {
|
|
16334
|
+
if (this._themeMode !== "dark") {
|
|
16335
|
+
this._themeMode = "dark";
|
|
16336
|
+
this.emit("theme_mode", "dark");
|
|
16337
|
+
}
|
|
16338
|
+
return true;
|
|
16339
|
+
}
|
|
16340
|
+
if (sequence === "\x1B[?997;2n") {
|
|
16341
|
+
if (this._themeMode !== "light") {
|
|
16342
|
+
this._themeMode = "light";
|
|
16343
|
+
this.emit("theme_mode", "light");
|
|
16344
|
+
}
|
|
16345
|
+
return true;
|
|
16346
|
+
}
|
|
16347
|
+
return false;
|
|
16348
|
+
}).bind(this);
|
|
16284
16349
|
setupInput() {
|
|
16285
16350
|
for (const handler of this.prependedInputHandlers) {
|
|
16286
16351
|
this.addInputHandler(handler);
|
|
@@ -16298,6 +16363,7 @@ Captured output:
|
|
|
16298
16363
|
});
|
|
16299
16364
|
this.addInputHandler(this.capabilityHandler);
|
|
16300
16365
|
this.addInputHandler(this.focusHandler);
|
|
16366
|
+
this.addInputHandler(this.themeModeHandler);
|
|
16301
16367
|
this.addInputHandler((sequence) => {
|
|
16302
16368
|
return this._keyHandler.processInput(sequence);
|
|
16303
16369
|
});
|
|
@@ -17129,5 +17195,5 @@ Captured output:
|
|
|
17129
17195
|
|
|
17130
17196
|
export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, exports_src, isValidBorderStyle, parseBorderStyle, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, ATTRIBUTE_BASE_BITS, ATTRIBUTE_BASE_MASK, getBaseAttributes, DebugOverlayCorner, createTextAttributes, attributesWithLink, getLinkId, visualizeRenderableTree, 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, link, t, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, StdinBuffer, parseAlign, parseAlignItems, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extToFiletype, pathToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, defaultKeyAliases, mergeKeyAliases, mergeKeyBindings, getKeyBindingKey, buildKeyBindingsMap, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, buildKittyKeyboardFlags, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
|
|
17131
17197
|
|
|
17132
|
-
//# debugId=
|
|
17133
|
-
//# sourceMappingURL=index-
|
|
17198
|
+
//# debugId=786F48BD0A97DA2664756E2164756E21
|
|
17199
|
+
//# sourceMappingURL=index-rje6z21e.js.map
|