Components
Render a file edit/write tool call as a diff card with header, +/- line stats, line-level diff body, and an optional Apply/Skip approval footer. State-driven (completed / pending / waiting). Self-contained port from 21st.dev Agent Elements.
npx shadcn@latest add https://21st.dev/r/21stdev/edit-toolLoading preview...
import { EditTool } from "@/components/ui/edit-tool";
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">
<EditTool
variant="write"
filePath="/app/new.tsx"
newContent={"export const Demo = () => null\n"}
/>
</div>
</div>
);
}
Loading preview...
Loading preview...
Loading preview...