accordion
ora-ui/accordionFreeComponent
ora-ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by ora-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ora-ui.com/r/accordion.jsonSource
1'use client';23import { Accordion as AccordionPrimitive } from '@base-ui/react/accordion';4import { ChevronDownIcon } from '@heroicons/react/16/solid';56import { cn } from '@/registry/lib/utils';78function Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {9 return (10 <AccordionPrimitive.Root11 data-slot="accordion"12 className={cn('flex flex-col justify-center text-sm', className)}13 {...props}14 />15 );16}1718function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {19 return (20 <AccordionPrimitive.Item21 data-slot="accordion-item"22 className={cn('border-b border-line-ui/50', className)}23 {...props}24 />25 );26}2728function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.Trigger.Props) {29 return (30 <AccordionPrimitive.Header className="flex">31 <AccordionPrimitive.Trigger32 data-slot="accordion-trigger"33 className={cn(34 'group relative flex w-full items-baseline justify-between gap-4 py-2 pr-1 pl-3 text-left font-normal hover:underline hover:decoration-1 underline-offset-2 decoration-secondary focus-visible:z-1 focus-visible:outline-2 focus-visible:outline-focus',35 className36 )}37 {...props}38 >39 {children}40 <ChevronDownIcon41 data-slot="accordion-trigger-icon"42 className="size-4 shrink-0 text-muted transition-transform duration-200 group-aria-expanded/accordion-trigger:rotate-180"43 />44 </AccordionPrimitive.Trigger>45 </AccordionPrimitive.Header>46 );47}4849function AccordionContent({ className, children, ...props }: AccordionPrimitive.Panel.Props) {50 return (51 <AccordionPrimitive.Panel52 data-slot="accordion-content"53 className="h-(--accordion-panel-height) overflow-hidden text-secondary transition-[height] ease-out data-ending-style:h-0 data-starting-style:h-0"54 {...props}55 >56 <div className={cn('p-3 pt-1 ', className)}>{children}</div>57 </AccordionPrimitive.Panel>58 );59}6061export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
What it pulls in
npm packages
Other registry items
Files it writes
More from ora-ui
All 31 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| alert-dialogalert-dialog | ora-ui | Components | Free | 1 dep | |
| avataravatar | ora-ui | Components | Free | 1 dep | |
| avatar-groupavatar-group | ora-ui | Components | Free | no deps | |
| badgebadge | ora-ui | Components | Free | 2 deps | |
| buttonbutton | ora-ui | Components | Free | 2 deps | |
| button-groupbutton-group | ora-ui | Components | Free | 2 deps | |
| checkboxcheckbox | ora-ui | Components | Free | 3 deps | |
| checkbox-groupcheckbox-group | ora-ui | Components | Free | 1 dep |
