@pie-lib/graphing 2.4.3-next.362 → 2.4.3-next.406

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.
Files changed (100) hide show
  1. package/lib/axis/arrow.js +15 -25
  2. package/lib/axis/arrow.js.map +1 -1
  3. package/lib/axis/axes.js +41 -73
  4. package/lib/axis/axes.js.map +1 -1
  5. package/lib/axis/index.js +1 -1
  6. package/lib/bg.js +20 -31
  7. package/lib/bg.js.map +1 -1
  8. package/lib/container/index.js +27 -41
  9. package/lib/container/index.js.map +1 -1
  10. package/lib/container/reducer.js +2 -2
  11. package/lib/container/reducer.js.map +1 -1
  12. package/lib/coordinates-label.js +5 -5
  13. package/lib/coordinates-label.js.map +1 -1
  14. package/lib/graph-with-controls.js +26 -37
  15. package/lib/graph-with-controls.js.map +1 -1
  16. package/lib/graph.js +43 -69
  17. package/lib/graph.js.map +1 -1
  18. package/lib/grid-setup.js +6 -6
  19. package/lib/grid-setup.js.map +1 -1
  20. package/lib/grid.js +28 -46
  21. package/lib/grid.js.map +1 -1
  22. package/lib/index.js +3 -3
  23. package/lib/index.js.map +1 -1
  24. package/lib/labels.js +22 -38
  25. package/lib/labels.js.map +1 -1
  26. package/lib/mark-label.js +10 -20
  27. package/lib/mark-label.js.map +1 -1
  28. package/lib/toggle-bar.js +22 -33
  29. package/lib/toggle-bar.js.map +1 -1
  30. package/lib/tool-menu.js +21 -32
  31. package/lib/tool-menu.js.map +1 -1
  32. package/lib/tools/circle/bg-circle.js +27 -38
  33. package/lib/tools/circle/bg-circle.js.map +1 -1
  34. package/lib/tools/circle/component.js +36 -54
  35. package/lib/tools/circle/component.js.map +1 -1
  36. package/lib/tools/circle/index.js +5 -5
  37. package/lib/tools/circle/index.js.map +1 -1
  38. package/lib/tools/line/component.js +11 -25
  39. package/lib/tools/line/component.js.map +1 -1
  40. package/lib/tools/line/index.js +2 -2
  41. package/lib/tools/line/index.js.map +1 -1
  42. package/lib/tools/parabola/component.js +2 -2
  43. package/lib/tools/parabola/component.js.map +1 -1
  44. package/lib/tools/parabola/index.js +5 -5
  45. package/lib/tools/parabola/index.js.map +1 -1
  46. package/lib/tools/point/component.js +30 -47
  47. package/lib/tools/point/component.js.map +1 -1
  48. package/lib/tools/point/index.js +5 -5
  49. package/lib/tools/point/index.js.map +1 -1
  50. package/lib/tools/polygon/component.js +59 -107
  51. package/lib/tools/polygon/component.js.map +1 -1
  52. package/lib/tools/polygon/index.js +9 -19
  53. package/lib/tools/polygon/index.js.map +1 -1
  54. package/lib/tools/polygon/line.js +28 -41
  55. package/lib/tools/polygon/line.js.map +1 -1
  56. package/lib/tools/polygon/polygon.js +28 -42
  57. package/lib/tools/polygon/polygon.js.map +1 -1
  58. package/lib/tools/ray/component.js +11 -25
  59. package/lib/tools/ray/component.js.map +1 -1
  60. package/lib/tools/ray/index.js +2 -2
  61. package/lib/tools/ray/index.js.map +1 -1
  62. package/lib/tools/segment/component.js +8 -11
  63. package/lib/tools/segment/component.js.map +1 -1
  64. package/lib/tools/segment/index.js +2 -2
  65. package/lib/tools/segment/index.js.map +1 -1
  66. package/lib/tools/shared/arrow-head.js +2 -2
  67. package/lib/tools/shared/arrow-head.js.map +1 -1
  68. package/lib/tools/shared/line/index.js +43 -66
  69. package/lib/tools/shared/line/index.js.map +1 -1
  70. package/lib/tools/shared/line/line-path.js +29 -42
  71. package/lib/tools/shared/line/line-path.js.map +1 -1
  72. package/lib/tools/shared/line/with-root-edge.js +12 -14
  73. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  74. package/lib/tools/shared/point/arrow-point.js +24 -39
  75. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  76. package/lib/tools/shared/point/arrow.js +23 -37
  77. package/lib/tools/shared/point/arrow.js.map +1 -1
  78. package/lib/tools/shared/point/base-point.js +24 -38
  79. package/lib/tools/shared/point/base-point.js.map +1 -1
  80. package/lib/tools/shared/point/index.js +6 -6
  81. package/lib/tools/shared/point/index.js.map +1 -1
  82. package/lib/tools/shared/styles.js +7 -5
  83. package/lib/tools/shared/styles.js.map +1 -1
  84. package/lib/tools/shared/types.js +2 -2
  85. package/lib/tools/shared/types.js.map +1 -1
  86. package/lib/tools/sine/component.js +2 -2
  87. package/lib/tools/sine/component.js.map +1 -1
  88. package/lib/tools/sine/index.js +5 -5
  89. package/lib/tools/sine/index.js.map +1 -1
  90. package/lib/tools/vector/component.js +8 -11
  91. package/lib/tools/vector/component.js.map +1 -1
  92. package/lib/tools/vector/index.js +2 -2
  93. package/lib/tools/vector/index.js.map +1 -1
  94. package/lib/undo-redo.js +19 -31
  95. package/lib/undo-redo.js.map +1 -1
  96. package/lib/use-debounce.js +5 -13
  97. package/lib/use-debounce.js.map +1 -1
  98. package/lib/utils.js +2 -2
  99. package/lib/utils.js.map +1 -1
  100. package/package.json +3 -3
