# Sheen upload button

https://fieldbook.lizardi.mx/components/sheen-upload-button

Category: Buttons
![Still of the Sheen upload button component, a Fieldbook UI component in Buttons.](https://fieldbook.lizardi.mx/thumbs/sheen-upload-button.webp)
Preview video: https://ejpqcxcjbiyabxkx.public.blob.vercel-storage.com/previews/sheen-upload-button-42e1824260.mp4 (5 s, silent)

Sheen upload button: A compact upload button with a top-lit face; pressing it sweeps a sheen across and nudges the cloud arrow upward, and a busy state loops the sheen until turned off.

## 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 | Upload | Up to 20 characters |
| accent | color | #9BE15D | No additional limit in the metadata. |
| busy | boolean | false | No additional limit in the metadata. |
| sheenMs | number | 600 | From 200 to 1600; step 50 |
| radius | number | 6 | From 2 to 16; step 1 |

## Usage notes

Sheen upload button uses the inline preview frame with a light/dark theme setting.

### Which frameworks are available for Sheen upload button?

Sheen upload 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 Sheen upload button depend on?

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

### What accessibility details are visible in Sheen upload button?

The React source for Sheen upload button includes: attributes and handlers (aria-busy, aria-hidden). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.

### How does Sheen upload button handle reduced motion?

Sheen upload button reads the motion preference in its React source through useReducedMotion(). 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": "sheen-upload-button",
    "framework": "react"
  }
}
```

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

## Related open components

- [Grounded download pill](https://fieldbook.lizardi.mx/components/grounded-download-pill)
- [Snap back icon button](https://fieldbook.lizardi.mx/components/snap-back-icon-button)
- [Amber upload pill](https://fieldbook.lizardi.mx/components/amber-upload-pill)
- [Bevel press pill](https://fieldbook.lizardi.mx/components/bevel-press-pill)
- [Cartridge fire button](https://fieldbook.lizardi.mx/components/cartridge-fire-button)
- [Channel tile row](https://fieldbook.lizardi.mx/components/channel-tile-row)
