Getting StartedComponentsDesign TokensThemingTheme SynthesizerFrameworksAccessibilityUtilitiesServer RenderingBrowser SupportContributingChangelogApp ShellAspect GridAuth ShellCenterContainerDashboard GridFloat BarInsetMasonryPage HeaderPage LayoutResizableResponsive SwitcherSectionSettings LayoutSplit PaneStatus BarStickyToolbarAnchor NavBottom NavBreadcrumbBreadcrumb MenuCommand BarDrawerFooterLinkMenubarNavigation MenuPage IndicatorPaginationRailScroll IndicatorScroll SpyScroll To TopSidebarSkip LinkStepper NavTabsTop BarTree ViewAccordionAspect RatioAvatarAvatar GroupCardCarouselCollapsibleColor SwatchCTA BannerDividerEmpty StateFeature CardIconImageImage CompareImage HotspotsInfinite ScrollLightboxMarqueeQR CodeScroll AreaSkeletonSpinnerStackVideoVirtual ListActivity HeatmapAnimated NumberBadgeBar ListChartClockComparisonCountdown TimerData GridDescription ListDiffGaugeJSON TreeKanbanLevel MeterListMeterSparklineStatStepperTagTimelineUptimeValue CardWaveformBlockquoteCode BlockCode GroupGradient TextHighlightKbdKeyboard MapMarkdownNumber FormatProseTerminalTextTime AgoTruncateTypewriterButtonButton GroupCalendarCheckboxChipColor PickerComboboxCopy ButtonDate PickerDate Range PickerField ListFieldsetFile UploadFormHotkeyIcon ButtonImage CropperInline EditInputInput GroupKnobLabelMasked InputMulti SelectNumber InputPassword InputPin InputRadio GroupRange SliderRatingSearchSegmented ControlSelectSignature PadSliderSortable ListSwitch GroupTag InputTextareaTheme ToggleTime PickerToggleTransfer ListTree SelectAlertAnnouncementBannerCommand PaletteConfirmConnection StatusContext MenuConversationDialogDropdown MenuHover CardLoading OverlayNotification PanelPopoverProgressSheetToastTooltip
ARC UIARC Radiant Components
v4.9DocsComponentsTokensSynthesizer
Getting StartedFrameworksServer RenderingDesign TokensThemingTheme SynthesizerTypographyUtilitiesAll ComponentsAccessibilityBrowser SupportChangelogContributingStatsApp ShellAspect GridAuth ShellCenterContainerDashboard GridFloat BarInsetMasonryPage HeaderPage LayoutResizableResponsive SwitcherSectionSettings LayoutSplit PaneStatus BarStickyToolbarAnchor NavBottom NavBreadcrumbBreadcrumb MenuCommand BarDrawerFooterLinkMenubarNavigation MenuPage IndicatorPaginationRailScroll IndicatorScroll SpyScroll To TopSidebarSkip LinkStepper NavTabsTop BarTree ViewAccordionAspect RatioAvatarAvatar GroupCardCarouselCollapsibleColor SwatchCTA BannerDividerEmpty StateFeature CardIconImageImage CompareImage HotspotsInfinite ScrollLightboxMarqueeQR CodeScroll AreaSkeletonSpinnerStackVideoVirtual ListActivity HeatmapAnimated NumberBadgeBar ListChartClockComparisonCountdown TimerData GridDescription ListDiffGaugeJSON TreeKanbanLevel MeterListMeterSparklineStatStepperTagTimelineUptimeValue CardWaveformBlockquoteCode BlockCode GroupGradient TextHighlightKbdKeyboard MapMarkdownNumber FormatProseTerminalTextTime AgoTruncateTypewriterButtonButton GroupCalendarCheckboxChipColor PickerComboboxCopy ButtonDate PickerDate Range PickerField ListFieldsetFile UploadFormHotkeyIcon ButtonImage CropperInline EditInputInput GroupKnobLabelMasked InputMulti SelectNumber InputPassword InputPin InputRadio GroupRange SliderRatingSearchSegmented ControlSelectSignature PadSliderSortable ListSwitch GroupTag InputTextareaTheme ToggleTime PickerToggleTransfer ListTree SelectAlertAnnouncementBannerCommand PaletteConfirmConnection StatusContext MenuConversationDialogDropdown MenuHover CardLoading OverlayNotification PanelPopoverProgressSheetToastTooltip

Banner

Full-width persistent strip pinned to viewport or section top. Uses the same semantic variants as alert, but edge-to-edge with no border-radius and a subtle gradient wash.

ComponentsBanner
feedbackhybrid
<arc-banner>

Overview

Banner shows full-width messages that span their container, usually the viewport or a major content section. Unlike alert (which sits inline with border-radius and constrained width), banner is edge-to-edge with no rounding, like a system-level notification bar. Use banner for messages that apply globally rather than to a specific piece of content: maintenance windows, version updates, cookie consent, or account-level warnings. The sticky option pins the banner to the top of the viewport so it remains visible as the user scrolls, while the dismissible option lets users close it once they have acknowledged the message. Four semantic variants (info, success, warning, and error) apply a subtle gradient wash and matching icon, using the same colors as alert and toast. The component renders as a landmark with `role="banner"` when used at the page level, and includes `aria-live="polite"` for dynamically injected banners.

Guidelines

When to use

  • Use banner for global, page-level messages that apply to the entire application
  • Enable sticky for critical messages that must remain visible as the user scrolls
  • Use the warning variant for maintenance windows or upcoming breaking changes
  • Keep banner text concise: one line with an optional action link
  • Place the banner at the very top of the layout, above the top bar if possible

When not to use

  • Do not use banner for inline, content-specific feedback. Use alert or inline-message instead
  • Do not stack multiple banners. Consolidate messages or queue them sequentially
  • Do not make every banner dismissible; some system messages should persist
  • Do not use the error variant for warnings. Reserve it for genuine outages or failures
  • Do not place banners in the middle of page content; they belong at the top edge

Features

  • Full-width edge-to-edge layout with no border-radius
  • Four semantic variants (info, success, warning, error) with gradient wash backgrounds
  • Sticky mode pins the banner to the top of the viewport on scroll
  • Dismissible mode adds a close button and fires `arc-close` on close
  • Accessible `role="banner"` and aria-live="polite" for dynamic content
  • Slide-down enter and collapse exit transitions
  • Slot for custom content including links, buttons, or inline actions

Preview

Scheduled maintenance tonight from 11 PM to 1 AM UTC.

Usage

Layout and styling work without JavaScript via the HTML/CSS versions. Interactive features like events and state management require the Web Component or a framework wrapper.

<arc-banner variant="info" dismissible>
  Scheduled maintenance tonight from 11 PM to 1 AM UTC.
</arc-banner>

<arc-banner variant="warning" sticky>
  Your subscription expires in 3 days.
  <a href="/billing" slot="action">Renew now</a>
</arc-banner>

API

variant'info' | 'success' | 'warning' | 'error''info'
Controls the semantic color palette and icon. Use "info" for neutral announcements, "success" for positive confirmations, "warning" for caution states, and "error" for outages or critical failures.
dismissiblebooleanfalse
When true, renders a close button on the right side. Clicking it collapses the banner and fires an "arc-close" event.
stickybooleanfalse
When true, pins the banner to the top of the viewport with position: sticky so it remains visible as the user scrolls.

Events

arc-close
Fired when a dismissible banner is closed by the user

See Also