Renders a single data row in the `QueryReportTable`, supporting both `default` (card-style) and `compact` (flat list) visual variants with truncation-aware tooltips on overflow. ## Key Components - **`QueryReportTableRow`** — Primary export. Maps over `columns` to render each cell with a fixed `columnWidth`, handling `null`/`undefined` values as `'-'`. Applies variant-specific layout (`80px` height for `default`, `56px` for `compact`). - **`TruncatedCell`** *(internal)* — Wraps cell text in a `` with CSS truncation. Uses `scrollWidth > clientWidth` detection on `mouseenter` to conditionally activate a tooltip showing the full value. ## Usage Example ```typescript import { QueryReportTableRow } from './query-report-table-row' const row = { name: 'Acme Corp', status: 'Active', tickets: 42 } const columns = ['name', 'status', 'tickets'] // Default (card) variant // Compact (flat list) variant ``` ## Behavior Notes | Concern | Detail | |---|---| | Null handling | `null` / `undefined` values render as `'-'` | | Tooltip activation | Only shown when text is actually truncated (lazy-checked on hover) | | Tooltip delay | 300 ms via `delayDuration` to avoid flicker on quick mouse passes | | Styling | Driven by `cn()` utility; accepts an optional `className` override |