daisyUI

Voir la vidéo

Aujourd'hui, je vous propose de découvrir daisyUI, un plugin pour TailwindCSS qui va grandement simplifier la création de vos composants d'interface. Si vous en avez marre de multiplier les classes pour un simple bouton, daisyUI est fait pour vous.

Sommaire

00:00 Introduction
00:47 Installation et découverte
04:38 Thèmes et personnalisation
09:34 La boutique
11:00 C'est comme bootstrap ?

daisyUI propose toute une collection de composants préconçus qui sont répertoriés dans la documentation. Par exemple, pour créer un bouton, il suffit d'ajouter la classe btn :

<button class="btn">Mon bouton</button>

Pour un bouton d'action principal il suffit d'ajouter la classe btn-primary :

<button class="btn btn-primary">Bouton principal</button>

Et comme daisyUI reste compatible avec Tailwind, rien ne vous empêche de rajouter des classes utilitaires si besoin (rounded, p-4, etc.).

Installation rapide

daisyUI s'utilise comme un plugin TailwindCSS

bun add -D daisyui@latest

Ensuite on ajoute le plugin à notre feuille de style.

@import "tailwindcss";
@plugin "daisyui";

Et voilà, votre projet est prêt à utiliser daisyUI. Vous pouvez dès à présent utiliser les classes offertes par le plugin dans votre HTML.

Personnaliser les thèmes facilement

daisyUI supporte nativement les thèmes light & dark et propose même un éditeur en ligne pour personnaliser les couleurs et l'apparence pour l'adapter à votre site.

@import "tailwindcss";
@plugin "daisyui";

@plugin "daisyui/theme" {
  name: "dracula";
  default: false;
  prefersdark: true;
  color-scheme: "dark";
  --color-base-100: oklch(28.822% 0.022 277.508);
  --color-base-200: oklch(26.805% 0.02 277.508);
  --color-base-300: oklch(24.787% 0.019 277.508);
  --color-base-content: oklch(97.747% 0.007 106.545);
  /* ... */
}

La principale différence par rapport à une configuration TailwindCSS se situe dans l'approche sémantique des noms de variables. Au lieu d'utiliser bg-slate-800 pour un élément, on va utiliser bg-base-200 ce qui permet d'avoir des classes qui sont indépendantes de la couleur et ainsi avoir un site plus personnalisable (sans modifier l'HTML).

Le meilleur des deux mondes

Au premier abord on peut se dire qu'avec daisyUI on recrée un peu Bootstrap ?

Dans un sens la philosophie est la même (proposer des composants de bases pour créer un design plus rapidement) mais là où Bootstrap nous enferme avec des choix arrétés et un CSS qu'il faut surcharger, daisyUI offre des éléments configurable et des composants que l'on peut facilement exclure.

Personnellement, je trouve que daisyUI propose un compromis idéal :

  • On garde la flexibilité de Tailwind.
  • On réduit drastiquement la verbosité de l'HTML.
  • On obtient une base solide pour maintenir et faire évoluer notre style.

Des templates si on est en manque d'inspiration

daisyUI propose également une boutique de templates sur laquelle ils vendent des thèmes préconçus. Si vous êtes en manque d'inspiration ça peut être un bon point de départ pour une application.

De mon côté j'aime beaucoup Nexus Dashboard pour créer des panneaux de contrôle pour mes applications. L'avantage est que le thème est fournit au format HTML avec des classes sémantiques qui permettent une utilisation simplifiée.

Publié
Technologies utilisées
Auteur :
Grafikart
Partager