Arcana UI
Components

Alert

Inline status message with icon, title, description, and dismissal.

Import

import { Alert } from '@arcana-ui/core'

Usage

<Alert variant="info">Your account is pending verification.</Alert>
<Alert variant="success">Payment processed successfully.</Alert>
<Alert variant="warning">Storage is 90% full.</Alert>
<Alert variant="error">Failed to save changes. Please try again.</Alert>
 
{/* With title */}
<Alert variant="warning" title="Storage limit approaching">
  You've used 90% of your 10GB storage quota. Upgrade to continue uploading files.
</Alert>
 
{/* Dismissible */}
<Alert variant="info" dismissible onDismiss={() => setVisible(false)}>
  A new version is available. Refresh to update.
</Alert>

Props

PropTypeDefaultDescription
variant'info' | 'success' | 'warning' | 'error''info'Alert type and colour
titlestringBold title line
dismissiblebooleanfalseShow dismiss button
onDismiss() => voidCalled when dismiss button clicked
childrenReact.ReactNodeAlert body content
classNamestringAdditional CSS classes

Controlled visibility

const [visible, setVisible] = useState(true)
 
{visible && (
  <Alert
    variant="info"
    dismissible
    onDismiss={() => setVisible(false)}
  >
    Feature announcement
  </Alert>
)}

With actions

<Alert variant="warning" title="Unsaved changes">
  You have unsaved changes. Save or discard before leaving.
  <div style={{ marginTop: '0.75rem', display: 'flex', gap: '0.5rem' }}>
    <Button size="sm">Save</Button>
    <Button size="sm" variant="ghost">Discard</Button>
  </div>
</Alert>

Accessibility

  • Renders with role="alert" for live region announcements
  • Icon is aria-hidden — variant meaning is conveyed via text
  • Dismiss button has aria-label="Dismiss"
  • Screen readers announce the alert content when it appears
  • Toast — transient, auto-dismissing notifications
  • Badge — compact inline status indicators
  • Modal — for confirmations requiring user action

On this page