{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "content-renderer",
  "title": "Content Renderer",
  "description": "Renders a validated Content Blocks document with the styled component pack.",
  "dependencies": [
    "@contentbit/core",
    "@contentbit/blocks",
    "@contentbit/react"
  ],
  "registryDependencies": [
    "@contentbit/callout",
    "@contentbit/steps",
    "@contentbit/key-metrics",
    "@contentbit/quick-ref",
    "@contentbit/comparison",
    "@contentbit/pros-cons",
    "@contentbit/tabs",
    "@contentbit/faq"
  ],
  "files": [
    {
      "path": "src/blocks/content-renderer.tsx",
      "content": "import type { ProcessedDocumentNode } from '@contentbit/core'\nimport type { ReactNode } from 'react'\n\nimport { genericBlockDefinitions } from '@contentbit/blocks'\nimport { ContentBlocks, defineBlockComponents, type BlockComponent } from '@contentbit/react'\n\nimport { CalloutBlock } from './callout'\nimport { ComparisonBlock } from './comparison'\nimport { FaqBlock } from './faq'\nimport { KeyMetricsBlock } from './key-metrics'\nimport { ProsConsBlock } from './pros-cons'\nimport { QuickRefBlock } from './quick-ref'\nimport { StepsBlock } from './steps'\nimport { TabsBlock } from './tabs-block'\n\nexport const styledComponents = defineBlockComponents(genericBlockDefinitions, {\n  callout: CalloutBlock,\n  steps: StepsBlock,\n  'key-metrics': KeyMetricsBlock,\n  'quick-ref': QuickRefBlock,\n  comparison: ComparisonBlock,\n  'pros-cons': ProsConsBlock,\n  tabs: TabsBlock,\n  faq: FaqBlock,\n})\n\nexport interface ContentRendererProps {\n  document: ProcessedDocumentNode\n  /** Plug your app's Markdown pipeline here. Defaults to plain paragraphs. */\n  renderMarkdown?: (md: string) => ReactNode\n  components?: Record<string, BlockComponent>\n}\n\nexport function ContentRenderer({ document, renderMarkdown, components }: ContentRendererProps) {\n  return (\n    <ContentBlocks\n      document={document}\n      components={{ ...styledComponents, ...components }}\n      renderMarkdown={renderMarkdown}\n    />\n  )\n}\n",
      "type": "registry:component",
      "target": "components/content-blocks/content-renderer.tsx"
    }
  ],
  "type": "registry:component"
}