Command Palette

Search for a command to run...

Button Group

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

Button Group
Actions

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

Installation

pnpm dlx shadcn@latest add @optics/button-group

Props

<ButtonGroup />
Name
Type
orientation
string(default: horizontal)

<ButtonGroupSeparator />
Name
Type
orientation
string(default: vertical)
<ButtonGroupText />
Name
Type
render
string(default: undefined)
variant
any
animation
any