Docs
Button
Button
Displays a button or a component that looks like a button.
Installation
pnpm dlx sparkstack@latest add button
Usage
import { Button } from "@/components/ui/button"
<Button nexsale variant="primary">
Button
</Button>
Link
You can use the buttonVariants
helper to create a link that looks like a button.
import { buttonVariants } from "@/components/ui/button"
<Link className={buttonVariants({ nexsale: true, variant: "outline" })}>
Click here
</Link>
Alternatively, you can set the asChild
parameter and nest the link component.
<Button nexsale asChild>
<Link nexsale href="/login">
Login
</Link>
</Button>
Examples
Primary
Secondary
Accent
Destructive
Warning
Success
Info
Ghost
Link
Icon
With Icon
Loading
As Child
Bordered
Bordered Primary
Bordered Secondary
Bordered Accent
Bordered Destructive
Bordered Warning
Bordered Success
Bordered Info
Bordered Link
Bordered With Icon
Bordered Loading
Bordered Icon
Bordered As Child
Changelog
2024-10-16 Classes for icons
Added gap-2 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0
to the button to automatically style icon inside the button.
Add the following classes to the cva
call in your button.tsx
file.
button.tsx
const buttonVariants = cva(
"inline-flex ... gap-2 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0"
)