Components
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.
npx shadcn@latest add https://21st.dev/r/21stdev/todo-toolLoading preview...
import { TodoTool, type TodoItem } from "@/components/ui/todo-tool";
const todos: TodoItem[] = [
{ content: "Audit components", status: "completed" },
{ content: "Tighten spacing", status: "in_progress" },
{ content: "Ship updates", status: "pending" },
];
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>
);
}
Loading preview...
Loading preview...
Loading preview...