TuMarca

Button Group

Groups related buttons together with connected styling.

stable
Tipo: ui
Versión: 1.0.0
layout interactive button group toolbar actions

Comparación entre la versión Astro (Saastro) y React (shadcn/ui)

🚀 saastro/ui (Astro)
⚛️ shadcn/ui (React)

Installation

Usage

---
import { ButtonGroup } from "@/components/ui-saastro/button-group"
import { Button } from "@/components/ui-saastro/button"
---

<ButtonGroup>
  <Button variant="outline">Left</Button>
  <Button variant="outline">Center</Button>
  <Button variant="outline">Right</Button>
</ButtonGroup>

Examples

Horizontal (Default)

<ButtonGroup>
  <Button variant="outline">First</Button>
  <Button variant="outline">Second</Button>
  <Button variant="outline">Third</Button>
</ButtonGroup>

Vertical

<ButtonGroup orientation="vertical">
  <Button variant="outline">Top</Button>
  <Button variant="outline">Middle</Button>
  <Button variant="outline">Bottom</Button>
</ButtonGroup>

With Text Label

Use ButtonGroupText to add a non-interactive text label.

---
import { ButtonGroup, ButtonGroupText } from "@/components/ui-saastro/button-group"
import { Button } from "@/components/ui-saastro/button"
---

<ButtonGroup>
  <ButtonGroupText>Label</ButtonGroupText>
  <Button variant="outline">Action</Button>
</ButtonGroup>

With Separator

Use ButtonGroupSeparator to add visual separation between items.

---
import { ButtonGroup, ButtonGroupSeparator } from "@/components/ui-saastro/button-group"
import { Button } from "@/components/ui-saastro/button"
---

<ButtonGroup>
  <Button variant="outline">Edit</Button>
  <ButtonGroupSeparator />
  <Button variant="outline">Delete</Button>
</ButtonGroup>

Mixed Variants

<ButtonGroup>
  <Button>Primary</Button>
  <Button variant="secondary">Secondary</Button>
  <Button variant="outline">Outline</Button>
</ButtonGroup>

Components

ButtonGroup

The container that groups buttons together and handles border radius.

ButtonGroupText

A non-interactive text element for labels.

ButtonGroupSeparator

A visual separator between grouped elements.

Props

ButtonGroup

PropTypeDefaultDescription
orientation"horizontal" | "vertical""horizontal"The orientation of the button group
classstring-Additional CSS classes

ButtonGroupText

PropTypeDefaultDescription
classstring-Additional CSS classes

ButtonGroupSeparator

PropTypeDefaultDescription
orientation"horizontal" | "vertical""vertical"The orientation of the separator
classstring-Additional CSS classes

Accessibility

  • Uses role="group" for proper grouping semantics
  • Separator uses role="separator" with aria-orientation
  • Maintains focus visibility with z-index management