@pie-lib/graphing 2.17.0 → 2.18.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 (147) hide show
  1. package/CHANGELOG.md +13 -65
  2. package/package.json +9 -8
  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 +1 -1
  7. package/src/key-legend.jsx +1 -1
  8. package/src/labels.jsx +1 -1
  9. package/src/mark-label.jsx +1 -1
  10. package/src/toggle-bar.jsx +1 -1
  11. package/src/tools/circle/bg-circle.jsx +1 -1
  12. package/src/tools/circle/component.jsx +1 -1
  13. package/src/tools/polygon/line.jsx +1 -1
  14. package/src/tools/polygon/polygon.jsx +1 -1
  15. package/src/tools/shared/line/index.jsx +1 -1
  16. package/src/tools/shared/line/line-path.jsx +1 -1
  17. package/src/tools/shared/point/index.jsx +1 -1
  18. package/src/tools/shared/styles.js +1 -1
  19. package/src/tools/sine/__tests__/component.test.jsx +1 -1
  20. package/src/undo-redo.jsx +1 -1
  21. package/lib/axis/arrow.js +0 -115
  22. package/lib/axis/arrow.js.map +0 -1
  23. package/lib/axis/axes.js +0 -415
  24. package/lib/axis/axes.js.map +0 -1
  25. package/lib/axis/index.js +0 -26
  26. package/lib/axis/index.js.map +0 -1
  27. package/lib/bg.js +0 -139
  28. package/lib/bg.js.map +0 -1
  29. package/lib/container/actions.js +0 -24
  30. package/lib/container/actions.js.map +0 -1
  31. package/lib/container/index.js +0 -163
  32. package/lib/container/index.js.map +0 -1
  33. package/lib/container/marks.js +0 -27
  34. package/lib/container/marks.js.map +0 -1
  35. package/lib/container/middleware.js +0 -25
  36. package/lib/container/middleware.js.map +0 -1
  37. package/lib/container/reducer.js +0 -25
  38. package/lib/container/reducer.js.map +0 -1
  39. package/lib/coordinates-label.js +0 -109
  40. package/lib/coordinates-label.js.map +0 -1
  41. package/lib/graph-with-controls.js +0 -359
  42. package/lib/graph-with-controls.js.map +0 -1
  43. package/lib/graph.js +0 -371
  44. package/lib/graph.js.map +0 -1
  45. package/lib/grid-setup.js +0 -462
  46. package/lib/grid-setup.js.map +0 -1
  47. package/lib/grid.js +0 -176
  48. package/lib/grid.js.map +0 -1
  49. package/lib/index.js +0 -59
  50. package/lib/index.js.map +0 -1
  51. package/lib/key-legend.js +0 -246
  52. package/lib/key-legend.js.map +0 -1
  53. package/lib/label-svg-icon.js +0 -56
  54. package/lib/label-svg-icon.js.map +0 -1
  55. package/lib/labels.js +0 -299
  56. package/lib/labels.js.map +0 -1
  57. package/lib/mark-label.js +0 -321
  58. package/lib/mark-label.js.map +0 -1
  59. package/lib/shared/index.js +0 -136
  60. package/lib/toggle-bar.js +0 -336
  61. package/lib/toggle-bar.js.map +0 -1
  62. package/lib/tool-menu.js +0 -112
  63. package/lib/tool-menu.js.map +0 -1
  64. package/lib/tools/absolute/component.js +0 -35
  65. package/lib/tools/absolute/component.js.map +0 -1
  66. package/lib/tools/absolute/index.js +0 -63
  67. package/lib/tools/absolute/index.js.map +0 -1
  68. package/lib/tools/circle/bg-circle.js +0 -173
  69. package/lib/tools/circle/bg-circle.js.map +0 -1
  70. package/lib/tools/circle/component.js +0 -406
  71. package/lib/tools/circle/component.js.map +0 -1
  72. package/lib/tools/circle/index.js +0 -51
  73. package/lib/tools/circle/index.js.map +0 -1
  74. package/lib/tools/exponential/component.js +0 -34
  75. package/lib/tools/exponential/component.js.map +0 -1
  76. package/lib/tools/exponential/index.js +0 -71
  77. package/lib/tools/exponential/index.js.map +0 -1
  78. package/lib/tools/index.js +0 -99
  79. package/lib/tools/index.js.map +0 -1
  80. package/lib/tools/line/component.js +0 -103
  81. package/lib/tools/line/component.js.map +0 -1
  82. package/lib/tools/line/index.js +0 -16
  83. package/lib/tools/line/index.js.map +0 -1
  84. package/lib/tools/parabola/component.js +0 -34
  85. package/lib/tools/parabola/component.js.map +0 -1
  86. package/lib/tools/parabola/index.js +0 -63
  87. package/lib/tools/parabola/index.js.map +0 -1
  88. package/lib/tools/point/component.js +0 -186
  89. package/lib/tools/point/component.js.map +0 -1
  90. package/lib/tools/point/index.js +0 -32
  91. package/lib/tools/point/index.js.map +0 -1
  92. package/lib/tools/polygon/component.js +0 -518
  93. package/lib/tools/polygon/component.js.map +0 -1
  94. package/lib/tools/polygon/index.js +0 -106
  95. package/lib/tools/polygon/index.js.map +0 -1
  96. package/lib/tools/polygon/line.js +0 -157
  97. package/lib/tools/polygon/line.js.map +0 -1
  98. package/lib/tools/polygon/polygon.js +0 -165
  99. package/lib/tools/polygon/polygon.js.map +0 -1
  100. package/lib/tools/ray/component.js +0 -102
  101. package/lib/tools/ray/component.js.map +0 -1
  102. package/lib/tools/ray/index.js +0 -16
  103. package/lib/tools/ray/index.js.map +0 -1
  104. package/lib/tools/segment/component.js +0 -75
  105. package/lib/tools/segment/component.js.map +0 -1
  106. package/lib/tools/segment/index.js +0 -16
  107. package/lib/tools/segment/index.js.map +0 -1
  108. package/lib/tools/shared/arrow-head.js +0 -70
  109. package/lib/tools/shared/arrow-head.js.map +0 -1
  110. package/lib/tools/shared/icons/CorrectSVG.js +0 -36
  111. package/lib/tools/shared/icons/CorrectSVG.js.map +0 -1
  112. package/lib/tools/shared/icons/IncorrectSVG.js +0 -36
  113. package/lib/tools/shared/icons/IncorrectSVG.js.map +0 -1
  114. package/lib/tools/shared/icons/MissingSVG.js +0 -35
  115. package/lib/tools/shared/icons/MissingSVG.js.map +0 -1
  116. package/lib/tools/shared/line/index.js +0 -599
  117. package/lib/tools/shared/line/index.js.map +0 -1
  118. package/lib/tools/shared/line/line-path.js +0 -151
  119. package/lib/tools/shared/line/line-path.js.map +0 -1
  120. package/lib/tools/shared/line/with-root-edge.js +0 -155
  121. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  122. package/lib/tools/shared/point/arrow-point.js +0 -113
  123. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  124. package/lib/tools/shared/point/arrow.js +0 -96
  125. package/lib/tools/shared/point/arrow.js.map +0 -1
  126. package/lib/tools/shared/point/base-point.js +0 -175
  127. package/lib/tools/shared/point/base-point.js.map +0 -1
  128. package/lib/tools/shared/point/index.js +0 -97
  129. package/lib/tools/shared/point/index.js.map +0 -1
  130. package/lib/tools/shared/styles.js +0 -58
  131. package/lib/tools/shared/styles.js.map +0 -1
  132. package/lib/tools/shared/types.js +0 -23
  133. package/lib/tools/shared/types.js.map +0 -1
  134. package/lib/tools/sine/component.js +0 -51
  135. package/lib/tools/sine/component.js.map +0 -1
  136. package/lib/tools/sine/index.js +0 -63
  137. package/lib/tools/sine/index.js.map +0 -1
  138. package/lib/tools/vector/component.js +0 -88
  139. package/lib/tools/vector/component.js.map +0 -1
  140. package/lib/tools/vector/index.js +0 -16
  141. package/lib/tools/vector/index.js.map +0 -1
  142. package/lib/undo-redo.js +0 -123
  143. package/lib/undo-redo.js.map +0 -1
  144. package/lib/use-debounce.js +0 -32
  145. package/lib/use-debounce.js.map +0 -1
  146. package/lib/utils.js +0 -307
  147. package/lib/utils.js.map +0 -1
