Command Palette

Search for a command to run...

Button Group

A component that groups multiple buttons together with consistent styling and spacing.

Actions

import { ButtonGroup } from "@/registry/optics/button-group";import { Button } from "@/registry/optics/button";<div className="flex items-center justify-center gap-6">	<ButtonGroup orientation="vertical">		<Button variant="raised" animation="none">			<Copy />			Copy		</Button>		<Button variant="raised" animation="colors">			<Download />			Download		</Button>		<Button variant="raised" animation="colors">			<Share2 />			Share		</Button>	</ButtonGroup>	<div className="flex flex-col items-start justify-center gap-6">		<ButtonGroup>			<Button variant="raised" animation="colors">				<Copy />				Copy			</Button>			<Button variant="raised" animation="colors">				<Download />				Download			</Button>			<Button variant="raised" animation="colors">				<Share2 />				Share			</Button>		</ButtonGroup>		<ButtonGroup>			<ButtonGroupText variant="raised">Actions</ButtonGroupText>			<ButtonGroupSeparator />			<Button variant="raised" animation="colors">				<Copy />			</Button>			<Button variant="raised" animation="colors">				<Download />			</Button>			<Button variant="raised" animation="colors">				<Share2 />			</Button>		</ButtonGroup>	</div></div>

Installation

pnpm dlx shadcn@latest add https://optics.agusmayol.com.ar/r/button-group.json

Props

<ButtonGroup />
Name
Type
className
string
orientation
"horizontal" | "vertical"

<ButtonGroupText />
Name
Type
className
string
variant
"raised" | "ghost" | "outline" (default: "raised")
animation
"colors" | "all" | "none" | "only-scale" (default: "colors")
asChild
boolean (default: false)
<ButtonGroupSeparator />
Name
Type
className
string
orientation
"vertical" | "horizontal"