You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
useFocusTrap — trap Tab/Shift+Tab focus within overlays. Wire into any Modal, Drawer, or Dialog via focusableIds prop
useKeyboardNavigation — standardized ↑↓/Home/End/PgUp/PgDn navigation for all list-style components
New AI Components
StreamOutput — standalone streaming display; accepts a pre-buffered text prop (animated char-by-char) or a live stream: AsyncIterable<string> from any LLM SDK
ConversationHistory — scrollable wrapper for ChatMessage history with ↑↓ keyboard navigation and bottom-anchored default
ErrorRetry — error state with keyboard retry/dismiss, retry counter, and maxRetries guard
Overlay Accessibility
Modal and Drawer now accept focusableIds?: string[] — focus is automatically trapped within the overlay when open
MCP Server
npx termui mcp — stdio MCP server exposing 5 tools to Claude Code, Claude Desktop, Cursor, and Copilot: