TierTable
ImplementedSeason-pass comparison table — category, per-event price, events included, effective total, perks list, and a Select CTA column. Composes the DataTable organism + the Button atom with a locale-aware TierRow column config (highlight rows tint via rowClassName — Wave-3 L8c). Bilingual chrome via `locale` (default `"fr"` — season-pass page language); the CTA is decorative (no onClick wiring). Exported from the barrel.
components/organisms/tiertable/TierTable.tsxTableau comparatif des laissez-passer de saison (par événement, total effectif, avantages). FR-CA : « Comparaison des laissez-passer de saison · Catégorie · Par événement · Concerts inclus · Coût effectif · Avantages · Choisir ».
TierTable
Organism - Commerce family (Family 7)
Tableau de comparaison des forfaits. La catégorie recommandée est mise en évidence (bg-ep-teal/5). Chaque ligne a un CTA localisé.
| Catégorie | Par événement | Concerts inclus | Coût effectif | Avantages | Choisir |
|---|---|---|---|---|---|
| Argent | 46,00 $ | 16 | 736,00 $ |
| |
| Or | 58,00 $ | 16 | 928,00 $ |
| |
| Platine | 78,00 $ | 22 | 1 716,00 $ |
|
This component supports light and dark mode.
Props
tiers*TierRow[]Lignes de forfaits (id, name, pricePerEvent, totalEvents, effectiveTotal, perks, highlight?).
captionstringLégende visible — défaut selon la locale (fr « Comparaison des laissez-passer de saison », en « Season pass comparison »).
locale"fr" | "en"En-têtes de colonnes, copie du CTA, défauts caption/emptyMessage et gabarits aria-label (défaut "fr").
classNamestringClasses additionnelles ajoutées à la racine du DataTable.
idstringid du conteneur de défilement (utile pour aria-controls depuis un filtre parent).
emptyMessagestringMessage d’état vide (role="status", aria-live="polite") — défaut selon la locale (fr « Aucun laissez-passer disponible pour le moment. », en « No season passes available. »).
Props
TierTable
tiersTierRow[]—Row data (id, name, pricePerEvent, totalEvents, effectiveTotal, perks, highlight?).
captionstringlocale-aware ('Comparaison des laissez-passer de saison' fr / 'Season pass comparison' en)Visible caption above the table — default follows locale (cascade 2026-09-13).
locale"fr" | "en"'fr'Drives column-header labels, CTA copy, and CTA aria-label templates.
classNamestring—Additional CSS classes appended to the DataTable root.
idstring—id on the scroll wrapper (useful for aria-controls wiring from a parent filter/search). Pass-through to DataTable.
emptyMessagestringlocale-aware ('Aucun laissez-passer disponible pour le moment.' fr / 'No season passes available.' en)Body copy rendered in the empty state (role=status, aria-live=polite) — default follows locale (cascade 2026-09-13).
<TierTable />Accessibility
ARIA
2 rulesUsage
Import
import { TierTable } from "@epasslive/design-system"Example 1
<TierTable tiers={seasonPassTiers} locale="fr" caption="Comparaison des laissez-passer de saison" />Anti-patterns
— Do not fetch data directly in organisms
— Avoid tight coupling to specific data sources