GooseUI

Button

A button with various variants and sizes

Preview

Installation

npm
pnpm
yarn
bun
npx shadcn@latest add @gooseui/button

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

PropTypeDefaultDescription
variant"default" | "destructive" | "outline" | "secondary" | "ghost" | "link""default"Visual style variant
size"default" | "sm" | "lg" | "icon""default"Size of the button
asChildbooleanfalseRender as child element
squirclebooleanfalseApply iOS-style squircle corners (Chrome 139+)