Commit Graph
3 Commits
Author SHA1 Message Date
phranck bc925885d6 Refactor: List with title and body padding (simple approach)
- Add optional title parameter to List struct and init methods
- Title rendered above items with accent color
- Body items get horizontal padding (1 char left/right, 0 vertical)
- Focus indicators maintain full background width with padding
- Simplified ListPage: List is now self-contained with title parameter
- All 618 tests pass, 0 serious lint violations
- Maintains complete keyboard navigation and selection behavior
2026-02-06 21:34:39 +01:00
phranck df5a6ea71c Feat: Implement List selection and improve rendering
- Selection now works: Enter/Space selects focused row (by index)
- Selected rows show with full-width background bar (accent color)
- Focused rows show with pulsing dot indicator
- Unfocused rows show with padding space for alignment
- ListPage content now uses theme foreground colors (not white)
- Selection binding updates when user presses Enter/Space
- 618 tests passing
2026-02-06 21:08:30 +01:00
phranck 7ea5e51478 Feat: Add scrollable List component with keyboard navigation
- List<SelectionValue, Content> generic component with optional selection binding
- ListHandler (Focusable) manages focus, scroll offset, and keyboard navigation
- Keyboard: arrow keys, Page Up/Down, Home/End, Enter/Space for selection
- Auto-scroll: focused row always visible in viewport
- .tag() modifier for selection value association
- 30+ tests covering navigation, selection, scrolling, rendering
- ListPage example with static and dynamic content
- 617 total tests passing
2026-02-06 20:59:40 +01:00