# Composer URL: /docs/primitives/composer Build custom message input UIs with full control over layout and behavior. The Composer primitive is the interface for composing new messages or editing existing ones. It handles submit behavior, keyboard shortcuts, focus management, attachment state, and streaming status. You provide the UI. ```tsx import { ComposerPrimitive } from "@assistant-ui/react"; import { ArrowUpIcon } from "lucide-react"; export function MinimalComposer() { return (
); } ```
Quick Start \[#quick-start] Minimal example: ```tsx import { ComposerPrimitive } from "@assistant-ui/react"; Send ``` `Root` renders a `
`, `Input` renders a `