21st

Todo Tool

Component 9

About

Render task list with status icons (pending / in_progress / completed) and an optional shimmer 'Updating to-dos...' streaming state. Self-contained port from 21st.dev Agent Elements with inline SVG icons + shimmer keyframes.

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

Code

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

Usage.tsx

import { TodoTool, type TodoItem } from "@/components/ui/todo-tool";

const todos: TodoItem[] = [
  { content: "Audit components", status: "completed" },
  { content: "Tighten spacing", status: "completed" },
  { content: "Ship updates", status: "in_progress" },
];

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-fit">
        <TodoTool state="idle" todos={todos} />
      </div>
    </div>
  );
}

Dependencies

More by 21st

View all
  • Spline Scene

    Spline Scene

    9.4K
  • Testimonials with Marquee

    Testimonials with Marquee

    2.3K
  • Gradient Button

    Gradient Button

    1.9K
  • Pixel Canvas

    Pixel Canvas

    898
  • Animated Blur Number

    Animated Blur Number

    830
  • Empty State

    Empty State

    772
  • Balloons

    Balloons

    753
  • Status Badge

    Status Badge

    639