Public API barrel file for the `doc-search` package, re-exporting all components, hooks, utilities, and types needed to embed document search functionality in consuming applications.
## Key Components
| Export | Source | Description |
|---|---|---|
| `DocSearchBar` / `DocSearchBarProps` | `./doc-search-bar` | Search input component |
| `DocSearchResultRow` / props + entry types | `./doc-search-result-row` | Renders a single search result |
| `formatRelativePath` | `./format-relative-path` | Path formatting utility |
| `useDocSearch` / `UseDocSearchConfig` | `./use-doc-search` | Debounced fetch + result navigation hook |
| `resolveSearchResultAction` / `SearchResultAction` | `./resolve-search-result-action` | Determines the action for a given result |
| `mapDocSearchResults` | `./map-doc-search-results` | Transforms raw API results into UI-ready shape |
| `DocSearchResult` | `./types` | Shared result type |
## Usage Example
```typescript
import {
DocSearchBar,
DocSearchResultRow,
useDocSearch,
type UseDocSearchConfig,
type DocSearchResult,
} from '@openframe/doc-search'
const config: UseDocSearchConfig = {
endpoint: '/api/docs/search',
debounceMs: 300,
}
function MySearchPanel() {
const { query, setQuery, results, navigate } = useDocSearch(config)
return (
<>
{results.map((result: DocSearchResult) => (
))}
>
)
}
```
> **Note for embedders:** `useDocSearch` bundles the debounced fetch and result navigation logic previously in `hub/hooks/use-docs.ts`, so you do not need to re-implement it when mounting `DocSearchBar` outside the hub.