About
An animated pill-shaped subscribe button that expands into an email input, shows a loading spinner on submit, then a drawn checkmark on success.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Expand Input to your project and fits it to your theme.
Code
How Expand Input is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import { ExpandInput } from "@/components/ui/expand-input";
export default function ExpandInputDemo() {
return (
<div className="flex min-h-[400px] w-full items-center justify-center bg-background p-10">
<ExpandInput
label="Subscribe"
placeholder="you@example.com"
successLabel="You're in!"
onSubmit={(email) => new Promise((resolve) => setTimeout(resolve, 800))}
/>
</div>
);
}
















