@opentui/core 0.4.1 → 0.4.3
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/Renderable.d.ts +2 -7
- package/{index-pcvh9d34.js → index-d5xqskty.js} +194 -71
- package/index-d5xqskty.js.map +58 -0
- package/{index-07zpr2dg.js → index-xt9f071j.js} +163 -176
- package/index-xt9f071j.js.map +32 -0
- package/index.js +62 -33
- package/index.js.map +7 -7
- package/lib/clipboard.d.ts +2 -3
- package/lib/index.d.ts +1 -0
- package/package.json +10 -10
- package/renderables/EditBufferRenderable.d.ts +2 -1
- package/renderables/LineNumberRenderable.d.ts +2 -2
- package/renderables/ScrollBox.d.ts +3 -2
- package/renderables/Select.d.ts +5 -0
- package/renderables/Text.d.ts +1 -1
- package/renderables/TextBufferRenderable.d.ts +3 -2
- package/renderables/TextNode.d.ts +2 -1
- package/testing.js +4 -3
- package/testing.js.map +3 -3
- package/types.d.ts +2 -0
- package/yoga.d.ts +1 -4
- package/yoga.js +1 -1
- package/zig-structs.d.ts +8 -4
- package/zig.d.ts +18 -4
- package/index-07zpr2dg.js.map +0 -33
- package/index-pcvh9d34.js.map +0 -57
package/Renderable.d.ts
CHANGED
|
@@ -10,8 +10,6 @@ import type { RenderContext } from "./types.js";
|
|
|
10
10
|
declare const BrandedRenderable: unique symbol;
|
|
11
11
|
export declare enum LayoutEvents {
|
|
12
12
|
LAYOUT_CHANGED = "layout-changed",
|
|
13
|
-
ADDED = "added",
|
|
14
|
-
REMOVED = "removed",
|
|
15
13
|
RESIZED = "resized"
|
|
16
14
|
}
|
|
17
15
|
export declare enum RenderableEvents {
|
|
@@ -98,7 +96,7 @@ export declare abstract class BaseRenderable extends EventEmitter {
|
|
|
98
96
|
protected _visible: boolean;
|
|
99
97
|
constructor(options: BaseRenderableOptions);
|
|
100
98
|
abstract add(obj: BaseRenderable | unknown, index?: number): number;
|
|
101
|
-
abstract remove(
|
|
99
|
+
abstract remove(child: BaseRenderable): void;
|
|
102
100
|
abstract insertBefore(obj: BaseRenderable | unknown, anchor: BaseRenderable | unknown): void;
|
|
103
101
|
abstract getChildren(): BaseRenderable[];
|
|
104
102
|
abstract getChildrenCount(): number;
|
|
@@ -151,7 +149,6 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
151
149
|
protected _position: Position;
|
|
152
150
|
protected _opacity: number;
|
|
153
151
|
private _flexShrink;
|
|
154
|
-
private renderableMapById;
|
|
155
152
|
protected _childrenInLayoutOrder: Renderable[];
|
|
156
153
|
protected _childrenInZIndexOrder: Renderable[];
|
|
157
154
|
private needsZIndexSort;
|
|
@@ -164,8 +161,6 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
164
161
|
renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
165
162
|
renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
166
163
|
constructor(ctx: RenderContext, options: RenderableOptions<any>);
|
|
167
|
-
get id(): string;
|
|
168
|
-
set id(value: string);
|
|
169
164
|
get focusable(): boolean;
|
|
170
165
|
set focusable(value: boolean);
|
|
171
166
|
get ctx(): RenderContext;
|
|
@@ -267,7 +262,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
267
262
|
add(obj: Renderable | VNode<any, any[]> | unknown, index?: number): number;
|
|
268
263
|
insertBefore(obj: Renderable | VNode<any, any[]> | unknown, anchor?: Renderable | unknown): number;
|
|
269
264
|
getRenderable(id: string): Renderable | undefined;
|
|
270
|
-
remove(
|
|
265
|
+
remove(child: BaseRenderable): void;
|
|
271
266
|
protected onRemove(): void;
|
|
272
267
|
getChildren(): Renderable[];
|
|
273
268
|
getChildrenCount(): number;
|
|
@@ -351,7 +351,7 @@ function createNodeBackend(nodeFfi) {
|
|
|
351
351
|
let closed = false;
|
|
352
352
|
let libraryClosed = false;
|
|
353
353
|
return {
|
|
354
|
-
symbols: wrapNodeSymbols(functions, symbols
|
|
354
|
+
symbols: wrapNodeSymbols(functions, symbols),
|
|
355
355
|
createCallback(callback, definition) {
|
|
356
356
|
if (closed) {
|
|
357
357
|
throw new Error(LIBRARY_CLOSED);
|
|
@@ -402,10 +402,10 @@ function toNodeLibraryPath(path) {
|
|
|
402
402
|
function normalizeNodeDefinitions(definitions) {
|
|
403
403
|
return Object.fromEntries(Object.entries(definitions).map(([name, definition]) => [name, normalizeNodeDefinition(definition)]));
|
|
404
404
|
}
|
|
405
|
-
function wrapNodeSymbols(functions, definitions
|
|
406
|
-
return Object.fromEntries(Object.entries(functions).map(([name, fn]) => [name, wrapNodeSymbol(fn, definitions[name]
|
|
405
|
+
function wrapNodeSymbols(functions, definitions) {
|
|
406
|
+
return Object.fromEntries(Object.entries(functions).map(([name, fn]) => [name, wrapNodeSymbol(fn, definitions[name])]));
|
|
407
407
|
}
|
|
408
|
-
function wrapNodeSymbol(fn, definition
|
|
408
|
+
function wrapNodeSymbol(fn, definition) {
|
|
409
409
|
const pointerArgIndexes = (definition.args ?? []).flatMap((type, index) => isNodePointerArgumentType(type) ? [index] : []);
|
|
410
410
|
if (pointerArgIndexes.length === 0) {
|
|
411
411
|
return fn;
|
|
@@ -413,7 +413,7 @@ function wrapNodeSymbol(fn, definition, nodeFfi) {
|
|
|
413
413
|
return (...args) => {
|
|
414
414
|
const normalizedArgs = args.slice();
|
|
415
415
|
for (const index of pointerArgIndexes) {
|
|
416
|
-
normalizedArgs[index] = toNodePointerArgument(
|
|
416
|
+
normalizedArgs[index] = toNodePointerArgument(normalizedArgs[index]);
|
|
417
417
|
}
|
|
418
418
|
return fn(...normalizedArgs);
|
|
419
419
|
};
|
|
@@ -421,7 +421,7 @@ function wrapNodeSymbol(fn, definition, nodeFfi) {
|
|
|
421
421
|
function isNodePointerArgumentType(type) {
|
|
422
422
|
return type === FFIType.ptr || type === FFIType.pointer || type === FFIType.function || type === FFIType.callback;
|
|
423
423
|
}
|
|
424
|
-
function toNodePointerArgument(
|
|
424
|
+
function toNodePointerArgument(value) {
|
|
425
425
|
if (value == null) {
|
|
426
426
|
return 0n;
|
|
427
427
|
}
|
|
@@ -429,16 +429,19 @@ function toNodePointerArgument(nodeFfi, value) {
|
|
|
429
429
|
return toBigIntPointer(value);
|
|
430
430
|
}
|
|
431
431
|
if (ArrayBuffer.isView(value)) {
|
|
432
|
+
if (!(value.buffer instanceof ArrayBuffer)) {
|
|
433
|
+
throw new TypeError(NODE_PTR_VALUE);
|
|
434
|
+
}
|
|
432
435
|
if (value.byteLength === 0) {
|
|
433
436
|
return 0n;
|
|
434
437
|
}
|
|
435
|
-
return
|
|
438
|
+
return value;
|
|
436
439
|
}
|
|
437
440
|
if (value instanceof ArrayBuffer) {
|
|
438
441
|
if (value.byteLength === 0) {
|
|
439
442
|
return 0n;
|
|
440
443
|
}
|
|
441
|
-
return
|
|
444
|
+
return value;
|
|
442
445
|
}
|
|
443
446
|
throw new TypeError(NODE_POINTER_ARGUMENT);
|
|
444
447
|
}
|
|
@@ -10235,6 +10238,40 @@ function decodePasteBytes(bytes) {
|
|
|
10235
10238
|
function stripAnsiSequences(text) {
|
|
10236
10239
|
return stripANSI(text);
|
|
10237
10240
|
}
|
|
10241
|
+
// src/lib/clipboard.ts
|
|
10242
|
+
var ClipboardTarget;
|
|
10243
|
+
((ClipboardTarget2) => {
|
|
10244
|
+
ClipboardTarget2[ClipboardTarget2["Clipboard"] = 0] = "Clipboard";
|
|
10245
|
+
ClipboardTarget2[ClipboardTarget2["Primary"] = 1] = "Primary";
|
|
10246
|
+
ClipboardTarget2[ClipboardTarget2["Select"] = 2] = "Select";
|
|
10247
|
+
ClipboardTarget2[ClipboardTarget2["Secondary"] = 3] = "Secondary";
|
|
10248
|
+
})(ClipboardTarget ||= {});
|
|
10249
|
+
|
|
10250
|
+
class Clipboard {
|
|
10251
|
+
lib;
|
|
10252
|
+
rendererPtr;
|
|
10253
|
+
constructor(lib, rendererPtr) {
|
|
10254
|
+
this.lib = lib;
|
|
10255
|
+
this.rendererPtr = rendererPtr;
|
|
10256
|
+
}
|
|
10257
|
+
copyToClipboardOSC52(text, target = 0 /* Clipboard */) {
|
|
10258
|
+
if (!this.isOsc52Supported()) {
|
|
10259
|
+
return false;
|
|
10260
|
+
}
|
|
10261
|
+
const textUtf8 = this.lib.encoder.encode(text);
|
|
10262
|
+
return this.lib.copyToClipboardOSC52(this.rendererPtr, target, textUtf8);
|
|
10263
|
+
}
|
|
10264
|
+
clearClipboardOSC52(target = 0 /* Clipboard */) {
|
|
10265
|
+
if (!this.isOsc52Supported()) {
|
|
10266
|
+
return false;
|
|
10267
|
+
}
|
|
10268
|
+
return this.lib.clearClipboardOSC52(this.rendererPtr, target);
|
|
10269
|
+
}
|
|
10270
|
+
isOsc52Supported() {
|
|
10271
|
+
const caps = this.lib.getTerminalCapabilities(this.rendererPtr);
|
|
10272
|
+
return caps?.osc52_support !== "unsupported";
|
|
10273
|
+
}
|
|
10274
|
+
}
|
|
10238
10275
|
// src/lib/detect-links.ts
|
|
10239
10276
|
var URL_SCOPES = ["markup.link.url", "string.special.url"];
|
|
10240
10277
|
function detectLinks(chunks, context) {
|
|
@@ -10784,7 +10821,7 @@ class TextBuffer {
|
|
|
10784
10821
|
}
|
|
10785
10822
|
}
|
|
10786
10823
|
|
|
10787
|
-
// ../../node_modules/.bun/bun-ffi-structs@0.2.
|
|
10824
|
+
// ../../node_modules/.bun/bun-ffi-structs@0.2.4+1fb4c65d43e298b9/node_modules/bun-ffi-structs/dist/index.js
|
|
10788
10825
|
var FFI_LOAD_ERROR = "bun-ffi-structs requires Bun or Node.js with node:ffi enabled (--experimental-ffi --allow-ffi).";
|
|
10789
10826
|
var backend2 = await loadBackend2();
|
|
10790
10827
|
function unavailable2(cause) {
|
|
@@ -11034,6 +11071,20 @@ function defineStruct(fields, structDefOptions) {
|
|
|
11034
11071
|
size = typeSizes[typeOrStruct];
|
|
11035
11072
|
align = typeAlignments[typeOrStruct];
|
|
11036
11073
|
({ pack, unpack } = primitivePackers(typeOrStruct));
|
|
11074
|
+
if (typeOrStruct === "pointer") {
|
|
11075
|
+
pack = (view, off, val) => {
|
|
11076
|
+
if (val instanceof ArrayBuffer || ArrayBuffer.isView(val)) {
|
|
11077
|
+
if (val.byteLength === 0) {
|
|
11078
|
+
pointerPacker(view, off, null);
|
|
11079
|
+
return;
|
|
11080
|
+
}
|
|
11081
|
+
pointerPacker(view, off, ptr2(val));
|
|
11082
|
+
retainPointerTarget(view.buffer, val);
|
|
11083
|
+
return;
|
|
11084
|
+
}
|
|
11085
|
+
pointerPacker(view, off, val);
|
|
11086
|
+
};
|
|
11087
|
+
}
|
|
11037
11088
|
} else if (typeof typeOrStruct === "string" && typeOrStruct === "cstring") {
|
|
11038
11089
|
size = pointerSize;
|
|
11039
11090
|
align = pointerSize;
|
|
@@ -11507,7 +11558,7 @@ function defineStruct(fields, structDefOptions) {
|
|
|
11507
11558
|
}
|
|
11508
11559
|
|
|
11509
11560
|
// src/zig-structs.ts
|
|
11510
|
-
var rgbaPackTransform = (rgba) => rgba
|
|
11561
|
+
var rgbaPackTransform = (rgba) => rgba?.buffer ?? null;
|
|
11511
11562
|
var rgbaUnpackTransform = (ptr3) => ptr3 ? RGBA.fromArray(new Uint16Array(toArrayBuffer(ptr3, 0, 8))) : undefined;
|
|
11512
11563
|
var StyledChunkStruct = defineStruct([
|
|
11513
11564
|
["text", "char*"],
|
|
@@ -11573,6 +11624,7 @@ var VisualCursorStruct = defineStruct([
|
|
|
11573
11624
|
]);
|
|
11574
11625
|
var UnicodeMethodEnum = defineEnum({ wcwidth: 0, unicode: 1 }, "u8");
|
|
11575
11626
|
var TerminalMultiplexerEnum = defineEnum({ none: 0, tmux: 1, zellij: 2, screen: 3, unknown: 4 }, "u8");
|
|
11627
|
+
var Osc52SupportEnum = defineEnum({ unknown: 0, supported: 1, unsupported: 2 }, "u8");
|
|
11576
11628
|
var TerminalCapabilitiesStruct = defineStruct([
|
|
11577
11629
|
["kitty_keyboard", "bool_u8"],
|
|
11578
11630
|
["kitty_graphics", "bool_u8"],
|
|
@@ -11597,7 +11649,8 @@ var TerminalCapabilitiesStruct = defineStruct([
|
|
|
11597
11649
|
["term_name_len", "u64", { lengthOf: "term_name" }],
|
|
11598
11650
|
["term_version", "char*"],
|
|
11599
11651
|
["term_version_len", "u64", { lengthOf: "term_version" }],
|
|
11600
|
-
["term_from_xtversion", "bool_u8"]
|
|
11652
|
+
["term_from_xtversion", "bool_u8"],
|
|
11653
|
+
["osc52_support", Osc52SupportEnum]
|
|
11601
11654
|
]);
|
|
11602
11655
|
var EncodedCharStruct = defineStruct([
|
|
11603
11656
|
["width", "u8"],
|
|
@@ -11882,6 +11935,22 @@ function getOpenTUILib(libPath) {
|
|
|
11882
11935
|
args: ["u32"],
|
|
11883
11936
|
returns: "void"
|
|
11884
11937
|
},
|
|
11938
|
+
createNativeRenderable: {
|
|
11939
|
+
args: [],
|
|
11940
|
+
returns: "u32"
|
|
11941
|
+
},
|
|
11942
|
+
destroyNativeRenderable: {
|
|
11943
|
+
args: ["u32"],
|
|
11944
|
+
returns: "void"
|
|
11945
|
+
},
|
|
11946
|
+
nativeRenderableAttachYogaNode: {
|
|
11947
|
+
args: ["u32", "ptr"],
|
|
11948
|
+
returns: "bool"
|
|
11949
|
+
},
|
|
11950
|
+
nativeRenderableSetMeasureTarget: {
|
|
11951
|
+
args: ["u32", "u32", "u32"],
|
|
11952
|
+
returns: "bool"
|
|
11953
|
+
},
|
|
11885
11954
|
createRenderer: {
|
|
11886
11955
|
args: ["u32", "u32", "u8", "u8", "ptr"],
|
|
11887
11956
|
returns: "u32"
|
|
@@ -13015,7 +13084,7 @@ function getOpenTUILib(libPath) {
|
|
|
13015
13084
|
returns: "u64"
|
|
13016
13085
|
},
|
|
13017
13086
|
yogaNodeSetMeasureFunc: {
|
|
13018
|
-
args: ["ptr", "
|
|
13087
|
+
args: ["ptr", "bool"],
|
|
13019
13088
|
returns: "void"
|
|
13020
13089
|
},
|
|
13021
13090
|
yogaNodeUnsetMeasureFunc: {
|
|
@@ -13027,7 +13096,7 @@ function getOpenTUILib(libPath) {
|
|
|
13027
13096
|
returns: "bool"
|
|
13028
13097
|
},
|
|
13029
13098
|
yogaNodeSetDirtiedFunc: {
|
|
13030
|
-
args: ["ptr", "
|
|
13099
|
+
args: ["ptr", "bool"],
|
|
13031
13100
|
returns: "void"
|
|
13032
13101
|
},
|
|
13033
13102
|
yogaNodeUnsetDirtiedFunc: {
|
|
@@ -13038,6 +13107,14 @@ function getOpenTUILib(libPath) {
|
|
|
13038
13107
|
args: ["f32", "f32"],
|
|
13039
13108
|
returns: "void"
|
|
13040
13109
|
},
|
|
13110
|
+
yogaSetMeasureCallback: {
|
|
13111
|
+
args: ["ptr"],
|
|
13112
|
+
returns: "void"
|
|
13113
|
+
},
|
|
13114
|
+
yogaSetDirtiedCallback: {
|
|
13115
|
+
args: ["ptr"],
|
|
13116
|
+
returns: "void"
|
|
13117
|
+
},
|
|
13041
13118
|
createAudioEngine: {
|
|
13042
13119
|
args: ["ptr"],
|
|
13043
13120
|
returns: "u32"
|
|
@@ -13328,6 +13405,11 @@ var LogLevel2;
|
|
|
13328
13405
|
LogLevel3[LogLevel3["Info"] = 2] = "Info";
|
|
13329
13406
|
LogLevel3[LogLevel3["Debug"] = 3] = "Debug";
|
|
13330
13407
|
})(LogLevel2 ||= {});
|
|
13408
|
+
var NativeMeasureTargetKind = {
|
|
13409
|
+
None: 0,
|
|
13410
|
+
TextBufferView: 1,
|
|
13411
|
+
EditorView: 2
|
|
13412
|
+
};
|
|
13331
13413
|
|
|
13332
13414
|
class FFIRenderLib {
|
|
13333
13415
|
opentui;
|
|
@@ -13340,6 +13422,21 @@ class FFIRenderLib {
|
|
|
13340
13422
|
_anyEventHandlers = [];
|
|
13341
13423
|
nativeSpanFeedCallbackWrapper = null;
|
|
13342
13424
|
nativeSpanFeedHandlers = new Map;
|
|
13425
|
+
createNativeRenderable() {
|
|
13426
|
+
const handle = this.opentui.symbols.createNativeRenderable();
|
|
13427
|
+
if (!handle)
|
|
13428
|
+
throw new Error("Failed to create native renderable");
|
|
13429
|
+
return handle;
|
|
13430
|
+
}
|
|
13431
|
+
destroyNativeRenderable(handle) {
|
|
13432
|
+
this.opentui.symbols.destroyNativeRenderable(handle);
|
|
13433
|
+
}
|
|
13434
|
+
nativeRenderableAttachYogaNode(handle, node) {
|
|
13435
|
+
return Boolean(this.opentui.symbols.nativeRenderableAttachYogaNode(handle, node));
|
|
13436
|
+
}
|
|
13437
|
+
nativeRenderableSetMeasureTarget(handle, kind, target) {
|
|
13438
|
+
return Boolean(this.opentui.symbols.nativeRenderableSetMeasureTarget(handle, kind, target));
|
|
13439
|
+
}
|
|
13343
13440
|
constructor(libPath) {
|
|
13344
13441
|
this.opentui = getOpenTUILib(libPath);
|
|
13345
13442
|
try {
|
|
@@ -13400,6 +13497,8 @@ class FFIRenderLib {
|
|
|
13400
13497
|
this.opentui.symbols.destroyEventSink(this.eventSinkPtr);
|
|
13401
13498
|
this.eventSinkPtr = null;
|
|
13402
13499
|
}
|
|
13500
|
+
this.yogaSetMeasureCallback(null);
|
|
13501
|
+
this.yogaSetDirtiedCallback(null);
|
|
13403
13502
|
this.setLogCallback(null);
|
|
13404
13503
|
} finally {
|
|
13405
13504
|
try {
|
|
@@ -13710,7 +13809,7 @@ class FFIRenderLib {
|
|
|
13710
13809
|
const blinking = options.blinking != null ? options.blinking ? 1 : 0 : 255;
|
|
13711
13810
|
const cursor = options.cursor != null ? MOUSE_STYLE_TO_ID[options.cursor] : 255;
|
|
13712
13811
|
const buffer = CursorStyleOptionsStruct.pack({ style, blinking, color: options.color, cursor });
|
|
13713
|
-
this.opentui.symbols.setCursorStyleOptions(renderer,
|
|
13812
|
+
this.opentui.symbols.setCursorStyleOptions(renderer, buffer);
|
|
13714
13813
|
}
|
|
13715
13814
|
render(renderer, force) {
|
|
13716
13815
|
return this.opentui.symbols.render(renderer, ffiBool(force));
|
|
@@ -13761,8 +13860,10 @@ class FFIRenderLib {
|
|
|
13761
13860
|
const titleBytes = this.encoder.encode(title);
|
|
13762
13861
|
this.opentui.symbols.setTerminalTitle(renderer, ptrOrNull(titleBytes), titleBytes.byteLength);
|
|
13763
13862
|
}
|
|
13764
|
-
copyToClipboardOSC52(renderer, target,
|
|
13765
|
-
|
|
13863
|
+
copyToClipboardOSC52(renderer, target, textUtf8) {
|
|
13864
|
+
if (textUtf8.byteLength > 4294967295)
|
|
13865
|
+
return false;
|
|
13866
|
+
return Boolean(this.opentui.symbols.copyToClipboardOSC52(renderer, target, ptrOrNull(textUtf8), textUtf8.byteLength));
|
|
13766
13867
|
}
|
|
13767
13868
|
clearClipboardOSC52(renderer, target) {
|
|
13768
13869
|
return Boolean(this.opentui.symbols.clearClipboardOSC52(renderer, target));
|
|
@@ -13996,17 +14097,17 @@ class FFIRenderLib {
|
|
|
13996
14097
|
yogaNodeStyleGetValue(node, kind, edgeOrGutter) {
|
|
13997
14098
|
return this.opentui.symbols.yogaNodeStyleGetValue(node, kind, edgeOrGutter);
|
|
13998
14099
|
}
|
|
13999
|
-
yogaNodeSetMeasureFunc(node,
|
|
14000
|
-
this.opentui.symbols.yogaNodeSetMeasureFunc(node,
|
|
14100
|
+
yogaNodeSetMeasureFunc(node, enabled) {
|
|
14101
|
+
this.opentui.symbols.yogaNodeSetMeasureFunc(node, ffiBool(enabled));
|
|
14001
14102
|
}
|
|
14002
14103
|
yogaNodeUnsetMeasureFunc(node) {
|
|
14003
14104
|
this.opentui.symbols.yogaNodeUnsetMeasureFunc(node);
|
|
14004
14105
|
}
|
|
14005
14106
|
yogaNodeHasMeasureFunc(node) {
|
|
14006
|
-
return this.opentui.symbols.yogaNodeHasMeasureFunc(node);
|
|
14107
|
+
return Boolean(this.opentui.symbols.yogaNodeHasMeasureFunc(node));
|
|
14007
14108
|
}
|
|
14008
|
-
yogaNodeSetDirtiedFunc(node,
|
|
14009
|
-
this.opentui.symbols.yogaNodeSetDirtiedFunc(node,
|
|
14109
|
+
yogaNodeSetDirtiedFunc(node, enabled) {
|
|
14110
|
+
this.opentui.symbols.yogaNodeSetDirtiedFunc(node, ffiBool(enabled));
|
|
14010
14111
|
}
|
|
14011
14112
|
yogaNodeUnsetDirtiedFunc(node) {
|
|
14012
14113
|
this.opentui.symbols.yogaNodeUnsetDirtiedFunc(node);
|
|
@@ -14014,6 +14115,12 @@ class FFIRenderLib {
|
|
|
14014
14115
|
yogaStoreMeasureResult(width, height) {
|
|
14015
14116
|
this.opentui.symbols.yogaStoreMeasureResult(width, height);
|
|
14016
14117
|
}
|
|
14118
|
+
yogaSetMeasureCallback(callback) {
|
|
14119
|
+
this.opentui.symbols.yogaSetMeasureCallback(callback);
|
|
14120
|
+
}
|
|
14121
|
+
yogaSetDirtiedCallback(callback) {
|
|
14122
|
+
this.opentui.symbols.yogaSetDirtiedCallback(callback);
|
|
14123
|
+
}
|
|
14017
14124
|
createYogaMeasureCallback(callback) {
|
|
14018
14125
|
return this.opentui.createCallback(callback, {
|
|
14019
14126
|
args: ["ptr", "f32", "u32", "f32", "u32"],
|
|
@@ -14022,7 +14129,7 @@ class FFIRenderLib {
|
|
|
14022
14129
|
}
|
|
14023
14130
|
createYogaDirtiedCallback(callback) {
|
|
14024
14131
|
return this.opentui.createCallback(callback, {
|
|
14025
|
-
args: [],
|
|
14132
|
+
args: ["ptr"],
|
|
14026
14133
|
returns: "void"
|
|
14027
14134
|
});
|
|
14028
14135
|
}
|
|
@@ -14102,7 +14209,7 @@ class FFIRenderLib {
|
|
|
14102
14209
|
return;
|
|
14103
14210
|
}
|
|
14104
14211
|
const chunksBuffer = StyledChunkStruct.packList(chunks);
|
|
14105
|
-
this.opentui.symbols.textBufferSetStyledText(buffer,
|
|
14212
|
+
this.opentui.symbols.textBufferSetStyledText(buffer, chunksBuffer, chunks.length);
|
|
14106
14213
|
}
|
|
14107
14214
|
textBufferGetLineCount(buffer) {
|
|
14108
14215
|
return this.opentui.symbols.textBufferGetLineCount(buffer);
|
|
@@ -14733,6 +14840,7 @@ class FFIRenderLib {
|
|
|
14733
14840
|
bracketed_paste: caps.bracketed_paste,
|
|
14734
14841
|
hyperlinks: caps.hyperlinks,
|
|
14735
14842
|
osc52: caps.osc52,
|
|
14843
|
+
osc52_support: caps.osc52_support,
|
|
14736
14844
|
notifications: caps.notifications,
|
|
14737
14845
|
explicit_cursor_positioning: caps.explicit_cursor_positioning,
|
|
14738
14846
|
remote: caps.remote,
|
|
@@ -14989,7 +15097,7 @@ class FFIRenderLib {
|
|
|
14989
15097
|
return;
|
|
14990
15098
|
}
|
|
14991
15099
|
const chunksBuffer = StyledChunkStruct.packList(nonEmptyChunks);
|
|
14992
|
-
this.opentui.symbols.editorViewSetPlaceholderStyledText(view,
|
|
15100
|
+
this.opentui.symbols.editorViewSetPlaceholderStyledText(view, chunksBuffer, nonEmptyChunks.length);
|
|
14993
15101
|
}
|
|
14994
15102
|
editorViewSetTabIndicator(view, indicator) {
|
|
14995
15103
|
this.opentui.symbols.editorViewSetTabIndicator(view, indicator);
|
|
@@ -15278,11 +15386,52 @@ var YogaEdgeLayoutKind = {
|
|
|
15278
15386
|
};
|
|
15279
15387
|
var UNDEFINED_VALUE = { unit: 0 /* Undefined */, value: NaN };
|
|
15280
15388
|
var nodeRegistry = new Map;
|
|
15389
|
+
var measureRegistry = new Map;
|
|
15390
|
+
var dirtiedRegistry = new Map;
|
|
15391
|
+
var measureCallback = null;
|
|
15392
|
+
var measureCallbackLib = null;
|
|
15393
|
+
var dirtiedCallback = null;
|
|
15394
|
+
var dirtiedCallbackLib = null;
|
|
15281
15395
|
function lib() {
|
|
15282
15396
|
return resolveRenderLib();
|
|
15283
15397
|
}
|
|
15284
|
-
function
|
|
15285
|
-
|
|
15398
|
+
function ensureMeasureCallback() {
|
|
15399
|
+
const renderLib = lib();
|
|
15400
|
+
if (measureCallback?.ptr && measureCallbackLib === renderLib)
|
|
15401
|
+
return;
|
|
15402
|
+
const callback = (node, width, widthMode, height, heightMode) => {
|
|
15403
|
+
const measureFunc = node ? measureRegistry.get(node) : undefined;
|
|
15404
|
+
const result = measureFunc?.(width, widthMode, height, heightMode);
|
|
15405
|
+
renderLib.yogaStoreMeasureResult(result?.width ?? NaN, result?.height ?? NaN);
|
|
15406
|
+
};
|
|
15407
|
+
measureCallback = renderLib.createYogaMeasureCallback(callback);
|
|
15408
|
+
if (!measureCallback.ptr) {
|
|
15409
|
+
measureCallback.close();
|
|
15410
|
+
measureCallback = null;
|
|
15411
|
+
throw new Error("Failed to create Yoga measure callback");
|
|
15412
|
+
}
|
|
15413
|
+
renderLib.yogaSetMeasureCallback(measureCallback.ptr);
|
|
15414
|
+
measureCallbackLib = renderLib;
|
|
15415
|
+
}
|
|
15416
|
+
function ensureDirtiedCallback() {
|
|
15417
|
+
const renderLib = lib();
|
|
15418
|
+
if (dirtiedCallback?.ptr && dirtiedCallbackLib === renderLib)
|
|
15419
|
+
return;
|
|
15420
|
+
const callback = (node) => {
|
|
15421
|
+
if (!node)
|
|
15422
|
+
return;
|
|
15423
|
+
const registration = dirtiedRegistry.get(node);
|
|
15424
|
+
if (registration)
|
|
15425
|
+
registration.callback(registration.node);
|
|
15426
|
+
};
|
|
15427
|
+
dirtiedCallback = renderLib.createYogaDirtiedCallback(callback);
|
|
15428
|
+
if (!dirtiedCallback.ptr) {
|
|
15429
|
+
dirtiedCallback.close();
|
|
15430
|
+
dirtiedCallback = null;
|
|
15431
|
+
throw new Error("Failed to create Yoga dirtied callback");
|
|
15432
|
+
}
|
|
15433
|
+
renderLib.yogaSetDirtiedCallback(dirtiedCallback.ptr);
|
|
15434
|
+
dirtiedCallbackLib = renderLib;
|
|
15286
15435
|
}
|
|
15287
15436
|
function isValueObject(value) {
|
|
15288
15437
|
return typeof value === "object" && value !== null && "unit" in value && "value" in value;
|
|
@@ -15385,11 +15534,9 @@ class Config {
|
|
|
15385
15534
|
class Node {
|
|
15386
15535
|
ptr;
|
|
15387
15536
|
freed = false;
|
|
15388
|
-
measureCallback = null;
|
|
15389
|
-
dirtiedCallback = null;
|
|
15390
15537
|
constructor(ptr3) {
|
|
15391
15538
|
this.ptr = ptr3;
|
|
15392
|
-
nodeRegistry.set(
|
|
15539
|
+
nodeRegistry.set(ptr3, this);
|
|
15393
15540
|
}
|
|
15394
15541
|
static create(config) {
|
|
15395
15542
|
return Node.fromPointer(config ? lib().yogaNodeCreateWithConfig(config.ptr) : lib().yogaNodeCreate());
|
|
@@ -15407,8 +15554,7 @@ class Node {
|
|
|
15407
15554
|
node.free();
|
|
15408
15555
|
}
|
|
15409
15556
|
static fromPointer(ptr3) {
|
|
15410
|
-
const
|
|
15411
|
-
const existing = nodeRegistry.get(key);
|
|
15557
|
+
const existing = nodeRegistry.get(ptr3);
|
|
15412
15558
|
if (existing)
|
|
15413
15559
|
return existing;
|
|
15414
15560
|
return new Node(ptr3);
|
|
@@ -15429,8 +15575,7 @@ class Node {
|
|
|
15429
15575
|
return;
|
|
15430
15576
|
const nodes = this.collectSubtree([]);
|
|
15431
15577
|
for (const node of nodes) {
|
|
15432
|
-
node.
|
|
15433
|
-
node.closeDirtiedCallback();
|
|
15578
|
+
node.unregisterCallbacks();
|
|
15434
15579
|
}
|
|
15435
15580
|
lib().yogaNodeFreeRecursive(this.ptr);
|
|
15436
15581
|
for (const node of nodes) {
|
|
@@ -15784,23 +15929,15 @@ class Node {
|
|
|
15784
15929
|
this.unsetMeasureFunc();
|
|
15785
15930
|
if (!measureFunc)
|
|
15786
15931
|
return;
|
|
15787
|
-
|
|
15788
|
-
|
|
15789
|
-
|
|
15790
|
-
};
|
|
15791
|
-
this.measureCallback = lib().createYogaMeasureCallback(callback);
|
|
15792
|
-
if (!this.measureCallback.ptr) {
|
|
15793
|
-
this.measureCallback.close();
|
|
15794
|
-
this.measureCallback = null;
|
|
15795
|
-
throw new Error("Failed to create Yoga measure callback");
|
|
15796
|
-
}
|
|
15797
|
-
lib().yogaNodeSetMeasureFunc(this.ptr, this.measureCallback.ptr);
|
|
15932
|
+
ensureMeasureCallback();
|
|
15933
|
+
measureRegistry.set(this.ptr, measureFunc);
|
|
15934
|
+
lib().yogaNodeSetMeasureFunc(this.ptr, true);
|
|
15798
15935
|
}
|
|
15799
15936
|
unsetMeasureFunc() {
|
|
15800
15937
|
if (this.freed)
|
|
15801
15938
|
return;
|
|
15802
15939
|
lib().yogaNodeUnsetMeasureFunc(this.ptr);
|
|
15803
|
-
this.
|
|
15940
|
+
measureRegistry.delete(this.ptr);
|
|
15804
15941
|
}
|
|
15805
15942
|
hasMeasureFunc() {
|
|
15806
15943
|
if (this.freed)
|
|
@@ -15813,22 +15950,15 @@ class Node {
|
|
|
15813
15950
|
this.unsetDirtiedFunc();
|
|
15814
15951
|
if (!dirtiedFunc)
|
|
15815
15952
|
return;
|
|
15816
|
-
|
|
15817
|
-
|
|
15818
|
-
|
|
15819
|
-
this.dirtiedCallback = lib().createYogaDirtiedCallback(callback);
|
|
15820
|
-
if (!this.dirtiedCallback.ptr) {
|
|
15821
|
-
this.dirtiedCallback.close();
|
|
15822
|
-
this.dirtiedCallback = null;
|
|
15823
|
-
throw new Error("Failed to create Yoga dirtied callback");
|
|
15824
|
-
}
|
|
15825
|
-
lib().yogaNodeSetDirtiedFunc(this.ptr, this.dirtiedCallback.ptr);
|
|
15953
|
+
ensureDirtiedCallback();
|
|
15954
|
+
dirtiedRegistry.set(this.ptr, { node: this, callback: dirtiedFunc });
|
|
15955
|
+
lib().yogaNodeSetDirtiedFunc(this.ptr, true);
|
|
15826
15956
|
}
|
|
15827
15957
|
unsetDirtiedFunc() {
|
|
15828
15958
|
if (this.freed)
|
|
15829
15959
|
return;
|
|
15830
15960
|
lib().yogaNodeUnsetDirtiedFunc(this.ptr);
|
|
15831
|
-
this.
|
|
15961
|
+
dirtiedRegistry.delete(this.ptr);
|
|
15832
15962
|
}
|
|
15833
15963
|
setEnum(kind, value) {
|
|
15834
15964
|
if (this.freed)
|
|
@@ -15868,21 +15998,14 @@ class Node {
|
|
|
15868
15998
|
nodes.push(this);
|
|
15869
15999
|
return nodes;
|
|
15870
16000
|
}
|
|
15871
|
-
|
|
15872
|
-
|
|
15873
|
-
|
|
15874
|
-
this.measureCallback.close();
|
|
15875
|
-
this.measureCallback = null;
|
|
15876
|
-
}
|
|
15877
|
-
closeDirtiedCallback() {
|
|
15878
|
-
if (!this.dirtiedCallback)
|
|
15879
|
-
return;
|
|
15880
|
-
this.dirtiedCallback.close();
|
|
15881
|
-
this.dirtiedCallback = null;
|
|
16001
|
+
unregisterCallbacks() {
|
|
16002
|
+
measureRegistry.delete(this.ptr);
|
|
16003
|
+
dirtiedRegistry.delete(this.ptr);
|
|
15882
16004
|
}
|
|
15883
16005
|
markFreed() {
|
|
16006
|
+
this.unregisterCallbacks();
|
|
15884
16007
|
this.freed = true;
|
|
15885
|
-
nodeRegistry.delete(
|
|
16008
|
+
nodeRegistry.delete(this.ptr);
|
|
15886
16009
|
}
|
|
15887
16010
|
}
|
|
15888
16011
|
var Yoga = {
|
|
@@ -15981,7 +16104,7 @@ var Yoga = {
|
|
|
15981
16104
|
};
|
|
15982
16105
|
var yoga_default = Yoga;
|
|
15983
16106
|
|
|
15984
|
-
export { toArrayBuffer, sleep, stringWidth2 as stringWidth, DEFAULT_FOREGROUND_RGB, DEFAULT_BACKGROUND_RGB, normalizeIndexedColorIndex, ansi256IndexToRgb, RGBA, normalizeColorValue, hexToRgb, rgbToHex, hsvToRgb, parseColor, isValidBorderStyle, parseBorderStyle, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, ATTRIBUTE_BASE_BITS, ATTRIBUTE_BASE_MASK, getBaseAttributes, DebugOverlayCorner, TargetChannel, 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, SystemClock, nonAlphanumericKeys, terminalNamedSingleStrokeKeys, parseKeypress, LinearScrollAccel, MacOSScrollAccel, parseAlign, parseAlignItems, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, singleton, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, StdinParser, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extensionToFiletype, basenameToFiletype, extToFiletype, pathToFiletype, infoStringToFiletype, getTreeSitterClient, destroyTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, normalizeTerminalPalette, buildTerminalPaletteSignature, decodePasteBytes, stripAnsiSequences, detectLinks, OptimizedBuffer, TextBuffer, SpanInfoStruct, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, Align, BoxSizing, Dimension, Direction, Display, Edge, Errata, ExperimentalFeature, FlexDirection, Gutter, Justify, LogLevel as LogLevel1, MeasureMode, NodeType, Overflow, PositionType, Unit, Wrap, ALIGN_AUTO, ALIGN_FLEX_START, ALIGN_CENTER, ALIGN_FLEX_END, ALIGN_STRETCH, ALIGN_BASELINE, ALIGN_SPACE_BETWEEN, ALIGN_SPACE_AROUND, ALIGN_SPACE_EVENLY, BOX_SIZING_BORDER_BOX, BOX_SIZING_CONTENT_BOX, DIMENSION_WIDTH, DIMENSION_HEIGHT, DIRECTION_INHERIT, DIRECTION_LTR, DIRECTION_RTL, DISPLAY_FLEX, DISPLAY_NONE, DISPLAY_CONTENTS, EDGE_LEFT, EDGE_TOP, EDGE_RIGHT, EDGE_BOTTOM, EDGE_START, EDGE_END, EDGE_HORIZONTAL, EDGE_VERTICAL, EDGE_ALL, ERRATA_NONE, ERRATA_STRETCH_FLEX_BASIS, ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING, ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE, ERRATA_ALL, ERRATA_CLASSIC, EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS, FLEX_DIRECTION_COLUMN, FLEX_DIRECTION_COLUMN_REVERSE, FLEX_DIRECTION_ROW, FLEX_DIRECTION_ROW_REVERSE, GUTTER_COLUMN, GUTTER_ROW, GUTTER_ALL, JUSTIFY_FLEX_START, JUSTIFY_CENTER, JUSTIFY_FLEX_END, JUSTIFY_SPACE_BETWEEN, JUSTIFY_SPACE_AROUND, JUSTIFY_SPACE_EVENLY, LOG_LEVEL_ERROR, LOG_LEVEL_WARN, LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_VERBOSE, LOG_LEVEL_FATAL, MEASURE_MODE_UNDEFINED, MEASURE_MODE_EXACTLY, MEASURE_MODE_AT_MOST, NODE_TYPE_DEFAULT, NODE_TYPE_TEXT, OVERFLOW_VISIBLE, OVERFLOW_HIDDEN, OVERFLOW_SCROLL, POSITION_TYPE_STATIC, POSITION_TYPE_RELATIVE, POSITION_TYPE_ABSOLUTE, UNIT_UNDEFINED, UNIT_POINT, UNIT_PERCENT, UNIT_AUTO, WRAP_NO_WRAP, WRAP_WRAP, WRAP_WRAP_REVERSE, Config, Node, exports_yoga, yoga_default };
|
|
16107
|
+
export { toArrayBuffer, sleep, stringWidth2 as stringWidth, DEFAULT_FOREGROUND_RGB, DEFAULT_BACKGROUND_RGB, normalizeIndexedColorIndex, ansi256IndexToRgb, RGBA, normalizeColorValue, hexToRgb, rgbToHex, hsvToRgb, parseColor, isValidBorderStyle, parseBorderStyle, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, ATTRIBUTE_BASE_BITS, ATTRIBUTE_BASE_MASK, getBaseAttributes, DebugOverlayCorner, TargetChannel, 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, SystemClock, nonAlphanumericKeys, terminalNamedSingleStrokeKeys, parseKeypress, LinearScrollAccel, MacOSScrollAccel, parseAlign, parseAlignItems, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, singleton, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, StdinParser, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extensionToFiletype, basenameToFiletype, extToFiletype, pathToFiletype, infoStringToFiletype, getTreeSitterClient, destroyTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, normalizeTerminalPalette, buildTerminalPaletteSignature, decodePasteBytes, stripAnsiSequences, ClipboardTarget, Clipboard, detectLinks, OptimizedBuffer, TextBuffer, SpanInfoStruct, LogLevel2 as LogLevel, NativeMeasureTargetKind, setRenderLibPath, resolveRenderLib, Align, BoxSizing, Dimension, Direction, Display, Edge, Errata, ExperimentalFeature, FlexDirection, Gutter, Justify, LogLevel as LogLevel1, MeasureMode, NodeType, Overflow, PositionType, Unit, Wrap, ALIGN_AUTO, ALIGN_FLEX_START, ALIGN_CENTER, ALIGN_FLEX_END, ALIGN_STRETCH, ALIGN_BASELINE, ALIGN_SPACE_BETWEEN, ALIGN_SPACE_AROUND, ALIGN_SPACE_EVENLY, BOX_SIZING_BORDER_BOX, BOX_SIZING_CONTENT_BOX, DIMENSION_WIDTH, DIMENSION_HEIGHT, DIRECTION_INHERIT, DIRECTION_LTR, DIRECTION_RTL, DISPLAY_FLEX, DISPLAY_NONE, DISPLAY_CONTENTS, EDGE_LEFT, EDGE_TOP, EDGE_RIGHT, EDGE_BOTTOM, EDGE_START, EDGE_END, EDGE_HORIZONTAL, EDGE_VERTICAL, EDGE_ALL, ERRATA_NONE, ERRATA_STRETCH_FLEX_BASIS, ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING, ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE, ERRATA_ALL, ERRATA_CLASSIC, EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS, FLEX_DIRECTION_COLUMN, FLEX_DIRECTION_COLUMN_REVERSE, FLEX_DIRECTION_ROW, FLEX_DIRECTION_ROW_REVERSE, GUTTER_COLUMN, GUTTER_ROW, GUTTER_ALL, JUSTIFY_FLEX_START, JUSTIFY_CENTER, JUSTIFY_FLEX_END, JUSTIFY_SPACE_BETWEEN, JUSTIFY_SPACE_AROUND, JUSTIFY_SPACE_EVENLY, LOG_LEVEL_ERROR, LOG_LEVEL_WARN, LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_VERBOSE, LOG_LEVEL_FATAL, MEASURE_MODE_UNDEFINED, MEASURE_MODE_EXACTLY, MEASURE_MODE_AT_MOST, NODE_TYPE_DEFAULT, NODE_TYPE_TEXT, OVERFLOW_VISIBLE, OVERFLOW_HIDDEN, OVERFLOW_SCROLL, POSITION_TYPE_STATIC, POSITION_TYPE_RELATIVE, POSITION_TYPE_ABSOLUTE, UNIT_UNDEFINED, UNIT_POINT, UNIT_PERCENT, UNIT_AUTO, WRAP_NO_WRAP, WRAP_WRAP, WRAP_WRAP_REVERSE, Config, Node, exports_yoga, yoga_default };
|
|
15985
16108
|
|
|
15986
|
-
//# debugId=
|
|
15987
|
-
//# sourceMappingURL=index-
|
|
16109
|
+
//# debugId=FC7AC9CF38562F8A64756E2164756E21
|
|
16110
|
+
//# sourceMappingURL=index-d5xqskty.js.map
|