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

    225
  • Scroll Progress

    Scroll Progress

    144
  • Cursor

    Cursor

    135
  • Pin List

    Pin List

    111
  • Flip Button

    Flip Button

    102
  • Radix Dropdown Menu

    Radix Dropdown Menu

    101
  • Glyph Background

    Glyph Background

    100
  • Bubble Background

    Bubble Background

    97

More in Buttons

View all
  • Button

    Button

    10
  • Button

    Button

    1
  • Texture Button

    Texture Button

    103
  • Eclipse Button

    Eclipse Button

    42
  • Native Button

    Native Button

    12
  • Button

    Button

    77
  • Button

    Button

  • Notification Button

    Notification Button

    113

Explore more

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