@design.estate/dees-catalog 12.0.0 → 12.1.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 +38 -3
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.d.ts +22 -1
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.js +42 -3
- package/package.json +1 -1
- package/readme.md +3 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.ts +42 -2
package/dist_bundle/bundle.js
CHANGED
|
@@ -182712,6 +182712,11 @@ var _DeesTerminalView = class _DeesTerminalView extends (_a102 = DeesElement, _f
|
|
|
182712
182712
|
__publicField(this, "pendingWriteBytes", 0);
|
|
182713
182713
|
__publicField(this, "pendingWritesDropped", false);
|
|
182714
182714
|
__publicField(this, "setupPromise");
|
|
182715
|
+
/**
|
|
182716
|
+
* Set only by an explicit `focus()` that arrived before the terminal existed. Nothing else sets
|
|
182717
|
+
* it, so a re-render, a write, or a resize can never move the caret into this element.
|
|
182718
|
+
*/
|
|
182719
|
+
__publicField(this, "focusWhenReady", false);
|
|
182715
182720
|
__publicField(this, "readyPending", true);
|
|
182716
182721
|
__publicField(this, "readyResolve", /* @__PURE__ */ __name(() => void 0, "readyResolve"));
|
|
182717
182722
|
__publicField(this, "readyReject", /* @__PURE__ */ __name(() => void 0, "readyReject"));
|
|
@@ -182756,8 +182761,33 @@ var _DeesTerminalView = class _DeesTerminalView extends (_a102 = DeesElement, _f
|
|
|
182756
182761
|
this.pendingWriteBytes = chunkByteLength(RIS);
|
|
182757
182762
|
this.pendingWritesDropped = false;
|
|
182758
182763
|
}
|
|
182759
|
-
|
|
182760
|
-
|
|
182764
|
+
/**
|
|
182765
|
+
* Moves the caret into the terminal's input surface, so the next keystroke goes to the pty
|
|
182766
|
+
* rather than to whatever the page focused last. This is the call a host makes when the user
|
|
182767
|
+
* selects a terminal in a list.
|
|
182768
|
+
*
|
|
182769
|
+
* The terminal is created asynchronously — the xterm modules are loaded on first connection —
|
|
182770
|
+
* so a call that arrives before it exists is remembered and applied once it is ready, exactly
|
|
182771
|
+
* once. The same applies to an element that is focused while detached and then reattached: the
|
|
182772
|
+
* pending request is dropped on disconnect, because by then the user's intent has expired, and
|
|
182773
|
+
* a fresh `focus()` after the move is what a host should issue.
|
|
182774
|
+
*
|
|
182775
|
+
* Only this method arms that behaviour; re-renders, buffered output and background updates
|
|
182776
|
+
* never steal focus.
|
|
182777
|
+
*/
|
|
182778
|
+
focus(optionsArg) {
|
|
182779
|
+
const terminal = this.terminal;
|
|
182780
|
+
if (terminal && this.isConnected) {
|
|
182781
|
+
this.focusWhenReady = false;
|
|
182782
|
+
terminal.focus();
|
|
182783
|
+
return;
|
|
182784
|
+
}
|
|
182785
|
+
void optionsArg;
|
|
182786
|
+
this.focusWhenReady = true;
|
|
182787
|
+
}
|
|
182788
|
+
/** True while an explicit `focus()` is waiting for the terminal to come up. */
|
|
182789
|
+
get focusPending() {
|
|
182790
|
+
return this.focusWhenReady;
|
|
182761
182791
|
}
|
|
182762
182792
|
/** Current grid size, or undefined while no terminal is live. */
|
|
182763
182793
|
get currentSize() {
|
|
@@ -182882,6 +182912,10 @@ var _DeesTerminalView = class _DeesTerminalView extends (_a102 = DeesElement, _f
|
|
|
182882
182912
|
this.refit();
|
|
182883
182913
|
this.resizeObserver = new ResizeObserver(() => this.refit());
|
|
182884
182914
|
this.resizeObserver.observe(host);
|
|
182915
|
+
if (this.focusWhenReady) {
|
|
182916
|
+
this.focusWhenReady = false;
|
|
182917
|
+
terminal.focus();
|
|
182918
|
+
}
|
|
182885
182919
|
this.readyResolve();
|
|
182886
182920
|
}
|
|
182887
182921
|
refit() {
|
|
@@ -182912,6 +182946,7 @@ var _DeesTerminalView = class _DeesTerminalView extends (_a102 = DeesElement, _f
|
|
|
182912
182946
|
this.fitAddon = void 0;
|
|
182913
182947
|
this.lastReportedSize = "";
|
|
182914
182948
|
this.setupPromise = void 0;
|
|
182949
|
+
this.focusWhenReady = false;
|
|
182915
182950
|
if (this.readyPending) {
|
|
182916
182951
|
this.readyReject(
|
|
182917
182952
|
new Error("dees-terminal-view was disconnected before the terminal became ready")
|
|
@@ -224465,7 +224500,7 @@ init_group_runtime();
|
|
|
224465
224500
|
// ts_web/00_commitinfo_data.ts
|
|
224466
224501
|
var commitinfo = {
|
|
224467
224502
|
name: "@design.estate/dees-catalog",
|
|
224468
|
-
version: "12.
|
|
224503
|
+
version: "12.1.0",
|
|
224469
224504
|
description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
|
|
224470
224505
|
};
|
|
224471
224506
|
|