UNPKG

chowa

Version:

UI component library based on React

82 lines (81 loc) 2.79 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; import * as PropTypes from 'prop-types'; export interface TabsProps { className?: string; style?: React.CSSProperties; tabPosition?: 'top' | 'left' | 'right' | 'bottom'; tabJustified?: boolean; defaultActiveIndex?: React.ReactText; activeIndex?: React.ReactText; mode?: 'line' | 'card'; closable?: boolean; appendable?: boolean; onChange?: (index: React.ReactText) => void; onBeforeClose?: (index: React.ReactText) => boolean; onClose?: (index: React.ReactText) => void; onAppend?: () => void; } export interface TabsState { selfActiveIndex: React.ReactText; showNavScrollBtn: boolean; navPageCount: number; navPageNumber: number; navWrapperStyle: React.CSSProperties; activeLineStyle: React.CSSProperties; panelWrapperStyle: React.CSSProperties; } declare class Tabs extends React.PureComponent<TabsProps, TabsState> { static propTypes: { className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; tabPosition: PropTypes.Requireable<string>; tabJustified: PropTypes.Requireable<boolean>; defaultActiveIndex: PropTypes.Requireable<string | number>; mode: PropTypes.Requireable<string>; closable: PropTypes.Requireable<boolean>; appendable: PropTypes.Requireable<boolean>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onBeforeClose: PropTypes.Requireable<(...args: any[]) => any>; onClose: PropTypes.Requireable<(...args: any[]) => any>; onAppend: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { closable: boolean; tabJustified: boolean; appendable: boolean; tabPosition: string; mode: string; }; static Panel: React.SFC<import("./tabs-panel").TabsPanelProps>; private containerEle; private panelWrapperEle; private navScrollEle; private navWrapperEle; private resizeObserver; private tabIndexs; constructor(props: TabsProps); private preTabPage; private nextTabPage; private updateNavPagination; componentDidUpdate(preProps: TabsProps & { children: React.ReactNode; }): void; componentDidMount(): void; componentWillUnmount(): void; private updateNavScrollParams; private onTabClickHandler; private onCloseHandler; private onTabAppendHandler; private updateActiveTabs; private compileTabs; render(): JSX.Element; } export default Tabs;