Files
web/packages/design-system/lib/components/Accordion/index.tsx
Rasmus Langvad d0546926a9 Merged in fix/3697-prettier-configs (pull request #3396)
fix(SW-3691): Setup one prettier config for whole repo

* Setup prettierrc in root and remove other configs


Approved-by: Joakim Jäderberg
Approved-by: Linus Flood
2026-01-07 12:45:50 +00:00

30 lines
746 B
TypeScript

import { Children, cloneElement, isValidElement } from "react"
import type { VariantProps } from "class-variance-authority"
import type { AccordionItemProps } from "./AccordionItem"
import { accordionVariants } from "./variants"
interface AccordionProps
extends
React.HtmlHTMLAttributes<HTMLUListElement>,
VariantProps<typeof accordionVariants> {}
export default function Accordion({
children,
className,
type,
}: AccordionProps) {
return (
<ul className={accordionVariants({ className, type })}>
{Children.map(children, (child) => {
if (isValidElement<AccordionItemProps>(child)) {
return cloneElement(child, { type })
} else {
return child
}
})}
</ul>
)
}