Meet Frontfriend.Your brand. Your rules. Your agents, connected.Explore what’s new
DocumentationAI Elements

AI Elements

Build agent interfaces from Frontfriend components. Copy examples for React Base, React Radix, React Aria, or Vue Reka.

Read as Markdown

AI Elements are patterns made from released Frontfriend components. The basic examples run with local data. They do not need an AI provider or an AI SDK package.

Choose your target

Each page has an interactive example, an install command, copyable source, and links to the component APIs. The target switch selects source for your project. The shared preview uses React Base.

Chat and input

Build conversations, collect input, and show the context for an answer.

Agent steps

Show the work that leads to an answer, from the first plan to the final sources.

  • Reasoning shows thinking as it streams, with an optional duration.
  • Plan shows the steps known before work starts.
  • Queue separates work still to do from completed work.
  • Sources lists the unique sources used for an answer.
  • Task adds steps as the agent performs them.

Each pattern uses Trace and Collapsible. Select your target on the pattern page for its source and component APIs.

Technical output

Show tool results, code, logs, and test results with Trace and Code Block.

  • Chain of Thought groups reasoning, tools, and sources into steps.
  • Stack Trace shows an error and the calls that led to it.
  • Subagent shows the status and work of a delegated agent.
  • Terminal shows command output as it arrives.
  • Test Results shows test status, results, and failure details.
  • Tool shows tool input, approval, output, and errors.

Connect your data

Start with the local state in each example. Replace the local response with your application data when needed. Message, Reasoning, Plan, Queue, Sources, Task, Chain of Thought, Stack Trace, Subagent, Terminal, Test Results, and Tool include optional adapters for AI SDK message parts. Each adapter section names any extra package it needs. The Message adapter renders text parts as text and shows a fallback for unsupported parts. No Markdown renderer is installed.

These patterns have no separate component identity. Install their listed components. Use get_component_api for those components and use these docs for the pattern. Existing AI Elements wrappers require a manual migration; their names and props are not preserved automatically.