A button with various variants and sizes
Preview
Installation
Usage
import { Button } from "@/components/ui/button"
export function MyComponent() {
return <Button>Click me</Button>
}Variants
Default
<Button>Default</Button>Secondary
<Button variant="secondary">Secondary</Button>Destructive
<Button variant="destructive">Destructive</Button>Outline
<Button variant="outline">Outline</Button>Ghost
<Button variant="ghost">Ghost</Button>Link
<Button variant="link">Link</Button>Sizes
<Button size="sm">Small</Button>
<Button size="default">Default</Button>
<Button size="lg">Large</Button>
<Button size="icon">...</Button>Squircle
iOS-style squircle corners using CSS corner-shape: squircle.
border-radius
corner-shape
squircle
squircle
<Button squircle>Squircle</Button>
<Button squircle variant="secondary">Secondary</Button>
<Button squircle variant="outline">Outline</Button>Props
| Prop | Type | Default | Description |
|---|---|---|---|
| variant | "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "default" | Visual style variant |
| size | "default" | "sm" | "lg" | "icon" | "default" | Size of the button |
| asChild | boolean | false | Render as child element |
| squircle | boolean | false | Apply iOS-style squircle corners (Chrome 139+) |