# Button

> A multi-variant button component (Primary, Secondary, Tertiary, Ghost) with built-in loading spinner, icon placement, size, color, active/disabled states, plus a file-import button variant.

- Author: [lipa88-mk](https://21st.dev/@lipa88-mk)
- Library: lipa88-mk
- License: MIT
- Tags: Button, Loading Button, Icon Button, File Upload
- npm dependencies: @floating-ui/react
- Live preview: https://21st.dev/@lipa88-mk/components/button

## Install

```bash
npx shadcn@latest add "https://21st.dev/r/lipa88-mk/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
