/** PageTab 数据结构定义*/
type CGReactTabPage = {
    icon?: string, //tab页图标
    label?: string, //tab页标签
    crumb?: string[], //tab页面包屑
    content?: string | React.ReactElement   //tab页内容
};
type CGReactPageConfig = { [key in string]: CGReactTabPage }
type CGReactPageTabState = {
    select?: string, //当前选择的页面键，默认home
    pages?: {
        home?: CGReactTabPage, //首页需要特殊配置
    } & CGReactPageConfig
}//配置数据类型定义
interface PageTabState extends CGReactPageTabState {}

/* PageTab 数据类型*/
type CGReactPageTabProp = {
    data?: CGReactPageTabState
}&CGReactComponentProp;//Prop是保持和Comp一致
interface PageTabProp extends CGReactPageTabProp,CGReactLayoutState {}

/**回调函数数据类型*/
interface TabTitle
{
    key: string,//索引号
    icon: string, //tab页图标
    label: string, //tab页标签
    select: boolean,//是否选中
    close: boolean //是否渲染关闭按钮
}

interface TabPage
{
    key: string,//索引号
    select: boolean,//是否选中
    content: React.ReactElement<HTMLIFrameElement>,   //tab页内容
}

interface PageTabConfig
{
    title: Array<TabTitle>
    crumb: Array<string>,//当前页面的面包屑配置
    pages: Array<TabPage> //所有页面配置，包含首页
}
