@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 CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  __export,
7
7
  __require,
8
8
  __toESM
9
- } from "./index-qr7b6cvh.js";
9
+ } from "./index-4sjb8n0n.js";
10
10
 
11
11
  // ../../node_modules/.bun/omggif@1.0.10/node_modules/omggif/omggif.js
12
12
  var require_omggif = __commonJS((exports) => {
@@ -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
- this.lib.restoreTerminalModes(this.rendererPtr);
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=DABC087314A6A7D764756E2164756E21
17631
- //# sourceMappingURL=index-qr7b6cvh.js.map
17681
+ //# debugId=18A382B09D14760A64756E2164756E21
17682
+ //# sourceMappingURL=index-4sjb8n0n.js.map