Alert

Stable

Contextual feedback messages for user actions or system states. Use sparingly — frequent alerts lose their weight.


Variants

Success

Your changes were saved successfully.

Info

A new version of the design system is available.

Note

This field is optional but recommended for better results.

HTML
<div class="vi-alert vi-alert--success" role="status">
  <div class="vi-alert__title">Success</div>
  <p class="vi-alert__text">Your changes were saved.</p>
</div>

<div class="vi-alert vi-alert--warning" role="alert">
  <div class="vi-alert__title">Warning</div>
  <p class="vi-alert__text">This cannot be undone.</p>
</div>

<div class="vi-alert vi-alert--error" role="alert">
  <div class="vi-alert__title">Error</div>
  <p class="vi-alert__text">Something went wrong.</p>
</div>

With actions

HTML — with action buttons
<div class="vi-alert vi-alert--warning" role="alert">
  <div class="vi-alert__title">Session expiring</div>
  <p class="vi-alert__text">Your session expires in 5 minutes.</p>
  <div class="vi-alert__actions">
    <button class="vi-btn vi-btn--ghost vi-btn--sm">Dismiss</button>
    <button class="vi-btn vi-btn--secondary vi-btn--sm">Extend</button>
  </div>
</div>

Accessibility: role attribute

Variantrole attributeWhy
vi-alert--successrole="status"Non-urgent. Screen reader reads when convenient.
vi-alert--inforole="status"Non-urgent informational message.
vi-alert--neutralrole="note"Supplemental info, lowest urgency.
vi-alert--warningrole="alert"Urgent. Screen reader announces immediately.
vi-alert--errorrole="alert"Urgent. Screen reader announces immediately.

Class reference

ClassTypeDescription
vi-alertBaseRequired wrapper. Flex column layout, left border, padding.
vi-alert--successVariantGreen. Confirmations, completed actions.
vi-alert--warningVariantYellow. Caution, reversible risks.
vi-alert--errorVariantRed. Failures, critical issues.
vi-alert--infoVariantBlue. Informational messages.
vi-alert--neutralVariantGrey. Notes, tips, supplemental context.
vi-alert__titleSlotOptional bold heading inside the alert.
vi-alert__textSlotBody copy. Use a <p> tag.
vi-alert__actionsSlotButton row below the message text.