@promptctl/rich-js 0.2.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.
Files changed (150) hide show
  1. package/README.md +29 -15
  2. package/dist/core/cells.d.ts +83 -3
  3. package/dist/core/cells.d.ts.map +1 -1
  4. package/dist/core/cells.js +113 -1
  5. package/dist/core/cells.js.map +1 -1
  6. package/dist/core/console.d.ts +0 -1
  7. package/dist/core/console.d.ts.map +1 -1
  8. package/dist/core/console.js +20 -16
  9. package/dist/core/console.js.map +1 -1
  10. package/dist/core/highlighter.d.ts.map +1 -1
  11. package/dist/core/highlighter.js.map +1 -1
  12. package/dist/core/oklch.d.ts +106 -0
  13. package/dist/core/oklch.d.ts.map +1 -0
  14. package/dist/core/oklch.js +221 -0
  15. package/dist/core/oklch.js.map +1 -0
  16. package/dist/core/render.d.ts +26 -7
  17. package/dist/core/render.d.ts.map +1 -1
  18. package/dist/core/render.js +83 -15
  19. package/dist/core/render.js.map +1 -1
  20. package/dist/core/segment.d.ts +14 -1
  21. package/dist/core/segment.d.ts.map +1 -1
  22. package/dist/core/segment.js +28 -3
  23. package/dist/core/segment.js.map +1 -1
  24. package/dist/core/style.d.ts +11 -2
  25. package/dist/core/style.d.ts.map +1 -1
  26. package/dist/core/style.js +31 -18
  27. package/dist/core/style.js.map +1 -1
  28. package/dist/core/text.d.ts +20 -0
  29. package/dist/core/text.d.ts.map +1 -1
  30. package/dist/core/text.js +31 -0
  31. package/dist/core/text.js.map +1 -1
  32. package/dist/index.d.ts +11 -4
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +12 -3
  35. package/dist/index.js.map +1 -1
  36. package/dist/renderables/columns.d.ts.map +1 -1
  37. package/dist/renderables/columns.js +15 -22
  38. package/dist/renderables/columns.js.map +1 -1
  39. package/dist/renderables/layout.d.ts.map +1 -1
  40. package/dist/renderables/layout.js +8 -29
  41. package/dist/renderables/layout.js.map +1 -1
  42. package/dist/renderables/live.d.ts.map +1 -1
  43. package/dist/renderables/live.js +8 -7
  44. package/dist/renderables/live.js.map +1 -1
  45. package/dist/renderables/panel.d.ts +34 -0
  46. package/dist/renderables/panel.d.ts.map +1 -1
  47. package/dist/renderables/panel.js +66 -23
  48. package/dist/renderables/panel.js.map +1 -1
  49. package/dist/template-bindings/index.d.ts +35 -0
  50. package/dist/template-bindings/index.d.ts.map +1 -1
  51. package/dist/template-bindings/index.js +61 -0
  52. package/dist/template-bindings/index.js.map +1 -1
  53. package/dist/template-bindings/style-funcs.d.ts.map +1 -1
  54. package/dist/template-bindings/style-funcs.js +32 -0
  55. package/dist/template-bindings/style-funcs.js.map +1 -1
  56. package/dist/themes/colorMath.d.ts +40 -0
  57. package/dist/themes/colorMath.d.ts.map +1 -1
  58. package/dist/themes/colorMath.js +82 -1
  59. package/dist/themes/colorMath.js.map +1 -1
  60. package/dist/themes/data/catppuccin-frappe.d.ts +4 -0
  61. package/dist/themes/data/catppuccin-frappe.d.ts.map +1 -0
  62. package/dist/themes/data/catppuccin-frappe.js +159 -0
  63. package/dist/themes/data/catppuccin-frappe.js.map +1 -0
  64. package/dist/themes/data/catppuccin-macchiato.d.ts +4 -0
  65. package/dist/themes/data/catppuccin-macchiato.d.ts.map +1 -0
  66. package/dist/themes/data/catppuccin-macchiato.js +159 -0
  67. package/dist/themes/data/catppuccin-macchiato.js.map +1 -0
  68. package/dist/themes/data/cyberpunk.d.ts +18 -0
  69. package/dist/themes/data/cyberpunk.d.ts.map +1 -0
  70. package/dist/themes/data/cyberpunk.js +192 -0
  71. package/dist/themes/data/cyberpunk.js.map +1 -0
  72. package/dist/themes/data/default.d.ts +4 -0
  73. package/dist/themes/data/default.d.ts.map +1 -0
  74. package/dist/themes/data/default.js +159 -0
  75. package/dist/themes/data/default.js.map +1 -0
  76. package/dist/themes/data/index.d.ts +10 -3
  77. package/dist/themes/data/index.d.ts.map +1 -1
  78. package/dist/themes/data/index.js +24 -7
  79. package/dist/themes/data/index.js.map +1 -1
  80. package/dist/themes/data/svg-export.d.ts +4 -0
  81. package/dist/themes/data/svg-export.d.ts.map +1 -0
  82. package/dist/themes/data/svg-export.js +159 -0
  83. package/dist/themes/data/svg-export.js.map +1 -0
  84. package/dist/themes/data/types.d.ts +4 -3
  85. package/dist/themes/data/types.d.ts.map +1 -1
  86. package/dist/themes/registry.d.ts +29 -2
  87. package/dist/themes/registry.d.ts.map +1 -1
  88. package/dist/themes/registry.js +62 -12
  89. package/dist/themes/registry.js.map +1 -1
  90. package/dist/themes/terminalThemes.d.ts +29 -20
  91. package/dist/themes/terminalThemes.d.ts.map +1 -1
  92. package/dist/themes/terminalThemes.js +50 -249
  93. package/dist/themes/terminalThemes.js.map +1 -1
  94. package/dist/themes/transpose.d.ts +88 -0
  95. package/dist/themes/transpose.d.ts.map +1 -0
  96. package/dist/themes/transpose.js +139 -0
  97. package/dist/themes/transpose.js.map +1 -0
  98. package/dist/widgets/button.d.ts +8 -5
  99. package/dist/widgets/button.d.ts.map +1 -1
  100. package/dist/widgets/button.js +36 -11
  101. package/dist/widgets/button.js.map +1 -1
  102. package/dist/widgets/checkbox.d.ts +1 -2
  103. package/dist/widgets/checkbox.d.ts.map +1 -1
  104. package/dist/widgets/checkbox.js +20 -7
  105. package/dist/widgets/checkbox.js.map +1 -1
  106. package/dist/widgets/dropdown.d.ts +4 -3
  107. package/dist/widgets/dropdown.d.ts.map +1 -1
  108. package/dist/widgets/dropdown.js +109 -27
  109. package/dist/widgets/dropdown.js.map +1 -1
  110. package/dist/widgets/event-router.d.ts +6 -3
  111. package/dist/widgets/event-router.d.ts.map +1 -1
  112. package/dist/widgets/event-router.js +179 -68
  113. package/dist/widgets/event-router.js.map +1 -1
  114. package/dist/widgets/focus-manager.d.ts +2 -1
  115. package/dist/widgets/focus-manager.d.ts.map +1 -1
  116. package/dist/widgets/focus-manager.js +28 -9
  117. package/dist/widgets/focus-manager.js.map +1 -1
  118. package/dist/widgets/index.d.ts +2 -2
  119. package/dist/widgets/index.d.ts.map +1 -1
  120. package/dist/widgets/index.js +1 -1
  121. package/dist/widgets/index.js.map +1 -1
  122. package/dist/widgets/screen.d.ts +2 -0
  123. package/dist/widgets/screen.d.ts.map +1 -1
  124. package/dist/widgets/screen.js +148 -45
  125. package/dist/widgets/screen.js.map +1 -1
  126. package/dist/widgets/slider.d.ts +6 -3
  127. package/dist/widgets/slider.d.ts.map +1 -1
  128. package/dist/widgets/slider.js +34 -10
  129. package/dist/widgets/slider.js.map +1 -1
  130. package/dist/widgets/static-item.d.ts +1 -1
  131. package/dist/widgets/static-item.d.ts.map +1 -1
  132. package/dist/widgets/static-item.js +12 -13
  133. package/dist/widgets/static-item.js.map +1 -1
  134. package/dist/widgets/text-input.d.ts +239 -13
  135. package/dist/widgets/text-input.d.ts.map +1 -1
  136. package/dist/widgets/text-input.js +1004 -74
  137. package/dist/widgets/text-input.js.map +1 -1
  138. package/dist/widgets/toggle.d.ts +1 -2
  139. package/dist/widgets/toggle.d.ts.map +1 -1
  140. package/dist/widgets/toggle.js +20 -8
  141. package/dist/widgets/toggle.js.map +1 -1
  142. package/dist/widgets/types.d.ts +21 -4
  143. package/dist/widgets/types.d.ts.map +1 -1
  144. package/dist/widgets/types.js +19 -0
  145. package/dist/widgets/types.js.map +1 -1
  146. package/dist/widgets/widget-base.d.ts +1 -0
  147. package/dist/widgets/widget-base.d.ts.map +1 -1
  148. package/dist/widgets/widget-base.js +24 -7
  149. package/dist/widgets/widget-base.js.map +1 -1
  150. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/widgets/dropdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/widgets/dropdown.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,9 @@
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 type { Screen, FocusManager, InteractiveWidget, KeyEvent, WidgetMouseEvent, Unsubscribe } from "./types.js";
19
+ import { KeyEvent } from "./types.js";
20
+ import type { Screen, FocusManager, InteractiveWidget, WidgetMouseEvent, KeyHandlerOptions, Unsubscribe } from "./types.js";
21
+ type KeyHandler = (event: KeyEvent) => void;
20
22
  type WidgetSource = {
21
23
  focusManager: FocusManager;
22
24
  getWidgets: () => readonly InteractiveWidget[];
@@ -49,12 +51,13 @@ export declare class EventRouter {
49
51
  private running;
50
52
  private dataListener;
51
53
  private escTimer;
52
- private readonly keyHandlers;
54
+ private capturedWidget;
55
+ private readonly keyChain;
53
56
  private readonly mouseHandlers;
54
57
  constructor(options: EventRouterOptions);
55
58
  start(): void;
56
59
  stop(): void;
57
- onKey(handler: (event: KeyEvent) => void): Unsubscribe;
60
+ onKey(handler: KeyHandler, options?: KeyHandlerOptions): Unsubscribe;
58
61
  onMouse(handler: (event: WidgetMouseEvent) => void): Unsubscribe;
59
62
  /** Feed a chunk of bytes (or a string of bytes) into the parser. */
60
63
  feed(chunk: Buffer | string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"event-router.d.ts","sourceRoot":"","sources":["../../src/widgets/event-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,KAAK,YAAY,GAAG;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,SAAS,iBAAiB,EAAE,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG;QAC9B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;QACvC,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA+ED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAiD;IACrE,OAAO,CAAC,QAAQ,CAA8C;IAE9D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgD;gBAElE,OAAO,EAAE,kBAAkB;IAiBvC,KAAK,IAAI,IAAI;IAsBb,IAAI,IAAI,IAAI;IAqBZ,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,WAAW;IAKtD,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,WAAW;IAOhE,oEAAoE;IACpE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBlC,oDAAoD;IACpD,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,UAAU;IA6ClB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,UAAU;IAuDlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;CAyBtB"}
1
+ {"version":3,"file":"event-router.d.ts","sourceRoot":"","sources":["../../src/widgets/event-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAEjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAM5C,KAAK,YAAY,GAAG;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,SAAS,iBAAiB,EAAE,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG;QAC9B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;QACvC,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA+ED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAiD;IACrE,OAAO,CAAC,QAAQ,CAA8C;IAM9D,OAAO,CAAC,cAAc,CAAkC;IAKxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgD;gBAElE,OAAO,EAAE,kBAAkB;IAyBvC,KAAK,IAAI,IAAI;IAiBb,IAAI,IAAI,IAAI;IAiCZ,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,WAAW;IAYpE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,WAAW;IAOhE,oEAAoE;IACpE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBlC,oDAAoD;IACpD,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,UAAU;IA6ClB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,aAAa;IA2ErB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,UAAU;IA2DlB,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,aAAa;CA+BtB"}
@@ -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
- keyHandlers = new Set();
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 (!this.running)
130
- return;
131
- this.running = false;
132
- if (this.dataListener) {
133
- this.input?.off("data", this.dataListener);
134
- this.dataListener = undefined;
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
- if (this.manageMouse)
141
- this.output.write(MOUSE_TRACK_OFF);
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
- this.keyHandlers.add(handler);
149
- return () => this.keyHandlers.delete(handler);
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: 1,
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 <any other byte> → unrecognised; drop the ESC, re-process from b1.
282
- // This avoids treating Alt+key as an Alt sequence (out of scope) while
283
- // still surfacing the key.
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
- for (const handler of this.keyHandlers)
358
- handler(event);
359
- if (event.key === "tab") {
360
- if (event.shift)
361
- this.source.focusManager.prev();
362
- else
363
- this.source.focusManager.next();
364
- return;
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
- updateHover(w, inside, event);
481
+ w.setHovered(inside);
380
482
  }
381
483
  }
382
- // Click / button event: deliver to topmost widget under the pointer.
383
- // [LAW:dataflow-not-control-flow] reverse iteration runs every event;
384
- // an empty hit produces an empty effect, no early-mode branch.
385
- for (let i = widgets.length - 1; i >= 0; i--) {
386
- const w = widgets[i];
387
- if (!w.visible)
388
- continue;
389
- if (!w.containsPoint(event.x, event.y))
390
- continue;
391
- w.handleMouse(event);
392
- break;
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: "\t", shift: true, ctrl: false, meta: false },
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 updateHover(widget, hovered, event) {
470
- const setHovered = widget.setHovered;
471
- if (typeof setHovered === "function") {
472
- setHovered.call(widget, hovered);
473
- return;
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
- // [LAW:dataflow-not-control-flow] Fallback path: the synthesized event
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;IAQzC,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAmB3C,IAAI,IAAI,IAAI;IAUZ,IAAI,IAAI,IAAI;IAUZ,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAOtC,IAAI,IAAI,IAAI;IAQZ,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,GAAG,WAAW;IAO3E,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,UAAU;CAKnB"}
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"}