import type {Component} from 'vue';

interface EasyFlowDropdownMenuItem {
  /**
   * @zh_CN 是否为当前选中项
   */
  active?: boolean;
  disabled?: boolean;
  /**
   * @zh_CN 点击事件处理
   * @param data
   */
  handler?: (data: any) => void;
  /**
   * @zh_CN 图标
   */
  icon?: Component;
  /**
   * @zh_CN 标题
   */
  label: string;
  /**
   * @zh_CN 是否是分割线
   */
  separator?: boolean;
  /**
   * @zh_CN 唯一标识
   */
  value: string;
}

interface DropdownMenuProps {
  /**
   * @zh_CN 菜单对齐方向
   */
  align?: 'center' | 'end' | 'start';
  /**
   * @zh_CN 菜单浮层样式
   */
  contentClass?: any;
  menus: EasyFlowDropdownMenuItem[];
  /**
   * @zh_CN 搜索无结果文案
   */
  searchEmptyText?: string;
  /**
   * @zh_CN 搜索占位文案
   */
  searchPlaceholder?: string;
  /**
   * @zh_CN 是否显示菜单搜索框
   */
  searchable?: boolean;
  /**
   * @zh_CN 触发按钮的无障碍标签
   */
  triggerLabel?: string;
}

export type { DropdownMenuProps, EasyFlowDropdownMenuItem };
