accordion
vengenceui/accordionFreeComponent
vengenceui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by vengenceui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.vengenceui.com/r/accordion.jsonSource
1'use client'23import * as React from 'react'4import * as AccordionPrimitive from '@radix-ui/react-accordion'5import { ChevronDownIcon } from 'lucide-react'6import { cn } from '@/lib/utils'78function Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {9 return (10 <AccordionPrimitive.Root11 data-slot="accordion"12 {...props}13 />14 )15}1617function AccordionItem({ className, ...props }: 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({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {28 return (29 <AccordionPrimitive.Header className="flex">30 <AccordionPrimitive.Trigger31 data-slot="accordion-trigger"32 className={cn('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 outline-none transition-all hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180', className)}33 {...props}>34 {children}35 <ChevronDownIcon className="text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" />36 </AccordionPrimitive.Trigger>37 </AccordionPrimitive.Header>38 )39}4041function AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>) {42 return (43 <AccordionPrimitive.Content44 data-slot="accordion-content"45 className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"46 {...props}>47 <div className={cn('pb-4 pt-0', className)}>{children}</div>48 </AccordionPrimitive.Content>49 )50}5152export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
What it pulls in
npm packages
Files it writes
More from vengenceui
All 128 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| agent-bento-gridagent-bento-grid | vengenceui | Components | Free | 1 dep | |
| alertalert | vengenceui | Components | Free | no deps | |
| animated-buttonanimated-button | vengenceui | Components | Free | 1 dep | |
| animated-footeranimated-footer | vengenceui | Components | Free | 2 deps | |
| animated-numberanimated-number | vengenceui | Components | Free | 1 dep | |
| animated-raysanimated-rays | vengenceui | Components | Free | no deps | |
| animated-tooltipanimated-tooltip | vengenceui | Components | Free | 1 dep | |
| ascii-glitch-rippleascii-glitch-ripple | vengenceui | Components | Free | no deps |
