/* Copyright 2026 Marimo. All rights reserved. */ import * as React from "react"; import { AccordionContent, AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; import { Badge } from "@/components/ui/badge"; import { cn } from "@/utils/cn"; /** * Styled AccordionItem for sidebar panels. * Applies border-b by default; set `lastItem` to remove it on the final item. */ const PanelAccordionItem = React.forwardRef< React.ComponentRef, React.ComponentPropsWithoutRef & { lastItem?: boolean; } >(({ className, lastItem, ...props }, ref) => ( )); PanelAccordionItem.displayName = "PanelAccordionItem"; /** * Styled AccordionTrigger for sidebar panels. * Applies compact uppercase styling and wraps children in a flex container * with gap for icon + label layout. */ const PanelAccordionTrigger = React.forwardRef< React.ComponentRef, React.ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( {children} )); PanelAccordionTrigger.displayName = "PanelAccordionTrigger"; /** * Styled AccordionContent for sidebar panels. * Removes default wrapper padding. */ const PanelAccordionContent = React.forwardRef< React.ComponentRef, React.ComponentPropsWithoutRef >(({ wrapperClassName, ...props }, ref) => ( )); PanelAccordionContent.displayName = "PanelAccordionContent"; /** * Styled Badge for sidebar panels. */ const PanelBadge = ({ className, ...props }: React.ComponentPropsWithoutRef) => ( ); PanelBadge.displayName = "PanelBadge"; export { PanelAccordionItem, PanelAccordionTrigger, PanelAccordionContent, PanelBadge, };