@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 +1 -1
- package/{index-sw194bbj.js → index-vg0fxf54.js} +47 -30
- package/{index-sw194bbj.js.map → index-vg0fxf54.js.map} +4 -4
- package/index.js +7 -2
- package/index.js.map +5 -5
- package/package.json +7 -7
- package/renderer.d.ts +4 -0
package/3d.js
CHANGED
|
@@ -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
|
|
8189
|
-
maybeRenderable2.processMouseEvent(
|
|
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
|
|
8201
|
-
maybeRenderable.processMouseEvent(
|
|
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
|
|
8209
|
-
maybeRenderable.processMouseEvent(
|
|
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
|
|
8216
|
-
maybeRenderable.processMouseEvent(
|
|
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
|
|
8233
|
-
this.lastOverRenderable.processMouseEvent(
|
|
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
|
|
8251
|
+
const event2 = new MouseEvent(maybeRenderable, {
|
|
8238
8252
|
...mouseEvent,
|
|
8239
8253
|
type: "over",
|
|
8240
8254
|
source: this.capturedRenderable
|
|
8241
8255
|
});
|
|
8242
|
-
maybeRenderable.processMouseEvent(
|
|
8256
|
+
maybeRenderable.processMouseEvent(event2);
|
|
8243
8257
|
}
|
|
8244
8258
|
}
|
|
8245
8259
|
if (this.capturedRenderable && mouseEvent.type !== "up") {
|
|
8246
|
-
const
|
|
8247
|
-
this.capturedRenderable.processMouseEvent(
|
|
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
|
|
8252
|
-
this.capturedRenderable.processMouseEvent(
|
|
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
|
|
8269
|
+
const event3 = new MouseEvent(maybeRenderable, {
|
|
8256
8270
|
...mouseEvent,
|
|
8257
8271
|
type: "drop",
|
|
8258
8272
|
source: this.capturedRenderable
|
|
8259
8273
|
});
|
|
8260
|
-
maybeRenderable.processMouseEvent(
|
|
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
|
-
|
|
8288
|
+
event = new MouseEvent(maybeRenderable, mouseEvent);
|
|
8274
8289
|
maybeRenderable.processMouseEvent(event);
|
|
8275
|
-
|
|
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
|
|
8677
|
-
const
|
|
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,
|
|
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=
|
|
8733
|
-
//# sourceMappingURL=index-
|
|
8749
|
+
//# debugId=7F86A4475F17242C64756E2164756E21
|
|
8750
|
+
//# sourceMappingURL=index-vg0fxf54.js.map
|