/** * Accordion — WealthX DS overrides (shadcn base) * * Changes from shadcn default: * - AccordionItem: removed `last:border-b-0` — consistent separator on every item * - AccordionTrigger: `rounded-md` → `rounded-none` — WealthX sharp corners * - AccordionTrigger: `items-start` → `items-center` — single-line trigger alignment * - AccordionTrigger: `transition-all` → `transition-[color,opacity]` — scoped animation * - AccordionTrigger: focus ring uses `foreground/30` instead of `ring/50` — no brand color * - AccordionContent: inner wrapper uses `pb-4 text-muted-foreground` */ import { type ReactElement } from "react"; import * as React from "react"; import { ChevronDownIcon } from "lucide-react"; import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion"; import { cn } from "@/lib/utils"; export type AccordionProps = AccordionPrimitive.Root.Props; function Accordion( props: AccordionProps, ): ReactElement { return ; } export type AccordionItemProps = React.ComponentProps< typeof AccordionPrimitive.Item >; function AccordionItem({ className, ...props }: AccordionItemProps): ReactElement { return ( ); } export type AccordionTriggerProps = React.ComponentProps< typeof AccordionPrimitive.Trigger >; function AccordionTrigger({ className, children, ...props }: AccordionTriggerProps): ReactElement { return ( svg]:rotate-180", className, )} data-slot="accordion-trigger" {...props} > {children} ); } export type AccordionContentProps = React.ComponentProps< typeof AccordionPrimitive.Panel >; function AccordionContent({ className, children, ...props }: AccordionContentProps): ReactElement { return (
{children}
); } export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };