{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "astro-content-renderer",
  "title": "Content Renderer (Astro)",
  "description": "Renders a validated Content Blocks document with the styled component pack.",
  "dependencies": [
    "@contentbit/core",
    "@contentbit/blocks",
    "@contentbit/astro"
  ],
  "registryDependencies": [
    "@contentbit/astro-callout",
    "@contentbit/astro-steps",
    "@contentbit/astro-key-metrics",
    "@contentbit/astro-quick-ref",
    "@contentbit/astro-comparison",
    "@contentbit/astro-pros-cons",
    "@contentbit/astro-tabs",
    "@contentbit/astro-faq"
  ],
  "files": [
    {
      "path": "src/astro/content-renderer.astro",
      "content": "---\nimport type { ProcessedDocumentNode } from '@contentbit/core'\nimport type { ComponentProps } from 'astro/types'\n\nimport { ContentBlocks } from '@contentbit/astro/components'\n\nimport Callout from './callout.astro'\nimport Comparison from './comparison.astro'\nimport Faq from './faq.astro'\nimport KeyMetrics from './key-metrics.astro'\nimport ProsCons from './pros-cons.astro'\nimport QuickRef from './quick-ref.astro'\nimport Steps from './steps.astro'\nimport Tabs from './tabs.astro'\n\n// The styled pack, keyed by block name. Add your custom blocks via the\n// `components` prop — they merge over these.\nconst styledComponents: Record<string, unknown> = {\n  callout: Callout,\n  steps: Steps,\n  'key-metrics': KeyMetrics,\n  'quick-ref': QuickRef,\n  comparison: Comparison,\n  'pros-cons': ProsCons,\n  tabs: Tabs,\n  faq: Faq,\n}\n\ninterface Props {\n  document: ProcessedDocumentNode\n  components?: Record<string, unknown>\n  /**\n   * Host prose pipeline for Markdown between block islands and nested block\n   * children. Pass your Astro/Satteri renderer here if the rest of your site\n   * uses Astro's Markdown processor.\n   */\n  renderMarkdown?: ComponentProps<typeof ContentBlocks>['renderMarkdown']\n  onInvalid?: 'strict' | 'annotated' | 'fallback'\n}\n\nconst { document, components, renderMarkdown, onInvalid } = Astro.props\n---\n\n<ContentBlocks\n  document={document}\n  components={{ ...styledComponents, ...components }}\n  renderMarkdown={renderMarkdown}\n  onInvalid={onInvalid}\n/>\n",
      "type": "registry:component",
      "target": "components/content-blocks/content-renderer.astro"
    }
  ],
  "type": "registry:component"
}