Alert
A contextual message with optional assertive announcement.
Give your AI assistant this page as context.
Connect your library with MCPui/alertUsage
Get this component from a saved library export or the connected CLI. The imports below refer to local files installed in your app.
Import styles/components.css, then styles/theme.css once. Wrap your app in ThemeScope from components/ui/utils so typography, focus and overlays share the theme. The installation guide covers runtime dependencies and React/Next.js setup.
import { Alert } from './components/ui/alert';
<Alert title="Everything is up to date." variant="success">Your changes have been saved.</Alert>Design system
This component consumes your semantic colors, spacing, typography and shape tokens. Import the compiled styles and your theme once as described in Export.
Behavior and accessibility
- Provide meaningful labels for interactive controls.
- Connect action callbacks to your application logic.
- Verify keyboard navigation and contrast in your application.
Status: experimental during early access. Sample previews do not send emails, process payments or upload files to a service.
Source and props
This is the exported source, using the same implementation as the editor.
"use client";
import type { HTMLAttributes, ReactNode } from "react";
import { cx } from "./utils";
export function Alert({
title,
variant = "info",
announce = false,
role,
children,
className,
...props
}: Omit<HTMLAttributes<HTMLDivElement>, "title"> & {
title?: ReactNode;
variant?: "info" | "success" | "warning" | "destructive";
announce?: boolean;
}) {
return (
<div
{...props}
role={role ?? (announce ? "alert" : undefined)}
className={cx("cr-alert", className)}
data-variant={variant}
>
{title && <strong>{title}</strong>}
{children && <div>{children}</div>}
</div>
);
}