Buttons
Data Display
Layout
Navigation
Accordion
Show and hide sections of related content, one or several at a time.
React, Vue, Solid, and Svelte
The behavior ships without styles, so you bring your own.
React, Vue, Solid and Svelte.
With recipes from the Panda design system.
import { Accordion } from "@isbatak/react-ui/accordion"
export function AccordionDemo() {
return (
<Accordion.Root defaultValue={["headless"]} collapsible width="full" maxW="sm">
<Accordion.Item value="headless">
<Accordion.ItemTrigger>What does headless mean?</Accordion.ItemTrigger>
<Accordion.ItemContent>
<Accordion.ItemBody>The behavior ships without styles, so you bring your own.</Accordion.ItemBody>
</Accordion.ItemContent>
</Accordion.Item>
<Accordion.Item value="frameworks">
<Accordion.ItemTrigger>Which frameworks are supported?</Accordion.ItemTrigger>
<Accordion.ItemContent>
<Accordion.ItemBody>React, Vue, Solid and Svelte.</Accordion.ItemBody>
</Accordion.ItemContent>
</Accordion.Item>
<Accordion.Item value="styling">
<Accordion.ItemTrigger>How is it styled?</Accordion.ItemTrigger>
<Accordion.ItemContent>
<Accordion.ItemBody>With recipes from the Panda design system.</Accordion.ItemBody>
</Accordion.ItemContent>
</Accordion.Item>
</Accordion.Root>
)
}Built on Ark UI's Accordion. Set multiple to keep several items open, and collapsible to let the open item close.
Accordion.ItemBody adds the padding inside the animated content.
Usage
import { Accordion } from "@isbatak/react-ui/accordion"
export function AccordionDemo() {
return (
<Accordion.Root defaultValue={["headless"]} collapsible width="full" maxW="sm">
<Accordion.Item value="headless">
<Accordion.ItemTrigger>What does headless mean?</Accordion.ItemTrigger>
<Accordion.ItemContent>
<Accordion.ItemBody>The behavior ships without styles, so you bring your own.</Accordion.ItemBody>
</Accordion.ItemContent>
</Accordion.Item>
<Accordion.Item value="frameworks">
<Accordion.ItemTrigger>Which frameworks are supported?</Accordion.ItemTrigger>
<Accordion.ItemContent>
<Accordion.ItemBody>React, Vue, Solid and Svelte.</Accordion.ItemBody>
</Accordion.ItemContent>
</Accordion.Item>
<Accordion.Item value="styling">
<Accordion.ItemTrigger>How is it styled?</Accordion.ItemTrigger>
<Accordion.ItemContent>
<Accordion.ItemBody>With recipes from the Panda design system.</Accordion.ItemBody>
</Accordion.ItemContent>
</Accordion.Item>
</Accordion.Root>
)
}