{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "accordion-list",
  "title": "Accordion List",
  "description": "A clean accordion list wrapper for FAQs, settings, and dense help content.",
  "dependencies": [],
  "registryDependencies": [
    "accordion",
    "card"
  ],
  "files": [
    {
      "path": "registry/corr/components/accordion-list.tsx",
      "content": "import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/components/ui/accordion\"\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardHeader,\n  CardTitle,\n} from \"@/components/ui/card\"\n\nexport type AccordionListItem = {\n  id: string\n  title: string\n  content: string\n  disabled?: boolean\n}\n\ntype AccordionListProps =\n  | {\n      items: AccordionListItem[]\n      type?: \"single\"\n      defaultValue?: string\n      collapsible?: boolean\n    }\n  | {\n      items: AccordionListItem[]\n      type: \"multiple\"\n      defaultValue?: string[]\n      collapsible?: never\n    }\n\nexport function AccordionList(props: AccordionListProps) {\n  const { items } = props\n\n  const content = items.map((item) => (\n    <AccordionItem key={item.id} value={item.id} disabled={item.disabled}>\n      <AccordionTrigger className=\"text-left text-sm\">\n        {item.title}\n      </AccordionTrigger>\n      <AccordionContent className=\"text-sm text-muted-foreground\">\n        {item.content}\n      </AccordionContent>\n    </AccordionItem>\n  ))\n\n  if (props.type === \"multiple\") {\n    return (\n      <Accordion\n        type=\"multiple\"\n        defaultValue={props.defaultValue}\n        className=\"w-full rounded-md border px-4\"\n      >\n        {content}\n      </Accordion>\n    )\n  }\n\n  return (\n    <Accordion\n      type=\"single\"\n      collapsible={props.collapsible ?? true}\n      defaultValue={props.defaultValue}\n      className=\"w-full rounded-md border px-4\"\n    >\n      {content}\n    </Accordion>\n  )\n}\n\nconst cardItems = [\n  {\n    id: \"plans\",\n    title: \"What subscription plans do you offer?\",\n    content:\n      \"We offer three subscription tiers: Starter, Professional, and Enterprise. Each plan includes increasing storage limits, API access, priority support, and team collaboration features.\",\n  },\n  {\n    id: \"billing\",\n    title: \"How does billing work?\",\n    content:\n      \"Billing occurs automatically at the start of each billing cycle. We accept all major credit cards, PayPal, and ACH transfers for enterprise customers.\",\n  },\n  {\n    id: \"cancel\",\n    title: \"How do I cancel my subscription?\",\n    content:\n      \"You can cancel anytime from account settings. Your access continues until the end of your current billing period.\",\n  },\n]\n\nexport function AccordionCard() {\n  return (\n    <Card className=\"w-full max-w-sm\">\n      <CardHeader>\n        <CardTitle>Subscription & Billing</CardTitle>\n        <CardDescription>\n          Common questions about your account, plans, payments, and\n          cancellations.\n        </CardDescription>\n      </CardHeader>\n      <CardContent>\n        <Accordion type=\"single\" collapsible defaultValue=\"plans\">\n          {cardItems.map((item) => (\n            <AccordionItem key={item.id} value={item.id}>\n              <AccordionTrigger>{item.title}</AccordionTrigger>\n              <AccordionContent>{item.content}</AccordionContent>\n            </AccordionItem>\n          ))}\n        </Accordion>\n      </CardContent>\n    </Card>\n  )\n}\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}