Skip to Content
ComponentsButtonGroup

ButtonGroup

ButtonGroup combines multiple related buttons into a single horizontal group with connected styling.

Import

import { ButtonGroup, ButtonGroupItem } from "@raydenui/ui";

Usage

Basic

<ButtonGroup> <ButtonGroupItem>Left</ButtonGroupItem> <ButtonGroupItem>Center</ButtonGroupItem> <ButtonGroupItem>Right</ButtonGroupItem> </ButtonGroup>

With Active State

const [active, setActive] = useState("center"); <ButtonGroup> <ButtonGroupItem active={active === "left"} onClick={() => setActive("left")}> Left </ButtonGroupItem> <ButtonGroupItem active={active === "center"} onClick={() => setActive("center")}> Center </ButtonGroupItem> <ButtonGroupItem active={active === "right"} onClick={() => setActive("right")}> Right </ButtonGroupItem> </ButtonGroup>;

With Icons

import { Icon } from "@raydenui/ui"; <ButtonGroup> <ButtonGroupItem icon={<Icon name="list" />} active> List </ButtonGroupItem> <ButtonGroupItem icon={<Icon name="grid" />}>Grid</ButtonGroupItem> </ButtonGroup>;

Props

ButtonGroup

PropTypeDefaultDescription
childrenReactNode—ButtonGroupItem children
classNamestring—Additional CSS classes

ButtonGroupItem

PropTypeDefaultDescription
activebooleanfalseActive/selected state
iconReactNode—Optional icon
disabledbooleanfalseDisables the button
onClick() => void—Click handler
classNamestring—Additional CSS classes

Accessibility

  • Uses role="group" for proper grouping
  • Individual buttons maintain focus management
  • Active state communicated via aria-pressed
Last updated on