@pie-lib/graphing-solution-set 2.16.0-beta.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/CHANGELOG.md +165 -1
  2. package/package.json +14 -9
  3. package/src/axis/axes.jsx +1 -1
  4. package/src/coordinates-label.jsx +1 -1
  5. package/src/graph-with-controls.jsx +1 -1
  6. package/src/grid-setup.jsx +5 -8
  7. package/src/labels.jsx +1 -1
  8. package/src/mark-label.jsx +1 -1
  9. package/src/toggle-bar.jsx +1 -1
  10. package/src/tools/polygon/line.jsx +1 -1
  11. package/src/tools/polygon/polygon.jsx +1 -1
  12. package/src/tools/shared/arrow-head.jsx +1 -1
  13. package/src/tools/shared/line/index.jsx +1 -1
  14. package/src/tools/shared/line/line-path.jsx +1 -1
  15. package/src/tools/shared/point/base-point.jsx +1 -1
  16. package/src/tools/shared/point/index.jsx +1 -1
  17. package/src/tools/shared/styles.js +1 -1
  18. package/src/undo-redo.jsx +1 -1
  19. package/lib/__tests__/graph-with-controls.test.js +0 -191
  20. package/lib/__tests__/graph.test.js +0 -290
  21. package/lib/__tests__/grid.test.js +0 -40
  22. package/lib/__tests__/labels.test.js +0 -59
  23. package/lib/__tests__/mark-label.test.js +0 -154
  24. package/lib/__tests__/toggle-bar.test.js +0 -54
  25. package/lib/__tests__/tool-menu.test.js +0 -43
  26. package/lib/__tests__/undo-redo.test.js +0 -42
  27. package/lib/__tests__/use-debounce.test.js +0 -28
  28. package/lib/__tests__/utils.js +0 -72
  29. package/lib/__tests__/utils.test.js +0 -133
  30. package/lib/axis/__tests__/arrow.test.js +0 -68
  31. package/lib/axis/__tests__/axes.test.js +0 -214
  32. package/lib/axis/arrow.js +0 -115
  33. package/lib/axis/axes.js +0 -415
  34. package/lib/axis/index.js +0 -26
  35. package/lib/bg.js +0 -139
  36. package/lib/container/actions.js +0 -24
  37. package/lib/container/index.js +0 -166
  38. package/lib/container/marks.js +0 -27
  39. package/lib/container/middleware.js +0 -25
  40. package/lib/container/reducer.js +0 -25
  41. package/lib/coordinates-label.js +0 -109
  42. package/lib/graph-with-controls.js +0 -372
  43. package/lib/graph.js +0 -419
  44. package/lib/grid-setup.js +0 -462
  45. package/lib/grid.js +0 -176
  46. package/lib/index.js +0 -51
  47. package/lib/labels.js +0 -299
  48. package/lib/mark-label.js +0 -208
  49. package/lib/toggle-bar.js +0 -336
  50. package/lib/tool-menu.js +0 -325
  51. package/lib/tools/index.js +0 -29
  52. package/lib/tools/line/__tests__/component.test.js +0 -56
  53. package/lib/tools/line/component.js +0 -106
  54. package/lib/tools/line/index.js +0 -16
  55. package/lib/tools/polygon/__tests__/component.test.js +0 -245
  56. package/lib/tools/polygon/__tests__/index.test.js +0 -95
  57. package/lib/tools/polygon/__tests__/line.test.js +0 -43
  58. package/lib/tools/polygon/__tests__/polygon.test.js +0 -73
  59. package/lib/tools/polygon/component.js +0 -457
  60. package/lib/tools/polygon/index.js +0 -106
  61. package/lib/tools/polygon/line.js +0 -151
  62. package/lib/tools/polygon/polygon.js +0 -171
  63. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -62
  64. package/lib/tools/shared/arrow-head.js +0 -75
  65. package/lib/tools/shared/line/__tests__/index.test.js +0 -291
  66. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -78
  67. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -122
  68. package/lib/tools/shared/line/index.js +0 -637
  69. package/lib/tools/shared/line/line-path.js +0 -145
  70. package/lib/tools/shared/line/with-root-edge.js +0 -155
  71. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -137
  72. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -134
  73. package/lib/tools/shared/point/arrow-point.js +0 -113
  74. package/lib/tools/shared/point/arrow.js +0 -96
  75. package/lib/tools/shared/point/base-point.js +0 -151
  76. package/lib/tools/shared/point/index.js +0 -94
  77. package/lib/tools/shared/styles.js +0 -49
  78. package/lib/tools/shared/types.js +0 -19
  79. package/lib/undo-redo.js +0 -107
  80. package/lib/use-debounce.js +0 -32
  81. package/lib/utils.js +0 -314
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.changeMarks = exports.addMark = void 0;
7
-
8
- var addMark = function addMark() {
9
- return {
10
- type: 'ADD_MARK'
11
- };
12
- };
13
-
14
- exports.addMark = addMark;
15
-
16
- var changeMarks = function changeMarks(marks) {
17
- return {
18
- type: 'CHANGE_MARKS',
19
- marks: marks
20
- };
21
- };
22
-
23
- exports.changeMarks = changeMarks;
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250YWluZXIvYWN0aW9ucy5qcyJdLCJuYW1lcyI6WyJhZGRNYXJrIiwidHlwZSIsImNoYW5nZU1hcmtzIiwibWFya3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxJQUFNQSxPQUFPLEdBQUcsU0FBVkEsT0FBVTtBQUFBLFNBQU87QUFDNUJDLElBQUFBLElBQUksRUFBRTtBQURzQixHQUFQO0FBQUEsQ0FBaEI7Ozs7QUFJQSxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUNyQ0YsSUFBQUEsSUFBSSxFQUFFLGNBRCtCO0FBRXJDRSxJQUFBQSxLQUFLLEVBQUxBO0FBRnFDLEdBQVo7QUFBQSxDQUFwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBhZGRNYXJrID0gKCkgPT4gKHtcbiAgdHlwZTogJ0FERF9NQVJLJyxcbn0pO1xuXG5leHBvcnQgY29uc3QgY2hhbmdlTWFya3MgPSAobWFya3MpID0+ICh7XG4gIHR5cGU6ICdDSEFOR0VfTUFSS1MnLFxuICBtYXJrcyxcbn0pO1xuIl19
@@ -1,166 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.GraphContainer = void 0;
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
-
28
- var _reactRedux = require("react-redux");
29
-
30
- var _react = _interopRequireDefault(require("react"));
31
-
32
- var _redux = require("redux");
33
-
34
- var _reducer = _interopRequireDefault(require("./reducer"));
35
-
36
- var _actions = require("./actions");
37
-
38
- var _propTypes = _interopRequireDefault(require("prop-types"));
39
-
40
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
41
-
42
- var _reduxUndo = require("redux-undo");
43
-
44
- var _graphWithControls = _interopRequireDefault(require("../graph-with-controls"));
45
-
46
- var _middleware = require("./middleware");
47
-
48
- var _excluded = ["onChangeMarks", "marks"];
49
-
50
- 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); }; }
51
-
52
- 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; } }
53
-
54
- var mapStateToProps = function mapStateToProps(s) {
55
- return {
56
- marks: s.marks.present
57
- };
58
- };
59
-
60
- var mapDispatchToProps = function mapDispatchToProps(dispatch) {
61
- return {
62
- onChangeMarks: function onChangeMarks(m) {
63
- return dispatch((0, _actions.changeMarks)(m));
64
- },
65
- onUndo: function onUndo() {
66
- return dispatch(_reduxUndo.ActionCreators.undo());
67
- },
68
- onRedo: function onRedo() {
69
- return dispatch(_reduxUndo.ActionCreators.redo());
70
- },
71
- onReset: function onReset() {
72
- return dispatch((0, _actions.changeMarks)([]));
73
- }
74
- };
75
- };
76
-
77
- var GraphContainer = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_graphWithControls["default"]);
78
- /**
79
- * The graph component entry point with undo/redo
80
- * Redux is an implementation detail, hide it in the react component.
81
- */
82
-
83
- exports.GraphContainer = GraphContainer;
84
-
85
- var Root = /*#__PURE__*/function (_React$Component) {
86
- (0, _inherits2["default"])(Root, _React$Component);
87
-
88
- var _super = _createSuper(Root);
89
-
90
- function Root(props) {
91
- var _this;
92
-
93
- (0, _classCallCheck2["default"])(this, Root);
94
- _this = _super.call(this, props);
95
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onStoreChange", function () {
96
- var _this$props = _this.props,
97
- marks = _this$props.marks,
98
- onChangeMarks = _this$props.onChangeMarks;
99
-
100
- var storeState = _this.store.getState();
101
-
102
- var lastAction = (0, _middleware.getLastAction)();
103
- var isUndoOperation = lastAction.type.includes('UNDO') || lastAction.type.includes('REDO');
104
-
105
- if (!(0, _isEqual["default"])(storeState.marks.present, marks)) {
106
- onChangeMarks(storeState.marks.present, isUndoOperation);
107
- }
108
- });
109
- var r = (0, _reducer["default"])();
110
- _this.store = (0, _redux.createStore)(r, {
111
- marks: props.marks
112
- }, (0, _redux.applyMiddleware)(_middleware.lastActionMiddleware));
113
-
114
- _this.store.subscribe(_this.onStoreChange);
115
-
116
- return _this;
117
- }
118
-
119
- (0, _createClass2["default"])(Root, [{
120
- key: "componentDidUpdate",
121
- value: function componentDidUpdate(prevProps) {
122
- var marks = this.props.marks;
123
- var storeState = this.store.getState();
124
-
125
- if ((0, _isEqual["default"])(storeState.marks.present, marks)) {
126
- return;
127
- }
128
-
129
- if (!(0, _isEqual["default"])(prevProps.marks, marks)) {
130
- this.store.dispatch((0, _actions.changeMarks)(marks));
131
- }
132
- }
133
- }, {
134
- key: "render",
135
- value: function render() {
136
- // eslint-disable-next-line no-unused-vars
137
- var _this$props2 = this.props,
138
- onChangeMarks = _this$props2.onChangeMarks,
139
- marks = _this$props2.marks,
140
- rest = (0, _objectWithoutProperties2["default"])(_this$props2, _excluded);
141
- var correctnessSet = marks && marks.find(function (m) {
142
- return m.correctness;
143
- });
144
-
145
- if (correctnessSet) {
146
- return /*#__PURE__*/_react["default"].createElement(_graphWithControls["default"], (0, _extends2["default"])({}, rest, {
147
- marks: marks,
148
- disabled: correctnessSet
149
- }));
150
- }
151
-
152
- return /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, {
153
- store: this.store
154
- }, /*#__PURE__*/_react["default"].createElement(GraphContainer, rest));
155
- }
156
- }]);
157
- return Root;
158
- }(_react["default"].Component);
159
-
160
- (0, _defineProperty2["default"])(Root, "propTypes", {
161
- onChangeMarks: _propTypes["default"].func,
162
- marks: _propTypes["default"].array
163
- });
164
- var _default = Root;
165
- exports["default"] = _default;
166
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250YWluZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInMiLCJtYXJrcyIsInByZXNlbnQiLCJtYXBEaXNwYXRjaFRvUHJvcHMiLCJkaXNwYXRjaCIsIm9uQ2hhbmdlTWFya3MiLCJtIiwib25VbmRvIiwiQWN0aW9uQ3JlYXRvcnMiLCJ1bmRvIiwib25SZWRvIiwicmVkbyIsIm9uUmVzZXQiLCJHcmFwaENvbnRhaW5lciIsIkdyYXBoV2l0aENvbnRyb2xzIiwiUm9vdCIsInByb3BzIiwic3RvcmVTdGF0ZSIsInN0b3JlIiwiZ2V0U3RhdGUiLCJsYXN0QWN0aW9uIiwiaXNVbmRvT3BlcmF0aW9uIiwidHlwZSIsImluY2x1ZGVzIiwiciIsImxhc3RBY3Rpb25NaWRkbGV3YXJlIiwic3Vic2NyaWJlIiwib25TdG9yZUNoYW5nZSIsInByZXZQcm9wcyIsInJlc3QiLCJjb3JyZWN0bmVzc1NldCIsImZpbmQiLCJjb3JyZWN0bmVzcyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiZnVuYyIsImFycmF5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLENBQUQ7QUFBQSxTQUFRO0FBQzlCQyxJQUFBQSxLQUFLLEVBQUVELENBQUMsQ0FBQ0MsS0FBRixDQUFRQztBQURlLEdBQVI7QUFBQSxDQUF4Qjs7QUFJQSxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUNDLFFBQUQ7QUFBQSxTQUFlO0FBQ3hDQyxJQUFBQSxhQUFhLEVBQUUsdUJBQUNDLENBQUQ7QUFBQSxhQUFPRixRQUFRLENBQUMsMEJBQVlFLENBQVosQ0FBRCxDQUFmO0FBQUEsS0FEeUI7QUFFeENDLElBQUFBLE1B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QUFBdEIsc0JBQ0UsZ0NBQUMsY0FBRCxFQUFvQlcsSUFBcEIsQ0FERixDQURGO0FBS0Q7OztFQXJEZ0JJLGtCQUFNQyxTOztpQ0FBbkJuQixJLGVBQ2U7QUFDakJWLEVBQUFBLGFBQWEsRUFBRThCLHNCQUFVQyxJQURSO0FBRWpCbkMsRUFBQUEsS0FBSyxFQUFFa0Msc0JBQVVFO0FBRkEsQztlQXVETnRCLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwbHlNaWRkbGV3YXJlLCBjcmVhdGVTdG9yZSB9IGZyb20gJ3JlZHV4JztcbmltcG9ydCByZWR1Y2VyIGZyb20gJy4vcmVkdWNlcic7XG5pbXBvcnQgeyBjaGFuZ2VNYXJrcyB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvcnMgfSBmcm9tICdyZWR1eC11bmRvJztcbmltcG9ydCBHcmFwaFdpdGhDb250cm9scyBmcm9tICcuLi9ncmFwaC13aXRoLWNvbnRyb2xzJztcbmltcG9ydCB7IGxhc3RBY3Rpb25NaWRkbGV3YXJlLCBnZXRMYXN0QWN0aW9uIH0gZnJvbSAnLi9taWRkbGV3YXJlJztcblxuY29uc3QgbWFwU3RhdGVUb1Byb3BzID0gKHMpID0+ICh7XG4gIG1hcmtzOiBzLm1hcmtzLnByZXNlbnQsXG59KTtcblxuY29uc3QgbWFwRGlzcGF0Y2hUb1Byb3BzID0gKGRpc3BhdGNoKSA9PiAoe1xuICBvbkNoYW5nZU1hcmtzOiAobSkgPT4gZGlzcGF0Y2goY2hhbmdlTWFya3MobSkpLFxuICBvblVuZG86ICgpID0+IGRpc3BhdGNoKEFjdGlvbkNyZWF0b3JzLnVuZG8oKSksXG4gIG9uUmVkbzogKCkgPT4gZGlzcGF0Y2goQWN0aW9uQ3JlYXRvcnMucmVkbygpKSxcbiAgb25SZXNldDogKCkgPT4gZGlzcGF0Y2goY2hhbmdlTWFya3MoW10pKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR3JhcGhDb250YWluZXIgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcywgbWFwRGlzcGF0Y2hUb1Byb3BzKShHcmFwaFdpdGhDb250cm9scyk7XG5cbi8qKlxuICogVGhlIGdyYXBoIGNvbXBvbmVudCBlbnRyeSBwb2ludCB3aXRoIHVuZG8vcmVkb1xuICogUmVkdXggaXMgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsLCBoaWRlIGl0IGluIHRoZSByZWFjdCBjb21wb25lbnQuXG4gKi9cbmNsYXNzIFJvb3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uQ2hhbmdlTWFya3M6IFByb3BUeXBlcy5mdW5jLFxuICAgIG1hcmtzOiBQcm9wVHlwZXMuYXJyYXksXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICBjb25zdCByID0gcmVkdWNlcigpO1xuICAgIHRoaXMuc3RvcmUgPSBjcmVhdGVTdG9yZShyLCB7IG1hcmtzOiBwcm9wcy5tYXJrcyB9LCBhcHBseU1pZGRsZXdhcmUobGFzdEFjdGlvbk1pZGRsZXdhcmUpKTtcblxuICAgIHRoaXMuc3RvcmUuc3Vic2NyaWJlKHRoaXMub25TdG9yZUNoYW5nZSk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBtYXJrcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBzdG9yZVN0YXRlID0gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpO1xuXG4gICAgaWYgKGlzRXF1YWwoc3RvcmVTdGF0ZS5tYXJrcy5wcmVzZW50LCBtYXJrcykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWlzRXF1YWwocHJldlByb3BzLm1hcmtzLCBtYXJrcykpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goY2hhbmdlTWFya3MobWFya3MpKTtcbiAgICB9XG4gIH1cblxuICBvblN0b3JlQ2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgbWFya3MsIG9uQ2hhbmdlTWFya3MgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc3RvcmVTdGF0ZSA9IHRoaXMuc3RvcmUuZ2V0U3RhdGUoKTtcbiAgICBjb25zdCBsYXN0QWN0aW9uID0gZ2V0TGFzdEFjdGlvbigpO1xuICAgIGNvbnN0IGlzVW5kb09wZXJhdGlvbiA9IGxhc3RBY3Rpb24udHlwZS5pbmNsdWRlcygnVU5ETycpIHx8IGxhc3RBY3Rpb24udHlwZS5pbmNsdWRlcygnUkVETycpO1xuXG4gICAgaWYgKCFpc0VxdWFsKHN0b3JlU3RhdGUubWFya3MucHJlc2VudCwgbWFya3MpKSB7XG4gICAgICBvbkNoYW5nZU1hcmtzKHN0b3JlU3RhdGUubWFya3MucHJlc2VudCwgaXNVbmRvT3BlcmF0aW9uKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IHsgb25DaGFuZ2VNYXJrcywgbWFya3MsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgY29ycmVjdG5lc3NTZXQgPSBtYXJrcyAmJiBtYXJrcy5maW5kKChtKSA9PiBtLmNvcnJlY3RuZXNzKTtcblxuICAgIGlmIChjb3JyZWN0bmVzc1NldCkge1xuICAgICAgcmV0dXJuIDxHcmFwaFdpdGhDb250cm9scyB7Li4ucmVzdH0gbWFya3M9e21hcmtzfSBkaXNhYmxlZD17Y29ycmVjdG5lc3NTZXR9IC8+O1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8UHJvdmlkZXIgc3RvcmU9e3RoaXMuc3RvcmV9PlxuICAgICAgICA8R3JhcGhDb250YWluZXIgey4uLnJlc3R9IC8+XG4gICAgICA8L1Byb3ZpZGVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUm9vdDtcbiJdfQ==
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var marks = function marks() {
9
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
10
- var action = arguments.length > 1 ? arguments[1] : undefined;
11
-
12
- switch (action.type) {
13
- case 'CHANGE_MARKS':
14
- if (Array.isArray(action.marks)) {
15
- return action.marks;
16
- } else {
17
- throw new Error('marks must be an array');
18
- }
19
-
20
- default:
21
- return state;
22
- }
23
- };
24
-
25
- var _default = marks;
26
- exports["default"] = _default;
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250YWluZXIvbWFya3MuanMiXSwibmFtZXMiOlsibWFya3MiLCJzdGF0ZSIsImFjdGlvbiIsInR5cGUiLCJBcnJheSIsImlzQXJyYXkiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQU1BLEtBQUssR0FBRyxTQUFSQSxLQUFRLEdBQXdCO0FBQUEsTUFBdkJDLEtBQXVCLHVFQUFmLEVBQWU7QUFBQSxNQUFYQyxNQUFXOztBQUNwQyxVQUFRQSxNQUFNLENBQUNDLElBQWY7QUFDRSxTQUFLLGNBQUw7QUFDRSxVQUFJQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0gsTUFBTSxDQUFDRixLQUFyQixDQUFKLEVBQWlDO0FBQy9CLGVBQU9FLE1BQU0sQ0FBQ0YsS0FBZDtBQUNELE9BRkQsTUFFTztBQUNMLGNBQU0sSUFBSU0sS0FBSixDQUFVLHdCQUFWLENBQU47QUFDRDs7QUFDSDtBQUNFLGFBQU9MLEtBQVA7QUFSSjtBQVVELENBWEQ7O2VBYWVELEsiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBtYXJrcyA9IChzdGF0ZSA9IFtdLCBhY3Rpb24pID0+IHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgJ0NIQU5HRV9NQVJLUyc6XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhY3Rpb24ubWFya3MpKSB7XG4gICAgICAgIHJldHVybiBhY3Rpb24ubWFya3M7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21hcmtzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBtYXJrcztcbiJdfQ==
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.lastActionMiddleware = exports.getLastAction = void 0;
7
- var lastAction = null;
8
-
9
- var getLastAction = function getLastAction() {
10
- return lastAction;
11
- };
12
-
13
- exports.getLastAction = getLastAction;
14
-
15
- var lastActionMiddleware = function lastActionMiddleware() {
16
- return function (next) {
17
- return function (action) {
18
- lastAction = action;
19
- return next(action);
20
- };
21
- };
22
- };
23
-
24
- exports.lastActionMiddleware = lastActionMiddleware;
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250YWluZXIvbWlkZGxld2FyZS5qcyJdLCJuYW1lcyI6WyJsYXN0QWN0aW9uIiwiZ2V0TGFzdEFjdGlvbiIsImxhc3RBY3Rpb25NaWRkbGV3YXJlIiwibmV4dCIsImFjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBSUEsVUFBVSxHQUFHLElBQWpCOztBQUNPLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0I7QUFBQSxTQUFNRCxVQUFOO0FBQUEsQ0FBdEI7Ozs7QUFFQSxJQUFNRSxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQXVCO0FBQUEsU0FBTSxVQUFDQyxJQUFEO0FBQUEsV0FBVSxVQUFDQyxNQUFELEVBQVk7QUFDOURKLE1BQUFBLFVBQVUsR0FBR0ksTUFBYjtBQUNBLGFBQU9ELElBQUksQ0FBQ0MsTUFBRCxDQUFYO0FBQ0QsS0FIeUM7QUFBQSxHQUFOO0FBQUEsQ0FBN0IiLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgbGFzdEFjdGlvbiA9IG51bGw7XG5leHBvcnQgY29uc3QgZ2V0TGFzdEFjdGlvbiA9ICgpID0+IGxhc3RBY3Rpb247XG5cbmV4cG9ydCBjb25zdCBsYXN0QWN0aW9uTWlkZGxld2FyZSA9ICgpID0+IChuZXh0KSA9PiAoYWN0aW9uKSA9PiB7XG4gIGxhc3RBY3Rpb24gPSBhY3Rpb247XG4gIHJldHVybiBuZXh0KGFjdGlvbik7XG59O1xuIl19
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _redux = require("redux");
11
-
12
- var _marks = _interopRequireDefault(require("./marks"));
13
-
14
- var _reduxUndo = _interopRequireDefault(require("redux-undo"));
15
-
16
- var _default = function _default() {
17
- return (0, _redux.combineReducers)({
18
- marks: (0, _reduxUndo["default"])(_marks["default"], {
19
- debug: false
20
- })
21
- });
22
- };
23
-
24
- exports["default"] = _default;
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250YWluZXIvcmVkdWNlci5qcyJdLCJuYW1lcyI6WyJtYXJrcyIsImRlYnVnIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7ZUFFZTtBQUFBLFNBQU0sNEJBQWdCO0FBQUVBLElBQUFBLEtBQUssRUFBRSwyQkFBU0EsaUJBQVQsRUFBZ0I7QUFBRUMsTUFBQUEsS0FBSyxFQUFFO0FBQVQsS0FBaEI7QUFBVCxHQUFoQixDQUFOO0FBQUEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVSZWR1Y2VycyB9IGZyb20gJ3JlZHV4JztcbmltcG9ydCBtYXJrcyBmcm9tICcuL21hcmtzJztcbmltcG9ydCB1bmRvYWJsZSBmcm9tICdyZWR1eC11bmRvJztcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gY29tYmluZVJlZHVjZXJzKHsgbWFya3M6IHVuZG9hYmxlKG1hcmtzLCB7IGRlYnVnOiBmYWxzZSB9KSB9KTtcbiJdfQ==
@@ -1,109 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getLabelPosition = exports["default"] = exports.CoordinatesLabel = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
- var _plot = require("@pie-lib/plot");
17
-
18
- var _renderUi = require("@pie-lib/render-ui");
19
-
20
- var _styles = require("@material-ui/core/styles");
21
-
22
- var _InputBase = _interopRequireDefault(require("@material-ui/core/InputBase"));
23
-
24
- var _utils = require("./utils");
25
-
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; }
27
-
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
-
30
- var styles = function styles(theme) {
31
- return {
32
- input: {
33
- fontFamily: theme.typography.fontFamily,
34
- fontSize: theme.typography.fontSize,
35
- borderRadius: '8px',
36
- background: theme.palette.common.white,
37
- color: _renderUi.color.defaults.BLACK
38
- },
39
- inputLabel: {
40
- padding: 0
41
- }
42
- };
43
- };
44
-
45
- var getLabelPosition = function getLabelPosition(graphProps, x, y, labelLength) {
46
- var scale = graphProps.scale,
47
- domain = graphProps.domain,
48
- range = graphProps.range; // treat corner cases for maximum and minimum
49
-
50
- var topShift = y === range.min ? 16 : y === range.max ? 0 : 8;
51
- var leftShift = 10;
52
- var rightEdge = scale.x(x) + labelLength + leftShift;
53
-
54
- if (rightEdge >= scale.x(domain.max)) {
55
- return {
56
- left: scale.x(x) - leftShift - labelLength,
57
- top: scale.y(y) - topShift
58
- };
59
- }
60
-
61
- return {
62
- left: scale.x(x) + leftShift,
63
- top: scale.y(y) - topShift
64
- };
65
- };
66
-
67
- exports.getLabelPosition = getLabelPosition;
68
-
69
- var CoordinatesLabel = function CoordinatesLabel(_ref) {
70
- var x = _ref.x,
71
- y = _ref.y,
72
- graphProps = _ref.graphProps,
73
- classes = _ref.classes;
74
- var label = "(".concat((0, _utils.roundNumber)(x), ", ").concat((0, _utils.roundNumber)(y), ")");
75
- var labelLength = (label.length || 0) * 6;
76
- var labelPosition = getLabelPosition(graphProps, x, y, labelLength);
77
-
78
- var style = _objectSpread({
79
- position: 'absolute',
80
- pointerEvents: 'auto',
81
- width: labelLength,
82
- padding: 0
83
- }, labelPosition);
84
-
85
- return /*#__PURE__*/_react["default"].createElement(_InputBase["default"], {
86
- style: style,
87
- classes: {
88
- input: classes.inputLabel
89
- },
90
- className: classes.input,
91
- value: label,
92
- inputProps: {
93
- ariaLabel: 'naked'
94
- }
95
- });
96
- };
97
-
98
- exports.CoordinatesLabel = CoordinatesLabel;
99
- CoordinatesLabel.propTypes = {
100
- graphProps: _plot.types.GraphPropsType,
101
- classes: _propTypes["default"].object,
102
- x: _propTypes["default"].number,
103
- y: _propTypes["default"].number
104
- };
105
-
106
- var _default = (0, _styles.withStyles)(styles)(CoordinatesLabel);
107
-
108
- exports["default"] = _default;
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb29yZGluYXRlcy1sYWJlbC5qc3giXSwibmFtZXMiOlsic3R5bGVzIiwidGhlbWUiLCJpbnB1dCIsImZvbnRGYW1pbHkiLCJ0eXBvZ3JhcGh5IiwiZm9udFNpemUiLCJib3JkZXJSYWRpdXMiLCJiYWNrZ3JvdW5kIiwicGFsZXR0ZSIsImNvbW1vbiIsIndoaXRlIiwiY29sb3IiLCJkZWZhdWx0cyIsIkJMQUNLIiwiaW5wdXRMYWJlbCIsInBhZGRpbmciLCJnZXRMYWJlbFBvc2l0aW9uIiwiZ3JhcGhQcm9wcyIsIngiLCJ5IiwibGFiZWxMZW5ndGgiLCJzY2FsZSIsImRvbWFpbiIsInJhbmdlIiwidG9wU2hpZnQiLCJtaW4iLCJtYXgiLCJsZWZ0U2hpZnQiLCJyaWdodEVkZ2UiLCJsZWZ0IiwidG9wIiwiQ29vcmRpbmF0ZXNMYWJlbCIsImNsYXNzZXMiLCJsYWJlbCIsImxlbmd0aCIsImxhYmVsUG9zaXRpb24iLCJzdHlsZSIsInBvc2l0aW9uIiwicG9pbnRlckV2ZW50cyIsIndpZHRoIiwiYXJpYUxhYmVsIiwicHJvcFR5cGVzIiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsIlByb3BUeXBlcyIsIm9iamVjdCIsIm51bWJlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsTUFBTSxHQUFHLFNBQVRBLE1BQVMsQ0FBQ0MsS0FBRDtBQUFBLFNBQVk7QUFDekJDLElBQUFBLEtBQUssRUFBRTtBQUNMQyxNQUFBQSxVQUFVLEVBQUVGLEtBQUssQ0FBQ0csVUFBTixDQUFpQkQsVUFEeEI7QUFFTEUsTUFBQUEsUUFBUSxFQUFFSixLQUFLLENBQUNHLFVBQU4sQ0FBaUJDLFFBRnRCO0FBR0xDLE1BQUFBLFlBQVksRUFBRSxLQUhUO0FBSUxDLE1BQUFBLFVBQVUsRUFBRU4sS0FBSyxDQUFDTyxPQUFOLENBQWNDLE1BQWQsQ0FBcUJDLEtBSjVCO0FBS0xD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QUFFM0JYLEVBQUFBLE9BQU8sRUFBRVksc0JBQVVDLE1BRlE7QUFHM0IzQixFQUFBQSxDQUFDLEVBQUUwQixzQkFBVUUsTUFIYztBQUkzQjNCLEVBQUFBLENBQUMsRUFBRXlCLHNCQUFVRTtBQUpjLENBQTdCOztlQU9lLHdCQUFXOUMsTUFBWCxFQUFtQitCLGdCQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB0eXBlcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgSW5wdXRCYXNlIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0lucHV0QmFzZSc7XG5pbXBvcnQgeyByb3VuZE51bWJlciB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIGlucHV0OiB7XG4gICAgZm9udEZhbWlseTogdGhlbWUudHlwb2dyYXBoeS5mb250RmFtaWx5LFxuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplLFxuICAgIGJvcmRlclJhZGl1czogJzhweCcsXG4gICAgYmFja2dyb3VuZDogdGhlbWUucGFsZXR0ZS5jb21tb24ud2hpdGUsXG4gICAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLkJMQUNLLFxuICB9LFxuICBpbnB1dExhYmVsOiB7XG4gICAgcGFkZGluZzogMCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0TGFiZWxQb3NpdGlvbiA9IChncmFwaFByb3BzLCB4LCB5LCBsYWJlbExlbmd0aCkgPT4ge1xuICBjb25zdCB7IHNjYWxlLCBkb21haW4sIHJhbmdlIH0gPSBncmFwaFByb3BzO1xuICAvLyB0cmVhdCBjb3JuZXIgY2FzZXMgZm9yIG1heGltdW0gYW5kIG1pbmltdW1cbiAgY29uc3QgdG9wU2hpZnQgPSB5ID09PSByYW5nZS5taW4gPyAxNiA6IHkgPT09IHJhbmdlLm1heCA/IDAgOiA4O1xuICBjb25zdCBsZWZ0U2hpZnQgPSAxMDtcbiAgY29uc3QgcmlnaHRFZGdlID0gc2NhbGUueCh4KSArIGxhYmVsTGVuZ3RoICsgbGVmdFNoaWZ0O1xuXG4gIGlmIChyaWdodEVkZ2UgPj0gc2NhbGUueChkb21haW4ubWF4KSkge1xuICAgIHJldHVybiB7XG4gICAgICBsZWZ0OiBzY2FsZS54KHgpIC0gbGVmdFNoaWZ0IC0gbGFiZWxMZW5ndGgsXG4gICAgICB0b3A6IHNjYWxlLnkoeSkgLSB0b3BTaGlmdCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBsZWZ0OiBzY2FsZS54KHgpICsgbGVmdFNoaWZ0LFxuICAgIHRvcDogc2NhbGUueSh5KSAtIHRvcFNoaWZ0LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IENvb3JkaW5hdGVzTGFiZWwgPSAoeyB4LCB5LCBncmFwaFByb3BzLCBjbGFzc2VzIH0pID0+IHtcbiAgY29uc3QgbGFiZWwgPSBgKCR7cm91bmROdW1iZXIoeCl9LCAke3JvdW5kTnVtYmVyKHkpfSlgO1xuICBjb25zdCBsYWJlbExlbmd0aCA9IChsYWJlbC5sZW5ndGggfHwgMCkgKiA2O1xuICBjb25zdCBsYWJlbFBvc2l0aW9uID0gZ2V0TGFiZWxQb3NpdGlvbihncmFwaFByb3BzLCB4LCB5LCBsYWJlbExlbmd0aCk7XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcG9pbnRlckV2ZW50czogJ2F1dG8nLFxuICAgIHdpZHRoOiBsYWJlbExlbmd0aCxcbiAgICBwYWRkaW5nOiAwLFxuICAgIC4uLmxhYmVsUG9zaXRpb24sXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8SW5wdXRCYXNlXG4gICAgICBzdHlsZT17c3R5bGV9XG4gICAgICBjbGFzc2VzPXt7IGlucHV0OiBjbGFzc2VzLmlucHV0TGFiZWwgfX1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5pbnB1dH1cbiAgICAgIHZhbHVlPXtsYWJlbH1cbiAgICAgIGlucHV0UHJvcHM9e3sgYXJpYUxhYmVsOiAnbmFrZWQnIH19XG4gICAgLz5cbiAgKTtcbn07XG5cbkNvb3JkaW5hdGVzTGFiZWwucHJvcFR5cGVzID0ge1xuICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZSxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgeDogUHJvcFR5cGVzLm51bWJlcixcbiAgeTogUHJvcFR5cGVzLm51bWJlcixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShDb29yZGluYXRlc0xhYmVsKTtcbiJdfQ==