@pie-lib/charting 5.36.3-next.2 → 5.36.3-next.203

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 (117) hide show
  1. package/CHANGELOG.md +24 -87
  2. package/lib/actions-button.js +60 -90
  3. package/lib/actions-button.js.map +1 -1
  4. package/lib/axes.js +162 -238
  5. package/lib/axes.js.map +1 -1
  6. package/lib/bars/bar.js +13 -41
  7. package/lib/bars/bar.js.map +1 -1
  8. package/lib/bars/common/bars.js +61 -137
  9. package/lib/bars/common/bars.js.map +1 -1
  10. package/lib/bars/common/correct-check-icon.js +5 -6
  11. package/lib/bars/common/correct-check-icon.js.map +1 -1
  12. package/lib/bars/histogram.js +13 -41
  13. package/lib/bars/histogram.js.map +1 -1
  14. package/lib/chart-setup.js +119 -195
  15. package/lib/chart-setup.js.map +1 -1
  16. package/lib/chart-type.js +52 -43
  17. package/lib/chart-type.js.map +1 -1
  18. package/lib/chart-types.js +1 -10
  19. package/lib/chart-types.js.map +1 -1
  20. package/lib/chart.js +73 -151
  21. package/lib/chart.js.map +1 -1
  22. package/lib/common/correctness-indicators.js +109 -52
  23. package/lib/common/correctness-indicators.js.map +1 -1
  24. package/lib/common/drag-handle.js +65 -108
  25. package/lib/common/drag-handle.js.map +1 -1
  26. package/lib/common/drag-icon.js +12 -12
  27. package/lib/common/drag-icon.js.map +1 -1
  28. package/lib/common/styles.js +6 -24
  29. package/lib/common/styles.js.map +1 -1
  30. package/lib/grid.js +43 -83
  31. package/lib/grid.js.map +1 -1
  32. package/lib/index.js +0 -6
  33. package/lib/index.js.map +1 -1
  34. package/lib/key-legend.js +63 -87
  35. package/lib/key-legend.js.map +1 -1
  36. package/lib/line/common/drag-handle.js +72 -100
  37. package/lib/line/common/drag-handle.js.map +1 -1
  38. package/lib/line/common/line.js +50 -96
  39. package/lib/line/common/line.js.map +1 -1
  40. package/lib/line/line-cross.js +79 -89
  41. package/lib/line/line-cross.js.map +1 -1
  42. package/lib/line/line-dot.js +58 -76
  43. package/lib/line/line-dot.js.map +1 -1
  44. package/lib/mark-label.js +84 -119
  45. package/lib/mark-label.js.map +1 -1
  46. package/lib/plot/common/plot.js +90 -148
  47. package/lib/plot/common/plot.js.map +1 -1
  48. package/lib/plot/dot.js +32 -58
  49. package/lib/plot/dot.js.map +1 -1
  50. package/lib/plot/line.js +39 -64
  51. package/lib/plot/line.js.map +1 -1
  52. package/lib/tool-menu.js +47 -83
  53. package/lib/tool-menu.js.map +1 -1
  54. package/lib/utils.js +31 -86
  55. package/lib/utils.js.map +1 -1
  56. package/package.json +22 -24
  57. package/src/__tests__/axes.test.jsx +85 -100
  58. package/src/__tests__/chart-type.test.jsx +5 -11
  59. package/src/__tests__/chart.test.jsx +41 -50
  60. package/src/__tests__/grid.test.jsx +23 -11
  61. package/src/__tests__/mark-label.test.jsx +13 -11
  62. package/src/__tests__/utils.js +8 -2
  63. package/src/actions-button.jsx +44 -39
  64. package/src/axes.jsx +67 -81
  65. package/src/bars/__tests__/bar.test.jsx +19 -11
  66. package/src/bars/__tests__/histogram.test.jsx +19 -12
  67. package/src/bars/common/__tests__/bars.test.jsx +23 -24
  68. package/src/bars/common/bars.jsx +42 -69
  69. package/src/bars/common/correct-check-icon.jsx +5 -0
  70. package/src/chart-setup.jsx +75 -88
  71. package/src/chart-type.js +45 -22
  72. package/src/chart.jsx +19 -34
  73. package/src/common/__tests__/drag-handle.test.jsx +16 -45
  74. package/src/common/correctness-indicators.jsx +91 -13
  75. package/src/common/drag-handle.jsx +44 -64
  76. package/src/common/drag-icon.jsx +9 -2
  77. package/src/common/styles.js +1 -1
  78. package/src/grid.jsx +10 -14
  79. package/src/key-legend.jsx +62 -60
  80. package/src/line/__tests__/line-cross.test.jsx +16 -13
  81. package/src/line/__tests__/line-dot.test.jsx +16 -13
  82. package/src/line/__tests__/utils.js +8 -2
  83. package/src/line/common/__tests__/drag-handle.test.jsx +20 -45
  84. package/src/line/common/__tests__/line.test.jsx +27 -30
  85. package/src/line/common/drag-handle.jsx +61 -55
  86. package/src/line/common/line.jsx +21 -11
  87. package/src/line/line-cross.js +39 -14
  88. package/src/line/line-dot.js +27 -32
  89. package/src/mark-label.jsx +51 -47
  90. package/src/plot/__tests__/dot.test.jsx +19 -12
  91. package/src/plot/__tests__/line.test.jsx +19 -12
  92. package/src/plot/common/__tests__/plot.test.jsx +23 -24
  93. package/src/plot/common/plot.jsx +29 -24
  94. package/src/plot/dot.js +11 -4
  95. package/src/plot/line.js +16 -8
  96. package/src/tool-menu.jsx +26 -30
  97. package/src/utils.js +13 -9
  98. package/esm/index.css +0 -847
  99. package/esm/index.js +0 -231130
  100. package/esm/index.js.map +0 -1
  101. package/esm/package.json +0 -3
  102. package/src/__tests__/__snapshots__/axes.test.jsx.snap +0 -569
  103. package/src/__tests__/__snapshots__/chart-type.test.jsx.snap +0 -14
  104. package/src/__tests__/__snapshots__/chart.test.jsx.snap +0 -595
  105. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -72
  106. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -73
  107. package/src/bars/__tests__/__snapshots__/bar.test.jsx.snap +0 -43
  108. package/src/bars/__tests__/__snapshots__/histogram.test.jsx.snap +0 -45
  109. package/src/bars/common/__tests__/__snapshots__/bars.test.jsx.snap +0 -110
  110. package/src/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -48
  111. package/src/line/__tests__/__snapshots__/line-cross.test.jsx.snap +0 -45
  112. package/src/line/__tests__/__snapshots__/line-dot.test.jsx.snap +0 -45
  113. package/src/line/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -49
  114. package/src/line/common/__tests__/__snapshots__/line.test.jsx.snap +0 -143
  115. package/src/plot/__tests__/__snapshots__/dot.test.jsx.snap +0 -45
  116. package/src/plot/__tests__/__snapshots__/line.test.jsx.snap +0 -45
  117. package/src/plot/common/__tests__/__snapshots__/plot.test.jsx.snap +0 -97
