"use client"; import * as React from "react"; import * as AccordionPrimitive from "@radix-ui/react-accordion"; import { ChevronDown } from "lucide-react"; import { cn } from "~/utils/cn"; import { Icon, type RenderIcon } from "./Icon"; const Accordion = AccordionPrimitive.Root; const AccordionItem = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )); AccordionItem.displayName = "AccordionItem"; type AccordionTriggerProps = React.ComponentPropsWithoutRef & { leadingIcon?: RenderIcon; leadingIconClassName?: string; }; const AccordionTrigger = React.forwardRef< React.ElementRef, AccordionTriggerProps >(({ className, children, leadingIcon, leadingIconClassName, ...props }, ref) => ( svg]:rotate-180", className )} {...props} >
{leadingIcon && ( )}
{children}
)); AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName; const AccordionContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => (
{children}
)); AccordionContent.displayName = AccordionPrimitive.Content.displayName; export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };