# Toggle

> A two-state toggle button built on Base UI's Toggle primitive. Ships default and outline variants, three sizes (sm, default, lg), controlled or uncontrolled pressed state via pressed / defaultPressed, disabled styling, and springy pressed feedback. Works as a single button or grouped into a formatting toolbar. Re-exports TogglePrimitive for advanced composition.

- Author: [Cnippet](https://21st.dev/@cnippet.dev)
- License: mit
- Tags: Button, Toggle, Toolbar, Base UI
- npm dependencies: class-variance-authority, @base-ui-components/react
- Live preview: https://21st.dev/@cnippet.dev/components/cnippet-toggle

## Install

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