Overview
The message box: grows with your text, takes files, picks the model, sends with Enter and stops a running answer. It comes from the AI chat kit and also works on its own. Keyboard and screen readers: Enter sends, Shift+Enter adds a line; Enter is ignored while an input method is composing text. Send is disabled while the box is empty; Stop replaces it while an answer streams. Every file chip has a "Remove <file name>" button; removing one returns focus to the text box. The model menu supports arrow keys, Home/End, typing to jump and Esc, and returns focus to its button. With reduced motion, chips appear and disappear without scaling. Built with React 19 and TypeScript, Tailwind CSS 4, Base UI, Lucide icons and Motion. Light and dark themes come from CSS variables you can edit, and every demo uses believable sample data you replace with your own. Included: the component source, its sample data, light and dark theme variables, a runnable demo page, and setup guides for people and for AI coding agents.
Highlights
- Production-ready, documented source
- Clean, componentized architecture
- Drops into your stack with minimal setup

