UNPKG

@douyinfe/semi-ui

Version:

A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.

64 lines (63 loc) 3.18 kB
import React, { MouseEvent, ReactElement, ReactNode, RefCallback, RefObject } from 'react'; import PropTypes from 'prop-types'; import TabsFoundation, { TabsAdapter } from '@douyinfe/semi-foundation/lib/es/tabs/foundation'; import BaseComponent from '../_base/baseComponent'; import '@douyinfe/semi-foundation/lib/es/tabs/tabs.css'; import TabPane from './TabPane'; import { PlainTab, TabsProps } from './interface'; export * from './interface'; export interface TabsState { activeKey: string; panes: Array<PlainTab>; prevActiveKey: string | null; forceDisableMotion: boolean; } declare class Tabs extends BaseComponent<TabsProps, TabsState> { static TabPane: typeof TabPane; static TabItem: React.ForwardRefExoticComponent<import("./TabItem").TabItemProps & React.RefAttributes<HTMLDivElement>>; static propTypes: { activeKey: PropTypes.Requireable<string>; className: PropTypes.Requireable<string>; collapsible: PropTypes.Requireable<boolean>; contentStyle: PropTypes.Requireable<object>; defaultActiveKey: PropTypes.Requireable<string>; keepDOM: PropTypes.Requireable<boolean>; lazyRender: PropTypes.Requireable<boolean>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onTabClick: PropTypes.Requireable<(...args: any[]) => any>; renderTabBar: PropTypes.Requireable<(...args: any[]) => any>; showRestInDropdown: PropTypes.Requireable<boolean>; size: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; tabBarClassName: PropTypes.Requireable<string>; tabBarExtraContent: PropTypes.Requireable<PropTypes.ReactNodeLike>; tabBarStyle: PropTypes.Requireable<object>; tabList: PropTypes.Requireable<any[]>; tabPaneMotion: PropTypes.Requireable<boolean>; tabPosition: PropTypes.Requireable<string>; type: PropTypes.Requireable<string>; onTabClose: PropTypes.Requireable<(...args: any[]) => any>; preventScroll: PropTypes.Requireable<boolean>; more: PropTypes.Requireable<NonNullable<number | object>>; arrowPosition: PropTypes.Requireable<string>; renderArrow: PropTypes.Requireable<(...args: any[]) => any>; dropdownProps: PropTypes.Requireable<object>; }; static __SemiComponentName__: string; static defaultProps: TabsProps; contentRef: RefObject<HTMLDivElement>; contentHeight: string; foundation: TabsFoundation; constructor(props: TabsProps); get adapter(): TabsAdapter<TabsProps, TabsState>; static getDerivedStateFromProps(props: TabsProps, state: TabsState): Partial<TabsState>; componentDidUpdate(prevProps: TabsProps, prevState: TabsState): void; setContentRef: RefCallback<HTMLDivElement>; getPanes: () => PlainTab[]; onTabClick: (activeKey: string, event: MouseEvent<HTMLDivElement>) => void; rePosChildren: (children: ReactElement[], activeKey: string) => ReactElement[]; getActiveItem: () => ReactNode | ReactNode[]; deleteTabItem: (tabKey: string, event: MouseEvent<HTMLDivElement>) => void; render(): ReactNode; } export default Tabs;