@sagmans/dsh-tui 0.11.2 → 0.13.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 +49 -2
- package/cordis.patch.yml +4 -0
- package/lib/agent/status.d.ts +5 -0
- package/lib/agent/status.d.ts.map +1 -1
- package/lib/agent/status.js +2 -0
- package/lib/agent/status.js.map +1 -1
- package/lib/gates/questions.d.ts.map +1 -1
- package/lib/gates/questions.js +9 -6
- package/lib/gates/questions.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +14 -1
- package/lib/index.js.map +1 -1
- package/lib/input/action-catalog.d.ts +3 -1
- package/lib/input/action-catalog.d.ts.map +1 -1
- package/lib/input/action-catalog.js +7 -2
- package/lib/input/action-catalog.js.map +1 -1
- package/lib/input/actions.d.ts +8 -3
- package/lib/input/actions.d.ts.map +1 -1
- package/lib/input/actions.js +22 -12
- package/lib/input/actions.js.map +1 -1
- package/lib/input/completion.js +4 -2
- package/lib/input/completion.js.map +1 -1
- package/lib/input/file-search.d.ts +3 -1
- package/lib/input/file-search.d.ts.map +1 -1
- package/lib/input/file-search.js +22 -6
- package/lib/input/file-search.js.map +1 -1
- package/lib/input/keymap-conflicts.d.ts +5 -4
- package/lib/input/keymap-conflicts.d.ts.map +1 -1
- package/lib/input/keymap-conflicts.js +12 -12
- package/lib/input/keymap-conflicts.js.map +1 -1
- package/lib/input/keymap-settings.d.ts +4 -7
- package/lib/input/keymap-settings.d.ts.map +1 -1
- package/lib/input/keymap-settings.js +6 -5
- package/lib/input/keymap-settings.js.map +1 -1
- package/lib/input/keymap.d.ts.map +1 -1
- package/lib/input/keymap.js +6 -6
- package/lib/input/keymap.js.map +1 -1
- package/lib/input/submission.d.ts +3 -0
- package/lib/input/submission.d.ts.map +1 -1
- package/lib/input/submission.js.map +1 -1
- package/lib/input.d.ts +6 -0
- package/lib/input.d.ts.map +1 -1
- package/lib/input.js +32 -1
- package/lib/input.js.map +1 -1
- package/lib/keymaps.d.ts +56 -0
- package/lib/keymaps.d.ts.map +1 -0
- package/lib/keymaps.js +106 -0
- package/lib/keymaps.js.map +1 -0
- package/lib/keys-command.d.ts.map +1 -1
- package/lib/keys-command.js +4 -4
- package/lib/keys-command.js.map +1 -1
- package/lib/surface/appearance.d.ts +3 -0
- package/lib/surface/appearance.d.ts.map +1 -1
- package/lib/surface/appearance.js +15 -3
- package/lib/surface/appearance.js.map +1 -1
- package/lib/surface/commands.d.ts +2 -0
- package/lib/surface/commands.d.ts.map +1 -1
- package/lib/surface/commands.js +3 -0
- package/lib/surface/commands.js.map +1 -1
- package/lib/surface/modal-input.d.ts +1 -0
- package/lib/surface/modal-input.d.ts.map +1 -1
- package/lib/surface/modal-input.js +77 -45
- package/lib/surface/modal-input.js.map +1 -1
- package/lib/surface/model-choice.d.ts +5 -0
- package/lib/surface/model-choice.d.ts.map +1 -1
- package/lib/surface/model-choice.js +6 -2
- package/lib/surface/model-choice.js.map +1 -1
- package/lib/surface/plugin-actions.d.ts +18 -0
- package/lib/surface/plugin-actions.d.ts.map +1 -0
- package/lib/surface/plugin-actions.js +45 -0
- package/lib/surface/plugin-actions.js.map +1 -0
- package/lib/surface/prompt-input.d.ts.map +1 -1
- package/lib/surface/prompt-input.js +4 -0
- package/lib/surface/prompt-input.js.map +1 -1
- package/lib/terminal/host-writes.d.ts.map +1 -1
- package/lib/terminal/host-writes.js +15 -9
- package/lib/terminal/host-writes.js.map +1 -1
- package/lib/terminal/warning-screen.d.ts +9 -2
- package/lib/terminal/warning-screen.d.ts.map +1 -1
- package/lib/terminal/warning-screen.js +148 -22
- package/lib/terminal/warning-screen.js.map +1 -1
- package/lib/terminal-text.d.ts.map +1 -1
- package/lib/terminal-text.js +12 -6
- package/lib/terminal-text.js.map +1 -1
- package/lib/theme-settings.d.ts +2 -10
- package/lib/theme-settings.d.ts.map +1 -1
- package/lib/transcript.d.ts +5 -0
- package/lib/transcript.d.ts.map +1 -1
- package/lib/transcript.js +30 -13
- package/lib/transcript.js.map +1 -1
- package/lib/ui/copy.js +3 -0
- package/lib/ui/copy.js.map +1 -1
- package/lib/ui/dock.d.ts +8 -0
- package/lib/ui/dock.d.ts.map +1 -1
- package/lib/ui/dock.js +17 -0
- package/lib/ui/dock.js.map +1 -1
- package/lib/ui/editor.d.ts +16 -11
- package/lib/ui/editor.d.ts.map +1 -1
- package/lib/ui/editor.js +62 -39
- package/lib/ui/editor.js.map +1 -1
- package/lib/ui/frame.d.ts +11 -5
- package/lib/ui/frame.d.ts.map +1 -1
- package/lib/ui/frame.js +23 -7
- package/lib/ui/frame.js.map +1 -1
- package/lib/ui/layout.d.ts +3 -4
- package/lib/ui/layout.d.ts.map +1 -1
- package/lib/ui/layout.js +12 -7
- package/lib/ui/layout.js.map +1 -1
- package/lib/ui/picker.d.ts +1 -0
- package/lib/ui/picker.d.ts.map +1 -1
- package/lib/ui/picker.js +22 -9
- package/lib/ui/picker.js.map +1 -1
- package/lib/ui/queue.d.ts +1 -1
- package/lib/ui/queue.d.ts.map +1 -1
- package/lib/ui/queue.js +14 -3
- package/lib/ui/queue.js.map +1 -1
- package/lib/ui/status.d.ts +2 -0
- package/lib/ui/status.d.ts.map +1 -1
- package/lib/ui/status.js +4 -3
- package/lib/ui/status.js.map +1 -1
- package/lib/ui/view/document.d.ts +30 -0
- package/lib/ui/view/document.d.ts.map +1 -0
- package/lib/ui/view/document.js +87 -0
- package/lib/ui/view/document.js.map +1 -0
- package/lib/ui/view/transcript-message.d.ts.map +1 -1
- package/lib/ui/view/transcript-message.js +4 -3
- package/lib/ui/view/transcript-message.js.map +1 -1
- package/lib/ui/view.d.ts +45 -76
- package/lib/ui/view.d.ts.map +1 -1
- package/lib/ui/view.js +71 -148
- package/lib/ui/view.js.map +1 -1
- package/package.json +6 -1
package/lib/ui/copy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/ui/copy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/ui/copy.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/dock.d.ts
CHANGED
|
@@ -44,6 +44,14 @@ export declare class WorkDock implements Component {
|
|
|
44
44
|
invalidate(): void;
|
|
45
45
|
/** Text opens its child; other cells in a foldable section control that fold. */
|
|
46
46
|
handleMouse(event: TuiMouseEvent): TuiMouseEventResult | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* The blank row a board opens with when another board is already drawn.
|
|
49
|
+
*
|
|
50
|
+
* The boards report different kinds of work, and two dashed rules read as one
|
|
51
|
+
* list until a row of air says otherwise. The panel's own lead row is the
|
|
52
|
+
* break above the first board, so the first one here asks for nothing.
|
|
53
|
+
*/
|
|
54
|
+
private openBoard;
|
|
47
55
|
/**
|
|
48
56
|
* The dashed rule that opens a section, with the section's name on it.
|
|
49
57
|
*
|
package/lib/ui/dock.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dock.d.ts","sourceRoot":"","sources":["../../src/ui/dock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACnH,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AACjF,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAEzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"dock.d.ts","sourceRoot":"","sources":["../../src/ui/dock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACnH,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AACjF,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAEzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,YAAY,CAAA;AAGtD,mEAAmE;AACnE,eAAO,MAAM,eAAe,IAAI,CAAA;AAkEhC;;;;;;;GAOG;AACH,qBAAa,QAAS,YAAW,SAAS;IAWtC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAnBhC,qEAAqE;IACrE,OAAO,CAAC,iBAAiB,CAAQ;IACjC,yEAAyE;IACzE,OAAO,CAAC,eAAe,CAAiE;IACxF,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkD;IAChF,2GAA2G;IAC3G,OAAO,CAAC,YAAY,CAAI;gBAGL,KAAK,EAAE,MAAM,SAAS,EACtB,KAAK,EAAE,QAAQ;IAChC,8EAA8E;IAC7D,IAAI,GAAE,MAAM,SAAS,UAAU,EAAa;IAC7D,yDAAyD;IACxC,SAAS,GAAE,MAAM,SAAS,WAAW,EAAa;IACnE,mEAAmE;IAClD,GAAG,GAAE,MAAM,MAAyB;IACrD,mFAAmF;IAClE,YAAY,CAAC,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,aAAA;IAGtD,UAAU,IAAI,IAAI;IAIlB,iFAAiF;IACjF,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS;IAgBlE;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAcnB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;IAyBjB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,QAAQ;IAyBhB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CAwChC"}
|
package/lib/ui/dock.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { visibleWidth } from '@earendil-works/pi-tui';
|
|
2
2
|
import { DOCK_JOB_LIMIT, describeJob, isLive } from "../jobs.js";
|
|
3
3
|
import { DOCK_SUBAGENT_LIMIT, describeSubagent } from "../subagents.js";
|
|
4
|
+
import { pushGap } from "./gap.js";
|
|
4
5
|
/** Todo rows the dock keeps on screen; the rest become a count. */
|
|
5
6
|
export const DOCK_TODO_LIMIT = 4;
|
|
6
7
|
/** The mark that introduces a dock section, so a literal never lives in a template. */
|
|
@@ -106,6 +107,17 @@ export class WorkDock {
|
|
|
106
107
|
this.subagentsExpanded = !this.subagentsExpanded;
|
|
107
108
|
return { handled: true, render: true };
|
|
108
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* The blank row a board opens with when another board is already drawn.
|
|
112
|
+
*
|
|
113
|
+
* The boards report different kinds of work, and two dashed rules read as one
|
|
114
|
+
* list until a row of air says otherwise. The panel's own lead row is the
|
|
115
|
+
* break above the first board, so the first one here asks for nothing.
|
|
116
|
+
*/
|
|
117
|
+
openBoard(lines) {
|
|
118
|
+
if (lines.length > 0)
|
|
119
|
+
pushGap(lines);
|
|
120
|
+
}
|
|
109
121
|
/**
|
|
110
122
|
* The dashed rule that opens a section, with the section's name on it.
|
|
111
123
|
*
|
|
@@ -150,6 +162,7 @@ export class WorkDock {
|
|
|
150
162
|
const open = todos.filter(isOpenTodo);
|
|
151
163
|
if (open.length === 0)
|
|
152
164
|
return;
|
|
165
|
+
this.openBoard(lines);
|
|
153
166
|
const ordered = orderTodos(open);
|
|
154
167
|
const rows = [];
|
|
155
168
|
for (const todo of ordered.slice(0, DOCK_TODO_LIMIT)) {
|
|
@@ -176,6 +189,7 @@ export class WorkDock {
|
|
|
176
189
|
this.subagentsExpanded = false;
|
|
177
190
|
if (running.length === 0)
|
|
178
191
|
return;
|
|
192
|
+
this.openBoard(lines);
|
|
179
193
|
const start = lines.length;
|
|
180
194
|
const headingRows = this.theme.visible('dock.subagents.heading') ? 1 : 0;
|
|
181
195
|
const limit = this.subagentsExpanded ? running.length : DOCK_SUBAGENT_LIMIT;
|
|
@@ -207,6 +221,7 @@ export class WorkDock {
|
|
|
207
221
|
const live = jobs.filter(job => isLive(job.status));
|
|
208
222
|
if (live.length === 0)
|
|
209
223
|
return;
|
|
224
|
+
this.openBoard(lines);
|
|
210
225
|
const ordered = [...live].sort((left, right) => right.startedAt - left.startedAt);
|
|
211
226
|
const now = this.now();
|
|
212
227
|
const rows = [];
|
|
@@ -243,9 +258,11 @@ export class WorkDock {
|
|
|
243
258
|
// always sees that something was left out.
|
|
244
259
|
const objective = state.goal.objective.replace(/\s+/gu, ' ');
|
|
245
260
|
const lead = `${GOAL_MARK} goal ${phase}${rounds} · `;
|
|
261
|
+
this.openBoard(lines);
|
|
246
262
|
lines.push(this.theme.cut(this.theme.rich(`${lead}${objective}`, { token: 'dock.goal', column: visibleWidth(lead) }), width, '…'));
|
|
247
263
|
}
|
|
248
264
|
if (state.planMode && this.theme.visible('dock.planMode')) {
|
|
265
|
+
this.openBoard(lines);
|
|
249
266
|
lines.push(this.theme.style('dock.planMode', this.theme.cut(`${PLAN_MODE_MARK} plan mode · answer the plan before edits happen`, width, '…')));
|
|
250
267
|
}
|
|
251
268
|
const subagents = this.subagents();
|
package/lib/ui/dock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dock.js","sourceRoot":"","sources":["../../src/ui/dock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgE,MAAM,wBAAwB,CAAA;AACnH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAmB,MAAM,YAAY,CAAA;AACjF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAoB,MAAM,iBAAiB,CAAA;AAKzF,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEhC,uFAAuF;AACvF,MAAM,SAAS,GAAG,GAAG,CAAA;AACrB,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,MAAM,UAAU,GAAG,GAAG,CAAA;AACtB,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,MAAM,wBAAwB,GAAG,GAAG,CAAA;AACpC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AACnC,MAAM,SAAS,GAAG,GAAG,CAAA;AAErB,qFAAqF;AACrF,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAC7B,MAAM,iBAAiB,GAAG,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,CAAA;AAkBrE,6FAA6F;AAC7F,MAAM,UAAU,GAAG,CAAC,IAAe,EAAoB,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAA;AAErF,mDAAmD;AACnD,MAAM,WAAW,GAA6C;IAC5D,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,GAAG;CACjB,CAAA;AACD,wFAAwF;AACxF,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,MAAM,mBAAmB,GAAG,IAAI,CAAA;AAEhC,kFAAkF;AAClF,MAAM,WAAW,GAA+C;IAC9D,OAAO,EAAE,oBAAoB;IAC7B,WAAW,EAAE,uBAAuB;CACrC,CAAA;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,KAA0B;IAC5C,MAAM,IAAI,GAAmC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IAC3E,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AACjF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,QAAQ;IAWA;IACA;IAEA;IAEA;IAEA;IAEA;IAnBnB,qEAAqE;IAC7D,iBAAiB,GAAG,KAAK,CAAA;IACjC,yEAAyE;IACjE,eAAe,CAAiE;IACxF,wEAAwE;IACvD,aAAa,GAAG,IAAI,GAAG,EAAwC,CAAA;IAChF,2GAA2G;IACnG,YAAY,GAAG,CAAC,CAAA;IAExB,YACmB,KAAsB,EACtB,KAAe;IAChC,8EAA8E;IAC7D,OAAoC,GAAG,EAAE,CAAC,EAAE;IAC7D,yDAAyD;IACxC,YAA0C,GAAG,EAAE,CAAC,EAAE;IACnE,mEAAmE;IAClD,MAAoB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrD,mFAAmF;IAClE,YAAmC;QATnC,UAAK,GAAL,KAAK,CAAiB;QACtB,UAAK,GAAL,KAAK,CAAU;QAEf,SAAI,GAAJ,IAAI,CAAwC;QAE5C,cAAS,GAAT,SAAS,CAAyC;QAElD,QAAG,GAAH,GAAG,CAAiC;QAEpC,iBAAY,GAAZ,YAAY,CAAuB;IACnD,CAAC;IAEJ,UAAU;QACR,sFAAsF;IACxF,CAAC;IAED,iFAAiF;IACjF,WAAW,CAAC,KAAoB;QAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,SAAS,CAAA;QACvE,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QACrG,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAA;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9F,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACxC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAA;QACpC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC/G,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAA;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACxC,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CAAC,KAAa,EAAE,OAAoB;QACrD,MAAM,IAAI,GAAG,GAAG,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAA;QACtD,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QAC5F,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;QAC9G,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAA;IAChC,CAAC;IAED;;;;;;;;OAQG;IACK,WAAW,CAAC,KAAe,EAAE,KAAa,EAAE,OAAoB,EAAE,IAAuB;QAC/F,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAC1F,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACrB,CAAC;IAEO,SAAS,CAAC,KAAe,EAAE,KAA2B,EAAE,KAAa;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,WAAW;QACX,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,SAAQ;YACxC,MAAM,IAAI,GAAG,KAAK,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;YAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACzH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,GAAG,eAAe,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAChI,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE;YAC7B,OAAO,EAAE,GAAG,UAAU,YAAY,IAAI,CAAC,MAAM,OAAO;YACpD,YAAY,EAAE,oBAAoB;YAClC,WAAW,EAAE,mBAAmB;SACjC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IAEO,aAAa,CAAC,KAAe,EAAE,IAA4B,EAAE,KAAa;QAChF,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;QAC5D,IAAI,OAAO,CAAC,MAAM,IAAI,mBAAmB;YAAE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAA;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBAAE,SAAQ;YAC3D,MAAM,IAAI,GAAG,GAAG,mBAAmB,GAAG,YAAY,GAAG,CAAA;YACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;YAChK,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,GAAG,KAAK,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAC1H,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAA;QAC/I,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE;YAC7B,OAAO,EAAE,GAAG,cAAc,aAAa,QAAQ,MAAM,OAAO,CAAC,MAAM,UAAU;YAC7E,YAAY,EAAE,wBAAwB;YACtC,WAAW,EAAE,uBAAuB;SACrC,EAAE,IAAI,CAAC,CAAA;QACR,IAAI,CAAC,eAAe,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACvG,CAAC;IAEO,QAAQ,CAAC,KAAe,EAAE,IAA2B,EAAE,KAAa;QAC1E,6EAA6E;QAC7E,0EAA0E;QAC1E,yCAAyC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC7B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAAE,SAAQ;YACtD,MAAM,IAAI,GAAG,KAAK,YAAY,GAAG,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACvJ,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,GAAG,cAAc,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAC9H,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE;YAC7B,OAAO,EAAE,GAAG,SAAS,WAAW,IAAI,CAAC,MAAM,UAAU;YACrD,YAAY,EAAE,mBAAmB;YACjC,WAAW,EAAE,kBAAkB;SAChC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;gBAC/C,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;YAC/D,yEAAyE;YACzE,0EAA0E;YAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAA;YAC3E,oEAAoE;YACpE,2CAA2C;YAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAC5D,MAAM,IAAI,GAAG,GAAG,SAAS,SAAS,KAAK,GAAG,MAAM,KAAK,CAAA;YACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACpI,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,kDAAkD,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAChJ,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAClC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACtD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACxE,gFAAgF;QAChF,gFAAgF;QAChF,+EAA+E;QAC/E,8EAA8E;QAC9E,iFAAiF;QACjF,8DAA8D;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAC5B,OAAO,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,CAAA;IACnC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"dock.js","sourceRoot":"","sources":["../../src/ui/dock.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/editor.d.ts
CHANGED
|
@@ -19,18 +19,17 @@ export interface GhostRequest {
|
|
|
19
19
|
export interface GhostBrush {
|
|
20
20
|
/** Whether the affordance may draw at all; colour and settings decide this. */
|
|
21
21
|
enabled(): boolean;
|
|
22
|
-
/**
|
|
22
|
+
/** Probe already-loaded entries only: consent must gate exposure, not trigger storage access. */
|
|
23
23
|
suggestion(input: GhostRequest): string | undefined;
|
|
24
24
|
/** Paint one run of the suffix; '' leaves the run undrawn. */
|
|
25
25
|
paint(text: string, cell: GhostCell): string;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* The input bar
|
|
28
|
+
* The input bar shares the messages' left rail without enclosing the draft.
|
|
29
29
|
*
|
|
30
|
-
* The editor
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* while writing: a list that grows upward never covers the line being typed.
|
|
30
|
+
* The base editor still owns wrapping and scrolling, so only its enclosing
|
|
31
|
+
* rules are removed. Completion stays above the draft to avoid covering the
|
|
32
|
+
* line being typed, and scroll counts keep clipped text discoverable.
|
|
34
33
|
*/
|
|
35
34
|
export declare class BoxedEditor extends Editor {
|
|
36
35
|
private readonly keymap;
|
|
@@ -39,8 +38,14 @@ export declare class BoxedEditor extends Editor {
|
|
|
39
38
|
private menuRows;
|
|
40
39
|
/** Rows between the rules in the last render; how the base editor counts its own. */
|
|
41
40
|
private textRows;
|
|
42
|
-
/**
|
|
43
|
-
private
|
|
41
|
+
/** Pointer translation is safe only after recognizing the base layout. */
|
|
42
|
+
private mapped;
|
|
43
|
+
/** Hidden rows stay discoverable after removing the enclosing rules. */
|
|
44
|
+
private hiddenAbove;
|
|
45
|
+
private hiddenBelow;
|
|
46
|
+
/** Pointer offsets follow only the furniture actually drawn. */
|
|
47
|
+
private railColumns;
|
|
48
|
+
private topIndicatorRows;
|
|
44
49
|
constructor(tui: TUI, theme: EditorTheme, keymap?: () => Keymap, ghost?: GhostBrush | undefined);
|
|
45
50
|
/**
|
|
46
51
|
* Read the two presses the base class cannot place on its own.
|
|
@@ -54,8 +59,8 @@ export declare class BoxedEditor extends Editor {
|
|
|
54
59
|
handleInput(data: string): void;
|
|
55
60
|
/** Tag the closing rule so {@link render} can find where the box ends. */
|
|
56
61
|
protected renderBottomBorder(width: number, hiddenLineCount: number): string;
|
|
57
|
-
/**
|
|
58
|
-
|
|
62
|
+
/** The base owns scrolling; its count survives without its top rule. */
|
|
63
|
+
protected renderTopBorder(width: number, hiddenLineCount: number): string;
|
|
59
64
|
/**
|
|
60
65
|
* Rewrite one row of the text before it is framed, so a subclass can hide
|
|
61
66
|
* what it collects without hiding the box the reader types inside.
|
|
@@ -83,7 +88,7 @@ export declare class BoxedEditor extends Editor {
|
|
|
83
88
|
* The base editor hit-tests the rows it painted in its own order — the input
|
|
84
89
|
* under the top rule, the menu after the bottom one — and measures columns
|
|
85
90
|
* from the edge of the width it was asked for. This subclass draws the menu
|
|
86
|
-
* first
|
|
91
|
+
* first, removes the rules, and adds a rail, so clicks must be translated
|
|
87
92
|
* back before that hit test can say what it hit.
|
|
88
93
|
*/
|
|
89
94
|
handleMouse(event: TuiMouseEvent): TuiMouseEventResult | undefined;
|
package/lib/ui/editor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAMN,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAsE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAMN,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAsE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAwDzH,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEzC,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,OAAO,IAAI,OAAO,CAAA;IAClB,iGAAiG;IACjG,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;IACnD,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CAC7C;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAiBnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAjBzB,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAI;IACpB,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAI;IACpB,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAQ;IACtB,wEAAwE;IACxE,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,WAAW,CAAI;IACvB,gEAAgE;IAChE,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,gBAAgB,CAAI;gBAG1B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,WAAW,EACD,MAAM,GAAE,MAAM,MAAsB,EACpC,KAAK,CAAC,EAAE,UAAU,YAAA;IAKrC;;;;;;;;OAQG;IACM,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkCxC,0EAA0E;cACvD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAKrF,wEAAwE;cACrD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAKlF;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI3C,kFAAkF;IAClF,OAAO,CAAC,kBAAkB;IAoB1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA0BhB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkBV,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAmCxC;;;;;;;;OAQG;IACM,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS;CAQ5E"}
|
package/lib/ui/editor.js
CHANGED
|
@@ -4,7 +4,7 @@ import { ENTER_KEY } from "../input/key-press.js";
|
|
|
4
4
|
import { ghostDisplayLine, ghostGraphemes, isCursorAtTextEnd, nextGhostWord } from "../input/ghost.js";
|
|
5
5
|
import { promptKeys } from "../input/keymap.js";
|
|
6
6
|
import { renderTerminalText } from "../terminal-text.js";
|
|
7
|
-
import { FRAME_COLUMNS, FRAME_GLYPHS, MIN_BOX_WIDTH, PADDING_X } from "./frame.js";
|
|
7
|
+
import { FRAME_COLUMNS, RAIL_COLUMNS, FRAME_GLYPHS, MIN_BOX_WIDTH, MIN_RAIL_WIDTH, PADDING_X, textRow } from "./frame.js";
|
|
8
8
|
/**
|
|
9
9
|
* Marks the rule that closes the input while one render is in flight.
|
|
10
10
|
*
|
|
@@ -46,13 +46,17 @@ const KITTY_CTRL_J = '\u001b[106;5u';
|
|
|
46
46
|
* character before treating the sequence as padding.
|
|
47
47
|
*/
|
|
48
48
|
const CURSOR_AT_END = '\u001b[7m \u001b[0m';
|
|
49
|
+
/** Typed text contains no escapes, so only the base editor's cursor cell can match. */
|
|
50
|
+
const SYNTHETIC_CURSOR = /\u001b\[7m([^\u001b]*)\u001b\[0m/gu;
|
|
51
|
+
/** Only acceptance chords need a live consent projection before changing the draft. */
|
|
52
|
+
const GHOST_ACCEPT_ALL_KEY = 'ctrl+e';
|
|
53
|
+
const GHOST_WORD_RIGHT_ACTION = 'tui.editor.cursorWordRight';
|
|
49
54
|
/**
|
|
50
|
-
* The input bar
|
|
55
|
+
* The input bar shares the messages' left rail without enclosing the draft.
|
|
51
56
|
*
|
|
52
|
-
* The editor
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* while writing: a list that grows upward never covers the line being typed.
|
|
57
|
+
* The base editor still owns wrapping and scrolling, so only its enclosing
|
|
58
|
+
* rules are removed. Completion stays above the draft to avoid covering the
|
|
59
|
+
* line being typed, and scroll counts keep clipped text discoverable.
|
|
56
60
|
*/
|
|
57
61
|
export class BoxedEditor extends Editor {
|
|
58
62
|
keymap;
|
|
@@ -61,8 +65,14 @@ export class BoxedEditor extends Editor {
|
|
|
61
65
|
menuRows = 0;
|
|
62
66
|
/** Rows between the rules in the last render; how the base editor counts its own. */
|
|
63
67
|
textRows = 0;
|
|
64
|
-
/**
|
|
65
|
-
|
|
68
|
+
/** Pointer translation is safe only after recognizing the base layout. */
|
|
69
|
+
mapped = false;
|
|
70
|
+
/** Hidden rows stay discoverable after removing the enclosing rules. */
|
|
71
|
+
hiddenAbove = 0;
|
|
72
|
+
hiddenBelow = 0;
|
|
73
|
+
/** Pointer offsets follow only the furniture actually drawn. */
|
|
74
|
+
railColumns = 0;
|
|
75
|
+
topIndicatorRows = 0;
|
|
66
76
|
constructor(tui, theme, keymap = defaultKeymap, ghost) {
|
|
67
77
|
super(tui, theme, { paddingX: PADDING_X });
|
|
68
78
|
this.keymap = keymap;
|
|
@@ -113,11 +123,13 @@ export class BoxedEditor extends Editor {
|
|
|
113
123
|
}
|
|
114
124
|
/** Tag the closing rule so {@link render} can find where the box ends. */
|
|
115
125
|
renderBottomBorder(width, hiddenLineCount) {
|
|
126
|
+
this.hiddenBelow = hiddenLineCount;
|
|
116
127
|
return `${super.renderBottomBorder(width, hiddenLineCount)}${CLOSING_TAG}`;
|
|
117
128
|
}
|
|
118
|
-
/**
|
|
119
|
-
|
|
120
|
-
|
|
129
|
+
/** The base owns scrolling; its count survives without its top rule. */
|
|
130
|
+
renderTopBorder(width, hiddenLineCount) {
|
|
131
|
+
this.hiddenAbove = hiddenLineCount;
|
|
132
|
+
return super.renderTopBorder(width, hiddenLineCount);
|
|
121
133
|
}
|
|
122
134
|
/**
|
|
123
135
|
* Rewrite one row of the text before it is framed, so a subclass can hide
|
|
@@ -129,7 +141,7 @@ export class BoxedEditor extends Editor {
|
|
|
129
141
|
/** The suggestion to draw this paint, or undefined when the brush offers none. */
|
|
130
142
|
currentGhostSuffix() {
|
|
131
143
|
const brush = this.ghost;
|
|
132
|
-
if (brush === undefined
|
|
144
|
+
if (brush === undefined)
|
|
133
145
|
return undefined;
|
|
134
146
|
const lines = this.getLines();
|
|
135
147
|
const cursor = this.getCursor();
|
|
@@ -145,7 +157,8 @@ export class BoxedEditor extends Editor {
|
|
|
145
157
|
const suffix = brush.suggestion({ text: this.getExpandedText(), lines, cursor });
|
|
146
158
|
// The bar paints this text itself, so it is drawn without colour: a sequence
|
|
147
159
|
// the brush offered must not escape the face the bar is drawing it in.
|
|
148
|
-
|
|
160
|
+
// An absent cached match cannot expose history; projecting every plugin's settings here would stall ordinary typing.
|
|
161
|
+
return suffix === undefined || !brush.enabled() ? undefined : renderTerminalText(suffix, { color: 'none' });
|
|
149
162
|
}
|
|
150
163
|
/**
|
|
151
164
|
* Replace the end-of-text cursor cell with the offered suffix.
|
|
@@ -181,17 +194,21 @@ export class BoxedEditor extends Editor {
|
|
|
181
194
|
return row;
|
|
182
195
|
const [first = '', ...rest] = ghostGraphemes(drawn);
|
|
183
196
|
const spaces = ' '.repeat(Math.max(0, room - used));
|
|
184
|
-
return before + brush.paint(first, '
|
|
197
|
+
return before + brush.paint(first, 'rest') + brush.paint(rest.join(''), 'rest') + spaces;
|
|
185
198
|
}
|
|
186
199
|
/**
|
|
187
200
|
* Take a ghost-accepting key before the base sees it, so the key returns to
|
|
188
201
|
* its own meaning the moment nothing is offered.
|
|
189
202
|
*/
|
|
190
203
|
acceptGhost(data) {
|
|
204
|
+
const wordRight = getKeybindings().matches(data, GHOST_WORD_RIGHT_ACTION);
|
|
205
|
+
// Normal input cannot accept a ghost, so it must not pay for history consent or lookup.
|
|
206
|
+
if (!wordRight && !matchesKey(data, GHOST_ACCEPT_ALL_KEY))
|
|
207
|
+
return false;
|
|
191
208
|
const suffix = this.currentGhostSuffix();
|
|
192
209
|
if (suffix === undefined)
|
|
193
210
|
return false;
|
|
194
|
-
if (
|
|
211
|
+
if (wordRight) {
|
|
195
212
|
const word = nextGhostWord(suffix);
|
|
196
213
|
if (word === undefined)
|
|
197
214
|
return false;
|
|
@@ -199,39 +216,45 @@ export class BoxedEditor extends Editor {
|
|
|
199
216
|
this.tui.requestRender();
|
|
200
217
|
return true;
|
|
201
218
|
}
|
|
202
|
-
if (!matchesKey(data, 'ctrl+e'))
|
|
203
|
-
return false;
|
|
204
219
|
this.insertTextAtCursor(suffix);
|
|
205
220
|
this.tui.requestRender();
|
|
206
221
|
return true;
|
|
207
222
|
}
|
|
208
223
|
render(width) {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
224
|
+
// Borrowed question editors remain dialog furniture, not conversation messages.
|
|
225
|
+
const enclosed = this.disableSubmit;
|
|
226
|
+
const minimum = enclosed ? MIN_BOX_WIDTH : MIN_RAIL_WIDTH;
|
|
227
|
+
const side = width >= minimum ? this.borderColor(FRAME_GLYPHS.side) : '';
|
|
228
|
+
this.railColumns = side === '' ? 0 : enclosed ? FRAME_COLUMNS : RAIL_COLUMNS;
|
|
229
|
+
const boxed = enclosed && this.railColumns > 0;
|
|
230
|
+
const inside = width - this.railColumns;
|
|
213
231
|
const ghost = this.disableSubmit ? undefined : this.currentGhostSuffix();
|
|
214
|
-
|
|
215
|
-
this.boxed = false;
|
|
216
|
-
return super.render(width).map(row => this.decorateText(this.ghostRow(row, ghost)));
|
|
217
|
-
}
|
|
218
|
-
const rows = super.render(width - FRAME_COLUMNS);
|
|
232
|
+
const rows = super.render(inside);
|
|
219
233
|
const closing = rows.findIndex(row => row.includes(CLOSING_TAG));
|
|
220
|
-
//
|
|
221
|
-
|
|
222
|
-
|
|
234
|
+
// An unfamiliar base layout must not receive guessed pointer offsets.
|
|
235
|
+
if (closing < 0) {
|
|
236
|
+
this.mapped = false;
|
|
223
237
|
return rows.map(row => row.replace(CLOSING_TAG, ''));
|
|
238
|
+
}
|
|
224
239
|
const menu = rows.slice(closing + 1);
|
|
225
240
|
const text = rows.slice(1, closing);
|
|
226
241
|
this.menuRows = menu.length;
|
|
227
242
|
this.textRows = text.length;
|
|
228
|
-
this.
|
|
229
|
-
|
|
230
|
-
const lines = menu.map(row => row + ' '.repeat(
|
|
231
|
-
|
|
243
|
+
this.mapped = true;
|
|
244
|
+
this.topIndicatorRows = boxed || this.hiddenAbove > 0 ? 1 : 0;
|
|
245
|
+
const lines = menu.map(row => row + ' '.repeat(this.railColumns));
|
|
246
|
+
const indicator = (direction, count) => side + textRow(this.borderColor(`${direction} ${count} more`), inside);
|
|
247
|
+
const edge = (open, row, close) => this.borderColor(open + stripTerminalSequences(row) + close);
|
|
248
|
+
if (boxed)
|
|
249
|
+
lines.push(edge(FRAME_GLYPHS.topLeft, rows[0] ?? '', FRAME_GLYPHS.topRight));
|
|
250
|
+
else if (this.hiddenAbove > 0)
|
|
251
|
+
lines.push(indicator('↑', this.hiddenAbove));
|
|
232
252
|
for (const row of text)
|
|
233
|
-
lines.push(
|
|
234
|
-
|
|
253
|
+
lines.push(side + this.decorateText(this.ghostRow(row, ghost).replace(SYNTHETIC_CURSOR, '$1')) + (boxed ? side : ''));
|
|
254
|
+
if (boxed)
|
|
255
|
+
lines.push(edge(FRAME_GLYPHS.bottomLeft, rows[closing].replace(CLOSING_TAG, ''), FRAME_GLYPHS.bottomRight));
|
|
256
|
+
else if (this.hiddenBelow > 0)
|
|
257
|
+
lines.push(indicator('↓', this.hiddenBelow));
|
|
235
258
|
return lines;
|
|
236
259
|
}
|
|
237
260
|
/**
|
|
@@ -240,17 +263,17 @@ export class BoxedEditor extends Editor {
|
|
|
240
263
|
* The base editor hit-tests the rows it painted in its own order — the input
|
|
241
264
|
* under the top rule, the menu after the bottom one — and measures columns
|
|
242
265
|
* from the edge of the width it was asked for. This subclass draws the menu
|
|
243
|
-
* first
|
|
266
|
+
* first, removes the rules, and adds a rail, so clicks must be translated
|
|
244
267
|
* back before that hit test can say what it hit.
|
|
245
268
|
*/
|
|
246
269
|
handleMouse(event) {
|
|
247
|
-
if (!this.
|
|
270
|
+
if (!this.mapped)
|
|
248
271
|
return super.handleMouse(event);
|
|
249
|
-
const width = event.width -
|
|
272
|
+
const width = event.width - this.railColumns;
|
|
250
273
|
if (event.y < this.menuRows) {
|
|
251
274
|
return super.handleMouse({ ...event, width, y: event.y + this.textRows + 2 });
|
|
252
275
|
}
|
|
253
|
-
return super.handleMouse({ ...event, width, x: event.x -
|
|
276
|
+
return super.handleMouse({ ...event, width, x: event.x - (this.railColumns > 0 ? RAIL_COLUMNS : 0), y: event.y - this.menuRows + 1 - this.topIndicatorRows });
|
|
254
277
|
}
|
|
255
278
|
}
|
|
256
279
|
//# sourceMappingURL=editor.js.map
|
package/lib/ui/editor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,sBAAsB,EACtB,YAAY,GAKb,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAA;AACzH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/frame.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
2
|
+
* The shared furniture keeps prompts recognizable through their whole life.
|
|
3
3
|
*
|
|
4
4
|
* The editor, the prompts queued above it, and the prompts already submitted
|
|
5
5
|
* draw the same glyphs at the same width, so one prompt reads as the same object
|
|
@@ -15,10 +15,14 @@ export declare const FRAME_GLYPHS: {
|
|
|
15
15
|
};
|
|
16
16
|
/** The frame costs one column each side, so the text wraps that much narrower. */
|
|
17
17
|
export declare const FRAME_COLUMNS = 2;
|
|
18
|
+
/** A message rail leaves the right edge open without changing boxed pickers. */
|
|
19
|
+
export declare const RAIL_COLUMNS = 1;
|
|
18
20
|
/** One column of air inside the frame, so a full line never touches the border. */
|
|
19
21
|
export declare const PADDING_X = 1;
|
|
20
22
|
/** A box needs both edges, both paddings, and one column left to type in. */
|
|
21
23
|
export declare const MIN_BOX_WIDTH: number;
|
|
24
|
+
/** Narrow rails still need padding and one writable cell. */
|
|
25
|
+
export declare const MIN_RAIL_WIDTH: number;
|
|
22
26
|
/** The columns the text of a bar owns, given the width of everything inside its frame. */
|
|
23
27
|
export declare function textWidth(innerWidth: number): number;
|
|
24
28
|
/** One text row of a bar: the air, the text, and the rest of the inside width. */
|
|
@@ -35,10 +39,12 @@ export declare function frameRule(innerWidth: number, hiddenRows: number): strin
|
|
|
35
39
|
export interface FrameFaces {
|
|
36
40
|
/** Paints one row of the block's own text. */
|
|
37
41
|
readonly text: (line: string) => string;
|
|
38
|
-
/**
|
|
42
|
+
/** One border face keeps rails and enclosed picker edges theme-compatible. */
|
|
39
43
|
readonly border: (rule: string) => string;
|
|
40
44
|
/** Whether the frame may be drawn at all. */
|
|
41
45
|
readonly framed: boolean;
|
|
46
|
+
/** Messages share a quiet left edge; picker dialogs retain their enclosure. */
|
|
47
|
+
readonly rail?: boolean;
|
|
42
48
|
}
|
|
43
49
|
/**
|
|
44
50
|
* One row a frame drew, as a copy of it comes back from the terminal.
|
|
@@ -65,7 +71,7 @@ export interface FrameBlock {
|
|
|
65
71
|
readonly copy: readonly FrameRow[];
|
|
66
72
|
}
|
|
67
73
|
/** Whether a bar has the width, and the visible border, to close a frame. */
|
|
68
|
-
export declare function canFrame(width: number, borderVisible: boolean): boolean;
|
|
74
|
+
export declare function canFrame(width: number, borderVisible: boolean, rail?: boolean): boolean;
|
|
69
75
|
/**
|
|
70
76
|
* One block of already-rendered rows as a bar draws it: padded to the frame's
|
|
71
77
|
* own text width, and closed into it when the frame can be drawn.
|
|
@@ -73,8 +79,8 @@ export declare function canFrame(width: number, borderVisible: boolean): boolean
|
|
|
73
79
|
* Markdown lays itself out to the width it is given, so its rows may not be
|
|
74
80
|
* wrapped again here: a second pass would break a fence or a table the markdown
|
|
75
81
|
* just drew. A block with a limit is a preview, and the rows it drops are
|
|
76
|
-
* counted on the closing rule: a
|
|
77
|
-
*
|
|
82
|
+
* counted beside the rail or on the closing rule: a clipped preview must still
|
|
83
|
+
* tell the reader that it continues.
|
|
78
84
|
*
|
|
79
85
|
* The copy of a block reads the same rows back as text: the frame's own rows
|
|
80
86
|
* carry no text at all, and a row the frame holds names the columns of it that
|
package/lib/ui/frame.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/ui/frame.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;CAAyF,CAAA;AAElH,kFAAkF;AAClF,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,mFAAmF;AACnF,eAAO,MAAM,SAAS,IAAI,CAAA;AAG1B,6EAA6E;AAC7E,eAAO,MAAM,aAAa,QAAoC,CAAA;AAE9D,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQhE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgBxE;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/ui/frame.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;CAAyF,CAAA;AAElH,kFAAkF;AAClF,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,gFAAgF;AAChF,eAAO,MAAM,YAAY,IAAI,CAAA;AAC7B,mFAAmF;AACnF,eAAO,MAAM,SAAS,IAAI,CAAA;AAG1B,6EAA6E;AAC7E,eAAO,MAAM,aAAa,QAAoC,CAAA;AAC9D,6DAA6D;AAC7D,eAAO,MAAM,cAAc,QAAmC,CAAA;AAE9D,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQhE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgBxE;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAA;CACnC;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,UAAQ,GAAG,OAAO,CAErF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,UAAU,CAmCnI;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,MAAM,EAAE,CAEjI;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,MAAM,EAAE,CAIpH"}
|