# Joined Button Group

https://fieldbook.lizardi.mx/components/joined-button-group

Category: Buttons
![Still of the Joined Button Group component, a Fieldbook UI component in Buttons.](https://fieldbook.lizardi.mx/thumbs/joined-button-group.webp)
Preview video: https://ejpqcxcjbiyabxkx.public.blob.vercel-storage.com/previews/joined-button-group-0e39c7f35d.mp4 (5 s, silent)

Joined Button Group: A row of buttons fused edge to edge into one segmented control, with shared seams that brighten between whichever two buttons are hovered or 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 |
| --- | --- | --- | --- |
| orientation | select | horizontal | Options: horizontal, vertical |
| buttonCount | number | 3 | From 2 to 5; step 1 |
| accent | color | #38BDF8 | No additional limit in the metadata. |

## Usage notes

Joined Button Group uses the inline preview frame with a light/dark theme setting.

### Which frameworks are available for Joined Button Group?

Joined Button Group 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 Joined Button Group depend on?

The React metadata lists these npm dependencies beyond React: class-variance-authority, clsx, tailwind-merge.

### What accessibility details are visible in Joined Button Group?

The React source for Joined Button Group includes: native elements (button); attributes and handlers (aria-orientation, aria-pressed); explicit roles (group). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.

### How does Joined Button Group handle reduced motion?

The source scan found no direct useReducedMotion() or matchMedia preference read in Joined Button Group's index.tsx. 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": "joined-button-group",
    "framework": "react"
  }
}
```

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

## Related open components

- [Elevated chip button](https://fieldbook.lizardi.mx/components/elevated-chip-button)
- [Inset sheen button](https://fieldbook.lizardi.mx/components/inset-sheen-button)
- [Invert Fill Button](https://fieldbook.lizardi.mx/components/invert-fill-button)
- [Lifting share chip](https://fieldbook.lizardi.mx/components/lifting-share-chip)
- [Snap back icon button](https://fieldbook.lizardi.mx/components/snap-back-icon-button)
- [Uppercase action button](https://fieldbook.lizardi.mx/components/uppercase-action-button)
