Skip to Content
ComponentsButton

Button

Displays a button or a component that looks like a button.

import { Button } from "@/components/ui/button"
<Button>Button</Button> <Button variant="primary">Primary</Button>

Examples

Variants

<Button>Default</Button> <Button variant="primary">Primary</Button> <Button variant="outline">Outline</Button> <Button variant="secondary">Secondary</Button> <Button variant="ghost">Ghost</Button> <Button variant="destructive">Destructive</Button> <Button variant="link">Link</Button>

Sizes

<Button>Default</Button> <Button size="compact">Compact</Button>

With icon

import { Mail } from "lucide-react" <Button><Mail data-icon="inline-start" /> Login with Email</Button>

Loading

import { Loader2 } from "lucide-react" <Button disabled><Loader2 className="animate-spin" /> Please wait</Button>
import { buttonVariants } from "@/components/ui/button" <Link className={buttonVariants({ variant: "primary" })}>Click here</Link>

Or with asChild:

<Button asChild variant="primary"> <Link href="/login">Login</Link> </Button>
Last updated on