import { jsx as _jsx } from "react/jsx-runtime";
import { useBlockingActions } from '../hooks/useBlockingActions';
import { Action } from './Action';
import { Wrapper } from './styles';
/**
 * Компонент для отображения основных действий в карточке CardGrid.
 *
 * Основные действия отображаются в виде отдельных кнопок в футере карточки
 * и предназначены для наиболее часто используемых операций над ней
 *
 * @remarks
 * - Компонент автоматически обрабатывает блокирующие операции, что предотвращает одновременное выполнение нескольких действий
 *
 * @example
 * ```tsx
 * <CardGridMainActions
 *   actions={[
 *     { name: 'Редактировать', onClick: handleEdit },
 *     { name: 'Удалить', onClick: handleDelete, isBlockingOperation: true }
 *   ]}
 * />
 * ```
 */
export const CardGridMainActions = ({ actions, }) => {
    const { isDisabled, onActionClick } = useBlockingActions(actions);
    return (_jsx(Wrapper, { children: actions?.map((action) => {
            return (_jsx(Action, { action: action, onActionClick: onActionClick, isDisabled: isDisabled }, action.name));
        }) }));
};
