@pie-lib/charting 5.36.3-next.2 → 5.36.4-next.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 (143) hide show
  1. package/CHANGELOG.md +17 -96
  2. package/lib/__tests__/axes.test.js +129 -0
  3. package/lib/__tests__/chart-setup.test.js +57 -0
  4. package/lib/__tests__/chart-type.test.js +25 -0
  5. package/lib/__tests__/chart.test.js +103 -0
  6. package/lib/__tests__/grid.test.js +39 -0
  7. package/lib/__tests__/mark-label.test.js +46 -0
  8. package/lib/__tests__/utils.js +56 -0
  9. package/lib/__tests__/utils.test.js +186 -0
  10. package/lib/actions-button.js +61 -91
  11. package/lib/actions-button.js.map +1 -1
  12. package/lib/axes.js +163 -239
  13. package/lib/axes.js.map +1 -1
  14. package/lib/bars/__tests__/bar.test.js +53 -0
  15. package/lib/bars/__tests__/histogram.test.js +53 -0
  16. package/lib/bars/__tests__/utils.js +50 -0
  17. package/lib/bars/bar.js +14 -42
  18. package/lib/bars/bar.js.map +1 -1
  19. package/lib/bars/common/__tests__/bars.test.js +76 -0
  20. package/lib/bars/common/__tests__/utils.js +50 -0
  21. package/lib/bars/common/bars.js +62 -138
  22. package/lib/bars/common/bars.js.map +1 -1
  23. package/lib/bars/common/correct-check-icon.js +6 -7
  24. package/lib/bars/common/correct-check-icon.js.map +1 -1
  25. package/lib/bars/histogram.js +14 -42
  26. package/lib/bars/histogram.js.map +1 -1
  27. package/lib/chart-setup.js +120 -196
  28. package/lib/chart-setup.js.map +1 -1
  29. package/lib/chart-type.js +53 -44
  30. package/lib/chart-type.js.map +1 -1
  31. package/lib/chart-types.js +2 -11
  32. package/lib/chart-types.js.map +1 -1
  33. package/lib/chart.js +74 -152
  34. package/lib/chart.js.map +1 -1
  35. package/lib/common/__tests__/drag-handle.test.js +74 -0
  36. package/lib/common/__tests__/utils.js +50 -0
  37. package/lib/common/correctness-indicators.js +110 -53
  38. package/lib/common/correctness-indicators.js.map +1 -1
  39. package/lib/common/drag-handle.js +66 -109
  40. package/lib/common/drag-handle.js.map +1 -1
  41. package/lib/common/drag-icon.js +13 -13
  42. package/lib/common/drag-icon.js.map +1 -1
  43. package/lib/common/styles.js +7 -25
  44. package/lib/common/styles.js.map +1 -1
  45. package/lib/grid.js +44 -84
  46. package/lib/grid.js.map +1 -1
  47. package/lib/index.js +1 -7
  48. package/lib/index.js.map +1 -1
  49. package/lib/key-legend.js +64 -88
  50. package/lib/key-legend.js.map +1 -1
  51. package/lib/line/__tests__/line-cross.test.js +47 -0
  52. package/lib/line/__tests__/line-dot.test.js +47 -0
  53. package/lib/line/__tests__/utils.js +56 -0
  54. package/lib/line/common/__tests__/drag-handle.test.js +74 -0
  55. package/lib/line/common/__tests__/line.test.js +92 -0
  56. package/lib/line/common/__tests__/utils.js +50 -0
  57. package/lib/line/common/drag-handle.js +73 -101
  58. package/lib/line/common/drag-handle.js.map +1 -1
  59. package/lib/line/common/line.js +51 -97
  60. package/lib/line/common/line.js.map +1 -1
  61. package/lib/line/line-cross.js +80 -90
  62. package/lib/line/line-cross.js.map +1 -1
  63. package/lib/line/line-dot.js +59 -77
  64. package/lib/line/line-dot.js.map +1 -1
  65. package/lib/mark-label.js +85 -120
  66. package/lib/mark-label.js.map +1 -1
  67. package/lib/plot/__tests__/dot.test.js +53 -0
  68. package/lib/plot/__tests__/line.test.js +53 -0
  69. package/lib/plot/__tests__/utils.js +50 -0
  70. package/lib/plot/common/__tests__/plot.test.js +79 -0
  71. package/lib/plot/common/__tests__/utils.js +50 -0
  72. package/lib/plot/common/plot.js +91 -149
  73. package/lib/plot/common/plot.js.map +1 -1
  74. package/lib/plot/dot.js +33 -59
  75. package/lib/plot/dot.js.map +1 -1
  76. package/lib/plot/line.js +40 -65
  77. package/lib/plot/line.js.map +1 -1
  78. package/lib/tool-menu.js +48 -84
  79. package/lib/tool-menu.js.map +1 -1
  80. package/lib/utils.js +32 -87
  81. package/lib/utils.js.map +1 -1
  82. package/package.json +22 -24
  83. package/src/__tests__/axes.test.jsx +85 -100
  84. package/src/__tests__/chart-type.test.jsx +5 -11
  85. package/src/__tests__/chart.test.jsx +41 -50
  86. package/src/__tests__/grid.test.jsx +23 -11
  87. package/src/__tests__/mark-label.test.jsx +13 -11
  88. package/src/__tests__/utils.js +8 -2
  89. package/src/actions-button.jsx +44 -39
  90. package/src/axes.jsx +67 -81
  91. package/src/bars/__tests__/bar.test.jsx +19 -11
  92. package/src/bars/__tests__/histogram.test.jsx +19 -12
  93. package/src/bars/common/__tests__/bars.test.jsx +23 -24
  94. package/src/bars/common/bars.jsx +42 -69
  95. package/src/bars/common/correct-check-icon.jsx +5 -0
  96. package/src/chart-setup.jsx +75 -88
  97. package/src/chart-type.js +45 -22
  98. package/src/chart.jsx +19 -34
  99. package/src/common/__tests__/drag-handle.test.jsx +16 -45
  100. package/src/common/correctness-indicators.jsx +91 -13
  101. package/src/common/drag-handle.jsx +44 -64
  102. package/src/common/drag-icon.jsx +9 -2
  103. package/src/common/styles.js +1 -1
  104. package/src/grid.jsx +10 -14
  105. package/src/key-legend.jsx +62 -60
  106. package/src/line/__tests__/line-cross.test.jsx +16 -13
  107. package/src/line/__tests__/line-dot.test.jsx +16 -13
  108. package/src/line/__tests__/utils.js +8 -2
  109. package/src/line/common/__tests__/drag-handle.test.jsx +20 -45
  110. package/src/line/common/__tests__/line.test.jsx +27 -30
  111. package/src/line/common/drag-handle.jsx +61 -55
  112. package/src/line/common/line.jsx +21 -11
  113. package/src/line/line-cross.js +39 -14
  114. package/src/line/line-dot.js +27 -32
  115. package/src/mark-label.jsx +51 -47
  116. package/src/plot/__tests__/dot.test.jsx +19 -12
  117. package/src/plot/__tests__/line.test.jsx +19 -12
  118. package/src/plot/common/__tests__/plot.test.jsx +23 -24
  119. package/src/plot/common/plot.jsx +29 -24
  120. package/src/plot/dot.js +11 -4
  121. package/src/plot/line.js +16 -8
  122. package/src/tool-menu.jsx +26 -30
  123. package/src/utils.js +13 -9
  124. package/esm/index.css +0 -847
  125. package/esm/index.js +0 -231130
  126. package/esm/index.js.map +0 -1
  127. package/esm/package.json +0 -3
  128. package/src/__tests__/__snapshots__/axes.test.jsx.snap +0 -569
  129. package/src/__tests__/__snapshots__/chart-type.test.jsx.snap +0 -14
  130. package/src/__tests__/__snapshots__/chart.test.jsx.snap +0 -595
  131. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -72
  132. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -73
  133. package/src/bars/__tests__/__snapshots__/bar.test.jsx.snap +0 -43
  134. package/src/bars/__tests__/__snapshots__/histogram.test.jsx.snap +0 -45
  135. package/src/bars/common/__tests__/__snapshots__/bars.test.jsx.snap +0 -110
  136. package/src/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -48
  137. package/src/line/__tests__/__snapshots__/line-cross.test.jsx.snap +0 -45
  138. package/src/line/__tests__/__snapshots__/line-dot.test.jsx.snap +0 -45
  139. package/src/line/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -49
  140. package/src/line/common/__tests__/__snapshots__/line.test.jsx.snap +0 -143
  141. package/src/plot/__tests__/__snapshots__/dot.test.jsx.snap +0 -45
  142. package/src/plot/__tests__/__snapshots__/line.test.jsx.snap +0 -45
  143. package/src/plot/common/__tests__/__snapshots__/plot.test.jsx.snap +0 -97
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _react = require("@testing-library/react");
6
+ var _react2 = _interopRequireDefault(require("react"));
7
+ var _dragHandle = _interopRequireDefault(require("../drag-handle"));
8
+ var _plot = require("@pie-lib/plot");
9
+ var _utils = require("./utils");
10
+ var _utils2 = require("../../utils");
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ jest.mock('../../utils', function () {
14
+ var _jest$requireActual = jest.requireActual('../../utils'),
15
+ point = _jest$requireActual.point;
16
+ return {
17
+ bounds: jest.fn(),
18
+ point: point,
19
+ getScale: jest.fn(function () {
20
+ return {
21
+ scale: 1
22
+ };
23
+ })
24
+ };
25
+ });
26
+ jest.mock('@pie-lib/plot', function () {
27
+ var _jest$requireActual2 = jest.requireActual('@pie-lib/plot'),
28
+ types = _jest$requireActual2.types,
29
+ utils = _jest$requireActual2.utils;
30
+ return {
31
+ gridDraggable: jest.fn(function (opts) {
32
+ return function (Comp) {
33
+ return Comp;
34
+ };
35
+ }),
36
+ types: types,
37
+ utils: utils
38
+ };
39
+ });
40
+ describe('BasePoint', function () {
41
+ var onChange = jest.fn();
42
+ var renderComponent = function renderComponent(extras) {
43
+ var defaults = {
44
+ classes: {},
45
+ className: 'className',
46
+ onChange: onChange,
47
+ graphProps: (0, _utils.graphProps)(),
48
+ x: 0,
49
+ y: 0,
50
+ width: 100
51
+ };
52
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
53
+ return (0, _react.render)(/*#__PURE__*/_react2["default"].createElement(_dragHandle["default"], props));
54
+ };
55
+ describe('rendering', function () {
56
+ it('renders without crashing', function () {
57
+ var _renderComponent = renderComponent(),
58
+ container = _renderComponent.container;
59
+ expect(container.firstChild).toBeInTheDocument();
60
+ });
61
+ });
62
+ describe('gridDraggable options', function () {
63
+ it('configures gridDraggable with correct options', function () {
64
+ // The gridDraggable HOC is tested by verifying that it's called with the component
65
+ // Detailed unit tests for the HOC options would require accessing internal
66
+ // implementation details which is not recommended with RTL
67
+ var _renderComponent2 = renderComponent(),
68
+ container = _renderComponent2.container;
69
+ expect(container.firstChild).toBeInTheDocument();
70
+ expect(_plot.gridDraggable).toHaveBeenCalled();
71
+ });
72
+ });
73
+ });
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0MiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZHJhZ0hhbmRsZSIsIl9wbG90IiwiX3V0aWxzIiwiX3V0aWxzMiIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiamVzdCIsIm1vY2siLCJfamVzdCRyZXF1aXJlQWN0dWFsIiwicmVxdWlyZUFjdHVhbCIsInBvaW50IiwiYm91bmRzIiwiZm4iLCJnZXRTY2FsZSIsInNjYWxlIiwiX2plc3QkcmVxdWlyZUFjdHVhbDIiLCJ0eXBlcyIsInV0aWxzIiwiZ3JpZERyYWdnYWJsZSIsIm9wdHMiLCJDb21wIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsInJlbmRlckNvbXBvbmVudCIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImdyYXBoUHJvcHMiLCJ4IiwieSIsIndpZHRoIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiaXQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlckNvbXBvbmVudDIiLCJ0b0hhdmVCZWVuQ2FsbGVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9fX3Rlc3RzX18vZHJhZy1oYW5kbGUudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IERyYWdIYW5kbGUgZnJvbSAnLi4vZHJhZy1oYW5kbGUnO1xuaW1wb3J0IHsgZ3JpZERyYWdnYWJsZSB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgYm91bmRzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5qZXN0Lm1vY2soJy4uLy4uL3V0aWxzJywgKCkgPT4ge1xuICBjb25zdCB7IHBvaW50IH0gPSBqZXN0LnJlcXVpcmVBY3R1YWwoJy4uLy4uL3V0aWxzJyk7XG4gIHJldHVybiB7XG4gICAgYm91bmRzOiBqZXN0LmZuKCksXG4gICAgcG9pbnQsXG4gICAgZ2V0U2NhbGU6IGplc3QuZm4oKCkgPT4gKHsgc2NhbGU6IDEgfSkpLFxuICB9O1xufSk7XG5cbmplc3QubW9jaygnQHBpZS1saWIvcGxvdCcsICgpID0+IHtcbiAgY29uc3QgeyB0eXBlcywgdXRpbHMgfSA9IGplc3QucmVxdWlyZUFjdHVhbCgnQHBpZS1saWIvcGxvdCcpO1xuICByZXR1cm4ge1xuICAgIGdyaWREcmFnZ2FibGU6IGplc3QuZm4oKG9wdHMpID0+IChDb21wKSA9PiBDb21wKSxcbiAgICB0eXBlcyxcbiAgICB1dGlscyxcbiAgfTtcbn0pO1xuXG5kZXNjcmliZSgnQmFzZVBvaW50JywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHJlbmRlckNvbXBvbmVudCA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgeDogMCxcbiAgICAgIHk6IDAsXG4gICAgICB3aWR0aDogMTAwLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxEcmFnSGFuZGxlIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dyaWREcmFnZ2FibGUgb3B0aW9ucycsICgpID0+IHtcbiAgICBpdCgnY29uZmlndXJlcyBncmlkRHJhZ2dhYmxlIHdpdGggY29ycmVjdCBvcHRpb25zJywgKCkgPT4ge1xuICAgICAgLy8gVGhlIGdyaWREcmFnZ2FibGUgSE9DIGlzIHRlc3RlZCBieSB2ZXJpZnlpbmcgdGhhdCBpdCdzIGNhbGxlZCB3aXRoIHRoZSBjb21wb25lbnRcbiAgICAgIC8vIERldGFpbGVkIHVuaXQgdGVzdHMgZm9yIHRoZSBIT0Mgb3B0aW9ucyB3b3VsZCByZXF1aXJlIGFjY2Vzc2luZyBpbnRlcm5hbFxuICAgICAgLy8gaW1wbGVtZW50YXRpb24gZGV0YWlscyB3aGljaCBpcyBub3QgcmVjb21tZW5kZWQgd2l0aCBSVExcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIGV4cGVjdChncmlkRHJhZ2dhYmxlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxP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
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.scaleMock = exports.graphProps = void 0;
7
+ var scaleMock = exports.scaleMock = function scaleMock() {
8
+ var fn = jest.fn(function (n) {
9
+ return n;
10
+ });
11
+ fn.invert = jest.fn(function (n) {
12
+ return n;
13
+ });
14
+ return fn;
15
+ };
16
+ var graphProps = exports.graphProps = function graphProps() {
17
+ var dmin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
18
+ var dmax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
19
+ var rmin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
20
+ var rmax = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
21
+ return {
22
+ scale: {
23
+ x: scaleMock(),
24
+ y: scaleMock()
25
+ },
26
+ snap: {
27
+ x: jest.fn(function (n) {
28
+ return n;
29
+ }),
30
+ y: jest.fn(function (n) {
31
+ return n;
32
+ })
33
+ },
34
+ domain: {
35
+ min: dmin,
36
+ max: dmax,
37
+ step: 1
38
+ },
39
+ range: {
40
+ min: rmin,
41
+ max: rmax,
42
+ step: 1
43
+ },
44
+ size: {
45
+ width: 400,
46
+ height: 400
47
+ }
48
+ };
49
+ };
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2FsZU1vY2siLCJleHBvcnRzIiwiZm4iLCJqZXN0IiwibiIsImludmVydCIsImdyYXBoUHJvcHMiLCJkbWluIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZG1heCIsInJtaW4iLCJybWF4Iiwic2NhbGUiLCJ4IiwieSIsInNuYXAiLCJkb21haW4iLCJtaW4iLCJtYXgiLCJzdGVwIiwicmFuZ2UiLCJzaXplIiwid2lkdGgiLCJoZWlnaHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL19fdGVzdHNfXy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc2NhbGVNb2NrID0gKCkgPT4ge1xuICBjb25zdCBmbiA9IGplc3QuZm4oKG4pID0+IG4pO1xuICBmbi5pbnZlcnQgPSBqZXN0LmZuKChuKSA9PiBuKTtcbiAgcmV0dXJuIGZuO1xufTtcblxuZXhwb3J0IGNvbnN0IGdyYXBoUHJvcHMgPSAoZG1pbiA9IDAsIGRtYXggPSAxLCBybWluID0gMCwgcm1heCA9IDEpID0+ICh7XG4gIHNjYWxlOiB7XG4gICAgeDogc2NhbGVNb2NrKCksXG4gICAgeTogc2NhbGVNb2NrKCksXG4gIH0sXG4gIHNuYXA6IHtcbiAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICB5OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgfSxcbiAgZG9tYWluOiB7XG4gICAgbWluOiBkbWluLFxuICAgIG1heDogZG1heCxcbiAgICBzdGVwOiAxLFxuICB9LFxuICByYW5nZToge1xuICAgIG1pbjogcm1pbixcbiAgICBtYXg6IHJtYXgsXG4gICAgc3RlcDogMSxcbiAgfSxcbiAgc2l6ZToge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiA0MDAsXG4gIH0sXG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU8sSUFBTUEsU0FBUyxHQUFBQyxPQUFBLENBQUFELFNBQUEsR0FBRyxTQUFaQSxTQUFTQSxDQUFBLEVBQVM7RUFDN0IsSUFBTUUsRUFBRSxHQUFHQyxJQUFJLENBQUNELEVBQUUsQ0FBQyxVQUFDRSxDQUFDO0lBQUEsT0FBS0EsQ0FBQztFQUFBLEVBQUM7RUFDNUJGLEVBQUUsQ0FBQ0csTUFBTSxHQUFHRixJQUFJLENBQUNELEVBQUUsQ0FBQyxVQUFDRSxDQUFDO0lBQUEsT0FBS0EsQ0FBQztFQUFBLEVBQUM7RUFDN0IsT0FBT0YsRUFBRTtBQUNYLENBQUM7QUFFTSxJQUFNSSxVQUFVLEdBQUFMLE9BQUEsQ0FBQUssVUFBQSxHQUFHLFNBQWJBLFVBQVVBLENBQUE7RUFBQSxJQUFJQyxJQUFJLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUM7RUFBQSxJQUFFRyxJQUFJLEdBQUFILFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUM7RUFBQSxJQUFFSSxJQUFJLEdBQUFKLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUM7RUFBQSxJQUFFSyxJQUFJLEdBQUFMLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUM7RUFBQSxPQUFNO0lBQ3JFTSxLQUFLLEVBQUU7TUFDTEMsQ0FBQyxFQUFFZixTQUFTLENBQUMsQ0FBQztNQUNkZ0IsQ0FBQyxFQUFFaEIsU0FBUyxDQUFDO0lBQ2YsQ0FBQztJQUNEaUIsSUFBSSxFQUFFO01BQ0pGLENBQUMsRUFBRVosSUFBSSxDQUFDRCxFQUFFLENBQUMsVUFBQ0UsQ0FBQztRQUFBLE9BQUtBLENBQUM7TUFBQSxFQUFDO01BQ3BCWSxDQUFDLEVBQUViLElBQUksQ0FBQ0QsRUFBRSxDQUFDLFVBQUNFLENBQUM7UUFBQSxPQUFLQSxDQUFDO01BQUE7SUFDckIsQ0FBQztJQUNEYyxNQUFNLEVBQUU7TUFDTkMsR0FBRyxFQUFFWixJQUFJO01BQ1RhLEdBQUcsRUFBRVQsSUFBSTtNQUNUVSxJQUFJLEVBQUU7SUFDUixDQUFDO0lBQ0RDLEtBQUssRUFBRTtNQUNMSCxHQUFHLEVBQUVQLElBQUk7TUFDVFEsR0FBRyxFQUFFUCxJQUFJO01BQ1RRLElBQUksRUFBRTtJQUNSLENBQUM7SUFDREUsSUFBSSxFQUFFO01BQ0pDLEtBQUssRUFBRSxHQUFHO01BQ1ZDLE1BQU0sRUFBRTtJQUNWO0VBQ0YsQ0FBQztBQUFBLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,99 +1,156 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.TickCorrectnessIndicator = exports.SmallCorrectPointIndicator = exports.CorrectnessIndicator = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
- var _Check = _interopRequireDefault(require("@material-ui/icons/Check"));
15
-
16
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
17
-
18
- var CorrectnessIndicator = function CorrectnessIndicator(_ref) {
19
- var scale = _ref.scale,
20
- x = _ref.x,
21
- y = _ref.y,
22
- classes = _ref.classes,
23
- r = _ref.r,
24
- correctness = _ref.correctness,
25
- interactive = _ref.interactive;
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _styles = require("@mui/material/styles");
11
+ var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
12
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
13
+ var _renderUi = require("@pie-lib/render-ui");
14
+ var StyledCorrectIcon = (0, _styles.styled)(_Check["default"])(function (_ref) {
15
+ var theme = _ref.theme;
16
+ return {
17
+ borderRadius: theme.spacing(2),
18
+ color: _renderUi.color.defaults.WHITE,
19
+ fontSize: '16px',
20
+ width: '16px',
21
+ height: '16px',
22
+ padding: '2px',
23
+ border: "1px solid ".concat(_renderUi.color.defaults.WHITE),
24
+ stroke: 'initial',
25
+ boxSizing: 'unset',
26
+ // to override the default border-box in IBX
27
+ backgroundColor: _renderUi.color.correct(),
28
+ display: 'block',
29
+ '&.small': {
30
+ fontSize: '10px',
31
+ width: '10px',
32
+ height: '10px'
33
+ }
34
+ };
35
+ });
36
+ var StyledIncorrectIcon = (0, _styles.styled)(_Close["default"])(function (_ref2) {
37
+ var theme = _ref2.theme;
38
+ return {
39
+ borderRadius: theme.spacing(2),
40
+ color: _renderUi.color.defaults.WHITE,
41
+ fontSize: '16px',
42
+ width: '16px',
43
+ height: '16px',
44
+ padding: '2px',
45
+ border: "1px solid ".concat(_renderUi.color.defaults.WHITE),
46
+ stroke: 'initial',
47
+ boxSizing: 'unset',
48
+ // to override the default border-box in IBX
49
+ backgroundColor: _renderUi.color.incorrectWithIcon(),
50
+ display: 'block',
51
+ '&.small': {
52
+ fontSize: '10px',
53
+ width: '10px',
54
+ height: '10px'
55
+ }
56
+ };
57
+ });
58
+ var CorrectnessIndicator = exports.CorrectnessIndicator = function CorrectnessIndicator(_ref3) {
59
+ var scale = _ref3.scale,
60
+ x = _ref3.x,
61
+ y = _ref3.y,
62
+ correctness = _ref3.correctness,
63
+ interactive = _ref3.interactive;
26
64
  if (!correctness || !interactive) return null;
27
65
  var cx = scale ? scale.x(x) : x;
28
66
  var cy = scale ? scale.y(y) : y;
29
67
  var isCorrect = correctness.value === 'correct';
30
- var iconClass = isCorrect ? classes.correctIcon : classes.incorrectIcon; // the icon is 16px + 2px padding + 1px border, so total size is 22px
31
68
 
69
+ // the icon is 16px + 2px padding + 1px border, so total size is 22px
32
70
  return /*#__PURE__*/_react["default"].createElement("foreignObject", {
33
71
  x: cx - 11,
34
72
  y: cy - 11,
35
73
  width: 22,
36
74
  height: 22
37
- }, isCorrect ? /*#__PURE__*/_react["default"].createElement(_Check["default"], {
38
- className: (0, _classnames["default"])(classes.correctnessIcon, iconClass),
75
+ }, isCorrect ? /*#__PURE__*/_react["default"].createElement(StyledCorrectIcon, {
39
76
  title: correctness.label
40
- }) : /*#__PURE__*/_react["default"].createElement(_Close["default"], {
41
- className: (0, _classnames["default"])(classes.correctnessIcon, iconClass),
77
+ }) : /*#__PURE__*/_react["default"].createElement(StyledIncorrectIcon, {
42
78
  title: correctness.label
43
79
  }));
44
80
  };
45
-
46
- exports.CorrectnessIndicator = CorrectnessIndicator;
47
-
48
- var SmallCorrectPointIndicator = function SmallCorrectPointIndicator(_ref2) {
49
- var scale = _ref2.scale,
50
- x = _ref2.x,
51
- r = _ref2.r,
52
- correctness = _ref2.correctness,
53
- classes = _ref2.classes,
54
- correctData = _ref2.correctData,
55
- label = _ref2.label;
56
-
81
+ var SmallCorrectPointIndicator = exports.SmallCorrectPointIndicator = function SmallCorrectPointIndicator(_ref4) {
82
+ var scale = _ref4.scale,
83
+ x = _ref4.x,
84
+ correctness = _ref4.correctness,
85
+ correctData = _ref4.correctData,
86
+ label = _ref4.label;
57
87
  if (correctness && correctness.value === 'incorrect') {
58
88
  var _correctData$find;
59
-
60
89
  var correctVal = parseFloat((_correctData$find = correctData.find(function (d) {
61
90
  return d.label === label;
62
91
  })) === null || _correctData$find === void 0 ? void 0 : _correctData$find.value);
63
92
  if (isNaN(correctVal)) return null;
64
93
  var correctPxY = scale.y(correctVal);
65
94
  var yToRender = correctPxY - 7.5;
66
- var xToRender = scale.x(x) - 7.5; // small circle has 10px font + 2px padding + 1px border, so total size is 15px
95
+ var xToRender = scale.x(x) - 7.5;
67
96
 
97
+ // small circle has 10px font + 2px padding + 1px border, so total size is 15px
68
98
  return /*#__PURE__*/_react["default"].createElement("foreignObject", {
69
99
  x: xToRender,
70
100
  y: yToRender,
71
101
  width: 15,
72
102
  height: 15
73
- }, /*#__PURE__*/_react["default"].createElement(_Check["default"], {
74
- className: (0, _classnames["default"])(classes.correctnessIcon, classes.correctIcon, classes.smallIcon),
103
+ }, /*#__PURE__*/_react["default"].createElement(StyledCorrectIcon, {
104
+ className: "small",
75
105
  title: correctness.label
76
106
  }));
77
107
  }
78
-
79
108
  return null;
80
109
  };
81
-
82
- exports.SmallCorrectPointIndicator = SmallCorrectPointIndicator;
83
-
84
- var TickCorrectnessIndicator = function TickCorrectnessIndicator(_ref3) {
85
- var classes = _ref3.classes,
86
- correctness = _ref3.correctness,
87
- interactive = _ref3.interactive;
110
+ var TickCorrectnessIndicator = exports.TickCorrectnessIndicator = function TickCorrectnessIndicator(_ref5) {
111
+ var correctness = _ref5.correctness,
112
+ interactive = _ref5.interactive;
88
113
  if (!correctness || !interactive) return null;
89
- return correctness.value === 'correct' ? /*#__PURE__*/_react["default"].createElement(_Check["default"], {
90
- className: (0, _classnames["default"])(classes.correctnessIcon, classes.correctIcon),
114
+ return correctness.value === 'correct' ? /*#__PURE__*/_react["default"].createElement(StyledCorrectIcon, {
91
115
  title: correctness.label
92
- }) : /*#__PURE__*/_react["default"].createElement(_Close["default"], {
93
- className: (0, _classnames["default"])(classes.correctnessIcon, classes.incorrectIcon),
116
+ }) : /*#__PURE__*/_react["default"].createElement(StyledIncorrectIcon, {
94
117
  title: correctness.label
95
118
  });
96
119
  };
97
-
98
- exports.TickCorrectnessIndicator = TickCorrectnessIndicator;
99
- //# sourceMappingURL=correctness-indicators.js.map
120
+ CorrectnessIndicator.propTypes = {
121
+ scale: _propTypes["default"].shape({
122
+ x: _propTypes["default"].func,
123
+ y: _propTypes["default"].func
124
+ }),
125
+ x: _propTypes["default"].number.isRequired,
126
+ y: _propTypes["default"].number.isRequired,
127
+ correctness: _propTypes["default"].shape({
128
+ value: _propTypes["default"].string,
129
+ label: _propTypes["default"].string
130
+ }),
131
+ interactive: _propTypes["default"].bool
132
+ };
133
+ SmallCorrectPointIndicator.propTypes = {
134
+ scale: _propTypes["default"].shape({
135
+ x: _propTypes["default"].func,
136
+ y: _propTypes["default"].func
137
+ }).isRequired,
138
+ x: _propTypes["default"].number.isRequired,
139
+ correctness: _propTypes["default"].shape({
140
+ value: _propTypes["default"].string,
141
+ label: _propTypes["default"].string
142
+ }),
143
+ correctData: _propTypes["default"].arrayOf(_propTypes["default"].shape({
144
+ label: _propTypes["default"].string,
145
+ value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
146
+ })),
147
+ label: _propTypes["default"].string
148
+ };
149
+ TickCorrectnessIndicator.propTypes = {
150
+ correctness: _propTypes["default"].shape({
151
+ value: _propTypes["default"].string,
152
+ label: _propTypes["default"].string
153
+ }),
154
+ interactive: _propTypes["default"].bool
155
+ };
156
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX0NoZWNrIiwiX0Nsb3NlIiwiX3JlbmRlclVpIiwiU3R5bGVkQ29ycmVjdEljb24iLCJzdHlsZWQiLCJDaGVjayIsIl9yZWYiLCJ0aGVtZSIsImJvcmRlclJhZGl1cyIsInNwYWNpbmciLCJjb2xvciIsImVudW1Db2xvciIsImRlZmF1bHRzIiwiV0hJVEUiLCJmb250U2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwicGFkZGluZyIsImJvcmRlciIsImNvbmNhdCIsInN0cm9rZSIsImJveFNpemluZyIsImJhY2tncm91bmRDb2xvciIsImNvcnJlY3QiLCJkaXNwbGF5IiwiU3R5bGVkSW5jb3JyZWN0SWNvbiIsIkNsb3NlIiwiX3JlZjIiLCJpbmNvcnJlY3RXaXRoSWNvbiIsIkNvcnJlY3RuZXNzSW5kaWNhdG9yIiwiZXhwb3J0cyIsIl9yZWYzIiwic2NhbGUiLCJ4IiwieSIsImNvcnJlY3RuZXNzIiwiaW50ZXJhY3RpdmUiLCJjeCIsImN5IiwiaXNDb3JyZWN0IiwidmFsdWUiLCJjcmVhdGVFbGVtZW50IiwidGl0bGUiLCJsYWJlbCIsIlNtYWxsQ29ycmVjdFBvaW50SW5kaWNhdG9yIiwiX3JlZjQiLCJjb3JyZWN0RGF0YSIsIl9jb3JyZWN0RGF0YSRmaW5kIiwiY29ycmVjdFZhbCIsInBhcnNlRmxvYXQiLCJmaW5kIiwiZCIsImlzTmFOIiwiY29ycmVjdFB4WSIsInlUb1JlbmRlciIsInhUb1JlbmRlciIsImNsYXNzTmFtZSIsIlRpY2tDb3JyZWN0bmVzc0luZGljYXRvciIsIl9yZWY1IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic2hhcGUiLCJmdW5jIiwibnVtYmVyIiwiaXNSZXF1aXJlZCIsInN0cmluZyIsImJvb2wiLCJhcnJheU9mIiwib25lT2ZUeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9jb3JyZWN0bmVzcy1pbmRpY2F0b3JzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCBDaGVjayBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL0NoZWNrJztcbmltcG9ydCBDbG9zZSBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL0Nsb3NlJztcbmltcG9ydCB7IGNvbG9yIGFzIGVudW1Db2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5cbmNvbnN0IFN0eWxlZENvcnJlY3RJY29uID0gc3R5bGVkKENoZWNrKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBib3JkZXJSYWRpdXM6IHRoZW1lLnNwYWNpbmcoMiksXG4gIGNvbG9yOiBlbnVtQ29sb3IuZGVmYXVsdHMuV0hJVEUsXG4gIGZvbnRTaXplOiAnMTZweCcsXG4gIHdpZHRoOiAnMTZweCcsXG4gIGhlaWdodDogJzE2cHgnLFxuICBwYWRkaW5nOiAnMnB4JyxcbiAgYm9yZGVyOiBgMXB4IHNvbGlkICR7ZW51bUNvbG9yLmRlZmF1bHRzLldISVRFfWAsXG4gIHN0cm9rZTogJ2luaXRpYWwnLFxuICBib3hTaXppbmc6ICd1bnNldCcsIC8vIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJvcmRlci1ib3ggaW4gSUJYXG4gIGJhY2tncm91bmRDb2xvcjogZW51bUNvbG9yLmNvcnJlY3QoKSxcbiAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgJyYuc21hbGwnOiB7XG4gICAgZm9udFNpemU6ICcxMHB4JyxcbiAgICB3aWR0aDogJzEwcHgnLFxuICAgIGhlaWdodDogJzEwcHgnLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRJbmNvcnJlY3RJY29uID0gc3R5bGVkKENsb3NlKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBib3JkZXJSYWRpdXM6IHRoZW1lLnNwYWNpbmcoMiksXG4gIGNvbG9yOiBlbnVtQ29sb3IuZGVmYXVsdHMuV0hJVEUsXG4gIGZvbnRTaXplOiAnMTZweCcsXG4gIHdpZHRoOiAnMTZweCcsXG4gIGhlaWdodDogJzE2cHgnLFxuICBwYWRkaW5nOiAnMnB4JyxcbiAgYm9yZGVyOiBgMXB4IHNvbGlkICR7ZW51bUNvbG9yLmRlZmF1bHRzLldISVRFfWAsXG4gIHN0cm9rZTogJ2luaXRpYWwnLFxuICBib3hTaXppbmc6ICd1bnNldCcsIC8vIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJvcmRlci1ib3ggaW4gSUJYXG4gIGJhY2tncm91bmRDb2xvcjogZW51bUNvbG9yLmluY29ycmVjdFdpdGhJY29uKCksXG4gIGRpc3BsYXk6ICdibG9jaycsXG4gICcmLnNtYWxsJzoge1xuICAgIGZvbnRTaXplOiAnMTBweCcsXG4gICAgd2lkdGg6ICcxMHB4JyxcbiAgICBoZWlnaHQ6ICcxMHB4JyxcbiAgfSxcbn0pKTtcblxuZXhwb3J0IGNvbnN0IENvcnJlY3RuZXNzSW5kaWNhdG9yID0gKHsgc2NhbGUsIHgsIHksIGNvcnJlY3RuZXNzLCBpbnRlcmFjdGl2ZSB9KSA9PiB7XG4gIGlmICghY29ycmVjdG5lc3MgfHwgIWludGVyYWN0aXZlKSByZXR1cm4gbnVsbDtcbiAgY29uc3QgY3ggPSBzY2FsZSA/IHNjYWxlLngoeCkgOiB4O1xuICBjb25zdCBjeSA9IHNjYWxlID8gc2NhbGUueSh5KSA6IHk7XG4gIGNvbnN0IGlzQ29ycmVjdCA9IGNvcnJlY3RuZXNzLnZhbHVlID09PSAnY29ycmVjdCc7XG5cbiAgLy8gdGhlIGljb24gaXMgMTZweCArIDJweCBwYWRkaW5nICsgMXB4IGJvcmRlciwgc28gdG90YWwgc2l6ZSBpcyAyMnB4XG4gIHJldHVybiAoXG4gICAgPGZvcmVpZ25PYmplY3QgeD17Y3ggLSAxMX0geT17Y3kgLSAxMX0gd2lkdGg9ezIyfSBoZWlnaHQ9ezIyfT5cbiAgICAgIHtpc0NvcnJlY3QgPyAoXG4gICAgICAgIDxTdHlsZWRDb3JyZWN0SWNvbiB0aXRsZT17Y29ycmVjdG5lc3MubGFiZWx9IC8+XG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkSW5jb3JyZWN0SWNvbiB0aXRsZT17Y29ycmVjdG5lc3MubGFiZWx9IC8+XG4gICAgICApfVxuICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBTbWFsbENvcnJlY3RQb2ludEluZGljYXRvciA9ICh7IHNjYWxlLCB4LCBjb3JyZWN0bmVzcywgY29ycmVjdERhdGEsIGxhYmVsIH0pID0+IHtcbiAgaWYgKGNvcnJlY3RuZXNzICYmIGNvcnJlY3RuZXNzLnZhbHVlID09PSAnaW5jb3JyZWN0Jykge1xuICAgIGNvbnN0IGNvcnJlY3RWYWwgPSBwYXJzZUZsb2F0KGNvcnJlY3REYXRhLmZpbmQoKGQpID0+IGQubGFiZWwgPT09IGxhYmVsKT8udmFsdWUpO1xuICAgIGlmIChpc05hTihjb3JyZWN0VmFsKSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgY29ycmVjdFB4WSA9IHNjYWxlLnkoY29ycmVjdFZhbCk7XG4gICAgY29uc3QgeVRvUmVuZGVyID0gY29ycmVjdFB4WSAtIDcuNTtcbiAgICBjb25zdCB4VG9SZW5kZXIgPSBzY2FsZS54KHgpIC0gNy41O1xuXG4gICAgLy8gc21hbGwgY2lyY2xlIGhhcyAxMHB4IGZvbnQgKyAycHggcGFkZGluZyArIDFweCBib3JkZXIsIHNvIHRvdGFsIHNpemUgaXMgMTVweFxuICAgIHJldHVybiAoXG4gICAgICA8Zm9yZWlnbk9iamVjdCB4PXt4VG9SZW5kZXJ9IHk9e3lUb1JlbmRlcn0gd2lkdGg9ezE1fSBoZWlnaHQ9ezE1fT5cbiAgICAgICAgPFN0eWxlZENvcnJlY3RJY29uXG4gICAgICAgICAgY2xhc3NOYW1lPVwic21hbGxcIlxuICAgICAgICAgIHRpdGxlPXtjb3JyZWN0bmVzcy5sYWJlbH1cbiAgICAgICAgLz5cbiAgICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5leHBvcnQgY29uc3QgVGlja0NvcnJlY3RuZXNzSW5kaWNhdG9yID0gKHsgY29ycmVjdG5lc3MsIGludGVyYWN0aXZlIH0pID0+IHtcbiAgaWYgKCFjb3JyZWN0bmVzcyB8fCAhaW50ZXJhY3RpdmUpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiBjb3JyZWN0bmVzcy52YWx1ZSA9PT0gJ2NvcnJlY3QnID8gKFxuICAgIDxTdHlsZWRDb3JyZWN0SWNvbiB0aXRsZT17Y29ycmVjdG5lc3MubGFiZWx9IC8+XG4gICkgOiAoXG4gICAgPFN0eWxlZEluY29ycmVjdEljb24gdGl0bGU9e2NvcnJlY3RuZXNzLmxhYmVsfSAvPlxuICApO1xufTtcblxuQ29ycmVjdG5lc3NJbmRpY2F0b3IucHJvcFR5cGVzID0ge1xuICBzY2FsZTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICB4OiBQcm9wVHlwZXMuZnVuYyxcbiAgICB5OiBQcm9wVHlwZXMuZnVuYyxcbiAgfSksXG4gIHg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgeTogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBjb3JyZWN0bmVzczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgfSksXG4gIGludGVyYWN0aXZlOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cblNtYWxsQ29ycmVjdFBvaW50SW5kaWNhdG9yLnByb3BUeXBlcyA9IHtcbiAgc2NhbGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgeDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgeTogUHJvcFR5cGVzLmZ1bmMsXG4gIH0pLmlzUmVxdWlyZWQsXG4gIHg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgY29ycmVjdG5lc3M6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH0pLFxuICBjb3JyZWN0RGF0YTogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICB9KSksXG4gIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuVGlja0NvcnJlY3RuZXNzSW5kaWNhdG9yLnByb3BUeXBlcyA9IHtcbiAgY29ycmVjdG5lc3M6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH0pLFxuICBpbnRlcmFjdGl2ZTogUHJvcFR5cGVzLmJvb2wsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBRUEsSUFBTU0saUJBQWlCLEdBQUcsSUFBQUMsY0FBTSxFQUFDQyxpQkFBSyxDQUFDLENBQUMsVUFBQUMsSUFBQTtFQUFBLElBQUdDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0VBQUEsT0FBUTtJQUN0REMsWUFBWSxFQUFFRCxLQUFLLENBQUNFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUJDLEtBQUssRUFBRUMsZUFBUyxDQUFDQyxRQUFRLENBQUNDLEtBQUs7SUFDL0JDLFFBQVEsRUFBRSxNQUFNO0lBQ2hCQyxLQUFLLEVBQUUsTUFBTTtJQUNiQyxNQUFNLEVBQUUsTUFBTTtJQUNkQyxPQUFPLEVBQUUsS0FBSztJQUNkQyxNQUFNLGVBQUFDLE1BQUEsQ0FBZVIsZUFBUyxDQUFDQyxRQUFRLENBQUNDLEtBQUssQ0FBRTtJQUMvQ08sTUFBTSxFQUFFLFNBQVM7SUFDakJDLFNBQVMsRUFBRSxPQUFPO0lBQUU7SUFDcEJDLGVBQWUsRUFBRVgsZUFBUyxDQUFDWSxPQUFPLENBQUMsQ0FBQztJQUNwQ0MsT0FBTyxFQUFFLE9BQU87SUFDaEIsU0FBUyxFQUFFO01BQ1RWLFFBQVEsRUFBRSxNQUFNO01BQ2hCQyxLQUFLLEVBQUUsTUFBTTtNQUNiQyxNQUFNLEVBQUU7SUFDVjtFQUNGLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxJQUFNUyxtQkFBbUIsR0FBRyxJQUFBckIsY0FBTSxFQUFDc0IsaUJBQUssQ0FBQyxDQUFDLFVBQUFDLEtBQUE7RUFBQSxJQUFHcEIsS0FBSyxHQUFBb0IsS0FBQSxDQUFMcEIsS0FBSztFQUFBLE9BQVE7SUFDeERDLFlBQVksRUFBRUQsS0FBSyxDQUFDRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzlCQyxLQUFLLEVBQUVDLGVBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxLQUFLO0lBQy9CQyxRQUFRLEVBQUUsTUFBTTtJQUNoQkMsS0FBSyxFQUFFLE1BQU07SUFDYkMsTUFBTSxFQUFFLE1BQU07SUFDZEMsT0FBTyxFQUFFLEtBQUs7SUFDZEMsTUFBTSxlQUFBQyxNQUFBLENBQWVSLGVBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxLQUFLLENBQUU7SUFDL0NPLE1BQU0sRUFBRSxTQUFTO0lBQ2pCQyxTQUFTLEVBQUUsT0FBTztJQUFFO0lBQ3BCQyxlQUFlLEVBQUVYLGVBQVMsQ0FBQ2lCLGlCQUFpQixDQUFDLENBQUM7SUFDOUNKLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFNBQVMsRUFBRTtNQUNUVixRQUFRLEVBQUUsTUFBTTtNQUNoQkMsS0FBSyxFQUFFLE1BQU07TUFDYkMsTUFBTSxFQUFFO0lBQ1Y7RUFDRixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUksSUFBTWEsb0JBQW9CLEdBQUFDLE9BQUEsQ0FBQUQsb0JBQUEsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBRSxLQUFBLEVBQWtEO0VBQUEsSUFBNUNDLEtBQUssR0FBQUQsS0FBQSxDQUFMQyxLQUFLO0lBQUVDLENBQUMsR0FBQUYsS0FBQSxDQUFERSxDQUFDO0lBQUVDLENBQUMsR0FBQUgsS0FBQSxDQUFERyxDQUFDO0lBQUVDLFdBQVcsR0FBQUosS0FBQSxDQUFYSSxXQUFXO0lBQUVDLFdBQVcsR0FBQUwsS0FBQSxDQUFYSyxXQUFXO0VBQzFFLElBQUksQ0FBQ0QsV0FBVyxJQUFJLENBQUNDLFdBQVcsRUFBRSxPQUFPLElBQUk7RUFDN0MsSUFBTUMsRUFBRSxHQUFHTCxLQUFLLEdBQUdBLEtBQUssQ0FBQ0MsQ0FBQyxDQUFDQSxDQUFDLENBQUMsR0FBR0EsQ0FBQztFQUNqQyxJQUFNSyxFQUFFLEdBQUdOLEtBQUssR0FBR0EsS0FBSyxDQUFDRSxDQUFDLENBQUNBLENBQUMsQ0FBQyxHQUFHQSxDQUFDO0VBQ2pDLElBQU1LLFNBQVMsR0FBR0osV0FBVyxDQUFDSyxLQUFLLEtBQUssU0FBUzs7RUFFakQ7RUFDQSxvQkFDRTdDLE1BQUEsWUFBQThDLGFBQUE7SUFBZVIsQ0FBQyxFQUFFSSxFQUFFLEdBQUcsRUFBRztJQUFDSCxDQUFDLEVBQUVJLEVBQUUsR0FBRyxFQUFHO0lBQUN2QixLQUFLLEVBQUUsRUFBRztJQUFDQyxNQUFNLEVBQUU7RUFBRyxHQUMxRHVCLFNBQVMsZ0JBQ1I1QyxNQUFBLFlBQUE4QyxhQUFBLENBQUN0QyxpQkFBaUI7SUFBQ3VDLEtBQUssRUFBRVAsV0FBVyxDQUFDUTtFQUFNLENBQUUsQ0FBQyxnQkFFL0NoRCxNQUFBLFlBQUE4QyxhQUFBLENBQUNoQixtQkFBbUI7SUFBQ2lCLEtBQUssRUFBRVAsV0FBVyxDQUFDUTtFQUFNLENBQUUsQ0FFckMsQ0FBQztBQUVwQixDQUFDO0FBRU0sSUFBTUMsMEJBQTBCLEdBQUFkLE9BQUEsQ0FBQWMsMEJBQUEsR0FBRyxTQUE3QkEsMEJBQTBCQSxDQUFBQyxLQUFBLEVBQXNEO0VBQUEsSUFBaERiLEtBQUssR0FBQWEsS0FBQSxDQUFMYixLQUFLO0lBQUVDLENBQUMsR0FBQVksS0FBQSxDQUFEWixDQUFDO0lBQUVFLFdBQVcsR0FBQVUsS0FBQSxDQUFYVixXQUFXO0lBQUVXLFdBQVcsR0FBQUQsS0FBQSxDQUFYQyxXQUFXO0lBQUVILEtBQUssR0FBQUUsS0FBQSxDQUFMRixLQUFLO0VBQ3BGLElBQUlSLFdBQVcsSUFBSUEsV0FBVyxDQUFDSyxLQUFLLEtBQUssV0FBVyxFQUFFO0lBQUEsSUFBQU8saUJBQUE7SUFDcEQsSUFBTUMsVUFBVSxHQUFHQyxVQUFVLEVBQUFGLGlCQUFBLEdBQUNELFdBQVcsQ0FBQ0ksSUFBSSxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNSLEtBQUssS0FBS0EsS0FBSztJQUFBLEVBQUMsY0FBQUksaUJBQUEsdUJBQTFDQSxpQkFBQSxDQUE0Q1AsS0FBSyxDQUFDO0lBQ2hGLElBQUlZLEtBQUssQ0FBQ0osVUFBVSxDQUFDLEVBQUUsT0FBTyxJQUFJO0lBQ2xDLElBQU1LLFVBQVUsR0FBR3JCLEtBQUssQ0FBQ0UsQ0FBQyxDQUFDYyxVQUFVLENBQUM7SUFDdEMsSUFBTU0sU0FBUyxHQUFHRCxVQUFVLEdBQUcsR0FBRztJQUNsQyxJQUFNRSxTQUFTLEdBQUd2QixLQUFLLENBQUNDLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDLEdBQUcsR0FBRzs7SUFFbEM7SUFDQSxvQkFDRXRDLE1BQUEsWUFBQThDLGFBQUE7TUFBZVIsQ0FBQyxFQUFFc0IsU0FBVTtNQUFDckIsQ0FBQyxFQUFFb0IsU0FBVTtNQUFDdkMsS0FBSyxFQUFFLEVBQUc7TUFBQ0MsTUFBTSxFQUFFO0lBQUcsZ0JBQy9EckIsTUFBQSxZQUFBOEMsYUFBQSxDQUFDdEMsaUJBQWlCO01BQ2hCcUQsU0FBUyxFQUFDLE9BQU87TUFDakJkLEtBQUssRUFBRVAsV0FBVyxDQUFDUTtJQUFNLENBQzFCLENBQ1ksQ0FBQztFQUVwQjtFQUVBLE9BQU8sSUFBSTtBQUNiLENBQUM7QUFFTSxJQUFNYyx3QkFBd0IsR0FBQTNCLE9BQUEsQ0FBQTJCLHdCQUFBLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBQUMsS0FBQSxFQUFxQztFQUFBLElBQS9CdkIsV0FBVyxHQUFBdUIsS0FBQSxDQUFYdkIsV0FBVztJQUFFQyxXQUFXLEdBQUFzQixLQUFBLENBQVh0QixXQUFXO0VBQ2pFLElBQUksQ0FBQ0QsV0FBVyxJQUFJLENBQUNDLFdBQVcsRUFBRSxPQUFPLElBQUk7RUFFN0MsT0FBT0QsV0FBVyxDQUFDSyxLQUFLLEtBQUssU0FBUyxnQkFDcEM3QyxNQUFBLFlBQUE4QyxhQUFBLENBQUN0QyxpQkFBaUI7SUFBQ3VDLEtBQUssRUFBRVAsV0FBVyxDQUFDUTtFQUFNLENBQUUsQ0FBQyxnQkFFL0NoRCxNQUFBLFlBQUE4QyxhQUFBLENBQUNoQixtQkFBbUI7SUFBQ2lCLEtBQUssRUFBRVAsV0FBVyxDQUFDUTtFQUFNLENBQUUsQ0FDakQ7QUFDSCxDQUFDO0FBRURkLG9CQUFvQixDQUFDOEIsU0FBUyxHQUFHO0VBQy9CM0IsS0FBSyxFQUFFNEIscUJBQVMsQ0FBQ0MsS0FBSyxDQUFDO0lBQ3JCNUIsQ0FBQyxFQUFFMkIscUJBQVMsQ0FBQ0UsSUFBSTtJQUNqQjVCLENBQUMsRUFBRTBCLHFCQUFTLENBQUNFO0VBQ2YsQ0FBQyxDQUFDO0VBQ0Y3QixDQUFDLEVBQUUyQixxQkFBUyxDQUFDRyxNQUFNLENBQUNDLFVBQVU7RUFDOUI5QixDQUFDLEVBQUUwQixxQkFBUyxDQUFDRyxNQUFNLENBQUNDLFVBQVU7RUFDOUI3QixXQUFXLEVBQUV5QixxQkFBUyxDQUFDQyxLQUFLLENBQUM7SUFDM0JyQixLQUFLLEVBQUVvQixxQkFBUyxDQUFDSyxNQUFNO0lBQ3ZCdEIsS0FBSyxFQUFFaUIscUJBQVMsQ0FBQ0s7RUFDbkIsQ0FBQyxDQUFDO0VBQ0Y3QixXQUFXLEVBQUV3QixxQkFBUyxDQUFDTTtBQUN6QixDQUFDO0FBRUR0QiwwQkFBMEIsQ0FBQ2UsU0FBUyxHQUFHO0VBQ3JDM0IsS0FBSyxFQUFFNEIscUJBQVMsQ0FBQ0MsS0FBSyxDQUFDO0lBQ3JCNUIsQ0FBQyxFQUFFMkIscUJBQVMsQ0FBQ0UsSUFBSTtJQUNqQjVCLENBQUMsRUFBRTBCLHFCQUFTLENBQUNFO0VBQ2YsQ0FBQyxDQUFDLENBQUNFLFVBQVU7RUFDYi9CLENBQUMsRUFBRTJCLHFCQUFTLENBQUNHLE1BQU0sQ0FBQ0MsVUFBVTtFQUM5QjdCLFdBQVcsRUFBRXlCLHFCQUFTLENBQUNDLEtBQUssQ0FBQztJQUMzQnJCLEtBQUssRUFBRW9CLHFCQUFTLENBQUNLLE1BQU07SUFDdkJ0QixLQUFLLEVBQUVpQixxQkFBUyxDQUFDSztFQUNuQixDQUFDLENBQUM7RUFDRm5CLFdBQVcsRUFBRWMscUJBQVMsQ0FBQ08sT0FBTyxDQUFDUCxxQkFBUyxDQUFDQyxLQUFLLENBQUM7SUFDN0NsQixLQUFLLEVBQUVpQixxQkFBUyxDQUFDSyxNQUFNO0lBQ3ZCekIsS0FBSyxFQUFFb0IscUJBQVMsQ0FBQ1EsU0FBUyxDQUFDLENBQUNSLHFCQUFTLENBQUNLLE1BQU0sRUFBRUwscUJBQVMsQ0FBQ0csTUFBTSxDQUFDO0VBQ2pFLENBQUMsQ0FBQyxDQUFDO0VBQ0hwQixLQUFLLEVBQUVpQixxQkFBUyxDQUFDSztBQUNuQixDQUFDO0FBRURSLHdCQUF3QixDQUFDRSxTQUFTLEdBQUc7RUFDbkN4QixXQUFXLEVBQUV5QixxQkFBUyxDQUFDQyxLQUFLLENBQUM7SUFDM0JyQixLQUFLLEVBQUVvQixxQkFBUyxDQUFDSyxNQUFNO0lBQ3ZCdEIsS0FBSyxFQUFFaUIscUJBQVMsQ0FBQ0s7RUFDbkIsQ0FBQyxDQUFDO0VBQ0Y3QixXQUFXLEVBQUV3QixxQkFBUyxDQUFDTTtBQUN6QixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/correctness-indicators.jsx"],"names":["CorrectnessIndicator","scale","x","y","classes","r","correctness","interactive","cx","cy","isCorrect","value","iconClass","correctIcon","incorrectIcon","correctnessIcon","label","SmallCorrectPointIndicator","correctData","correctVal","parseFloat","find","d","isNaN","correctPxY","yToRender","xToRender","smallIcon","TickCorrectnessIndicator"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport Check from '@material-ui/icons/Check';\nimport Close from '@material-ui/icons/Close';\n\nexport const CorrectnessIndicator = ({ scale, x, y, classes, r, correctness, interactive }) => {\n if (!correctness || !interactive) return null;\n const cx = scale ? scale.x(x) : x;\n const cy = scale ? scale.y(y) : y;\n const isCorrect = correctness.value === 'correct';\n const iconClass = isCorrect ? classes.correctIcon : classes.incorrectIcon;\n\n // the icon is 16px + 2px padding + 1px border, so total size is 22px\n return (\n <foreignObject x={cx - 11} y={cy - 11} width={22} height={22}>\n {isCorrect ? (\n <Check className={classNames(classes.correctnessIcon, iconClass)} title={correctness.label} />\n ) : (\n <Close className={classNames(classes.correctnessIcon, iconClass)} title={correctness.label} />\n )}\n </foreignObject>\n );\n};\n\nexport const SmallCorrectPointIndicator = ({ scale, x, r, correctness, classes, correctData, label }) => {\n if (correctness && correctness.value === 'incorrect') {\n const correctVal = parseFloat(correctData.find((d) => d.label === label)?.value);\n if (isNaN(correctVal)) return null;\n const correctPxY = scale.y(correctVal);\n const yToRender = correctPxY - 7.5;\n const xToRender = scale.x(x) - 7.5;\n\n // small circle has 10px font + 2px padding + 1px border, so total size is 15px\n return (\n <foreignObject x={xToRender} y={yToRender} width={15} height={15}>\n <Check\n className={classNames(classes.correctnessIcon, classes.correctIcon, classes.smallIcon)}\n title={correctness.label}\n />\n </foreignObject>\n );\n }\n\n return null;\n};\n\nexport const TickCorrectnessIndicator = ({ classes, correctness, interactive }) => {\n if (!correctness || !interactive) return null;\n\n return correctness.value === 'correct' ? (\n <Check className={classNames(classes.correctnessIcon, classes.correctIcon)} title={correctness.label} />\n ) : (\n <Close className={classNames(classes.correctnessIcon, classes.incorrectIcon)} title={correctness.label} />\n );\n};\n"],"file":"correctness-indicators.js"}
1
+ {"version":3,"file":"correctness-indicators.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Check","_Close","_renderUi","StyledCorrectIcon","styled","Check","_ref","theme","borderRadius","spacing","color","enumColor","defaults","WHITE","fontSize","width","height","padding","border","concat","stroke","boxSizing","backgroundColor","correct","display","StyledIncorrectIcon","Close","_ref2","incorrectWithIcon","CorrectnessIndicator","exports","_ref3","scale","x","y","correctness","interactive","cx","cy","isCorrect","value","createElement","title","label","SmallCorrectPointIndicator","_ref4","correctData","_correctData$find","correctVal","parseFloat","find","d","isNaN","correctPxY","yToRender","xToRender","className","TickCorrectnessIndicator","_ref5","propTypes","PropTypes","shape","func","number","isRequired","string","bool","arrayOf","oneOfType"],"sources":["../../src/common/correctness-indicators.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Check from '@mui/icons-material/Check';\nimport Close from '@mui/icons-material/Close';\nimport { color as enumColor } from '@pie-lib/render-ui';\n\nconst StyledCorrectIcon = styled(Check)(({ theme }) => ({\n borderRadius: theme.spacing(2),\n color: enumColor.defaults.WHITE,\n fontSize: '16px',\n width: '16px',\n height: '16px',\n padding: '2px',\n border: `1px solid ${enumColor.defaults.WHITE}`,\n stroke: 'initial',\n boxSizing: 'unset', // to override the default border-box in IBX\n backgroundColor: enumColor.correct(),\n display: 'block',\n '&.small': {\n fontSize: '10px',\n width: '10px',\n height: '10px',\n },\n}));\n\nconst StyledIncorrectIcon = styled(Close)(({ theme }) => ({\n borderRadius: theme.spacing(2),\n color: enumColor.defaults.WHITE,\n fontSize: '16px',\n width: '16px',\n height: '16px',\n padding: '2px',\n border: `1px solid ${enumColor.defaults.WHITE}`,\n stroke: 'initial',\n boxSizing: 'unset', // to override the default border-box in IBX\n backgroundColor: enumColor.incorrectWithIcon(),\n display: 'block',\n '&.small': {\n fontSize: '10px',\n width: '10px',\n height: '10px',\n },\n}));\n\nexport const CorrectnessIndicator = ({ scale, x, y, correctness, interactive }) => {\n if (!correctness || !interactive) return null;\n const cx = scale ? scale.x(x) : x;\n const cy = scale ? scale.y(y) : y;\n const isCorrect = correctness.value === 'correct';\n\n // the icon is 16px + 2px padding + 1px border, so total size is 22px\n return (\n <foreignObject x={cx - 11} y={cy - 11} width={22} height={22}>\n {isCorrect ? (\n <StyledCorrectIcon title={correctness.label} />\n ) : (\n <StyledIncorrectIcon title={correctness.label} />\n )}\n </foreignObject>\n );\n};\n\nexport const SmallCorrectPointIndicator = ({ scale, x, correctness, correctData, label }) => {\n if (correctness && correctness.value === 'incorrect') {\n const correctVal = parseFloat(correctData.find((d) => d.label === label)?.value);\n if (isNaN(correctVal)) return null;\n const correctPxY = scale.y(correctVal);\n const yToRender = correctPxY - 7.5;\n const xToRender = scale.x(x) - 7.5;\n\n // small circle has 10px font + 2px padding + 1px border, so total size is 15px\n return (\n <foreignObject x={xToRender} y={yToRender} width={15} height={15}>\n <StyledCorrectIcon\n className=\"small\"\n title={correctness.label}\n />\n </foreignObject>\n );\n }\n\n return null;\n};\n\nexport const TickCorrectnessIndicator = ({ correctness, interactive }) => {\n if (!correctness || !interactive) return null;\n\n return correctness.value === 'correct' ? (\n <StyledCorrectIcon title={correctness.label} />\n ) : (\n <StyledIncorrectIcon title={correctness.label} />\n );\n};\n\nCorrectnessIndicator.propTypes = {\n scale: PropTypes.shape({\n x: PropTypes.func,\n y: PropTypes.func,\n }),\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n interactive: PropTypes.bool,\n};\n\nSmallCorrectPointIndicator.propTypes = {\n scale: PropTypes.shape({\n x: PropTypes.func,\n y: PropTypes.func,\n }).isRequired,\n x: PropTypes.number.isRequired,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n correctData: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n })),\n label: PropTypes.string,\n};\n\nTickCorrectnessIndicator.propTypes = {\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n interactive: PropTypes.bool,\n};\n"],"mappings":"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","ignoreList":[]}