SideCard
ImplementedStorefront marketing aside — optional header image, eyebrow (defaults to « À découvrir » / « Discover »), title, body, bullet list and a text CTA with arrow, on a rounded-ep-md bg-ep-surface-card surface with border-ep-border. Complements main content columns (event detail sidebars, help panels). Exported from the barrel (src/index.ts) with SideCardProps.
components/organisms/sidecard/SideCard.tsxCarte latérale marketing (eyebrow + titre + corps + bullets + CTA lien). FR-CA : « À découvrir · Festival Jazz MTL · 14 concerts en plein air ».
SideCard
Organism - Storefront family (Family 8)
Carte compacte avec image hero 128 px, eyebrow (défaut localisé), titre, paragraphe et liste à puces optionnelle — complément des colonnes de contenu principal (barres latérales de page détail, panneaux d'aide).
À découvrir
Laissez-passer saisonniers
14 concerts pour 248,00 $ au lieu de 360,00 $.
- Toutes les dates OSM
- Place de stationnement
- Programme souvenir
Pour les groupes
Forfaits 10 personnes et plus
Réservation de groupe à partir de 10 billets avec service dédié.
Demander un devisAccessibilité
Carte d’accessibilité
Sélectionnez vos besoins au moment de l’achat.
- Fauteuil roulant
- Boucle magnétique
- Chien guide
Discover
Getting to the venue
The shuttle departs from Berri-UQAM every 15 minutes from 5 PM.
Transport optionsThis component supports light and dark mode.
Props
eyebrowstringSur-titre (défaut localisé).
title*stringTitre (h3 relié par aria-labelledby).
bodystringTexte de présentation.
bulletsstring[]Liste à puces.
cta{ label; href }CTA lien (route interne).
imageUrlstringImage hero (alt requis — union).
imageAltstringTexte alternatif de l’image — requis avec imageUrl ; "" pour décoratif.
locale"fr" | "en"frLocale du sur-titre par défaut (« À découvrir » / « Discover »).
idstringId racine — le titre reçoit `${id}-title`.
classNamestringClasses additionnelles sur la racine.
Props
SideCard
eyebrowstring« À découvrir » (fr) / « Discover » (en)Overline label above the title; defaults to the localized fallback. An explicit eyebrow always wins.
titlestring—Card heading — rendered as the <h3> that names the aside via aria-labelledby.
bodystring—Supporting paragraph below the title.
bulletsstring[]—Inline list of bullets rendered below body copy.
cta{ label: string; href: string }—Inline text link with arrow rendered at the card foot. href is an internal route.
imageUrlstring—Header image URL (h-32 object-cover, lazy). Setting it makes imageAlt required (union type).
imageAltstring—Alt text — required whenever imageUrl is set; "" is the documented decorative escape hatch.
locale"fr" | "en"'fr'Selects the default eyebrow fallback only; all other copy is consumer-owned.
idstring`sidecard-${useId()}`Root id — the title heading receives `${id}-title` (aria-labelledby wiring).
classNamestring—Extra classes appended to the <aside> root.
<SideCard />Accessibility
Type
1 ruleARIA
1 ruleUsage
Import
import { SideCard } from "@epasslive/design-system"Example 1
<SideCard imageUrl="/img/osm.jpg" imageAlt="Pianiste sur scène" title="Laissez-passer saisonniers" body="14 concerts pour 248,00 $." bullets={["Toutes les dates OSM"]} cta={{ label: "Découvrir", href: "/saison-osm" }} />Anti-patterns
— Do not use for dashboard KPI widgets — WidgetCard (molecule) owns that surface
— Do not pass imageUrl without imageAlt — the union type rejects it; imageAlt "" is only for deliberately decorative images
— Do not reach for AccentCard for content rails — AccentCard is an interactive tone-ring CTA card without image, bullets or locale