Brikl
Brikl

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éTypeDéfautDescription
titlestring-Titre de la bannière
descriptionstring-Description de la bannière
variant'info' | 'success' | 'warning' | 'error''info'Type de bannière
iconReactNode-Icône personnalisée
action{ label: string; onClick: () => void }-Action principale
dismissiblebooleanfalsePermettre la fermeture
persistentbooleanfalseBanniè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