# Swelling pill button

https://fieldbook.lizardi.mx/components/swelling-gradient-pill

Category: Buttons
![Still of the Swelling pill button component, a Fieldbook UI component in Buttons.](https://fieldbook.lizardi.mx/thumbs/swelling-gradient-pill.webp)
Preview video: https://ejpqcxcjbiyabxkx.public.blob.vercel-storage.com/previews/swelling-gradient-pill-3e64efb9c5.mp4 (5 s, silent)

Swelling pill button: A one-hue gradient pill that swells larger on hover while a tinted shadow spreads beneath it, and compresses briefly when pressed.

## Frameworks

react, vue, svelte, astro, html

## Preview controls

These controls are passed to the demo. Defaults and limits describe the preview; consult the implementation for its full prop API.

| Name | Type | Default | Options or constraints |
| --- | --- | --- | --- |
| label | text | Get access | Up to 24 characters |
| accent | color | #38BDF8 | No additional limit in the metadata. |
| hoverScale | number | 1.2 | From 1 to 1.5; step 0.05 |
| shadowSpread | number | 12 | From 0 to 32; step 2 |
| paddingX | number | 20 | From 12 to 40; step 2 |

## Usage notes

Swelling pill button uses the inline preview frame with a light/dark theme setting.

### Which frameworks are available for Swelling pill button?

Swelling pill button is available for React, Vue, Svelte, Astro, HTML. The live preview uses React; the source observations below apply to index.tsx. Check the selected port before relying on the same interactions.

### What does Swelling pill button depend on?

The React metadata lists these npm dependencies beyond React: motion, clsx.

### What accessibility details are visible in Swelling pill button?

The React source for Swelling pill button includes: The source scan found no explicit native form/navigation elements, ARIA attributes or keyboard handlers in index.tsx. These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.

### How does Swelling pill button handle reduced motion?

Swelling pill button reads the motion preference in its React source through useReducedMotion(). Preference-dependent expressions in index.tsx: reduced ? \{ boxShadow: hoverShadow \} : \{ scale: 0.96, boxShadow: hoverShadow, transition: \{ duration: 0.12, ease: "easeOut" \} \}; reduced ? \{ boxShadow: hoverShadow \} : \{ scale: hoverScale, boxShadow: hoverShadow \}; scale: focused &amp;&amp; !reduced ? hoverScale : 1. Check the full implementation, shared styles and selected port with reduced motion enabled; these observations do not establish that every animation stops.

## Install through MCP

Connect your client, call get_component to retrieve the implementation, then get_install_command for installation instructions. Choose a listed framework, integrate the returned source and verify it in your application.

```json
{
  "tool": "get_component",
  "arguments": {
    "slug": "swelling-gradient-pill",
    "framework": "react"
  }
}
```

[For agents](https://fieldbook.lizardi.mx/docs/agents)
[MCP](https://fieldbook.lizardi.mx/api/mcp)

## Related open components

- [Settling shadow button](https://fieldbook.lizardi.mx/components/settling-shadow-button)
- [Amber upload pill](https://fieldbook.lizardi.mx/components/amber-upload-pill)
- [Floating download pill](https://fieldbook.lizardi.mx/components/floating-download-pill)
- [Gradient swap button](https://fieldbook.lizardi.mx/components/gradient-swap-button)
- [Invert on hover pill](https://fieldbook.lizardi.mx/components/invert-on-hover-pill)
- [Rim to fill gradient button](https://fieldbook.lizardi.mx/components/rim-to-fill-gradient-button)
