diff --git a/types/react-tabs/index.d.ts b/types/react-tabs/index.d.ts index 02344cf8b1..a4a528046a 100644 --- a/types/react-tabs/index.d.ts +++ b/types/react-tabs/index.d.ts @@ -6,59 +6,38 @@ import * as React from 'react'; -export as namespace ReactTabs; - -declare namespace ReactTabs { - - interface TabsProps { - className?: string | Array | { [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 {} - - interface TabListProps { - className?: string | Array | { [name: string]: boolean; }; - } - - interface TabList extends React.ComponentClass {} - - interface TabProps { - className?: string | Array | { [name: string]: boolean; }; - disabled?: boolean; - disabledClassName?: string; - selectedClassName?: string; - } - - interface Tab extends React.ComponentClass {} - - interface TabPanelProps { - className?: string | Array | { [name: string]: boolean; }; - forceRender?: boolean; - selectedClassName?: string; - } - - interface TabPanel extends React.ComponentClass {} +export interface TabsProps { + className?: string | Array | { [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 | { [name: string]: boolean; }; +} -declare function resetIdCounter(): void; +export interface TabProps { + className?: string | Array | { [name: string]: boolean; }; + disabled?: boolean; + disabledClassName?: string; + selectedClassName?: string; +} -export { - Tabs, - TabList, - Tab, - TabPanel, - resetIdCounter -}; +export interface TabPanelProps { + className?: string | Array | { [name: string]: boolean; }; + forceRender?: boolean; + selectedClassName?: string; +} + +export declare class Tabs extends React.Component {} +export declare class TabList extends React.Component {} +export declare class Tab extends React.Component {} +export declare class TabPanel extends React.Component {} + +export declare function resetIdCounter(): void; diff --git a/types/react-tabs/react-tabs-tests.ts b/types/react-tabs/react-tabs-tests.ts index f726780dcb..a7b86de6e0 100644 --- a/types/react-tabs/react-tabs-tests.ts +++ b/types/react-tabs/react-tabs-tests.ts @@ -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());