Passer au contenu principal

Couleurs

Les jetons de couleur semantiques qui alimentent toutes les surfaces d'interface.

Les 68 jetons de couleur définis dans packages/design-system/globals.css. Cliquez sur les valeurs hex pour les copier. Les badges W/D indiquent le contraste sur blanc (#FFFFFF) et sur fond foncé (#1A2332). Relancer `pnpm --filter storefront docs:colors` après toute modification.

Marque

ep-teal

W:3.1D:5.1

ep-blue

W:4.8D:3.3

ep-cyan

W:2.4D:6.5

ep-amber

W:3.2D:5.0

ep-indigo

W:4.2D:3.7

ep-pink

W:3.5D:4.5

Texte

ep-text-heading

#F0F0F0

W:15.8D:1.0

ep-text-body

#D1D5DB

W:7.6D:2.1

ep-text-muted

#939393

W:5.5D:2.9

ep-text-inverse

W:1.0D:15.8

ep-text-teal

#009FCA

W:5.7D:2.8

ep-text-link

#009FCA

W:4.8D:3.3

Surfaces

ep-bg

#1A1A1A

W:1.0D:15.8

ep-bg-secondary

#1E293B

W:1.1D:15.1

ep-bg-tertiary

#0F172A

W:1.1D:14.4

ep-bg-3

#2D3748

W:1.2D:13.6

ep-bg-page-dark

W:19.8D:1.3

ep-surface-card

#1E293B

W:1.1D:15.1

ep-surface-elevated

#252525

W:1.0D:15.8

ep-surface-navy

W:15.8D:1.0

Bordures

ep-border

#2D3748

W:1.2D:12.8

ep-border-subtle

#1E293B

W:1.1D:14.3

ep-border-strong

#3B4759

W:1.5D:10.7

Sémantique

ep-success

#22C55E

W:3.3D:4.8

ep-warning

#FBBF24

W:3.2D:5.0

ep-error

#EF4444

W:4.8D:3.3

ep-info

#38BDF8

W:4.1D:3.9

ep-semantic-error

#EF4444

W:4.8D:3.3

ep-semantic-warning

#FBBF24

W:3.2D:5.0

Teintes sémantiques

ep-semantic-success-tint

#123527

W:1.1D:13.9

ep-semantic-success-fg

#6EE7B7

W:5.5D:2.9

ep-semantic-success-tint-border

#1D4E38

W:1.3D:12.3

ep-semantic-warning-tint

#3A2A08

W:1.1D:14.2

ep-semantic-warning-fg

#FCD34D

W:7.1D:2.2

ep-semantic-warning-tint-border

#55400F

W:1.3D:12.7

ep-semantic-error-tint

#3B1516

W:1.2D:12.9

ep-semantic-error-fg

#FCA5A5

W:6.5D:2.4

ep-semantic-error-tint-border

#571E1F

W:1.4D:10.9

ep-semantic-info-tint

#122A4D

W:1.2D:12.9

ep-semantic-info-fg

#93C5FD

W:6.7D:2.4

ep-semantic-info-tint-border

#1E3A5F

W:1.4D:11.1

Fonds sémantiques

ep-semantic-success-bg

W:9.7D:1.6

ep-semantic-error-bg

W:10.0D:1.6

ep-semantic-info-bg

W:9.8D:1.6

Bouton primaire

ep-btn-primary-bg

W:5.7D:2.8

ep-btn-primary-hover

#008095

W:8.3D:1.9

Neutre

ep-neutral-500

#9CA3AF

W:4.8D:3.3

Palette de graphiques

chart-merch

W:2.1D:7.3

chart-ticket

W:4.8D:3.3

chart-package

W:4.2D:3.7

chart-pass

W:3.1D:5.1

chart-free

W:3.5D:4.5

Code-barres

ep-barcode-fg

#FFFFFF

W:19.8D:1.3

ep-barcode-bg

#0A0A0A

W:1.0D:15.8

ep-barcode-quiet-zone

#0A0A0A

W:1.0D:15.8

Superposition

ep-overlay-scrim-light

W:19.8D:1.3

ep-overlay-trace

W:1.0D:15.8

ep-overlay-faint

W:1.0D:15.8

ep-overlay-soft

W:1.0D:15.8

ep-overlay-medium

W:1.0D:15.8

ep-overlay-scrim

W:19.8D:1.3

ep-overlay-border-subtle

W:1.0D:15.8

ep-overlay-border-medium

W:1.0D:15.8

ep-overlay-text-strong

W:1.0D:15.8

ep-overlay-text-muted

W:1.0D:15.8

ep-overlay-text-subtle

W:1.0D:15.8

ep-overlay-text-icon

W:1.0D:15.8

QR

ep-qr-bg

W:1.0D:15.8

Exigences de contraste

  • W = contraste sur blanc (#FFFFFF), D = contraste sur fond foncé (#1A2332)
  • ● Vert = AA (4,5:1+) / AAA (7,0:1+)
  • ● Jaune = AA grand texte seulement (3,0:1+)
  • ● Rouge = Ne rencontre pas le minimum

Les pastilles marquées ◉ sont stables au thème — même valeur hex en mode clair et en mode foncé par conception (couleurs de marque, fonds sémantiques, surfaces foncées). Les pastilles partagées montrent la variante clair (gauche) vs foncé (droite).

Pour l'inventaire des paires clair/foncé avec notes WCAG par jeton, voir la page Fondations — Mode sombre.

Surfaces d'accent de marque

Quatre teintes de marque — teal, indigo, amber, pink — animent les surfaces d'accent à titre décoratif. Chaque accent doit s'attacher à une identité stable : une action fixe, un rôle, une colonne ou un item de menu. Formalisé dans l'ADR-031.

La règle AA — le décoratif ne porte pas de sens

Règle 2 de l'ADR-031 : la latitude décorative s'arrête là où commence le sens.

  • Texte porteur de sens : text-ep-text-teal uniquement — le seul jeton d'accent texte conforme WCAG AA.
  • Autres teintes sur du texte : usage décoratif aria-hidden seulement, ou pastille sur fond solide bg-ep-surface-card avec l'information dupliquée de façon accessible.
  • Les CTA interactives passent par bg-ep-btn-primary (5,70:1 sur blanc) — jamais du bg-ep-teal brut (3,08:1).

Contexte 1 — BrandSurface

Variante teintée, pour fonds clairs : bg-ep-{accent}/10 + bordure /50 + texte de l'accent. Chaque palier d'opacité doit être enregistré via la factory alphaVariants() — une classe non enregistrée compile en rien (ghost utility).

teal
indigo
amber
pink

Variante solide, pour les surfaces sur photos : bg-ep-surface-card + bordure d'accent + ombre. Une teinte à 10–15 % toute seule disparaît sur les photos d'événements (blocage §89.1) — la pastille solide reste lisible sur n'importe quelle image.

teal
indigo
amber
pink

Contexte 2 — BrandRibbon

4 px — au-dessus de l'en-tête

1 px — en haut du pied de page

aria-hidden, bookend décoratif au-dessus de l'en-tête / en haut du pied de page.

Contexte 3 — AccentUnderline

Événements

Support

Entreprise

Infolettre

Attachements aux identités stables

Attachements aux identités stables
IdentitéAccent
Survol des icônes d'en-tête
searchteal
cartindigo
themeamber
user-chippink
Cartes d'aide de l'accueil
phoneteal
emailindigo
hoursamber
Colonnes du pied de page
eventsteal
supportindigo
companyamber
newsletterpink
Items du menu latéral
menu item [n]cycle selon la position stable de l'item

Chaque accent doit correspondre à une identité stable. Le cyclage d'index n'est permis que lorsque les items sont eux-mêmes des identités stables (items du menu latéral).

À ne pas faire

  • ['teal','indigo','amber','pink'][idx % 4]

    Cyclage d'index arbitraire sur une collection dynamique — la position n'est pas une identité.

  • <CategoryCard accent={event.category} />

    Accent attaché à des données inexistantes — ep_event n'a pas de champ category.

  • <button className="bg-ep-teal">Subscribe</button>

    Bouton CTA sur du bg-ep-teal brut — 3,08:1, échec WCAG AA.

Design System v4.1.0 | ePassLive