TopicIllustration
Carte cliquable avec icône, titre et description. Utilisée pour présenter les sections de documentation ou les fonctionnalités. Basée sur next/link + lucide-react, avec hover animé et flèche d'action.
Démo en direct — grille de topics
Survolez les cartes — l'ombre, la bordure et la flèche apparaissent avec transition.
Taille fixe
w-64 min-h-[200px] — idéale pour une grille.Démo en direct — variante personnalisée
Via className vous pouvez ajuster la largeur ou le style.
Code source complet — copier-coller
Exemple minimal avec 3 cartes.
"use client";
import { TopicIllustration } from "@ramses1er/cbk-toolkit/client";
import { Table2, LayoutDashboard, Shield } from "lucide-react";
export default function HomePage() {
return (
<div className="flex flex-wrap gap-4">
<TopicIllustration
icon={LayoutDashboard}
title="SideNav"
description="Barre latérale responsive"
href="/docs/client/sidenav"
/>
<TopicIllustration
icon={Table2}
title="Table"
description="Tableau typé avec pagination"
href="/docs/client/table"
/>
<TopicIllustration
icon={Shield}
title="Auth"
description="Protection des routes"
href="/docs/protection-routes"
/>
</div>
);
}Props
| Prop | Type | Défaut | Description |
|---|---|---|---|
| icon | LucideIcon | requis | Icône lucide-react (ex: LayoutDashboard) |
| title | string | requis | Titre en gras |
| description | string | requis | Texte gris sous le titre |
| href | string | requis | Lien Next.js (interne ou externe) |
| className | string | — | Classes additionnelles (ex: w-80) |
Comportement
- Carte
Link— navigation côté client Next.js - Taille fixe
w-64+min-h-[200px], contenu en colonne avec icône en haut - Hover :
shadow-xl + border-gray-300+ dégradé icône + flèche circulaire en bas à droite (opacity 0 → 100) - Icône dans un carré
w-14 h-14 rounded-2xl gradient gray-100→gray-200 - Anneau intérieur
ring-1 ring-insetpour profondeur