feat(react-tabs): export props for every component

This commit is contained in:
Vlad Rindevich
2017-10-27 12:10:26 +07:00
parent 5761cfc6f2
commit aef155f339
2 changed files with 46 additions and 53 deletions

View File

@@ -6,59 +6,38 @@
import * as React from 'react';
export as namespace ReactTabs;
declare namespace ReactTabs {
interface TabsProps {
className?: string | Array<string> | { [name: string]: boolean; };
defaultFocus?: boolean;
defaultIndex?: number;
disabledTabClassName?: string;
forceRenderTabPanel?: boolean;
onSelect?: (index: number, last: number, event: Event) => boolean | void;
selectedIndex?: number;
selectedTabClassName?: string;
selectedTabPanelClassName?: string;
}
interface Tabs extends React.ComponentClass<TabsProps> {}
interface TabListProps {
className?: string | Array<string> | { [name: string]: boolean; };
}
interface TabList extends React.ComponentClass<TabListProps> {}
interface TabProps {
className?: string | Array<string> | { [name: string]: boolean; };
disabled?: boolean;
disabledClassName?: string;
selectedClassName?: string;
}
interface Tab extends React.ComponentClass<TabProps> {}
interface TabPanelProps {
className?: string | Array<string> | { [name: string]: boolean; };
forceRender?: boolean;
selectedClassName?: string;
}
interface TabPanel extends React.ComponentClass<TabPanelProps> {}
export interface TabsProps {
className?: string | Array<string> | { [name: string]: boolean; };
defaultFocus?: boolean;
defaultIndex?: number;
disabledTabClassName?: string;
forceRenderTabPanel?: boolean;
onSelect?: (index: number, last: number, event: Event) => boolean | void;
selectedIndex?: number;
selectedTabClassName?: string;
selectedTabPanelClassName?: string;
}
declare const Tabs: ReactTabs.Tabs;
declare const TabList: ReactTabs.TabList;
declare const Tab: ReactTabs.Tab;
declare const TabPanel: ReactTabs.TabPanel;
export interface TabListProps {
className?: string | Array<string> | { [name: string]: boolean; };
}
declare function resetIdCounter(): void;
export interface TabProps {
className?: string | Array<string> | { [name: string]: boolean; };
disabled?: boolean;
disabledClassName?: string;
selectedClassName?: string;
}
export {
Tabs,
TabList,
Tab,
TabPanel,
resetIdCounter
};
export interface TabPanelProps {
className?: string | Array<string> | { [name: string]: boolean; };
forceRender?: boolean;
selectedClassName?: string;
}
export declare class Tabs extends React.Component<TabsProps> {}
export declare class TabList extends React.Component<TabListProps> {}
export declare class Tab extends React.Component<TabProps> {}
export declare class TabPanel extends React.Component<TabPanelProps> {}
export declare function resetIdCounter(): void;

View File

@@ -1,9 +1,23 @@
import * as React from "react";
import * as ReactDOM from "react-dom";
import { Tabs, TabList, Tab, TabPanel, resetIdCounter } from "react-tabs";
import {
Tabs,
TabsProps,
TabList,
TabListProps,
Tab,
TabProps,
TabPanel,
TabPanelProps,
resetIdCounter } from "react-tabs";
resetIdCounter();
interface TestTabProps extends TabProps {}
interface TestTabListProps extends TabListProps {}
interface TestTabPanelProps extends TabPanelProps {}
interface TestTabsProps extends TabsProps {}
class TestApp extends React.Component {
onSelect = (index: number, last: number, event: Event) => {
console.log("selected tab: " + index.toString());