f9f72f7f68
Ink derives the focus id via useMemo(() => customId ?? random, [customId]) and keys its add/remove effect on [id], so changing the id prop re-registers the component under the new id. vue-tui captured `const id = options.id ?? …` once at setup (and typed id as a plain string), so it never reacted. - Widen id to MaybeRefOrGetter<string>. - Track the current registration and re-register (unsubscribe/remove old, subscribe/add new, re-apply active state) in a watcher keyed on the resolved id, mirroring Ink's [id] effect. isActive handling unchanged. Test (test-first, verified red before the fix): focus is driven purely by focus(id) (no Tab, which would focus by position and mask the bug); changing the id re-registers under the new value and the old id goes dead. Also reconciles G04 -> merged (landed in #30). Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>