Skip to main content

Banner

Implemented

Full-width announcement bar — 5 variants (info/success/warning/error/solid). Dismissible, with optional CTA. role='region' aria-labelledby={titleId}. The `solid` variant is brand-aligned (bg-ep-btn-primary + white text + animated icon + CTA button) for high-visibility system states (admin impersonation, maintenance mode). Composes the Alert molecule's ALERT_VARIANT_STYLES contract for the tinted variants (Alert is the single source of truth; Wave 3 Tier-1 L4-M3) and auto-adapts in dark mode.

Categoryorganisms
Sourcecomponents/organisms/Banner/Banner.tsx
AI HintUse for grouped UI patterns. Combine atoms into functional units.

Full-width page banner.

Feedback & Overlay — Family 4

Full-width page banner.

Scheduled maintenance

Ticket sales will pause Saturday 02:00–03:00 UTC while we upgrade payment processing.

An unexpected issue is affecting checkout. Already-purchased tickets are unaffected.

Usage

Full-width page banner. Refer to the DS component index for full prop details.

import { Banner } from '@epasslive/design-system'

Banner vs. Alert

Banner is the page-level counterpart of the inline Alert molecule: it spans the full layout width for page-level announcements, while Alert sits inside a form, panel, or card next to the content it describes. Both expose the same four variants (info / success / warning / error) — Banner composes the Alert variant contract (ALERT_VARIANT_STYLES) as its single source of truth, so a variant-token change in Alert also restyles Banner.

Props

Preview

Banner

Prop
Type
Required
Default
Description
variant
BannerVariant
Required
—
No description.
title
string
Required
—
No description.
description
string
Optional
—

Secondary/descriptive text.

action
BannerAction
Optional
—

Action node or handler.

onDismiss
() => void
Optional
—

Called when the element is dismissed.

icon
React.ReactNode
Optional
—

Icon node rendered by the control.

size
BannerSize
Optional
'md'

Visual size preset.

Quick use:<Banner />

Accessibility

ARIA roleregion

Type

1 rule

NASA Rule 5

variant required

ARIA

1 rule

WCAG 1.3.1

role='region' aria-label='Announcement' on wrapper

Usage

Import

tsxSnippet
import { Banner } from "@epasslive/design-system"

Example 1

tsxSnippet
<Banner />

Example 2

tsxSnippet
<Banner variant="default" />

Anti-patterns

— Do not hardcode data in molecules

— Avoid complex business logic in molecules

Design System v4.1.0 | ePassLive