import { IControlBaseProps } from '../base'; import { IIframeConfig } from '../iframe/typings'; import Store, { IState, IInitialStateParams } from '@mjcloud/redux'; import { IControlSetConfig, ControlDisplayModeEnum } from '@mjcloud/types'; import { ContainerControlActionType, ContainerControlEventType } from '@mjcloud/instance/dist/containerInstanceBase'; interface ITabsConfigItem { id: string; index: number; title?: string; code?: string; displayMode?: ControlDisplayModeEnum; } export interface ITabsConfig extends IControlSetConfig { activeKey?: string; isShowTabPane: boolean; items: ITabsConfigItem[]; } export interface ITabsItem extends IControlBaseProps { title: string; display: boolean; } export interface ITabsInitialStateParams extends IInitialStateParams { controls: Store[]; texts: string[]; items: ITabsItem[]; activeKey: string; } export interface ITabsState extends IState { theme: string; activeKey: string; isShowTabPane: boolean; tabPaneHeight?: string | number; widthType: 'full' | 'auto'; texts: string[]; controls: Store[]; items: ITabsItem[]; } export interface IAddTabPane2IframeItem { title: string; tabPaneId: string; config: Omit; } export declare type TabsActionType = ContainerControlActionType | 'updateActiveKey' | 'setTabPane2Display' | 'updateTabPaneHeight' | 'batchAddTabPane2Iframe'; export interface ITabsSetTabPane2DisplayItem { controlId: string; display: boolean; } export interface ITabsSetTabPane2DisplayParams { tabPanes: ITabsSetTabPane2DisplayItem[]; } export interface ITabsUpdateActiveKeyParams { activeKey: string; } export interface ITabsBatchAddTabPane2IframeParams { tabPanes: IAddTabPane2IframeItem[]; parentId: string; pageKey: string; } export declare type TabsEventType = ContainerControlEventType | 'tabClick'; export {};