Commit Graph
6 Commits
Author SHA1 Message Date
chuan d84ca3a313 feat: share runtime keybindings with components
- add component-level keybinding injection contract

- inject runtime keybinding registry when components enter runtime or overlay

- cover focused component behavior with shared runtime keybindings
2026-06-04 02:54:07 +08:00
chuan 83967fa691 feat: add component infrastructure
- add focusable runtime state and invalidate entry

- add theme primitives and reusable components

- add component checks for focus and cancellation
2026-06-04 02:17:07 +08:00
chuan 9cef923d55 feat: add keybinding registry
- add key id and keybinding registry defaults

- route input components through action matching
2026-06-04 01:45:26 +08:00
chuan d49c7644d0 chore: add some comments 2026-06-03 23:29:26 +08:00
chuan 6da88b6a67 feat: position hardware cursor
- add cursor marker extraction for rendered lines

- move the terminal cursor after full and differential renders

- update input to use the real cursor instead of a block glyph
2026-06-03 23:07:28 +08:00
chuan e2311f6e99 feat: add basic components
- add text, box, and single-line input components

- support input change, submit, and cancel callbacks

- update example to compose the page from library components
2026-06-03 22:46:18 +08:00