Banners
Bannières d'information et d'alerte
Bannières
Les bannières sont des composants de communication pour afficher des messages importants, des alertes ou des informations aux utilisateurs.
Types de bannières
Bannière d'information
<Banner
title="Information importante"
description="Votre compte a été mis à jour avec succès."
variant="info"
/>Bannière de succès
<Banner
title="Opération réussie"
description="Vos modifications ont été sauvegardées."
variant="success"
/>Bannière d'avertissement
<Banner
title="Attention"
description="Votre session expire dans 5 minutes."
variant="warning"
/>Bannière d'erreur
<Banner
title="Erreur"
description="Impossible de sauvegarder vos modifications."
variant="error"
/>Avec actions
Bannière avec bouton
<Banner
title="Nouvelle version disponible"
description="Mettez à jour votre application pour bénéficier des dernières fonctionnalités."
variant="info"
action={{
label: "Mettre à jour",
onClick: () => handleUpdate()
}}
/>Bannière avec bouton de fermeture
<Banner
title="Cookies"
description="Nous utilisons des cookies pour améliorer votre expérience."
variant="info"
dismissible
onDismiss={() => setShowBanner(false)}
/>Avec icônes
import { Banner } from '@brikl/ui';
import { IconInfo, IconCheck, IconAlert, IconX } from '@brikl/icons';
<Banner
icon={<IconInfo />}
title="Nouvelle fonctionnalité"
description="Découvrez notre nouvelle interface utilisateur."
variant="info"
/>Bannières persistantes
<Banner
title="Maintenance prévue"
description="Le site sera en maintenance le 15 janvier de 2h à 4h du matin."
variant="warning"
persistent
/>Utilisation avancée
import { useState } from 'react';
import { Banner } from '@brikl/ui';
function BannerExample() {
const [showBanner, setShowBanner] = useState(true);
const [bannerType, setBannerType] = useState('info');
return (
<>
{showBanner && (
<Banner
title="Bannière dynamique"
description="Cette bannière peut être contrôlée programmatiquement."
variant={bannerType}
dismissible
onDismiss={() => setShowBanner(false)}
action={{
label: "Changer le type",
onClick: () => setBannerType(bannerType === 'info' ? 'success' : 'info')
}}
/>
)}
</>
);
}Propriétés
| Propriété | Type | Défaut | Description |
|---|---|---|---|
title | string | - | Titre de la bannière |
description | string | - | Description de la bannière |
variant | 'info' | 'success' | 'warning' | 'error' | 'info' | Type de bannière |
icon | ReactNode | - | Icône personnalisée |
action | { label: string; onClick: () => void } | - | Action principale |
dismissible | boolean | false | Permettre la fermeture |
persistent | boolean | false | Bannière persistante |
onDismiss | () => void | - | Callback de fermeture |
Accessibilité
- Support des lecteurs d'écran
- Navigation au clavier
- Attributs ARIA appropriés
- Focus management pour les actions