Labs

Components

Controls

Loading Button

Action button that compresses into loading before resolving with feedback.

All components

Installation

Coming soon. Components will be available via the registry once checkout goes live.

Usage

<LoadingButton
  label="Publish"
  successLabel="Published"
  onClick={async () => {
    await publish();
  }}
/>

Props

PropTypeDefaultDescription
labelstring"Submit"Idle-state label.
successLabelstring"Done"Label shown briefly on success before returning to idle.
...restHTMLMotionProps<"button">All standard button / Motion props (onClick, disabled, className, etc.) are forwarded.

Use cases

  • Form submission

    Sign-up, checkout, or settings save where async feedback matters.

  • Destructive confirms

    Delete / archive flows — the compress-then-resolve gives users time to register the action.

  • Webhook & deploy triggers

    “Run”, “Deploy”, “Trigger” buttons in dev tooling that call long-running endpoints.

  • AI generate actions

    “Generate”, “Summarize”, “Rewrite” buttons that call a model and need a calm in-flight state.