@opentui/core 0.1.84 → 0.1.86
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/{index-qr7b6cvh.js → index-4sjb8n0n.js} +57 -6
- package/{index-qr7b6cvh.js.map → index-4sjb8n0n.js.map} +6 -5
- package/index.js +220 -150
- package/index.js.map +5 -5
- package/lib/detect-links.d.ts +6 -0
- package/lib/index.d.ts +1 -0
- package/package.json +7 -7
- package/renderables/Code.d.ts +11 -1
- package/renderables/Markdown.d.ts +27 -8
- package/renderer.d.ts +1 -0
- package/testing.js +1 -1
package/3d.js
CHANGED
|
@@ -9320,12 +9320,14 @@ class TerminalPalette {
|
|
|
9320
9320
|
let idleTimer = null;
|
|
9321
9321
|
const onData = (chunk) => {
|
|
9322
9322
|
buffer += chunk.toString();
|
|
9323
|
+
let updated = false;
|
|
9323
9324
|
let m;
|
|
9324
9325
|
OSC_SPECIAL_RESPONSE.lastIndex = 0;
|
|
9325
9326
|
while (m = OSC_SPECIAL_RESPONSE.exec(buffer)) {
|
|
9326
9327
|
const idx = parseInt(m[1], 10);
|
|
9327
9328
|
if (idx in results) {
|
|
9328
9329
|
results[idx] = toHex(m[2], m[3], m[4], m[5]);
|
|
9330
|
+
updated = true;
|
|
9329
9331
|
}
|
|
9330
9332
|
}
|
|
9331
9333
|
if (buffer.length > 8192)
|
|
@@ -9336,6 +9338,8 @@ class TerminalPalette {
|
|
|
9336
9338
|
resolve4(results);
|
|
9337
9339
|
return;
|
|
9338
9340
|
}
|
|
9341
|
+
if (!updated)
|
|
9342
|
+
return;
|
|
9339
9343
|
if (idleTimer)
|
|
9340
9344
|
clearTimeout(idleTimer);
|
|
9341
9345
|
idleTimer = setTimeout(() => {
|
|
@@ -9422,6 +9426,48 @@ class TerminalPalette {
|
|
|
9422
9426
|
function createTerminalPalette(stdin, stdout, writeFn, isLegacyTmux) {
|
|
9423
9427
|
return new TerminalPalette(stdin, stdout, writeFn, isLegacyTmux);
|
|
9424
9428
|
}
|
|
9429
|
+
|
|
9430
|
+
// src/lib/detect-links.ts
|
|
9431
|
+
var URL_SCOPES = ["markup.link.url", "string.special.url"];
|
|
9432
|
+
function detectLinks(chunks, context) {
|
|
9433
|
+
const content = context.content;
|
|
9434
|
+
const highlights = context.highlights;
|
|
9435
|
+
const ranges = [];
|
|
9436
|
+
for (let i = 0;i < highlights.length; i++) {
|
|
9437
|
+
const [start, end, group] = highlights[i];
|
|
9438
|
+
if (!URL_SCOPES.includes(group))
|
|
9439
|
+
continue;
|
|
9440
|
+
const url = content.slice(start, end);
|
|
9441
|
+
ranges.push({ start, end, url });
|
|
9442
|
+
for (let j = i - 1;j >= 0; j--) {
|
|
9443
|
+
const [labelStart, labelEnd, prev] = highlights[j];
|
|
9444
|
+
if (prev === "markup.link.label") {
|
|
9445
|
+
ranges.push({ start: labelStart, end: labelEnd, url });
|
|
9446
|
+
break;
|
|
9447
|
+
}
|
|
9448
|
+
if (!prev.startsWith("markup.link"))
|
|
9449
|
+
break;
|
|
9450
|
+
}
|
|
9451
|
+
}
|
|
9452
|
+
if (ranges.length === 0)
|
|
9453
|
+
return chunks;
|
|
9454
|
+
let contentPos = 0;
|
|
9455
|
+
for (const chunk of chunks) {
|
|
9456
|
+
if (chunk.text.length <= 1)
|
|
9457
|
+
continue;
|
|
9458
|
+
const idx = content.indexOf(chunk.text, contentPos);
|
|
9459
|
+
if (idx < 0)
|
|
9460
|
+
continue;
|
|
9461
|
+
for (const range of ranges) {
|
|
9462
|
+
if (idx < range.end && idx + chunk.text.length > range.start) {
|
|
9463
|
+
chunk.link = { url: range.url };
|
|
9464
|
+
break;
|
|
9465
|
+
}
|
|
9466
|
+
}
|
|
9467
|
+
contentPos = idx + chunk.text.length;
|
|
9468
|
+
}
|
|
9469
|
+
return chunks;
|
|
9470
|
+
}
|
|
9425
9471
|
// src/zig.ts
|
|
9426
9472
|
import { dlopen, toArrayBuffer as toArrayBuffer4, JSCallback, ptr as ptr4 } from "bun:ffi";
|
|
9427
9473
|
import { existsSync as existsSync2 } from "fs";
|
|
@@ -16235,6 +16281,7 @@ class CliRenderer extends EventEmitter9 {
|
|
|
16235
16281
|
_themeMode = null;
|
|
16236
16282
|
inputHandlers = [];
|
|
16237
16283
|
prependedInputHandlers = [];
|
|
16284
|
+
shouldRestoreModesOnNextFocus = false;
|
|
16238
16285
|
idleResolvers = [];
|
|
16239
16286
|
_debugInputs = [];
|
|
16240
16287
|
_debugModeEnabled = env.OTUI_DEBUG;
|
|
@@ -16729,11 +16776,15 @@ Captured output:
|
|
|
16729
16776
|
}).bind(this);
|
|
16730
16777
|
focusHandler = ((sequence) => {
|
|
16731
16778
|
if (sequence === "\x1B[I") {
|
|
16732
|
-
|
|
16779
|
+
if (this.shouldRestoreModesOnNextFocus) {
|
|
16780
|
+
this.lib.restoreTerminalModes(this.rendererPtr);
|
|
16781
|
+
this.shouldRestoreModesOnNextFocus = false;
|
|
16782
|
+
}
|
|
16733
16783
|
this.emit("focus");
|
|
16734
16784
|
return true;
|
|
16735
16785
|
}
|
|
16736
16786
|
if (sequence === "\x1B[O") {
|
|
16787
|
+
this.shouldRestoreModesOnNextFocus = true;
|
|
16737
16788
|
this.emit("blur");
|
|
16738
16789
|
return true;
|
|
16739
16790
|
}
|
|
@@ -16894,7 +16945,7 @@ Captured output:
|
|
|
16894
16945
|
}
|
|
16895
16946
|
}
|
|
16896
16947
|
if (!sameElement && (mouseEvent.type === "drag" || mouseEvent.type === "move")) {
|
|
16897
|
-
if (this.lastOverRenderable && this.lastOverRenderable !== this.capturedRenderable) {
|
|
16948
|
+
if (this.lastOverRenderable && this.lastOverRenderable !== this.capturedRenderable && !this.lastOverRenderable.isDestroyed) {
|
|
16898
16949
|
const event2 = new MouseEvent(this.lastOverRenderable, { ...mouseEvent, type: "out" });
|
|
16899
16950
|
this.lastOverRenderable.processMouseEvent(event2);
|
|
16900
16951
|
}
|
|
@@ -16966,7 +17017,7 @@ Captured output:
|
|
|
16966
17017
|
y: this._latestPointer.y,
|
|
16967
17018
|
modifiers: this._lastPointerModifiers
|
|
16968
17019
|
};
|
|
16969
|
-
if (lastOver) {
|
|
17020
|
+
if (lastOver && !lastOver.isDestroyed) {
|
|
16970
17021
|
const event = new MouseEvent(lastOver, { ...baseEvent, type: "out" });
|
|
16971
17022
|
lastOver.processMouseEvent(event);
|
|
16972
17023
|
}
|
|
@@ -17625,7 +17676,7 @@ Captured output:
|
|
|
17625
17676
|
}
|
|
17626
17677
|
}
|
|
17627
17678
|
|
|
17628
|
-
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, SpanInfoStruct, 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 };
|
|
17679
|
+
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, detectLinks, TextBuffer, SpanInfoStruct, 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 };
|
|
17629
17680
|
|
|
17630
|
-
//# debugId=
|
|
17631
|
-
//# sourceMappingURL=index-
|
|
17681
|
+
//# debugId=18A382B09D14760A64756E2164756E21
|
|
17682
|
+
//# sourceMappingURL=index-4sjb8n0n.js.map
|