Utility
Terminal
Installation
$ pnpm dlx shadcn@latest add @termcn/ink/chat-message
Usage
import { ChatMessage } from "@/components/ui/chat-message";<ChatMessage sender="assistant" name="Claude" timestamp={new Date()}>
Here is the refactored version of your function.
</ChatMessage>API Reference
ChatMessage
| Prop | Type | Default |
|---|---|---|
sender | "user" | "assistant" | "system" | "error" | required |
name | string | - |
timestamp | Date | - |
streaming | boolean | false |
collapsed | boolean | - |
children | ReactNode | - |
Notes
Accessibility
termcn exposes the following behavior through Ink's terminal accessibility APIs. This is not a browser ARIA or general WCAG-conformance claim.
- Keyboard:
Enter/Spaceactivate the focused action when enabled;Escapedismisses or cancels when supported;Tab/Shift+Tabmove through Ink focus targets. - Focus and composition: Input is active only while the component's focus target is focused, enabled, active, and inside the topmost focus scope.
- Screen reader: Ink labels and semantic state expose the component without relying on visual styling alone.