Chain of Thought

A collapsible component that visualizes AI reasoning steps with support for search results, images, and step-by-step progress indicators.

The ChainOfThought component provides a visual representation of an AI's reasoning process, showing step-by-step thinking with support for search results, images, and progress indicators. It helps users understand how AI arrives at conclusions.

See scripts/chain-of-thought.tsx for this example.

Installation

npx ai-elements@latest add chain-of-thought

Features

  • Collapsible interface with smooth animations powered by Radix UI
  • Step-by-step visualization of AI reasoning process
  • Support for different step statuses (complete, active, pending)
  • Built-in search results display with badge styling
  • Image support with captions for visual content
  • Custom icons for different step types
  • Context-aware components using React Context API
  • Fully typed with TypeScript
  • Accessible with keyboard navigation support
  • Responsive design that adapts to different screen sizes
  • Smooth fade and slide animations for content transitions
  • Composable architecture for flexible customization

Props

<ChainOfThought />

PropTypeDefaultDescription
openboolean-Controlled open state of the collapsible.
defaultOpenbooleanfalseDefault open state when uncontrolled.
onOpenChange(open: boolean) => void-Callback when the open state changes.
...propsReact.ComponentProps<-Any other props are spread to the root div element.

<ChainOfThoughtHeader />

PropTypeDefaultDescription
childrenReact.ReactNode-Custom header text.
...propsReact.ComponentProps<typeof CollapsibleTrigger>-Any other props are spread to the CollapsibleTrigger component.

<ChainOfThoughtStep />

PropTypeDefaultDescription
iconLucideIconDotIconIcon to display for the step.
labelstring-The main text label for the step.
descriptionstring-Optional description text shown below the label.
statusunknown-Visual status of the step.
...propsReact.ComponentProps<-Any other props are spread to the root div element.

<ChainOfThoughtSearchResults />

PropTypeDefaultDescription
...propsReact.ComponentProps<-Any props are spread to the container div element.

<ChainOfThoughtSearchResult />

PropTypeDefaultDescription
...propsReact.ComponentProps<typeof Badge>-Any props are spread to the Badge component.

<ChainOfThoughtContent />

PropTypeDefaultDescription
...propsReact.ComponentProps<typeof CollapsibleContent>-Any props are spread to the CollapsibleContent component.

<ChainOfThoughtImage />

PropTypeDefaultDescription
captionstring-Optional caption text displayed below the image.
...propsReact.ComponentProps<-Any other props are spread to the container div element.