Accordion
tdds/accordionFreeComponent
Collapsible accordion sections
Install it
npx shadcn@latest add https://raw.githubusercontent.com/gjohnsx/ttb-label-verification/main/tdds-registry/public/r/accordion.jsonSource
1"use client"23import * as React from "react"4import { Accordion as AccordionPrimitive } from "radix-ui"56import { cn } from "@/lib/utils"7import { ChevronDownIcon, ChevronUpIcon } from "lucide-react"89function Accordion({10 className,11 ...props12}: React.ComponentProps<typeof AccordionPrimitive.Root>) {13 return (14 <AccordionPrimitive.Root15 data-slot="accordion"16 className={cn("flex w-full flex-col gap-2", className)}17 {...props}18 />19 )20}2122function AccordionItem({23 className,24 ...props25}: React.ComponentProps<typeof AccordionPrimitive.Item>) {26 return (27 <AccordionPrimitive.Item28 data-slot="accordion-item"29 className={cn("rounded-none", className)}30 {...props}31 />32 )33}3435function AccordionTrigger({36 className,37 children,38 ...props39}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {40 return (41 <AccordionPrimitive.Header className="flex">42 <AccordionPrimitive.Trigger43 data-slot="accordion-trigger"44 className={cn(45 "focus-visible:ring-ring/50 focus-visible:border-ring focus-visible:after:border-ring **:data-[slot=accordion-trigger-icon]:text-treasury-ink rounded-none bg-treasury-base-lightest px-4 py-3.5 text-left text-lg font-bold hover:bg-treasury-base-light focus-visible:ring-[3px] **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-6 group/accordion-trigger relative flex flex-1 items-start justify-between border border-transparent transition-all outline-none disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",46 className47 )}48 {...props}49 >50 {children}51 <ChevronDownIcon data-slot="accordion-trigger-icon" strokeWidth={3} className="pointer-events-none shrink-0 transition-transform duration-200" />52 </AccordionPrimitive.Trigger>53 </AccordionPrimitive.Header>54 )55}5657function AccordionContent({58 className,59 children,60 ...props61}: React.ComponentProps<typeof AccordionPrimitive.Content>) {62 return (63 <AccordionPrimitive.Content64 data-slot="accordion-content"65 className="data-open:animate-accordion-down data-closed:animate-accordion-up text-sm overflow-hidden bg-treasury-paper"66 {...props}67 >68 <div69 className={cn(70 "px-4 pb-4 pt-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3 [&_p:not(:last-child)]:mb-4 text-base",71 className72 )}73 >74 {children}75 </div>76// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from tdds
All 43 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Alertalert | tdds | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | tdds | Components | Free | 1 dep | |
| Avataravatar | tdds | Components | Free | 1 dep | |
| Badgebadge | tdds | Components | Free | 1 dep | |
| Breadcrumbbreadcrumb | tdds | Components | Free | 2 deps | |
| Buttonbutton | tdds | Components | Free | 2 deps | |
| Button Groupbutton-group | tdds | Components | Free | 1 dep | |
| Cardcard | tdds | Components | Free | no deps |
