Button

Different design of buttons and use case.

Installation

npm install @radix-ui/react-slot class-variance-authority

Usage

import { Button } from "@/components/ui/button";

export function MyComponent() {
  return (
    <div className="flex gap-4">
      <Button variant="default">Default</Button>
      <Button variant="destructive">Destructive</Button>
      <Button variant="outline">Outline</Button>
      <Button variant="secondary">Secondary</Button>
      <Button variant="ghost">Ghost</Button>
      <Button variant="link">Link</Button>
    </div>
  );
}

Props

PropTypeDefaultDescription
variantstring"default"Button style variant
sizestring"default"Button size
asChildbooleanfalseRender as child component
classNamestring-Additional CSS classes

Variants

  • default - Primary button style
  • destructive - Destructive action style
  • outline - Outlined button style
  • secondary - Secondary button style
  • ghost - Ghost button style
  • link - Link button style

Sizes

  • default - Standard button size
  • sm - Small button size
  • lg - Large button size
  • icon - Icon-only button size

Dependencies

This component requires the following packages:

  • @radix-ui/react-slot
  • class-variance-authority

Button - Colorful

Live Preview
Open in

Button - Fancy

Live Preview
Open in

Button - Attract

Live Preview
Open in

Button - Hold and Charge

Live Preview
Open in

Button - Hold to Action

Live Preview
Open in

Button - Copy

Live Preview
Open in

Button - Welcome

Live Preview
Open in

Button - Processing

Live Preview
Open in

Button - Share

Live Preview
Open in

Button - Action

Live Preview
Open in

Button - Shadow

Live Preview
Open in

Button - Gradiant Underline

Live Preview
Open in