Elliot Sutton

Button

Buttons

About

An animated button with multiple style and size variants that scales on hover and tap.

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

Code

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

Usage.tsx

import {
  Button,
  type ButtonProps,
} from "@/components/ui/components-buttons-button";
import { PlusIcon } from "lucide-react";

interface ButtonDemoProps {
  variant?: ButtonProps["variant"];
  size?: ButtonProps["size"];
}

export default function ButtonDemo({ variant, size }: ButtonDemoProps) {
  return (
    <Button variant={variant} size={size}>
      {size === "icon" ? <PlusIcon /> : "Click me"}
    </Button>
  );
}

Dependencies

More by Elliot Sutton

View all
  • Notification List

    Notification List

    210
  • Scroll Progress

    Scroll Progress

    136
  • Cursor

    Cursor

    126
  • Pin List

    Pin List

    108
  • Radix Dropdown Menu

    Radix Dropdown Menu

    100
  • Flip Button

    Flip Button

    96
  • Bubble Background

    Bubble Background

    91
  • Avatar Group

    Avatar Group

    82

More in Buttons

View all
  • Button

    Button

    14
  • Texture Button

    Texture Button

    92
  • Button

    Button

    34
  • Button

    Button

    64
  • Button Save

    Button Save

    46
  • Button Group

    Button Group

    3
  • Button

    Button

  • Notification Button

    Notification Button

    103

Explore more

Part of Animate UI — browse the full library on 21st.dev.