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>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 |