# Progress Button

> A button that turns into its own progress bar and result state — pressed, it fills with a percentage, morphs its label through working/done/error phases, and returns to idle on its own.

- Author: [joseestevez520](https://21st.dev/@joseestevez520)
- Library: JoseEstevez520
- License: MIT
- Tags: Button, Progress, Loading, Upload
- npm dependencies: motion, lucide-react
- Live preview: https://21st.dev/@joseestevez520/components/progress-button

## Install

```bash
npx shadcn@latest add "https://21st.dev/r/joseestevez520/progress-button?api_key=$API_KEY_21ST"
```

Requires a 21st API key (generate one at https://21st.dev/mcp) passed as `API_KEY_21ST`. Free accounts get a limited number of installs per day; unlimited on a paid plan — see https://21st.dev/pricing.

Full component directory: https://21st.dev/llms.txt · More like this: https://21st.dev/community/components/s/button.md
