@gpa-gemstone/react-graph 1.0.14 → 1.0.17

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,6 @@
1
+ import * as React from 'react';
2
+ export interface IProps {
3
+ onClick: () => void;
4
+ }
5
+ declare const Button: React.FunctionComponent<IProps>;
6
+ export default Button;
package/lib/Button.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // ******************************************************************************************************
3
+ // Button.tsx - Gbtc
4
+ //
5
+ // Copyright © 2020, Grid Protection Alliance. All Rights Reserved.
6
+ //
7
+ // Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
8
+ // the NOTICE file distributed with this work for additional information regarding copyright ownership.
9
+ // The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this
10
+ // file except in compliance with the License. You may obtain a copy of the License at:
11
+ //
12
+ // http://opensource.org/licenses/MIT
13
+ //
14
+ // Unless agreed to in writing, the subject software distributed under the License is distributed on an
15
+ // "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
16
+ // License for the specific language governing permissions and limitations.
17
+ //
18
+ // Code Modification History:
19
+ // ----------------------------------------------------------------------------------------------------
20
+ // 04/20/2022 - G Santos
21
+ // Generated original version of source code.
22
+ //
23
+ // ******************************************************************************************************
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ var React = require("react");
26
+ var Button = function (props) {
27
+ /*
28
+ Button that can be pressed.
29
+ */
30
+ return (React.createElement(React.Fragment, null, props.children));
31
+ };
32
+ exports.default = Button;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0J1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxxQkFBcUI7QUFDckIsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLHlCQUF5QjtBQUN6QixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7QUFHekcsNkJBQStCO0FBVy9CLElBQU0sTUFBTSxHQUFvQyxVQUFDLEtBQUs7SUFDcEQ7O01BRUU7SUFHRCxPQUFPLENBQ04sMENBQ0csS0FBSyxDQUFDLFFBQVEsQ0FDZCxDQUNILENBQUM7QUFDTCxDQUFDLENBQUE7QUFFRCxrQkFBZSxNQUFNLENBQUMifQ==
@@ -4,14 +4,19 @@ export interface IGraphContext {
4
4
  XScale: number;
5
5
  XOffset: number;
6
6
  XHover: number;
7
+ YHover: number;
7
8
  YDomain: [number, number];
8
9
  YScale: number;
9
10
  YOffset: number;
11
+ CurrentMode: 'zoom' | 'pan' | 'select';
10
12
  Data: Map<string, IDataSeries>;
11
13
  AddData: ((d: IDataSeries) => string);
12
14
  RemoveData: (key: string) => void;
13
15
  UpdateData: (key: string, d: IDataSeries) => void;
14
16
  SetLegend: (key: string, legend: HTMLElement | undefined) => void;
17
+ RegisterSelect: (handlers: IHandlers) => string;
18
+ RemoveSelect: (key: string) => void;
19
+ UpdateSelect: (key: string, handlers: IHandlers) => void;
15
20
  }
16
21
  export declare const GraphContext: React.Context<IGraphContext>;
