{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "faq",
  "title": "FAQ Block",
  "description": "Accordion of question/answer pairs.",
  "dependencies": [
    "@contentbit/core",
    "@contentbit/blocks",
    "@contentbit/react"
  ],
  "registryDependencies": [
    "accordion"
  ],
  "files": [
    {
      "path": "src/blocks/faq.tsx",
      "content": "import { faqBlock, type FaqItemData } from '@contentbit/blocks'\nimport { defineBlockComponent } from '@contentbit/react'\n\nimport {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from '@/components/ui/accordion'\nimport { isValidatedBlock } from '@contentbit/core'\n\nexport const FaqBlock = defineBlockComponent(faqBlock, ({ node, ctx }) => {\n  const data = node.data\n  return (\n    <div data-cb-styled className=\"bg-card my-6 rounded-lg border px-4\">\n      <Accordion type=\"single\" collapsible>\n        {data.blocks.map((item, i) => (\n          <AccordionItem\n            key={i}\n            value={`item-${i}`}\n            className={i === data.blocks.length - 1 ? 'border-b-0' : undefined}\n          >\n            <AccordionTrigger className=\"text-left text-sm font-medium hover:no-underline\">\n              {String(item.props.question)}\n            </AccordionTrigger>\n            <AccordionContent className=\"text-muted-foreground text-sm leading-relaxed\">\n              {ctx.renderMarkdown(\n                isValidatedBlock(item) ? (item.data as FaqItemData).markdown : item.body,\n              )}\n            </AccordionContent>\n          </AccordionItem>\n        ))}\n      </Accordion>\n    </div>\n  )\n})\n",
      "type": "registry:component",
      "target": "components/content-blocks/faq.tsx"
    }
  ],
  "type": "registry:component"
}