Skip to content

Commit c078387

Browse files
nik-johnjerairrest
authored andcommitted
Update typings and package.json types as per latest Typescript specs (#174)
https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html
1 parent 63a3c22 commit c078387

File tree

2 files changed

+59
-22
lines changed

2 files changed

+59
-22
lines changed

index.d.ts

Lines changed: 57 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,58 @@
1+
// Type definitions for react-chartjs-2 2.0
2+
// Project: https://github.com/gor181/react-chartjs-2
3+
// Definitions by: Alexandre Paré <https://github.com/apare>
4+
// Fabien Lavocat <https://github.com/FabienLavocat>
5+
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
6+
// TypeScript Version: 2.3
17

2-
import * as React from 'react';
3-
4-
interface ChartComponentProps {
5-
data :Object;
6-
height? :number;
7-
legend? :Object;
8-
onElementsClick? :Function;
9-
options? :Object;
10-
redraw? :boolean;
11-
type? :String;
12-
width? :number;
13-
}
14-
15-
export class Doughnut extends React.Component<ChartComponentProps, any>{}
16-
export class Pie extends React.Component<ChartComponentProps, any>{}
17-
export class Line extends React.Component<ChartComponentProps, any>{}
18-
export class Bar extends React.Component<ChartComponentProps, any>{}
19-
export class HorizontalBar extends React.Component<ChartComponentProps, any>{}
20-
export class Radar extends React.Component<ChartComponentProps, any>{}
21-
export class Polar extends React.Component<ChartComponentProps, any>{}
22-
export class Scatter extends React.Component<ChartComponentProps, any>{}
8+
import * as React from "react";
9+
import * as chartjs from "chart.js";
10+
11+
export type ChartDataFunction<T extends chartjs.ChartData> = (element: HTMLElement) => T;
12+
export type ChartData<T extends chartjs.ChartData> = ChartDataFunction<T> | T;
13+
14+
export interface ChartComponentProps {
15+
data: ChartData<chartjs.ChartData>;
16+
type?: chartjs.ChartType;
17+
getDatasetAtEvent?(e: any): void;
18+
getElementAtEvent?(e: any): void;
19+
getElementsAtEvent?(e: any): void;
20+
height?: number;
21+
legend?: chartjs.ChartLegendOptions;
22+
onElementsClick?(e: any): void; // alias for getElementsAtEvent (backward compatibility)
23+
options?: chartjs.ChartOptions;
24+
redraw?: boolean;
25+
width?: number;
26+
}
27+
28+
export interface LinearComponentProps extends ChartComponentProps {
29+
data: ChartData<chartjs.ChartData>;
30+
}
31+
32+
export default class ChartComponent<P extends ChartComponentProps> extends React.Component<P> {
33+
chart_instance: chartjs;
34+
}
35+
36+
export class Doughnut extends ChartComponent<ChartComponentProps> {
37+
}
38+
39+
export class Pie extends ChartComponent<ChartComponentProps> {
40+
}
41+
42+
export class Line extends ChartComponent<LinearComponentProps> {
43+
}
44+
45+
export class Bar extends ChartComponent<LinearComponentProps> {
46+
}
47+
48+
export class HorizontalBar extends ChartComponent<ChartComponentProps> {
49+
}
50+
51+
export class Radar extends ChartComponent<ChartComponentProps> {
52+
}
53+
54+
export class Polar extends ChartComponent<ChartComponentProps> {
55+
}
56+
57+
export class Bubble extends ChartComponent<ChartComponentProps> {
58+
}

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,5 +74,6 @@
7474
"chart.js",
7575
"react-chartjs-2",
7676
"react chart.js"
77-
]
77+
],
78+
"types": "./index.d.ts"
7879
}

0 commit comments

Comments
 (0)