package/lib/bg.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bg.js","names":["Bg","rect","props","onClick","graphProps","scale","coords","mouse","_groups","x","invert","y","rowTicks","getTickValues","range","columnTicks","domain","closest","ticks","value","length","reduce","prev","curr","currentDistance","Math","abs","previousDistance","snapped","indexOf","select","on","onRectClick","bind","nextProps","utils","isDomainRangeEqual","width","height","React","Component","PropTypes","number","isRequired","func","types","GraphPropsType"],"sources":["../src/bg.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { select, mouse } from 'd3-selection';\nimport { types, utils } from '@pie-lib/plot';\nimport { getTickValues } from './utils';\n\nexport default class Bg extends React.Component {\n static propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n onClick: PropTypes.func.isRequired,\n graphProps: types.GraphPropsType.isRequired\n };\n\n static defaultProps = {};\n\n componentDidMount() {\n const rect = select(this.rect);\n rect.on('click', this.onRectClick.bind(this, rect));\n }\n\n shouldComponentUpdate(nextProps) {\n return (\n !utils.isDomainRangeEqual(this.props.graphProps, nextProps.graphProps) ||\n this.props.width !== nextProps.width ||\n this.props.height !== nextProps.height\n );\n }\n /**\n * Note: we use d3 click + mouse to give us domain values directly.\n * Saves us having to calculate them ourselves from a MouseEvent.\n */\n onRectClick = rect => {\n const { onClick, graphProps } = this.props;\n const { scale } = graphProps;\n const coords = mouse(rect._groups[0][0]);\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n const rowTicks = getTickValues(graphProps.range);\n const columnTicks = getTickValues(graphProps.domain);\n\n const closest = (ticks, value) => {\n return (\n ticks.length &&\n ticks.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n };\n\n let snapped = {};\n\n if (columnTicks.indexOf(x) >= 0 && rowTicks.indexOf(y) >= 0) {\n snapped.x = x;\n snapped.y = y;\n } else {\n snapped.x = closest(columnTicks, x);\n snapped.y = closest(rowTicks, y);\n }\n\n onClick(snapped);\n };\n\n render() {\n const { width, height } = this.props;\n return (\n <rect\n ref={rect => (this.rect = rect)}\n fill=\"red\"\n fillOpacity=\"0.0\"\n width={width}\n height={height}\n />\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"bg.js","names":["Bg","rect","props","onClick","graphProps","scale","coords","mouse","_groups","x","invert","y","rowTicks","getTickValues","range","columnTicks","domain","closest","ticks","value","length","reduce","prev","curr","currentDistance","Math","abs","previousDistance","snapped","indexOf","select","on","onRectClick","bind","nextProps","utils","isDomainRangeEqual","width","height","React","Component","PropTypes","number","isRequired","func","types","GraphPropsType"],"sources":["../src/bg.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { select, mouse } from 'd3-selection';\nimport { types, utils } from '@pie-lib/plot';\nimport { getTickValues } from './utils';\n\nexport default class Bg extends React.Component {\n static propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n onClick: PropTypes.func.isRequired,\n graphProps: types.GraphPropsType.isRequired\n };\n\n static defaultProps = {};\n\n componentDidMount() {\n const rect = select(this.rect);\n rect.on('click', this.onRectClick.bind(this, rect));\n }\n\n shouldComponentUpdate(nextProps) {\n return (\n !utils.isDomainRangeEqual(this.props.graphProps, nextProps.graphProps) ||\n this.props.width !== nextProps.width ||\n this.props.height !== nextProps.height\n );\n }\n /**\n * Note: we use d3 click + mouse to give us domain values directly.\n * Saves us having to calculate them ourselves from a MouseEvent.\n */\n onRectClick = rect => {\n const { onClick, graphProps } = this.props;\n const { scale } = graphProps;\n const coords = mouse(rect._groups[0][0]);\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n const rowTicks = getTickValues(graphProps.range);\n const columnTicks = getTickValues(graphProps.domain);\n\n const closest = (ticks, value) => {\n return (\n ticks.length &&\n ticks.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n };\n\n let snapped = {};\n\n if (columnTicks.indexOf(x) >= 0 && rowTicks.indexOf(y) >= 0) {\n snapped.x = x;\n snapped.y = y;\n } else {\n snapped.x = closest(columnTicks, x);\n snapped.y = closest(rowTicks, y);\n }\n\n onClick(snapped);\n };\n\n render() {\n const { width, height } = this.props;\n return (\n <rect\n ref={rect => (this.rect = rect)}\n fill=\"red\"\n fillOpacity=\"0.0\"\n width={width}\n height={height}\n />\n );\n }\n}\n"],"mappings":"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"}
@@ -1,12 +1,30 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = exports.GraphContainer = void 0;
9
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
10
28
  var _reactRedux = require("react-redux");
11
29
 
12
30
  var _react = _interopRequireDefault(require("react"));
@@ -27,36 +45,10 @@ var _graphWithControls = _interopRequireDefault(require("../graph-with-controls"
27
45
 
28
46
  var _excluded = ["onChangeMarks", "marks"];
29
47
 
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
-
32
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
33
-
34
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
35
-
36
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
37
-
38
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
39
-
40
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
41
-
42
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
43
-
44
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
45
-
46
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
47
-
48
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
49
-
50
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
51
-
52
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
48
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
53
49
 
54
50
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
55
51
 
56
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
57
-
58
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
59
-
60
52
  var mapStateToProps = function mapStateToProps(s) {
61
53
  return {
62
54
  marks: s.marks.present
@@ -89,18 +81,16 @@ var GraphContainer = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProp
89
81
  exports.GraphContainer = GraphContainer;
90
82
 
91
83
  var Root = /*#__PURE__*/function (_React$Component) {
92
- _inherits(Root, _React$Component);
84
+ (0, _inherits2["default"])(Root, _React$Component);
93
85
 
94
86
  var _super = _createSuper(Root);
95
87
 
96
88
  function Root(props) {
97
89
  var _this;
98
90
 
99
- _classCallCheck(this, Root);
100
-
91
+ (0, _classCallCheck2["default"])(this, Root);
101
92
  _this = _super.call(this, props);
102
-
103
- _defineProperty(_assertThisInitialized(_this), "onStoreChange", function () {
93
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onStoreChange", function () {
104
94
  var _this$props = _this.props,
105
95
  marks = _this$props.marks,
106
96
  onChangeMarks = _this$props.onChangeMarks;
@@ -111,7 +101,6 @@ var Root = /*#__PURE__*/function (_React$Component) {
111
101
  onChangeMarks(storeState.marks.present);
112
102
  }
113
103
  });
114
-
115
104
  var r = (0, _reducer["default"])();
116
105
  _this.store = (0, _redux.createStore)(r, {
117
106
  marks: props.marks
@@ -122,21 +111,20 @@ var Root = /*#__PURE__*/function (_React$Component) {
122
111
  return _this;
123
112
  }
124
113
 
125
- _createClass(Root, [{
114
+ (0, _createClass2["default"])(Root, [{
126
115
  key: "render",
127
116
  value: function render() {
128
117
  // eslint-disable-next-line no-unused-vars
129
118
  var _this$props2 = this.props,
130
119
  onChangeMarks = _this$props2.onChangeMarks,
131
120
  marks = _this$props2.marks,
132
- rest = _objectWithoutProperties(_this$props2, _excluded);
133
-
121
+ rest = (0, _objectWithoutProperties2["default"])(_this$props2, _excluded);
134
122
  var correctnessSet = marks && marks.find(function (m) {
135
123
  return m.correctness;
136
124
  });
137
125
 
138
126
  if (correctnessSet) {
139
- return /*#__PURE__*/_react["default"].createElement(_graphWithControls["default"], _extends({}, rest, {
127
+ return /*#__PURE__*/_react["default"].createElement(_graphWithControls["default"], (0, _extends2["default"])({}, rest, {
140
128
  marks: marks,
141
129
  disabled: correctnessSet
142
130
  }));
@@ -147,15 +135,13 @@ var Root = /*#__PURE__*/function (_React$Component) {
147
135
  }, /*#__PURE__*/_react["default"].createElement(GraphContainer, rest));
148
136
  }
149
137
  }]);
150
-
151
138
  return Root;
152
139
  }(_react["default"].Component);
153
140
 
154
- _defineProperty(Root, "propTypes", {
141
+ (0, _defineProperty2["default"])(Root, "propTypes", {
155
142
  onChangeMarks: _propTypes["default"].func,
156
143
  marks: _propTypes["default"].array
157
144
  });
158
-
159
145
  var _default = Root;
160
146
  exports["default"] = _default;
161
147
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["mapStateToProps","s","marks","present","mapDispatchToProps","dispatch","onChangeMarks","m","changeMarks","onUndo","ActionCreators","undo","onRedo","redo","onReset","GraphContainer","connect","GraphWithControls","Root","props","storeState","store","getState","isEqual","r","reducer","createStore","subscribe","onStoreChange","rest","correctnessSet","find","correctness","React","Component","PropTypes","func","array"],"sources":["../../src/container/index.jsx"],"sourcesContent":["import { connect } from 'react-redux';\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport { createStore } from 'redux';\nimport reducer from './reducer';\nimport { changeMarks } from './actions';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash/isEqual';\nimport { ActionCreators } from 'redux-undo';\nimport GraphWithControls from '../graph-with-controls';\n\nconst mapStateToProps = s => ({\n marks: s.marks.present\n});\n\nconst mapDispatchToProps = dispatch => ({\n onChangeMarks: m => dispatch(changeMarks(m)),\n onUndo: () => dispatch(ActionCreators.undo()),\n onRedo: () => dispatch(ActionCreators.redo()),\n onReset: () => dispatch(changeMarks([]))\n});\n\nexport const GraphContainer = connect(mapStateToProps, mapDispatchToProps)(GraphWithControls);\n\n/**\n * The graph component entry point with undo/redo\n * Redux is an implementation detail, hide it in the react component.\n */\nclass Root extends React.Component {\n static propTypes = {\n onChangeMarks: PropTypes.func,\n marks: PropTypes.array\n };\n\n constructor(props) {\n super(props);\n\n const r = reducer();\n this.store = createStore(r, { marks: props.marks });\n\n this.store.subscribe(this.onStoreChange);\n }\n\n onStoreChange = () => {\n const { marks, onChangeMarks } = this.props;\n const storeState = this.store.getState();\n\n if (!isEqual(storeState.marks.present, marks)) {\n onChangeMarks(storeState.marks.present);\n }\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const { onChangeMarks, marks, ...rest } = this.props;\n const correctnessSet = marks && marks.find(m => m.correctness);\n\n if (correctnessSet) {\n return <GraphWithControls {...rest} marks={marks} disabled={correctnessSet} />;\n }\n\n return (\n <Provider store={this.store}>\n <GraphContainer {...rest} />\n </Provider>\n );\n }\n}\n\nexport default Root;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,CAAC;EAAA,OAAK;IAC5BC,KAAK,EAAED,CAAC,CAACC,KAAF,CAAQC;EADa,CAAL;AAAA,CAAzB;;AAIA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,QAAQ;EAAA,OAAK;IACtCC,aAAa,EAAE,uBAAAC,CAAC;MAAA,OAAIF,QAAQ,CAAC,IAAAG,oBAAA,EAAYD,CAAZ,CAAD,CAAZ;IAAA,CADsB;IAEtCE,MAAM,EAAE;MAAA,OAAMJ,QAAQ,CAACK,yBAAA,CAAeC,IAAf,EAAD,CAAd;IAAA,CAF8B;IAGtCC,MAAM,EAAE;MAAA,OAAMP,QAAQ,CAACK,yBAAA,CAAeG,IAAf,EAAD,CAAd;IAAA,CAH8B;IAItCC,OAAO,EAAE;MAAA,OAAMT,QAAQ,CAAC,IAAAG,oBAAA,EAAY,EAAZ,CAAD,CAAd;IAAA;EAJ6B,CAAL;AAAA,CAAnC;;AAOO,IAAMO,cAAc,GAAG,IAAAC,mBAAA,EAAQhB,eAAR,EAAyBI,kBAAzB,EAA6Ca,6BAA7C,CAAvB;AAEP;AACA;AACA;AACA;;;;IACMC,I;;;;;EAMJ,cAAYC,KAAZ,EAAmB;IAAA;;IAAA;;IACjB,0BAAMA,KAAN;;IADiB,gEASH,YAAM;MACpB,kBAAiC,MAAKA,KAAtC;MAAA,IAAQjB,KAAR,eAAQA,KAAR;MAAA,IAAeI,aAAf,eAAeA,aAAf;;MACA,IAAMc,UAAU,GAAG,MAAKC,KAAL,CAAWC,QAAX,EAAnB;;MAEA,IAAI,CAAC,IAAAC,mBAAA,EAAQH,UAAU,CAAClB,KAAX,CAAiBC,OAAzB,EAAkCD,KAAlC,CAAL,EAA+C;QAC7CI,aAAa,CAACc,UAAU,CAAClB,KAAX,CAAiBC,OAAlB,CAAb;MACD;IACF,CAhBkB;;IAGjB,IAAMqB,CAAC,GAAG,IAAAC,mBAAA,GAAV;IACA,MAAKJ,KAAL,GAAa,IAAAK,kBAAA,EAAYF,CAAZ,EAAe;MAAEtB,KAAK,EAAEiB,KAAK,CAACjB;IAAf,CAAf,CAAb;;IAEA,MAAKmB,KAAL,CAAWM,SAAX,CAAqB,MAAKC,aAA1B;;IANiB;EAOlB;;;;WAWD,kBAAS;MACP;MACA,mBAA0C,KAAKT,KAA/C;MAAA,IAAQb,aAAR,gBAAQA,aAAR;MAAA,IAAuBJ,KAAvB,gBAAuBA,KAAvB;MAAA,IAAiC2B,IAAjC;;MACA,IAAMC,cAAc,GAAG5B,KAAK,IAAIA,KAAK,CAAC6B,IAAN,CAAW,UAAAxB,CAAC;QAAA,OAAIA,CAAC,CAACyB,WAAN;MAAA,CAAZ,CAAhC;;MAEA,IAAIF,cAAJ,EAAoB;QAClB,oBAAO,gCAAC,6BAAD,eAAuBD,IAAvB;UAA6B,KAAK,EAAE3B,KAApC;UAA2C,QAAQ,EAAE4B;QAArD,GAAP;MACD;;MAED,oBACE,gCAAC,oBAAD;QAAU,KAAK,EAAE,KAAKT;MAAtB,gBACE,gCAAC,cAAD,EAAoBQ,IAApB,CADF,CADF;IAKD;;;;EAtCgBI,iBAAA,CAAMC,S;;gBAAnBhB,I,eACe;EACjBZ,aAAa,EAAE6B,qBAAA,CAAUC,IADR;EAEjBlC,KAAK,EAAEiC,qBAAA,CAAUE;AAFA,C;;eAwCNnB,I"}
1
+ {"version":3,"file":"index.js","names":["mapStateToProps","s","marks","present","mapDispatchToProps","dispatch","onChangeMarks","m","changeMarks","onUndo","ActionCreators","undo","onRedo","redo","onReset","GraphContainer","connect","GraphWithControls","Root","props","storeState","store","getState","isEqual","r","reducer","createStore","subscribe","onStoreChange","rest","correctnessSet","find","correctness","React","Component","PropTypes","func","array"],"sources":["../../src/container/index.jsx"],"sourcesContent":["import { connect } from 'react-redux';\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport { createStore } from 'redux';\nimport reducer from './reducer';\nimport { changeMarks } from './actions';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash/isEqual';\nimport { ActionCreators } from 'redux-undo';\nimport GraphWithControls from '../graph-with-controls';\n\nconst mapStateToProps = s => ({\n marks: s.marks.present\n});\n\nconst mapDispatchToProps = dispatch => ({\n onChangeMarks: m => dispatch(changeMarks(m)),\n onUndo: () => dispatch(ActionCreators.undo()),\n onRedo: () => dispatch(ActionCreators.redo()),\n onReset: () => dispatch(changeMarks([]))\n});\n\nexport const GraphContainer = connect(mapStateToProps, mapDispatchToProps)(GraphWithControls);\n\n/**\n * The graph component entry point with undo/redo\n * Redux is an implementation detail, hide it in the react component.\n */\nclass Root extends React.Component {\n static propTypes = {\n onChangeMarks: PropTypes.func,\n marks: PropTypes.array\n };\n\n constructor(props) {\n super(props);\n\n const r = reducer();\n this.store = createStore(r, { marks: props.marks });\n\n this.store.subscribe(this.onStoreChange);\n }\n\n onStoreChange = () => {\n const { marks, onChangeMarks } = this.props;\n const storeState = this.store.getState();\n\n if (!isEqual(storeState.marks.present, marks)) {\n onChangeMarks(storeState.marks.present);\n }\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const { onChangeMarks, marks, ...rest } = this.props;\n const correctnessSet = marks && marks.find(m => m.correctness);\n\n if (correctnessSet) {\n return <GraphWithControls {...rest} marks={marks} disabled={correctnessSet} />;\n }\n\n return (\n <Provider store={this.store}>\n <GraphContainer {...rest} />\n </Provider>\n );\n }\n}\n\nexport default Root;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,CAAC;EAAA,OAAK;IAC5BC,KAAK,EAAED,CAAC,CAACC,KAAF,CAAQC;EADa,CAAL;AAAA,CAAzB;;AAIA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,QAAQ;EAAA,OAAK;IACtCC,aAAa,EAAE,uBAAAC,CAAC;MAAA,OAAIF,QAAQ,CAAC,IAAAG,oBAAA,EAAYD,CAAZ,CAAD,CAAZ;IAAA,CADsB;IAEtCE,MAAM,EAAE;MAAA,OAAMJ,QAAQ,CAACK,yBAAA,CAAeC,IAAf,EAAD,CAAd;IAAA,CAF8B;IAGtCC,MAAM,EAAE;MAAA,OAAMP,QAAQ,CAACK,yBAAA,CAAeG,IAAf,EAAD,CAAd;IAAA,CAH8B;IAItCC,OAAO,EAAE;MAAA,OAAMT,QAAQ,CAAC,IAAAG,oBAAA,EAAY,EAAZ,CAAD,CAAd;IAAA;EAJ6B,CAAL;AAAA,CAAnC;;AAOO,IAAMO,cAAc,GAAG,IAAAC,mBAAA,EAAQhB,eAAR,EAAyBI,kBAAzB,EAA6Ca,6BAA7C,CAAvB;AAEP;AACA;AACA;AACA;;;;IACMC,I;;;;;EAMJ,cAAYC,KAAZ,EAAmB;IAAA;;IAAA;IACjB,0BAAMA,KAAN;IADiB,kGASH,YAAM;MACpB,kBAAiC,MAAKA,KAAtC;MAAA,IAAQjB,KAAR,eAAQA,KAAR;MAAA,IAAeI,aAAf,eAAeA,aAAf;;MACA,IAAMc,UAAU,GAAG,MAAKC,KAAL,CAAWC,QAAX,EAAnB;;MAEA,IAAI,CAAC,IAAAC,mBAAA,EAAQH,UAAU,CAAClB,KAAX,CAAiBC,OAAzB,EAAkCD,KAAlC,CAAL,EAA+C;QAC7CI,aAAa,CAACc,UAAU,CAAClB,KAAX,CAAiBC,OAAlB,CAAb;MACD;IACF,CAhBkB;IAGjB,IAAMqB,CAAC,GAAG,IAAAC,mBAAA,GAAV;IACA,MAAKJ,KAAL,GAAa,IAAAK,kBAAA,EAAYF,CAAZ,EAAe;MAAEtB,KAAK,EAAEiB,KAAK,CAACjB;IAAf,CAAf,CAAb;;IAEA,MAAKmB,KAAL,CAAWM,SAAX,CAAqB,MAAKC,aAA1B;;IANiB;EAOlB;;;;WAWD,kBAAS;MACP;MACA,mBAA0C,KAAKT,KAA/C;MAAA,IAAQb,aAAR,gBAAQA,aAAR;MAAA,IAAuBJ,KAAvB,gBAAuBA,KAAvB;MAAA,IAAiC2B,IAAjC;MACA,IAAMC,cAAc,GAAG5B,KAAK,IAAIA,KAAK,CAAC6B,IAAN,CAAW,UAAAxB,CAAC;QAAA,OAAIA,CAAC,CAACyB,WAAN;MAAA,CAAZ,CAAhC;;MAEA,IAAIF,cAAJ,EAAoB;QAClB,oBAAO,gCAAC,6BAAD,gCAAuBD,IAAvB;UAA6B,KAAK,EAAE3B,KAApC;UAA2C,QAAQ,EAAE4B;QAArD,GAAP;MACD;;MAED,oBACE,gCAAC,oBAAD;QAAU,KAAK,EAAE,KAAKT;MAAtB,gBACE,gCAAC,cAAD,EAAoBQ,IAApB,CADF,CADF;IAKD;;;EAtCgBI,iBAAA,CAAMC,S;;iCAAnBhB,I,eACe;EACjBZ,aAAa,EAAE6B,qBAAA,CAAUC,IADR;EAEjBlC,KAAK,EAAEiC,qBAAA,CAAUE;AAFA,C;eAwCNnB,I"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -11,8 +13,6 @@ var _marks = _interopRequireDefault(require("./marks"));
11
13
 
12
14
  var _reduxUndo = _interopRequireDefault(require("redux-undo"));
13
15
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
16
  var _default = function _default() {
17
17
  return (0, _redux.combineReducers)({
18
18
  marks: (0, _reduxUndo["default"])(_marks["default"], {
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","names":["combineReducers","marks","undoable","debug"],"sources":["../../src/container/reducer.js"],"sourcesContent":["import { combineReducers } from 'redux';\nimport marks from './marks';\nimport undoable from 'redux-undo';\n\nexport default () => combineReducers({ marks: undoable(marks, { debug: false }) });\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;eAEe;EAAA,OAAM,IAAAA,sBAAA,EAAgB;IAAEC,KAAK,EAAE,IAAAC,qBAAA,EAASD,iBAAT,EAAgB;MAAEE,KAAK,EAAE;IAAT,CAAhB;EAAT,CAAhB,CAAN;AAAA,C"}
1
+ {"version":3,"file":"reducer.js","names":["combineReducers","marks","undoable","debug"],"sources":["../../src/container/reducer.js"],"sourcesContent":["import { combineReducers } from 'redux';\nimport marks from './marks';\nimport undoable from 'redux-undo';\n\nexport default () => combineReducers({ marks: undoable(marks, { debug: false }) });\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;eAEe;EAAA,OAAM,IAAAA,sBAAA,EAAgB;IAAEC,KAAK,EAAE,IAAAC,qBAAA,EAASD,iBAAT,EAAgB;MAAEE,KAAK,EAAE;IAAT,CAAhB;EAAT,CAAhB,CAAN;AAAA,C"}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.getLabelPosition = exports["default"] = exports.CoordinatesLabel = void 0;
7
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
8
12
  var _react = _interopRequireDefault(require("react"));
9
13
 
10
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -19,13 +23,9 @@ var _InputBase = _interopRequireDefault(require("@material-ui/core/InputBase"));
19
23
 
20
24
  var _utils = require("./utils");
21
25
 
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
-
24
26
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
27
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
-
28
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
29
 
30
30
  var styles = function styles(theme) {
31
31
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"coordinates-label.js","names":["styles","theme","input","fontFamily","typography","fontSize","borderRadius","background","color","primaryDark","inputLabel","padding","getLabelPosition","graphProps","x","y","labelLength","scale","domain","topShift","leftShift","rightEdge","max","left","top","CoordinatesLabel","classes","label","roundNumber","length","labelPosition","style","position","pointerEvents","width","ariaLabel","propTypes","types","GraphPropsType","PropTypes","object","number","withStyles"],"sources":["../src/coordinates-label.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport InputBase from '@material-ui/core/InputBase';\nimport { roundNumber } from './utils';\n\nconst styles = theme => ({\n input: {\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n borderRadius: '8px',\n background: '#FFFFFF',\n color: color.primaryDark()\n },\n inputLabel: {\n padding: 0\n }\n});\n\nexport const getLabelPosition = (graphProps, x, y, labelLength) => {\n const { scale, domain } = graphProps;\n const topShift = 8;\n const leftShift = 10;\n const rightEdge = scale.x(x) + labelLength + leftShift;\n\n if (rightEdge >= scale.x(domain.max)) {\n return {\n left: scale.x(x) - leftShift - labelLength,\n top: scale.y(y) - topShift\n };\n }\n\n return {\n left: scale.x(x) + leftShift,\n top: scale.y(y) - topShift\n };\n};\n\nexport const CoordinatesLabel = ({ x, y, graphProps, classes }) => {\n const label = `(${roundNumber(x)}, ${roundNumber(y)})`;\n const labelLength = (label.length || 0) * 6;\n const labelPosition = getLabelPosition(graphProps, x, y, labelLength);\n\n const style = {\n position: 'absolute',\n pointerEvents: 'auto',\n width: labelLength,\n padding: 0,\n ...labelPosition\n };\n\n return (\n <InputBase\n style={style}\n classes={{ input: classes.inputLabel }}\n className={classes.input}\n value={label}\n inputProps={{ ariaLabel: 'naked' }}\n />\n );\n};\n\nCoordinatesLabel.propTypes = {\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number\n};\n\nexport default withStyles(styles)(CoordinatesLabel);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACvBC,KAAK,EAAE;MACLC,UAAU,EAAEF,KAAK,CAACG,UAAN,CAAiBD,UADxB;MAELE,QAAQ,EAAEJ,KAAK,CAACG,UAAN,CAAiBC,QAFtB;MAGLC,YAAY,EAAE,KAHT;MAILC,UAAU,EAAE,SAJP;MAKLC,KAAK,EAAEA,eAAA,CAAMC,WAAN;IALF,CADgB;IAQvBC,UAAU,EAAE;MACVC,OAAO,EAAE;IADC;EARW,CAAL;AAAA,CAApB;;AAaO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD,EAAaC,CAAb,EAAgBC,CAAhB,EAAmBC,WAAnB,EAAmC;EACjE,IAAQC,KAAR,GAA0BJ,UAA1B,CAAQI,KAAR;EAAA,IAAeC,MAAf,GAA0BL,UAA1B,CAAeK,MAAf;EACA,IAAMC,QAAQ,GAAG,CAAjB;EACA,IAAMC,SAAS,GAAG,EAAlB;EACA,IAAMC,SAAS,GAAGJ,KAAK,CAACH,CAAN,CAAQA,CAAR,IAAaE,WAAb,GAA2BI,SAA7C;;EAEA,IAAIC,SAAS,IAAIJ,KAAK,CAACH,CAAN,CAAQI,MAAM,CAACI,GAAf,CAAjB,EAAsC;IACpC,OAAO;MACLC,IAAI,EAAEN,KAAK,CAACH,CAAN,CAAQA,CAAR,IAAaM,SAAb,GAAyBJ,WAD1B;MAELQ,GAAG,EAAEP,KAAK,CAACF,CAAN,CAAQA,CAAR,IAAaI;IAFb,CAAP;EAID;;EAED,OAAO;IACLI,IAAI,EAAEN,KAAK,CAACH,CAAN,CAAQA,CAAR,IAAaM,SADd;IAELI,GAAG,EAAEP,KAAK,CAACF,CAAN,CAAQA,CAAR,IAAaI;EAFb,CAAP;AAID,CAjBM;;;;AAmBA,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAmB,OAAmC;EAAA,IAAhCX,CAAgC,QAAhCA,CAAgC;EAAA,IAA7BC,CAA6B,QAA7BA,CAA6B;EAAA,IAA1BF,UAA0B,QAA1BA,UAA0B;EAAA,IAAda,OAAc,QAAdA,OAAc;EACjE,IAAMC,KAAK,cAAO,IAAAC,kBAAA,EAAYd,CAAZ,CAAP,eAA0B,IAAAc,kBAAA,EAAYb,CAAZ,CAA1B,MAAX;EACA,IAAMC,WAAW,GAAG,CAACW,KAAK,CAACE,MAAN,IAAgB,CAAjB,IAAsB,CAA1C;EACA,IAAMC,aAAa,GAAGlB,gBAAgB,CAACC,UAAD,EAAaC,CAAb,EAAgBC,CAAhB,EAAmBC,WAAnB,CAAtC;;EAEA,IAAMe,KAAK;IACTC,QAAQ,EAAE,UADD;IAETC,aAAa,EAAE,MAFN;IAGTC,KAAK,EAAElB,WAHE;IAITL,OAAO,EAAE;EAJA,GAKNmB,aALM,CAAX;;EAQA,oBACE,gCAAC,qBAAD;IACE,KAAK,EAAEC,KADT;IAEE,OAAO,EAAE;MAAE7B,KAAK,EAAEwB,OAAO,CAAChB;IAAjB,CAFX;IAGE,SAAS,EAAEgB,OAAO,CAACxB,KAHrB;IAIE,KAAK,EAAEyB,KAJT;IAKE,UAAU,EAAE;MAAEQ,SAAS,EAAE;IAAb;EALd,EADF;AASD,CAtBM;;;AAwBPV,gBAAgB,CAACW,SAAjB,GAA6B;EAC3BvB,UAAU,EAAEwB,WAAA,CAAMC,cADS;EAE3BZ,OAAO,EAAEa,qBAAA,CAAUC,MAFQ;EAG3B1B,CAAC,EAAEyB,qBAAA,CAAUE,MAHc;EAI3B1B,CAAC,EAAEwB,qBAAA,CAAUE;AAJc,CAA7B;;eAOe,IAAAC,kBAAA,EAAW1C,MAAX,EAAmByB,gBAAnB,C"}
1
+ {"version":3,"file":"coordinates-label.js","names":["styles","theme","input","fontFamily","typography","fontSize","borderRadius","background","color","primaryDark","inputLabel","padding","getLabelPosition","graphProps","x","y","labelLength","scale","domain","topShift","leftShift","rightEdge","max","left","top","CoordinatesLabel","classes","label","roundNumber","length","labelPosition","style","position","pointerEvents","width","ariaLabel","propTypes","types","GraphPropsType","PropTypes","object","number","withStyles"],"sources":["../src/coordinates-label.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport InputBase from '@material-ui/core/InputBase';\nimport { roundNumber } from './utils';\n\nconst styles = theme => ({\n input: {\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n borderRadius: '8px',\n background: '#FFFFFF',\n color: color.primaryDark()\n },\n inputLabel: {\n padding: 0\n }\n});\n\nexport const getLabelPosition = (graphProps, x, y, labelLength) => {\n const { scale, domain } = graphProps;\n const topShift = 8;\n const leftShift = 10;\n const rightEdge = scale.x(x) + labelLength + leftShift;\n\n if (rightEdge >= scale.x(domain.max)) {\n return {\n left: scale.x(x) - leftShift - labelLength,\n top: scale.y(y) - topShift\n };\n }\n\n return {\n left: scale.x(x) + leftShift,\n top: scale.y(y) - topShift\n };\n};\n\nexport const CoordinatesLabel = ({ x, y, graphProps, classes }) => {\n const label = `(${roundNumber(x)}, ${roundNumber(y)})`;\n const labelLength = (label.length || 0) * 6;\n const labelPosition = getLabelPosition(graphProps, x, y, labelLength);\n\n const style = {\n position: 'absolute',\n pointerEvents: 'auto',\n width: labelLength,\n padding: 0,\n ...labelPosition\n };\n\n return (\n <InputBase\n style={style}\n classes={{ input: classes.inputLabel }}\n className={classes.input}\n value={label}\n inputProps={{ ariaLabel: 'naked' }}\n />\n );\n};\n\nCoordinatesLabel.propTypes = {\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number\n};\n\nexport default withStyles(styles)(CoordinatesLabel);\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACvBC,KAAK,EAAE;MACLC,UAAU,EAAEF,KAAK,CAACG,UAAN,CAAiBD,UADxB;MAELE,QAAQ,EAAEJ,KAAK,CAACG,UAAN,CAAiBC,QAFtB;MAGLC,YAAY,EAAE,KAHT;MAILC,UAAU,EAAE,SAJP;MAKLC,KAAK,EAAEA,eAAA,CAAMC,WAAN;IALF,CADgB;IAQvBC,UAAU,EAAE;MACVC,OAAO,EAAE;IADC;EARW,CAAL;AAAA,CAApB;;AAaO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD,EAAaC,CAAb,EAAgBC,CAAhB,EAAmBC,WAAnB,EAAmC;EACjE,IAAQC,KAAR,GAA0BJ,UAA1B,CAAQI,KAAR;EAAA,IAAeC,MAAf,GAA0BL,UAA1B,CAAeK,MAAf;EACA,IAAMC,QAAQ,GAAG,CAAjB;EACA,IAAMC,SAAS,GAAG,EAAlB;EACA,IAAMC,SAAS,GAAGJ,KAAK,CAACH,CAAN,CAAQA,CAAR,IAAaE,WAAb,GAA2BI,SAA7C;;EAEA,IAAIC,SAAS,IAAIJ,KAAK,CAACH,CAAN,CAAQI,MAAM,CAACI,GAAf,CAAjB,EAAsC;IACpC,OAAO;MACLC,IAAI,EAAEN,KAAK,CAACH,CAAN,CAAQA,CAAR,IAAaM,SAAb,GAAyBJ,WAD1B;MAELQ,GAAG,EAAEP,KAAK,CAACF,CAAN,CAAQA,CAAR,IAAaI;IAFb,CAAP;EAID;;EAED,OAAO;IACLI,IAAI,EAAEN,KAAK,CAACH,CAAN,CAAQA,CAAR,IAAaM,SADd;IAELI,GAAG,EAAEP,KAAK,CAACF,CAAN,CAAQA,CAAR,IAAaI;EAFb,CAAP;AAID,CAjBM;;;;AAmBA,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAmB,OAAmC;EAAA,IAAhCX,CAAgC,QAAhCA,CAAgC;EAAA,IAA7BC,CAA6B,QAA7BA,CAA6B;EAAA,IAA1BF,UAA0B,QAA1BA,UAA0B;EAAA,IAAda,OAAc,QAAdA,OAAc;EACjE,IAAMC,KAAK,cAAO,IAAAC,kBAAA,EAAYd,CAAZ,CAAP,eAA0B,IAAAc,kBAAA,EAAYb,CAAZ,CAA1B,MAAX;EACA,IAAMC,WAAW,GAAG,CAACW,KAAK,CAACE,MAAN,IAAgB,CAAjB,IAAsB,CAA1C;EACA,IAAMC,aAAa,GAAGlB,gBAAgB,CAACC,UAAD,EAAaC,CAAb,EAAgBC,CAAhB,EAAmBC,WAAnB,CAAtC;;EAEA,IAAMe,KAAK;IACTC,QAAQ,EAAE,UADD;IAETC,aAAa,EAAE,MAFN;IAGTC,KAAK,EAAElB,WAHE;IAITL,OAAO,EAAE;EAJA,GAKNmB,aALM,CAAX;;EAQA,oBACE,gCAAC,qBAAD;IACE,KAAK,EAAEC,KADT;IAEE,OAAO,EAAE;MAAE7B,KAAK,EAAEwB,OAAO,CAAChB;IAAjB,CAFX;IAGE,SAAS,EAAEgB,OAAO,CAACxB,KAHrB;IAIE,KAAK,EAAEyB,KAJT;IAKE,UAAU,EAAE;MAAEQ,SAAS,EAAE;IAAb;EALd,EADF;AASD,CAtBM;;;AAwBPV,gBAAgB,CAACW,SAAjB,GAA6B;EAC3BvB,UAAU,EAAEwB,WAAA,CAAMC,cADS;EAE3BZ,OAAO,EAAEa,qBAAA,CAAUC,MAFQ;EAG3B1B,CAAC,EAAEyB,qBAAA,CAAUE,MAHc;EAI3B1B,CAAC,EAAEwB,qBAAA,CAAUE;AAJc,CAA7B;;eAOe,IAAAC,kBAAA,EAAW1C,MAAX,EAAmByB,gBAAnB,C"}
@@ -1,12 +1,28 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.toolIsAvailable = exports.setToolbarAvailability = exports.getAvailableTool = exports.filterByVisibleToolTypes = exports.filterByValidToolTypes = exports["default"] = exports.GraphWithControls = void 0;
9
11
 
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
10
26
  var _react = _interopRequireDefault(require("react"));
11
27
 
12
28
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -37,33 +53,13 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
37
53
 
38
54
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
55
 
40
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
-
42
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
-
44
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
45
-
46
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
47
-
48
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
49
-
50
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
51
-
52
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
53
-
54
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
55
-
56
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
56
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
57
57
 
58
58
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
59
59
 
60
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
61
-
62
60
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
63
61
 
64
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
65
-
66
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
62
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
67
63
 
68
64
  var setToolbarAvailability = function setToolbarAvailability(toolbarTools) {
69
65
  return _tools.toolsArr.map(function (tA) {
@@ -142,33 +138,29 @@ var Collapsible = function Collapsible(_ref) {
142
138
  };
143
139
 
144
140
  var GraphWithControls = /*#__PURE__*/function (_React$Component) {
145
- _inherits(GraphWithControls, _React$Component);
141
+ (0, _inherits2["default"])(GraphWithControls, _React$Component);
146
142
 
147
143
  var _super = _createSuper(GraphWithControls);
148
144
 
149
145
  function GraphWithControls(props) {
150
146
  var _this;
151
147
 
152
- _classCallCheck(this, GraphWithControls);
153
-
148
+ (0, _classCallCheck2["default"])(this, GraphWithControls);
154
149
  _this = _super.call(this, props);
155
-
156
- _defineProperty(_assertThisInitialized(_this), "changeCurrentTool", function (tool, tools) {
150
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeCurrentTool", function (tool, tools) {
157
151
  return _this.setState({
158
152
  currentTool: tools.find(function (t) {
159
153
  return t.type === tool;
160
154
  })
161
155
  });
162
156
  });
163
-
164
- _defineProperty(_assertThisInitialized(_this), "toggleLabelMode", function () {
157
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleLabelMode", function () {
165
158
  return _this.setState(function (state) {
166
159
  return {
167
160
  labelModeEnabled: !state.labelModeEnabled
168
161
  };
169
162
  });
170
163
  });
171
-
172
164
  _this.state = {
173
165
  currentTool: getDefaultCurrentTool(props.defaultTool),
174
166
  labelModeEnabled: false
@@ -176,7 +168,7 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
176
168
  return _this;
177
169
  }
178
170
 
179
- _createClass(GraphWithControls, [{
171
+ (0, _createClass2["default"])(GraphWithControls, [{
180
172
  key: "componentDidUpdate",
181
173
  value: function componentDidUpdate(prevProps) {
182
174
  var defaultTool = this.props.defaultTool;
@@ -274,21 +266,18 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
274
266
  }));
275
267
  }
276
268
  }]);
277
-
278
269
  return GraphWithControls;
279
270
  }(_react["default"].Component);
280
271
 
281
272
  exports.GraphWithControls = GraphWithControls;
282
-
283
- _defineProperty(GraphWithControls, "propTypes", _objectSpread(_objectSpread({}, _graph.graphPropTypes), {}, {
273
+ (0, _defineProperty2["default"])(GraphWithControls, "propTypes", _objectSpread(_objectSpread({}, _graph.graphPropTypes), {}, {
284
274
  onUndo: _propTypes["default"].func,
285
275
  onRedo: _propTypes["default"].func,
286
276
  onReset: _propTypes["default"].func,
287
277
  toolbarTools: _propTypes["default"].arrayOf(_propTypes["default"].string) // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'
288
278
 
289
279
  }));
290
-
291
- _defineProperty(GraphWithControls, "defaultProps", {
280
+ (0, _defineProperty2["default"])(GraphWithControls, "defaultProps", {
292
281
  collapsibleToolbar: false,
293
282
  collapsibleToolbarTitle: '',
294
283
  toolbarTools: []
@@ -1 +1 @@
1
- {"version":3,"file":"graph-with-controls.js","names":["setToolbarAvailability","toolbarTools","toolsArr","map","tA","toolbar","find","t","type","toolIsAvailable","tools","currentTool","tool","getAvailableTool","filterByValidToolTypes","backgroundMarks","filter","bM","allTools","filterByVisibleToolTypes","marks","getDefaultCurrentTool","toolType","Collapsible","classes","children","title","expansionPanel","root","summaryRoot","content","summaryContent","details","GraphWithControls","props","setState","state","labelModeEnabled","defaultTool","prevProps","axesSettings","className","coordinatesOnHover","collapsibleToolbar","collapsibleToolbarTitle","disabled","domain","labels","onChangeMarks","onUndo","onRedo","onReset","range","size","uniq","tT","isString","graphActions","changeCurrentTool","toggleLabelMode","classNames","graphWithControls","controls","r","labelNode","undefined","React","Component","graphPropTypes","PropTypes","func","arrayOf","string","styles","theme","width","display","justifyContent","padding","spacing","unit","color","text","backgroundColor","primaryLight","borderTop","primaryDark","borderBottom","borderLeft","borderRight","fontSize","typography","minHeight","margin","marginTop","withStyles"],"sources":["../src/graph-with-controls.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport uniq from 'lodash/uniq';\nimport isString from 'lodash/isString';\nimport { color } from '@pie-lib/render-ui';\n\nimport ToolMenu from './tool-menu';\nimport Graph, { graphPropTypes } from './graph';\nimport UndoRedo from './undo-redo';\nimport { allTools, toolsArr } from './tools';\nimport {\n ExpansionPanel,\n ExpansionPanelDetails,\n ExpansionPanelSummary,\n Typography\n} from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\n\nexport const setToolbarAvailability = toolbarTools =>\n toolsArr.map(tA => ({ ...tA, toolbar: !!toolbarTools.find(t => t === tA.type) })) || [];\n\nexport const toolIsAvailable = (tools, currentTool) =>\n currentTool && tools && (tools.find(tool => tool.type === currentTool.type) || {}).toolbar;\n\nexport const getAvailableTool = tools => tools.find(tool => tool.toolbar);\n\nexport const filterByValidToolTypes = backgroundMarks =>\n backgroundMarks.filter(bM => !!allTools.find(tool => tool === bM.type));\n\nexport const filterByVisibleToolTypes = (toolbarTools, marks) =>\n marks.filter(bM => !!toolbarTools.find(tool => tool === bM.type));\n\nconst getDefaultCurrentTool = toolType => toolsArr.find(tool => tool.type === toolType) || null;\n\nconst Collapsible = ({ classes, children, title }) => (\n <ExpansionPanel\n elevation={0}\n className={classes.expansionPanel}\n disabledGutters={true}\n square={true}\n >\n <ExpansionPanelSummary\n classes={{\n root: classes.summaryRoot,\n content: classes.summaryContent\n }}\n expandIcon={<ExpandMoreIcon />}\n >\n <Typography variant=\"subheading\">{title}</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails className={classes.details}>{children}</ExpansionPanelDetails>\n </ExpansionPanel>\n);\n\nexport class GraphWithControls extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n onReset: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string) // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'\n };\n\n static defaultProps = {\n collapsibleToolbar: false,\n collapsibleToolbarTitle: '',\n toolbarTools: []\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n currentTool: getDefaultCurrentTool(props.defaultTool),\n labelModeEnabled: false\n };\n }\n\n componentDidUpdate(prevProps) {\n const { defaultTool } = this.props;\n\n if (prevProps.defaultTool !== defaultTool) {\n const currentTool = getDefaultCurrentTool(defaultTool);\n\n this.setState({ currentTool });\n }\n }\n\n changeCurrentTool = (tool, tools) =>\n this.setState({ currentTool: tools.find(t => t.type === tool) });\n\n toggleLabelMode = () => this.setState(state => ({ labelModeEnabled: !state.labelModeEnabled }));\n\n render() {\n let { currentTool, labelModeEnabled } = this.state;\n const {\n axesSettings,\n classes,\n className,\n coordinatesOnHover,\n collapsibleToolbar,\n collapsibleToolbarTitle,\n disabled,\n domain,\n labels,\n onChangeMarks,\n onUndo,\n onRedo,\n onReset,\n range,\n size,\n title\n } = this.props;\n let { backgroundMarks, marks, toolbarTools } = this.props;\n\n // make sure only valid tool types are kept (string) and without duplicates\n toolbarTools = uniq(toolbarTools || []).filter(tT => !!isString(tT)) || [];\n\n // keep only the backgroundMarks that have valid types\n backgroundMarks = filterByValidToolTypes(backgroundMarks || []);\n\n // keep only the marks that have types which appear in toolbar\n marks = filterByVisibleToolTypes(toolbarTools, marks || []);\n\n const tools = setToolbarAvailability(toolbarTools);\n\n // set current tool if there's no current tool or if the existing one is no longer available\n if (!currentTool || !toolIsAvailable(tools, currentTool)) {\n currentTool = getAvailableTool(tools);\n }\n\n const graphActions = (\n <React.Fragment>\n <ToolMenu\n currentToolType={currentTool && currentTool.type}\n disabled={!!disabled}\n labelModeEnabled={labelModeEnabled}\n onChange={tool => this.changeCurrentTool(tool, tools)}\n onToggleLabelMode={this.toggleLabelMode}\n toolbarTools={toolbarTools}\n />\n\n {!disabled && <UndoRedo onUndo={onUndo} onRedo={onRedo} onReset={onReset} />}\n </React.Fragment>\n );\n\n return (\n <div className={classNames(classes.graphWithControls, className)}>\n <div className={classes.controls}>\n {collapsibleToolbar ? (\n <Collapsible classes={classes} title={collapsibleToolbarTitle}>\n {graphActions}\n </Collapsible>\n ) : (\n graphActions\n )}\n </div>\n\n <div ref={r => (this.labelNode = r)} />\n\n <Graph\n axesSettings={axesSettings}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n currentTool={currentTool}\n domain={domain}\n labels={labels}\n labelModeEnabled={labelModeEnabled}\n marks={marks}\n onChangeMarks={!disabled ? onChangeMarks : undefined}\n range={range}\n size={size}\n title={title}\n tools={tools}\n />\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n graphWithControls: {},\n controls: {\n width: 'inherit',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.primaryLight(),\n borderTop: `solid 1px ${color.primaryDark()}`,\n borderBottom: `solid 0px ${color.primaryDark()}`,\n borderLeft: `solid 1px ${color.primaryDark()}`,\n borderRight: `solid 1px ${color.primaryDark()}`,\n '& button': {\n fontSize: theme.typography.fontSize\n }\n },\n expansionPanel: {\n backgroundColor: color.primaryLight()\n },\n summaryRoot: {\n padding: `0 ${theme.spacing.unit}px`,\n minHeight: '32px !important'\n },\n summaryContent: {\n margin: '4px 0 !important'\n },\n details: {\n padding: 0,\n marginTop: theme.spacing.unit\n }\n});\n\nexport default withStyles(styles)(GraphWithControls);\n"],"mappings":"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"}
1
+ {"version":3,"file":"graph-with-controls.js","names":["setToolbarAvailability","toolbarTools","toolsArr","map","tA","toolbar","find","t","type","toolIsAvailable","tools","currentTool","tool","getAvailableTool","filterByValidToolTypes","backgroundMarks","filter","bM","allTools","filterByVisibleToolTypes","marks","getDefaultCurrentTool","toolType","Collapsible","classes","children","title","expansionPanel","root","summaryRoot","content","summaryContent","details","GraphWithControls","props","setState","state","labelModeEnabled","defaultTool","prevProps","axesSettings","className","coordinatesOnHover","collapsibleToolbar","collapsibleToolbarTitle","disabled","domain","labels","onChangeMarks","onUndo","onRedo","onReset","range","size","uniq","tT","isString","graphActions","changeCurrentTool","toggleLabelMode","classNames","graphWithControls","controls","r","labelNode","undefined","React","Component","graphPropTypes","PropTypes","func","arrayOf","string","styles","theme","width","display","justifyContent","padding","spacing","unit","color","text","backgroundColor","primaryLight","borderTop","primaryDark","borderBottom","borderLeft","borderRight","fontSize","typography","minHeight","margin","marginTop","withStyles"],"sources":["../src/graph-with-controls.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport uniq from 'lodash/uniq';\nimport isString from 'lodash/isString';\nimport { color } from '@pie-lib/render-ui';\n\nimport ToolMenu from './tool-menu';\nimport Graph, { graphPropTypes } from './graph';\nimport UndoRedo from './undo-redo';\nimport { allTools, toolsArr } from './tools';\nimport {\n ExpansionPanel,\n ExpansionPanelDetails,\n ExpansionPanelSummary,\n Typography\n} from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\n\nexport const setToolbarAvailability = toolbarTools =>\n toolsArr.map(tA => ({ ...tA, toolbar: !!toolbarTools.find(t => t === tA.type) })) || [];\n\nexport const toolIsAvailable = (tools, currentTool) =>\n currentTool && tools && (tools.find(tool => tool.type === currentTool.type) || {}).toolbar;\n\nexport const getAvailableTool = tools => tools.find(tool => tool.toolbar);\n\nexport const filterByValidToolTypes = backgroundMarks =>\n backgroundMarks.filter(bM => !!allTools.find(tool => tool === bM.type));\n\nexport const filterByVisibleToolTypes = (toolbarTools, marks) =>\n marks.filter(bM => !!toolbarTools.find(tool => tool === bM.type));\n\nconst getDefaultCurrentTool = toolType => toolsArr.find(tool => tool.type === toolType) || null;\n\nconst Collapsible = ({ classes, children, title }) => (\n <ExpansionPanel\n elevation={0}\n className={classes.expansionPanel}\n disabledGutters={true}\n square={true}\n >\n <ExpansionPanelSummary\n classes={{\n root: classes.summaryRoot,\n content: classes.summaryContent\n }}\n expandIcon={<ExpandMoreIcon />}\n >\n <Typography variant=\"subheading\">{title}</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails className={classes.details}>{children}</ExpansionPanelDetails>\n </ExpansionPanel>\n);\n\nexport class GraphWithControls extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n onReset: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string) // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'\n };\n\n static defaultProps = {\n collapsibleToolbar: false,\n collapsibleToolbarTitle: '',\n toolbarTools: []\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n currentTool: getDefaultCurrentTool(props.defaultTool),\n labelModeEnabled: false\n };\n }\n\n componentDidUpdate(prevProps) {\n const { defaultTool } = this.props;\n\n if (prevProps.defaultTool !== defaultTool) {\n const currentTool = getDefaultCurrentTool(defaultTool);\n\n this.setState({ currentTool });\n }\n }\n\n changeCurrentTool = (tool, tools) =>\n this.setState({ currentTool: tools.find(t => t.type === tool) });\n\n toggleLabelMode = () => this.setState(state => ({ labelModeEnabled: !state.labelModeEnabled }));\n\n render() {\n let { currentTool, labelModeEnabled } = this.state;\n const {\n axesSettings,\n classes,\n className,\n coordinatesOnHover,\n collapsibleToolbar,\n collapsibleToolbarTitle,\n disabled,\n domain,\n labels,\n onChangeMarks,\n onUndo,\n onRedo,\n onReset,\n range,\n size,\n title\n } = this.props;\n let { backgroundMarks, marks, toolbarTools } = this.props;\n\n // make sure only valid tool types are kept (string) and without duplicates\n toolbarTools = uniq(toolbarTools || []).filter(tT => !!isString(tT)) || [];\n\n // keep only the backgroundMarks that have valid types\n backgroundMarks = filterByValidToolTypes(backgroundMarks || []);\n\n // keep only the marks that have types which appear in toolbar\n marks = filterByVisibleToolTypes(toolbarTools, marks || []);\n\n const tools = setToolbarAvailability(toolbarTools);\n\n // set current tool if there's no current tool or if the existing one is no longer available\n if (!currentTool || !toolIsAvailable(tools, currentTool)) {\n currentTool = getAvailableTool(tools);\n }\n\n const graphActions = (\n <React.Fragment>\n <ToolMenu\n currentToolType={currentTool && currentTool.type}\n disabled={!!disabled}\n labelModeEnabled={labelModeEnabled}\n onChange={tool => this.changeCurrentTool(tool, tools)}\n onToggleLabelMode={this.toggleLabelMode}\n toolbarTools={toolbarTools}\n />\n\n {!disabled && <UndoRedo onUndo={onUndo} onRedo={onRedo} onReset={onReset} />}\n </React.Fragment>\n );\n\n return (\n <div className={classNames(classes.graphWithControls, className)}>\n <div className={classes.controls}>\n {collapsibleToolbar ? (\n <Collapsible classes={classes} title={collapsibleToolbarTitle}>\n {graphActions}\n </Collapsible>\n ) : (\n graphActions\n )}\n </div>\n\n <div ref={r => (this.labelNode = r)} />\n\n <Graph\n axesSettings={axesSettings}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n currentTool={currentTool}\n domain={domain}\n labels={labels}\n labelModeEnabled={labelModeEnabled}\n marks={marks}\n onChangeMarks={!disabled ? onChangeMarks : undefined}\n range={range}\n size={size}\n title={title}\n tools={tools}\n />\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n graphWithControls: {},\n controls: {\n width: 'inherit',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.primaryLight(),\n borderTop: `solid 1px ${color.primaryDark()}`,\n borderBottom: `solid 0px ${color.primaryDark()}`,\n borderLeft: `solid 1px ${color.primaryDark()}`,\n borderRight: `solid 1px ${color.primaryDark()}`,\n '& button': {\n fontSize: theme.typography.fontSize\n }\n },\n expansionPanel: {\n backgroundColor: color.primaryLight()\n },\n summaryRoot: {\n padding: `0 ${theme.spacing.unit}px`,\n minHeight: '32px !important'\n },\n summaryContent: {\n margin: '4px 0 !important'\n },\n details: {\n padding: 0,\n marginTop: theme.spacing.unit\n }\n});\n\nexport default withStyles(styles)(GraphWithControls);\n"],"mappings":"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"}