Files
web/components/TempDesignSystem/Accordion/index.tsx
2024-12-12 11:47:44 +01:00

26 lines
651 B
TypeScript

import { Children, cloneElement, isValidElement } from "react"
import { accordionVariants } from "./variants"
import type { AccordionProps } from "./accordion"
import type { AccordionItemProps } from "./AccordionItem/accordionItem"
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>
)
}