@@ -1,129 +1,88 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = exports.RawPlot = exports.Plot = void 0;
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  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
11
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
24
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
15
  var _react = _interopRequireDefault(require("react"));
27
-
28
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _Check = _interopRequireDefault(require("@material-ui/icons/Check"));
33
-
34
- var _index = require("@material-ui/core/styles/index");
35
-
36
- var _group = require("@vx/group");
37
-
17
+ var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
18
+ var _styles = require("@mui/material/styles");
19
+ var _group = require("@visx/group");
38
20
  var _debug = _interopRequireDefault(require("debug"));
39
-
40
21
  var _plot = require("@pie-lib/plot");
41
-
42
22
  var _dragHandle = _interopRequireWildcard(require("../../common/drag-handle"));
43
-
44
23
  var _renderUi = require("@pie-lib/render-ui");
45
-
46
24
  var _utils = require("../../utils");
47
-
48
- var _styles = require("../../common/styles");
49
-
50
- 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); }
51
-
52
- 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; }
53
-
54
- 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); }; }
55
-
56
- 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; } }
57
-
25
+ var _styles2 = require("../../common/styles");
26
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
27
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
28
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
58
29
  var log = (0, _debug["default"])('pie-lib:chart:bars');
59
30
  var ICON_SIZE = 16; // 10px icon + 2px padding on all sides + 1px border