17
22
  export interface IDataSeries {
@@ -20,3 +25,8 @@ export interface IDataSeries {
20
25
  legend?: HTMLElement;
21
26
  }
22
27
  export declare type LineStyle = '-' | ':';
28
+ export interface IHandlers {
29
+ onClick?: (x: number, y: number) => void;
30
+ onRelease?: (x: number, y: number) => void;
31
+ onPlotLeave?: (x: number, y: number) => void;
32
+ }
@@ -30,14 +30,19 @@ exports.GraphContext = React.createContext({
30
30
  XScale: 0,
31
31
  XOffset: 0,
32
32
  XHover: NaN,
33
+ YHover: NaN,
33
34
  YDomain: [0, 0],
34
35
  YScale: 0,
35
36
  YOffset: 0,
37
+ CurrentMode: 'select',
36
38
  Data: new Map(),
37
39
  AddData: (function (_) { return ""; }),
38
40
  RemoveData: function (_) { return undefined; },
39
41
  UpdateData: function (_) { return undefined; },
40
- SetLegend: function (_) { return undefined; }
42
+ SetLegend: function (_) { return undefined; },
43
+ RegisterSelect: function (_) { return ""; },
44
+ RemoveSelect: function (_) { return undefined; },
45
+ UpdateSelect: function (_) { return undefined; }
41
46
  });
42
47
  ;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0dyYXBoQ29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUdBQXlHO0FBQ3pHLDJCQUEyQjtBQUMzQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHO0FBQ3pHLDZCQUErQjtBQWlCOUIsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDOUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNmLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFFVixNQUFNLEVBQUUsR0FBRztJQUNYLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDZixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBRVYsSUFBSSxFQUFFLElBQUksR0FBRyxFQUF1QjtJQUNwQyxPQUFPLEVBQUUsQ0FBQyxVQUFDLENBQWMsSUFBSyxPQUFBLEVBQUUsRUFBRixDQUFFLENBQUM7SUFDakMsVUFBVSxFQUFFLFVBQUMsQ0FBUyxJQUFLLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDcEMsVUFBVSxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDNUIsU0FBUyxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsU0FBUyxFQUFULENBQVM7Q0FDWCxDQUFDLENBQUM7QUFNbkIsQ0FBQyJ9
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0dyYXBoQ29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUdBQXlHO0FBQ3pHLDJCQUEyQjtBQUMzQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHO0FBQ3pHLDZCQUErQjtBQXNCOUIsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDOUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNmLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsR0FBRztJQUVYLE1BQU0sRUFBRSxHQUFHO0lBQ1gsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNmLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixXQUFXLEVBQUUsUUFBUTtJQUVyQixJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQXVCO0lBQ3BDLE9BQU8sRUFBRSxDQUFDLFVBQUMsQ0FBYyxJQUFLLE9BQUEsRUFBRSxFQUFGLENBQUUsQ0FBQztJQUNqQyxVQUFVLEVBQUUsVUFBQyxDQUFTLElBQUssT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUNwQyxVQUFVLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUM1QixTQUFTLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUMzQixjQUFjLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxFQUFFLEVBQUYsQ0FBRTtJQUN6QixZQUFZLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUM5QixZQUFZLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxTQUFTLEVBQVQsQ0FBUztDQUNkLENBQUMsQ0FBQztBQU1uQixDQUFDIn0=
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { LineStyle } from './GraphContext';
3
+ export interface IProps {
4
+ start?: number;
5
+ end?: number;
6
+ Value: number;
7
+ setValue?: (y: number) => void;
8
+ color: string;
9
+ lineStyle: LineStyle;
10
+ width: number;
11
+ }
12
+ declare function HorizontalMarker(props: IProps): JSX.Element;
13
+ export default HorizontalMarker;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ // ******************************************************************************************************
3
+ // HorizontalMarker.tsx - Gbtc
4
+ //
5
+ // Copyright © 2022, Grid Protection Alliance. All Rights Reserved.
6
+ //
7
+ // Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
8
+ // the NOTICE file distributed with this work for additional information regarding copyright ownership.
9
+ // The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this
10
+ // file except in compliance with the License. You may obtain a copy of the License at:
11
+ //
12
+ // http://opensource.org/licenses/MIT
13
+ //
14
+ // Unless agreed to in writing, the subject software distributed under the License is distributed on an
15
+ // "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
16
+ // License for the specific language governing permissions and limitations.
17
+ //
18
+ // Code Modification History:
19
+ // ----------------------------------------------------------------------------------------------------
20
+ // 04/29/2022 - C Lackner
21
+ // Generated original version of source code.
22
+ //
23
+ // ******************************************************************************************************
24
+ var __read = (this && this.__read) || function (o, n) {
25
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
26
+ if (!m) return o;
27
+ var i = m.call(o), r, ar = [], e;
28
+ try {
29
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
+ }
31
+ catch (error) { e = { error: error }; }
32
+ finally {
33
+ try {
34
+ if (r && !r.done && (m = i["return"])) m.call(i);
35
+ }
36
+ finally { if (e) throw e.error; }
37
+ }
38
+ return ar;
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ var React = require("react");
42
+ var GraphContext_1 = require("./GraphContext");
43
+ function HorizontalMarker(props) {
44
+ /*
45
+ Marks a Y Value horizontally as a line.
46
+ */
47
+ var context = React.useContext(GraphContext_1.GraphContext);
48
+ var _a = __read(React.useState(props.Value), 2), value = _a[0], setValue = _a[1];
49
+ var _b = __read(React.useState(false), 2), isSelected = _b[0], setSelected = _b[1];
50
+ var _c = __read(React.useState(""), 2), guid = _c[0], setGuid = _c[1];
51
+ React.useEffect(function () {
52
+ var id = context.RegisterSelect({
53
+ onClick: onClick,
54
+ onRelease: function (_) { return setSelected(false); },
55
+ onPlotLeave: function (_) { return setSelected(false); }
56
+ });
57
+ setGuid(id);
58
+ return function () { context.RemoveSelect(id); };
59
+ }, []);
60
+ React.useEffect(function () {
61
+ if (guid === "")
62
+ return;
63
+ context.UpdateSelect(guid, {
64
+ onClick: onClick,
65
+ onRelease: function (_) { return setSelected(false); },
66
+ onPlotLeave: function (_) { return setSelected(false); }
67
+ });
68
+ }, [props.width, props.Value, context.YScale]);
69
+ React.useEffect(function () {
70
+ setValue(props.Value);
71
+ }, [props.Value]);
72
+ React.useEffect(function () {
73
+ if (props.setValue === undefined)
74
+ return;
75
+ if (!isSelected && props.Value !== value)
76
+ props.setValue(value);
77
+ }, [isSelected, value]);
78
+ React.useEffect(function () {
79
+ if (context.CurrentMode !== 'select')
80
+ setSelected(false);
81
+ }, [context.CurrentMode]);
82
+ React.useEffect(function () {
83
+ if (isSelected)
84
+ setValue(context.YHover);
85
+ }, [context.YHover]);
86
+ function generateData() {
87
+ var x1 = (props.start === undefined ? context.XDomain[0] : props.start);
88
+ var x2 = (props.end === undefined ? context.XDomain[1] : props.end);
89
+ return "M " + (x1 * context.XScale + context.XOffset) + " " + (value * context.YScale + context.YOffset) + " L " + (x2 * context.XScale + context.XOffset) + " " + (value * context.YScale + context.YOffset);
90
+ }
91
+ function onClick(_, y) {
92
+ var d = Math.abs(props.width / context.YScale);
93
+ if (Math.abs(y - props.Value) < d)
94
+ setSelected(true);
95
+ }
96
+ return (React.createElement("g", null,
97
+ React.createElement("path", { d: generateData(), style: { fill: 'none', strokeWidth: props.width, stroke: props.color, cursor: (props.setValue !== undefined && true) ? 'grab' : 'auto' }, strokeDasharray: props.lineStyle === ':' ? '10,5' : 'none' })));
98
+ }
99
+ exports.default = HorizontalMarker;
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9yaXpvbnRhbE1hcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Ib3Jpem9udGFsTWFya2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLCtCQUErQjtBQUMvQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLCtDQUFrRTtBQVlsRSxTQUFTLGdCQUFnQixDQUFDLEtBQWE7SUFDckM7O01BRUU7SUFDRixJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQTtJQUN4QyxJQUFBLEtBQUEsT0FBb0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUEsRUFBdEQsS0FBSyxRQUFBLEVBQUUsUUFBUSxRQUF1QyxDQUFDO0lBQ3hELElBQUEsS0FBQSxPQUE2QixLQUFLLENBQUMsUUFBUSxDQUFVLEtBQUssQ0FBQyxJQUFBLEVBQXpELFVBQVUsUUFBQSxFQUFFLFdBQVcsUUFBa0MsQ0FBQztJQUM1RCxJQUFBLEtBQUEsT0FBa0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLENBQUMsSUFBQSxFQUEzQyxJQUFJLFFBQUEsRUFBRSxPQUFPLFFBQThCLENBQUM7SUFFbkQsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNWLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTyxT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
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import * as React from 'react';
2
2
  interface IProps {
3
3
  showZoom: boolean;
4
4
  showPan: boolean;
@@ -11,5 +11,5 @@ interface IProps {
11
11
  y: number;
12
12
  }
13
13
  declare type ButtonType = ('zoom' | 'pan' | 'reset' | 'select' | 'download');
14
- declare function InteractiveButtons(props: IProps): JSX.Element | null;
14
+ declare const InteractiveButtons: React.FunctionComponent<IProps>;
15
15
  export default InteractiveButtons;
@@ -40,12 +40,14 @@ var __read = (this && this.__read) || function (o, n) {
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
41
  var React = require("react");
42
42
  var gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
43
- function InteractiveButtons(props) {
43
+ var Button_1 = require("./Button");
44
+ var InteractiveButtons = function (props) {
44
45
  /*
45
46
  Used to select Zoom, Drag or Reset
46
47
  */
47
48
  var _a = __read(React.useState(false), 2), expand = _a[0], setExpand = _a[1];
48
- var nButtons = (props.showZoom ? 1 : 0) + (props.showPan ? 1 : 0) + (props.showReset ? 1 : 0) + (props.showSelect ? 1 : 0) + (props.showDownload ? 1 : 0);
49
+ var nChildren = (props.children == null) ? 0 : React.Children.count(props.children);
50
+ var nButtons = (props.showZoom ? 1 : 0) + (props.showPan ? 1 : 0) + (props.showReset ? 1 : 0) + (props.showSelect ? 1 : 0) + (props.showDownload ? 1 : 0) + nChildren;
49
51
  function openTray(evt) {
50
52
  evt.stopPropagation();
51
53
  setExpand(true);
@@ -55,30 +57,48 @@ function InteractiveButtons(props) {
55
57
  if (nButtons === 1 || !expand)
56
58
  return (React.createElement("g", null,
57
59
  React.createElement("circle", { stroke: 'black', onClick: openTray, r: 10, cx: props.x, cy: props.y, style: { fill: '#002eff', pointerEvents: 'all' }, onMouseDown: function (evt) { return evt.stopPropagation(); }, onMouseUp: function (evt) { return evt.stopPropagation(); } }),
58
- React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.currentSelection === 'zoom' ? gpa_symbols_1.MagnifyingGlass : props.currentSelection === 'pan' ? gpa_symbols_1.FourWayArrow : gpa_symbols_1.House)));
60
+ React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.currentSelection === 'zoom' ? gpa_symbols_1.MagnifyingGlass : props.currentSelection === 'pan' ? gpa_symbols_1.FourWayArrow : gpa_symbols_1.Flag)));
59
61
  var width = 25 * nButtons - 25;
60
62
  var symbols = [];
61
- if (props.showZoom)
62
- symbols.push('zoom');
63
- if (props.showPan)
64
- symbols.push('pan');
65
- if (props.showSelect)
66
- symbols.push('select');
67
- if (props.showReset)
68
- symbols.push('reset');
69
- if (props.showDownload)
70
- symbols.push('download');
63
+ var symbolNames = [];
64
+ if (props.showZoom) {
65
+ symbolNames.push('zoom');
66
+ symbols.push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom'); setExpand(false); } }, gpa_symbols_1.MagnifyingGlass));
67
+ }
68
+ if (props.showPan) {
69
+ symbolNames.push('pan');
70
+ symbols.push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('pan'); setExpand(false); } }, gpa_symbols_1.FourWayArrow));
71
+ }
72
+ if (props.showSelect) {
73
+ symbolNames.push('select');
74
+ symbols.push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('select'); setExpand(false); } }, gpa_symbols_1.Flag));
75
+ }
76
+ if (props.showReset) {
77
+ symbolNames.push('reset');
78
+ symbols.push(React.createElement(Button_1.default, { onClick: function () { setExpand(false); } }, gpa_symbols_1.House));
79
+ }
80
+ if (props.showDownload) {
81
+ symbolNames.push('download');
82
+ symbols.push(React.createElement(Button_1.default, { onClick: function () { setExpand(false); } }, gpa_symbols_1.InputNumbers));
83
+ }
71
84
  return (React.createElement("g", null,
72
85
  React.createElement("path", { d: "M " + props.x + " " + (props.y - 10) + " A 10 10 180 0 1 " + props.x + " " + (props.y + 10) + " h -" + width + " A 10 10 180 0 1 " + (props.x - width) + " " + (props.y - 10) + " h " + width, style: {
73
86
  fill: '#1e90ff'
74
87
  } }),
75
- symbols.map(function (s, i) { return React.createElement(Button, { key: i, symbol: s, x: props.x - i * 25, y: props.y, active: props.currentSelection === s, onClick: function () { props.setSelection(s); setExpand(false); } }); }),
88
+ symbols.map(function (s, i) { return React.createElement(CircleButton, { key: i, x: props.x - i * 25, y: props.y, active: props.currentSelection === symbolNames[i], button: s }); }),
89
+ React.Children.map(props.children, function (element, i) {
90
+ if (!React.isValidElement(element))
91
+ return null;
92
+ if (element.type === Button_1.default)
93
+ return React.createElement(CircleButton, { active: false, x: props.x - (i + symbols.length) * 25, y: props.y, button: element });
94
+ return null;
95
+ }),
76
96
  React.createElement("path", { d: "M " + props.x + " " + (props.y - 10) + " A 10 10 180 0 1 " + props.x + " " + (props.y + 10) + " h -" + width + " A 10 10 180 0 1 " + (props.x - width) + " " + (props.y - 10) + " h " + width, stroke: 'black' })));
