@insync-stageplayer/plotly-chart 0.5.4-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,40 @@
1
+ export function PlotlyChart({ xRange, data, metadata, onStopSelect, xScaleTickFormat, }: {
2
+ xRange: any;
3
+ data: any;
4
+ metadata: any;
5
+ onStopSelect: any;
6
+ xScaleTickFormat: any;
7
+ }): JSX.Element;
8
+ export namespace PlotlyChart {
9
+ namespace defaultProps {
10
+ const xRange: null;
11
+ const data: never[];
12
+ const selectedTheme: null;
13
+ const metadata: never[];
14
+ function onStopSelect(): void;
15
+ }
16
+ namespace propTypes {
17
+ const xRange_1: PropTypes.Requireable<PropTypes.InferProps<{
18
+ from: PropTypes.Requireable<number>;
19
+ length: PropTypes.Requireable<number>;
20
+ }>>;
21
+ export { xRange_1 as xRange };
22
+ const data_1: PropTypes.Requireable<any[]>;
23
+ export { data_1 as data };
24
+ const selectedTheme_1: PropTypes.Requireable<PropTypes.InferProps<{
25
+ colors: PropTypes.Requireable<PropTypes.InferProps<{
26
+ background: PropTypes.Requireable<string>;
27
+ }>>;
28
+ }>>;
29
+ export { selectedTheme_1 as selectedTheme };
30
+ const metadata_1: PropTypes.Requireable<(PropTypes.InferProps<{
31
+ name: PropTypes.Requireable<string>;
32
+ color: PropTypes.Requireable<string>;
33
+ }> | null | undefined)[]>;
34
+ export { metadata_1 as metadata };
35
+ const onStopSelect_1: PropTypes.Requireable<(...args: any[]) => any>;
36
+ export { onStopSelect_1 as onStopSelect };
37
+ }
38
+ }
39
+ import PropTypes from "prop-types";
40
+ //# sourceMappingURL=Plotly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plotly.d.ts","sourceRoot":"","sources":["../src/Plotly.js"],"names":[],"mappings":"AA4BO;;;;;;gBA+HN;;;;;;;QAOe,8BAAQ"}
package/lib/Plotly.js ADDED
@@ -0,0 +1,157 @@
1
+ import React, { useCallback, useEffect, useState } from "react";
2
+ import Plot from "react-plotly.js";
3
+ import PropTypes from "prop-types";
4
+ import { useTheme as useSelectedTheme } from "@insync-stageplayer/ui-components";
5
+ const convertMilliSecondstoDateFormat = (inputSeconds) => {
6
+ const convertXRangeFrom = new Date(+inputSeconds / 1000);
7
+ const dateFormatXRangeFrom = new Date(2020, 1, 8, convertXRangeFrom.getHours() - 1, convertXRangeFrom.getMinutes(), convertXRangeFrom.getSeconds(), convertXRangeFrom.getMilliseconds());
8
+ return dateFormatXRangeFrom;
9
+ };
10
+ const convertDateToMilliseconds = (inputDate) => {
11
+ return (inputDate.getHours() * 60 * 60 * 1000 +
12
+ inputDate.getMinutes() * 60 * 1000 +
13
+ inputDate.getSeconds() * 1000 +
14
+ inputDate.getMilliseconds());
15
+ };
16
+ export const PlotlyChart = ({ xRange,
17
+ // position,
18
+ // chartType,
19
+ data, metadata,
20
+ // zoom,
21
+ // timeFormat,
22
+ onStopSelect, xScaleTickFormat, }) => {
23
+ const [plotData, setPlotData] = useState([]);
24
+ const [layout, setLayout] = useState(null);
25
+ const selectedTheme = useSelectedTheme();
26
+ const updateLayout = useCallback(() => {
27
+ const annotations = [
28
+ {
29
+ xref: "paper",
30
+ yref: "paper",
31
+ x: 0.5,
32
+ xanchor: "right",
33
+ y: 1,
34
+ yanchor: "bottom",
35
+ text: "",
36
+ showarrow: true,
37
+ arrowhead: 0,
38
+ ax: 0,
39
+ ay: 400,
40
+ arrowcolor: "red",
41
+ },
42
+ ];
43
+ const convertXRangeFrom = xScaleTickFormat.includes(":")
44
+ ? convertMilliSecondstoDateFormat(+xRange)
45
+ : xRange.from / 1e6;
46
+ const convertXRangeTo = xScaleTickFormat.includes(":")
47
+ ? convertMilliSecondstoDateFormat(xRange.from + xRange.length)
48
+ : xRange.from / 1e6 + xRange.length / 1e6;
49
+ const defaultLayout = {
50
+ // this hovermode setting creates a hover-over legend for all the signals at the same time. It also adds a spike line
51
+ hovermode: "x unified",
52
+ yaxis: {
53
+ fixedrange: true,
54
+ range: [],
55
+ },
56
+ xaxis: {
57
+ range: [convertXRangeFrom, convertXRangeTo],
58
+ // rangeslider: {}
59
+ tickformat: xScaleTickFormat.includes(":") ? "%M:%S" : null,
60
+ },
61
+ showlegend: false,
62
+ margin: { l: 25, r: 20, t: 20, b: 20 },
63
+ paper_bgcolor: selectedTheme.colors.background,
64
+ plot_bgcolor: selectedTheme.colors.background,
65
+ };
66
+ setLayout(Object.assign(Object.assign({}, defaultLayout), { annotations }));
67
+ }, [selectedTheme, xRange]);
68
+ const onRelayout = (e) => {
69
+ if (xScaleTickFormat.includes(":")) {
70
+ const originalFromDate = e["xaxis.range[0]"];
71
+ const originalStopDate = e["xaxis.range[1]"];
72
+ const originalDifference = originalStopDate.getTime() - originalFromDate.getTime();
73
+ const originalFrom = convertDateToMilliseconds(originalFromDate);
74
+ const originalStop = convertDateToMilliseconds(originalDifference);
75
+ let selection;
76
+ if (e["xaxis.range[0]"] && e["xaxis.range[1]"]) {
77
+ selection = {
78
+ from: originalFrom,
79
+ length: originalStop,
80
+ };
81
+ }
82
+ }
83
+ else {
84
+ selection = {
85
+ from: e["xaxis.range[0]"] * 1e6,
86
+ length: (e["xaxis.range[1]"] - e["xaxis.range[0]"]) * 1e6,
87
+ };
88
+ }
89
+ onStopSelect({ selection });
90
+ };
91
+ const onRelayouting = () => {
92
+ // console.log(e);
93
+ };
94
+ useEffect(() => {
95
+ updateLayout();
96
+ const plotDataArr = [];
97
+ data.forEach((signal, idx) => {
98
+ const x = signal.map((item) => {
99
+ if (xScaleTickFormat.includes(":")) {
100
+ const xDateFormatted = convertMilliSecondstoDateFormat(+item.x);
101
+ return xDateFormatted;
102
+ }
103
+ else {
104
+ const xDateFormatted = +item.x / 1e6;
105
+ return xDateFormatted;
106
+ }
107
+ });
108
+ const y = signal.map((item) => {
109
+ return item.y;
110
+ });
111
+ const signalData = {
112
+ x,
113
+ y,
114
+ type: "scattergl",
115
+ mode: "lines",
116
+ name: metadata[idx].name,
117
+ line: {
118
+ color: metadata[idx].color,
119
+ width: 1,
120
+ },
121
+ };
122
+ plotDataArr.push(signalData);
123
+ });
124
+ setPlotData(plotDataArr);
125
+ }, [data, metadata, updateLayout]);
126
+ return (React.createElement(Plot, { useResizeHandler: true, className: "plot-div", data: plotData, layout: layout, config: { displaylogo: false, displayModeBar: false }, onRelayout: (e) => onRelayout(e), onRelayouting: (e) => onRelayouting(e) }));
127
+ };
128
+ PlotlyChart.defaultProps = {
129
+ xRange: null,
130
+ data: [],
131
+ selectedTheme: null,
132
+ metadata: [],
133
+ onStopSelect: () => { },
134
+ };
135
+ const dataElement = PropTypes.shape({
136
+ x: PropTypes.number,
137
+ y: PropTypes.number,
138
+ });
139
+ const metadataElement = PropTypes.shape({
140
+ name: PropTypes.string,
141
+ color: PropTypes.string,
142
+ });
143
+ PlotlyChart.propTypes = {
144
+ xRange: PropTypes.shape({
145
+ from: PropTypes.number,
146
+ length: PropTypes.number,
147
+ }),
148
+ data: PropTypes.arrayOf(PropTypes.arrayOf(dataElement), PropTypes.arrayOf(dataElement)),
149
+ selectedTheme: PropTypes.shape({
150
+ colors: PropTypes.shape({
151
+ background: PropTypes.string,
152
+ }),
153
+ }),
154
+ metadata: PropTypes.arrayOf(metadataElement),
155
+ onStopSelect: PropTypes.func,
156
+ };
157
+ //# sourceMappingURL=Plotly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plotly.js","sourceRoot":"","sources":["../src/Plotly.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,MAAM,+BAA+B,GAAG,CAAC,YAAY,EAAE,EAAE;IACvD,MAAM,iBAAiB,GAAG,IAAI,IAAI,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACzD,MAAM,oBAAoB,GAAG,IAAI,IAAI,CACnC,IAAI,EACJ,CAAC,EACD,CAAC,EACD,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAChC,iBAAiB,CAAC,UAAU,EAAE,EAC9B,iBAAiB,CAAC,UAAU,EAAE,EAC9B,iBAAiB,CAAC,eAAe,EAAE,CACpC,CAAC;IACF,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,SAAS,EAAE,EAAE;IAC9C,OAAO,CACL,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACrC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;QAClC,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI;QAC7B,SAAS,CAAC,eAAe,EAAE,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,MAAM;AACN,YAAY;AACZ,aAAa;AACb,IAAI,EACJ,QAAQ;AACR,QAAQ;AACR,cAAc;AACd,YAAY,EACZ,gBAAgB,GACjB,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,WAAW,GAAG;YAClB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,CAAC,EAAE,GAAG;gBACN,OAAO,EAAE,OAAO;gBAChB,CAAC,EAAE,CAAC;gBACJ,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,CAAC;gBACZ,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,GAAG;gBACP,UAAU,EAAE,KAAK;aAClB;SACF,CAAC;QACF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,CAAC,+BAA+B,CAAC,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QACtB,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpD,CAAC,CAAC,+BAA+B,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;QAC5C,MAAM,aAAa,GAAG;YACpB,qHAAqH;YACrH,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE;gBACL,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,EAAE;aACV;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;gBAC3C,kBAAkB;gBAClB,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;aAC5D;YACD,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACtC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU;YAC9C,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU;SAC9C,CAAC;QACF,SAAS,iCAAM,aAAa,KAAE,WAAW,IAAG,CAAC;IAC/C,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC7C,MAAM,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC7C,MAAM,kBAAkB,GACtB,gBAAgB,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,YAAY,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;YACnE,IAAI,SAAS,CAAC;YACd,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,EAAE;gBAC9C,SAAS,GAAG;oBACV,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,YAAY;iBACrB,CAAC;aACH;SACF;aAAM;YACL,SAAS,GAAG;gBACV,IAAI,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,GAAG;gBAC/B,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,GAAG;aAC1D,CAAC;SACH;QACD,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,kBAAkB;IACpB,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAClC,MAAM,cAAc,GAAG,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChE,OAAO,cAAc,CAAC;iBACvB;qBAAM;oBACL,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;oBACrC,OAAO,cAAc,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5B,OAAO,IAAI,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG;gBACjB,CAAC;gBACD,CAAC;gBACD,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI;gBACxB,IAAI,EAAE;oBACJ,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK;oBAC1B,KAAK,EAAE,CAAC;iBACT;aACF,CAAC;YACF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,oBAAC,IAAI,IACH,gBAAgB,QAChB,SAAS,EAAC,UAAU,EACpB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,EACrD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAChC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GACtC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,YAAY,GAAG;IACzB,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,EAAE;IACR,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;IAClC,CAAC,EAAE,SAAS,CAAC,MAAM;IACnB,CAAC,EAAE,SAAS,CAAC,MAAM;CACpB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,SAAS,CAAC,MAAM;IACtB,KAAK,EAAE,SAAS,CAAC,MAAM;CACxB,CAAC,CAAC;AAEH,WAAW,CAAC,SAAS,GAAG;IACtB,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;QACtB,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAC;IACF,IAAI,EAAE,SAAS,CAAC,OAAO,CACrB,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAC9B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAC/B;IACD,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC;QAC7B,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;YACtB,UAAU,EAAE,SAAS,CAAC,MAAM;SAC7B,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;IAC5C,YAAY,EAAE,SAAS,CAAC,IAAI;CAC7B,CAAC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./Plotly";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./Plotly";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@insync-stageplayer/plotly-chart",
3
+ "version": "0.5.4-alpha.0",
4
+ "description": "Plotly Cjart module for stageplayer",
5
+ "author": "Priya Gupta",
6
+ "homepage": "https://github.com/Noterik/insync-stageplayer#readme",
7
+ "license": "ISC",
8
+ "main": "lib/index.js",
9
+ "directories": {
10
+ "lib": "lib",
11
+ "test": "__tests__"
12
+ },
13
+ "files": [
14
+ "lib"
15
+ ],
16
+ "types": "lib/index.d.ts",
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/Noterik/insync-stageplayer.git"
23
+ },
24
+ "scripts": {
25
+ "test": "echo \"Error: run tests from root\" && exit 1",
26
+ "watch": "tsc -b tsconfig.build.json --watch --listEmittedFiles",
27
+ "clean": "tsc -b tsconfig.build.json --clean",
28
+ "build": "tsc -b tsconfig.build.json --listEmittedFiles",
29
+ "storybook": "start-storybook -p 6006"
30
+ },
31
+ "bugs": {
32
+ "url": "https://github.com/Noterik/insync-stageplayer/issues"
33
+ },
34
+ "dependencies": {
35
+ "@reduxjs/toolkit": "^1.5.0",
36
+ "@types/deep-diff": "^1.0.0",
37
+ "classnames": "^2.3.1",
38
+ "deep-diff": "^1.0.2",
39
+ "plotly.js": "^2.19.1",
40
+ "react": "^17.0.1",
41
+ "react-move-hook": "^0.1.0-alpha.0",
42
+ "react-plotly.js": "^2.6.0",
43
+ "react-redux": "^7.2.2",
44
+ "reduce-reducers": "^1.0.4",
45
+ "redux": "^4.0.5",
46
+ "reselect": "^4.0.0",
47
+ "slate": "^0.59.0",
48
+ "slate-react": "^0.59.0",
49
+ "styled-components": "^5.1.1"
50
+ },
51
+ "devDependencies": {
52
+ "@types/plotly.js": "^2.12.18",
53
+ "@types/react-plotly.js": "^2.6.0",
54
+ "rxjs": "^6.6.6"
55
+ },
56
+ "gitHead": "692046005c410cc2dbb717a6633a96d7ff569240"
57
+ }