UnreviewedOptional UnreviewedtoneSemantic tone, or any literal CSS color ('#ff1493', 'rebeccapurple')
for a one-off custom tone. Primary uses the color as-is; secondary,
tertiary, and quaternary take its hue and pin lightness/chroma to the
brand curve so any input stays legible.
Optional UnreviewedsizeSize variant. small=24px, medium=28px, large=32px. Omit the
attribute or pass 'medium' for the default — both render
identically and emit no DOM attribute.
Optional UnreviewedloadingShow a rotating loading indicator. Blocks clicks and keyboard activation, and removes the button from the tab order while active.
Optional UnrevieweddisabledDisable the button.
Optional UnreviewedselectedToggled-on / pressed state, e.g. for filter chips.
Optional UnreviewedroundFully-round corners — a pill for text buttons, a circle for icon-only ones
(border-radius: 999px, clamped to the element's height). Pass a number
(px) or a CSS length string ('1rem') for a custom radius instead.
Optional UnreviewedonClick handler.
Optional UnreviewedtabTab order. The button is keyboard-focusable by default (0) and
becomes -1 automatically while disabled or loading — <a-button>
and <a role="button"> aren't focusable without an explicit tabindex,
and a loading button must stay out of the tab order so Enter/Space can't
fire it mid-flight.
Optional UnreviewedroleARIA role override (e.g. 'gridcell' when a button is a cell in a grid).
Forwarded to the underlying element.
Always-allowed props, independent of content/submit/priority mode.