Public API barrel file for the documentation viewer feature, re-exporting all components, hooks, context providers, and TypeScript types needed to build and integrate a documentation hub UI. ## Key Components | Export | Source | Description | |---|---|---| | `DocViewer` | `./doc-viewer` | Core document rendering component | | `DocsHubPage` | `./docs-hub-page` | Full documentation hub page layout | | `MarkdownSkeleton`, `EmbedSkeleton` | `./skeletons` | Loading skeleton components | | `useDocumentTree` | `./use-document-tree` | Hook for fetching/managing document tree structure | | `useScrollSpy` | `./use-scroll-spy` | Hook for tracking scroll position within docs | | `DocNavigationProvider`, `useDocNavigation` | `./doc-navigation-context` | Context provider and hook for doc navigation state | ### Re-exported Types Types from `../../types/doc-source` define the API contract for the `/api/docs/sources/[sourceId]/{structure,content}` and `/api/docs/resolve-link` endpoints: - `DocNode`, `DocContent`, `DocSourceId`, `DocumentType` — doc source data shapes - `DocRenderHandlers`, `ResolveLinkResult` — renderer and link resolution interfaces ## Usage Example ```typescript import { DocsHubPage, useDocumentTree, DocNavigationProvider, type DocumentTypeRenderers, type DocNode, } from '@/features/docs' const renderers: DocumentTypeRenderers = { markdown: (content) => , } export default function DocsLayout() { return ( ) } ``` ## Notes - Marked `"use client"` — all exports are React Client Components or client-side hooks. - Consumers implementing a custom doc source must satisfy the API contract types (`DocNode`, `DocContent`, etc.) exported from this file. **Source:** [`index.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/index.ts)