Meilleures pratiques MUI
Cet article suppose que vous suivez notre pratique recommandée en utilisant notre thème Material UI. Suivre les étapes ci-dessous maximise la compatibilité avec Docker Desktop et minimise le travail que vous devez faire en tant qu'auteur d'extension. Elles doivent être considérées comme complémentaires aux directives non spécifiques à MUI trouvées dans la vue d'ensemble du style UI.
Supposer que le thème peut changer à tout moment
Résistez à la tentation d'ajuster votre interface utilisateur avec des couleurs précises, des décalages et des tailles de police pour la rendre aussi attrayante que possible. Toute spécialisation que vous faites aujourd'hui sera relative au thème MUI actuel, et peut sembler pire lorsque le thème change. N'importe quelle partie du thème pourrait changer sans avertissement, incluant (mais sans s'y limiter) :
- La police, ou les tailles de police
- L'épaisseur ou les styles de bordures
- Les couleurs :
- Nos membres de palette (ex.
red-100
) pourraient changer leurs valeurs RGB - Les couleurs sémantiques (ex.
error
,primary
,textPrimary
, etc.) pourraient être changées pour utiliser un membre différent de notre palette - Les couleurs d'arrière-plan (ex. celles de la page, ou des dialogues) pourraient changer
- Nos membres de palette (ex.
- Les espacements :
- La taille de l'unité de base d'espacement (exposée via
theme.spacing
. Par exemple, nous pouvons permettre aux utilisateurs de personnaliser la densité de l'interface utilisateur - L'espacement par défaut entre les paragraphes ou les éléments de grille
- La taille de l'unité de base d'espacement (exposée via
La meilleure façon de construire votre interface utilisateur, pour qu'elle soit robuste contre les futurs changements de thème, est de :
- Surcharger le style par défaut aussi peu que possible.
- Utiliser la typographie sémantique. ex. utiliser des
Typography
ou desLink
avec desvariant
appropriées au lieu d'utiliser des éléments HTML typographiques (<a>
,<p>
,<h1>
, etc.) directement. - Utiliser des tailles prédéfinies. ex. utiliser
size="small"
sur les boutons, oufontSize="small"
sur les icônes, au lieu de spécifier des tailles en pixels. - Préférer les couleurs sémantiques. ex. utiliser
error
ouprimary
plutôt que des codes de couleur explicites. - Écrire le moins de CSS possible. Écrire du balisage sémantique à la place. Par exemple, si vous voulez espacer des paragraphes de texte, utilisez la propriété
paragraph
sur vos instancesTypography
. Si vous voulez espacer autre chose, utilisez unStack
ouGrid
avec l'espacement par défaut. - Utiliser des idiomes visuels que vous avez vus dans l'interface utilisateur Docker Desktop, car ce sont ceux-ci que nous testerons principalement pour tout changement de thème.
Quand vous personnalisez, centralisez-le
Parfois, vous aurez besoin d'un élément d'interface utilisateur qui n'existe pas dans notre système de conception. Si c'est le cas, nous recommandons de nous contacter en premier. Nous pouvons déjà avoir quelque chose dans notre système de conception interne, ou nous pouvons être en mesure d'étendre notre système de conception pour accommoder votre cas d'usage.
Si vous décidez toujours de le construire vous-même après nous avoir contactés, essayez de définir la nouvelle interface utilisateur de façon réutilisable. Si vous définissez votre interface utilisateur personnalisée à un seul endroit, cela facilitera les changements futurs si notre thème principal change. Vous pourriez utiliser :
- Une nouvelle
variant
d'un composant existant - voir documentation MUI - Un mixin MUI (un ensemble libre de règles de style réutilisables définies à l'intérieur d'un thème)
- Un nouveau composant réutilisable
Certaines des options ci-dessus nécessitent d'étendre notre thème MUI. Voir la documentation MUI sur la composition de thème.
Et maintenant ?
- Consultez notre guide de style UI.
- Apprenez comment publier votre extension.