Commit Graph
3 Commits
Author SHA1 Message Date
Wolfgang Schoenberger b9b509b059 test(tui): replace SgrMouseEvent cast with null guard
Addresses review feedback: the repo bans type casts in new code. Use a
real null guard that throws if the handler never received an event, so
the test keeps the handler contract type-checked.
2026-06-24 20:09:48 -07:00
Wolfgang Schoenberger e5e29219fe feat(tui): add shared SGR mouse-routing helpers and SelectList.routeMouse
Add routeSgrMouseInput() and routeSelectListMouse() to centralize the
repeated SGR parse + SelectList hit-test/hover/wheel/click patterns, and
make SelectList implement MouseRoutable via routeMouse(). The structural
SelectListMouseTarget interface keeps mouse.ts free of component imports.

Extend the emergency-restore tests to assert mouse-off sequences
(1006l/1003l/1000l) are emitted while keeping the alt-screen 1049 gating.
2026-06-24 20:09:48 -07:00
can1357 2e0ffcca46 feat(tui): added section-focus navigation support for settings interfaces
- Added `SettingsList` section-focus state with `sectionFocused`, `hasSectionFocusTargets`, and `toggleSectionFocus()`.
- Implemented section-heading navigation with Tab/Shift+Tab, Up/Down focus jumps, and Enter/Escape exits.
- Updated `/settings` input hints and fallback routing to tab-bar keys when section focus is unavailable.
- Added tests for section-focus navigation, mouse parsing, and tab-bar behavior coverage.
2026-06-12 03:27:50 +02:00