arieare ds

components / global

action button

ActionButton is the base DS control for compact calls to action. It normalizes button versus link rendering, supports icon-led states, and keeps every app on the same size and state model.

field value
group global
import @arieare/ds
source packages/ds/src/components/button/ActionButton.tsx
packages/ds/src/components/button/button.css
open
link wrapper

component tokens

token source description
--btn-h / --btn-px / --btn-py @arieare/ds/tokens.css Controls button height and padding across text, text-icon, and icon-only variants.
--btn-border-* / --btn-bg-* / --btn-ink-* @arieare/ds/tokens.css Idle, hover, active, and disabled color tokens for the shared action contract.
--btn-icon-size @arieare/ds/tokens.css Sets icon sizing for icon-bearing button variants.

props

prop type default description
label string Visible label text and icon-only accessible fallback.
variant "text" | "text-icon" | "icon-only" | "icon-text" "text" Chooses the visual button shape; icon-text is normalized to text-icon.
iconClass string "" CSS classes applied to the generated icon element.
iconSvg string Inline SVG markup used instead of iconClass for bespoke icons.
leftIcon ReactNode Explicit icon node rendered before the label.
iconScale / iconOffsetX / iconOffsetY number 1 / 0 / 0 Adjusts inline SVG scale and position for custom icons.
href string When provided, renders an anchor instead of a button.
external boolean false Adds safe target and rel defaults for external links.
active / disabled boolean false Applies active or disabled visual state and interaction behavior.
ariaLabel / className / children string | ReactNode Overrides accessible naming, extra classes, or inline button content.
...button attributes ButtonHTMLAttributes<HTMLButtonElement> Passes native button attributes and event handlers through to the rendered button.
...anchor attributes AnchorHTMLAttributes<HTMLAnchorElement> Passes native anchor attributes through when the component renders as a link.