accordion
nrjdalal/accordionFreeComponent
acme publishes no description for this item.
Install it
npx shadcn@latest add https://nrjdalal.dev/r/accordion.jsonSource
1"use client"23import { cn } from "@/lib/utils"4import * as AccordionPrimitive from "@radix-ui/react-accordion"5import { ChevronDownIcon } from "lucide-react"6import * as React from "react"78function Accordion({9 ...props10}: React.ComponentProps<typeof AccordionPrimitive.Root>) {11 return <AccordionPrimitive.Root data-slot="accordion" {...props} />12}1314function AccordionItem({15 className,16 ...props17}: React.ComponentProps<typeof AccordionPrimitive.Item>) {18 return (19 <AccordionPrimitive.Item20 data-slot="accordion-item"21 className={cn("border-b last:border-b-0", className)}22 {...props}23 />24 )25}2627function AccordionTrigger({28 className,29 children,30 ...props31}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {32 return (33 <AccordionPrimitive.Header className="flex">34 <AccordionPrimitive.Trigger35 data-slot="accordion-trigger"36 className={cn(37 "focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",38 className,39 )}40 {...props}41 >42 {children}43 <ChevronDownIcon className="text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" />44 </AccordionPrimitive.Trigger>45 </AccordionPrimitive.Header>46 )47}4849function AccordionContent({50 className,51 children,52 ...props53}: React.ComponentProps<typeof AccordionPrimitive.Content>) {54 return (55 <AccordionPrimitive.Content56 data-slot="accordion-content"57 className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"58 {...props}59 >60 <div className={cn("pt-0 pb-4", className)}>{children}</div>61 </AccordionPrimitive.Content>62 )63}6465export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
What it pulls in
npm packages
Files it writes
More from acme
All 49 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| alertalert | acme | Components | Free | 4 deps · 2 files | |
| alert-dialogalert-dialog | acme | Components | Free | 6 deps · 3 files | |
| aspect-ratioaspect-ratio | acme | Components | Free | 1 dep | |
| avataravatar | acme | Components | Free | 4 deps · 2 files | |
| badgebadge | acme | Components | Free | 5 deps · 2 files | |
| breadcrumbbreadcrumb | acme | Components | Free | 5 deps · 2 files | |
| buttonbutton | acme | Components | Free | 5 deps · 2 files | |
| calendarcalendar | acme | Components | Free | 7 deps · 3 files |