77
- }
78
- function Button(props) {
97
+ };
98
+ function CircleButton(props) {
79
99
  return (React.createElement(React.Fragment, null,
80
- React.createElement("circle", { r: 10, cx: props.x, cy: props.y, style: { fill: (props.active ? '#002eff' : '#1e90ff'), pointerEvents: 'all' }, onMouseDown: function (evt) { return evt.stopPropagation(); }, onClick: function (evt) { evt.stopPropagation(); props.onClick(); }, onMouseUp: function (evt) { return evt.stopPropagation(); } }),
81
- React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.symbol === 'zoom' ? gpa_symbols_1.MagnifyingGlass : props.symbol === 'pan' ? gpa_symbols_1.FourWayArrow : props.symbol === 'select' ? gpa_symbols_1.Flag : props.symbol === 'download' ? gpa_symbols_1.InputNumbers : gpa_symbols_1.House)));
100
+ React.createElement("circle", { r: 10, cx: props.x, cy: props.y, style: { fill: (props.active ? '#002eff' : '#1e90ff'), pointerEvents: 'all' }, onMouseDown: function (evt) { return evt.stopPropagation(); }, onClick: function (evt) { evt.stopPropagation(); props.button.props.onClick(); }, onMouseUp: function (evt) { return evt.stopPropagation(); } }),
101
+ React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.button)));
82
102
  }
