Skip to Content
ComponentsAccordion

Accordion

A component that provides a list of collapsible content sections. Built on Ark UI .

Import

import { Accordion } from '@grannyshot/ui'

Usage

<Accordion.Root collapsible> <Accordion.Item value="item-1"> <Accordion.ItemTrigger>First item</Accordion.ItemTrigger> <Accordion.ItemContent> Content of the first item. </Accordion.ItemContent> </Accordion.Item> <Accordion.Item value="item-2"> <Accordion.ItemTrigger>Second item</Accordion.ItemTrigger> <Accordion.ItemContent> Content of the second item. </Accordion.ItemContent> </Accordion.Item> </Accordion.Root>

Collapsible

When collapsible is set, clicking an open item will close it.

<Accordion.Root collapsible> <Accordion.Item value="item-1"> <Accordion.ItemTrigger>Collapsible item</Accordion.ItemTrigger> <Accordion.ItemContent>Click again to close.</Accordion.ItemContent> </Accordion.Item> </Accordion.Root>

Multiple

Set multiple to allow opening several items at the same time.

<Accordion.Root multiple> <Accordion.Item value="item-1"> <Accordion.ItemTrigger>Item 1</Accordion.ItemTrigger> <Accordion.ItemContent>Content 1</Accordion.ItemContent> </Accordion.Item> <Accordion.Item value="item-2"> <Accordion.ItemTrigger>Item 2</Accordion.ItemTrigger> <Accordion.ItemContent>Content 2</Accordion.ItemContent> </Accordion.Item> <Accordion.Item value="item-3"> <Accordion.ItemTrigger>Item 3</Accordion.ItemTrigger> <Accordion.ItemContent>Content 3</Accordion.ItemContent> </Accordion.Item> </Accordion.Root>

Default Value

Use defaultValue to specify which items are open initially.

<Accordion.Root defaultValue={['item-2']} collapsible> <Accordion.Item value="item-1"> <Accordion.ItemTrigger>Item 1</Accordion.ItemTrigger> <Accordion.ItemContent>Content 1</Accordion.ItemContent> </Accordion.Item> <Accordion.Item value="item-2"> <Accordion.ItemTrigger>Item 2 (default open)</Accordion.ItemTrigger> <Accordion.ItemContent>This item is open by default.</Accordion.ItemContent> </Accordion.Item> </Accordion.Root>

Compound Components

ComponentDescription
Accordion.RootAccordion root. Sets collapsible, multiple, defaultValue, etc.
Accordion.ItemIndividual accordion item. value is required
Accordion.ItemTriggerToggle button for the item (includes arrow icon automatically)
Accordion.ItemContentItem content area

Props

Accordion.Root

PropTypeDefaultDescription
collapsiblebooleanfalseWhether open items can be closed again
multiplebooleanfalseAllow multiple items to be open
defaultValuestring[]Array of initially open item values
valuestring[]Open items in controlled mode
onValueChange(details: { value: string[] }) => voidCallback when items change

Supports all Ark UI Accordion props.

Last updated on