21st

Search Tool

AI chats 75

About

Render grouped search results as a collapsible tool card. State-driven (searching shimmer / done static). Provide a query and an optional results array. Self-contained port from 21st.dev Agent Elements.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Search Tool to your project and fits it to your theme.

Code

How Search Tool is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

import { SearchTool, type SearchResult } from "@/components/ui/search-tool";

const results: SearchResult[] = [
  { title: "United UA837 SFO→NRT · $1,105 economy", source: "google.com/flights" },
  { title: "SFO–Tokyo · 14 results from $1,089", source: "expedia.com" },
  { title: "ANA NH7 Direct SFO→NRT · $1,240 rt", source: "google.com/flights" },
];

export default function Demo() {
  return (
    <div className="flex items-center justify-center w-full min-h-screen bg-background p-8 overflow-hidden">
      <div className="w-full max-w-md">
        <SearchTool
          state="done"
          query="best flights to Tokyo"
          results={results}
          defaultOpen
        />
      </div>
    </div>
  );
}

Dependencies

More by 21st

View all
  • Spline Scene

    Spline Scene

    9.7K
  • Testimonials with Marquee

    Testimonials with Marquee

    2.4K
  • Gradient Button

    Gradient Button

    2K
  • Pixel Canvas

    Pixel Canvas

    923
  • Animated Blur Number

    Animated Blur Number

    832
  • Empty State

    Empty State

    794
  • Balloons

    Balloons

    786
  • Status Badge

    Status Badge

    683

More in AI chats

View all
  • AI Actions

    AI Actions

    338
  • Aquarium Prompt

    Aquarium Prompt

    40
  • Color Picker

    Color Picker

    166
  • Environment Variables

    Environment Variables

    20
  • Illos Knowledge Sources

    Illos Knowledge Sources

    37
  • Streaming Text

    Streaming Text

    24
  • Commit

    Commit

    30
  • Suggestions

    Suggestions

    36