# Alert

An inline message with a quiet boundary and explicit announcement priority.

Connect Flood once using [the installation guide](https://flood.md/docs/installation). Then import the components you use; no per-component add command is needed.

## Example

```tsx
"use client";

import { FloodRoot, Alert } from "@flood-md/react";
import "@flood-md/react/styles.css";

export function Example() {
  return (
    <FloodRoot>
      <Alert tone="warning" title="Storage is almost full">
        Free some space before your next upload.
      </Alert>
    </FloodRoot>
  );
}
```

## Design notes

- announcement defaults off: a static message does not automatically interrupt a screen reader. Polite uses role=status; assertive uses role=alert.
- Use assertive for newly inserted urgent messages, and verify with actual assistive technology. No focus movement, timeout or automatic dismissal is implemented.
- Title is optional. Icons are original decorative glyphs; pass icon={null} to omit or supply noninteractive artwork. Meaning must remain in the text.
- Native div props and ref target the message root. Available in 0.2.4.

## API reference

| Prop | Values | Default |
| --- | --- | --- |
| `title` | `string` | `—` |
| `tone` | `"neutral" \| "error" \| "warning" \| "success" \| "info"` | `"info"` |
| `icon` | `ReactNode` | `—` |
| `announcement` | `"off" \| "polite" \| "assertive"` | `"off"` |
| `Native HTML props` | `Omit<HTMLAttributes<HTMLDivElement>, "title" \| "role" \| "aria-live">` | `Forwarded` |
