import type { VxeTableGridOptions } from '#/adapter/vxe-table';

type VxeColumn = NonNullable<VxeTableGridOptions['columns']>[number];

/**
 * 生成操作列配置，根据内联按钮数量和是否有下拉菜单自动计算宽度
 * @param inlineCount 内联按钮数量（最多 3 个）
 * @param hasDropdown 是否有"更多"下拉菜单
 * @param slotName 插槽名称，默认 'actions'
 */
export function useActionColumn(
  inlineCount: number,
  hasDropdown = false,
  slotName = 'actions',
): VxeColumn {
  const width = Math.max(80, inlineCount * 60 + (hasDropdown ? 60 : 0));
  return {
    title: '操作',
    width,
    fixed: 'right',
    slots: { default: slotName },
  };
}
