/**
 * 标签项定义（TabItem）
 * 用于描述单个标签页的基础信息和内容。
 */
export interface TabItem {
    /** 唯一标识 */
    id: string;
    /** 标题文案或翻译键，渲染时统一走 t() */
    title: string;
    /** 是否禁用 */
    disabled?: boolean;
    /** 可选图标，支持内联 SVG / HTML 字符串 */
    icon?: string;
    /** 可选的内容区域，支持 HTMLElement 或 HTML 字符串 */
    content?: HTMLElement | string;
    /** 业务侧自定义附加数据 */
    meta?: Record<string, unknown>;
}

/**
 * Tab 组件初始化参数
 */
export interface TabOptions {
    /** 挂载容器 */
    container: HTMLElement;
    /** 预设的固定标签列表（不支持运行期增删） */
    tabs: TabItem[];
    /** 初始激活的标签 id，默认使用首个标签 */
    activeId?: string;
    /**
     * 切换回调
     * @param tabId 当前激活的标签 id
     * @param tab   当前激活的标签对象
     */
    onChange?: (tabId: string, tab: TabItem | undefined) => void;
}

