Installation
Props
FluxButton
Async button with idle, loading, and success states, plus b-button visual variants.
idleLabelstringRequired
loadingLabelstringRequired
successLabelstringRequired
successIconReact.ReactNodeonAction() => void | Promise<void>Required
variant"default" | "outline" | "secondary" | "ghost" | "destructive" | "link"Default default
successHoldnumberDefault 1000
size"xs" | "sm" | "default" | "lg"Default default
type"button" | "submit"Default button
disabledbooleanDefault false
classNamestringonClickReact.MouseEventHandler<HTMLButtonElement>Built on `@base-ui/react/button` with a Motion render surface, matching the b-button integration pattern.
Locks interaction while loading or showing success without applying disabled opacity, using aria-disabled and pointer-events-none instead.
Motion transitions start only after the first click, so the button renders statically on page load.
Install path is `components/ui/flux-button.tsx` with the `FluxButton` export.
Registry bundle
Install the exact registry entry shown on the right when you want the component file and its declared runtime dependencies together.
Dependencies: @base-ui/react/button, class-variance-authority, lucide-react, motion.
This page documents the Base UI install only. Flux Button builds on the Base UI button primitive.
The generated registry file is /r/flux-button.json.