About
An Astryx chat-composer shell arranging input, drawer, header, footer, send actions, status, and keyboard focus behavior.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Astryx Chat Composer to your project and fits it to your theme.
Code
How Astryx Chat Composer is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
'use client';
import {ChatComposer, ChatComposerDrawer} from '@/components/ui/astryx-chat-composer';
import {Token} from '@astryxdesign/core/Token';
import {Stack} from '@astryxdesign/core/Layout';
function ChatComposerAttachments() {
return (
<Stack direction="vertical" width={450} maxWidth="100%">
<ChatComposer
onSubmit={value => {
console.log('Sent:', value);
}}
drawer={
<ChatComposerDrawer count={6}>
<Token label="feature-prd.docx" onRemove={() => {}} />
<Token label="2026-roadmap.pdf" onRemove={() => {}} />
<Token label="user-flow.fig" onRemove={() => {}} />
<Token label="launch-plan.docx" onRemove={() => {}} />
<Token label="user-feedback.csv" onRemove={() => {}} />
<Token label="analytics-kpis.csv" onRemove={() => {}} />
</ChatComposerDrawer>
}
/>
</Stack>
);
}
export default function ChatComposerAttachmentsDemo() {
return (
<div
data-astryx-theme="neutral"
data-theme="light"
style={{colorScheme: 'light', display: 'contents'}}>
<ChatComposerAttachments />
</div>
);
}






