Components
Triggers an action. Tactile primary, quieter secondary and outline, ghost for toolbars.
npx shadcn@latest add @stardust/buttonPrimary for the main action, secondary and outline for the rest, ghost in toolbars, destructive for deleting.
40px by default. Mark icons with data-icon so padding stays balanced.
The loading prop shows a spinner, blocks clicks and keeps the width.
Examples are React. The Vue components take the same props and variants; only the template syntax differs.