60
-
61
- var RawPlot = /*#__PURE__*/function (_React$Component) {
62
- (0, _inherits2["default"])(RawPlot, _React$Component);
63
-
64
- var _super = _createSuper(RawPlot);
65
-
31
+ var RawPlot = exports.RawPlot = /*#__PURE__*/function (_React$Component) {
66
32
  function RawPlot(props) {
67
33
  var _this;
68
-
69
34
  (0, _classCallCheck2["default"])(this, RawPlot);
70
- _this = _super.call(this, props);
71
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseEnter", function () {
35
+ _this = _callSuper(this, RawPlot, [props]);
36
+ (0, _defineProperty2["default"])(_this, "handleMouseEnter", function () {
72
37
  _this.setState({
73
38
  isHovered: true
74
39
  });
75
40
  });
76
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseLeave", function () {
41
+ (0, _defineProperty2["default"])(_this, "handleMouseLeave", function () {
77
42
  _this.setState({
78
43
  isHovered: false
79
44
  });
80
45
  });
81
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setDragValue", function (dragValue) {
46
+ (0, _defineProperty2["default"])(_this, "setDragValue", function (dragValue) {
82
47
  return _this.setState({
83
48
  dragValue: dragValue
84
49
  });
85
50
  });
86
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragStop", function () {
51
+ (0, _defineProperty2["default"])(_this, "dragStop", function () {
87
52
  var _this$props = _this.props,
88
- label = _this$props.label,
89
- onChangeCategory = _this$props.onChangeCategory;
53
+ label = _this$props.label,
54
+ onChangeCategory = _this$props.onChangeCategory;
90
55
  var dragValue = _this.state.dragValue;
91
56
  log('[dragStop]', dragValue);
92
-
93
57
  if (dragValue !== undefined) {
94
58
  onChangeCategory({
95
59
  label: label,
96
60
  value: dragValue
97
61
  });
98
62
  }
99
-
100
63
  _this.setDragValue(undefined);
101
64
  });
102
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragValue", function (existing, next) {
65
+ (0, _defineProperty2["default"])(_this, "dragValue", function (existing, next) {
103
66
  log('[dragValue] next:', next);
104
-
105
67
  _this.setDragValue(next);
106
68
  });
107
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderCorrectnessIcon", function (barX, barWidth, correctVal, correctness, classes, scale, pointHeight, pointDiameter) {
69
+ (0, _defineProperty2["default"])(_this, "renderCorrectnessIcon", function (barX, barWidth, correctVal, correctness, scale, pointHeight, pointDiameter) {
108
70
  var iconY;
109
-
110
71
  if (correctVal === 0) {
111
72
  // if correct value is 0, position icon on the horizontal axis
112
73
  iconY = scale.y(0) - ICON_SIZE / 2;
113
74
  } else {
114
75
  var shapeIndex = correctVal - 1; // the index of the shape representing the correct value
115
-
116
76
  var shapeCenterY = scale.y(shapeIndex) - (pointHeight - pointDiameter) / 2 - pointDiameter / 2;
117
77
  iconY = shapeCenterY - ICON_SIZE / 2; // center the icon
118
78
  }
119
-
120
79
  return /*#__PURE__*/_react["default"].createElement("foreignObject", {
121
80
  x: barX + barWidth / 2 - ICON_SIZE / 2,
122
81
  y: iconY,
123
82
  width: ICON_SIZE,
124
83
  height: ICON_SIZE
125
84
  }, /*#__PURE__*/_react["default"].createElement(_Check["default"], {
126
- className: (0, _classnames["default"])(classes.correctnessIcon, classes.correctIcon, classes.smallIcon),
85
+ className: "correctnessIcon correctIcon smallIcon",
127
86
  title: correctness.label
128
87
  }));
129
88
  });
@@ -133,34 +92,31 @@ var RawPlot = /*#__PURE__*/function (_React$Component) {
133
92
  };
134
93
  return _this;
135
94
  }
136
-
137
- (0, _createClass2["default"])(RawPlot, [{
95
+ (0, _inherits2["default"])(RawPlot, _React$Component);
96
+ return (0, _createClass2["default"])(RawPlot, [{
138
97
  key: "render",
139
98
  value: function render() {
140
99
  var _this2 = this;
141
-
142
100
  var _this$props2 = this.props,
143
- graphProps = _this$props2.graphProps,
144
- value = _this$props2.value,
145
- label = _this$props2.label,
146
- classes = _this$props2.classes,
147
- xBand = _this$props2.xBand,
148
- index = _this$props2.index,
149
- CustomBarElement = _this$props2.CustomBarElement,
150
- interactive = _this$props2.interactive,
151
- correctness = _this$props2.correctness,
152
- defineChart = _this$props2.defineChart,
153
- correctData = _this$props2.correctData;
101
+ graphProps = _this$props2.graphProps,
102
+ value = _this$props2.value,
103
+ label = _this$props2.label,
104
+ xBand = _this$props2.xBand,
105
+ index = _this$props2.index,
106
+ CustomBarElement = _this$props2.CustomBarElement,
107
+ interactive = _this$props2.interactive,
108
+ correctness = _this$props2.correctness,
109
+ defineChart = _this$props2.defineChart,
110
+ correctData = _this$props2.correctData,
111
+ className = _this$props2.className;
154
112
  var scale = graphProps.scale,
155
- range = graphProps.range,
156
- size = graphProps.size;
157
-
113
+ range = graphProps.range,
114
+ size = graphProps.size;
158
115
  var _ref = range || {},
159
- max = _ref.max;
160
-
116
+ max = _ref.max;
161
117
  var _this$state = this.state,
162
- dragValue = _this$state.dragValue,
163
- isHovered = _this$state.isHovered;
118
+ dragValue = _this$state.dragValue,
119
+ isHovered = _this$state.isHovered;
164
120
  var v = Number.isFinite(dragValue) ? dragValue : value;
165
121
  var barWidth = xBand.bandwidth();
166
122
  var barHeight = scale.y(range.max - v);
@@ -169,16 +125,15 @@ var RawPlot = /*#__PURE__*/function (_React$Component) {
169
125
  }, index));
170
126
  log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);
171
127
  var values = [];
172
-
173
128
  for (var i = 0; i < v; i++) {
174
129
  values.push(i);
175
130
  }
176
-
177
131
  var pointHeight = size.height / max;
178
132
  var pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;
179
133
  var Component = interactive ? _dragHandle["default"] : _dragHandle.DragHandle;
180
134
  var allowRolloverEvent = interactive && !correctness;
181
135
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("g", {
136
+ className: className,
182
137
  onMouseEnter: this.handleMouseEnter,
183
138
  onMouseLeave: this.handleMouseLeave,
184
139
  onTouchStart: this.handleMouseEnter,
@@ -200,39 +155,31 @@ var RawPlot = /*#__PURE__*/function (_React$Component) {
200
155
  pointHeight: pointHeight,
201
156
  label: label,
202
157
  value: value,
203
- classes: classes,
204
158
  scale: scale
205
159
  });
206
160
  }), correctness && correctness.value === 'incorrect' && function () {
207
161
  var correctVal = parseFloat(correctData[index] && correctData[index].value);
208
162
  if (isNaN(correctVal)) return null;
209
- var selectedVal = v; // special case: if correct value is 0, only show the icon on the axis
163
+ var selectedVal = v;
210
164
 
165
+ // special case: if correct value is 0, only show the icon on the axis
211
166
  if (correctVal === 0) {
212
- return _this2.renderCorrectnessIcon(barX, barWidth, correctVal, correctness, classes, scale, pointHeight, pointDiameter);
167
+ return _this2.renderCorrectnessIcon(barX, barWidth, correctVal, correctness, scale, pointHeight, pointDiameter);
213
168
  }
214
-
215
169
  if (selectedVal > correctVal) {
216
170
  // selected is higher than correct: overlay the correct last segment
217
171
  var overlayValues = [];
218
-
219
172
  for (var _i = 0; _i < correctVal; _i++) {
220
173
  overlayValues.push(_i);
221
174
  }
222
-
223
175
  var lastIndexOfOverlay = overlayValues.length - 1;
224
176
  var lastOverlayValue = overlayValues[lastIndexOfOverlay];
225
-
226
177
  var _barX = xBand((0, _utils.bandKey)({
227
178
  label: label
228
179
  }, index));
229
-
230
180
  var _barWidth = xBand.bandwidth();
231
-
232
181
  var _pointHeight = size.height / max;
233
-
234
182
  var _pointDiameter = (_pointHeight > _barWidth ? _barWidth : _pointHeight) * 0.8;
235
-
236
183
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(CustomBarElement, {
237
184
  index: lastOverlayValue,
238
185
  pointDiameter: _pointDiameter + 10 // increase point diameter for dotted line
@@ -242,19 +189,15 @@ var RawPlot = /*#__PURE__*/function (_React$Component) {
242
189
  pointHeight: _pointHeight,
243
190
  label: label,
244
191
  value: value,
245
- classes: classes,
246
192
  scale: scale,
247
193
  dottedOverline: true
248
- }), _this2.renderCorrectnessIcon(_barX, _barWidth, correctVal, correctness, classes, scale, _pointHeight, _pointDiameter));
249
- } // selected is lower than correct, render missing segment below the correct bar
250
-
251
-
194
+ }), _this2.renderCorrectnessIcon(_barX, _barWidth, correctVal, correctness, scale, _pointHeight, _pointDiameter));
195
+ }
196
+ // selected is lower than correct, render missing segment below the correct bar
252
197
  var valuesToRender = [];
253
-
254
198
  for (var _i2 = selectedVal; _i2 < correctVal; _i2++) {
255
199
  valuesToRender.push(_i2);
256
200
  }
257
-
258
201
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, valuesToRender.map(function (idx) {
259
202
  return CustomBarElement({
260
203
  index: idx,
@@ -264,11 +207,10 @@ var RawPlot = /*#__PURE__*/function (_React$Component) {
264
207
  pointHeight: pointHeight,
265
208
  label: label,
266
209
  value: value,
267
- classes: classes,
268
210
  scale: scale,
269
211
  dottedOverline: true
270
212
  });
271
- }), _this2.renderCorrectnessIcon(barX, barWidth, correctVal, correctness, classes, scale, pointHeight, pointDiameter));
213
+ }), _this2.renderCorrectnessIcon(barX, barWidth, correctVal, correctness, scale, pointHeight, pointDiameter));
272
214
  }(), /*#__PURE__*/_react["default"].createElement(Component, {
273
215
  x: barX,
274
216
  y: v,
@@ -287,14 +229,10 @@ var RawPlot = /*#__PURE__*/function (_React$Component) {
287
229
  })));
