Button
Action control for text, icons or both. Variants set emphasis, and it handles sizes, a loading state and rendering as a link.
Paste this into your agent.
Button covers click-to-act controls, from a primary form submit to a quiet row action or an avatar menu trigger. Variants set emphasis. Profiles handle special placements such as an icon action inside a field or a link in running text.
Install
bashnpx shadcn@4.18.0 add @siteplane/button
Import it from @/siteplane/components/button. The project needs Siteplane UI's one-time setup first: .
When to pick it
- vs : Pick Toggle when the control holds an on/off pressed state. Button fires a one-time action.
- vs : Pick Copy Button when the action writes a value to the clipboard. It handles the confirmation, the failure case and the screen reader announcement for you.
- vs : Pick Toolbar when a row of related actions should share one tab stop and move with arrow keys.
- vs : Pick Group to join several buttons, or a button and an input, into one segmented frame.
Rules
- Reserve
variant="accent"for the one main action on a surface. Usedefault,outlineorghostfor the rest. - To navigate, use
render={<a href=... />}or a router link that forwards props and ref.variant="link"on its own changes the look and nothing else. - Inside a form, set
type="submit"yourself. A plain Button defaults totype="button". - Name icon-only controls: use
IconButtonwithlabel, or putaria-labelon a square Button. loading(orLoadingButtonwith an asyncaction) blocks repeat clicks during a request. Choosearia-disabledoverdisabledwhen the control must stay reachable by Tab.- Give icon buttons inside an InputGroup (show/hide, clear, open picker)
profile="field-action"andshape="square"instead of hand-styling a ghost button.
Reference
Add to your agent
Print this skill from the terminal, or connect the whole catalog over MCP. Setup guides
CLI
MCP server
Questions
Related skills
Accessible Focus Statesby UI Skillbook
Keep a visible, high-contrast focus indicator on every interactive element, without a generic browser outline or none at all.
Accessibility
Better Accessibilityby jakubkrehel
Review and improve focus states, keyboard support, ARIA, forms, screen readers, hit areas, and motion accessibility.
AccessibilityExternalGitHub stars: 9.2K
Build Primitiveby PrototyperAI
Build foundational UI primitives from scratch with strong ARIA, keyboard, focus, and state handling.
AccessibilityExternalGitHub stars: 7
Link Purposeby AccessLint
Compatibility listing for link-purpose installs from AccessLint's marketplace skill set.
AccessibilityExternalGitHub stars: 114