diff --git a/types/react-breadcrumbs/index.d.ts b/types/react-breadcrumbs/index.d.ts index 3aa1cc3670..db70d210fb 100644 --- a/types/react-breadcrumbs/index.d.ts +++ b/types/react-breadcrumbs/index.d.ts @@ -1,34 +1,28 @@ -// Type definitions for react-breadcrumbs 1.3 +// Type definitions for react-breadcrumbs 2.1 // Project: https://github.com/svenanders/react-breadcrumbs -// Definitions by: Kostya Esmukov +// Definitions by: Guo Yunhe // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 import * as React from "react"; -import * as ReactRouter from "react-router"; +import { LocationDescriptor } from "history"; -export = Breadcrumbs; -type Breadcrumbs = React.ComponentClass; -declare const Breadcrumbs: Breadcrumbs; +declare module "react-breadcrumbs" { + interface Crumbs {} -declare namespace Breadcrumbs { - interface Props extends React.ClassAttributes { - separator?: string | JSX.Element; - displayMissing?: boolean; - prettify?: boolean; - displayMissingText?: string; - displayName?: string; - breadcrumbName?: string; - wrapperElement?: string; - wrapperClass?: string; - itemElement?: string; - itemClass?: string; - customClass?: string; - activeItemClass?: string; - excludes?: string[]; - hideNoPath?: boolean; - routes: ReactRouter.Router.RouteConfig; - setDocumentTitle?: boolean; - params?: any; // todo make it compatible with params of the ReactRouter.RouteComponentProps + interface BreadcrumbsProps { + className?: string; + hidden?: boolean; + setCrumbs?: (crumbs: Crumbs) => React.ReactNode; + wrapper?: React.StatelessComponent | React.ComponentClass; } + + class Breadcrumbs extends React.Component {} + + interface BreadcrumbProps { + data: LocationDescriptor & { title?: React.ReactNode }; + hidden?: boolean; + } + + class Breadcrumb extends React.Component {} } diff --git a/types/react-breadcrumbs/react-breadcrumbs-tests.tsx b/types/react-breadcrumbs/react-breadcrumbs-tests.tsx index 980b27fe41..fbf0edcdfa 100644 --- a/types/react-breadcrumbs/react-breadcrumbs-tests.tsx +++ b/types/react-breadcrumbs/react-breadcrumbs-tests.tsx @@ -1,18 +1,35 @@ -import * as React from 'react'; -import * as ReactRouter from "react-router"; -import Breadcrumbs = require('react-breadcrumbs'); +import * as React from "react"; +import { Breadcrumbs, Breadcrumb } from "react-breadcrumbs"; -interface MyComponentProps extends ReactRouter.RouteComponentProps<{}, { id: number }> { +class Wrapper extends React.Component { + render() { + return
{this.props.children}
; + } } -class MyComponent extends React.Component { +function FunctionWrapper(props: { children?: React.ReactNode }) { + return
{props.children}
; +} + +class MyComponent extends React.Component { render() { return (
); } diff --git a/types/react-breadcrumbs/tsconfig.json b/types/react-breadcrumbs/tsconfig.json index 15b3328f6b..94aec8fcc1 100644 --- a/types/react-breadcrumbs/tsconfig.json +++ b/types/react-breadcrumbs/tsconfig.json @@ -10,14 +10,6 @@ "strictNullChecks": false, "strictFunctionTypes": true, "baseUrl": "../", - "paths": { - "history": [ - "history/v2" - ], - "react-router": [ - "react-router/v2" - ] - }, "typeRoots": [ "../" ], @@ -30,4 +22,4 @@ "index.d.ts", "react-breadcrumbs-tests.tsx" ] -} \ No newline at end of file +}