Components
Loading preview...
HeroUI v3 ToggleButtonGroup — single/multiple selection toggle buttons with sizes, orientation, detached and controlled modes.
@reapollo
npx shadcn@latest add https://21st.dev/r/larsen66/heroui-toggle-button-group"use client"
import { Bold, Italic, Underline } from "lucide-react"
import {
ToggleButtonGroup,
ToggleButton,
} from "@/components/ui/heroui-toggle-button-group"
const buttons = (
<>
<ToggleButton isIconOnly aria-label="Bold" id="bold">
<Bold />
</ToggleButton>
<ToggleButton isIconOnly aria-label="Italic" id="italic">
<ToggleButtonGroup.Separator />
<Italic />
</ToggleButton>
<ToggleButton isIconOnly aria-label="Underline" id="underline">
<ToggleButtonGroup.Separator />
<Underline />
</ToggleButton>
</>
)
export default function Orientation() {
return (
<div className="flex items-start gap-8">
<div className="flex flex-col gap-2">
<span className="text-sm text-muted-foreground">Horizontal</span>
<ToggleButtonGroup orientation="horizontal" selectionMode="multiple">
{buttons}
</ToggleButtonGroup>
</div>
<div className="flex flex-col gap-2">
<span className="text-sm text-muted-foreground">Vertical</span>
<ToggleButtonGroup orientation="vertical" selectionMode="multiple">
{buttons}
</ToggleButtonGroup>
</div>
</div>
)
}