react-breadcrumbs: update to version 2.1 (#29535)

* react-breadcrumbs: update to version 2.1

* react-breadcrumbs: remove previous author

Previous author asked to remove his name because he doesn't use the type and cannot review future changes
This commit is contained in:
Guo Yunhe
2018-10-15 10:07:48 -07:00
committed by Sheetal Nandi
parent 7b3d73edb1
commit e588e51692
3 changed files with 44 additions and 41 deletions
+19 -25
View File
@@ -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 <https://github.com/KostyaEsmukov>
// Definitions by: Guo Yunhe <https://github.com/guoyunhe>
// 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<Breadcrumbs.Props>;
declare const Breadcrumbs: Breadcrumbs;
declare module "react-breadcrumbs" {
interface Crumbs {}
declare namespace Breadcrumbs {
interface Props extends React.ClassAttributes<Breadcrumbs> {
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<P, R>
interface BreadcrumbsProps {
className?: string;
hidden?: boolean;
setCrumbs?: (crumbs: Crumbs) => React.ReactNode;
wrapper?: React.StatelessComponent | React.ComponentClass;
}
class Breadcrumbs extends React.Component<BreadcrumbsProps> {}
interface BreadcrumbProps {
data: LocationDescriptor & { title?: React.ReactNode };
hidden?: boolean;
}
class Breadcrumb extends React.Component<BreadcrumbProps> {}
}
@@ -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 <div>{this.props.children}</div>;
}
}
class MyComponent extends React.Component<MyComponentProps> {
function FunctionWrapper(props: { children?: React.ReactNode }) {
return <div>{props.children}</div>;
}
class MyComponent extends React.Component {
render() {
return (
<div>
<Breadcrumbs
routes={this.props.routes}
params={this.props.params}
className="demo__crumbs"
hidden
setCrumbs={crumbs => null}
wrapper={Wrapper}
/>
<Breadcrumbs
className="demo__crumbs"
wrapper={FunctionWrapper}
/>
<Breadcrumb data={{ title: "Dashboard", pathname: "/" }} />
<Breadcrumb data={{ pathname: "/dashboard" }} hidden />
</div>
);
}
+1 -9
View File
@@ -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"
]
}
}