83
103
  exports.default = InteractiveButtons;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVCdXR0b25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0ludGVyYWN0aXZlQnV0dG9ucy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDBCQUEwQjtBQUMxQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQix5REFBa0c7QUFnQmxHLFNBQVMsa0JBQWtCLENBQUMsS0FBYTtJQUNyQzs7TUFFRTtJQUNJLElBQUEsS0FBQSxPQUFzQixLQUFLLENBQUMsUUFBUSxDQUFVLEtBQUssQ0FBQyxJQUFBLEVBQW5ELE1BQU0sUUFBQSxFQUFFLFNBQVMsUUFBa0MsQ0FBQztJQUUzRCxJQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFBLENB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LE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQ3hILEtBQUssQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyw2QkFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQSxDQUFDLENBQUMsMEJBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUEsQ0FBQyxDQUFDLGtCQUFJLENBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFBLENBQUMsQ0FBQywwQkFBWSxDQUFDLENBQUMsQ0FBQyxtQkFBSyxDQUNqSyxDQUNOLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxrQkFBZSxrQkFBa0IsQ0FBQyJ9
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVCdXR0b25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0ludGVyYWN0aXZlQnV0dG9ucy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDBCQUEwQjtBQUMxQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQix5REFBa0c7QUFDbEcsbUNBQTZCO0FBZ0I3QixJQUFNLGtCQUFrQixHQUFvQyxVQUFDLEtBQUs7SUFDOUQ7O01BRUU7SUFDSSxJQUFBLEtBQUEsT0FBc0IsS0FBSyxDQUFDLFFBQVEsQ0FBVSxLQUFLLENBQUMsSUFBQSxFQUFuRCxNQUFNLFFBQUEsRUFBRSxTQUFTLFFBQWtDLENBQUM7SUFFM0QsSUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RixJQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENB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
package/lib/Legend.js CHANGED
@@ -53,8 +53,9 @@ function Legend(props) {
53
53
  var context = React.useContext(GraphContext_1.GraphContext);
54
54
  var w = (props.location === 'bottom' ? props.graphWidth : props.width);
55
55
  var h = (props.location === 'right' ? props.graphHeight : props.height);
56
- return (React.createElement("div", { style: { height: h, width: w, position: 'relative', display: 'flex', flexWrap: 'wrap' } }, __spreadArray([], __read(context.Data.values()), false).map(function (series, index) { return (series.legend !== undefined ?
57
- React.createElement("div", { key: index }, series.legend) : null); })));
56
+ var position = (props.location === 'bottom' ? 'absolute' : 'relative');
57
+ return (React.createElement("div", { style: { height: h, width: w, position: position, float: props.location, display: 'flex', flexWrap: 'wrap', bottom: 0 } }, __spreadArray([], __read(context.Data.values()), false).map(function (series, index) { return (series.legend !== undefined ?
58
+ React.createElement("div", { key: index, style: { width: (props.location === 'bottom' ? w / 3 : w) } }, series.legend) : null); })));
58
59
  }
59
60
  exports.default = Legend;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxxQkFBcUI7QUFDckIsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDJCQUEyQjtBQUMzQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQiwrQ0FBMkM7QUFVM0MsU0FBUyxNQUFNLENBQUMsS0FBYTtJQUMzQixJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQTtJQUM5QyxJQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsSUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sQ0FDTCw2QkFBSyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFDekYseUJBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBRSxHQUFHLENBQUMsVUFBQyxNQUFNLEVBQUUsS0FBSyxJQUFLLE9BQUEsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLDZCQUFLLEdBQUcsRUFBRSxLQUFLLElBQ1YsTUFBTSxDQUFDLE1BQU0sQ0FDaEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBSG1DLENBR25DLENBQUMsQ0FDYixDQUFDLENBQUE7QUFDYixDQUFDO0FBRUQsa0JBQWUsTUFBTSxDQUFDIn0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxxQkFBcUI7QUFDckIsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDJCQUEyQjtBQUMzQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQiwrQ0FBMkM7QUFVM0MsU0FBUyxNQUFNLENBQUMsS0FBYTtJQUMzQixJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQTtJQUM5QyxJQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsSUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLElBQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDckUsT0FBTyxDQUNMLDZCQUFLLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLFVBQUEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFDdkgseUJBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBRSxHQUFHLENBQUMsVUFBQyxNQUFNLEVBQUUsS0FBSyxJQUFLLE9BQUEsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLDZCQUFLLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQ2pFLE1BQU0sQ0FBQyxNQUFNLENBQ2hCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUhtQyxDQUduQyxDQUFDLENBQ2IsQ0FBQyxDQUFBO0FBQ2IsQ0FBQztBQUVELGtCQUFlLE1BQU0sQ0FBQyJ9
package/lib/Plot.js CHANGED
@@ -55,6 +55,11 @@ var lodash_1 = require("lodash");
55
55
  var TimeAxis_1 = require("./TimeAxis");
56
56
  var ValueAxis_1 = require("./ValueAxis");
57
57
  var Legend_1 = require("./Legend");
