@react-x11/components 0.2.1 → 0.4.0
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/README.md +6 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/heights.d.ts +26 -1
- package/dist/internal/heights.d.ts.map +1 -1
- package/dist/internal/heights.js +57 -6
- package/dist/internal/heights.js.map +1 -1
- package/dist/internal/scroll.d.ts +11 -0
- package/dist/internal/scroll.d.ts.map +1 -1
- package/dist/internal/scroll.js +43 -3
- package/dist/internal/scroll.js.map +1 -1
- package/dist/internal/timers.d.ts +8 -0
- package/dist/internal/timers.d.ts.map +1 -1
- package/dist/internal/timers.js +10 -0
- package/dist/internal/timers.js.map +1 -1
- package/dist/internal/window.d.ts +161 -0
- package/dist/internal/window.d.ts.map +1 -0
- package/dist/internal/window.js +417 -0
- package/dist/internal/window.js.map +1 -0
- package/dist/qml/containers.d.ts +3 -0
- package/dist/qml/containers.d.ts.map +1 -0
- package/dist/qml/containers.js +331 -0
- package/dist/qml/containers.js.map +1 -0
- package/dist/qml/controls.d.ts +12 -0
- package/dist/qml/controls.d.ts.map +1 -0
- package/dist/qml/controls.js +21 -0
- package/dist/qml/controls.js.map +1 -0
- package/dist/qml/globals.d.ts +6 -0
- package/dist/qml/globals.d.ts.map +1 -0
- package/dist/qml/globals.js +25 -0
- package/dist/qml/globals.js.map +1 -0
- package/dist/qml/index.d.ts +15 -0
- package/dist/qml/index.d.ts.map +1 -0
- package/dist/qml/index.js +25 -0
- package/dist/qml/index.js.map +1 -0
- package/dist/qml/interaction.d.ts +12 -0
- package/dist/qml/interaction.d.ts.map +1 -0
- package/dist/qml/interaction.js +246 -0
- package/dist/qml/interaction.js.map +1 -0
- package/dist/qml/ir.d.ts +106 -0
- package/dist/qml/ir.d.ts.map +1 -0
- package/dist/qml/ir.js +7 -0
- package/dist/qml/ir.js.map +1 -0
- package/dist/qml/layouts.d.ts +3 -0
- package/dist/qml/layouts.d.ts.map +1 -0
- package/dist/qml/layouts.js +122 -0
- package/dist/qml/layouts.js.map +1 -0
- package/dist/qml/models.d.ts +14 -0
- package/dist/qml/models.d.ts.map +1 -0
- package/dist/qml/models.js +80 -0
- package/dist/qml/models.js.map +1 -0
- package/dist/qml/objects.d.ts +228 -0
- package/dist/qml/objects.d.ts.map +1 -0
- package/dist/qml/objects.js +1103 -0
- package/dist/qml/objects.js.map +1 -0
- package/dist/qml/parse.d.ts +10 -0
- package/dist/qml/parse.d.ts.map +1 -0
- package/dist/qml/parse.js +607 -0
- package/dist/qml/parse.js.map +1 -0
- package/dist/qml/qtquick.d.ts +7 -0
- package/dist/qml/qtquick.d.ts.map +1 -0
- package/dist/qml/qtquick.js +347 -0
- package/dist/qml/qtquick.js.map +1 -0
- package/dist/qml/react.d.ts +83 -0
- package/dist/qml/react.d.ts.map +1 -0
- package/dist/qml/react.js +323 -0
- package/dist/qml/react.js.map +1 -0
- package/dist/qml/resolver.d.ts +38 -0
- package/dist/qml/resolver.d.ts.map +1 -0
- package/dist/qml/resolver.js +64 -0
- package/dist/qml/resolver.js.map +1 -0
- package/dist/qml/slots.d.ts +65 -0
- package/dist/qml/slots.d.ts.map +1 -0
- package/dist/qml/slots.js +230 -0
- package/dist/qml/slots.js.map +1 -0
- package/dist/qml/states.d.ts +5 -0
- package/dist/qml/states.d.ts.map +1 -0
- package/dist/qml/states.js +276 -0
- package/dist/qml/states.js.map +1 -0
- package/dist/qml/view-utils.d.ts +42 -0
- package/dist/qml/view-utils.d.ts.map +1 -0
- package/dist/qml/view-utils.js +121 -0
- package/dist/qml/view-utils.js.map +1 -0
- package/dist/table/index.d.ts +73 -2
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +405 -161
- package/dist/table/index.js.map +1 -1
- package/dist/tabs/hx.d.ts +18 -0
- package/dist/tabs/hx.d.ts.map +1 -0
- package/dist/tabs/hx.js +10 -0
- package/dist/tabs/hx.js.map +1 -0
- package/dist/tabs/index.d.ts +143 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +602 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/terminal/vt/index.d.ts +1 -1
- package/dist/terminal/vt/index.d.ts.map +1 -1
- package/dist/terminal/vt/index.js +3 -3
- package/dist/terminal/vt/index.js.map +1 -1
- package/dist/terminal/vt/pty.d.ts +16 -0
- package/dist/terminal/vt/pty.d.ts.map +1 -1
- package/dist/terminal/vt/pty.js +186 -0
- package/dist/terminal/vt/pty.js.map +1 -1
- package/dist/tree/index.d.ts +65 -5
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +446 -189
- package/dist/tree/index.js.map +1 -1
- package/package.json +11 -1
- package/src/index.ts +44 -0
- package/src/internal/heights.ts +57 -6
- package/src/internal/scroll.ts +59 -3
- package/src/internal/timers.ts +13 -0
- package/src/internal/window.ts +570 -0
- package/src/qml/containers.tsx +380 -0
- package/src/qml/controls.tsx +47 -0
- package/src/qml/globals.ts +33 -0
- package/src/qml/index.ts +67 -0
- package/src/qml/interaction.tsx +317 -0
- package/src/qml/ir.ts +80 -0
- package/src/qml/layouts.tsx +141 -0
- package/src/qml/models.ts +101 -0
- package/src/qml/objects.ts +1431 -0
- package/src/qml/parse.ts +624 -0
- package/src/qml/qtquick.tsx +413 -0
- package/src/qml/react.tsx +454 -0
- package/src/qml/resolver.ts +99 -0
- package/src/qml/slots.ts +249 -0
- package/src/qml/states.ts +318 -0
- package/src/qml/view-utils.ts +140 -0
- package/src/table/index.ts +599 -178
- package/src/tabs/hx.ts +31 -0
- package/src/tabs/index.ts +850 -0
- package/src/terminal/vt/index.ts +4 -2
- package/src/terminal/vt/pty.ts +243 -0
- package/src/tree/index.ts +687 -260
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
import React, { useCallback, useEffect, useMemo, useRef, useState, } from 'react';
|
|
17
17
|
import { registerElement, registeredElements } from 'react-x11/host';
|
|
18
18
|
import { ELEMENT, VtTermNode } from './node.js';
|
|
19
|
-
import { PtyUnavailableError,
|
|
19
|
+
import { PtyUnavailableError, defaultPtyHost } from './pty.js';
|
|
20
20
|
import { startTimeout, stopTimeout } from '../../embed/timers.js';
|
|
21
21
|
import { loadXterm } from './xterm.js';
|
|
22
22
|
export { ELEMENT as VT_TERMINAL_ELEMENT, VtTermNode };
|
|
23
|
-
export { PTY_MODULES, PtyUnavailableError, defaultShell, nodePtyHost, ptyLoadError, } from './pty.js';
|
|
23
|
+
export { PTY_MODULES, PtyUnavailableError, bunPtyHost, defaultPtyHost, defaultShell, nodePtyHost, ptyLoadError, } from './pty.js';
|
|
24
24
|
if (!registeredElements().includes(ELEMENT)) {
|
|
25
25
|
registerElement(ELEMENT, {
|
|
26
26
|
create: (props, app) => new VtTermNode(props, app),
|
|
@@ -104,7 +104,7 @@ export function VtTerminal(props) {
|
|
|
104
104
|
'something else.'), 'unavailable');
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
|
-
const host = handlers.current.pty ??
|
|
107
|
+
const host = handlers.current.pty ?? defaultPtyHost();
|
|
108
108
|
if (!(await host.available())) {
|
|
109
109
|
// The message separates "nothing installed" from "installed but it
|
|
110
110
|
// would not load" — a native module built for another Node ABI looks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/terminal/vt/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,2CAA2C;AAC3C,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,8BAA8B;AAC9B,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAUrE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/terminal/vt/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,4 +78,20 @@ export declare function defaultShell(env?: Record<string, string | undefined>):
|
|
|
78
78
|
* it as the `pty` prop instead of replacing this.
|
|
79
79
|
*/
|
|
80
80
|
export declare function nodePtyHost(): PtyHost;
|
|
81
|
+
/**
|
|
82
|
+
* The runtime's own pty. Null-free: callers reach it through
|
|
83
|
+
* `defaultPtyHost()`, and `available()` answers honestly under Node.
|
|
84
|
+
*/
|
|
85
|
+
export declare function bunPtyHost(): PtyHost;
|
|
86
|
+
/**
|
|
87
|
+
* The pty the current runtime should use: Bun's own where there is one,
|
|
88
|
+
* `node-pty` otherwise.
|
|
89
|
+
*
|
|
90
|
+
* Bun wins on purpose even when node-pty is installed and would load (Bun's
|
|
91
|
+
* N-API support is good enough that it does). The built-in needs no native
|
|
92
|
+
* build, no ABI match and no 64 MB, and "use what the runtime provides" is
|
|
93
|
+
* the same call this package makes everywhere else. An app that wants the
|
|
94
|
+
* other one back passes `pty={nodePtyHost()}`, which is what the seam is for.
|
|
95
|
+
*/
|
|
96
|
+
export declare function defaultPtyHost(): PtyHost;
|
|
81
97
|
//# sourceMappingURL=pty.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../../src/terminal/vt/pty.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IACjD;;;;OAIG;IACH,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,+EAA+E;IAC/E,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3E,oEAAoE;IACpE,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACpD;AAuCD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAqC,CAAC;AA+C/E;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,KAAK,GAAG,IAAI,CAE3C;AAED,2DAA2D;AAC3D,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC,YAAY,KAAK,CAAC,EAAE,OAAO,EAa1B;CACF;AAaD,uDAAuD;AACvD,wBAAgB,YAAY,CAC1B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAA4B,GACjE,MAAM,CAER;AA8ED;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAwCrC"}
|
|
1
|
+
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../../src/terminal/vt/pty.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IACjD;;;;OAIG;IACH,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,+EAA+E;IAC/E,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3E,oEAAoE;IACpE,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACpD;AAuCD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAqC,CAAC;AA+C/E;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,KAAK,GAAG,IAAI,CAE3C;AAED,2DAA2D;AAC3D,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC,YAAY,KAAK,CAAC,EAAE,OAAO,EAa1B;CACF;AAaD,uDAAuD;AACvD,wBAAgB,YAAY,CAC1B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAA4B,GACjE,MAAM,CAER;AA8ED;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAwCrC;AAmKD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,OAAO,CA8DpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
|
package/dist/terminal/vt/pty.js
CHANGED
|
@@ -198,4 +198,190 @@ export function nodePtyHost() {
|
|
|
198
198
|
sharedHost = host;
|
|
199
199
|
return host;
|
|
200
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* The Bun runtime, if this is Bun *and* its Bun is new enough to have a pty.
|
|
203
|
+
*
|
|
204
|
+
* `Bun.Terminal` rather than a parse of `Bun.version`: the `terminal` option
|
|
205
|
+
* is ignored rather than rejected by a Bun that predates it, so a version
|
|
206
|
+
* comparison is the difference between falling through to node-pty and
|
|
207
|
+
* spawning a child whose output goes nowhere.
|
|
208
|
+
*/
|
|
209
|
+
function bunRuntime() {
|
|
210
|
+
const bun = globalThis.Bun;
|
|
211
|
+
if (!bun || typeof bun.spawn !== 'function')
|
|
212
|
+
return null;
|
|
213
|
+
return typeof bun.Terminal === 'function' ? bun : null;
|
|
214
|
+
}
|
|
215
|
+
class BunPtySession {
|
|
216
|
+
#proc;
|
|
217
|
+
#term;
|
|
218
|
+
#alive = true;
|
|
219
|
+
// Bun takes the output callback as a *spawn option*, so bytes can land
|
|
220
|
+
// before `openPty` has even returned — let alone before the caller has
|
|
221
|
+
// called `onData`. Anything that arrives in that window is held here and
|
|
222
|
+
// flushed on attach; without it the shell's first prompt is a coin flip.
|
|
223
|
+
#backlog = [];
|
|
224
|
+
#data = null;
|
|
225
|
+
// Same race, one step later: a program that exits immediately settles
|
|
226
|
+
// `exited` before `onExit` is attached.
|
|
227
|
+
#exit = null;
|
|
228
|
+
#onExit = null;
|
|
229
|
+
constructor(proc, term) {
|
|
230
|
+
this.#proc = proc;
|
|
231
|
+
this.#term = term;
|
|
232
|
+
void proc.exited.then(() => {
|
|
233
|
+
this.#alive = false;
|
|
234
|
+
// Bun reports the signal by *name* (`'SIGTERM'`) and nulls `exitCode`
|
|
235
|
+
// when one ended the child — which is `ExitInfo` exactly, so unlike the
|
|
236
|
+
// node-pty path there is no number to stringify and no name table to
|
|
237
|
+
// get wrong per platform.
|
|
238
|
+
const info = {
|
|
239
|
+
code: proc.signalCode ? null : (proc.exitCode ?? 0),
|
|
240
|
+
signal: proc.signalCode ?? null,
|
|
241
|
+
};
|
|
242
|
+
if (this.#onExit)
|
|
243
|
+
this.#onExit(info);
|
|
244
|
+
else
|
|
245
|
+
this.#exit = info;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
/** Called from the spawn-time `data` callback. */
|
|
249
|
+
receive(chunk) {
|
|
250
|
+
if (this.#data)
|
|
251
|
+
this.#data(chunk);
|
|
252
|
+
else
|
|
253
|
+
this.#backlog.push(chunk);
|
|
254
|
+
}
|
|
255
|
+
get pid() {
|
|
256
|
+
return this.#alive ? this.#proc.pid : null;
|
|
257
|
+
}
|
|
258
|
+
write(data) {
|
|
259
|
+
if (!this.#alive)
|
|
260
|
+
return;
|
|
261
|
+
try {
|
|
262
|
+
this.#term.write(data);
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
// the child exited between the keystroke and this write
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
resize(cols, rows) {
|
|
269
|
+
if (!this.#alive || cols <= 0 || rows <= 0)
|
|
270
|
+
return;
|
|
271
|
+
try {
|
|
272
|
+
this.#term.resize(cols, rows);
|
|
273
|
+
}
|
|
274
|
+
catch {
|
|
275
|
+
// same race as write
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
kill(signal = 'SIGTERM') {
|
|
279
|
+
if (!this.#alive)
|
|
280
|
+
return false;
|
|
281
|
+
try {
|
|
282
|
+
this.#proc.kill(signal);
|
|
283
|
+
return true;
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
return false;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
onData(listener) {
|
|
290
|
+
this.#data = listener;
|
|
291
|
+
// Bytes, not a string: Bun hands over a `Buffer`, and the emulator's
|
|
292
|
+
// decoder is stateful across chunks. Decoding here would split a
|
|
293
|
+
// multi-byte character on whatever boundary the pty read returned.
|
|
294
|
+
const held = this.#backlog;
|
|
295
|
+
this.#backlog = [];
|
|
296
|
+
for (const chunk of held)
|
|
297
|
+
listener(chunk);
|
|
298
|
+
}
|
|
299
|
+
onExit(listener) {
|
|
300
|
+
this.#onExit = listener;
|
|
301
|
+
if (this.#exit) {
|
|
302
|
+
const info = this.#exit;
|
|
303
|
+
this.#exit = null;
|
|
304
|
+
listener(info);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
let sharedBunHost = null;
|
|
309
|
+
/**
|
|
310
|
+
* The runtime's own pty. Null-free: callers reach it through
|
|
311
|
+
* `defaultPtyHost()`, and `available()` answers honestly under Node.
|
|
312
|
+
*/
|
|
313
|
+
export function bunPtyHost() {
|
|
314
|
+
if (sharedBunHost)
|
|
315
|
+
return sharedBunHost;
|
|
316
|
+
const host = {
|
|
317
|
+
environment() {
|
|
318
|
+
return nodeProcess()?.env ?? {};
|
|
319
|
+
},
|
|
320
|
+
async available() {
|
|
321
|
+
return bunRuntime() !== null;
|
|
322
|
+
},
|
|
323
|
+
async openPty(argv, options) {
|
|
324
|
+
const bun = bunRuntime();
|
|
325
|
+
if (!bun)
|
|
326
|
+
throw new PtyUnavailableError();
|
|
327
|
+
const ambient = host.environment?.() ?? {};
|
|
328
|
+
const merged = {};
|
|
329
|
+
for (const [key, value] of Object.entries({
|
|
330
|
+
...ambient,
|
|
331
|
+
...options.env,
|
|
332
|
+
})) {
|
|
333
|
+
// An explicit `undefined` removes a variable, as `SpawnOptions` says
|
|
334
|
+
if (value !== undefined)
|
|
335
|
+
merged[key] = String(value);
|
|
336
|
+
}
|
|
337
|
+
// Bun sets no `TERM` of its own — the pty is a device, not a profile —
|
|
338
|
+
// so the honest advertisement is made here, as the node-pty path makes
|
|
339
|
+
// it through node-pty's `name`.
|
|
340
|
+
merged.TERM ??= 'xterm-256color';
|
|
341
|
+
const file = argv[0] ?? defaultShell(ambient);
|
|
342
|
+
let session = null;
|
|
343
|
+
const proc = bun.spawn([file, ...argv.slice(1)], {
|
|
344
|
+
cwd: options.cwd,
|
|
345
|
+
env: merged,
|
|
346
|
+
terminal: {
|
|
347
|
+
cols: options.cols,
|
|
348
|
+
rows: options.rows,
|
|
349
|
+
data(_terminal, chunk) {
|
|
350
|
+
session?.receive(chunk);
|
|
351
|
+
},
|
|
352
|
+
},
|
|
353
|
+
});
|
|
354
|
+
const term = proc.terminal;
|
|
355
|
+
if (!term) {
|
|
356
|
+
// A Bun that has `Terminal` but did not give us one back: kill the
|
|
357
|
+
// child rather than leak it, and report it as a load failure so the
|
|
358
|
+
// caller renders `fallback` instead of an empty terminal.
|
|
359
|
+
try {
|
|
360
|
+
proc.kill();
|
|
361
|
+
}
|
|
362
|
+
catch {
|
|
363
|
+
// already gone
|
|
364
|
+
}
|
|
365
|
+
throw new PtyUnavailableError(new Error('Bun.spawn returned no terminal for a pty request'));
|
|
366
|
+
}
|
|
367
|
+
session = new BunPtySession(proc, term);
|
|
368
|
+
return session;
|
|
369
|
+
},
|
|
370
|
+
};
|
|
371
|
+
sharedBunHost = host;
|
|
372
|
+
return host;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* The pty the current runtime should use: Bun's own where there is one,
|
|
376
|
+
* `node-pty` otherwise.
|
|
377
|
+
*
|
|
378
|
+
* Bun wins on purpose even when node-pty is installed and would load (Bun's
|
|
379
|
+
* N-API support is good enough that it does). The built-in needs no native
|
|
380
|
+
* build, no ABI match and no 64 MB, and "use what the runtime provides" is
|
|
381
|
+
* the same call this package makes everywhere else. An app that wants the
|
|
382
|
+
* other one back passes `pty={nodePtyHost()}`, which is what the seam is for.
|
|
383
|
+
*/
|
|
384
|
+
export function defaultPtyHost() {
|
|
385
|
+
return bunRuntime() ? bunPtyHost() : nodePtyHost();
|
|
386
|
+
}
|
|
201
387
|
//# sourceMappingURL=pty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../../src/terminal/vt/pty.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../../src/terminal/vt/pty.ts"],"names":[],"mappings":"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"}
|
package/dist/tree/index.d.ts
CHANGED
|
@@ -52,6 +52,27 @@ export interface TreeGuideState<T> {
|
|
|
52
52
|
* the node's laid-out size. */
|
|
53
53
|
height: number;
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* What `renderScrollHint` is told: where the viewport is, while a fast
|
|
57
|
+
* scroll is still being caught up with. The top row itself is included so a
|
|
58
|
+
* hint can show what is *at* this position rather than a number.
|
|
59
|
+
*/
|
|
60
|
+
export interface TreeScrollHintState<T> {
|
|
61
|
+
/** The first row in view, in draw order. */
|
|
62
|
+
row: TreeRow<T>;
|
|
63
|
+
/** Its position, 1-based — "row `from` of `count`". */
|
|
64
|
+
from: number;
|
|
65
|
+
/** The last row in view, 1-based. */
|
|
66
|
+
to: number;
|
|
67
|
+
/** How many rows the tree is showing. */
|
|
68
|
+
count: number;
|
|
69
|
+
/** How many of the rows in view are still placeholders. */
|
|
70
|
+
pending: number;
|
|
71
|
+
/** When the viewport first stopped being whole, epoch ms — what the
|
|
72
|
+
* show-delay was measured against. `Date.now() - since` is how long the
|
|
73
|
+
* user has been looking at unresolved content. */
|
|
74
|
+
since: number;
|
|
75
|
+
}
|
|
55
76
|
/** What `renderSubtree` is told, in `layout="nested"`. */
|
|
56
77
|
export interface TreeSubtreeState<T> {
|
|
57
78
|
/** The row the subtree hangs off. Never null: the roots are not a
|
|
@@ -134,10 +155,12 @@ export interface TreeProps<T = TreeItem> extends TreeAccessors<T>, Omit<BoxProps
|
|
|
134
155
|
* virtualizing. Defaults to `rowHeight`.
|
|
135
156
|
*
|
|
136
157
|
* Only the rows on screen have ever been laid out, so the scrollbar is
|
|
137
|
-
* this guess for everything else
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* the
|
|
158
|
+
* this guess for everything else; it converges as you scroll, and once
|
|
159
|
+
* enough rows have been measured the guess itself is re-learnt from their
|
|
160
|
+
* mean. Set it when rows are typically much taller than `rowHeight` — a
|
|
161
|
+
* tree of two-line rows with the default guess starts with a scrollbar
|
|
162
|
+
* that thinks the tree is half its real length, until the re-learning
|
|
163
|
+
* corrects it.
|
|
141
164
|
*/
|
|
142
165
|
estimatedRowHeight?: number;
|
|
143
166
|
/**
|
|
@@ -150,6 +173,15 @@ export interface TreeProps<T = TreeItem> extends TreeAccessors<T>, Omit<BoxProps
|
|
|
150
173
|
virtual?: boolean | 'auto';
|
|
151
174
|
/** Rows built either side of the viewport. */
|
|
152
175
|
overscan?: number;
|
|
176
|
+
/**
|
|
177
|
+
* Rows built *beyond* the overscan while the tree sits idle, per side.
|
|
178
|
+
* Default 40. The pane blits a scroll before React can run, so the only
|
|
179
|
+
* scroll with no blank frame is one that lands on rows already built —
|
|
180
|
+
* this band is that, grown in small steps while nobody is scrolling, and
|
|
181
|
+
* kept behind the viewport so a reversal lands on rows still mounted.
|
|
182
|
+
* `0` turns the band off: the slice is exactly viewport-plus-overscan.
|
|
183
|
+
*/
|
|
184
|
+
prefetch?: number;
|
|
153
185
|
/**
|
|
154
186
|
* `'flat'` (the default) makes every row a sibling — which is what lets the
|
|
155
187
|
* tree virtualize, and what the branch guides are drawn per row for.
|
|
@@ -176,6 +208,34 @@ export interface TreeProps<T = TreeItem> extends TreeAccessors<T>, Omit<BoxProps
|
|
|
176
208
|
renderContent?: (state: TreeRowState<T>, content: ReactNode[]) => ReactNode;
|
|
177
209
|
/** The subtree container, in `layout="nested"`. */
|
|
178
210
|
renderSubtree?: (state: TreeSubtreeState<T>, rows: ReactNode) => ReactNode;
|
|
211
|
+
/**
|
|
212
|
+
* The fast-scroll overlay. Shown only while a scroll has outrun the rows
|
|
213
|
+
* far enough that placeholders cover a meaningful part of the viewport —
|
|
214
|
+
* a scroll the tree absorbs within a frame never shows it — and hidden
|
|
215
|
+
* the moment the view is whole again. The default is a pill reading
|
|
216
|
+
* "2,345 / 100,000"; return something else to replace it, or null for no
|
|
217
|
+
* overlay at all.
|
|
218
|
+
*/
|
|
219
|
+
renderScrollHint?: (state: TreeScrollHintState<T>) => ReactNode;
|
|
220
|
+
/**
|
|
221
|
+
* How long the viewport must have been showing unresolved content before
|
|
222
|
+
* the overlay appears, in milliseconds. Default 250: a catch-up the next
|
|
223
|
+
* few frames absorb is never announced. `0` shows it the moment a
|
|
224
|
+
* catch-up engages.
|
|
225
|
+
*/
|
|
226
|
+
scrollHintDelay?: number;
|
|
227
|
+
/**
|
|
228
|
+
* Tuning for the catch-up pacing — how a scroll that outruns the built
|
|
229
|
+
* rows is absorbed. All optional, all in rows: `threshold` (default 16)
|
|
230
|
+
* is how many rows entering in one render count as a flood, `burst`
|
|
231
|
+
* (default 24) and `settle` (default 48) are the full rows built per
|
|
232
|
+
* render mid-scroll and after it. See the same prop on `<Table>`.
|
|
233
|
+
*/
|
|
234
|
+
catchup?: {
|
|
235
|
+
threshold?: number;
|
|
236
|
+
burst?: number;
|
|
237
|
+
settle?: number;
|
|
238
|
+
};
|
|
179
239
|
styles?: TreeStyles<T>;
|
|
180
240
|
style?: StyleProp;
|
|
181
241
|
ref?: Ref<TreeHandle<T>>;
|
|
@@ -217,5 +277,5 @@ export interface TreeProps<T = TreeItem> extends TreeAccessors<T>, Omit<BoxProps
|
|
|
217
277
|
* such policy is expressible on top of what is here: hold the set yourself,
|
|
218
278
|
* pass `selected` for the cursor, and paint the rest from `styles.row`.
|
|
219
279
|
*/
|
|
220
|
-
export declare function Tree<T = TreeItem>({ items, expanded, defaultExpanded, onExpandedChange, selected, defaultSelected, onSelect, onActivate, indent, rowHeight, estimatedRowHeight, virtual, overscan, layout, renderToggle, renderGuide, renderLabel, renderContent, renderSubtree, styles, style, ref, getId, getLabel, getText, getChildren, isBranch, isDisabled, onScroll, onViewport, ...boxProps }: TreeProps<T>): ReactElement;
|
|
280
|
+
export declare function Tree<T = TreeItem>({ items, expanded, defaultExpanded, onExpandedChange, selected, defaultSelected, onSelect, onActivate, indent, rowHeight, estimatedRowHeight, virtual, overscan, prefetch, layout, renderToggle, renderGuide, renderLabel, renderContent, renderSubtree, renderScrollHint, scrollHintDelay, catchup, styles, style, ref, getId, getLabel, getText, getChildren, isBranch, isDisabled, onScroll, onViewport, ...boxProps }: TreeProps<T>): ReactElement;
|
|
221
281
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/tree/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"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"}
|