choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
64 lines (63 loc) • 1.97 kB
TypeScript
import { CSSProperties, FunctionComponent, JSXElementConstructor, Key, MouseEvent, ReactNode } from 'react';
import { TabsPosition, TabsType } from './enum';
import TabPane, { TabPaneProps } from './TabPane';
import TabGroup, { TabGroupProps } from './TabGroup';
import { Size } from '../_util/enum';
export declare type Animated = {
inkBar: boolean;
tabPane: boolean;
};
export interface TabsCustomized {
defaultActiveKey?: string;
panes: {
[key: string]: TabPaneProps;
};
}
export interface TabsProps {
activeKey?: string;
defaultActiveKey?: string;
hideAdd?: boolean;
hideOnlyGroup?: boolean;
showMore?: boolean;
onChange?: (activeKey: string) => void;
onTabClick?: (key: string) => void;
tabBarExtraContent?: ReactNode | null;
tabBarStyle?: CSSProperties;
inkBarStyle?: CSSProperties;
tabBarGutter?: number;
type?: TabsType;
tabPosition?: TabsPosition;
onEdit?: (targetKey: Key | MouseEvent<HTMLElement>, action: 'add' | 'remove') => void;
size?: Size;
style?: CSSProperties;
prefixCls?: string;
className?: string;
animated?: boolean | Animated;
closeShortcut?: boolean;
keyboard?: boolean;
destroyInactiveTabPane?: boolean;
children?: ReactNode;
customizable?: boolean;
customizedCode?: string;
tabDraggable?: boolean;
tabTitleEditable?: boolean;
tabCountHideable?: boolean;
defaultChangeable?: boolean;
rippleDisabled?: boolean;
flex?: boolean;
restoreDefault?: boolean;
}
export declare type GroupPanelMap = {
group: TabGroupProps;
panelsMap: Map<string, TabPaneProps & {
type: string | JSXElementConstructor<any>;
}>;
lastActiveKey?: string;
};
declare const Tabs: FunctionComponent<TabsProps>;
export declare type ForwardTabsType = typeof Tabs & {
TabPane: typeof TabPane;
TabGroup: typeof TabGroup;
};
declare const _default: ForwardTabsType;
export default _default;