@design.estate/dees-catalog 12.0.0 → 12.2.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/dist_bundle/bundle.js +1712 -1223
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.js +3 -107
- package/dist_ts_web/elements/00group-harness/dees-harness-sidebar/dees-harness-sidebar.d.ts +70 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-sidebar/dees-harness-sidebar.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-sidebar/dees-harness-sidebar.demo.js +78 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-sidebar/dees-harness-sidebar.js +261 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-sidebar/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-sidebar/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.d.ts +101 -7
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.demo.js +38 -7
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.js +252 -22
- package/dist_ts_web/elements/00group-harness/harness.styles.d.ts +10 -0
- package/dist_ts_web/elements/00group-harness/harness.styles.js +116 -1
- package/dist_ts_web/elements/00group-harness/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/index.js +2 -1
- package/package.json +3 -3
- package/readme.md +49 -1
- package/ts_web/00_commitinfo_data.ts +3 -3
- package/ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.ts +2 -106
- package/ts_web/elements/00group-harness/dees-harness-sidebar/dees-harness-sidebar.demo.ts +87 -0
- package/ts_web/elements/00group-harness/dees-harness-sidebar/dees-harness-sidebar.ts +245 -0
- package/ts_web/elements/00group-harness/dees-harness-sidebar/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.demo.ts +48 -12
- package/ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.ts +283 -22
- package/ts_web/elements/00group-harness/harness.styles.ts +116 -0
- package/ts_web/elements/00group-harness/index.ts +1 -0
|
@@ -34,6 +34,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
34
34
|
};
|
|
35
35
|
import { demoFunc } from './dees-terminal-view.demo.js';
|
|
36
36
|
import { DeesElement, html, css, customElement, property, } from '@design.estate/dees-element';
|
|
37
|
+
import * as plugins from '../../00plugins.js';
|
|
37
38
|
import { themeDefaultStyles } from '../../00theme.js';
|
|
38
39
|
import { DeesServiceLibLoader } from '../../../services/index.js';
|
|
39
40
|
/**
|
|
@@ -54,6 +55,35 @@ export const maxPendingWriteBytes = 8 * 1024 * 1024;
|
|
|
54
55
|
const RIS = '\x1bc';
|
|
55
56
|
/** Memory cost of one buffered chunk, in bytes. */
|
|
56
57
|
const chunkByteLength = (chunkArg) => typeof chunkArg === 'string' ? chunkArg.length * 2 : chunkArg.byteLength;
|
|
58
|
+
/** Identity of a grid size, as compared when deciding whether to report a refit. */
|
|
59
|
+
const gridKey = (sizeArg) => `${sizeArg.rows}x${sizeArg.cols}`;
|
|
60
|
+
/**
|
|
61
|
+
* Grid bounds `restore()` accepts. xterm silently widens anything narrower than
|
|
62
|
+
* two columns (a wide character needs two cells), which would paint a snapshot
|
|
63
|
+
* at a size other than the one it was serialized at; a PTY window size is a
|
|
64
|
+
* 16-bit field, so no real snapshot is larger than the upper bound.
|
|
65
|
+
*/
|
|
66
|
+
const minRestoreCols = 2;
|
|
67
|
+
const minRestoreRows = 1;
|
|
68
|
+
const maxRestoreGridSize = 0xffff;
|
|
69
|
+
const isGridDimension = (valueArg, minArg) => Number.isInteger(valueArg) && valueArg >= minArg && valueArg <= maxRestoreGridSize;
|
|
70
|
+
/**
|
|
71
|
+
* One `restore()` call: the snapshot, the grid it was serialized at, and the
|
|
72
|
+
* deferred whose promise is handed back to the caller. Its rejections are
|
|
73
|
+
* lifecycle outcomes, not programming errors, so, as with `ready`, an
|
|
74
|
+
* unawaited promise never surfaces as an unhandled rejection; a caller that
|
|
75
|
+
* awaits it still observes the reason.
|
|
76
|
+
*/
|
|
77
|
+
class TerminalRestore {
|
|
78
|
+
data;
|
|
79
|
+
size;
|
|
80
|
+
deferred = plugins.smartpromise.defer();
|
|
81
|
+
constructor(data, size) {
|
|
82
|
+
this.data = data;
|
|
83
|
+
this.size = size;
|
|
84
|
+
this.deferred.promise.catch(() => undefined);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
57
87
|
/**
|
|
58
88
|
* Transport-agnostic xterm.js surface: the host pipes remote PTY output into
|
|
59
89
|
* `write()` and receives keystrokes via `terminal-input` — no process,
|
|
@@ -61,9 +91,10 @@ const chunkByteLength = (chunkArg) => typeof chunkArg === 'string' ? chunkArg.le
|
|
|
61
91
|
* every refit so the host can negotiate a PTY size. Output that arrives while
|
|
62
92
|
* no terminal is live is buffered up to `maxPendingWriteBytes` and replayed in
|
|
63
93
|
* order on the next connection, so a replay may start before the element is
|
|
64
|
-
* ready and survives being detached.
|
|
65
|
-
*
|
|
66
|
-
*
|
|
94
|
+
* ready and survives being detached. `restore()` paints a serialized snapshot
|
|
95
|
+
* invisibly at the grid it was taken at, then fits it to the container. xterm
|
|
96
|
+
* loads through DeesServiceLibLoader; CSP-locked hosts can pre-register
|
|
97
|
+
* bundled modules with `provideXtermModules()` to avoid the CDN.
|
|
67
98
|
*/
|
|
68
99
|
let DeesTerminalView = (() => {
|
|
69
100
|
let _classDecorators = [customElement('dees-terminal-view')];
|
|
@@ -104,11 +135,24 @@ let DeesTerminalView = (() => {
|
|
|
104
135
|
inputDisposable;
|
|
105
136
|
lastReportedSize = '';
|
|
106
137
|
// Output that arrives before xterm is live is replayed in order, bounded by
|
|
107
|
-
// maxPendingWriteBytes and retained across a disconnect.
|
|
138
|
+
// maxPendingWriteBytes and retained across a disconnect. A buffered restore
|
|
139
|
+
// resets everything before it, so there is at most one and it is the base
|
|
140
|
+
// of the chunks buffered after it; its bytes count towards the bound.
|
|
141
|
+
pendingRestore;
|
|
108
142
|
pendingWrites = [];
|
|
109
143
|
pendingWriteBytes = 0;
|
|
110
144
|
pendingWritesDropped = false;
|
|
111
145
|
setupPromise;
|
|
146
|
+
/**
|
|
147
|
+
* The restore handed to the live terminal whose snapshot is not parsed yet. While it is set the
|
|
148
|
+
* grid belongs to the snapshot: the terminal stays invisible and nothing refits it.
|
|
149
|
+
*/
|
|
150
|
+
activeRestore;
|
|
151
|
+
/**
|
|
152
|
+
* Set only by an explicit `focus()` that arrived before the terminal existed. Nothing else sets
|
|
153
|
+
* it, so a re-render, a write, or a resize can never move the caret into this element.
|
|
154
|
+
*/
|
|
155
|
+
focusWhenReady = false;
|
|
112
156
|
readyPending = true;
|
|
113
157
|
readyResolve = () => undefined;
|
|
114
158
|
readyReject = () => undefined;
|
|
@@ -149,6 +193,14 @@ let DeesTerminalView = (() => {
|
|
|
149
193
|
box-sizing: border-box;
|
|
150
194
|
}
|
|
151
195
|
|
|
196
|
+
/*
|
|
197
|
+
* A restore paints invisibly. The grid keeps its layout, so fitting still measures it, and
|
|
198
|
+
* it stays focusable: visibility: hidden would blur the input surface and refuse focus().
|
|
199
|
+
*/
|
|
200
|
+
.terminalHost.restoring {
|
|
201
|
+
opacity: 0;
|
|
202
|
+
}
|
|
203
|
+
|
|
152
204
|
/* xterm.js styles (shadow DOM needs them locally) */
|
|
153
205
|
.xterm {
|
|
154
206
|
font-feature-settings: 'liga' 0;
|
|
@@ -298,7 +350,10 @@ let DeesTerminalView = (() => {
|
|
|
298
350
|
}
|
|
299
351
|
this.bufferWrite(dataArg);
|
|
300
352
|
}
|
|
301
|
-
/**
|
|
353
|
+
/**
|
|
354
|
+
* Reset the screen and scrollback, e.g. before a full replay. Before the terminal exists it also
|
|
355
|
+
* replaces a buffered `restore()`, whose promise then resolves as superseded.
|
|
356
|
+
*/
|
|
302
357
|
clear() {
|
|
303
358
|
const terminal = this.terminal;
|
|
304
359
|
if (terminal && this.isConnected) {
|
|
@@ -307,14 +362,97 @@ let DeesTerminalView = (() => {
|
|
|
307
362
|
}
|
|
308
363
|
// Without a terminal the reset is expressed as a buffered sentinel, so the
|
|
309
364
|
// flush of the next connection still performs it in the right order.
|
|
310
|
-
this.
|
|
311
|
-
this.
|
|
312
|
-
|
|
365
|
+
this.discardPendingOutput();
|
|
366
|
+
this.bufferWrite(RIS);
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Replace the terminal state with a serialized snapshot, e.g. from xterm's serialize addon, and
|
|
370
|
+
* show it only once it is complete. A snapshot is exact only in a grid of the size it was
|
|
371
|
+
* serialized at, so the terminal is fully reset (screen, scrollback, modes, alternate buffer),
|
|
372
|
+
* set to `sizeArg`, fed `dataArg` while invisible, then fitted to its container and revealed.
|
|
373
|
+
* `terminal-resize` fires at the end when the fitted grid differs from `sizeArg`, which is the
|
|
374
|
+
* host's cue to resize the PTY so the application redraws at the new size. Until then
|
|
375
|
+
* `currentSize` reports `sizeArg`, so the closing event, or this promise, is what a host
|
|
376
|
+
* negotiates a PTY size on.
|
|
377
|
+
*
|
|
378
|
+
* The restore is part of the output stream: writes issued after it are applied after the
|
|
379
|
+
* snapshot, in order, at the fitted size. Like `write()` it is safe before the terminal exists
|
|
380
|
+
* and while the element is detached; a buffered restore replaces everything buffered before
|
|
381
|
+
* it. The terminal keeps its focus and keeps forwarding input while the restore runs.
|
|
382
|
+
*
|
|
383
|
+
* The promise resolves once the snapshot is on screen, and also, without revealing anything,
|
|
384
|
+
* when a newer `restore()` supersedes this one or `clear()` replaces it while it is buffered.
|
|
385
|
+
* It rejects, without ever surfacing as an unhandled rejection, when the element is
|
|
386
|
+
* disconnected while the snapshot is being parsed (the terminal is disposed with it, as with
|
|
387
|
+
* any live output), when output buffered after it pushes it out of `maxPendingWriteBytes`, and
|
|
388
|
+
* when xterm refuses the data (`terminal-error` carries the same error). Buffered output is
|
|
389
|
+
* dropped oldest first and the restore is the oldest entry, so a buffered snapshot that alone
|
|
390
|
+
* exceeds the bound is dropped by the next buffered write of any size. An invalid size is a
|
|
391
|
+
* programming error: the promise rejects with a `RangeError` and nothing changes; unlike the
|
|
392
|
+
* reasons above this one is not pre-handled, so a `restore()` nobody observes reports it as an
|
|
393
|
+
* unhandled rejection.
|
|
394
|
+
*
|
|
395
|
+
* There is a fourth outcome: a restore that is still buffered when the element is disconnected
|
|
396
|
+
* stays pending, because the snapshot survives the move like buffered output and is applied on
|
|
397
|
+
* the next connection. A host that discards the element instead of reattaching it must not await
|
|
398
|
+
* that promise.
|
|
399
|
+
*
|
|
400
|
+
* @param dataArg The serialized terminal state.
|
|
401
|
+
* @param sizeArg The grid the snapshot was serialized at: integer `cols` in [2, 65535] and
|
|
402
|
+
* `rows` in [1, 65535].
|
|
403
|
+
*/
|
|
404
|
+
restore(dataArg, sizeArg) {
|
|
405
|
+
const { cols, rows } = sizeArg;
|
|
406
|
+
if (!isGridDimension(cols, minRestoreCols) || !isGridDimension(rows, minRestoreRows)) {
|
|
407
|
+
return Promise.reject(new RangeError(`restore() needs integer cols in [${minRestoreCols}, ${maxRestoreGridSize}] and rows in ` +
|
|
408
|
+
`[${minRestoreRows}, ${maxRestoreGridSize}], got ${cols}x${rows}`));
|
|
409
|
+
}
|
|
410
|
+
const restore = new TerminalRestore(dataArg, { cols, rows });
|
|
411
|
+
const terminal = this.terminal;
|
|
412
|
+
if (terminal && this.isConnected) {
|
|
413
|
+
this.startRestore(terminal, restore);
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
this.discardPendingOutput();
|
|
417
|
+
this.pendingRestore = restore;
|
|
418
|
+
this.pendingWriteBytes = chunkByteLength(dataArg);
|
|
419
|
+
}
|
|
420
|
+
return restore.deferred.promise;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Moves the caret into the terminal's input surface, so the next keystroke goes to the pty
|
|
424
|
+
* rather than to whatever the page focused last. This is the call a host makes when the user
|
|
425
|
+
* selects a terminal in a list.
|
|
426
|
+
*
|
|
427
|
+
* The terminal is created asynchronously — the xterm modules are loaded on first connection —
|
|
428
|
+
* so a call that arrives before it exists is remembered and applied once it is ready, exactly
|
|
429
|
+
* once. The same applies to an element that is focused while detached and then reattached: the
|
|
430
|
+
* pending request is dropped on disconnect, because by then the user's intent has expired, and
|
|
431
|
+
* a fresh `focus()` after the move is what a host should issue.
|
|
432
|
+
*
|
|
433
|
+
* Only this method arms that behaviour; re-renders, buffered output and background updates
|
|
434
|
+
* never steal focus.
|
|
435
|
+
*/
|
|
436
|
+
focus(optionsArg) {
|
|
437
|
+
const terminal = this.terminal;
|
|
438
|
+
if (terminal && this.isConnected) {
|
|
439
|
+
this.focusWhenReady = false;
|
|
440
|
+
terminal.focus();
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
// Preventing scroll is a hint for the eventual focus, not a reason to skip it.
|
|
444
|
+
void optionsArg;
|
|
445
|
+
this.focusWhenReady = true;
|
|
313
446
|
}
|
|
314
|
-
focus()
|
|
315
|
-
|
|
447
|
+
/** True while an explicit `focus()` is waiting for the terminal to come up. */
|
|
448
|
+
get focusPending() {
|
|
449
|
+
return this.focusWhenReady;
|
|
316
450
|
}
|
|
317
|
-
/**
|
|
451
|
+
/**
|
|
452
|
+
* Current grid size, or undefined while no terminal is live. While a snapshot is being parsed
|
|
453
|
+
* this is the grid the snapshot was serialized at; the closing `terminal-resize`, or the promise
|
|
454
|
+
* `restore()` returned, is the grid to negotiate a PTY size on.
|
|
455
|
+
*/
|
|
318
456
|
get currentSize() {
|
|
319
457
|
if (!this.terminal)
|
|
320
458
|
return undefined;
|
|
@@ -340,25 +478,99 @@ let DeesTerminalView = (() => {
|
|
|
340
478
|
bufferWrite(chunkArg) {
|
|
341
479
|
this.pendingWrites.push(chunkArg);
|
|
342
480
|
this.pendingWriteBytes += chunkByteLength(chunkArg);
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
481
|
+
// Oldest first, and never the newest entry: a buffered restore is older
|
|
482
|
+
// than every chunk, so it goes before any of them.
|
|
483
|
+
while (this.pendingWriteBytes > maxPendingWriteBytes &&
|
|
484
|
+
this.pendingWrites.length > (this.pendingRestore ? 0 : 1)) {
|
|
485
|
+
const droppedRestore = this.pendingRestore;
|
|
486
|
+
if (droppedRestore) {
|
|
487
|
+
this.pendingRestore = undefined;
|
|
488
|
+
this.pendingWriteBytes -= chunkByteLength(droppedRestore.data);
|
|
489
|
+
droppedRestore.deferred.reject(new Error('dees-terminal-view dropped a buffered restore: the output buffered after it exceeded maxPendingWriteBytes'));
|
|
490
|
+
}
|
|
491
|
+
else {
|
|
492
|
+
this.pendingWriteBytes -= chunkByteLength(this.pendingWrites.shift());
|
|
493
|
+
}
|
|
346
494
|
this.pendingWritesDropped = true;
|
|
347
495
|
}
|
|
348
496
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
const
|
|
497
|
+
/** Hands the buffered output over and leaves the buffer empty. */
|
|
498
|
+
takePendingOutput() {
|
|
499
|
+
const output = {
|
|
500
|
+
restore: this.pendingRestore,
|
|
501
|
+
writes: this.pendingWrites,
|
|
502
|
+
dropped: this.pendingWritesDropped,
|
|
503
|
+
};
|
|
504
|
+
this.pendingRestore = undefined;
|
|
352
505
|
this.pendingWrites = [];
|
|
353
506
|
this.pendingWriteBytes = 0;
|
|
354
507
|
this.pendingWritesDropped = false;
|
|
508
|
+
return output;
|
|
509
|
+
}
|
|
510
|
+
/** Empties the buffer ahead of a reset; a buffered restore is superseded by it. */
|
|
511
|
+
discardPendingOutput() {
|
|
512
|
+
this.takePendingOutput().restore?.deferred.resolve();
|
|
513
|
+
}
|
|
514
|
+
flushPendingWrites(terminalArg) {
|
|
515
|
+
const { restore, writes, dropped } = this.takePendingOutput();
|
|
516
|
+
if (restore && !this.startRestore(terminalArg, restore))
|
|
517
|
+
return;
|
|
355
518
|
if (dropped && !this.writeToTerminal(terminalArg, RIS))
|
|
356
519
|
return;
|
|
357
|
-
for (const chunk of
|
|
520
|
+
for (const chunk of writes) {
|
|
358
521
|
if (!this.writeToTerminal(terminalArg, chunk))
|
|
359
522
|
return;
|
|
360
523
|
}
|
|
361
524
|
}
|
|
525
|
+
/**
|
|
526
|
+
* Queues a restore into xterm's write stream. Resetting and resizing happen in the callback of
|
|
527
|
+
* the reset, so they take effect exactly at the restore's position in the stream, and the
|
|
528
|
+
* restore ends in the callback of its snapshot, before xterm parses the next chunk.
|
|
529
|
+
*/
|
|
530
|
+
startRestore(terminalArg, restoreArg) {
|
|
531
|
+
this.activeRestore?.deferred.resolve();
|
|
532
|
+
this.activeRestore = restoreArg;
|
|
533
|
+
this.terminalHost?.classList.add('restoring');
|
|
534
|
+
try {
|
|
535
|
+
terminalArg.write(RIS, () => this.applyRestoreSize(terminalArg, restoreArg));
|
|
536
|
+
terminalArg.write(restoreArg.data, () => this.finishRestore(restoreArg));
|
|
537
|
+
return true;
|
|
538
|
+
}
|
|
539
|
+
catch (error) {
|
|
540
|
+
// xterm refused the snapshot at its flow-control watermark. A reset it did accept is parsed
|
|
541
|
+
// later, finds the restore inactive and leaves the grid alone.
|
|
542
|
+
this.endRestore();
|
|
543
|
+
this.reportError(error);
|
|
544
|
+
restoreArg.deferred.reject(error);
|
|
545
|
+
return false;
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
applyRestoreSize(terminalArg, restoreArg) {
|
|
549
|
+
if (this.activeRestore !== restoreArg)
|
|
550
|
+
return;
|
|
551
|
+
terminalArg.resize(restoreArg.size.cols, restoreArg.size.rows);
|
|
552
|
+
// The host serialized the snapshot at this grid, so it is the size the host already knows:
|
|
553
|
+
// the closing refit reports only a difference from it.
|
|
554
|
+
this.lastReportedSize = gridKey(restoreArg.size);
|
|
555
|
+
}
|
|
556
|
+
finishRestore(restoreArg) {
|
|
557
|
+
// A superseded restore was settled when the newer one started.
|
|
558
|
+
if (this.activeRestore !== restoreArg)
|
|
559
|
+
return;
|
|
560
|
+
this.endRestore();
|
|
561
|
+
restoreArg.deferred.resolve();
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Hands the grid back to the container: one refit, then the terminal is revealed. The refit
|
|
565
|
+
* dispatches `terminal-resize` synchronously, and a restore its listener starts keeps the
|
|
566
|
+
* terminal hidden.
|
|
567
|
+
*/
|
|
568
|
+
endRestore() {
|
|
569
|
+
this.activeRestore = undefined;
|
|
570
|
+
this.refit();
|
|
571
|
+
if (!this.activeRestore)
|
|
572
|
+
this.terminalHost?.classList.remove('restoring');
|
|
573
|
+
}
|
|
362
574
|
/** xterm throws at its own flow-control watermark; that has to reach the host. */
|
|
363
575
|
writeToTerminal(terminalArg, chunkArg) {
|
|
364
576
|
try {
|
|
@@ -376,6 +588,9 @@ let DeesTerminalView = (() => {
|
|
|
376
588
|
const detail = { error: errorArg };
|
|
377
589
|
this.dispatchEvent(new CustomEvent('terminal-error', { detail, bubbles: true, composed: true }));
|
|
378
590
|
}
|
|
591
|
+
get terminalHost() {
|
|
592
|
+
return this.shadowRoot?.querySelector('.terminalHost') ?? null;
|
|
593
|
+
}
|
|
379
594
|
ensureTerminal(signalArg) {
|
|
380
595
|
if (this.terminal)
|
|
381
596
|
return Promise.resolve();
|
|
@@ -406,7 +621,7 @@ let DeesTerminalView = (() => {
|
|
|
406
621
|
// The load was awaited: the element may have been detached meanwhile.
|
|
407
622
|
if (signalArg.aborted || !this.isConnected)
|
|
408
623
|
return;
|
|
409
|
-
const host = this.
|
|
624
|
+
const host = this.terminalHost;
|
|
410
625
|
if (!host)
|
|
411
626
|
return;
|
|
412
627
|
const computed = getComputedStyle(this);
|
|
@@ -455,10 +670,16 @@ let DeesTerminalView = (() => {
|
|
|
455
670
|
this.refit();
|
|
456
671
|
this.resizeObserver = new ResizeObserver(() => this.refit());
|
|
457
672
|
this.resizeObserver.observe(host);
|
|
673
|
+
// An explicit focus() that arrived before the terminal existed is honoured now, once.
|
|
674
|
+
if (this.focusWhenReady) {
|
|
675
|
+
this.focusWhenReady = false;
|
|
676
|
+
terminal.focus();
|
|
677
|
+
}
|
|
458
678
|
this.readyResolve();
|
|
459
679
|
}
|
|
460
680
|
refit() {
|
|
461
|
-
|
|
681
|
+
// A restore owns the grid until its snapshot is parsed and refits once when it ends.
|
|
682
|
+
if (!this.terminal || !this.fitAddon || this.activeRestore)
|
|
462
683
|
return;
|
|
463
684
|
try {
|
|
464
685
|
this.fitAddon.fit();
|
|
@@ -466,7 +687,7 @@ let DeesTerminalView = (() => {
|
|
|
466
687
|
catch {
|
|
467
688
|
return;
|
|
468
689
|
}
|
|
469
|
-
const size =
|
|
690
|
+
const size = gridKey(this.terminal);
|
|
470
691
|
if (size === this.lastReportedSize)
|
|
471
692
|
return;
|
|
472
693
|
this.lastReportedSize = size;
|
|
@@ -481,6 +702,11 @@ let DeesTerminalView = (() => {
|
|
|
481
702
|
this.resizeObserver = undefined;
|
|
482
703
|
this.inputDisposable?.dispose();
|
|
483
704
|
this.inputDisposable = undefined;
|
|
705
|
+
// A disposed terminal never parses the rest of its queue, so a restore in flight would
|
|
706
|
+
// otherwise stay pending forever; the snapshot is lost with the terminal, like live output.
|
|
707
|
+
const interruptedRestore = this.activeRestore;
|
|
708
|
+
this.activeRestore = undefined;
|
|
709
|
+
this.terminalHost?.classList.remove('restoring');
|
|
484
710
|
this.terminal?.dispose();
|
|
485
711
|
this.terminal = undefined;
|
|
486
712
|
this.fitAddon = undefined;
|
|
@@ -488,11 +714,15 @@ let DeesTerminalView = (() => {
|
|
|
488
714
|
// re-announce its grid and may retry a load that failed.
|
|
489
715
|
this.lastReportedSize = '';
|
|
490
716
|
this.setupPromise = undefined;
|
|
717
|
+
// A focus request belongs to the connection it was made in; a reattached element must not
|
|
718
|
+
// grab the caret from wherever the user moved it meanwhile.
|
|
719
|
+
this.focusWhenReady = false;
|
|
491
720
|
// Buffered output deliberately survives, so a replay that arrived while the
|
|
492
721
|
// element was detached still reaches the next connection.
|
|
493
722
|
if (this.readyPending) {
|
|
494
723
|
this.readyReject(new Error('dees-terminal-view was disconnected before the terminal became ready'));
|
|
495
724
|
}
|
|
725
|
+
interruptedRestore?.deferred.reject(new Error('dees-terminal-view was disconnected before the restore completed'));
|
|
496
726
|
}
|
|
497
727
|
static {
|
|
498
728
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
@@ -501,4 +731,4 @@ let DeesTerminalView = (() => {
|
|
|
501
731
|
return DeesTerminalView = _classThis;
|
|
502
732
|
})();
|
|
503
733
|
export { DeesTerminalView };
|
|
504
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy10ZXJtaW5hbC12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLXRlcm1pbmFsLXZpZXcvZGVlcy10ZXJtaW5hbC12aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEdBQ1QsTUFBTSw2QkFBNkIsQ0FBQztBQUdyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQTJCbEU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFcEQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDO0FBRXBCLG1EQUFtRDtBQUNuRCxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQTZCLEVBQVUsRUFBRSxDQUNoRSxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0FBRTNFOzs7Ozs7Ozs7O0dBVUc7SUFFVSxnQkFBZ0I7NEJBRDVCLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7O2dDQUFuQixTQUFRLFdBQVc7Ozs7b0NBSzlDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztvQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFB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
|
|
734
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy10ZXJtaW5hbC12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLXRlcm1pbmFsLXZpZXcvZGVlcy10ZXJtaW5hbC12aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEdBQ1QsTUFBTSw2QkFBNkIsQ0FBQztBQUdyQyxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBOEJsRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUVwRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUM7QUFFcEIsbURBQW1EO0FBQ25ELE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBNkIsRUFBVSxFQUFFLENBQ2hFLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7QUFFM0Usb0ZBQW9GO0FBQ3BGLE1BQU0sT0FBTyxHQUFHLENBQUMsT0FBOEIsRUFBVSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUU5Rjs7Ozs7R0FLRztBQUNILE1BQU0sY0FBYyxHQUFHLENBQUMs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
|
|
@@ -11,3 +11,13 @@ export declare const harnessControlStyles: CSSResult;
|
|
|
11
11
|
export declare const harnessActivityStyles: CSSResult;
|
|
12
12
|
export declare const harnessPillStyles: CSSResult;
|
|
13
13
|
export declare const harnessMonoStyles: CSSResult;
|
|
14
|
+
/**
|
|
15
|
+
* Panel chrome of the harness sidebars: a full-height column of collapsible
|
|
16
|
+
* sections, each a heading button (chevron, optional icon, label, right-aligned
|
|
17
|
+
* summary) above the scrolling body of the expanded section. Shared by
|
|
18
|
+
* `dees-harness-sidebar` and `dees-harness-session-sidebar` so a host-composed
|
|
19
|
+
* panel and the session panel are the same surface. It expects the
|
|
20
|
+
* `.sidebar` > `.section` > `.sectionHeading` + `.sectionContent` structure and
|
|
21
|
+
* styles the element itself, so it belongs to those two elements only.
|
|
22
|
+
*/
|
|
23
|
+
export declare const harnessSidebarStyles: CSSResult;
|
|
@@ -105,4 +105,119 @@ export const harnessMonoStyles = css `
|
|
|
105
105
|
text-decoration: underline;
|
|
106
106
|
}
|
|
107
107
|
`;
|
|
108
|
-
|
|
108
|
+
/**
|
|
109
|
+
* Panel chrome of the harness sidebars: a full-height column of collapsible
|
|
110
|
+
* sections, each a heading button (chevron, optional icon, label, right-aligned
|
|
111
|
+
* summary) above the scrolling body of the expanded section. Shared by
|
|
112
|
+
* `dees-harness-sidebar` and `dees-harness-session-sidebar` so a host-composed
|
|
113
|
+
* panel and the session panel are the same surface. It expects the
|
|
114
|
+
* `.sidebar` > `.section` > `.sectionHeading` + `.sectionContent` structure and
|
|
115
|
+
* styles the element itself, so it belongs to those two elements only.
|
|
116
|
+
*/
|
|
117
|
+
export const harnessSidebarStyles = css `
|
|
118
|
+
:host {
|
|
119
|
+
display: flex;
|
|
120
|
+
flex-direction: column;
|
|
121
|
+
min-width: 0;
|
|
122
|
+
min-height: 0;
|
|
123
|
+
height: 100%;
|
|
124
|
+
font-family: var(--dees-font-family);
|
|
125
|
+
color: var(--dees-color-text-primary);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.sidebar {
|
|
129
|
+
display: flex;
|
|
130
|
+
flex-direction: column;
|
|
131
|
+
min-height: 0;
|
|
132
|
+
height: 100%;
|
|
133
|
+
overflow: hidden;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.section {
|
|
137
|
+
display: flex;
|
|
138
|
+
flex: 0 0 auto;
|
|
139
|
+
flex-direction: column;
|
|
140
|
+
min-height: 0;
|
|
141
|
+
overflow: hidden;
|
|
142
|
+
border-bottom: 1px solid var(--dees-color-border-subtle);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.section.expanded {
|
|
146
|
+
flex: 1 1 0;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.section:last-child {
|
|
150
|
+
border-bottom: 0;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.sectionHeading {
|
|
154
|
+
display: flex;
|
|
155
|
+
flex: 0 0 auto;
|
|
156
|
+
align-items: center;
|
|
157
|
+
gap: var(--dees-spacing-xs);
|
|
158
|
+
width: 100%;
|
|
159
|
+
min-height: 36px;
|
|
160
|
+
margin: 0;
|
|
161
|
+
padding: 6px 12px 6px 8px;
|
|
162
|
+
border: 0;
|
|
163
|
+
background: var(--dees-color-bg-canvas);
|
|
164
|
+
color: var(--dees-color-text-primary);
|
|
165
|
+
font-family: inherit;
|
|
166
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
167
|
+
font-weight: 600;
|
|
168
|
+
text-align: left;
|
|
169
|
+
cursor: pointer;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.sectionHeading:hover {
|
|
173
|
+
background: var(--dees-color-badge-default-bg);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.sectionHeading:focus-visible {
|
|
177
|
+
position: relative;
|
|
178
|
+
z-index: 1;
|
|
179
|
+
outline: 2px solid var(--dees-color-accent-primary);
|
|
180
|
+
outline-offset: -2px;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.sectionHeading dees-icon {
|
|
184
|
+
flex: 0 0 auto;
|
|
185
|
+
color: var(--dees-color-text-secondary);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.sectionHeadingText {
|
|
189
|
+
min-width: 0;
|
|
190
|
+
flex-shrink: 0;
|
|
191
|
+
overflow: hidden;
|
|
192
|
+
text-overflow: ellipsis;
|
|
193
|
+
white-space: nowrap;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.sectionSummary {
|
|
197
|
+
flex: 0 1 auto;
|
|
198
|
+
min-width: 0;
|
|
199
|
+
overflow: hidden;
|
|
200
|
+
text-overflow: ellipsis;
|
|
201
|
+
white-space: nowrap;
|
|
202
|
+
margin-left: auto;
|
|
203
|
+
color: var(--dees-color-text-muted);
|
|
204
|
+
font-size: 11px;
|
|
205
|
+
font-variant-numeric: tabular-nums;
|
|
206
|
+
font-weight: 500;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.sectionContent {
|
|
210
|
+
flex: 1;
|
|
211
|
+
min-height: 0;
|
|
212
|
+
overflow-x: hidden;
|
|
213
|
+
overflow-y: auto;
|
|
214
|
+
padding: var(--dees-spacing-sm) var(--dees-spacing-md);
|
|
215
|
+
scrollbar-width: thin;
|
|
216
|
+
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.sectionContent[hidden] {
|
|
220
|
+
display: none;
|
|
221
|
+
}
|
|
222
|
+
`;
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFybmVzcy5zdHlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2hhcm5lc3Muc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFFbEU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFjLEdBQUcsQ0FBQTs7Ozs7Ozs7O0NBUzlDLENBQUM7QUFFRixnRUFBZ0U7QUFDaEUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWMsR0FBRyxDQUFBOzs7Ozs7Ozs7OztDQVdqRCxDQUFDO0FBRUYsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFjLEdBQUcsQ0FBQTs7Ozs7Ozs7O0NBU2xELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBYyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWlDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFjLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FnQzlDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFjLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBeUdqRCxDQUFDIn0=
|
|
@@ -16,6 +16,7 @@ export * from './dees-harness-message-list/index.js';
|
|
|
16
16
|
export * from './dees-harness-reasoning/index.js';
|
|
17
17
|
export * from './dees-harness-session-list/index.js';
|
|
18
18
|
export * from './dees-harness-session-sidebar/index.js';
|
|
19
|
+
export * from './dees-harness-sidebar/index.js';
|
|
19
20
|
export * from './dees-terminal-view/index.js';
|
|
20
21
|
export * from './dees-harness-status/index.js';
|
|
21
22
|
export * from './dees-harness-todos/index.js';
|
|
@@ -19,9 +19,10 @@ export * from './dees-harness-message-list/index.js';
|
|
|
19
19
|
export * from './dees-harness-reasoning/index.js';
|
|
20
20
|
export * from './dees-harness-session-list/index.js';
|
|
21
21
|
export * from './dees-harness-session-sidebar/index.js';
|
|
22
|
+
export * from './dees-harness-sidebar/index.js';
|
|
22
23
|
export * from './dees-terminal-view/index.js';
|
|
23
24
|
export * from './dees-harness-status/index.js';
|
|
24
25
|
export * from './dees-harness-todos/index.js';
|
|
25
26
|
export * from './dees-harness-tool-card/index.js';
|
|
26
27
|
export * from './dees-harness-usage/index.js';
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyRUFBMkU7QUFDM0UsNkVBQTZFO0FBQzdFLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUYsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrQkFBK0IsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
|
@@ -45,12 +45,12 @@
|
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@design.estate/dees-wcctools": "^3.9.4",
|
|
48
|
-
"@git.zone/tsbuild": "^4.
|
|
48
|
+
"@git.zone/tsbuild": "^4.5.0",
|
|
49
49
|
"@git.zone/tsbundle": "^2.13.0",
|
|
50
50
|
"@git.zone/tstest": "^6.1.1",
|
|
51
51
|
"@git.zone/tswatch": "^3.3.5",
|
|
52
52
|
"@push.rocks/projectinfo": "^5.1.0",
|
|
53
|
-
"@types/node": "^26.5.
|
|
53
|
+
"@types/node": "^26.5.1"
|
|
54
54
|
},
|
|
55
55
|
"files": [
|
|
56
56
|
"ts/**/*",
|