diff --git a/lib/index.d.ts b/lib/index.d.ts new file mode 100644 index 00000000..b86f8a1a --- /dev/null +++ b/lib/index.d.ts @@ -0,0 +1,32 @@ +declare module "react-graph-vis" { + import { Network, NetworkEvents, Options, Node, Edge, DataSet, Data } from "vis"; + import { Component } from "react"; + + export { Network, NetworkEvents, Options, Node, Edge, DataSet, Data } from "vis"; + + export type GraphEvents = { + [event in NetworkEvents]?: (params?: any) => void; + }; + + export interface NetworkGraphProps { + graph: Data; + options?: Options; + events?: GraphEvents; + getNetwork?: (network: Network) => void; + identifier?: string; + style?: React.CSSProperties; + getNodes?: (nodes: DataSet) => void; + getEdges?: (edges: DataSet) => void; + } + + export interface NetworkGraphState { + identifier: string; + } + + export default class NetworkGraph extends Component< + NetworkGraphProps, + NetworkGraphState + > { + render(); + } +} diff --git a/package.json b/package.json index 38a57d16..62d8b356 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.0.7", "description": "A react component to render nice graphs using vis.js", "main": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "babel -d lib/ src/", @@ -33,6 +34,8 @@ "vis-network": "^9.0.0" }, "devDependencies": { + "@types/react": "^17.0.4", + "@types/vis": "^4.21.21", "babel-cli": "^6.22.2", "babel-preset-env": "^1.1.8", "babel-preset-stage-3": "^6.22.0"