Accordion
neobrutalism-components/accordionFreeComponent
Neobrutalism Components publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by Neobrutalism Components on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.neobrutalism.dev/r/accordion.jsonSource
1"use client"23import * as AccordionPrimitive from "@radix-ui/react-accordion"4import { ChevronDown } from "lucide-react"56import * as React from "react"78import { cn } from "@/lib/utils"910function Accordion({11 ...props12}: React.ComponentProps<typeof AccordionPrimitive.Root>) {13 return <AccordionPrimitive.Root data-slot="accordion" {...props} />14}1516function AccordionItem({17 className,18 ...props19}: React.ComponentProps<typeof AccordionPrimitive.Item>) {20 return (21 <AccordionPrimitive.Item22 data-slot="accordion-item"23 className={cn(24 "rounded-base overflow-hidden border-2 border-b border-border shadow-shadow",25 className,26 )}27 {...props}28 />29 )30}3132function AccordionTrigger({33 className,34 children,35 ...props36}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {37 return (38 <AccordionPrimitive.Header className="flex">39 <AccordionPrimitive.Trigger40 data-slot="accordion-trigger"41 className={cn(42 "flex flex-1 items-center justify-between text-left text-base text-main-foreground border-border focus-visible:ring-[3px] bg-main p-4 font-heading transition-all [&[data-state=open]>svg]:rotate-180 data-[state=open]:rounded-b-none data-[state=open]:border-b-2 disabled:pointer-events-none disabled:opacity-50",43 className,44 )}45 {...props}46 >47 {children}48 <ChevronDown className="pointer-events-none size-5 shrink-0 transition-transform duration-200" />49 </AccordionPrimitive.Trigger>50 </AccordionPrimitive.Header>51 )52}5354function AccordionContent({55 className,56 children,57 ...props58}: React.ComponentProps<typeof AccordionPrimitive.Content>) {59 return (60 <AccordionPrimitive.Content61 data-slot="accordion-content"62 className="overflow-hidden rounded-b-base bg-secondary-background text-sm font-base transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"63 {...props}64 >65 <div className={cn("p-4", className)}>{children}</div>66 </AccordionPrimitive.Content>67 )68}6970AccordionContent.displayName = AccordionPrimitive.Content.displayName7172export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
What it pulls in
npm packages
Files it writes
More from Neobrutalism Components
All 92 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Alertalert | Neobrutalism Components | Components | Free | no deps | |
| Alert dialogalert-dialog | Neobrutalism Components | Components | Free | 1 dep | |
| Avataravatar | Neobrutalism Components | Components | Free | 1 dep | |
| Badgebadge | Neobrutalism Components | Components | Free | no deps | |
| Breadcrumbbreadcrumb | Neobrutalism Components | Components | Free | 1 dep | |
| Buttonbutton | Neobrutalism Components | Components | Free | 1 dep | |
| Calendarcalendar | Neobrutalism Components | Components | Free | 2 deps | |
| Cardcard | Neobrutalism Components | Components | Free | no deps |
