import * as React from 'react'; import { AlertCircle, CheckCircle2, Info, TriangleAlert } from 'lucide-react'; import { clsx } from 'clsx'; export type AlertBannerTone = 'info' | 'success' | 'warning' | 'error' | 'neutral'; export interface AlertBannerProps extends Omit, 'title'> { tone?: AlertBannerTone; title?: React.ReactNode; icon?: React.ReactNode; } const toneClass: Record = { info: 'border-[var(--bl-info-border,var(--bl-border))] bg-[var(--bl-info-muted,var(--bl-surface-muted))] text-[var(--bl-info,var(--bl-accent))]', success: 'border-[var(--bl-success-border,var(--bl-border))] bg-[var(--bl-success-muted,var(--bl-surface-muted))] text-[var(--bl-success)]', warning: 'border-[var(--bl-warning-border,var(--bl-border))] bg-[var(--bl-warning-muted,var(--bl-surface-muted))] text-[var(--bl-warning)]', error: 'border-[var(--bl-danger-border,var(--bl-border))] bg-[var(--bl-danger-muted,var(--bl-surface-muted))] text-[var(--bl-danger)]', neutral: 'border-[var(--bl-border)] bg-[var(--bl-surface-muted)] text-[var(--bl-text-secondary)]', }; const iconByTone: Record = { info: