unscripted/ui

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 the disabled attribute and you’re done.
  • Tailwind v4 no longer forces cursor: pointer on buttons, so the class sets it explicitly.
  • Inside a <form>, a bare <button> defaults to type="submit" — add type="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.