# Shifting frame button

https://fieldbook.lizardi.mx/components/shifting-frame-button

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

Shifting frame button: A dark tracked button framed by a few pixels of a wide two-tone ramp that slides slowly so the visible frame keeps changing tone.

## 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 | Enter | Up to 20 characters |
| accent | color | #FF4D8D | No additional limit in the metadata. |
| secondary | color | #F5C542 | No additional limit in the metadata. |
| cycle | number | 9 | From 2 to 20; step 0.5 |
| frameWidth | number | 3 | From 1 to 8; step 1 |

## Usage notes

Shifting frame button uses the inline preview frame with a dark theme setting.

### Which frameworks are available for Shifting frame button?

Shifting frame 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 Shifting frame button depend on?

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

### What accessibility details are visible in Shifting frame button?

The React source for Shifting frame button includes: native elements (button); attributes and handlers (aria-hidden, onKeyDown, onKeyUp); key comparisons (Enter, Space). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.

### How does Shifting frame button handle reduced motion?

Shifting frame 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": "shifting-frame-button",
    "framework": "react"
  }
}
```

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

## Related open components

- [Drifting halo button](https://fieldbook.lizardi.mx/components/drifting-halo-button)
- [Bevel frame button](https://fieldbook.lizardi.mx/components/bevel-frame-button)
- [Color swap play button](https://fieldbook.lizardi.mx/components/color-swap-play-button)
- [Corner bracket frame button](https://fieldbook.lizardi.mx/components/corner-bracket-frame-button)
- [Corner bracket seal button](https://fieldbook.lizardi.mx/components/corner-bracket-seal-button)
- [Drifting aura button](https://fieldbook.lizardi.mx/components/drifting-aura-button)
