Skip to main content

Accordion

Collapsible content sections. Wrap multiple AccordionItem children inside an Accordion to create expandable panels.

Import​

import '@kittl/ui';
import {
Accordion,
AccordionItem,
AccordionItemTrigger,
AccordionItemContent,
} from '@kittl/ui-react';

Usage​

<kittl-accordion>
<kittl-accordion-item value="one">
<kittl-accordion-item-trigger>Section One</kittl-accordion-item-trigger>
<kittl-accordion-item-content
>Content for section one.</kittl-accordion-item-content
>
</kittl-accordion-item>
<kittl-accordion-item value="two">
<kittl-accordion-item-trigger>Section Two</kittl-accordion-item-trigger>
<kittl-accordion-item-content
>Content for section two.</kittl-accordion-item-content
>
</kittl-accordion-item>
</kittl-accordion>
import {
Accordion,
AccordionItem,
AccordionItemContent,
AccordionItemTrigger,
} from '@kittl/ui-react';

/** Basic Accordion usage, rendered live on the docs site. */
export const AccordionUsage = () => (
<Accordion>
<AccordionItem value="one" onAccordionToggle={(e) => console.log(e.detail)}>
<AccordionItemTrigger>Section One</AccordionItemTrigger>
<AccordionItemContent>Content for section one.</AccordionItemContent>
</AccordionItem>
<AccordionItem value="two">
<AccordionItemTrigger>Section Two</AccordionItemTrigger>
<AccordionItemContent>Content for section two.</AccordionItemContent>
</AccordionItem>
</Accordion>
);

Accordion Props​

PropertyAttributeTypeDefaultDescription
multiplemultiplebooleanfalseAllow multiple items open at once

AccordionItem Props​

PropertyAttributeTypeDefaultDescription
openopenbooleanfalseWhether the item is expanded
valuevaluestring''Unique identifier for the item

Events​

EventDetailDescription
accordion-toggle{ value: string, open: boolean }Fired when an item is toggled

React prop: onAccordionToggle

Accessibility​

  • Trigger button has aria-expanded reflecting open state
  • Keyboard: Space/Enter on trigger toggles the item