EventComparisonTable
ImplementedEvent comparison table — side-by-side comparison of multiple events showing title, date, venue, from-price, star rating and a sold-capacity meter, plus an sr-only remove column for shortlist curation. Used for festival multi-event booking. Wave-3 L8c domain wrapper: composes the canonical DataTable organism with a locale-aware EventComparisonRow column config. Exported from the barrel since the ADR-035 barrel-orphans Wave 1 promotion (commit 9d4e6ec4) along with EventComparisonTableProps and EventComparisonRow. Dormant (0 app consumers — ADR-035 disposition pending) but part of the public API.
components/organisms/eventcomparisontable/EventComparisonTable.tsxTableau comparatif d'événements avec note en étoiles, prix et barre de capacité. FR-CA : « Comparer les événements · Note · Places vendues ».
EventComparisonTable
Organism — Commerce family (Family 7)
Compare des événements côte à côte : titre, date, lieu, prix « à partir de », note en étoiles (0–5, rendue arrondie) et barre de capacité — teal < 70 %, ambre 70–89 %, rouge ≥ 90 %. Légende visible ; la colonne « Retirer » est visuelle seulement (aucun callback dans l'API).
| Événement | Date | Lieu | À partir de | Note | Places vendues | Retirer |
|---|---|---|---|---|---|---|
| Festival Jazz MTL — Quartet | 24 juin 2026 | Place des Festivals | 48,00 $ | 92% | ||
| OSM — Symphonie n° 5 | 18 avril 2026 | Maison symphonique | 88,00 $ | 68% | ||
| Lion d'Or — Gala Jazz | 2 mai 2026 | Lion d'Or | 54,00 $ | 31% |
This component supports light and dark mode.
EventComparisonTable (EN)
Organism — Commerce family (Family 7)
English locale variant — caption, headers, and remove-button labels switch to English.
| Event | Date | Venue | From | Rating | Sold | Remove |
|---|---|---|---|---|---|---|
| Festival Jazz MTL — Quartet | June 24, 2026 | Place des Festivals | $48.00 | 92% | ||
| OSM — Symphony No. 5 | April 18, 2026 | Maison symphonique | $88.00 | 68% | ||
| Lion d'Or — Gala Jazz | May 2, 2026 | Lion d'Or | $54.00 | 31% |
This component supports light and dark mode.
Props
events*EventComparisonRow[]Lignes à comparer (id, title, date, venue, fromPrice, rating 0-5, capacityPct 0-100). Aucune limite de nombre d’événements.
locale'fr' | 'en'frLégende, en-têtes et libellés du bouton Retirer ; le contenu des lignes est localisé par l’appelant.
classNamestringClasses CSS additionnelles sur la racine DataTable.
Props
EventComparisonTable
eventsEventComparisonRow[]—Rows to compare — { id, title, date, venue, fromPrice, rating (0-5, rounded to whole stars), capacityPct (0-100) }. No enforced minimum count; a single row renders a one-row table.
classNamestring—Additional CSS classes appended to DataTable's scroll wrapper.
locale"fr" | "en"'fr'Bilingual literal labels (caption, column headers, remove aria-labels, star-rating accessible name). FR default — EN consumers pass 'en'. Unlike the Admin* wrappers this domain table is FR-default.
<EventComparisonTable />Accessibility
ARIA
1 ruletap-target
1 ruleUsage
Import
import { EventComparisonTable } from "@epasslive/design-system"Example 1
<EventComparisonTable events={shortlist} />Example 2
<EventComparisonTable events={shortlist} locale="en" />Anti-patterns
— Do not fetch data directly in organisms
— Avoid tight coupling to specific data sources
— Do not color-code capacity without the adjacent % text — the bar is a redundant cue, the number carries the value