package/lib/axis/axes.js DELETED
@@ -1,415 +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.sharedValues = exports.firstNegativeValue = exports["default"] = exports.RawYAxis = exports.RawXAxis = exports.AxisPropTypes = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
13
-
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
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 _react = _interopRequireDefault(require("react"));
29
-
30
- var _axis = require("@vx/axis");
31
-
32
- var _plot = require("@pie-lib/plot");
33
-
34
- var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
- var _arrow = _interopRequireDefault(require("./arrow"));
37
-
38
- var _core = require("@material-ui/core");
39
-
40
- var _utils = require("../utils");
41
-
42
- var _index = require("./../shared/index");
43
-
44
- 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; }
45
-
46
- 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; }
47
-
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); }; }
49
-
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; } }
51
-
52
- var AxisPropTypes = {
53
- includeArrows: _propTypes["default"].object,
54
- graphProps: _propTypes["default"].object
55
- };
56
- exports.AxisPropTypes = AxisPropTypes;
57
- var AxisDefaultProps = {
58
- includeArrows: {
59
- left: true,
60
- right: true,
61
- up: true,
62
- down: true
63
- }
64
- };
65
-
66
- var axisStyles = function axisStyles(theme) {
67
- return {
68
- line: {
69
- stroke: _index.color.defaults.PRIMARY,
70
- strokeWidth: 3
71
- },
72
- arrow: {
73
- fill: _index.color.defaults.PRIMARY
74
- },
75
- tick: {
76
- fill: _index.color.defaults.PRIMARY,
77
- '& > line': {
78
- stroke: _index.color.defaults.PRIMARY
79
- }
80
- },
81
- labelFontSize: {
82
- fontSize: theme.typography.fontSize
83
- },
84
- axisLabelHolder: {
85
- padding: 0,
86
- margin: 0,
87
- textAlign: 'center',
88
- '* > *': {
89
- margin: 0,
90
- padding: 0
91
- },
92
- fontSize: theme.typography.fontSize
93
- }
94
- };
95
- };
96
-
97
- var tickLabelStyles = {
98
- fontFamily: 'Roboto',
99
- fontSize: '14px',
100
- cursor: 'inherit'
101
- };
102
-
103
- var sharedValues = function sharedValues(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance, dy) {
104
- var result = [];
105
-
106
- if (firstNegativeX === firstNegativeY && distanceFromOriginToFirstNegativeX - deltaAllowance < distanceFromOriginToFirstNegativeY && distanceFromOriginToFirstNegativeY < distanceFromOriginToFirstNegativeX + deltaAllowance && distanceFromOriginToFirstNegativeX - deltaAllowance < dy && dy < distanceFromOriginToFirstNegativeX + deltaAllowance) {
107
- result.push(firstNegativeX);
108
- }
109
-
110
- return result;
111
- };
112
-
113
- exports.sharedValues = sharedValues;
114
-
115
- var firstNegativeValue = function firstNegativeValue(interval) {
116
- return (interval || []).find(function (element) {
117
- return element < 0;
118
- });
119
- };
120
-
121
- exports.firstNegativeValue = firstNegativeValue;
122
-
123
- var RawXAxis = /*#__PURE__*/function (_React$Component) {
124
- (0, _inherits2["default"])(RawXAxis, _React$Component);
125
-
126
- var _super = _createSuper(RawXAxis);
127
-
128
- function RawXAxis() {
129
- (0, _classCallCheck2["default"])(this, RawXAxis);
130
- return _super.apply(this, arguments);
131
- }
132
-
133
- (0, _createClass2["default"])(RawXAxis, [{
134
- key: "render",
135
- value: function render() {
136
- var _this$props = this.props,
137
- includeArrows = _this$props.includeArrows,
138
- classes = _this$props.classes,
139
- graphProps = _this$props.graphProps,
140
- columnTicksValues = _this$props.columnTicksValues,
141
- skipValues = _this$props.skipValues,
142
- distanceFromOriginToFirstNegativeY = _this$props.distanceFromOriginToFirstNegativeY,
143
- dy = _this$props.dy;
144
-
145
- var _ref = graphProps || {},
146
- scale = _ref.scale,
147
- domain = _ref.domain,
148
- size = _ref.size,
149
- range = _ref.range; // Having 0 as a number in columnTicksValues does not make 0 to show up
150
- // so we use this trick, by defining it as a string:
151
-
152
-
153
- var tickValues = (domain.labelStep || range.labelStep) && domain.min <= 0 ? ['0'].concat((0, _toConsumableArray2["default"])(columnTicksValues)) : columnTicksValues; // However, the '0' has to be displayed only if other tick labels (y-axis or x-axis) are displayed
154
-
155
- var labelProps = function labelProps(label) {
156
- var y = skipValues && skipValues[0] === label ? distanceFromOriginToFirstNegativeY + 4 : dy;
157
- return _objectSpread(_objectSpread({}, tickLabelStyles), {}, {
158
- textAnchor: 'middle',
159
- y: y,
160
- dx: label === '0' ? -10 : 0,
161
- dy: label === '0' ? -7 : 0
162
- });
163
- };
164
-
165
- var necessaryRows = (0, _utils.countWords)(domain.axisLabel);
166
- var longestWord = (0, _utils.findLongestWord)(domain.axisLabel);
167
- var necessaryWidth = (0, _utils.amountToIncreaseWidth)(longestWord) + 2;
168
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_axis.Axis, {
169
- axisLineClassName: classes.line,
170
- scale: scale.x,
171
- top: scale.y(0),
172
- left: 0,
173
- label: domain.label,
174
- rangePadding: 8,
175
- tickClassName: classes.tick,
176
- tickFormat: function tickFormat(value) {
177
- return value;
178
- },
179
- tickLabelProps: labelProps,
180
- tickValues: tickValues
181
- }), includeArrows && includeArrows.left && /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
182
- direction: "left",
183
- x: domain.min,
184
- y: 0,
185
- className: classes.arrow,
186
- scale: scale
187
- }), includeArrows && includeArrows.right && /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
188
- direction: "right",
189
- x: domain.max,
190
- y: 0,
191
- className: classes.arrow,
192
- scale: scale
193
- }), domain.axisLabel && /*#__PURE__*/_react["default"].createElement("foreignObject", {
194
- x: size.width + 17,
195
- y: scale.y(0) - 9,
196
- width: necessaryWidth,
197
- height: 20 * necessaryRows
198
- }, /*#__PURE__*/_react["default"].createElement("div", {
199
- dangerouslySetInnerHTML: {
200
- __html: domain.axisLabel
201
- },
202
- className: classes.labelFontSize
203
- })));
204
- }
205
- }]);
206
- return RawXAxis;
207
- }(_react["default"].Component);
208
-
209
- exports.RawXAxis = RawXAxis;
210
- (0, _defineProperty2["default"])(RawXAxis, "propTypes", _objectSpread(_objectSpread({}, AxisPropTypes), {}, {
211
- classes: _propTypes["default"].object,
212
- graphProps: _plot.types.GraphPropsType.isRequired
213
- }));
214
- (0, _defineProperty2["default"])(RawXAxis, "defaultProps", AxisDefaultProps);
215
- var XAxis = (0, _core.withStyles)(axisStyles)(RawXAxis);
216
-
217
- var RawYAxis = /*#__PURE__*/function (_React$Component2) {
218
- (0, _inherits2["default"])(RawYAxis, _React$Component2);
219
-
220
- var _super2 = _createSuper(RawYAxis);
221
-
222
- function RawYAxis() {
223
- (0, _classCallCheck2["default"])(this, RawYAxis);
224
- return _super2.apply(this, arguments);
225
- }
226
-
227
- (0, _createClass2["default"])(RawYAxis, [{
228
- key: "render",
229
- value: function render() {
230
- var _this$props2 = this.props,
231
- classes = _this$props2.classes,
232
- includeArrows = _this$props2.includeArrows,
233
- graphProps = _this$props2.graphProps,
234
- skipValues = _this$props2.skipValues,
235
- rowTickValues = _this$props2.rowTickValues;
236
-
237
- var _ref2 = graphProps || {},
238
- scale = _ref2.scale,
239
- range = _ref2.range,
240
- size = _ref2.size;
241
-
242
- var necessaryWidth = range.axisLabel ? (0, _utils.amountToIncreaseWidth)(range.axisLabel.length) : 0;
243
-
244
- var customTickFormat = function customTickFormat(value) {
245
- return skipValues && skipValues.indexOf(value) >= 0 ? '' : value;
246
- };
247
-
248
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_axis.Axis, {
249
- axisLineClassName: classes.line,
250
- orientation: 'left',
251
- scale: scale.y,
252
- top: 0,
253
- height: size.height,
254
- left: scale.x(0),
255
- label: range.label,
256
- labelProps: {
257
- 'data-pie-readable': false
258
- },
259
- rangePadding: 8,
260
- tickLength: 10,
261
- tickClassName: classes.tick,
262
- tickFormat: customTickFormat,
263
- tickLabelProps: function tickLabelProps(value) {
264
- var digits = value.toLocaleString().replace(/[.-]/g, '').length || 1;
265
- return _objectSpread(_objectSpread({}, tickLabelStyles), {}, {
266
- dy: 4,
267
- dx: -10 - digits * 9,
268
- 'data-pie-readable': false
269
- });
270
- },
271
- hideZero: true,
272
- tickTextAnchor: 'bottom',
273
- tickValues: rowTickValues
274
- }), includeArrows && includeArrows.down && /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
275
- direction: "down",
276
- x: 0,
277
- y: range.min,
278
- className: classes.arrow,
279
- scale: scale
280
- }), includeArrows && includeArrows.up && /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
281
- direction: "up",
282
- x: 0,
283
- y: range.max,
284
- className: classes.arrow,
285
- scale: scale
286
- }), range.axisLabel && /*#__PURE__*/_react["default"].createElement("foreignObject", {
287
- x: scale.x(0) - necessaryWidth / 2,
288
- y: -33,
289
- width: necessaryWidth,
290
- height: "20"
291
- }, /*#__PURE__*/_react["default"].createElement(_index.Readable, {
292
- "false": true
293
- }, /*#__PURE__*/_react["default"].createElement("div", {
294
- dangerouslySetInnerHTML: {
295
- __html: range.axisLabel
296
- },
297
- className: classes.axisLabelHolder
298
- }))));
299
- }
300
- }]);
301
- return RawYAxis;
302
- }(_react["default"].Component);
303
-
304
- exports.RawYAxis = RawYAxis;
305
- (0, _defineProperty2["default"])(RawYAxis, "propTypes", _objectSpread(_objectSpread({}, AxisPropTypes), {}, {
306
- graphProps: _plot.types.GraphPropsType.isRequired
307
- }));
308
- (0, _defineProperty2["default"])(RawYAxis, "defaultProps", AxisDefaultProps);
309
- var YAxis = (0, _core.withStyles)(axisStyles)(RawYAxis);
310
-
311
- var Axes = /*#__PURE__*/function (_React$Component3) {
312
- (0, _inherits2["default"])(Axes, _React$Component3);
313
-
314
- var _super3 = _createSuper(Axes);
315
-
316
- function Axes() {
317
- var _this;
318
-
319
- (0, _classCallCheck2["default"])(this, Axes);
320
-
321
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
322
- args[_key] = arguments[_key];
323
- }
324
-
325
- _this = _super3.call.apply(_super3, [this].concat(args));
326
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "xValues", function () {
327
- var graphProps = _this.props.graphProps;
328
-
329
- var _ref3 = graphProps || {},
330
- scale = _ref3.scale,
331
- domain = _ref3.domain;
332
-
333
- if (!domain || !scale) {
334
- return;
335
- }
336
-
337
- var ticks = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, domain), {}, {
338
- step: domain.labelStep
339
- }));
340
- var negative = firstNegativeValue(ticks);
341
- return {
342
- columnTicksValues: ticks,
343
- firstNegativeX: negative,
344
- distanceFromOriginToFirstNegativeX: Math.abs(scale.y(0) - scale.y(negative))
345
- };
346
- });
347
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "yValues", function () {
348
- var graphProps = _this.props.graphProps;
349
-
350
- var _ref4 = graphProps || {},
351
- scale = _ref4.scale,
352
- range = _ref4.range;
353
-
354
- if (!range || !scale) {
355
- return;
356
- }
357
-
358
- var ticks = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, range), {}, {
359
- step: range.labelStep
360
- }));
361
- var negative = firstNegativeValue(ticks);
362
- return {
363
- rowTickValues: ticks,
364
- firstNegativeY: negative,
365
- distanceFromOriginToFirstNegativeY: Math.abs(scale.x(0) - scale.x(negative))
366
- };
367
- });
368
- return _this;
369
- }
370
-
371
- (0, _createClass2["default"])(Axes, [{
372
- key: "render",
373
- value: function render() {
374
- var graphProps = this.props.graphProps;
375
-
376
- var _ref5 = graphProps || {},
377
- domain = _ref5.domain,
378
- range = _ref5.range;
379
-
380
- var _this$xValues = this.xValues(),
381
- columnTicksValues = _this$xValues.columnTicksValues,
382
- firstNegativeX = _this$xValues.firstNegativeX,
383
- distanceFromOriginToFirstNegativeX = _this$xValues.distanceFromOriginToFirstNegativeX;
384
-
385
- var _this$yValues = this.yValues(),
386
- rowTickValues = _this$yValues.rowTickValues,
387
- firstNegativeY = _this$yValues.firstNegativeY,
388
- distanceFromOriginToFirstNegativeY = _this$yValues.distanceFromOriginToFirstNegativeY;
389
-
390
- var deltaAllowance = 6;
391
- var dy = 25;
392
- var skipValues = sharedValues(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance, dy); // each axis has to be displayed only if the domain & range include it
393
-
394
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, range.min <= 0 ? /*#__PURE__*/_react["default"].createElement(XAxis, (0, _extends2["default"])({}, this.props, {
395
- skipValues: skipValues,
396
- columnTicksValues: columnTicksValues,
397
- distanceFromOriginToFirstNegativeY: distanceFromOriginToFirstNegativeY,
398
- dy: dy
399
- })) : null, domain.min <= 0 ? /*#__PURE__*/_react["default"].createElement(YAxis, (0, _extends2["default"])({}, this.props, {
400
- skipValues: skipValues,
401
- rowTickValues: rowTickValues,
402
- distanceFromOriginToFirstNegativeX: distanceFromOriginToFirstNegativeX
403
- })) : null);
404
- }
405
- }]);
406
- return Axes;
407
- }(_react["default"].Component);
408
-
409
- exports["default"] = Axes;
410
- (0, _defineProperty2["default"])(Axes, "propTypes", _objectSpread(_objectSpread({}, AxisPropTypes), {}, {
411
- classes: _propTypes["default"].object,
412
- graphProps: _plot.types.GraphPropsType.isRequired
413
- }));
414
- (0, _defineProperty2["default"])(Axes, "defaultProps", AxisDefaultProps);
415
- //# sourceMappingURL=axes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/axis/axes.jsx"],"names":["AxisPropTypes","includeArrows","PropTypes","object","graphProps","AxisDefaultProps","left","right","up","down","axisStyles","theme","line","stroke","color","defaults","PRIMARY","strokeWidth","arrow","fill","tick","labelFontSize","fontSize","typography","axisLabelHolder","padding","margin","textAlign","tickLabelStyles","fontFamily","cursor","sharedValues","firstNegativeX","firstNegativeY","distanceFromOriginToFirstNegativeX","distanceFromOriginToFirstNegativeY","deltaAllowance","dy","result","push","firstNegativeValue","interval","find","element","RawXAxis","props","classes","columnTicksValues","skipValues","scale","domain","size","range","tickValues","labelStep","min","labelProps","label","y","textAnchor","dx","necessaryRows","axisLabel","longestWord","necessaryWidth","x","value","max","width","__html","React","Component","types","GraphPropsType","isRequired","XAxis","RawYAxis","rowTickValues","length","customTickFormat","indexOf","height","digits","toLocaleString","replace","YAxis","Axes","ticks","step","negative","Math","abs","xValues","yValues"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Axis } from '@vx/axis';\nimport { types } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport Arrow from './arrow';\nimport { withStyles } from '@material-ui/core';\nimport { countWords, findLongestWord, amountToIncreaseWidth, getTickValues } from '../utils';\nimport { color, Readable } from '../../../render-ui/src/index';\n\nexport const AxisPropTypes = {\n includeArrows: PropTypes.object,\n graphProps: PropTypes.object,\n};\n\nconst AxisDefaultProps = {\n includeArrows: {\n left: true,\n right: true,\n up: true,\n down: true,\n },\n};\n\nconst axisStyles = (theme) => ({\n line: {\n stroke: color.defaults.PRIMARY,\n strokeWidth: 3,\n },\n arrow: {\n fill: color.defaults.PRIMARY,\n },\n tick: {\n fill: color.defaults.PRIMARY,\n '& > line': {\n stroke: color.defaults.PRIMARY,\n },\n },\n labelFontSize: {\n fontSize: theme.typography.fontSize,\n },\n axisLabelHolder: {\n padding: 0,\n margin: 0,\n textAlign: 'center',\n '* > *': {\n margin: 0,\n padding: 0,\n },\n fontSize: theme.typography.fontSize,\n },\n});\n\nconst tickLabelStyles = {\n fontFamily: 'Roboto',\n fontSize: '14px',\n cursor: 'inherit',\n};\n\nexport const sharedValues = (\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n dy,\n) => {\n let result = [];\n\n if (\n firstNegativeX === firstNegativeY &&\n distanceFromOriginToFirstNegativeX - deltaAllowance < distanceFromOriginToFirstNegativeY &&\n distanceFromOriginToFirstNegativeY < distanceFromOriginToFirstNegativeX + deltaAllowance &&\n distanceFromOriginToFirstNegativeX - deltaAllowance < dy &&\n dy < distanceFromOriginToFirstNegativeX + deltaAllowance\n ) {\n result.push(firstNegativeX);\n }\n\n return result;\n};\n\nexport const firstNegativeValue = (interval) => (interval || []).find((element) => element < 0);\n\nexport class RawXAxis extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired,\n };\n static defaultProps = AxisDefaultProps;\n\n render() {\n const {\n includeArrows,\n classes,\n graphProps,\n columnTicksValues,\n skipValues,\n distanceFromOriginToFirstNegativeY,\n dy,\n } = this.props;\n const { scale, domain, size, range } = graphProps || {};\n\n // Having 0 as a number in columnTicksValues does not make 0 to show up\n // so we use this trick, by defining it as a string:\n const tickValues =\n (domain.labelStep || range.labelStep) && domain.min <= 0 ? ['0', ...columnTicksValues] : columnTicksValues;\n // However, the '0' has to be displayed only if other tick labels (y-axis or x-axis) are displayed\n\n const labelProps = (label) => {\n const y = skipValues && skipValues[0] === label ? distanceFromOriginToFirstNegativeY + 4 : dy;\n\n return {\n ...tickLabelStyles,\n textAnchor: 'middle',\n y: y,\n dx: label === '0' ? -10 : 0,\n dy: label === '0' ? -7 : 0,\n };\n };\n\n const necessaryRows = countWords(domain.axisLabel);\n const longestWord = findLongestWord(domain.axisLabel);\n const necessaryWidth = amountToIncreaseWidth(longestWord) + 2;\n\n return (\n <React.Fragment>\n <Axis\n axisLineClassName={classes.line}\n scale={scale.x}\n top={scale.y(0)}\n left={0}\n label={domain.label}\n rangePadding={8}\n tickClassName={classes.tick}\n tickFormat={(value) => value}\n tickLabelProps={labelProps}\n tickValues={tickValues}\n />\n {includeArrows && includeArrows.left && (\n <Arrow direction=\"left\" x={domain.min} y={0} className={classes.arrow} scale={scale} />\n )}\n {includeArrows && includeArrows.right && (\n <Arrow direction=\"right\" x={domain.max} y={0} className={classes.arrow} scale={scale} />\n )}\n {domain.axisLabel && (\n <foreignObject x={size.width + 17} y={scale.y(0) - 9} width={necessaryWidth} height={20 * necessaryRows}>\n <div dangerouslySetInnerHTML={{ __html: domain.axisLabel }} className={classes.labelFontSize} />\n </foreignObject>\n )}\n </React.Fragment>\n );\n }\n}\n\nconst XAxis = withStyles(axisStyles)(RawXAxis);\n\nexport class RawYAxis extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n graphProps: types.GraphPropsType.isRequired,\n };\n static defaultProps = AxisDefaultProps;\n\n render() {\n const { classes, includeArrows, graphProps, skipValues, rowTickValues } = this.props;\n const { scale, range, size } = graphProps || {};\n\n const necessaryWidth = range.axisLabel ? amountToIncreaseWidth(range.axisLabel.length) : 0;\n\n const customTickFormat = (value) => (skipValues && skipValues.indexOf(value) >= 0 ? '' : value);\n\n return (\n <React.Fragment>\n <Axis\n axisLineClassName={classes.line}\n orientation={'left'}\n scale={scale.y}\n top={0}\n height={size.height}\n left={scale.x(0)}\n label={range.label}\n labelProps={{ 'data-pie-readable': false }}\n rangePadding={8}\n tickLength={10}\n tickClassName={classes.tick}\n tickFormat={customTickFormat}\n tickLabelProps={(value) => {\n let digits = value.toLocaleString().replace(/[.-]/g, '').length || 1;\n\n return {\n ...tickLabelStyles,\n dy: 4,\n dx: -10 - digits * 9,\n 'data-pie-readable': false,\n };\n }}\n hideZero={true}\n tickTextAnchor={'bottom'}\n tickValues={rowTickValues}\n />\n\n {includeArrows && includeArrows.down && (\n <Arrow direction=\"down\" x={0} y={range.min} className={classes.arrow} scale={scale} />\n )}\n {includeArrows && includeArrows.up && (\n <Arrow direction=\"up\" x={0} y={range.max} className={classes.arrow} scale={scale} />\n )}\n {range.axisLabel && (\n <foreignObject x={scale.x(0) - necessaryWidth / 2} y={-33} width={necessaryWidth} height=\"20\">\n <Readable false>\n <div dangerouslySetInnerHTML={{ __html: range.axisLabel }} className={classes.axisLabelHolder} />\n </Readable>\n </foreignObject>\n )}\n </React.Fragment>\n );\n }\n}\n\nconst YAxis = withStyles(axisStyles)(RawYAxis);\n\nexport default class Axes extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired,\n };\n static defaultProps = AxisDefaultProps;\n\n xValues = () => {\n const { graphProps } = this.props;\n const { scale, domain } = graphProps || {};\n\n if (!domain || !scale) {\n return;\n }\n\n const ticks = getTickValues({ ...domain, step: domain.labelStep });\n const negative = firstNegativeValue(ticks);\n\n return {\n columnTicksValues: ticks,\n firstNegativeX: negative,\n distanceFromOriginToFirstNegativeX: Math.abs(scale.y(0) - scale.y(negative)),\n };\n };\n\n yValues = () => {\n const { graphProps } = this.props;\n const { scale, range } = graphProps || {};\n\n if (!range || !scale) {\n return;\n }\n\n const ticks = getTickValues({ ...range, step: range.labelStep });\n const negative = firstNegativeValue(ticks);\n\n return {\n rowTickValues: ticks,\n firstNegativeY: negative,\n distanceFromOriginToFirstNegativeY: Math.abs(scale.x(0) - scale.x(negative)),\n };\n };\n\n render() {\n const { graphProps } = this.props;\n const { domain, range } = graphProps || {};\n const { columnTicksValues, firstNegativeX, distanceFromOriginToFirstNegativeX } = this.xValues();\n const { rowTickValues, firstNegativeY, distanceFromOriginToFirstNegativeY } = this.yValues();\n const deltaAllowance = 6;\n const dy = 25;\n\n const skipValues = sharedValues(\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n dy,\n );\n\n // each axis has to be displayed only if the domain & range include it\n return (\n <React.Fragment>\n {range.min <= 0 ? (\n <XAxis\n {...this.props}\n skipValues={skipValues}\n columnTicksValues={columnTicksValues}\n distanceFromOriginToFirstNegativeY={distanceFromOriginToFirstNegativeY}\n dy={dy}\n />\n ) : null}\n {domain.min <= 0 ? (\n <YAxis\n {...this.props}\n skipValues={skipValues}\n rowTickValues={rowTickValues}\n distanceFromOriginToFirstNegativeX={distanceFromOriginToFirstNegativeX}\n />\n ) : null}\n </React.Fragment>\n );\n }\n}\n"],"file":"axes.js"}
package/lib/axis/index.js DELETED
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "Axes", {
9
- enumerable: true,
10
- get: function get() {
11
- return _axes["default"];
12
- }
13
- });
14
- Object.defineProperty(exports, "AxisPropTypes", {
15
- enumerable: true,
16
- get: function get() {
17
- return _axes.AxisPropTypes;
18
- }
19
- });
20
-
21
- var _axes = _interopRequireWildcard(require("./axes"));
22
-
23
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
-
25
- 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; }
26
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/axis/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA","sourcesContent":["import Axes, { AxisPropTypes } from './axes';\nexport { Axes, AxisPropTypes };\n"],"file":"index.js"}
package/lib/bg.js DELETED
@@ -1,139 +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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _d3Selection = require("d3-selection");
29
-
30
- var _plot = require("@pie-lib/plot");
31
-
32
- var _utils = require("./utils");
33
-
34
- 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); }; }
35
-
36
- 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; } }
37
-
38
- var Bg = /*#__PURE__*/function (_React$Component) {
39
- (0, _inherits2["default"])(Bg, _React$Component);
40
-
41
- var _super = _createSuper(Bg);
42
-
43
- function Bg() {
44
- var _this;
45
-
46
- (0, _classCallCheck2["default"])(this, Bg);
47
-
48
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
49
- args[_key] = arguments[_key];
50
- }
51
-
52
- _this = _super.call.apply(_super, [this].concat(args));
53
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getRectPadding", function () {
54
- var graphProps = _this.props.graphProps;
55
- return (0, _utils.thinnerShapesNeeded)(graphProps) ? 6 : 10;
56
- });
57
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRectClick", function (rect) {
58
- var _this$props = _this.props,
59
- onClick = _this$props.onClick,
60
- graphProps = _this$props.graphProps;
61
- var scale = graphProps.scale;
62
-
63
- var padding = _this.getRectPadding();
64
-
65
- var coords = (0, _d3Selection.mouse)(rect._groups[0][0]); // decrease the padding from coordinates to indicate the correct point clicked
66
-
67
- var x = scale.x.invert(coords[0] - padding);
68
- var y = scale.y.invert(coords[1] - padding);
69
- var rowTicks = (0, _utils.getTickValues)(graphProps.range);
70
- var columnTicks = (0, _utils.getTickValues)(graphProps.domain);
71
-
72
- var closest = function closest(ticks, value) {
73
- return ticks.length && ticks.reduce(function (prev, curr) {
74
- var currentDistance = Math.abs(curr - value);
75
- var previousDistance = Math.abs(prev - value);
76
- return currentDistance <= previousDistance ? curr : prev;
77
- });
78
- };
79
-
80
- var snapped = {};
81
-
82
- if (columnTicks.indexOf(x) >= 0 && rowTicks.indexOf(y) >= 0) {
83
- snapped.x = x;
84
- snapped.y = y;
85
- } else {
86
- snapped.x = closest(columnTicks, x);
87
- snapped.y = closest(rowTicks, y);
88
- }
89
-
90
- onClick(snapped);
91
- });
92
- return _this;
93
- }
94
-
95
- (0, _createClass2["default"])(Bg, [{
96
- key: "componentDidMount",
97
- value: function componentDidMount() {
98
- var rect = (0, _d3Selection.select)(this.rect);
99
- rect.on('click', this.onRectClick.bind(this, rect));
100
- }
101
- }, {
102
- key: "shouldComponentUpdate",
103
- value: function shouldComponentUpdate(nextProps) {
104
- return !_plot.utils.isDomainRangeEqual(this.props.graphProps, nextProps.graphProps) || this.props.width !== nextProps.width || this.props.height !== nextProps.height;
105
- }
106
- }, {
107
- key: "render",
108
- value: function render() {
109
- var _this2 = this;
110
-
111
- var _this$props2 = this.props,
112
- width = _this$props2.width,
113
- height = _this$props2.height;
114
- var padding = this.getRectPadding(); // expand the size of clickable area so a small area outside the edges of the grid lines to be clickable
115
-
116
- return /*#__PURE__*/_react["default"].createElement("rect", {
117
- ref: function ref(rect) {
118
- return _this2.rect = rect;
119
- },
120
- transform: "translate(-".concat(padding, ", -").concat(padding, ")"),
121
- fill: "red",
122
- fillOpacity: "0.0",
123
- width: width + padding * 2,
124
- height: height + padding * 2
125
- });
126
- }
127
- }]);
128
- return Bg;
129
- }(_react["default"].Component);
130
-
131
- exports["default"] = Bg;
132
- (0, _defineProperty2["default"])(Bg, "propTypes", {
133
- width: _propTypes["default"].number.isRequired,
134
- height: _propTypes["default"].number.isRequired,
135
- onClick: _propTypes["default"].func.isRequired,
136
- graphProps: _plot.types.GraphPropsType.isRequired
137
- });
138
- (0, _defineProperty2["default"])(Bg, "defaultProps", {});
139
- //# sourceMappingURL=bg.js.map
package/lib/bg.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/bg.jsx"],"names":["Bg","graphProps","props","rect","onClick","scale","padding","getRectPadding","coords","_groups","x","invert","y","rowTicks","range","columnTicks","domain","closest","ticks","value","length","reduce","prev","curr","currentDistance","Math","abs","previousDistance","snapped","indexOf","on","onRectClick","bind","nextProps","utils","isDomainRangeEqual","width","height","React","Component","PropTypes","number","isRequired","func","types","GraphPropsType"],"mappings":"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","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, thinnerShapesNeeded } 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\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 getRectPadding = () => {\n const { graphProps } = this.props;\n\n return thinnerShapesNeeded(graphProps) ? 6 : 10;\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\n const padding = this.getRectPadding();\n const coords = mouse(rect._groups[0][0]);\n\n // decrease the padding from coordinates to indicate the correct point clicked\n const x = scale.x.invert(coords[0] - padding);\n const y = scale.y.invert(coords[1] - padding);\n\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\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 const padding = this.getRectPadding();\n\n // expand the size of clickable area so a small area outside the edges of the grid lines to be clickable\n return (\n <rect\n ref={(rect) => (this.rect = rect)}\n transform={`translate(-${padding}, -${padding})`}\n fill=\"red\"\n fillOpacity=\"0.0\"\n width={width + padding * 2}\n height={height + padding * 2}\n />\n );\n }\n}\n"],"file":"bg.js"}
@@ -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=actions.js.map