Collapsible error/warning/info message component that displays a title with an optional expandable details section, supporting three severity types with distinct icon tinting.
## Key Components
### `ErrorMessageDisplay`
A `forwardRef` component that renders an alert card with:
- **`title`** — Always-visible summary text (truncated when collapsed)
- **`details`** — Optional expandable body text; when omitted, the card is non-interactive
- **`type`** — Severity level controlling icon color: `"error"` (default) | `"warning"` | `"info"`
- **`className`** — Additional CSS classes merged via `cn`
### `iconTint`
Internal map from `type` to ODS color tokens:
| Type | Token |
|---|---|
| `error` | `text-ods-error` |
| `warning` | `text-ods-warning` |
| `info` | `text-ods-text-secondary` |
### Internal Hooks & Sub-components
- **`useCollapsible`** — Provides animated `containerStyle` and `innerRef` for smooth height transitions
- **`ExpandChevron`** — Chevron icon that rotates based on `expanded` state
- **`AlertCircleIcon`** — 16px alert icon tinted by severity type
## Usage Example
```typescript
import { ErrorMessageDisplay } from "./error-message-display"
// Simple non-interactive error
// Expandable warning with details
// Info message with custom class
```
## Accessibility
- `aria-expanded` is set on the toggle button only when `details` is present
- `aria-label` dynamically switches between `"Expand details"` / `"Collapse details"`
- Button is `disabled` when no details exist, preventing keyboard interaction