Measured entry
hextaui-ai-streaming-response
chatminimal-flatmotion on file
A client-side React renderer that reveals whitespace-delimited tokens with punctuation-aware pauses, then hands the text to HextaUI's AI Message for Markdown, GFM, copy actions, and Shiki highlighting. It ships as a shadcn registry item and relies on Tailwind utilities, theme support, registry button and menu primitives, and its declared Markdown and Radix packages.



Measured
Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | flagged at 375 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 1938.3 KB (2003.8 KB build, 65.5 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 1.95s error during build: [vite]: Rollup failed to resolve import "lucide-react" from "<sandbox>re-3e61b8e7c1b5/src/cut/blocks/ai/ai-message.tsx".
Verdict
A capable fit for shadcn chat surfaces that need polished Markdown playback from complete text. The prepared build mounted cleanly and produced no automated accessibility findings, but narrow overflow and the heavy highlighting stack limit its appeal. It needs a shadcn-style setup, and the bare install failed because lucide-react was unresolved.
Use it if
- You need a simulated assistant response from complete text rather than transport-level token streaming.
- Your chat already uses shadcn conventions and needs Markdown, GFM, copy actions, and highlighted code.
- You want punctuation-aware pacing and an automatic reduced-motion fallback.
Skip it if
- You need to append real server tokens as they arrive; this component animates a finished content string.
- Bundle restraint matters more than Markdown and code highlighting, since the Shiki-based message dependency is substantial.
- Your chat must fit narrow containers without adjustment; the verified narrow view overflowed.
- You want a framework-neutral drop-in with no Tailwind, path-alias, theme, or registry wiring.
Install
| Declared dependencies | react-markdown, remark-gfm, shiki, next-themes, @radix-ui/react-slot, @radix-ui/react-dropdown-menu, clsx, tailwind-merge |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn app, add Tailwind with the expected design tokens, the cn utility, and the path alias; copy in AI Message, Button, and Dropdown Menu registry files; install React Markdown, remark GFM, Shiki, next-themes, lucide-react, Radix Slot and Dropdown Menu, clsx, and tailwind-merge; then wire theme support.
Source and credit
This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.
Author repository
github.com/preetsuthar17/HextaUIAlternatives
Other published entries for the chat pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hextaui-alertminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 26.8KB
- Bare
- fail
- Prov
- NO
- kibo-bannerminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 33.0KB
- Bare
- fail
- Prov
- NO
- ruixen-comment-threadunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 40.2KB
- Bare
- fail
- Prov
- NO
- ruixen-smart-paste-inputunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 44.4KB
- Bare
- fail
- Prov
- NO
- ruixen-faq-chat-accordionunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 67.7KB
- Bare
- fail
- Prov
- NO
- ruixen-gradient-chat-inputgradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 72.6KB
- Bare
- fail
- Prov
- NO