Zudoku
Form

Button

A flexible button component with multiple variants and sizes for different use cases.

Import

tsxCode
import { Button } from "zudoku/ui/Button";

Variants

Default

tsxCode
<Button variant="default">Default Button</Button>

Destructive

tsxCode
<Button variant="destructive">Delete</Button>

Outline

tsxCode
<Button variant="outline">Outline Button</Button>

Secondary

tsxCode
<Button variant="secondary">Secondary</Button>

Ghost

tsxCode
<Button variant="ghost">Ghost Button</Button>
tsxCode
<Button variant="link">Link Button</Button>

Sizes

Default Size

tsxCode
<Button size="default">Default Size</Button>

Small

tsxCode
<Button size="sm">Small Button</Button>

Large

tsxCode
<Button size="lg">Large Button</Button>

Extra Large

tsxCode
<Button size="xl">Extra Large</Button>

Icon

tsxCode
<Button size="icon"> <PopcornIcon size={16} /> </Button>

As Child

Use the asChild prop to render the button as a different element while maintaining button styling:

tsxCode
<Button asChild> <a href="/link">Link as Button</a> </Button>

Custom Styling

The Button component accepts all standard button HTML attributes and can be customized with additional className:

tsxCode
<Button className="w-full" variant="outline"> Full Width Button </Button>
Last modified on