import { IconTrash, IconEdit, IconDownload } from '@tabler/icons-react'; import FloatingBulkActionsBar from './FloatingBulkActionsBar.jsx'; /** * Панель массовых действий для таблиц (всплывающая, как на скрине). * Показывается когда выбраны элементы. Использует единый дизайн тёмной плавающей панели. * «Выбрать все» остаётся в тулбаре/шапке таблицы (чекбокс). */ function BulkActionsBar({ selectedCount = 0, totalCount = 0, onSelectAll = () => {}, onDeselectAll = () => {}, onDelete = null, onEdit = null, onExport = null, customActions = [], className = '', }) { const actions = []; if (onExport) { actions.push({ type: 'button', label: 'Экспорт', icon: IconDownload, onClick: onExport, title: 'Экспортировать выбранное', }); } if (onEdit) { actions.push({ type: 'button', label: 'Изменить', icon: IconEdit, onClick: onEdit, title: 'Редактировать выбранное', }); } customActions.forEach((action) => { actions.push({ type: 'button', label: action.label, icon: action.icon, onClick: action.onClick, variant: action.variant === 'btn-outline-danger' || action.variant === 'danger' ? 'danger' : undefined, title: action.title, }); }); if (onDelete) { actions.push({ type: 'button', label: 'Удалить', icon: IconTrash, onClick: onDelete, variant: 'danger', title: 'Удалить выбранное', }); } return ( ); } export default BulkActionsBar;