deno.land / x / netzo@0.5.16 / components / accordion.tsx
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556// @deno-types="npm:@types/react@18.2.60"import * as React from "react";
import * as AccordionPrimitive from "../deps/@radix-ui/react-accordion.ts";import { cn } from "./utils.ts";
const Accordion = AccordionPrimitive.Root;
const AccordionItem = React.forwardRef< React.ElementRef<typeof AccordionPrimitive.Item>, React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>>(({ className, ...props }, ref) => ( <AccordionPrimitive.Item ref={ref} className={cn("border-b", className)} {...props} />));AccordionItem.displayName = "AccordionItem";
const AccordionTrigger = React.forwardRef< React.ElementRef<typeof AccordionPrimitive.Trigger>, React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>>(({ className, children, ...props }, ref) => ( <AccordionPrimitive.Header className="flex"> <AccordionPrimitive.Trigger ref={ref} className={cn( "flex flex-1 items-center justify-between py-4 bg-inherit text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180", className, )} {...props} > {children} <i className="mdi-chevron-down h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200" /> </AccordionPrimitive.Trigger> </AccordionPrimitive.Header>));AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
const AccordionContent = React.forwardRef< React.ElementRef<typeof AccordionPrimitive.Content>, React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>>(({ className, children, ...props }, ref) => ( <AccordionPrimitive.Content ref={ref} className="overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" {...props} > <div className={cn("pb-4 pt-0", className)}>{children}</div> </AccordionPrimitive.Content>));AccordionContent.displayName = AccordionPrimitive.Content.displayName;
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
Version Info