import { X, CheckSquare } from 'lucide-react'; import { cn } from '@/lib/utils'; import { Button } from '@/components/ui/button'; /** * BulkModeBannerProps - Propriétés du composant BulkModeBanner */ export interface BulkModeBannerProps { /** * Si true, le banner est affiché */ isActive: boolean; /** * Nombre d'éléments sélectionnés */ selectedCount: number; /** * Fonction appelée lors du clic sur le bouton de fermeture * Doit désactiver le mode bulk et réinitialiser la sélection */ onClose: () => void; /** * Classes CSS personnalisées */ className?: string; } /** * BulkModeBanner - Banner pour le mode sélection multiple * * Affiche un banner informatif lorsque le mode bulk est actif, * montrant le nombre d'éléments sélectionnés et permettant * de fermer le mode bulk. * * @example * ```tsx * { * setIsBulkMode(false); * setSelectedTracks(new Set()); * }} * /> * ``` * * @component * @param {BulkModeBannerProps} props - Propriétés du composant * @returns {JSX.Element | null} Banner ou null si isActive est false */ export function BulkModeBanner({ isActive, selectedCount, onClose, className, }: BulkModeBannerProps) { if (!isActive || selectedCount === 0) { return null; } const itemText = selectedCount === 1 ? 'élément sélectionné' : 'éléments sélectionnés'; return (
); }