feat: add WithModalKeyMap and tie key blocking to trapFocus (#48)
Modal's KeyMap() previously always appended an AnyKey catch-all that
swallowed all keyboard input, regardless of configuration. Setting
trapFocus=false still blocked all keys, contradicting its semantics.
Changes:
- Add WithModalKeyMap(km KeyMap) option and keyMap GSX attribute for
custom preemptive key bindings inside modals
- Gate the AnyKey catch-all on trapFocus: when false, unhandled keys
propagate to parent components
- Enter handler fires regardless of trapFocus setting
- Update analyzer, code generator, and LSP schema for the new attribute
- Update all documentation and test fixtures
trapFocus=false now lets unhandled keys pass through
to parent components. Previously they were silently consumed.
Joel Holsteen · Apr 3 · 2dcff81 · parent b361045 · 17 files +106 -0