58
+ var LineWithThreshold_1 = require("./LineWithThreshold");
59
+ var Line_1 = require("./Line");
60
+ var Button_1 = require("./Button");
61
+ var HorizontalMarker_1 = require("./HorizontalMarker");
62
+ var VerticalMarker_1 = require("./VerticalMarker");
58
63
  var SvgStyle = {
59
64
  fill: 'none',
60
65
  userSelect: 'none',
@@ -72,24 +77,25 @@ var Plot = function (props) {
72
77
  var SVGref = React.useRef(null);
73
78
  var guid = React.useMemo(function () { return (0, helper_functions_1.CreateGuid)(); }, []);
74
79
  var _a = __read(React.useState(new Map()), 2), data = _a[0], setData = _a[1];
75
- var _b = __read(React.useState(props.defaultTdomain), 2), tDomain = _b[0], setTdomain = _b[1];
76
- var _c = __read(React.useState(0), 2), tOffset = _c[0], setToffset = _c[1];
77
- var _d = __read(React.useState(1), 2), tScale = _d[0], setTscale = _d[1];
78
- var _e = __read(React.useState([0, 0]), 2), yDomain = _e[0], setYdomain = _e[1];
79
- var _f = __read(React.useState(0), 2), yOffset = _f[0], setYoffset = _f[1];
80
- var _g = __read(React.useState(1), 2), yScale = _g[0], setYscale = _g[1];
81
- var _h = __read(React.useState('none'), 2), mouseMode = _h[0], setMouseMode = _h[1];
82
- var _j = __read(React.useState('zoom'), 2), selectedMode = _j[0], setSelectedMode = _j[1];
83
- var _k = __read(React.useState(false), 2), mouseIn = _k[0], setMouseIn = _k[1];
84
- var _l = __read(React.useState([0, 0]), 2), mousePosition = _l[0], setMousePosition = _l[1];
85
- var _m = __read(React.useState([0, 0]), 2), mouseClick = _m[0], setMouseClick = _m[1];
86
- var _o = __read(React.useState(10), 2), offsetTop = _o[0], setOffsetTop = _o[1];
87
- var _p = __read(React.useState(10), 2), offsetBottom = _p[0], setOffsetBottom = _p[1];
88
- var _q = __read(React.useState(5), 2), offsetLeft = _q[0], setOffsetLeft = _q[1];
89
- var _r = __read(React.useState(5), 2), offsetRight = _r[0], setOffsetRight = _r[1];
90
- var _s = __read(React.useState(0), 2), heightYFactor = _s[0], setHeightYFactor = _s[1];
91
- var _t = __read(React.useState(0), 2), heightXLabel = _t[0], setHeightXLabel = _t[1];
92
- var _u = __read(React.useState(0), 2), heightYLabel = _u[0], setHeightYLabel = _u[1];
80
+ var _b = __read(React.useState(new Map()), 2), handlers = _b[0], setHandlers = _b[1];
81
+ var _c = __read(React.useState(props.defaultTdomain), 2), tDomain = _c[0], setTdomain = _c[1];
82
+ var _d = __read(React.useState(0), 2), tOffset = _d[0], setToffset = _d[1];
83
+ var _e = __read(React.useState(1), 2), tScale = _e[0], setTscale = _e[1];
84
+ var _f = __read(React.useState([0, 0]), 2), yDomain = _f[0], setYdomain = _f[1];
85
+ var _g = __read(React.useState(0), 2), yOffset = _g[0], setYoffset = _g[1];
86
+ var _h = __read(React.useState(1), 2), yScale = _h[0], setYscale = _h[1];
87
+ var _j = __read(React.useState('none'), 2), mouseMode = _j[0], setMouseMode = _j[1];
88
+ var _k = __read(React.useState('zoom'), 2), selectedMode = _k[0], setSelectedMode = _k[1];
89
+ var _l = __read(React.useState(false), 2), mouseIn = _l[0], setMouseIn = _l[1];
90
+ var _m = __read(React.useState([0, 0]), 2), mousePosition = _m[0], setMousePosition = _m[1];
91
+ var _o = __read(React.useState([0, 0]), 2), mouseClick = _o[0], setMouseClick = _o[1];
92
+ var _p = __read(React.useState(10), 2), offsetTop = _p[0], setOffsetTop = _p[1];
93
+ var _q = __read(React.useState(10), 2), offsetBottom = _q[0], setOffsetBottom = _q[1];
94
+ var _r = __read(React.useState(5), 2), offsetLeft = _r[0], setOffsetLeft = _r[1];
95
+ var _s = __read(React.useState(5), 2), offsetRight = _s[0], setOffsetRight = _s[1];
96
+ var _t = __read(React.useState(0), 2), heightYFactor = _t[0], setHeightYFactor = _t[1];
97
+ var _u = __read(React.useState(0), 2), heightXLabel = _u[0], setHeightXLabel = _u[1];
98
+ var _v = __read(React.useState(0), 2), heightYLabel = _v[0], setHeightYLabel = _v[1];
93
99
  // Constants
94
100
  var SVGHeight = props.height - (props.legend === 'bottom' ? (props.legendHeight !== undefined ? props.legendHeight : 50) : 0);
95
101
  var SVGWidth = props.width - (props.legend === 'right' ? (props.legendWidth !== undefined ? props.legendWidth : 100) : 0);
@@ -160,20 +166,36 @@ var Plot = function (props) {
160
166
  return updated;
161
167
  });
162
168
  }
169
+ function RegisterSelect(handler) {
170
+ var key = (0, helper_functions_1.CreateGuid)();
171
+ setHandlers(function (fld) { var updated = (0, lodash_1.cloneDeep)(fld); updated.set(key, handler); return updated; });
172
+ return key;
173
+ }
174
+ function RemoveSelect(key) {
175
+ setHandlers(function (fld) { var updated = (0, lodash_1.cloneDeep)(fld); updated.delete(key); return updated; });
176
+ }
177
+ function UpdateSelect(key, handler) {
178
+ setHandlers(function (fld) { var updated = (0, lodash_1.cloneDeep)(fld); updated.set(key, handler); return updated; });
179
+ }
163
180
  function GetContext() {
164
181
  return {
165
182
  XDomain: tDomain,
166
183
  XScale: tScale,
167
184
  XOffset: tOffset,
168
185
  XHover: mouseIn ? (mousePosition[0] - tOffset) / tScale : NaN,
186
+ YHover: mouseIn ? (mousePosition[1] - yOffset) / yScale : NaN,
169
187
  YDomain: yDomain,
170
188
  YScale: yScale,
171
189
  YOffset: yOffset,
190
+ CurrentMode: selectedMode,
172
191
  Data: data,
173
192
  AddData: AddData,
174
193
  RemoveData: RemoveData,
175
194
  UpdateData: UpdateData,
176
- SetLegend: SetLegend
195
+ SetLegend: SetLegend,
196
+ RegisterSelect: RegisterSelect,
197
+ RemoveSelect: RemoveSelect,
198
+ UpdateSelect: UpdateSelect
177
199
  };
178
200
  }
