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

    215
  • Scroll Progress

    Scroll Progress

    140
  • Cursor

    Cursor

    126
  • Pin List

    Pin List

    111
  • Radix Dropdown Menu

    Radix Dropdown Menu

    101
  • Flip Button

    Flip Button

    97
  • Bubble Background

    Bubble Background

    92
  • Avatar Group

    Avatar Group

    86

More in Buttons

View all
  • Button

    Button

    5
  • Texture Button

    Texture Button

    97
  • Button Group

    Button Group

  • Eclipse Button

    Eclipse Button

    39
  • Button

    Button

    4
  • HeroUI Button Group

    HeroUI Button Group

  • Base Button

    Base Button

    4
  • App Store Button

    App Store Button

    458

Explore more

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