Button
formA versatile button component with multiple variants, sizes, and optional icon support. Built with accessibility in mind and fully customizable via Tailwind CSS.
1Installation
Install the package:
$npm install piece-ui
Import the component:
tsx
1import { Button } from "piece-ui";2Usage
Basic usage
tsx
1import { Button } from "piece-ui";
2
3export default function Example() {
4 return (
5 <div className="flex gap-3">
6 <Button variant="primary">Get Started</Button>
7 <Button variant="ghost">Learn More</Button>
8 <Button variant="danger">Delete</Button>
9 </div>
10 );
11}With sizes
tsx
1import { Button } from "piece-ui";
2
3export default function Example() {
4 return (
5 <div className="flex items-center gap-3">
6 <Button size="sm">Small</Button>
7 <Button size="md">Medium</Button>
8 <Button size="lg">Large</Button>
9 </div>
10 );
11}Loading state
tsx
1import { Button } from "piece-ui";
2
3export default function Example() {
4 return <Button loading>Processing...</Button>;
5}3Props
| Prop | Type |
|---|---|
variant | "primary" | "ghost" | "danger" |
size | "sm" | "md" | "lg" |
icon | React.ReactNode |
loading | boolean |
disabled | boolean |
onClick | () => void |