@opentui/core 0.1.16 → 0.1.17

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
@@ -5,7 +5,7 @@ import {
5
5
  __export,
6
6
  __require,
7
7
  __toESM
8
- } from "./index-sw194bbj.js";
8
+ } from "./index-vg0fxf54.js";
9
9
 
10
10
  // ../../node_modules/omggif/omggif.js
11
11
  var require_omggif = __commonJS((exports) => {
@@ -6549,6 +6549,9 @@ class Renderable extends EventEmitter3 {
6549
6549
  obj.parent = this;
6550
6550
  }
6551
6551
  add(obj, index) {
6552
+ if (!obj) {
6553
+ return -1;
6554
+ }
6552
6555
  obj = ensureRenderable(this._ctx, obj);
6553
6556
  if (this.renderableMap.has(obj.id)) {
6554
6557
  console.warn(`A renderable with id ${obj.id} already exists in ${this.id}, removing it`);
@@ -6574,6 +6577,9 @@ class Renderable extends EventEmitter3 {
6574
6577
  return insertedIndex;
6575
6578
  }
6576
6579
  insertBefore(obj, anchor) {
6580
+ if (!obj) {
6581
+ return -1;
6582
+ }
6577
6583
  obj = ensureRenderable(this._ctx, obj);
6578
6584
  if (!anchor) {
6579
6585
  return this.add(obj);
@@ -7703,9 +7709,13 @@ class MouseEvent {
7703
7709
  target;
7704
7710
  isSelecting;
7705
7711
  _propagationStopped = false;
7712
+ _defaultPrevented = false;
7706
7713
  get propagationStopped() {
7707
7714
  return this._propagationStopped;
7708
7715
  }
7716
+ get defaultPrevented() {
7717
+ return this._defaultPrevented;
7718
+ }
7709
7719
  constructor(target, attributes) {
7710
7720
  this.target = target;
7711
7721
  this.type = attributes.type;
@@ -7720,6 +7730,9 @@ class MouseEvent {
7720
7730
  stopPropagation() {
7721
7731
  this._propagationStopped = true;
7722
7732
  }
7733
+ preventDefault() {
7734
+ this._defaultPrevented = true;
7735
+ }
7723
7736
  }
7724
7737
  var MouseButton;
7725
7738
  ((MouseButton2) => {
@@ -7845,6 +7858,7 @@ class CliRenderer extends EventEmitter6 {
7845
7858
  mouseParser = new MouseParser;
7846
7859
  sigwinchHandler = null;
7847
7860
  _capabilities = null;
7861
+ _latestPointer = { x: 0, y: 0 };
7848
7862
  constructor(lib, rendererPtr, stdin, stdout, width, height, config = {}) {
7849
7863
  super();
7850
7864
  this.stdin = stdin;
@@ -8181,12 +8195,14 @@ Error details:
8181
8195
  }
8182
8196
  mouseEvent.y -= this.renderOffset;
8183
8197
  }
8198
+ this._latestPointer.x = mouseEvent.x;
8199
+ this._latestPointer.y = mouseEvent.y;
8184
8200
  if (mouseEvent.type === "scroll") {
8185
8201
  const maybeRenderableId2 = this.lib.checkHit(this.rendererPtr, mouseEvent.x, mouseEvent.y);
8186
8202
  const maybeRenderable2 = Renderable.renderablesByNumber.get(maybeRenderableId2);
8187
8203
  if (maybeRenderable2) {
8188
- const event = new MouseEvent(maybeRenderable2, mouseEvent);
8189
- maybeRenderable2.processMouseEvent(event);
8204
+ const event2 = new MouseEvent(maybeRenderable2, mouseEvent);
8205
+ maybeRenderable2.processMouseEvent(event2);
8190
8206
  }
8191
8207
  return true;
8192
8208
  }
@@ -8197,23 +8213,23 @@ Error details:
8197
8213
  if (mouseEvent.type === "down" && mouseEvent.button === 0 /* LEFT */ && !this.currentSelection?.isSelecting && !mouseEvent.modifiers.ctrl) {
8198
8214
  if (maybeRenderable && maybeRenderable.selectable && maybeRenderable.shouldStartSelection(mouseEvent.x, mouseEvent.y)) {
8199
8215
  this.startSelection(maybeRenderable, mouseEvent.x, mouseEvent.y);
8200
- const event = new MouseEvent(maybeRenderable, mouseEvent);
8201
- maybeRenderable.processMouseEvent(event);
8216
+ const event2 = new MouseEvent(maybeRenderable, mouseEvent);
8217
+ maybeRenderable.processMouseEvent(event2);
8202
8218
  return true;
8203
8219
  }
8204
8220
  }
8205
8221
  if (mouseEvent.type === "drag" && this.currentSelection?.isSelecting) {
8206
8222
  this.updateSelection(maybeRenderable, mouseEvent.x, mouseEvent.y);
8207
8223
  if (maybeRenderable) {
8208
- const event = new MouseEvent(maybeRenderable, { ...mouseEvent, isSelecting: true });
8209
- maybeRenderable.processMouseEvent(event);
8224
+ const event2 = new MouseEvent(maybeRenderable, { ...mouseEvent, isSelecting: true });
8225
+ maybeRenderable.processMouseEvent(event2);
8210
8226
  }
8211
8227
  return true;
8212
8228
  }
8213
8229
  if (mouseEvent.type === "up" && this.currentSelection?.isSelecting) {
8214
8230
  if (maybeRenderable) {
8215
- const event = new MouseEvent(maybeRenderable, { ...mouseEvent, isSelecting: true });
8216
- maybeRenderable.processMouseEvent(event);
8231
+ const event2 = new MouseEvent(maybeRenderable, { ...mouseEvent, isSelecting: true });
8232
+ maybeRenderable.processMouseEvent(event2);
8217
8233
  }
8218
8234
  this.finishSelection();
8219
8235
  return true;
@@ -8223,59 +8239,61 @@ Error details:
8223
8239
  this.currentSelection.isSelecting = true;
8224
8240
  this.updateSelection(maybeRenderable, mouseEvent.x, mouseEvent.y);
8225
8241
  return true;
8226
- } else {
8227
- this.clearSelection();
8228
8242
  }
8229
8243
  }
8230
8244
  if (!sameElement && (mouseEvent.type === "drag" || mouseEvent.type === "move")) {
8231
8245
  if (this.lastOverRenderable && this.lastOverRenderable !== this.capturedRenderable) {
8232
- const event = new MouseEvent(this.lastOverRenderable, { ...mouseEvent, type: "out" });
8233
- this.lastOverRenderable.processMouseEvent(event);
8246
+ const event2 = new MouseEvent(this.lastOverRenderable, { ...mouseEvent, type: "out" });
8247
+ this.lastOverRenderable.processMouseEvent(event2);
8234
8248
  }
8235
8249
  this.lastOverRenderable = maybeRenderable;
8236
8250
  if (maybeRenderable) {
8237
- const event = new MouseEvent(maybeRenderable, {
8251
+ const event2 = new MouseEvent(maybeRenderable, {
8238
8252
  ...mouseEvent,
8239
8253
  type: "over",
8240
8254
  source: this.capturedRenderable
8241
8255
  });
8242
- maybeRenderable.processMouseEvent(event);
8256
+ maybeRenderable.processMouseEvent(event2);
8243
8257
  }
8244
8258
  }
8245
8259
  if (this.capturedRenderable && mouseEvent.type !== "up") {
8246
- const event = new MouseEvent(this.capturedRenderable, mouseEvent);
8247
- this.capturedRenderable.processMouseEvent(event);
8260
+ const event2 = new MouseEvent(this.capturedRenderable, mouseEvent);
8261
+ this.capturedRenderable.processMouseEvent(event2);
8248
8262
  return true;
8249
8263
  }
8250
8264
  if (this.capturedRenderable && mouseEvent.type === "up") {
8251
- const event = new MouseEvent(this.capturedRenderable, { ...mouseEvent, type: "drag-end" });
8252
- this.capturedRenderable.processMouseEvent(event);
8265
+ const event2 = new MouseEvent(this.capturedRenderable, { ...mouseEvent, type: "drag-end" });
8266
+ this.capturedRenderable.processMouseEvent(event2);
8253
8267
  this.capturedRenderable.processMouseEvent(new MouseEvent(this.capturedRenderable, mouseEvent));
8254
8268
  if (maybeRenderable) {
8255
- const event2 = new MouseEvent(maybeRenderable, {
8269
+ const event3 = new MouseEvent(maybeRenderable, {
8256
8270
  ...mouseEvent,
8257
8271
  type: "drop",
8258
8272
  source: this.capturedRenderable
8259
8273
  });
8260
- maybeRenderable.processMouseEvent(event2);
8274
+ maybeRenderable.processMouseEvent(event3);
8261
8275
  }
8262
8276
  this.lastOverRenderable = this.capturedRenderable;
8263
8277
  this.lastOverRenderableNum = this.capturedRenderable.num;
8264
8278
  this.capturedRenderable = undefined;
8265
8279
  this.requestRender();
8266
8280
  }
8281
+ let event = undefined;
8267
8282
  if (maybeRenderable) {
8268
8283
  if (mouseEvent.type === "drag" && mouseEvent.button === 0 /* LEFT */) {
8269
8284
  this.capturedRenderable = maybeRenderable;
8270
8285
  } else {
8271
8286
  this.capturedRenderable = undefined;
8272
8287
  }
8273
- const event = new MouseEvent(maybeRenderable, mouseEvent);
8288
+ event = new MouseEvent(maybeRenderable, mouseEvent);
8274
8289
  maybeRenderable.processMouseEvent(event);
8275
- return true;
8290
+ } else {
8291
+ this.capturedRenderable = undefined;
8292
+ this.lastOverRenderable = undefined;
8293
+ }
8294
+ if (!event?.defaultPrevented && mouseEvent.type === "down" && this.currentSelection) {
8295
+ this.clearSelection();
8276
8296
  }
8277
- this.capturedRenderable = undefined;
8278
- this.lastOverRenderable = undefined;
8279
8297
  return true;
8280
8298
  }
8281
8299
  return false;
@@ -8673,11 +8691,10 @@ Error details:
8673
8691
  }
8674
8692
  requestSelectionUpdate() {
8675
8693
  if (this.currentSelection?.isSelecting) {
8676
- const lastMouseX = this.currentSelection.focus.x;
8677
- const lastMouseY = this.currentSelection.focus.y;
8678
- const maybeRenderableId = this.lib.checkHit(this.rendererPtr, lastMouseX, lastMouseY);
8694
+ const pointer = this._latestPointer;
8695
+ const maybeRenderableId = this.lib.checkHit(this.rendererPtr, pointer.x, pointer.y);
8679
8696
  const maybeRenderable = Renderable.renderablesByNumber.get(maybeRenderableId);
8680
- this.updateSelection(maybeRenderable, lastMouseX, lastMouseY);
8697
+ this.updateSelection(maybeRenderable, pointer.x, pointer.y);
8681
8698
  }
8682
8699
  }
8683
8700
  isWithinContainer(renderable, container) {
@@ -8729,5 +8746,5 @@ Error details:
8729
8746
 
8730
8747
  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, 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, tn, 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, ensureRenderable, wrapWithDelegates, instantiate, delegate, LayoutEvents, RenderableEvents, isValidPercentage, isMarginType, isPaddingType, isPositionType, isPositionTypeType, isOverflowType, isDimensionType, isFlexBasisType, isSizeType, isRenderable, Renderable, RootRenderable, capture, ConsolePosition, TerminalConsole, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, CliRenderer };
8731
8748
 
8732
- //# debugId=4847DC8F7CFD610964756E2164756E21
8733
- //# sourceMappingURL=index-sw194bbj.js.map
8749
+ //# debugId=7F86A4475F17242C64756E2164756E21
8750
+ //# sourceMappingURL=index-vg0fxf54.js.map