Boutons & Badges
Composants d'interaction : boutons, badges, chips, tags et leurs états. Tous les composants sont fonctionnels avec effets hover et focus natifs.
1Boutons principaux
Les 7 variantes de boutons couvrent tous les contextes d'usage : action principale, secondaire, neutre, destructive, confirmative, icône-seul et authentification sociale.
#028490 (teal) — Hover : #073742. Tous les boutons utilisent border-radius: 9999px (pill shape) sauf l'icon button qui utilise border-radius: 8px (app) ou 9999px (rond).
2États des boutons
Chaque bouton possède 6 états visuels : Default, Hover (simulé), Active (scale 0.98), Disabled (opacity 0.4), Loading (spinner), Focus (ring teal).
Note : Les colonnes Hover sont illustrées statiquement avec le fond correspondant au fond de survol. En production, les effets hover sont déclenchés nativement par CSS :hover.
3Tailles
Trois tailles standardisées : SM, MD (défaut), LG. Chaque taille correspond à un contexte d'usage défini.
4Boutons spéciaux app mobile
Boutons d'authentification sociale et bouton icône-seul utilisés dans l'application React Native.
Contexte : fond sombre app
Boutons icône-seul
5Badges
Indicateurs de statut, labels de catégorie et compteurs. Disponibles en deux tailles et avec indicateur de statut ponctuel.
Grande variante — LG
Petite variante — SM
Indicateurs de statut — Status dots
Compteurs & notifications
6Tags & Chips
Composants de filtrage et de sélection multiple. Disponibles en version texte seul, avec icône, avec suppression (removable) et dans le contexte surf Swellr.
Chips — texte seul
Chips — avec icône
Chips — removable (icône + texte + ×)
Cliquez sur le × pour supprimer un tag.
Tags lieux — contexte app Swellr
7Specs techniques
Tableau récapitulatif de toutes les valeurs CSS pour chaque composant bouton et badge.
| Composant | Variante | Fond | Texte | Border | Radius | Padding (MD) | Font |
|---|---|---|---|---|---|---|---|
| Bouton | #028490 |
#ffffff |
none | 9999px |
12px 24px |
Inter 600 / 16px | |
| Bouton | #ffffff |
#028490 |
1.5px solid #028490 |
9999px |
12px 24px |
Inter 600 / 16px | |
| Bouton | transparent | #637887 |
1px solid #e0e5e6 |
9999px |
12px 24px |
Inter 600 / 16px | |
| Bouton | #DC2626 |
#ffffff |
none | 9999px |
12px 24px |
Inter 600 / 16px | |
| Bouton | #22C55E |
#ffffff |
none | 9999px |
12px 24px |
Inter 600 / 16px | |
| Bouton | Icon (carré) | #090909 |
#ffffff |
none | 8px |
0 (40×40px) | — |
| Bouton | Social Google | #ffffff |
#1f2937 |
1px solid #e0e5e6 |
9999px |
12px 20px |
Inter 500 / 16px |
| Bouton | Social Apple | #090909 |
#ffffff |
none | 9999px |
12px 20px |
Inter 500 / 16px |
| Badge | Primary | rgba(2,132,144,.12) |
#028490 |
none | 9999px |
3px 12px |
Inter 600 / 12px |
| Badge | Success | rgba(34,197,94,.12) |
#16a34a |
none | 9999px |
3px 12px |
Inter 600 / 12px |
| Badge | Error | rgba(220,38,38,.12) |
#dc2626 |
none | 9999px |
3px 12px |
Inter 600 / 12px |
| Chip/Tag | Default | #ffffff |
#073742 |
1px solid #E8ECF4 |
50px |
8px 14px |
Inter 600 / 14px |
| Chip/Tag | Surf (teal) | #ECF8F8 |
#028490 |
1px solid rgba(2,132,144,.25) |
50px |
8px 14px |
Inter 600 / 14px |
transition: 0.2s ease sur les propriétés background-color, border-color, box-shadow et transform.
L'état Active applique transform: scale(0.98). L'état Disabled applique opacity: 0.4 + cursor: not-allowed + pointer-events: none.