@opentui/core 0.0.0-20251001-d57654da → 0.0.0-20251006-283f60d7
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/Renderable.d.ts +1 -0
- package/{index-zgy8chsr.js → index-hxktycf0.js} +54 -4
- package/{index-zgy8chsr.js.map → index-hxktycf0.js.map} +5 -4
- package/index.js +36 -10
- package/index.js.map +5 -5
- package/lib/index.d.ts +1 -0
- package/lib/scroll-acceleration.d.ts +42 -0
- package/package.json +7 -7
- package/renderables/ScrollBox.d.ts +5 -1
- package/renderables/TextNode.d.ts +1 -0
- package/testing/spy.d.ts +7 -0
- package/testing.d.ts +1 -0
- package/testing.js +17 -2
- package/testing.js.map +5 -4
package/3d.js
CHANGED
package/Renderable.d.ts
CHANGED
|
@@ -98,6 +98,7 @@ export declare abstract class BaseRenderable extends EventEmitter {
|
|
|
98
98
|
abstract getChildrenCount(): number;
|
|
99
99
|
abstract getRenderable(id: string): BaseRenderable | undefined;
|
|
100
100
|
abstract requestRender(): void;
|
|
101
|
+
abstract findDescendantById(id: string): BaseRenderable | undefined;
|
|
101
102
|
get id(): string;
|
|
102
103
|
set id(value: string);
|
|
103
104
|
get isDirty(): boolean;
|
|
@@ -4416,6 +4416,55 @@ function hastToStyledText(hast, syntaxStyle) {
|
|
|
4416
4416
|
return new StyledText(chunks);
|
|
4417
4417
|
}
|
|
4418
4418
|
|
|
4419
|
+
// src/lib/scroll-acceleration.ts
|
|
4420
|
+
class LinearScrollAccel {
|
|
4421
|
+
tick(_now) {
|
|
4422
|
+
return 1;
|
|
4423
|
+
}
|
|
4424
|
+
reset() {}
|
|
4425
|
+
}
|
|
4426
|
+
|
|
4427
|
+
class MacOSScrollAccel {
|
|
4428
|
+
opts;
|
|
4429
|
+
lastTickTime = 0;
|
|
4430
|
+
velocityHistory = [];
|
|
4431
|
+
historySize = 3;
|
|
4432
|
+
streakTimeout = 150;
|
|
4433
|
+
constructor(opts = {}) {
|
|
4434
|
+
this.opts = opts;
|
|
4435
|
+
}
|
|
4436
|
+
tick(now = Date.now()) {
|
|
4437
|
+
const A = this.opts.A ?? 0.8;
|
|
4438
|
+
const tau = this.opts.tau ?? 3;
|
|
4439
|
+
const maxMultiplier = this.opts.maxMultiplier ?? 6;
|
|
4440
|
+
const dt = this.lastTickTime ? now - this.lastTickTime : Infinity;
|
|
4441
|
+
this.lastTickTime = now;
|
|
4442
|
+
if (dt > this.streakTimeout) {
|
|
4443
|
+
this.velocityHistory = [];
|
|
4444
|
+
return 1;
|
|
4445
|
+
}
|
|
4446
|
+
if (dt !== Infinity) {
|
|
4447
|
+
this.velocityHistory.push(dt);
|
|
4448
|
+
if (this.velocityHistory.length > this.historySize) {
|
|
4449
|
+
this.velocityHistory.shift();
|
|
4450
|
+
}
|
|
4451
|
+
}
|
|
4452
|
+
const avgInterval = this.velocityHistory.length > 0 ? this.velocityHistory.reduce((a, b) => a + b, 0) / this.velocityHistory.length : Infinity;
|
|
4453
|
+
if (avgInterval === Infinity) {
|
|
4454
|
+
return 1;
|
|
4455
|
+
}
|
|
4456
|
+
const referenceInterval = 100;
|
|
4457
|
+
const velocity = referenceInterval / avgInterval;
|
|
4458
|
+
const x = velocity / tau;
|
|
4459
|
+
const multiplier = 1 + A * (Math.exp(x) - 1);
|
|
4460
|
+
return Math.min(multiplier, maxMultiplier);
|
|
4461
|
+
}
|
|
4462
|
+
reset() {
|
|
4463
|
+
this.lastTickTime = 0;
|
|
4464
|
+
this.velocityHistory = [];
|
|
4465
|
+
}
|
|
4466
|
+
}
|
|
4467
|
+
|
|
4419
4468
|
// src/lib/yoga.options.ts
|
|
4420
4469
|
function parseAlign(value) {
|
|
4421
4470
|
switch (value.toLowerCase()) {
|
|
@@ -8391,10 +8440,11 @@ class Renderable extends BaseRenderable {
|
|
|
8391
8440
|
if (renderable.parent === this) {
|
|
8392
8441
|
this.yogaNode.removeChild(renderable.getLayoutNode());
|
|
8393
8442
|
this._childrenInLayoutOrder.splice(this._childrenInLayoutOrder.indexOf(renderable), 1);
|
|
8394
|
-
} else
|
|
8443
|
+
} else {
|
|
8395
8444
|
this.replaceParent(renderable);
|
|
8396
8445
|
this.needsZIndexSort = true;
|
|
8397
8446
|
this.renderableMapById.set(renderable.id, renderable);
|
|
8447
|
+
this._childrenInZIndexOrder.push(renderable);
|
|
8398
8448
|
if (typeof renderable.onLifecyclePass === "function") {
|
|
8399
8449
|
this._ctx.registerLifecyclePass(renderable);
|
|
8400
8450
|
}
|
|
@@ -10831,7 +10881,7 @@ Captured output:
|
|
|
10831
10881
|
}
|
|
10832
10882
|
}
|
|
10833
10883
|
|
|
10834
|
-
export { __toESM, __commonJS, __export, __require, Edge, Gutter, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, ANSI, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, 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, t, convertThemeToStyles, SyntaxStyle, hastToStyledText, parseAlign, 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, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, CliRenderer };
|
|
10884
|
+
export { __toESM, __commonJS, __export, __require, Edge, Gutter, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, ANSI, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, 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, t, convertThemeToStyles, SyntaxStyle, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, parseAlign, 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, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, CliRenderer };
|
|
10835
10885
|
|
|
10836
|
-
//# debugId=
|
|
10837
|
-
//# sourceMappingURL=index-
|
|
10886
|
+
//# debugId=1CD01A0C7134010A64756E2164756E21
|
|
10887
|
+
//# sourceMappingURL=index-hxktycf0.js.map
|