Alert
Inline notice in five tones: default, note, success, warning, destructive.
import { Alert } from "@cynco-labs/ui"; Example
import { CheckCircleIcon, InfoIcon, WarningCircleIcon, WarningIcon } from "@phosphor-icons/react";
import { Alert, AlertDescription, AlertTitle } from "@cynco-labs/ui";
export default function AlertDemo() {
return (
<div className="flex flex-col gap-2 max-w-[520px]">
<Alert>
<InfoIcon size={16} />
<AlertTitle>Default</AlertTitle>
<AlertDescription>Changes apply to new invoices only.</AlertDescription>
</Alert>
<Alert variant="note">
<InfoIcon size={16} />
<AlertTitle>Note</AlertTitle>
<AlertDescription>Demo company data resets every 30 days.</AlertDescription>
</Alert>
<Alert variant="success">
<CheckCircleIcon size={16} />
<AlertTitle>Maybank connected</AlertTitle>
</Alert>
<Alert variant="warning">
<WarningIcon size={16} />
<AlertTitle>3 invoices past due</AlertTitle>
</Alert>
<Alert variant="destructive">
<WarningCircleIcon size={16} />
<AlertTitle>MyInvois submission failed</AlertTitle>
<AlertDescription>LHDN rejected INV-2026-0139: buyer TIN is invalid.</AlertDescription>
</Alert>
</div>
);
} Use
Page- or section-level messages that stay visible.
Props
variant; an optional leading 16px icon, AlertTitle, AlertDescription, AlertAction.
Notes
Tinted at 4% fill and 15% border; text stays foreground at 80%. Tone hues come from Tailwind (sky, emerald, amber, red), not tokens.