@alifd/meet-react
Version:
Fusion Mobile React UI System Component
50 lines (49 loc) • 1.46 kB
TypeScript
import { ReactNode, CSSProperties } from 'react';
import { BasicSizeType, BaseComponentAttributes } from '../utils/types';
import { LocaledComponentProps } from '../locale';
export interface LocaleType {
more?: string;
}
type Shape = 'normal' | 'capsule';
type ActiveLineType = 'normal' | 'narrow';
export interface TabContextProps {
activeKey: string | number;
change: (key: string | number) => void;
shape: Shape;
activeLineType?: ActiveLineType;
children?: any;
fullWidth?: boolean;
}
export interface TabItemProps extends Omit<BaseComponentAttributes, 'title'> {
key?: any;
title?: ReactNode;
icon?: string;
size?: BasicSizeType;
itemKey?: any;
children?: any;
renderContent?: (props: {
title: ReactNode;
icon: string;
active: boolean;
}) => ReactNode;
}
export interface TabProps extends BaseComponentAttributes, LocaledComponentProps<LocaleType> {
activeKey?: string | number;
defaultActiveKey?: string | number;
fullWidth?: boolean;
dataSource?: TabItemProps[];
shape?: Shape;
activeLineType?: ActiveLineType;
size?: BasicSizeType;
contentClassName?: string;
children?: ReactNode;
contentStyle?: CSSProperties;
renderTab?: (props: {
title: ReactNode;
icon: string;
active: boolean;
}) => ReactNode;
renderTool?: () => ReactNode;
onChange?: (key: string | number) => void;
}
export {};