AI Elements components
Every subpath @elirobinson/ai-elements publishes, and what each one exports. There are
74 of them at version 0.3.0, vendored from ai-elements@1.9.0.
These need a Tailwind 4 build, and nothing in the other tiers does. They are a separate package for that reason — see Installing AI Elements before you copy a subpath out of this page, and Overview for what vendoring at a pinned release means for you.
This page is generated from @elirobinson/ai-elements/manifest, which the package rebuilds
from its emitted declaration files on every build. Nothing here is typed by hand, which is
the only way it can be right: the roster is upstream's, pnpm sync:elements --write can add
and remove entries in one commit, and a list written into a page would go wrong silently.
The same data is a one-liner away from your own terminal.
node -p "require('@elirobinson/ai-elements/manifest').entries.map(e => e.subpath).join('\n')"There is no barrel — a bare @elirobinson/ai-elements import does not resolve. The import
column below is the specifier you write, verbatim.
Reach into ui/ when you are extending an Element. For the rest of a page,
@elirobinson/react is the layer with the keyboard contracts, the props tables and no
build requirement.
Prop types are omitted from the export lists: every component ships one named after it
(MessageContent and MessageContentProps), and printing both would double the page
without saying anything. They are in the manifest and in the declaration files.
components (48)
The assistant surfaces themselves — conversation and message logs, prompt inputs, tool and reasoning panels, artifact and canvas views.
| Import | Exports |
|---|---|
@elirobinson/ai-elements/components/agent | 7
|
@elirobinson/ai-elements/components/artifact | 8
|
@elirobinson/ai-elements/components/attachments | 16
|
@elirobinson/ai-elements/components/audio-player | 11
|
@elirobinson/ai-elements/components/canvas | 1
|
@elirobinson/ai-elements/components/chain-of-thought | 7
|
@elirobinson/ai-elements/components/checkpoint | 3
|
@elirobinson/ai-elements/components/code-block | 14
|
@elirobinson/ai-elements/components/commit | 22
|
@elirobinson/ai-elements/components/confirmation | 7
|
@elirobinson/ai-elements/components/connection | 1
|
@elirobinson/ai-elements/components/context | 10
|
@elirobinson/ai-elements/components/controls | 1
|
@elirobinson/ai-elements/components/conversation | 6
|
@elirobinson/ai-elements/components/edge | 1
|
@elirobinson/ai-elements/components/environment-variables | 11
|
@elirobinson/ai-elements/components/file-tree | 6
|
@elirobinson/ai-elements/components/image | 1
|
@elirobinson/ai-elements/components/inline-citation | 14
|
@elirobinson/ai-elements/components/jsx-preview | 4
|
@elirobinson/ai-elements/components/message | 12
|
@elirobinson/ai-elements/components/mic-selector | 10
|
@elirobinson/ai-elements/components/model-selector | 14
|
@elirobinson/ai-elements/components/node | 7
|
@elirobinson/ai-elements/components/open-in-chat | 12
|
@elirobinson/ai-elements/components/package-info | 9
|
@elirobinson/ai-elements/components/panel | 1
|
@elirobinson/ai-elements/components/persona | 2
|
@elirobinson/ai-elements/components/plan | 8
|
@elirobinson/ai-elements/components/prompt-input | 45
|
@elirobinson/ai-elements/components/queue | 18
|
@elirobinson/ai-elements/components/reasoning | 4
|
@elirobinson/ai-elements/components/sandbox | 8
|
@elirobinson/ai-elements/components/schema-display | 13
|
@elirobinson/ai-elements/components/shimmer | 1
|
@elirobinson/ai-elements/components/snippet | 5
|
@elirobinson/ai-elements/components/sources | 4
|
@elirobinson/ai-elements/components/speech-input | 1
|
@elirobinson/ai-elements/components/stack-trace | 10
|
@elirobinson/ai-elements/components/suggestion | 2
|
@elirobinson/ai-elements/components/task | 5
|
@elirobinson/ai-elements/components/terminal | 8
|
@elirobinson/ai-elements/components/test-results | 17
|
@elirobinson/ai-elements/components/tool | 7
|
@elirobinson/ai-elements/components/toolbar | 1
|
@elirobinson/ai-elements/components/transcription | 2
|
@elirobinson/ai-elements/components/voice-selector | 20
|
@elirobinson/ai-elements/components/web-preview | 7
|
ui (25)
The shadcn/ui primitives those components are built on, vendored because they are what those components import.
| Import | Exports |
|---|---|
@elirobinson/ai-elements/ui/accordion | 4
|
@elirobinson/ai-elements/ui/alert | 3
|
@elirobinson/ai-elements/ui/avatar | 3
|
@elirobinson/ai-elements/ui/badge | 2
|
@elirobinson/ai-elements/ui/button-group | 4
|
@elirobinson/ai-elements/ui/button | 2
|
@elirobinson/ai-elements/ui/card | 7
|
@elirobinson/ai-elements/ui/carousel | 6
|
@elirobinson/ai-elements/ui/collapsible | 3
|
@elirobinson/ai-elements/ui/command | 9
|
@elirobinson/ai-elements/ui/dialog | 10
|
@elirobinson/ai-elements/ui/dropdown-menu | 15
|
@elirobinson/ai-elements/ui/hover-card | 3
|
@elirobinson/ai-elements/ui/input-group | 6
|
@elirobinson/ai-elements/ui/input | 1
|
@elirobinson/ai-elements/ui/popover | 4
|
@elirobinson/ai-elements/ui/progress | 1
|
@elirobinson/ai-elements/ui/scroll-area | 2
|
@elirobinson/ai-elements/ui/select | 10
|
@elirobinson/ai-elements/ui/separator | 1
|
@elirobinson/ai-elements/ui/spinner | 1
|
@elirobinson/ai-elements/ui/switch | 1
|
@elirobinson/ai-elements/ui/tabs | 4
|
@elirobinson/ai-elements/ui/textarea | 1
|
@elirobinson/ai-elements/ui/tooltip | 4
|
lib (1)
The helpers the tree shares.
| Import | Exports |
|---|---|
@elirobinson/ai-elements/lib/utils | 1
|