Button
A plain button element with the shadcn look. No wrapper, no runtime — the platform has had this one covered since 1995.
plain CSS — works everywhere
How it works
- It’s a
<button>. Copy the variant you need and change the label. focus-visible:outline-*gives a visible keyboard focus ring without flashing on mouse clicks.disabled:*utilities handle the disabled state — add thedisabledattribute and you’re done.- Tailwind v4 no longer forces
cursor: pointeron buttons, so the class sets it explicitly. - Inside a
<form>, a bare<button>defaults totype="submit"— addtype="button"to anything that isn’t the submit action. The library’s own menu and toolbar demos do this.
Variants
Primary, outline, ghost and destructive are just different utility sets on the same element —
there is no variant prop because there are no props.