Renders a single search result row inside `` dropdowns, providing a consistent visual layout for all doc-search surfaces (data-room sidebar, onboarding-guide catalog, etc.). ## Key Components ### Interfaces - **`DocSearchResultRowEntry`** — Minimal result shape; compatible with any `useDocSearch` hook result exposing `{ title?, path?, metadata? }`. - **`DocSearchResultRowProps`** — Props for the row: a `DocSearchResultRowEntry` and a boolean `isHighlighted` flag. ### Component - **`DocSearchResultRow`** — Renders a flex row with: - A source icon resolved via `resolveSourceIcon()` (same registry used by inline chat-card refs, preventing cross-surface icon drift). - A truncating title/path label styled with `text-ods-accent` when highlighted. - An optional relative path subtitle (hidden for group entries or single-segment paths), formatted via `formatRelativePath()`. ## Usage Example ```typescript import { DocSearchResultRow } from './doc-search-result-row' // Inside a SearchInput dropdown list: results.map((result, index) => ( )) // Result shape — satisfied by useDocSearch hook output: const result = { title: 'Getting Started Guide', path: 'onboarding/getting-started', metadata: { documentType: 'onboarding-guide', sourceRepo: 'internal-docs', isGroup: false, }, } ``` ## Notes - **Single source of truth** — centralises row appearance so all search dropdowns are visually identical. - Icon resolution is shared with the chat-card ref system via `resolveSourceIcon()`, ensuring glyph consistency (e.g. `` for onboarding guides) across every surface. - Group entries (`metadata.isGroup === true`) suppress the path subtitle. **Source:** [`doc-search-result-row.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/doc-search-result-row.tsx)