Renders truncated text using ODS typography tokens, displaying a `FloatingTooltip` with the full content only when overflow is detected via `ResizeObserver`. ## Key Components - **`TruncateText`** — Main export. Wraps a `` with overflow detection and conditionally enables a tooltip. - **`TruncateTextProps`** — Interface defining all configuration options. - **`TruncateTextVariant`** — Union type (`'h1'`–`'h6'`) mapping to ODS typography utilities. - **`TruncateTextTone`** — Union type (`'primary'` | `'secondary'`) mapping to ODS text colour utilities. - **Overflow detection** — Uses `ResizeObserver` to re-check truncation on container resize; single-line uses `scrollWidth`, multi-line uses `scrollHeight`. ## Usage Example ```typescript // Single-line truncation (default h4 / primary) {deviceName} // Secondary caption style with custom tooltip side {email} // Multi-line clamp with custom tooltip content Full description here}> {longDescription} // Monospace heading font, forced secondary tone {ticketId} ``` ## Behaviour Notes - Tooltip is **disabled** until actual overflow occurs — no tooltip shown for short strings. - `lines={1}` applies Tailwind `truncate` (single-line ellipsis); `lines={2–6}` applies `line-clamp-N`. - `tooltip` prop defaults to `children` when omitted. - The `mono` prop swaps the font family to `--font-family-heading` while preserving the variant's size scale.