Files
web/components/TempDesignSystem/Accordion/index.tsx
2024-07-04 13:47:18 +02:00

25 lines
640 B
TypeScript

import { Children, cloneElement, isValidElement } from "react"
import { AccordionItemProps } from "./AccordionItem/accordionItem"
import { AccordionProps } from "./accordion"
import { accordionVariants } from "./variants"
export default function Accordion({
children,
className,
theme,
variant,
}: AccordionProps) {
return (
<ul className={accordionVariants({ className, variant, theme })}>
{Children.map(children, (child) => {
if (isValidElement<AccordionItemProps>(child)) {
return cloneElement(child, { variant, theme })
} else {
return child
}
})}
</ul>
)
}