288
230
  }
289
231
  }]);
290
- return RawPlot;
291
232
  }(_react["default"].Component);
292
-
293
- exports.RawPlot = RawPlot;
294
233
  (0, _defineProperty2["default"])(RawPlot, "propTypes", {
295
234
  onChangeCategory: _propTypes["default"].func,
296
235
  value: _propTypes["default"].number,
297
- classes: _propTypes["default"].object,
298
236
  label: _propTypes["default"].string,
299
237
  xBand: _propTypes["default"].func,
300
238
  index: _propTypes["default"].number.isRequired,
@@ -304,33 +242,40 @@ exports.RawPlot = RawPlot;
304
242
  correctness: _propTypes["default"].shape({
305
243
  value: _propTypes["default"].string,
306
244
  label: _propTypes["default"].string
307
- })
245
+ }),
246
+ defineChart: _propTypes["default"].bool,
247
+ correctData: _propTypes["default"].arrayOf(_propTypes["default"].shape({
248
+ value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
249
+ label: _propTypes["default"].string
250
+ })),
251
+ className: _propTypes["default"].string
308
252
  });
309
- var Bar = (0, _index.withStyles)(function (theme) {
253
+ var Bar = (0, _styles.styled)(RawPlot)(function (_ref2) {
254
+ var theme = _ref2.theme;
310
255
  return {
311
- dot: {
256
+ '& .dot': {
312
257
  fill: _renderUi.color.visualElementsColors.PLOT_FILL_COLOR,
313
- '&.correct': (0, _styles.correct)('stroke'),
314
- '&.incorrect': (0, _styles.incorrect)('stroke')
258
+ '&.correct': (0, _styles2.correct)('stroke'),
259
+ '&.incorrect': (0, _styles2.incorrect)('stroke')
315
260
  },
316
- dotColor: {
261
+ '& .dotColor': {
317
262
  fill: _renderUi.color.visualElementsColors.PLOT_FILL_COLOR,
318
- '&.correct': (0, _styles.correct)('fill'),
319
- '&.incorrect': (0, _styles.incorrect)('fill')
263
+ '&.correct': (0, _styles2.correct)('fill'),
264
+ '&.incorrect': (0, _styles2.incorrect)('fill')
320
265
  },
321
- line: {
266
+ '& .line': {
322
267
  stroke: _renderUi.color.visualElementsColors.PLOT_FILL_COLOR,
323
- '&.correct': (0, _styles.correct)('stroke'),
324
- '&.incorrect': (0, _styles.incorrect)('stroke')
268
+ '&.correct': (0, _styles2.correct)('stroke'),
269
+ '&.incorrect': (0, _styles2.incorrect)('stroke')
325
270
  },
326
- correctIcon: {
271
+ '& .correctIcon': {
327
272
  backgroundColor: _renderUi.color.correct()
328
273
  },
329
- incorrectIcon: {
274
+ '& .incorrectIcon': {
330
275
  backgroundColor: _renderUi.color.incorrectWithIcon()
331
276
  },
332
- correctnessIcon: {
333
- borderRadius: theme.spacing.unit * 2,
277
+ '& .correctnessIcon': {
278
+ borderRadius: theme.spacing(2),
334
279
  color: _renderUi.color.defaults.WHITE,
335
280
  fontSize: '16px',
336
281
  width: '16px',
@@ -338,38 +283,34 @@ var Bar = (0, _index.withStyles)(function (theme) {
338
283
  padding: '2px',
339
284
  border: "1px solid ".concat(_renderUi.color.defaults.WHITE),
340
285
  stroke: 'initial',
341
- boxSizing: 'unset' // to override the default border-box in IBX
342
-
286
+ boxSizing: 'unset',
287
+ // to override the default border-box in IBX
288
+ display: 'block'
343
289
  },
344
- smallIcon: {
290
+ '& .smallIcon': {
345
291
  fontSize: '10px',
346
292
  width: '10px',
347
293
  height: '10px'
348
294
  }
349
295
  };
350
- })(RawPlot);
351
-
352
- var Plot = /*#__PURE__*/function (_React$Component2) {
353
- (0, _inherits2["default"])(Plot, _React$Component2);
354
-
355
- var _super2 = _createSuper(Plot);
356
-
296
+ });
297
+ var Plot = exports.Plot = /*#__PURE__*/function (_React$Component2) {
357
298
  function Plot() {
358
299
  (0, _classCallCheck2["default"])(this, Plot);
359
- return _super2.apply(this, arguments);
300
+ return _callSuper(this, Plot, arguments);
360
301
  }
361
-
362
- (0, _createClass2["default"])(Plot, [{
302
+ (0, _inherits2["default"])(Plot, _React$Component2);
303
+ return (0, _createClass2["default"])(Plot, [{
363
304
  key: "render",
364
305
  value: function render() {
365
306
  var _this$props3 = this.props,
366
- data = _this$props3.data,
367
- graphProps = _this$props3.graphProps,
368
- xBand = _this$props3.xBand,
369
- CustomBarElement = _this$props3.CustomBarElement,
370
- _onChangeCategory = _this$props3.onChangeCategory,
371
- defineChart = _this$props3.defineChart,
372
- correctData = _this$props3.correctData;
307
+ data = _this$props3.data,
308
+ graphProps = _this$props3.graphProps,
309
+ xBand = _this$props3.xBand,
310
+ CustomBarElement = _this$props3.CustomBarElement,
311
+ _onChangeCategory = _this$props3.onChangeCategory,
312
+ defineChart = _this$props3.defineChart,
313
+ correctData = _this$props3.correctData;
373
314
  return /*#__PURE__*/_react["default"].createElement(_group.Group, null, (data || []).map(function (d, index) {
374
315
  return /*#__PURE__*/_react["default"].createElement(Bar, {
375
316
  value: d.value,
@@ -390,18 +331,19 @@ var Plot = /*#__PURE__*/function (_React$Component2) {
390
331
  }));
391
332
  }
392
333
  }]);
393
- return Plot;
394
334
  }(_react["default"].Component);
395
-
396
- exports.Plot = Plot;
397
335
  (0, _defineProperty2["default"])(Plot, "propTypes", {
398
336
  data: _propTypes["default"].array,
399
337
  onChangeCategory: _propTypes["default"].func,
400
338
  xBand: _propTypes["default"].func,
401
339
  graphProps: _plot.types.GraphPropsType.isRequired,
402
340
  defineChart: _propTypes["default"].bool,
403
- CustomBarElement: _propTypes["default"].func
341
+ CustomBarElement: _propTypes["default"].func,
342
+ correctData: _propTypes["default"].arrayOf(_propTypes["default"].shape({
343
+ value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
344
+ label: _propTypes["default"].string
345
+ })),
346
+ className: _propTypes["default"].string
404
347
  });
405
- var _default = Plot;
406
- exports["default"] = _default;
348
+ var _default = exports["default"] = Plot;
407
349
  //# sourceMappingURL=plot.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plot/common/plot.jsx"],"names":["log","ICON_SIZE","RawPlot","props","setState","isHovered","dragValue","label","onChangeCategory","state","undefined","value","setDragValue","existing","next","barX","barWidth","correctVal","correctness","classes","scale","pointHeight","pointDiameter","iconY","y","shapeIndex","shapeCenterY","correctnessIcon","correctIcon","smallIcon","graphProps","xBand","index","CustomBarElement","interactive","defineChart","correctData","range","size","max","v","Number","isFinite","bandwidth","barHeight","values","i","push","height","Component","DraggableHandle","DragHandle","allowRolloverEvent","handleMouseEnter","handleMouseLeave","length","color","defaults","BORDER_GRAY","map","parseFloat","isNaN","selectedVal","renderCorrectnessIcon","overlayValues","lastIndexOfOverlay","lastOverlayValue","valuesToRender","idx","dottedOverline","dragStop","primaryDark","React","PropTypes","func","number","object","string","isRequired","types","GraphPropsType","bool","shape","Bar","theme","dot","fill","visualElementsColors","PLOT_FILL_COLOR","dotColor","line","stroke","backgroundColor","correct","incorrectIcon","incorrectWithIcon","borderRadius","spacing","unit","WHITE","fontSize","width","padding","border","boxSizing","Plot","data","d","category","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport { Group } from '@vx/group';\nimport debug from 'debug';\n\nimport { types } from '@pie-lib/plot';\nimport DraggableHandle, { DragHandle } from '../../common/drag-handle';\nimport { color } from '@pie-lib/render-ui';\nimport { bandKey } from '../../utils';\nimport { correct, incorrect } from '../../common/styles';\n\nconst log = debug('pie-lib:chart:bars');\nconst ICON_SIZE = 16; // 10px icon + 2px padding on all sides + 1px border\n\nexport class RawPlot extends React.Component {\n static propTypes = {\n onChangeCategory: PropTypes.func,\n value: PropTypes.number,\n classes: PropTypes.object,\n label: PropTypes.string,\n xBand: PropTypes.func,\n index: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n CustomBarElement: PropTypes.func,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dragValue: undefined,\n isHovered: false,\n };\n }\n\n handleMouseEnter = () => {\n this.setState({ isHovered: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ isHovered: false });\n };\n\n setDragValue = (dragValue) => this.setState({ dragValue });\n\n dragStop = () => {\n const { label, onChangeCategory } = this.props;\n const { dragValue } = this.state;\n log('[dragStop]', dragValue);\n\n if (dragValue !== undefined) {\n onChangeCategory({ label, value: dragValue });\n }\n\n this.setDragValue(undefined);\n };\n\n dragValue = (existing, next) => {\n log('[dragValue] next:', next);\n\n this.setDragValue(next);\n };\n\n renderCorrectnessIcon = (barX, barWidth, correctVal, correctness, classes, scale, pointHeight, pointDiameter) => {\n let iconY;\n\n if (correctVal === 0) {\n // if correct value is 0, position icon on the horizontal axis\n iconY = scale.y(0) - ICON_SIZE / 2;\n } else {\n const shapeIndex = correctVal - 1; // the index of the shape representing the correct value\n const shapeCenterY = scale.y(shapeIndex) - (pointHeight - pointDiameter) / 2 - pointDiameter / 2;\n iconY = shapeCenterY - ICON_SIZE / 2; // center the icon\n }\n\n return (\n <foreignObject x={barX + barWidth / 2 - ICON_SIZE / 2} y={iconY} width={ICON_SIZE} height={ICON_SIZE}>\n <Check\n className={classNames(classes.correctnessIcon, classes.correctIcon, classes.smallIcon)}\n title={correctness.label}\n />\n </foreignObject>\n );\n };\n\n render() {\n const {\n graphProps,\n value,\n label,\n classes,\n xBand,\n index,\n CustomBarElement,\n interactive,\n correctness,\n defineChart,\n correctData,\n } = this.props;\n\n const { scale, range, size } = graphProps;\n const { max } = range || {};\n const { dragValue, isHovered } = this.state;\n\n const v = Number.isFinite(dragValue) ? dragValue : value;\n const barWidth = xBand.bandwidth();\n const barHeight = scale.y(range.max - v);\n const barX = xBand(bandKey({ label }, index));\n\n log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);\n\n const values = [];\n\n for (let i = 0; i < v; i++) {\n values.push(i);\n }\n\n const pointHeight = size.height / max;\n const pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;\n const Component = interactive ? DraggableHandle : DragHandle;\n const allowRolloverEvent = interactive && !correctness;\n\n return (\n <React.Fragment>\n <g\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onTouchStart={this.handleMouseEnter}\n onTouchEnd={this.handleMouseLeave}\n >\n {isHovered && allowRolloverEvent && (\n <rect\n x={barX}\n y={scale.y(v)}\n width={barWidth}\n height={values?.length ? pointHeight * values.length : 0}\n stroke={color.defaults.BORDER_GRAY}\n strokeWidth={'4px'}\n fill={'transparent'}\n />\n )}\n {values.map((index) =>\n CustomBarElement({\n index,\n pointDiameter,\n barX,\n barWidth,\n pointHeight,\n label,\n value,\n classes,\n scale,\n }),\n )}\n {correctness &&\n correctness.value === 'incorrect' &&\n (() => {\n const correctVal = parseFloat(correctData[index] && correctData[index].value);\n if (isNaN(correctVal)) return null;\n const selectedVal = v;\n\n // special case: if correct value is 0, only show the icon on the axis\n if (correctVal === 0) {\n return this.renderCorrectnessIcon(\n barX,\n barWidth,\n correctVal,\n correctness,\n classes,\n scale,\n pointHeight,\n pointDiameter,\n );\n }\n\n if (selectedVal > correctVal) {\n // selected is higher than correct: overlay the correct last segment\n const overlayValues = [];\n for (let i = 0; i < correctVal; i++) {\n overlayValues.push(i);\n }\n const lastIndexOfOverlay = overlayValues.length - 1;\n const lastOverlayValue = overlayValues[lastIndexOfOverlay];\n const barX = xBand(bandKey({ label }, index));\n const barWidth = xBand.bandwidth();\n const pointHeight = size.height / max;\n const pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;\n return (\n <>\n <CustomBarElement\n index={lastOverlayValue}\n pointDiameter={pointDiameter + 10} // increase point diameter for dotted line\n barX={barX}\n barWidth={barWidth}\n pointHeight={pointHeight}\n label={label}\n value={value}\n classes={classes}\n scale={scale}\n dottedOverline={true}\n />\n {this.renderCorrectnessIcon(\n barX,\n barWidth,\n correctVal,\n correctness,\n classes,\n scale,\n pointHeight,\n pointDiameter,\n )}\n </>\n );\n }\n // selected is lower than correct, render missing segment below the correct bar\n const valuesToRender = [];\n for (let i = selectedVal; i < correctVal; i++) {\n valuesToRender.push(i);\n }\n return (\n <>\n {valuesToRender.map((idx) =>\n CustomBarElement({\n index: idx,\n pointDiameter,\n barX,\n barWidth,\n pointHeight,\n label,\n value,\n classes,\n scale,\n dottedOverline: true,\n }),\n )}\n {this.renderCorrectnessIcon(\n barX,\n barWidth,\n correctVal,\n correctness,\n classes,\n scale,\n pointHeight,\n pointDiameter,\n )}\n </>\n );\n })()}\n <Component\n x={barX}\n y={v}\n interactive={interactive}\n width={barWidth}\n onDrag={(v) => this.dragValue(value, v)}\n onDragStop={this.dragStop}\n graphProps={graphProps}\n correctness={correctness}\n isHovered={isHovered}\n defineChart={defineChart}\n color={color.primaryDark()}\n isPlot\n />\n </g>\n </React.Fragment>\n );\n }\n}\n\nconst Bar = withStyles((theme) => ({\n dot: {\n fill: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n dotColor: {\n fill: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('fill'),\n '&.incorrect': incorrect('fill'),\n },\n line: {\n stroke: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n correctIcon: {\n backgroundColor: color.correct(),\n },\n incorrectIcon: {\n backgroundColor: color.incorrectWithIcon(),\n },\n correctnessIcon: {\n borderRadius: theme.spacing.unit * 2,\n color: color.defaults.WHITE,\n fontSize: '16px',\n width: '16px',\n height: '16px',\n padding: '2px',\n border: `1px solid ${color.defaults.WHITE}`,\n stroke: 'initial',\n boxSizing: 'unset', // to override the default border-box in IBX\n },\n smallIcon: {\n fontSize: '10px',\n width: '10px',\n height: '10px',\n },\n}))(RawPlot);\n\nexport class Plot extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChangeCategory: PropTypes.func,\n xBand: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n defineChart: PropTypes.bool,\n CustomBarElement: PropTypes.func,\n };\n\n render() {\n const { data, graphProps, xBand, CustomBarElement, onChangeCategory, defineChart, correctData } = this.props;\n\n return (\n <Group>\n {(data || []).map((d, index) => (\n <Bar\n value={d.value}\n label={d.label}\n interactive={defineChart || d.interactive}\n defineChart={defineChart}\n xBand={xBand}\n index={index}\n key={`bar-${d.label}-${d.value}-${index}`}\n onChangeCategory={(category) => onChangeCategory(index, category)}\n graphProps={graphProps}\n CustomBarElement={CustomBarElement}\n correctness={d.correctness}\n correctData={correctData}\n />\n ))}\n </Group>\n );\n }\n}\n\nexport default Plot;\n"],"file":"plot.js"}
1
+ {"version":3,"file":"plot.js","names":["_react","_interopRequireDefault","require","_propTypes","_Check","_styles","_group","_debug","_plot","_dragHandle","_interopRequireWildcard","_renderUi","_utils","_styles2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","log","debug","ICON_SIZE","RawPlot","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","setState","isHovered","dragValue","_this$props","label","onChangeCategory","state","undefined","value","setDragValue","existing","next","barX","barWidth","correctVal","correctness","scale","pointHeight","pointDiameter","iconY","y","shapeIndex","shapeCenterY","createElement","x","width","height","className","title","_inherits2","_createClass2","key","render","_this2","_this$props2","graphProps","xBand","index","CustomBarElement","interactive","defineChart","correctData","range","size","_ref","max","_this$state","v","Number","isFinite","bandwidth","barHeight","bandKey","values","push","Component","DraggableHandle","DragHandle","allowRolloverEvent","Fragment","onMouseEnter","handleMouseEnter","onMouseLeave","handleMouseLeave","onTouchStart","onTouchEnd","length","stroke","color","defaults","BORDER_GRAY","strokeWidth","fill","map","parseFloat","isNaN","selectedVal","renderCorrectnessIcon","overlayValues","lastIndexOfOverlay","lastOverlayValue","dottedOverline","valuesToRender","idx","onDrag","onDragStop","dragStop","primaryDark","isPlot","React","PropTypes","func","number","string","isRequired","types","GraphPropsType","bool","shape","arrayOf","oneOfType","Bar","styled","_ref2","theme","visualElementsColors","PLOT_FILL_COLOR","correct","incorrect","backgroundColor","incorrectWithIcon","borderRadius","spacing","WHITE","fontSize","padding","border","concat","boxSizing","display","Plot","_React$Component2","arguments","_this$props3","data","Group","d","category","array","_default"],"sources":["../../../src/plot/common/plot.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Check from '@mui/icons-material/Check';\nimport { styled } from '@mui/material/styles';\nimport { Group } from '@visx/group';\nimport debug from 'debug';\n\nimport { types } from '@pie-lib/plot';\nimport DraggableHandle, { DragHandle } from '../../common/drag-handle';\nimport { color } from '@pie-lib/render-ui';\nimport { bandKey } from '../../utils';\nimport { correct, incorrect } from '../../common/styles';\n\nconst log = debug('pie-lib:chart:bars');\nconst ICON_SIZE = 16; // 10px icon + 2px padding on all sides + 1px border\n\nexport class RawPlot extends React.Component {\n static propTypes = {\n onChangeCategory: PropTypes.func,\n value: PropTypes.number,\n label: PropTypes.string,\n xBand: PropTypes.func,\n index: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n CustomBarElement: PropTypes.func,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n defineChart: PropTypes.bool,\n correctData: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.string,\n })),\n className: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dragValue: undefined,\n isHovered: false,\n };\n }\n\n handleMouseEnter = () => {\n this.setState({ isHovered: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ isHovered: false });\n };\n\n setDragValue = (dragValue) => this.setState({ dragValue });\n\n dragStop = () => {\n const { label, onChangeCategory } = this.props;\n const { dragValue } = this.state;\n log('[dragStop]', dragValue);\n\n if (dragValue !== undefined) {\n onChangeCategory({ label, value: dragValue });\n }\n\n this.setDragValue(undefined);\n };\n\n dragValue = (existing, next) => {\n log('[dragValue] next:', next);\n\n this.setDragValue(next);\n };\n\n renderCorrectnessIcon = (barX, barWidth, correctVal, correctness, scale, pointHeight, pointDiameter) => {\n let iconY;\n\n if (correctVal === 0) {\n // if correct value is 0, position icon on the horizontal axis\n iconY = scale.y(0) - ICON_SIZE / 2;\n } else {\n const shapeIndex = correctVal - 1; // the index of the shape representing the correct value\n const shapeCenterY = scale.y(shapeIndex) - (pointHeight - pointDiameter) / 2 - pointDiameter / 2;\n iconY = shapeCenterY - ICON_SIZE / 2; // center the icon\n }\n\n return (\n <foreignObject x={barX + barWidth / 2 - ICON_SIZE / 2} y={iconY} width={ICON_SIZE} height={ICON_SIZE}>\n <Check\n className=\"correctnessIcon correctIcon smallIcon\"\n title={correctness.label}\n />\n </foreignObject>\n );\n };\n\n render() {\n const {\n graphProps,\n value,\n label,\n xBand,\n index,\n CustomBarElement,\n interactive,\n correctness,\n defineChart,\n correctData,\n className\n } = this.props;\n\n const { scale, range, size } = graphProps;\n const { max } = range || {};\n const { dragValue, isHovered } = this.state;\n\n const v = Number.isFinite(dragValue) ? dragValue : value;\n const barWidth = xBand.bandwidth();\n const barHeight = scale.y(range.max - v);\n const barX = xBand(bandKey({ label }, index));\n\n log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);\n\n const values = [];\n\n for (let i = 0; i < v; i++) {\n values.push(i);\n }\n\n const pointHeight = size.height / max;\n const pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;\n const Component = interactive ? DraggableHandle : DragHandle;\n const allowRolloverEvent = interactive && !correctness;\n\n return (\n <React.Fragment>\n <g\n className={className}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onTouchStart={this.handleMouseEnter}\n onTouchEnd={this.handleMouseLeave}\n >\n {isHovered && allowRolloverEvent && (\n <rect\n x={barX}\n y={scale.y(v)}\n width={barWidth}\n height={values?.length ? pointHeight * values.length : 0}\n stroke={color.defaults.BORDER_GRAY}\n strokeWidth={'4px'}\n fill={'transparent'}\n />\n )}\n {values.map((index) =>\n CustomBarElement({\n index,\n pointDiameter,\n barX,\n barWidth,\n pointHeight,\n label,\n value,\n scale,\n }),\n )}\n {correctness &&\n correctness.value === 'incorrect' &&\n (() => {\n const correctVal = parseFloat(correctData[index] && correctData[index].value);\n if (isNaN(correctVal)) return null;\n const selectedVal = v;\n\n // special case: if correct value is 0, only show the icon on the axis\n if (correctVal === 0) {\n return this.renderCorrectnessIcon(\n barX,\n barWidth,\n correctVal,\n correctness,\n scale,\n pointHeight,\n pointDiameter,\n );\n }\n\n if (selectedVal > correctVal) {\n // selected is higher than correct: overlay the correct last segment\n const overlayValues = [];\n for (let i = 0; i < correctVal; i++) {\n overlayValues.push(i);\n }\n const lastIndexOfOverlay = overlayValues.length - 1;\n const lastOverlayValue = overlayValues[lastIndexOfOverlay];\n const barX = xBand(bandKey({ label }, index));\n const barWidth = xBand.bandwidth();\n const pointHeight = size.height / max;\n const pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;\n return (\n <>\n <CustomBarElement\n index={lastOverlayValue}\n pointDiameter={pointDiameter + 10} // increase point diameter for dotted line\n barX={barX}\n barWidth={barWidth}\n pointHeight={pointHeight}\n label={label}\n value={value}\n scale={scale}\n dottedOverline={true}\n />\n {this.renderCorrectnessIcon(\n barX,\n barWidth,\n correctVal,\n correctness,\n scale,\n pointHeight,\n pointDiameter,\n )}\n </>\n );\n }\n // selected is lower than correct, render missing segment below the correct bar\n const valuesToRender = [];\n for (let i = selectedVal; i < correctVal; i++) {\n valuesToRender.push(i);\n }\n return (\n <>\n {valuesToRender.map((idx) =>\n CustomBarElement({\n index: idx,\n pointDiameter,\n barX,\n barWidth,\n pointHeight,\n label,\n value,\n scale,\n dottedOverline: true,\n }),\n )}\n {this.renderCorrectnessIcon(\n barX,\n barWidth,\n correctVal,\n correctness,\n scale,\n pointHeight,\n pointDiameter,\n )}\n </>\n );\n })()}\n <Component\n x={barX}\n y={v}\n interactive={interactive}\n width={barWidth}\n onDrag={(v) => this.dragValue(value, v)}\n onDragStop={this.dragStop}\n graphProps={graphProps}\n correctness={correctness}\n isHovered={isHovered}\n defineChart={defineChart}\n color={color.primaryDark()}\n isPlot\n />\n </g>\n </React.Fragment>\n );\n }\n}\n\nconst Bar = styled(RawPlot)(({ theme }) => ({\n '& .dot': {\n fill: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n '& .dotColor': {\n fill: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('fill'),\n '&.incorrect': incorrect('fill'),\n },\n '& .line': {\n stroke: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n '& .correctIcon': {\n backgroundColor: color.correct(),\n },\n '& .incorrectIcon': {\n backgroundColor: color.incorrectWithIcon(),\n },\n '& .correctnessIcon': {\n borderRadius: theme.spacing(2),\n color: color.defaults.WHITE,\n fontSize: '16px',\n width: '16px',\n height: '16px',\n padding: '2px',\n border: `1px solid ${color.defaults.WHITE}`,\n stroke: 'initial',\n boxSizing: 'unset', // to override the default border-box in IBX\n display: 'block',\n },\n '& .smallIcon': {\n fontSize: '10px',\n width: '10px',\n height: '10px',\n },\n}));\n\nexport class Plot extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChangeCategory: PropTypes.func,\n xBand: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n defineChart: PropTypes.bool,\n CustomBarElement: PropTypes.func,\n correctData: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.string,\n })),\n className: PropTypes.string,\n };\n\n render() {\n const { data, graphProps, xBand, CustomBarElement, onChangeCategory, defineChart, correctData } = this.props;\n\n return (\n <Group>\n {(data || []).map((d, index) => (\n <Bar\n value={d.value}\n label={d.label}\n interactive={defineChart || d.interactive}\n defineChart={defineChart}\n xBand={xBand}\n index={index}\n key={`bar-${d.label}-${d.value}-${index}`}\n onChangeCategory={(category) => onChangeCategory(index, category)}\n graphProps={graphProps}\n CustomBarElement={CustomBarElement}\n correctness={d.correctness}\n correctData={correctData}\n />\n ))}\n </Group>\n );\n }\n}\n\nexport default Plot;\n"],"mappings":"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","ignoreList":[]}