Le thème Espresso est le nouveau système de design unifié de Dokos, conçu pour offrir une expérience utilisateur moderne, cohérente et accessible. Cette migration centralise la gestion des styles dans le framework Dodock, garantissant une harmonisation visuelle entre toutes les applications (Dokos, HRMS, Payments, etc.).
Les badges remplacent les anciennes "pilules d'indicateur" (indicator-pill) avec une implémentation plus flexible et conforme au design system Espresso.
<span class="es-badge">Nouveau</span>
| Attribut | Valeurs possibles | Description |
|---|---|---|
data-variant | solid, subtle, outline | Style du badge |
data-size | sm, md, lg | Taille du badge |
data-theme | gray, red, amber, green, blue, violet | Couleur du badge |
Exemple avec icône :
<span class="es-badge" data-variant="solid" data-size="lg" data-theme="amber">
<i class="i-mdi-alert-circle"></i> Urgent
</span>
purple, pink) sont dépréciées. Utilisez les thèmes prédéfinis ou définissez des variables CSS personnalisées (voir section Personnalisation avancée).Les variables CSS suivantes sont disponibles pour personnaliser l'interface. Elles remplacent les anciennes variables (ex. : --border-radius → --radius).
| Variable | Description | Valeur par défaut |
|---|---|---|
--fg-color | Couleur de premier plan | #1f2937 |
--bg-color | Couleur de fond | #ffffff |
--primary | Couleur primaire | #3b82f6 |
--success | Couleur de succès | #10b981 |
--warning | Couleur d'avertissement | #f59e0b |
--danger | Couleur de danger | #ef4444 |
| Variable | Description | Valeur par défaut |
|---|---|---|
--font-family | Police principale | Inter, sans-serif |
--text-base | Taille de texte de base | 1rem |
--text-sm | Texte petit | 0.875rem |
--text-lg | Texte grand | 1.125rem |
| Variable | Description | Valeur par défaut |
|---|---|---|
--space-1 | Espacement unitaire | 0.25rem |
--space-2 | Espacement double | 0.5rem |
--space-3 | Espacement triple | 0.75rem |
--space-4 | Espacement quadruple | 1rem |
| Variable | Description | Valeur par défaut |
|---|---|---|
--radius-sm | Petit radius | 0.125rem |
--radius-md | Radius moyen | 0.25rem |
--radius-lg | Grand radius | 0.375rem |
--radius-full | Radius complet (cercle) | 9999px |
Pour revenir aux valeurs par défaut d'Espresso :
Pour adapter le thème à votre charte graphique, créez un fichier CSS personnalisé (ex. : apps/your_app/your_app/public/css/custom_theme.css) et surchargez les variables Espresso :
:root {
--primary: #6366f1; /* Violet personnalisé */
--radius-md: 0.5rem; /* Coins plus arrondis */
--space-3: 1rem; /* Espacement plus large */
}
Puis chargez ce fichier dans votre application via le hooks.py :
app_include_css = [
"/assets/your_app/css/custom_theme.css"
]
Pour proposer plusieurs thèmes (ex. : clair/sombre) :
<body class="theme-light">
<!-- Contenu -->
</body>
.theme-light {
--bg-color: #ffffff;
--fg-color: #1f2937;
}
.theme-dark {
--bg-color: #1f2937;
--fg-color: #f9fafb;
}
Les anciennes classes indicator-pill et indicator-pill-{color} sont toujours supportées pour des raisons de compatibilité, mais leur utilisation est déconseillée. Voici comment migrer :
| Ancienne classe | Équivalent Espresso |
|---|---|
indicator-pill | es-badge |
indicator-pill-green | es-badge data-theme="green" |
indicator-pill-red | es-badge data-theme="red" |
Exemple de migration :
- <span class="indicator-pill indicator-pill-green">Actif</span>
+ <span class="es-badge" data-theme="green">Actif</span>
| Ancienne variable | Nouvelle variable |
|---|---|
--border-radius | --radius-md |
--shadow-sm | --shadow-1 |
--text-muted | --gray-500 |
es-badge, es-button, etc.) plutôt que de créer des styles personnalisés.THEME.md à la racine de votre application.i-mdi-alert-circle).:root pour une portée globale).frappe-ui).