Alert
Alerts provide short, timely, and relevant information for your users.
Example
Default alert
<div role="alert" class="cgds alert alert-primary fade d-flex align-items-center alert-dismissible-link show">
<div>
<i class="primary bi bi-exclamation-circle me-2"></i>This is a primary alert—check it out!
</div>
<button type="button" class="btn-close btn-sm" aria-label="Close alert"></button>
</div>
With link
<div role="alert" class="fade d-flex align-items-center alert alert-primary alert-dismissible-link show cgds">
<div>
<i class="primary bi bi-exclamation-circle me-2"></i>
This is a primary alert with <a class="alert-link" href="#" role="button" tabindex="0">an example link</a>.
Give it a click if you like.
</div>
<button type="button" class="btn-close btn-sm" aria-label="Close alert"></button>
</div>
<div role="alert" class="fade d-flex align-items-center alert alert-light alert-dismissible-link show cgds">
<div>
<i class="bi bi-exclamation-circle me-2"></i>
This is a primary alert with <a class="alert-link" href="#" role="button" tabindex="0">an example link</a>.
Give it a click if you like.
</div>
<button type="button" class="btn-close btn-sm" aria-label="Close alert"></button>
</div>
<div role="alert" class="fade d-flex align-items-center alert alert-success alert-dismissible-link show cgds">
<div>
<i class="bi bi-exclamation-circle me-2"></i>
This is a primary alert with <a class="alert-link" href="#" role="button" tabindex="0">an example link</a>.
Give it a click if you like.
</div>
<button type="button" class="btn-close btn-sm" aria-label="Close alert"></button>
</div>
<div role="alert" class="fade d-flex align-items-center alert alert-danger alert-dismissible-link show cgds">
<div>
<i class="bi bi-exclamation-circle me-2"></i>
This is a primary alert with <a class="alert-link" href="#" role="button" tabindex="0">an example link</a>.
Give it a click if you like.
</div>
<button type="button" class="btn-close btn-sm" aria-label="Close alert"></button>
</div>
<div role="alert" class="fade d-flex align-items-center alert alert-warning alert-dismissible-link show cgds">
<div>
<i class="bi bi-exclamation-circle me-2"></i>
This is a primary alert with <a class="alert-link" href="#" role="button" tabindex="0">an example link</a>.
Give it a click if you like.
</div>
<button type="button" class="btn-close btn-sm" aria-label="Close alert"></button>
</div>
Additional content
Aww yeah, you successfully read this important alert message. This example text is going to run a bit longer so that you can see how spacing within an alert works with this kind of content.
Whenever you need to, be sure to use margin utilities to keep things nice and tidy.
<div role="alert" class="fade d-flex align-items-center alert alert-success alert-dismissible show cgds">
<button type="button" class="btn-close btn-sm" aria-label="Close alert"></button>
<i class="bi bi-exclamation-circle me-4"></i>
<div>
<div class="alert-heading h4">Hey, nice to see you</div>
<p>Aww yeah, you successfully read this important alert message.
This example text is going to run a bit longer
so that you can see how spacing within an alert works with this kind of content.</p>
<hr>
<p class="mb-0">Whenever you need to, be sure to use margin utilities to keep things nice and tidy.</p>
</div>
</div>
Dismissable
Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.
<div role="alert" class="fade d-flex align-items-center alert alert-primary alert-dismissible show cgds">
<button type="button" class="btn-close btn-sm" aria-label="Close alert"></button>
<i class="primary bi bi-exclamation-circle me-4"></i>
<div>
<div class="alert-heading h4">Oh snap! You got an error!</div>
<p class="mb-0">Change this and that and try again.
Duis mollis, est non commodo luctus, nisi erat porttitor
ligula, eget lacinia odio sem nec elit.
Cras mattis consectetur purus sit amet fermentum.</p>
</div>
</div>
Anatomy
- Icon (situational): Serves to give more context to the alert.
- Text: Serves to tell users what the alert is about.
- Close icon (situational): Can be used as a close button to allow users to dismiss the alert.
- Container: Serves to house the content of the alert. Width and height will vary depending on the amount of content within.
Spacing
Within the alert
Ensure that there is a min of 16px vertical spacing and 24px horizontal spacing within
the alert and 16px spacing between icon and text. Base height 64px.
Usage guidelines
Alerts should be used:
- When you need system status messaging - The alert may be in the form of a notification that keeps users informed of the status of a system. This may or may not require the user to take action and/or respond. Some examples of this can be in the form of errors, warnings or generic updates for the users.
Alerts should not be used:
- For validation errors - Alerts should not be used for validation errors, these should be displayed on the component that the user is on.
- Multiple alerts—There should not be multiple alerts on a single page. E.g., A notification alert and an error/warning alert. Use the one that is most important to the user.
Usability guidelines
Do not use multiple notifications on a page
This may overwhelm or annoy users and may result in them ignoring the notification altogether.
Dismissable alerts
Avoid triggering interaction with a badge as they may be confused as small buttons.
Proper context
Do not use alerts that are not related to a user’s goal.
Alert design tokens
$alert-padding-y: $spacer !default;
$alert-padding-x: $spacer !default;
$alert-margin-bottom: 1rem !default;
$alert-border-radius: $border-radius !default;
$alert-link-font-weight: $font-weight-bold !default;
$alert-border-width: $border-width !default;
$alert-bg-scale: -80% !default;
$alert-border-scale: -70% !default;
$alert-color-scale: 40% !default;
$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side