A compact alert chip for displaying global notifications in a bottom rail. Use GlobalAlert for simple chip-only alerts, and GlobalAlertPopover when you need to display additional details and actions in a popover.
Simple
Info
Danger
Warning
New Feature
Global alerts are designed to be displayed in a bottom rail. Hover over an alert to see its popover, and click "Dismiss" to remove it. Click "Reset" to restore all alerts.
This example demonstrates how the bottom rail disappears when all alerts are dismissed, allowing the page body to expand.
Use GlobalAlert for simple chip-only alerts without a popover. The chip includes an X button to dismiss the alert when onDismiss is provided.
Use GlobalAlertPopover when you need to display additional details and actions in a popover. The dismiss button appears inside the popover, not on the chip.
Use the simple variant for basic text alerts without a leading icon.
Use the info variant for promotional or informational alerts.
Use the danger variant for critical errors or system-wide issues.
Use the warning variant for caution states and usage warnings.
Use the newFeature variant for feature announcements. This variant includes a subtle shimmer animation.
Add a primary action button to the popover footer. Primary actions are styled with secondary button styling.
Add a secondary action button alongside the primary action. Secondary actions are styled with tertiary button styling.
Add a link to the popover footer for external resources like documentation.
Override the default variant icon with a custom one.
The compact chip shows the icon and truncated label text.
On hover or focus, the popover opens above the chip. The popover stays open while hovering either the chip or the popover itself. For GlobalAlert (chip-only), the dismiss X button appears on hover.
Alert instead)FormField with error state)Toast instead)Simple chip-only alert component with an inline dismiss button.
Inherits margin props.
| Name | Default | Description |
|---|---|---|
variant | "simple" | "simple" | "info" | "danger" | "warning" | "newFeature"Alert variant determines the color scheme and default icon. |
label | — | stringLabel text shown in the compact chip. |
onDismiss | — | (event: MouseEvent | KeyboardEvent) => voidCallback when the alert is dismissed via the X button. |
icon | — | ComponentType<SVGAttributes<SVGElement>>Override the default variant icon. |
shimmer | false (true for "newFeature" variant) | booleanEnable animated shimmer effect on the label text. |
Alert chip with popover for displaying additional details and actions. The dismiss button is rendered inside the popover.
Inherits margin props.
| Name | Default | Description |
|---|---|---|
variant | "simple" | "simple" | "info" | "danger" | "warning" | "newFeature"Alert variant determines the color scheme and default icon. |
label | — | stringLabel text shown in the compact chip. |
title | — | stringTitle shown in the hover popover. |
description | — | stringDescription text shown in the hover popover. Should be 3 lines or less. |
onDismiss | — | () => voidCallback when the alert is dismissed. Renders a "Dismiss" button in the popover. |
primaryAction | — | { | /** | * Button label text. | */ | label: string; | /** | * Callback when the button is clicked. | */ | onClick: () => void; | }Primary action button shown in the popover footer. Rendered with secondary button styling. |
secondaryAction | — | { | /** | * Button label text. | */ | label: string; | /** | * Callback when the button is clicked. | */ | onClick: () => void; | }Secondary action button shown in the popover footer. Rendered with tertiary button styling. |
link | — | { | /** | * Link label text. | */ | label: string; | /** | * Link URL. | */ | href: string; | /** | * If true, the link will open in a new tab. | */ | isExternal?: boolean; | }Link shown in the popover footer. |
icon | — | ComponentType<SVGAttributes<SVGElement>>Override the default variant icon. |
shimmer | false (true for "newFeature" variant) | booleanEnable animated shimmer effect on the label text. |
Configuration object for action buttons.
label (string) - Button label text.onClick (() => void) - Callback when the button is clicked.Configuration object for links.
label (string) - Link label text.href (string) - Link URL.isExternal (boolean) - If true, the link will open in a new tab.On this page