@promptctl/rich-js 0.1.0 → 0.3.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 +29 -15
- package/dist/core/cells.d.ts +83 -3
- package/dist/core/cells.d.ts.map +1 -1
- package/dist/core/cells.js +113 -1
- package/dist/core/cells.js.map +1 -1
- package/dist/core/console.d.ts +0 -1
- package/dist/core/console.d.ts.map +1 -1
- package/dist/core/console.js +20 -16
- package/dist/core/console.js.map +1 -1
- package/dist/core/highlighter.d.ts.map +1 -1
- package/dist/core/highlighter.js.map +1 -1
- package/dist/core/oklch.d.ts +106 -0
- package/dist/core/oklch.d.ts.map +1 -0
- package/dist/core/oklch.js +221 -0
- package/dist/core/oklch.js.map +1 -0
- package/dist/core/render.d.ts +26 -7
- package/dist/core/render.d.ts.map +1 -1
- package/dist/core/render.js +83 -15
- package/dist/core/render.js.map +1 -1
- package/dist/core/segment.d.ts +14 -1
- package/dist/core/segment.d.ts.map +1 -1
- package/dist/core/segment.js +28 -3
- package/dist/core/segment.js.map +1 -1
- package/dist/core/style.d.ts +11 -2
- package/dist/core/style.d.ts.map +1 -1
- package/dist/core/style.js +31 -18
- package/dist/core/style.js.map +1 -1
- package/dist/core/text.d.ts +20 -0
- package/dist/core/text.d.ts.map +1 -1
- package/dist/core/text.js +31 -0
- package/dist/core/text.js.map +1 -1
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/renderables/columns.d.ts.map +1 -1
- package/dist/renderables/columns.js +15 -22
- package/dist/renderables/columns.js.map +1 -1
- package/dist/renderables/layout.d.ts.map +1 -1
- package/dist/renderables/layout.js +8 -29
- package/dist/renderables/layout.js.map +1 -1
- package/dist/renderables/live.d.ts.map +1 -1
- package/dist/renderables/live.js +8 -7
- package/dist/renderables/live.js.map +1 -1
- package/dist/renderables/panel.d.ts +34 -0
- package/dist/renderables/panel.d.ts.map +1 -1
- package/dist/renderables/panel.js +66 -23
- package/dist/renderables/panel.js.map +1 -1
- package/dist/template-bindings/helpers.d.ts +25 -0
- package/dist/template-bindings/helpers.d.ts.map +1 -0
- package/dist/template-bindings/helpers.js +31 -0
- package/dist/template-bindings/helpers.js.map +1 -0
- package/dist/template-bindings/index.d.ts +57 -18
- package/dist/template-bindings/index.d.ts.map +1 -1
- package/dist/template-bindings/index.js +83 -18
- package/dist/template-bindings/index.js.map +1 -1
- package/dist/template-bindings/palette-funcs.d.ts +76 -0
- package/dist/template-bindings/palette-funcs.d.ts.map +1 -0
- package/dist/template-bindings/palette-funcs.js +157 -0
- package/dist/template-bindings/palette-funcs.js.map +1 -0
- package/dist/template-bindings/style-funcs.d.ts.map +1 -1
- package/dist/template-bindings/style-funcs.js +33 -27
- package/dist/template-bindings/style-funcs.js.map +1 -1
- package/dist/themes/colorMath.d.ts +40 -0
- package/dist/themes/colorMath.d.ts.map +1 -1
- package/dist/themes/colorMath.js +82 -1
- package/dist/themes/colorMath.js.map +1 -1
- package/dist/themes/data/catppuccin-frappe.d.ts +4 -0
- package/dist/themes/data/catppuccin-frappe.d.ts.map +1 -0
- package/dist/themes/data/catppuccin-frappe.js +159 -0
- package/dist/themes/data/catppuccin-frappe.js.map +1 -0
- package/dist/themes/data/catppuccin-macchiato.d.ts +4 -0
- package/dist/themes/data/catppuccin-macchiato.d.ts.map +1 -0
- package/dist/themes/data/catppuccin-macchiato.js +159 -0
- package/dist/themes/data/catppuccin-macchiato.js.map +1 -0
- package/dist/themes/data/cyberpunk.d.ts +18 -0
- package/dist/themes/data/cyberpunk.d.ts.map +1 -0
- package/dist/themes/data/cyberpunk.js +192 -0
- package/dist/themes/data/cyberpunk.js.map +1 -0
- package/dist/themes/data/default.d.ts +4 -0
- package/dist/themes/data/default.d.ts.map +1 -0
- package/dist/themes/data/default.js +159 -0
- package/dist/themes/data/default.js.map +1 -0
- package/dist/themes/data/index.d.ts +10 -3
- package/dist/themes/data/index.d.ts.map +1 -1
- package/dist/themes/data/index.js +24 -7
- package/dist/themes/data/index.js.map +1 -1
- package/dist/themes/data/svg-export.d.ts +4 -0
- package/dist/themes/data/svg-export.d.ts.map +1 -0
- package/dist/themes/data/svg-export.js +159 -0
- package/dist/themes/data/svg-export.js.map +1 -0
- package/dist/themes/data/types.d.ts +4 -3
- package/dist/themes/data/types.d.ts.map +1 -1
- package/dist/themes/registry.d.ts +29 -2
- package/dist/themes/registry.d.ts.map +1 -1
- package/dist/themes/registry.js +62 -12
- package/dist/themes/registry.js.map +1 -1
- package/dist/themes/terminalThemes.d.ts +29 -20
- package/dist/themes/terminalThemes.d.ts.map +1 -1
- package/dist/themes/terminalThemes.js +50 -249
- package/dist/themes/terminalThemes.js.map +1 -1
- package/dist/themes/transpose.d.ts +88 -0
- package/dist/themes/transpose.d.ts.map +1 -0
- package/dist/themes/transpose.js +139 -0
- package/dist/themes/transpose.js.map +1 -0
- package/dist/widgets/button.d.ts +8 -5
- package/dist/widgets/button.d.ts.map +1 -1
- package/dist/widgets/button.js +36 -11
- package/dist/widgets/button.js.map +1 -1
- package/dist/widgets/checkbox.d.ts +1 -2
- package/dist/widgets/checkbox.d.ts.map +1 -1
- package/dist/widgets/checkbox.js +20 -7
- package/dist/widgets/checkbox.js.map +1 -1
- package/dist/widgets/dropdown.d.ts +4 -3
- package/dist/widgets/dropdown.d.ts.map +1 -1
- package/dist/widgets/dropdown.js +109 -27
- package/dist/widgets/dropdown.js.map +1 -1
- package/dist/widgets/event-router.d.ts +6 -3
- package/dist/widgets/event-router.d.ts.map +1 -1
- package/dist/widgets/event-router.js +179 -68
- package/dist/widgets/event-router.js.map +1 -1
- package/dist/widgets/focus-manager.d.ts +2 -1
- package/dist/widgets/focus-manager.d.ts.map +1 -1
- package/dist/widgets/focus-manager.js +28 -9
- package/dist/widgets/focus-manager.js.map +1 -1
- package/dist/widgets/index.d.ts +2 -2
- package/dist/widgets/index.d.ts.map +1 -1
- package/dist/widgets/index.js +1 -1
- package/dist/widgets/index.js.map +1 -1
- package/dist/widgets/screen.d.ts +2 -0
- package/dist/widgets/screen.d.ts.map +1 -1
- package/dist/widgets/screen.js +148 -45
- package/dist/widgets/screen.js.map +1 -1
- package/dist/widgets/slider.d.ts +6 -3
- package/dist/widgets/slider.d.ts.map +1 -1
- package/dist/widgets/slider.js +34 -10
- package/dist/widgets/slider.js.map +1 -1
- package/dist/widgets/static-item.d.ts +1 -1
- package/dist/widgets/static-item.d.ts.map +1 -1
- package/dist/widgets/static-item.js +12 -13
- package/dist/widgets/static-item.js.map +1 -1
- package/dist/widgets/text-input.d.ts +239 -13
- package/dist/widgets/text-input.d.ts.map +1 -1
- package/dist/widgets/text-input.js +1004 -74
- package/dist/widgets/text-input.js.map +1 -1
- package/dist/widgets/toggle.d.ts +1 -2
- package/dist/widgets/toggle.d.ts.map +1 -1
- package/dist/widgets/toggle.js +20 -8
- package/dist/widgets/toggle.js.map +1 -1
- package/dist/widgets/types.d.ts +21 -4
- package/dist/widgets/types.d.ts.map +1 -1
- package/dist/widgets/types.js +19 -0
- package/dist/widgets/types.js.map +1 -1
- package/dist/widgets/widget-base.d.ts +1 -0
- package/dist/widgets/widget-base.d.ts.map +1 -1
- package/dist/widgets/widget-base.js +24 -7
- package/dist/widgets/widget-base.js.map +1 -1
- package/package.json +5 -3
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* router defers emission via setImmediate. The next chunk cancels the timer
|
|
17
17
|
* if it extends the sequence. Tests can call `flush()` to drain synchronously.
|
|
18
18
|
*/
|
|
19
|
+
import { KeyEvent } from "./types.js";
|
|
19
20
|
// Single-byte → key name table for the trivial cases.
|
|
20
21
|
const SINGLE_BYTE_KEYS = {
|
|
21
22
|
0x09: "tab",
|
|
@@ -90,7 +91,16 @@ export class EventRouter {
|
|
|
90
91
|
running = false;
|
|
91
92
|
dataListener;
|
|
92
93
|
escTimer;
|
|
93
|
-
|
|
94
|
+
// [LAW:single-enforcer] Drag capture lives only here. A mouse_down's hit
|
|
95
|
+
// widget is recorded; mouse_move/mouse_up between then and the next
|
|
96
|
+
// mouse_up route to this widget unconditionally so dragging outside its
|
|
97
|
+
// bounds still drives state (e.g. Slider's _dragging). Cleared on the
|
|
98
|
+
// next mouse_up.
|
|
99
|
+
capturedWidget = null;
|
|
100
|
+
// [LAW:dataflow-not-control-flow] Ordered chain; the dispatcher walks it
|
|
101
|
+
// in priority tiers and stops as soon as some participant calls
|
|
102
|
+
// `event.stop()`. Insertion order is preserved within each tier.
|
|
103
|
+
keyChain = [];
|
|
94
104
|
mouseHandlers = new Set();
|
|
95
105
|
constructor(options) {
|
|
96
106
|
const { screen } = options;
|
|
@@ -103,6 +113,13 @@ export class EventRouter {
|
|
|
103
113
|
const outputIsTTY = !!this.output.isTTY;
|
|
104
114
|
this.manageRawMode = options.manageRawMode ?? inputIsTTY;
|
|
105
115
|
this.manageMouse = options.manageMouse ?? outputIsTTY;
|
|
116
|
+
// [LAW:single-enforcer] FocusManager owns Tab/Shift+Tab traversal —
|
|
117
|
+
// register it as a normal-priority handler so it participates in the
|
|
118
|
+
// chain. This MUST be the first registration so it lands ahead of any
|
|
119
|
+
// user-added normal handlers; widgets that want to suppress traversal
|
|
120
|
+
// call `event.stop()` from their own handleKey and FocusManager
|
|
121
|
+
// never runs for that event.
|
|
122
|
+
this.onKey((event) => this.source.focusManager.handleKey(event));
|
|
106
123
|
}
|
|
107
124
|
// --- Lifecycle ---
|
|
108
125
|
start() {
|
|
@@ -115,38 +132,51 @@ export class EventRouter {
|
|
|
115
132
|
if (typeof this.input?.resume === "function") {
|
|
116
133
|
this.input.resume();
|
|
117
134
|
}
|
|
118
|
-
if (typeof this.input?.setEncoding === "function") {
|
|
119
|
-
// No-op for streams that don't support it. We always re-encode to Buffer
|
|
120
|
-
// internally — the encoding hint just keeps Node from splitting multibyte
|
|
121
|
-
// characters when stdin is set to raw mode.
|
|
122
|
-
}
|
|
123
135
|
if (this.manageMouse)
|
|
124
136
|
this.output.write(MOUSE_TRACK_ON);
|
|
125
137
|
this.dataListener = (chunk) => this.feed(chunk);
|
|
126
138
|
this.input?.on("data", this.dataListener);
|
|
127
139
|
}
|
|
128
140
|
stop() {
|
|
129
|
-
if (
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
141
|
+
if (this.running) {
|
|
142
|
+
this.running = false;
|
|
143
|
+
if (this.dataListener) {
|
|
144
|
+
this.input?.off("data", this.dataListener);
|
|
145
|
+
this.dataListener = undefined;
|
|
146
|
+
}
|
|
147
|
+
if (this.manageMouse)
|
|
148
|
+
this.output.write(MOUSE_TRACK_OFF);
|
|
149
|
+
if (this.manageRawMode && this.input?.setRawMode) {
|
|
150
|
+
this.input.setRawMode(false);
|
|
151
|
+
}
|
|
135
152
|
}
|
|
153
|
+
// [LAW:one-source-of-truth] Per-session state belongs to one session.
|
|
154
|
+
// stop() leaves the router in the same shape a fresh construction
|
|
155
|
+
// would: empty parse buffer, no captured widget, no pending ESC timer.
|
|
156
|
+
// All cleanup is outside the `running` guard because feed() can arm
|
|
157
|
+
// escTimer (and grow buffer) even when running is false — without
|
|
158
|
+
// those, a pre-start feed could leave a deferred escape firing into
|
|
159
|
+
// the next session. Clearing already-empty state is a no-op so this
|
|
160
|
+
// stays safe on repeated stop().
|
|
136
161
|
if (this.escTimer) {
|
|
137
162
|
clearImmediate(this.escTimer);
|
|
138
163
|
this.escTimer = undefined;
|
|
139
164
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if (this.manageRawMode && this.input?.setRawMode) {
|
|
143
|
-
this.input.setRawMode(false);
|
|
144
|
-
}
|
|
165
|
+
this.buffer = Buffer.alloc(0);
|
|
166
|
+
this.capturedWidget = null;
|
|
145
167
|
}
|
|
146
168
|
// --- External hooks ---
|
|
147
|
-
onKey(handler) {
|
|
148
|
-
|
|
149
|
-
|
|
169
|
+
onKey(handler, options) {
|
|
170
|
+
const entry = {
|
|
171
|
+
handler,
|
|
172
|
+
priority: options?.priority ?? "normal",
|
|
173
|
+
};
|
|
174
|
+
this.keyChain.push(entry);
|
|
175
|
+
return () => {
|
|
176
|
+
const idx = this.keyChain.indexOf(entry);
|
|
177
|
+
if (idx !== -1)
|
|
178
|
+
this.keyChain.splice(idx, 1);
|
|
179
|
+
};
|
|
150
180
|
}
|
|
151
181
|
onMouse(handler) {
|
|
152
182
|
this.mouseHandlers.add(handler);
|
|
@@ -179,7 +209,7 @@ export class EventRouter {
|
|
|
179
209
|
}
|
|
180
210
|
if (this.buffer.length > 0 && this.buffer[0] === ESC && this.buffer.length === 1) {
|
|
181
211
|
this.buffer = this.buffer.subarray(1);
|
|
182
|
-
this.dispatchKey({ key: "escape", character: "", shift: false, ctrl: false, meta: false });
|
|
212
|
+
this.dispatchKey(new KeyEvent({ key: "escape", character: "", shift: false, ctrl: false, meta: false }));
|
|
183
213
|
}
|
|
184
214
|
}
|
|
185
215
|
// --- Internals ---
|
|
@@ -205,7 +235,7 @@ export class EventRouter {
|
|
|
205
235
|
return {
|
|
206
236
|
kind: "key",
|
|
207
237
|
bytes: 1,
|
|
208
|
-
event: { key: "c", character: "", shift: false, ctrl: true, meta: false },
|
|
238
|
+
event: new KeyEvent({ key: "c", character: "", shift: false, ctrl: true, meta: false }),
|
|
209
239
|
};
|
|
210
240
|
}
|
|
211
241
|
// Named single-byte keys (tab/enter/space/backspace).
|
|
@@ -214,13 +244,13 @@ export class EventRouter {
|
|
|
214
244
|
return {
|
|
215
245
|
kind: "key",
|
|
216
246
|
bytes: 1,
|
|
217
|
-
event: {
|
|
247
|
+
event: new KeyEvent({
|
|
218
248
|
key: named,
|
|
219
249
|
character: named === "space" ? " " : "",
|
|
220
250
|
shift: false,
|
|
221
251
|
ctrl: false,
|
|
222
252
|
meta: false,
|
|
223
|
-
},
|
|
253
|
+
}),
|
|
224
254
|
};
|
|
225
255
|
}
|
|
226
256
|
// Ctrl+letter (Ctrl+A=0x01 .. Ctrl+Z=0x1a), excluding the bytes already
|
|
@@ -230,7 +260,7 @@ export class EventRouter {
|
|
|
230
260
|
return {
|
|
231
261
|
kind: "key",
|
|
232
262
|
bytes: 1,
|
|
233
|
-
event: { key: letter, character: "", shift: false, ctrl: true, meta: false },
|
|
263
|
+
event: new KeyEvent({ key: letter, character: "", shift: false, ctrl: true, meta: false }),
|
|
234
264
|
};
|
|
235
265
|
}
|
|
236
266
|
// Printable ASCII / start of a UTF-8 multibyte character.
|
|
@@ -251,13 +281,13 @@ export class EventRouter {
|
|
|
251
281
|
return {
|
|
252
282
|
kind: "key",
|
|
253
283
|
bytes: len,
|
|
254
|
-
event: {
|
|
284
|
+
event: new KeyEvent({
|
|
255
285
|
key: character.toLowerCase(),
|
|
256
286
|
character,
|
|
257
287
|
shift: character.length === 1 && character !== character.toLowerCase(),
|
|
258
288
|
ctrl: false,
|
|
259
289
|
meta: false,
|
|
260
|
-
},
|
|
290
|
+
}),
|
|
261
291
|
};
|
|
262
292
|
}
|
|
263
293
|
consumeEscape(buf) {
|
|
@@ -270,21 +300,70 @@ export class EventRouter {
|
|
|
270
300
|
// ESC O X → SS3 (F1–F4 / arrows on some terms)
|
|
271
301
|
if (b1 === O_BYTE)
|
|
272
302
|
return this.consumeSS3(buf);
|
|
273
|
-
// ESC ESC → escape key (some terminals double-send)
|
|
303
|
+
// ESC ESC → escape key (some terminals double-send). Consume BOTH bytes
|
|
304
|
+
// so the user sees one escape event, not two. Without this, the second
|
|
305
|
+
// ESC remained in the buffer and produced a second escape via the
|
|
306
|
+
// lone-ESC flush path.
|
|
274
307
|
if (b1 === ESC) {
|
|
275
308
|
return {
|
|
276
309
|
kind: "key",
|
|
277
|
-
bytes:
|
|
278
|
-
event: { key: "escape", character: "", shift: false, ctrl: false, meta: false },
|
|
310
|
+
bytes: 2,
|
|
311
|
+
event: new KeyEvent({ key: "escape", character: "", shift: false, ctrl: false, meta: false }),
|
|
279
312
|
};
|
|
280
313
|
}
|
|
281
|
-
// ESC <
|
|
282
|
-
//
|
|
283
|
-
//
|
|
314
|
+
// ESC <named> / ESC <printable> → Alt-modified key.
|
|
315
|
+
// Terminals encode Alt+<key> as the literal byte preceded by ESC, so
|
|
316
|
+
// `ESC b` is Alt+B, `ESC <0x7f>` is Alt+Backspace, `ESC <0x20>` is
|
|
317
|
+
// Alt+Space, etc. The router surfaces this as `{ key, meta: true }` —
|
|
318
|
+
// matching the shape used for Ctrl-modified keys, so handlers can
|
|
319
|
+
// branch on `event.meta` without parsing escape sequences themselves.
|
|
320
|
+
//
|
|
321
|
+
// [LAW:one-source-of-truth] Named single-byte keys (space, tab,
|
|
322
|
+
// enter, backspace) use the SAME canonical key names on the Alt path
|
|
323
|
+
// as on the non-Alt path. Without this, `Alt+Space` decoded as
|
|
324
|
+
// `key: " "` while a bare space decoded as `key: "space"`, so a
|
|
325
|
+
// handler couldn't match Alt+Space via `event.key === "space" &&
|
|
326
|
+
// event.meta`. Routing through SINGLE_BYTE_KEYS first preserves the
|
|
327
|
+
// canonical naming.
|
|
328
|
+
//
|
|
329
|
+
// [LAW:one-source-of-truth] Modifier decoding for *all* navigation keys
|
|
330
|
+
// lives in this file: CSI param-style modifiers (e.g. `ESC[1;3D` for
|
|
331
|
+
// Alt+Left) flow through `decodeModifier`, and ESC-prefixed Alt forms
|
|
332
|
+
// flow through this branch. Widgets read `event.meta` and never re-parse.
|
|
333
|
+
const namedAlt = SINGLE_BYTE_KEYS[b1];
|
|
334
|
+
if (namedAlt && namedAlt !== "escape") {
|
|
335
|
+
return {
|
|
336
|
+
kind: "key",
|
|
337
|
+
bytes: 2,
|
|
338
|
+
event: new KeyEvent({
|
|
339
|
+
key: namedAlt,
|
|
340
|
+
character: "",
|
|
341
|
+
shift: false,
|
|
342
|
+
ctrl: false,
|
|
343
|
+
meta: true,
|
|
344
|
+
}),
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
if (b1 >= 0x20 && b1 <= 0x7e) {
|
|
348
|
+
const ch = String.fromCharCode(b1);
|
|
349
|
+
return {
|
|
350
|
+
kind: "key",
|
|
351
|
+
bytes: 2,
|
|
352
|
+
event: new KeyEvent({
|
|
353
|
+
key: ch.toLowerCase(),
|
|
354
|
+
character: "",
|
|
355
|
+
shift: ch !== ch.toLowerCase(),
|
|
356
|
+
ctrl: false,
|
|
357
|
+
meta: true,
|
|
358
|
+
}),
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
// Truly unrecognised follow-up byte → treat the ESC as a lone escape
|
|
362
|
+
// and re-process from b1 on the next pass.
|
|
284
363
|
return {
|
|
285
364
|
kind: "key",
|
|
286
365
|
bytes: 1,
|
|
287
|
-
event: { key: "escape", character: "", shift: false, ctrl: false, meta: false },
|
|
366
|
+
event: new KeyEvent({ key: "escape", character: "", shift: false, ctrl: false, meta: false }),
|
|
288
367
|
};
|
|
289
368
|
}
|
|
290
369
|
consumeSS3(buf) {
|
|
@@ -297,7 +376,7 @@ export class EventRouter {
|
|
|
297
376
|
return {
|
|
298
377
|
kind: "key",
|
|
299
378
|
bytes: 3,
|
|
300
|
-
event: { key: name, character: "", shift: false, ctrl: false, meta: false },
|
|
379
|
+
event: new KeyEvent({ key: name, character: "", shift: false, ctrl: false, meta: false }),
|
|
301
380
|
};
|
|
302
381
|
}
|
|
303
382
|
consumeCSI(buf) {
|
|
@@ -353,44 +432,71 @@ export class EventRouter {
|
|
|
353
432
|
return { kind: "incomplete" };
|
|
354
433
|
}
|
|
355
434
|
// --- Dispatch ---
|
|
435
|
+
// [LAW:dataflow-not-control-flow] Three-stage walk; same shape every
|
|
436
|
+
// dispatch, only the event's `stopped` flag short-circuits later stages.
|
|
437
|
+
// The router holds NO key-specific policy — Tab semantics live entirely
|
|
438
|
+
// in FocusManager (registered as a normal-priority handler at construction).
|
|
356
439
|
dispatchKey(event) {
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
440
|
+
// [LAW:one-source-of-truth] Snapshot the chain once at the start of
|
|
441
|
+
// dispatch. A handler that unsubscribes itself (or another handler)
|
|
442
|
+
// splices the live keyChain and would shift indices under the running
|
|
443
|
+
// for-of loop, silently skipping the next handler. The snapshot
|
|
444
|
+
// freezes the participant set for this dispatch; later registrations
|
|
445
|
+
// join the chain for the next event, removals take effect after.
|
|
446
|
+
const chain = [...this.keyChain];
|
|
447
|
+
// Stage 1: high-priority handlers (global overrides like Ctrl+C).
|
|
448
|
+
for (const entry of chain) {
|
|
449
|
+
if (event.stopped)
|
|
450
|
+
return;
|
|
451
|
+
if (entry.priority === "high")
|
|
452
|
+
entry.handler(event);
|
|
365
453
|
}
|
|
454
|
+
if (event.stopped)
|
|
455
|
+
return;
|
|
456
|
+
// Stage 2: the focused widget.
|
|
366
457
|
this.source.focusManager.current?.handleKey(event);
|
|
458
|
+
if (event.stopped)
|
|
459
|
+
return;
|
|
460
|
+
// Stage 3: normal-priority handlers (FocusManager's Tab traversal,
|
|
461
|
+
// plus any app-registered fallbacks).
|
|
462
|
+
for (const entry of chain) {
|
|
463
|
+
if (event.stopped)
|
|
464
|
+
return;
|
|
465
|
+
if (entry.priority === "normal")
|
|
466
|
+
entry.handler(event);
|
|
467
|
+
}
|
|
367
468
|
}
|
|
368
469
|
dispatchMouse(event) {
|
|
369
470
|
for (const handler of this.mouseHandlers)
|
|
370
471
|
handler(event);
|
|
371
472
|
const widgets = this.source.getWidgets();
|
|
372
|
-
// Hover tracking: any widget whose hover state changed gets an update
|
|
473
|
+
// Hover tracking: any widget whose hover state changed gets an update
|
|
474
|
+
// via the canonical setHovered (on WidgetBase). One setter, no fallback.
|
|
373
475
|
if (event.type === "mouse_move") {
|
|
374
476
|
for (const w of widgets) {
|
|
375
477
|
if (!w.visible)
|
|
376
478
|
continue;
|
|
377
479
|
const inside = w.containsPoint(event.x, event.y);
|
|
378
480
|
if (inside !== w.hovered)
|
|
379
|
-
|
|
481
|
+
w.setHovered(inside);
|
|
380
482
|
}
|
|
381
483
|
}
|
|
382
|
-
//
|
|
383
|
-
//
|
|
384
|
-
//
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
484
|
+
// [LAW:dataflow-not-control-flow] Same pipeline every event; the
|
|
485
|
+
// capture value and event type pick the target. mouse_down opens a
|
|
486
|
+
// capture, mouse_up closes it, mouse_move in between routes to the
|
|
487
|
+
// captured widget regardless of pointer position. Scroll events
|
|
488
|
+
// bypass capture (they're not drag-scoped).
|
|
489
|
+
const useCapture = this.capturedWidget !== null &&
|
|
490
|
+
(event.type === "mouse_move" || event.type === "mouse_up");
|
|
491
|
+
const target = useCapture
|
|
492
|
+
? this.capturedWidget
|
|
493
|
+
: topmostHit(widgets, event.x, event.y);
|
|
494
|
+
if (target)
|
|
495
|
+
target.handleMouse(event);
|
|
496
|
+
if (event.type === "mouse_down")
|
|
497
|
+
this.capturedWidget = target;
|
|
498
|
+
else if (event.type === "mouse_up")
|
|
499
|
+
this.capturedWidget = null;
|
|
394
500
|
}
|
|
395
501
|
}
|
|
396
502
|
// --- Helpers ---
|
|
@@ -435,24 +541,29 @@ function decodeCSI(params, final, bytes) {
|
|
|
435
541
|
return {
|
|
436
542
|
kind: "key",
|
|
437
543
|
bytes,
|
|
438
|
-
event: { key: name, character: "", shift, ctrl, meta },
|
|
544
|
+
event: new KeyEvent({ key: name, character: "", shift, ctrl, meta }),
|
|
439
545
|
};
|
|
440
546
|
}
|
|
441
547
|
const name = CSI_LETTER_KEYS[final];
|
|
442
548
|
if (!name)
|
|
443
549
|
return { kind: "skip", bytes };
|
|
444
550
|
// Special case: ESC[Z is shift+tab regardless of explicit modifier.
|
|
551
|
+
// [LAW:one-source-of-truth] `character` is the printable character the
|
|
552
|
+
// key would produce, or "" for non-printable / modifier-only events.
|
|
553
|
+
// The non-shifted tab path emits character: "" (Tab is named, not
|
|
554
|
+
// printed) — keep shift+tab consistent. Distinguish via key === "tab"
|
|
555
|
+
// + shift, not character.
|
|
445
556
|
if (final === "Z") {
|
|
446
557
|
return {
|
|
447
558
|
kind: "key",
|
|
448
559
|
bytes,
|
|
449
|
-
event: { key: "tab", character: "
|
|
560
|
+
event: new KeyEvent({ key: "tab", character: "", shift: true, ctrl: false, meta: false }),
|
|
450
561
|
};
|
|
451
562
|
}
|
|
452
563
|
return {
|
|
453
564
|
kind: "key",
|
|
454
565
|
bytes,
|
|
455
|
-
event: { key: name, character: "", shift, ctrl, meta },
|
|
566
|
+
event: new KeyEvent({ key: name, character: "", shift, ctrl, meta }),
|
|
456
567
|
};
|
|
457
568
|
}
|
|
458
569
|
function decodeModifier(mod) {
|
|
@@ -466,14 +577,14 @@ function decodeModifier(mod) {
|
|
|
466
577
|
ctrl: (bits & 4) !== 0,
|
|
467
578
|
};
|
|
468
579
|
}
|
|
469
|
-
function
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
580
|
+
function topmostHit(widgets, x, y) {
|
|
581
|
+
for (let i = widgets.length - 1; i >= 0; i--) {
|
|
582
|
+
const w = widgets[i];
|
|
583
|
+
if (!w.visible)
|
|
584
|
+
continue;
|
|
585
|
+
if (w.containsPoint(x, y))
|
|
586
|
+
return w;
|
|
474
587
|
}
|
|
475
|
-
|
|
476
|
-
// carries the hover transition; widgets that care can read `event.type`.
|
|
477
|
-
widget.handleMouse(event);
|
|
588
|
+
return null;
|
|
478
589
|
}
|
|
479
590
|
//# sourceMappingURL=event-router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-router.js","sourceRoot":"","sources":["../../src/widgets/event-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-router.js","sourceRoot":"","sources":["../../src/widgets/event-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* [LAW:dataflow-not-control-flow] focus transitions are observable state;
|
|
5
5
|
* widgets react to focus/blur events, the manager never skips dispatch.
|
|
6
6
|
*/
|
|
7
|
-
import type { InteractiveWidget, FocusManager, Unsubscribe } from "./types.js";
|
|
7
|
+
import type { InteractiveWidget, FocusManager, KeyEvent, Unsubscribe } from "./types.js";
|
|
8
8
|
export declare class DefaultFocusManager implements FocusManager {
|
|
9
9
|
accessor widgetList: InteractiveWidget[];
|
|
10
10
|
accessor currentWidget: InteractiveWidget | null;
|
|
@@ -19,6 +19,7 @@ export declare class DefaultFocusManager implements FocusManager {
|
|
|
19
19
|
focus(widget: InteractiveWidget): void;
|
|
20
20
|
blur(): void;
|
|
21
21
|
onChange(handler: (current: InteractiveWidget | null) => void): Unsubscribe;
|
|
22
|
+
handleKey(event: KeyEvent): void;
|
|
22
23
|
private focusableWidgets;
|
|
23
24
|
private setFocus;
|
|
24
25
|
private emitChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-manager.d.ts","sourceRoot":"","sources":["../../src/widgets/focus-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAoB,YAAW,YAAY;IAEtD,QAAQ,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAM;IAG9C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAExD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0D;;IAMzF,IAAI,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAEtC;IAED,IAAI,OAAO,IAAI,SAAS,iBAAiB,EAAE,CAE1C;IAGD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"focus-manager.d.ts","sourceRoot":"","sources":["../../src/widgets/focus-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAoB,YAAW,YAAY;IAEtD,QAAQ,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAM;IAG9C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAExD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0D;;IAMzF,IAAI,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAEtC;IAED,IAAI,OAAO,IAAI,SAAS,iBAAiB,EAAE,CAE1C;IAGD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAazC,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAkB3C,IAAI,IAAI,IAAI;IAUZ,IAAI,IAAI,IAAI;IAUZ,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAOtC,IAAI,IAAI,IAAI;IASZ,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,GAAG,WAAW;IAS3E,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAShC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,UAAU;CAKnB"}
|
|
@@ -95,6 +95,12 @@ let DefaultFocusManager = (() => {
|
|
|
95
95
|
return this.widgetList;
|
|
96
96
|
}
|
|
97
97
|
register(widget) {
|
|
98
|
+
// [LAW:one-source-of-truth] register is idempotent — the widgetList is
|
|
99
|
+
// a set in spirit, not a multiset. Without this guard, double-registration
|
|
100
|
+
// would duplicate the widget so next/prev cycle through it twice and
|
|
101
|
+
// unregister only removes one copy.
|
|
102
|
+
if (this.widgetList.includes(widget))
|
|
103
|
+
return;
|
|
98
104
|
this.widgetList = [...this.widgetList, widget];
|
|
99
105
|
if (!this.currentWidget && widget.focusable && !widget.disabled) {
|
|
100
106
|
this.setFocus(widget);
|
|
@@ -106,13 +112,13 @@ let DefaultFocusManager = (() => {
|
|
|
106
112
|
return;
|
|
107
113
|
this.widgetList = this.widgetList.filter((w) => w !== widget);
|
|
108
114
|
if (this.currentWidget === widget) {
|
|
115
|
+
// [LAW:single-enforcer] WidgetBase.focus()/blur() already route through
|
|
116
|
+
// handleFocus, so calling both would double-dispatch and trigger any
|
|
117
|
+
// subclass side effect (e.g. Dropdown clearing filter/overlay) twice.
|
|
109
118
|
widget.blur();
|
|
110
|
-
widget.handleFocus({ type: "blur" });
|
|
111
119
|
const next = this.widgetList.find((w) => w.focusable && !w.disabled) ?? null;
|
|
112
|
-
if (next)
|
|
120
|
+
if (next)
|
|
113
121
|
next.focus();
|
|
114
|
-
next.handleFocus({ type: "focus" });
|
|
115
|
-
}
|
|
116
122
|
this.currentWidget = next;
|
|
117
123
|
this.emitChange();
|
|
118
124
|
}
|
|
@@ -143,8 +149,9 @@ let DefaultFocusManager = (() => {
|
|
|
143
149
|
blur() {
|
|
144
150
|
if (!this.currentWidget)
|
|
145
151
|
return;
|
|
152
|
+
// [LAW:single-enforcer] blur() already dispatches handleFocus on
|
|
153
|
+
// WidgetBase — see unregister() for the rationale.
|
|
146
154
|
this.currentWidget.blur();
|
|
147
|
-
this.currentWidget.handleFocus({ type: "blur" });
|
|
148
155
|
this.currentWidget = null;
|
|
149
156
|
this.emitChange();
|
|
150
157
|
}
|
|
@@ -152,6 +159,19 @@ let DefaultFocusManager = (() => {
|
|
|
152
159
|
this.changeHandlers.add(handler);
|
|
153
160
|
return () => this.changeHandlers.delete(handler);
|
|
154
161
|
}
|
|
162
|
+
// [LAW:single-enforcer] FocusManager owns Tab/Shift+Tab semantics. The
|
|
163
|
+
// router registers this as a normal-priority handler at construction —
|
|
164
|
+
// it runs after the focused widget, so a widget can `event.stop()`
|
|
165
|
+
// to suppress traversal (e.g. Dropdown when its overlay is open).
|
|
166
|
+
handleKey(event) {
|
|
167
|
+
if (event.key !== "tab")
|
|
168
|
+
return;
|
|
169
|
+
if (event.shift)
|
|
170
|
+
this.prev();
|
|
171
|
+
else
|
|
172
|
+
this.next();
|
|
173
|
+
event.stop();
|
|
174
|
+
}
|
|
155
175
|
// --- Private ---
|
|
156
176
|
focusableWidgets() {
|
|
157
177
|
return this.widgetList.filter((w) => w.focusable && !w.disabled);
|
|
@@ -159,13 +179,12 @@ let DefaultFocusManager = (() => {
|
|
|
159
179
|
setFocus(widget) {
|
|
160
180
|
if (this.currentWidget === widget)
|
|
161
181
|
return;
|
|
162
|
-
|
|
182
|
+
// [LAW:single-enforcer] focus()/blur() already dispatch handleFocus —
|
|
183
|
+
// see unregister() for the rationale.
|
|
184
|
+
if (this.currentWidget)
|
|
163
185
|
this.currentWidget.blur();
|
|
164
|
-
this.currentWidget.handleFocus({ type: "blur" });
|
|
165
|
-
}
|
|
166
186
|
this.currentWidget = widget;
|
|
167
187
|
widget.focus();
|
|
168
|
-
widget.handleFocus({ type: "focus" });
|
|
169
188
|
this.emitChange();
|
|
170
189
|
}
|
|
171
190
|
emitChange() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-manager.js","sourceRoot":"","sources":["../../src/widgets/focus-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"focus-manager.js","sourceRoot":"","sources":["../../src/widgets/focus-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/widgets/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
export { FLOW, hasOverlay } from "./types.js";
|
|
1
|
+
export type { KeyEventInit, KeyHandlerPriority, KeyHandlerOptions, WidgetMouseEvent, WidgetFocusEvent, WidgetBounds, InteractiveWidget, OverlayRenderable, FocusManager, Screen, MountEntry, Placement, Unsubscribe, } from "./types.js";
|
|
2
|
+
export { FLOW, hasOverlay, KeyEvent } from "./types.js";
|
|
3
3
|
export { StaticItem } from "./static-item.js";
|
|
4
4
|
export type { StaticItemOptions } from "./static-item.js";
|
|
5
5
|
export { WidgetBase } from "./widget-base.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/widgets/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/widgets/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/widgets/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/widgets/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/widgets/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|