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
30 lines
746 B
TypeScript
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>
|
|
)
|
|
}
|