Fortura/apps/www/content/docs/base/toggle-group.mdx
2025-08-20 04:12:49 -06:00

109 lines
2.5 KiB
Plaintext

---
title: Toggle Group
description: Provides a shared state to a series of toggle buttons.
author:
name: imskyleen
url: https://github.com/imskyleen
---
<ComponentPreview name="base-toggle-group-demo" />
## Installation
<ComponentInstallation name="base-toggle-group" />
## Usage
```tsx
<ToggleGroup>
<ToggleGroupItem>A</ToggleGroupItem>
<ToggleGroupItem>B</ToggleGroupItem>
<ToggleGroupItem>C</ToggleGroupItem>
</ToggleGroup>
```
## Props
<div className="flex flex-row gap-x-3">
<ExternalLink
href="https://base-ui.com/react/components/toggle-group"
text="Docs"
/>
<ExternalLink
href="https://base-ui.com/react/components/toggle-group#api-reference"
text="API Reference"
/>
</div>
### Animate UI Props
#### ToggleGroup
<TypeTable
type={{
transition: {
description: 'The transition of the toggle group',
type: 'Transition',
required: false,
default: "{ type: 'spring', bounce: 0, stiffness: 200, damping: 25 }",
},
activeClassName: {
description: 'The class name of the active toggle group item',
type: 'string',
required: false,
},
variant: {
description: 'The variant of the toggle group',
type: 'default' | 'outline',
required: false,
default: 'default',
},
size: {
description: 'The size of the toggle group',
type: 'default' | 'sm' | 'lg',
required: false,
default: 'default',
},
}}
/>
#### ToggleGroupItem
<TypeTable
type={{
children: {
description: 'The children of the toggle group item',
type: 'React.ReactNode',
required: true,
},
buttonProps: {
description: 'The props of the toggle group item button',
type: 'HTMLMotionProps<"button">',
required: false,
},
spanProps: {
description: 'The props of the toggle group item span',
type: 'React.HTMLAttributes<HTMLSpanElement>',
required: false,
},
variant: {
description: 'The variant of the toggle group item',
type: 'default' | 'outline',
required: false,
default: 'default',
},
size: {
description: 'The size of the toggle group item',
type: 'default' | 'sm' | 'lg',
required: false,
default: 'default',
},
}}
/>
## Credits
- We use [Base UI](https://base-ui.com/react/components/accordion) for the accordion component.
- We take our inspiration from [Shadcn UI](https://ui.shadcn.com/docs/components/accordion) for the accordion style.