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.