179
201
  function handleMouseWheel(evt) {
@@ -232,6 +254,8 @@ var Plot = function (props) {
232
254
  setMouseMode('pan');
233
255
  if (selectedMode === 'select' && props.onSelect !== undefined)
234
256
  props.onSelect((ptTransform.x - tOffset) / tScale);
257
+ if (handlers.size > 0 && selectedMode === 'select')
258
+ handlers.forEach(function (v) { return (v.onClick !== undefined ? v.onClick((ptTransform.x - tOffset) / tScale, (ptTransform.y - yOffset) / yScale) : null); });
235
259
  }
236
260
  function handleMouseUp(_) {
237
261
  if (mouseMode === 'zoom') {
@@ -244,18 +268,22 @@ var Plot = function (props) {
244
268
  setTdomain(function (curr) { return (Math.min(curr[1], t1_1) - Math.max(curr[0], t0_1)) > 10 ? [Math.max(curr[0], t0_1), Math.min(curr[1], t1_1)] : [curr[0], curr[1]]; });
245
269
  }
246
270
  setMouseMode('none');
271
+ if (handlers.size > 0 && selectedMode === 'select')
272
+ handlers.forEach(function (v) { return (v.onRelease !== undefined ? v.onRelease((mousePosition[0] - tOffset) / tScale, (mousePosition[1] - yOffset) / yScale) : null); });
247
273
  }
248
274
  function handleMouseOut(_) {
249
275
  setMouseIn(false);
250
276
  if (mouseMode === 'pan')
251
277
  setMouseMode('none');
278
+ if (handlers.size > 0 && selectedMode === 'select')
279
+ handlers.forEach(function (v) { return (v.onPlotLeave !== undefined ? v.onPlotLeave((mousePosition[0] - tOffset) / tScale, (mousePosition[1] - yOffset) / yScale) : null); });
252
280
  }
253
281
  function handleMouseIn(_) {
254
282
  setMouseIn(true);
255
283
  }
256
284
  return (React.createElement(GraphContext_1.GraphContext.Provider, { value: GetContext() },
257
285
  React.createElement("div", { style: { height: props.height, width: props.width, position: 'relative' } },
258
- React.createElement("div", { style: { height: SVGHeight, width: SVGWidth, position: 'relative' }, onWheel: handleMouseWheel, onMouseMove: handleMouseMove, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onMouseLeave: handleMouseOut, onMouseEnter: handleMouseIn },
286
+ React.createElement("div", { style: { height: SVGHeight, width: SVGWidth, position: 'absolute' }, onWheel: handleMouseWheel, onMouseMove: handleMouseMove, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onMouseLeave: handleMouseOut, onMouseEnter: handleMouseIn },
259
287
  React.createElement("svg", { ref: SVGref, width: SVGWidth, height: SVGHeight, style: SvgStyle, viewBox: "0 0 " + SVGWidth + " " + SVGHeight },
260
288
  props.showBorder !== undefined && props.showBorder ? React.createElement("path", { stroke: 'black', d: "M " + offsetLeft + " " + offsetTop + " H " + (SVGWidth - offsetRight) + " V " + (SVGWidth - offsetBottom) + " H " + offsetLeft + " Z" }) : null,
261
289
  React.createElement(TimeAxis_1.default, { label: props.Tlabel, offsetBottom: offsetBottom, offsetLeft: offsetLeft, offsetRight: offsetRight, width: SVGWidth, height: SVGHeight, setHeight: setHeightXLabel, heightAxis: heightXLabel }),
@@ -264,22 +292,35 @@ var Plot = function (props) {
264
292
  React.createElement("clipPath", { id: "cp-" + guid },
265
293
  React.createElement("path", { stroke: 'none', fill: 'none', d: " M " + offsetLeft + "," + (offsetTop - 5) + " H " + (SVGWidth - offsetRight + 5) + " V " + (SVGHeight - offsetBottom) + " H " + offsetLeft + " Z" }))),
266
294
  React.createElement("g", { clipPath: 'url(#cp-' + guid + ')' },
267
- props.children,
295
+ React.Children.map(props.children, function (element) {
296
+ if (!React.isValidElement(element))
297
+ return null;
298
+ if (element.type === Line_1.default || element.type === LineWithThreshold_1.default ||
299
+ element.type === HorizontalMarker_1.default || element.type === VerticalMarker_1.default)
300
+ return element;
301
+ return null;
302
+ }),
268
303
  props.showMouse === undefined || props.showMouse ?
269
304
  React.createElement("path", { stroke: 'black', style: { strokeWidth: 2, opacity: mouseIn ? 0.8 : 0.0 }, d: "M " + mousePosition[0] + " " + offsetTop + " V " + (SVGHeight - offsetBottom) })
270
305
  : null,
271
306
  (props.zoom === undefined || props.zoom) && mouseMode === 'zoom' ?
272
307
  React.createElement("rect", { fillOpacity: 0.8, fill: 'black', x: Math.min(mouseClick[0], mousePosition[0]), y: offsetTop, width: Math.abs(mouseClick[0] - mousePosition[0]), height: SVGHeight - offsetTop - offsetBottom })
273
308
  : null),
274
- React.createElement(InteractiveButtons_1.default, { showPan: (props.pan === undefined || props.pan), showZoom: props.zoom === undefined || props.zoom, showReset: !(props.pan !== undefined && props.zoom !== undefined && !props.zoom && !props.pan), showSelect: props.onSelect !== undefined, showDownload: props.onDataInspect !== undefined, currentSelection: selectedMode, setSelection: function (s) {
309
+ React.createElement(InteractiveButtons_1.default, { showPan: (props.pan === undefined || props.pan), showZoom: props.zoom === undefined || props.zoom, showReset: !(props.pan !== undefined && props.zoom !== undefined && !props.zoom && !props.pan), showSelect: props.onSelect !== undefined || handlers.size > 0, showDownload: props.onDataInspect !== undefined, currentSelection: selectedMode, setSelection: function (s) {
275
310
  if (s === "reset")
276
311
  Reset();
277
312
  else if (s === "download")
278
313
  props.onDataInspect(tDomain);
279
314
  else
280
315
  setSelectedMode(s);
281
- }, x: SVGWidth - offsetRight - 12, y: 22 }))),
316
+ }, x: SVGWidth - offsetRight - 12, y: 22 }, React.Children.map(props.children, function (element) {
317
+ if (!React.isValidElement(element))
318
+ return null;
319
+ if (element.type === Button_1.default)
320
+ return element;
321
+ return null;
322
+ })))),
282
323
  props.legend !== undefined && props.legend !== 'hidden' ? React.createElement(Legend_1.default, { location: props.legend, height: props.legendHeight !== undefined ? props.legendHeight : 50, width: props.legendWidth !== undefined ? props.legendWidth : 100, graphWidth: SVGWidth, graphHeight: SVGHeight }) : null)));
283
324
  };
