// design system
elisa_
design
Référence visuelle et composants partagés — home, budget & recettes
01 — Fondations
Couleurs
Scales complètes — chaque couleur déclinée de 50 (le plus clair) à 900 (le plus foncé).
01b — Fondations
Accessibilité des couleurs
Ratios de contraste WCAG 2.1 calculés pour chaque combinaison. AA = 4.5:1 (texte normal) · AA Large = 3:1 (texte ≥18px ou gras ≥14px, composants UI) · AAA = 7:1.
| Texte → Fond | Background#FAF8F3 |
Surface#FFFFFF |
Navy#0D1030 |
Orange Lt#FFEEE5 |
|---|---|---|---|---|
Navy #0D1030 |
17.45AAA Aa |
18.52AAA Aa |
1.00FAIL |
16.42AAA Aa |
Orange #FF5500 |
3.02AA Large Aa |
3.21AA Large Aa |
5.78AA Aa |
2.84FAIL |
Orange 600 #D94800 |
4.06AA Large Aa |
4.31AA Large Aa |
4.30AA Large Aa |
3.82AA Large |
Orange 700 #B33C00 |
5.55AA Aa |
5.89AA Aa |
3.14AA Large |
5.22AA Aa |
Lime #C9FF00 |
1.11FAIL |
1.18FAIL |
15.69AAA Aa |
1.05FAIL |
Muted #9999AA |
2.64FAIL |
2.80FAIL |
6.61AA Aa |
2.48FAIL |
Success #7DC500 |
2.01FAIL |
2.13FAIL |
8.69AAA Aa |
1.89FAIL |
Error #FF3B3B |
3.33AA Large Aa |
3.53AA Large Aa |
5.24AA Aa |
3.13AA Large |
Navy 500 #282D96 |
10.38AAA Aa |
11.02AAA Aa |
1.68FAIL |
9.77AAA Aa |
Blanc #FFFFFF |
1.06FAIL |
1.00FAIL |
18.52AAA Aa |
1.13FAIL |
✓ Combinaisons validées
✕ Erreurs fréquentes à éviter
Guide rapide — quand utiliser chaque couleur
Patterns accessibles pour les états colorés
AA ✓ lisible
AA ✓ lisible
5.22:1 AA ✓
15.7:1 AAA ✓
5.78:1 AA ✓
02 — Fondations
Typographie
Syne pour les titres et l'affichage. DM Sans pour le corps et les labels UI. Space Mono pour les valeurs numériques et le code.
03 — Fondations
Espacement
Échelle de 7 niveaux.
04 — Fondations
Radius & Ombres
Radius
Ombres
05b — Composants
Icônes
Bibliothèque Lucide — icônes utilisées dans les apps. Stroke-width 1.5 (repos) / 2.5 (actif). Hover sur une icône pour voir la couleur d'accentuation.
Tailles
★ défaut
tab bar
empty state
Stroke width — repos vs actif
repos / inactif
actif / sélectionné
Couleurs
défaut
actif / CTA
accent
inactif
orange-600
Sur fond sombre
Icônes dans les boutons
Icône avec badge
05 — Composants
Boutons
Matrice complète : type × couleur × état × taille × icône.
| Couleur | Filled | Outlined | Ghost |
|---|---|---|---|
| Orange | |||
| Navy | |||
| Lime | — |
||
| Error | |||
| Success | — |
||
| Muted |
États — Orange filled comme référence
Tailles
Boutons avec icônes
06 — Composants
Champs de saisie
07 — Composants
Cartes
4 patterns communs aux 3 apps.
Stat card — home
Hero dark — budget
Recipe card — recettes
Budget progress card
08 — Composants
Tags & Badges
10 — Composants
Feedback & États
Alertes
Progress bars
État vide
Commence par ajouter ta première dépense.
FAB + Bottom sheet
// ajouter une transaction
11 — Principes
Motion
Hover sur les cartes pour voir l'effet ease-out-expo.
✓ À faire
- Animer uniquement les changements d'état
- Utiliser ease-out-expo cubic-bezier(0.16,1,0.3,1)
- Animer
transformetopacity - Respecter
prefers-reduced-motion
✗ À éviter
- Animer
width,height,top,left - Animations en boucle décorative
- Durées > 500ms sur les micro-interactions
- Effets sans sens fonctionnel
12 — Composants
Tableau de données
Pour les listes de transactions. Survol sur les lignes, montants en monospace, tags inline.
| Date | Description | Catégorie | Montant | Statut |
|---|---|---|---|---|
| 31 mar. | Courses Monoprix | Courses | −48,30 € | Validé |
| 30 mar. | Salaire mars | Revenu | +2 400,00 € | Validé |
| 28 mar. | Netflix | Abonnements | −17,99 € | Validé |
| 27 mar. | Remboursement Sarah | Divers | +25,00 € | En attente |
| 25 mar. | Loyer avril | Logement | −850,00 € | Prévu |
13 — Composants
Toast & Snackbar
Notifications flottantes — feedback après action. Apparaissent en bas de l'écran ou en haut à droite. Durée : 3–5 s.
Règles d'usage
- Succès — confirmer une action (3 s)
- Erreur — bloquer, ne pas auto-fermer
- Avertissement — info à ne pas manquer (5 s)
- Info — neutre, facultatif (4 s)
ARIA live regions
role="alert" pour erreurs · role="status" pour le reste
14 — Composants
Toggle & Radio
Contrôles de formulaire avancés — extension des inputs de base.
Toggle Switch
Boutons radio
En ligne (toggle group)
15 — Composants
Graphiques
Palette de 5 couleurs chart-1→5 pour les visualisations. Hover sur les barres.
Dépenses mensuelles (barres)
Répartition par catégorie (anneau)
Tokens chart
16 — Composants
Squelettes & Chargement
États de chargement cohérents — skeleton shimmer + spinners pour actions async.
Squelette — carte stat
Squelette — ligne transaction
Spinners — actions asynchrones
Bouton en chargement
Règles
- Skeleton pour chargements initiaux (> 300 ms)
- Spinner pour actions ponctuelles
- Toujours ajouter
aria-busy="true"
17 — Composants
Tooltip
Infobulles contextuelles — survol ou focus. CSS pur, pas de JS requis.
Survole les éléments ↓
Accessibilité
Ajouter role="tooltip" + aria-describedby sur l'élément déclencheur. Visible au focus clavier.
18 — Référence
Tokens CSS
Variables à copier dans vos fichiers CSS ou tokens.js.
/* Couleurs */ --bg: #FAF8F3; --surface: #FFFFFF; --navy: #0D1030; --orange: #FF5500; --lime: #C9FF00; --orange-lt:#FFEEE5; --muted: #6B6880; --border: #E8E6DF; --success: #7DC500; --error: #FF3B3B; /* Typographie */ --display: 'Syne', sans-serif; --sans: 'DM Sans', sans-serif; --mono: 'Space Mono', monospace;
/* Spacing */ --sp-xs: 4px; --sp-sm: 8px; --sp-md: 16px; --sp-lg: 24px; --sp-xl: 32px; --sp-2xl: 48px; --sp-3xl: 64px; /* Radius */ --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 20px; --r-2xl: 24px; --r-full: 9999px; /* Shadows */ --sh-soft: 0 2px 8px rgba(13,16,48,.06); --sh-card: 0 4px 20px rgba(13,16,48,.10); --sh-float: 0 8px 32px rgba(13,16,48,.16); /* Easing */ /* Expo: cubic-bezier(0.16, 1, 0.3, 1) */ /* Smooth: cubic-bezier(.4, 0, .2, 1) */