Button
Trigger actions with variants, sizes, and asChild.
shadcn/ui · new-york-v4 · synced Aug 28, 2026shadcn/uinew-york-v4 · synced Aug 28, 2026
Installation
import { Button } from "@aspyn-io/kit";Variants
Six visual intents. Default is the primary action; use one primary per view.
Sizes
As a link (asChild)
Render the button as a Next.js Link (or any element) while keeping styling and focus behavior.
Loading state
Disable while pending and communicate progress to assistive tech.
With icon
Icons sit inline before the label and inherit its size.
Icon only
Use size="icon" and always provide an aria-label.
Rounded
Notes
- Icon-only buttons require an aria-label.
- Buttons get cursor:pointer automatically from @aspyn-io/tokens: no per-app fixes needed.
- Use variant="destructive" only for irreversible actions, paired with a confirmation Dialog.