284
325
  exports.default = Plot;
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QbG90LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLDJEQUFzRDtBQUN0RCwrQ0FBd0U7QUFDeEUsbUVBQTBEO0FBQzFELGlDQUFpQztBQUNqQyx1Q0FBa0M7QUFDbEMseUNBQW9DO0FBQ3BDLG1DQUE4QjtBQXVCOUIsSUFBTSxRQUFRLEdBQXdCO0lBQ2xDLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFLE1BQU07SUFDbEIsa0JBQWtCLEVBQUUsTUFBTTtJQUMxQixnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLFlBQVksRUFBRSxNQUFNO0lBQ3BCLGFBQWEsRUFBRSxNQUFNO0NBQ3hCLENBQUM7QUFFRixJQUFNLElBQUksR0FBb0MsVUFBQyxLQUFLO0lBQ2hEOztNQUVFO0lBQ0YsSUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUN2QyxJQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQU0sT0FBQSxJQUFBLDZCQUFVLEdBQUUsRUFBWixDQUFZLEVBQUMsRUFBRSxDQUFDLENBQUM7SUFD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
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QbG90LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLDJEQUFzRDtBQUN0RCwrQ0FBbUY7QUFDbkYsbUVBQTBEO0FBQzFELGlDQUEyQztBQUMzQyx1Q0FBa0M7QUFDbEMseUNBQW9DO0FBQ3BDLG1DQUE4QjtBQUM5Qix5REFBb0Q7QUFDcEQsK0JBQTBCO0FBQzFCLG1DQUE4QjtBQUM5Qix1REFBa0Q7QUFDbEQsbURBQThDO0FBdUI5QyxJQUFNLFFBQVEsR0FBd0I7SUFDbEMsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLEVBQUUsTUFBTTtJQUNsQixrQkFBa0IsRUFBRSxNQUFNO0lBQzFCLGdCQUFnQixFQUFFLE1BQU07SUFDeEIsZUFBZSxFQUFFLE1BQU07SUFDdkIsYUFBYSxFQUFFLE1BQU07SUFDckIsWUFBWSxFQUFFLE1BQU07SUFDcEIsYUFBYSxFQUFFLE1BQU07Q0FDeEIsQ0FBQztBQUVGLElBQU0sSUFBSSxHQUFvQyxVQUFDLEtBQUs7SUFDaEQ7O01BRUU7SUFDRixJQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLElBQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFP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QzFFLElBQU0sSUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBRTFFLFVBQVUsQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQXhILENBQXdILENBQUMsQ0FBQztTQUNsSjtRQUNELFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyQixJQUFJLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLFlBQVksS0FBSyxRQUFRO1lBQ2hELFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFFLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQTNILENBQTJILENBQUMsQ0FBQztJQUUzSixDQUFDO0lB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
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { LineStyle } from './GraphContext';
3
+ export interface IProps {
4
+ start?: number;
5
+ end?: number;
6
+ Value: number;
7
+ setValue?: (x: number) => void;
8
+ color: string;
9
+ lineStyle: LineStyle;
10
+ width: number;
11
+ }
12
+ declare function VerticalMarker(props: IProps): JSX.Element;
13
+ export default VerticalMarker;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ // ******************************************************************************************************
3
+ // Vertica;Marker.tsx - Gbtc
4
+ //
5
+ // Copyright © 2022, Grid Protection Alliance. All Rights Reserved.
6
+ //
7
+ // Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
8
+ // the NOTICE file distributed with this work for additional information regarding copyright ownership.
9
+ // The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this
10
+ // file except in compliance with the License. You may obtain a copy of the License at:
11
+ //
12
+ // http://opensource.org/licenses/MIT
13
+ //
14
+ // Unless agreed to in writing, the subject software distributed under the License is distributed on an
15
+ // "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
16
+ // License for the specific language governing permissions and limitations.
17
+ //
18
+ // Code Modification History:
19
+ // ----------------------------------------------------------------------------------------------------
20
+ // 04/29/2022 - C Lackner
21
+ // Generated original version of source code.
22
+ //
23
+ // ******************************************************************************************************
24
+ var __read = (this && this.__read) || function (o, n) {
25
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
26
+ if (!m) return o;
27
+ var i = m.call(o), r, ar = [], e;
28
+ try {
29
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
+ }
31
+ catch (error) { e = { error: error }; }
32
+ finally {
33
+ try {
34
+ if (r && !r.done && (m = i["return"])) m.call(i);
35
+ }
36
+ finally { if (e) throw e.error; }
37
+ }
38
+ return ar;
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ var React = require("react");
42
+ var GraphContext_1 = require("./GraphContext");
43
+ function VerticalMarker(props) {
44
+ /*
45
+ Marks an X Value vertically as a line.
46
+ */
47
+ var context = React.useContext(GraphContext_1.GraphContext);
48
+ var _a = __read(React.useState(props.Value), 2), value = _a[0], setValue = _a[1];
49
+ var _b = __read(React.useState(false), 2), isSelected = _b[0], setSelected = _b[1];
50
+ var _c = __read(React.useState(""), 2), guid = _c[0], setGuid = _c[1];
51
+ React.useEffect(function () {
52
+ var id = context.RegisterSelect({
53
+ onClick: onClick,
54
+ onRelease: function (_) { return setSelected(false); },
55
+ onPlotLeave: function (_) { return setSelected(false); }
56
+ });
57
+ setGuid(id);
58
+ return function () { context.RemoveSelect(id); };
59
+ }, []);
60
+ React.useEffect(function () {
61
+ if (guid === "")
62
+ return;
63
+ context.UpdateSelect(guid, {
64
+ onClick: onClick,
65
+ onRelease: function (_) { return setSelected(false); },
66
+ onPlotLeave: function (_) { return setSelected(false); }
67
+ });
68
+ }, [props.width, props.Value, context.XScale]);
69
+ React.useEffect(function () {
70
+ setValue(props.Value);
71
+ }, [props.Value]);
72
+ React.useEffect(function () {
73
+ if (props.setValue === undefined)
74
+ return;
75
+ if (!isSelected && props.Value !== value)
76
+ props.setValue(value);
77
+ }, [isSelected, value]);
78
+ React.useEffect(function () {
79
+ if (context.CurrentMode !== 'select')
80
+ setSelected(false);
81
+ }, [context.CurrentMode]);
82
+ React.useEffect(function () {
83
+ if (isSelected)
84
+ setValue(context.XHover);
85
+ }, [context.XHover]);
86
+ function generateData() {
87
+ var y1 = (props.start === undefined ? context.YDomain[0] : props.start);
88
+ var y2 = (props.end === undefined ? context.YDomain[1] : props.end);
89
+ return "M " + (props.Value * context.XScale + context.XOffset) + " " + (y1 * context.YScale + context.YOffset) + " L " + (props.Value * context.XScale + context.XOffset) + " " + (y2 * context.YScale + context.YOffset);
90
+ }
91
+ function onClick(x, _) {
92
+ var d = Math.abs(props.width / context.XScale);
93
+ if (Math.abs(x - props.Value) < d)
94
+ setSelected(true);
95
+ }
96
+ return (React.createElement("g", null,
97
+ React.createElement("path", { d: generateData(), style: { fill: 'none', strokeWidth: props.width, stroke: props.color, cursor: (props.setValue !== undefined && true) ? 'grab' : 'auto' }, strokeDasharray: props.lineStyle === ':' ? '10,5' : 'none' })));
98
+ }
99
+ exports.default = VerticalMarker;
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWxNYXJrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvVmVydGljYWxNYXJrZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5R0FBeUc7QUFDekcsNkJBQTZCO0FBQzdCLEVBQUU7QUFDRixxRUFBcUU7QUFDckUsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsc0dBQXNHO0FBQ3RHLHdGQUF3RjtBQUN4RixFQUFFO0FBQ0YsMENBQTBDO0FBQzFDLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLDRFQUE0RTtBQUM1RSxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHdHQUF3RztBQUN4RywwQkFBMEI7QUFDMUIsbURBQW1EO0FBQ25ELEVBQUU7QUFDRix5R0FBeUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUd6Ryw2QkFBK0I7QUFDL0IsK0NBQWtFO0FBWWxFLFNBQVMsY0FBYyxDQUFDLEtBQWE7SUFDbkM7O01BRUU7SUFDRixJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQTtJQUN4QyxJQUFBLEtBQUEsT0FBb0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUEsRUFBdEQsS0FBSyxRQUFBLEVBQUUsUUFBUSxRQUF1QyxDQUFDO0lBQ3hELElBQUEsS0FBQSxPQUE2QixLQUFLLENBQUMsUUFBUSxDQUFVLEtBQUssQ0FBQyxJQUFBLEVBQXpELFVBQVUsUUFBQSxFQUFFLFdBQVcsUUFBa0MsQ0FBQztJQUM1RCxJQUFBLEtBQUEsT0FBa0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLENBQUMsSUFBQSxFQUEzQyxJQUFJLFFBQUEsRUFBRSxPQUFPLFFBQThCLENBQUM7SUFFbkQsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNWLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTyxTQUFBO1lB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
package/lib/index.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import Plot from './Plot';
2
2
  import Line from './Line';
3
3
  import LineWithThreshold from './LineWithThreshold';
4
- export { Plot, Line, LineWithThreshold };
4
+ import HorizontalMarker from './HorizontalMarker';
5
+ import Button from './Button';
6
+ import VerticalMarker from './VerticalMarker';
7
+ export { Plot, Line, LineWithThreshold, Button, HorizontalMarker, VerticalMarker };
package/lib/index.js CHANGED
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LineWithThreshold = exports.Line = exports.Plot = void 0;
3
+ exports.VerticalMarker = exports.HorizontalMarker = exports.Button = exports.LineWithThreshold = exports.Line = exports.Plot = void 0;
4
4
  var Plot_1 = require("./Plot");
5
5
  exports.Plot = Plot_1.default;
6
6
  var Line_1 = require("./Line");
7
7
  exports.Line = Line_1.default;
8
8
  var LineWithThreshold_1 = require("./LineWithThreshold");
9
9
  exports.LineWithThreshold = LineWithThreshold_1.default;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBCO0FBR2xCLGVBSEQsY0FBSSxDQUdDO0FBRlosK0JBQTBCO0FBRVosZUFGUCxjQUFJLENBRU87QUFEbEIseURBQW1EO0FBQy9CLDRCQURiLDJCQUFpQixDQUNhIn0=
10
+ var HorizontalMarker_1 = require("./HorizontalMarker");
11
+ exports.HorizontalMarker = HorizontalMarker_1.default;
12
+ var Button_1 = require("./Button");
13
+ exports.Button = Button_1.default;
14
+ var VerticalMarker_1 = require("./VerticalMarker");
15
+ exports.VerticalMarker = VerticalMarker_1.default;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBCO0FBT2xCLGVBUEQsY0FBSSxDQU9DO0FBTlosK0JBQTBCO0FBTVosZUFOUCxjQUFJLENBTU87QUFMbEIseURBQW9EO0FBS2hDLDRCQUxiLDJCQUFpQixDQUthO0FBSnJDLHVEQUFrRDtBQUlILDJCQUp4QywwQkFBZ0IsQ0FJd0M7QUFIL0QsbUNBQThCO0FBR1MsaUJBSGhDLGdCQUFNLENBR2dDO0FBRjdDLG1EQUE4QztBQUVtQix5QkFGMUQsd0JBQWMsQ0FFMEQifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gpa-gemstone/react-graph",
3
- "version": "1.0.14",
3
+ "version": "1.0.17",
4
4
  "description": "Interactive UI Components for GPA products",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -48,10 +48,10 @@
48
48
  "typescript": "4.4.4"
49
49
  },
50
50
  "dependencies": {
51
- "@gpa-gemstone/gpa-symbols": "0.0.20",
52
- "@gpa-gemstone/helper-functions": "0.0.14",
51
+ "@gpa-gemstone/gpa-symbols": "0.0.21",
52
+ "@gpa-gemstone/helper-functions": "0.0.15",
53
53
  "lodash": "^4.17.21",
54
- "moment": "^2.29.1",
54
+ "moment": "^2.29.4",
55
55
  "react": "^17.0.2"
56
56
  },
57
57
  "publishConfig": {