Communication

4 blocks

Composed blocks for the communication surface. Each variant is a separate registry item with its own install command, source files, and fullscreen preview.

ChatGPT/Claude-style LLM chat surface. Collapsible left sidebar with New chat, searchable thread history grouped Today/Yesterday/Previous 7 days/Earlier, account row. Centered conversation: empty state with suggested-prompt tiles, user/assistant turns with code-block rendering and copy/regenerate/feedback actions, streaming dots, stop button. Composer with model picker (Opus/Sonnet/Haiku), attach, Enter-to-send, autosizing textarea. Stateful demo — wire `send()` to your streaming endpoint.

$ npx shadcn-vue@latest add https://uipkge.dev/r/nuxt/ai-llm-chat.json
/view/ai-llm-chat Expand

Single-pane conversation surface. Peer header (avatar + online dot + call/video/more), grouped messages with day separators (Today/Yesterday/date), own vs. peer bubbles, read/delivered/sent ticks, typing indicator, composer with attach/emoji and Enter-to-send. Stateful demo; swap the `messages` ref for your transport.

$ npx shadcn-vue@latest add https://uipkge.dev/r/nuxt/chat-thread.json
/view/chat-thread Expand

Two-pane messaging surface. Left rail: searchable conversation list with avatars, online dots, pinned section, unread badges, mute icons, last-message preview, smart timestamps. Right pane: active thread with day separators, own/peer bubbles, read ticks, typing indicator, attach/emoji/send composer. Stateful demo — replace `conversations` and `messagesByConvo` with your data layer.

$ npx shadcn-vue@latest add https://uipkge.dev/r/nuxt/chat-two-pane.json
/view/chat-two-pane Expand

Three-pane mail surface. Left rail: Compose button, folders (Inbox/Starred/Sent/Drafts/Spam/Trash) with unread counts, colour-coded labels with totals. Middle: searchable message list with sender, subject, preview, labels, attachment glyphs, star toggle, smart timestamps. Right: reader pane with subject, from/to, body, attachment chip, reply/forward/archive actions. Stateful demo — swap `mails` for your data source.

$ npx shadcn-vue@latest add https://uipkge.dev/r/nuxt/inbox.json
/view/inbox Expand