Embeddable docs-hub page component that wires `` with sensible per-document-type rendering defaults, reducing consumer setup to a single required prop (`documentTypeRenderers.markdown`). ## Key Components ### `DocsHubPage` (default export) The primary component. Accepts a renderer map and delegates to `` after merging consumer-supplied renderers with built-in defaults for `pdf`, `google_sheet`, `figma`, and `file` types. ### `DocumentTypeRenderers` A type-safe renderer map. `markdown` is **required**; all other document types are optional overrides. The library intentionally omits a default markdown renderer to let consumers choose their own sanitization strategy and avoid XSS exposure. ### Default renderers | Type | Default behavior | |---|---| | `pdf` | `` if `fileUrl` exists, else unsupported message | | `google_sheet` | `` if `externalUrl` exists, else unsupported message | | `figma` | `` if `externalUrl` exists, else unsupported message | | `file` | `` (handles missing URL internally) | | unknown | Centered "Unsupported document type" text panel | ### `defaultRenderSkeleton` Picks `` for markdown/undefined types and `` (shape-aware) for all embed types. ## Usage Example ```typescript import { DocsHubPage } from './docs-hub-page' import ReactMarkdown from 'react-markdown' export function KnowledgeBasePage() { return ( ( {content.markdownBody ?? ''} ), // override only when you need custom props, e.g.: // pdf: (content) => , }} showAIChat={true} /> ) } ``` > **Note:** This component is client-side only (`'use client'`). For SEO, the host application is responsible for server-side rendering. See `docs/EMBEDDING_DOCS_HUB.md` for full embedder setup.