Accessible alert component with three style variants (`default`, `destructive`, `warning`) built using `class-variance-authority` and React's `forwardRef`.
## Key Components
| Export | Type | Description |
|--------|------|-------------|
| `Alert` | `React.forwardRef` | Root container with `role="alert"`, accepts `variant` prop and optional SVG icon child |
| `AlertTitle` | `React.forwardRef` | Renders as `
` for the alert heading |
| `AlertDescription` | `React.forwardRef` | Body text container with relaxed line-height for paragraph children |
| `alertVariants` | `cva` config | CVA variant map driving Tailwind classes for each alert style |
### Variants
| Variant | Use Case |
|---------|----------|
| `default` | General informational messages |
| `destructive` | Errors or dangerous actions |
| `warning` | Cautionary notices (uses ODS warning tokens) |
## Usage Example
```typescript
import { Alert, AlertTitle, AlertDescription } from "./components/ui/alert"
import { AlertTriangle } from "lucide-react"
// Default
Heads up
Your session will expire in 5 minutes.
// Destructive with icon
Error
Failed to sync device inventory.
// Warning
License expiring
Renew within 7 days to avoid service interruption.
```
> **Icon support:** Placing an SVG/icon as a direct child of `Alert` automatically positions it absolutely at top-left and offsets sibling content via the `[&>svg~*]:pl-7` selector — no extra wrapper needed.
**Source:** [`alert.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/alert.tsx)