@pie-lib/graphing-solution-set 2.16.0-beta.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.
- package/CHANGELOG.json +1 -0
- package/CHANGELOG.md +16 -0
- package/LICENSE.md +5 -0
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/__tests__/graph-with-controls.test.js +191 -0
- package/lib/__tests__/graph.test.js +290 -0
- package/lib/__tests__/grid.test.js +40 -0
- package/lib/__tests__/labels.test.js +59 -0
- package/lib/__tests__/mark-label.test.js +154 -0
- package/lib/__tests__/toggle-bar.test.js +54 -0
- package/lib/__tests__/tool-menu.test.js +43 -0
- package/lib/__tests__/undo-redo.test.js +42 -0
- package/lib/__tests__/use-debounce.test.js +28 -0
- package/lib/__tests__/utils.js +72 -0
- package/lib/__tests__/utils.test.js +133 -0
- package/lib/axis/__tests__/arrow.test.js +68 -0
- package/lib/axis/__tests__/axes.test.js +214 -0
- package/lib/axis/arrow.js +115 -0
- package/lib/axis/axes.js +415 -0
- package/lib/axis/index.js +26 -0
- package/lib/bg.js +139 -0
- package/lib/container/actions.js +24 -0
- package/lib/container/index.js +166 -0
- package/lib/container/marks.js +27 -0
- package/lib/container/middleware.js +25 -0
- package/lib/container/reducer.js +25 -0
- package/lib/coordinates-label.js +109 -0
- package/lib/graph-with-controls.js +372 -0
- package/lib/graph.js +419 -0
- package/lib/grid-setup.js +462 -0
- package/lib/grid.js +176 -0
- package/lib/index.js +51 -0
- package/lib/labels.js +299 -0
- package/lib/mark-label.js +208 -0
- package/lib/toggle-bar.js +336 -0
- package/lib/tool-menu.js +325 -0
- package/lib/tools/index.js +29 -0
- package/lib/tools/line/__tests__/component.test.js +56 -0
- package/lib/tools/line/component.js +106 -0
- package/lib/tools/line/index.js +16 -0
- package/lib/tools/polygon/__tests__/component.test.js +245 -0
- package/lib/tools/polygon/__tests__/index.test.js +95 -0
- package/lib/tools/polygon/__tests__/line.test.js +43 -0
- package/lib/tools/polygon/__tests__/polygon.test.js +73 -0
- package/lib/tools/polygon/component.js +457 -0
- package/lib/tools/polygon/index.js +106 -0
- package/lib/tools/polygon/line.js +151 -0
- package/lib/tools/polygon/polygon.js +171 -0
- package/lib/tools/shared/__tests__/arrow-head.test.js +62 -0
- package/lib/tools/shared/arrow-head.js +75 -0
- package/lib/tools/shared/line/__tests__/index.test.js +291 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js +78 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +122 -0
- package/lib/tools/shared/line/index.js +637 -0
- package/lib/tools/shared/line/line-path.js +145 -0
- package/lib/tools/shared/line/with-root-edge.js +155 -0
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +137 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js +134 -0
- package/lib/tools/shared/point/arrow-point.js +113 -0
- package/lib/tools/shared/point/arrow.js +96 -0
- package/lib/tools/shared/point/base-point.js +151 -0
- package/lib/tools/shared/point/index.js +94 -0
- package/lib/tools/shared/styles.js +49 -0
- package/lib/tools/shared/types.js +19 -0
- package/lib/undo-redo.js +107 -0
- package/lib/use-debounce.js +32 -0
- package/lib/utils.js +314 -0
- package/package.json +50 -0
- package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +114 -0
- package/src/__tests__/__snapshots__/graph.test.jsx.snap +213 -0
- package/src/__tests__/__snapshots__/grid.test.jsx.snap +54 -0
- package/src/__tests__/__snapshots__/labels.test.jsx.snap +30 -0
- package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +37 -0
- package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +7 -0
- package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +35 -0
- package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +15 -0
- package/src/__tests__/graph-with-controls.test.jsx +131 -0
- package/src/__tests__/graph.test.jsx +230 -0
- package/src/__tests__/grid.test.jsx +20 -0
- package/src/__tests__/labels.test.jsx +38 -0
- package/src/__tests__/mark-label.test.jsx +68 -0
- package/src/__tests__/toggle-bar.test.jsx +36 -0
- package/src/__tests__/tool-menu.test.jsx +29 -0
- package/src/__tests__/undo-redo.test.jsx +25 -0
- package/src/__tests__/use-debounce.test.js +21 -0
- package/src/__tests__/utils.js +38 -0
- package/src/__tests__/utils.test.js +151 -0
- package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +33 -0
- package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +122 -0
- package/src/axis/__tests__/arrow.test.jsx +39 -0
- package/src/axis/__tests__/axes.test.jsx +220 -0
- package/src/axis/arrow.jsx +62 -0
- package/src/axis/axes.jsx +307 -0
- package/src/axis/index.js +2 -0
- package/src/bg.jsx +96 -0
- package/src/container/actions.js +8 -0
- package/src/container/index.jsx +86 -0
- package/src/container/marks.js +14 -0
- package/src/container/middleware.js +7 -0
- package/src/container/reducer.js +5 -0
- package/src/coordinates-label.jsx +73 -0
- package/src/graph-with-controls.jsx +263 -0
- package/src/graph.jsx +334 -0
- package/src/grid-setup.jsx +427 -0
- package/src/grid.jsx +135 -0
- package/src/index.js +7 -0
- package/src/labels.jsx +214 -0
- package/src/mark-label.jsx +136 -0
- package/src/toggle-bar.jsx +242 -0
- package/src/tool-menu.jsx +294 -0
- package/src/tools/index.js +8 -0
- package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +20 -0
- package/src/tools/line/__tests__/component.test.jsx +36 -0
- package/src/tools/line/component.jsx +77 -0
- package/src/tools/line/index.js +4 -0
- package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +94 -0
- package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +44 -0
- package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +53 -0
- package/src/tools/polygon/__tests__/component.test.jsx +214 -0
- package/src/tools/polygon/__tests__/index.test.js +65 -0
- package/src/tools/polygon/__tests__/line.test.jsx +25 -0
- package/src/tools/polygon/__tests__/polygon.test.jsx +44 -0
- package/src/tools/polygon/component.jsx +336 -0
- package/src/tools/polygon/index.js +52 -0
- package/src/tools/polygon/line.jsx +78 -0
- package/src/tools/polygon/polygon.jsx +101 -0
- package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +32 -0
- package/src/tools/shared/__tests__/arrow-head.test.jsx +34 -0
- package/src/tools/shared/arrow-head.jsx +46 -0
- package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +360 -0
- package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +57 -0
- package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +63 -0
- package/src/tools/shared/line/__tests__/index.test.jsx +247 -0
- package/src/tools/shared/line/__tests__/line-path.test.jsx +53 -0
- package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +73 -0
- package/src/tools/shared/line/index.jsx +473 -0
- package/src/tools/shared/line/line-path.jsx +88 -0
- package/src/tools/shared/line/with-root-edge.jsx +97 -0
- package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +55 -0
- package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +43 -0
- package/src/tools/shared/point/__tests__/arrow-point.test.jsx +87 -0
- package/src/tools/shared/point/__tests__/base-point.test.jsx +84 -0
- package/src/tools/shared/point/arrow-point.jsx +60 -0
- package/src/tools/shared/point/arrow.jsx +40 -0
- package/src/tools/shared/point/base-point.jsx +86 -0
- package/src/tools/shared/point/index.jsx +60 -0
- package/src/tools/shared/styles.js +20 -0
- package/src/tools/shared/types.js +8 -0
- package/src/undo-redo.jsx +47 -0
- package/src/use-debounce.js +13 -0
- package/src/utils.js +234 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _arrow = require("../arrow");
|
|
12
|
+
|
|
13
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
+
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
|
|
17
|
+
describe('Arrow', function () {
|
|
18
|
+
var w;
|
|
19
|
+
var onChange = jest.fn();
|
|
20
|
+
|
|
21
|
+
var wrapper = function wrapper(extras) {
|
|
22
|
+
var defaults = {
|
|
23
|
+
classes: {},
|
|
24
|
+
className: 'className',
|
|
25
|
+
onChange: onChange,
|
|
26
|
+
scale: {
|
|
27
|
+
x: jest.fn(function (n) {
|
|
28
|
+
return n;
|
|
29
|
+
}),
|
|
30
|
+
y: jest.fn(function (n) {
|
|
31
|
+
return n;
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
37
|
+
|
|
38
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_arrow.Arrow, props));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
describe('snapshot', function () {
|
|
42
|
+
it('up', function () {
|
|
43
|
+
w = wrapper({
|
|
44
|
+
direction: 'up'
|
|
45
|
+
});
|
|
46
|
+
expect(w).toMatchSnapshot();
|
|
47
|
+
});
|
|
48
|
+
it('down', function () {
|
|
49
|
+
w = wrapper({
|
|
50
|
+
direction: 'down'
|
|
51
|
+
});
|
|
52
|
+
expect(w).toMatchSnapshot();
|
|
53
|
+
});
|
|
54
|
+
it('left', function () {
|
|
55
|
+
w = wrapper({
|
|
56
|
+
direction: 'left'
|
|
57
|
+
});
|
|
58
|
+
expect(w).toMatchSnapshot();
|
|
59
|
+
});
|
|
60
|
+
it('right', function () {
|
|
61
|
+
w = wrapper({
|
|
62
|
+
direction: 'right'
|
|
63
|
+
});
|
|
64
|
+
expect(w).toMatchSnapshot();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9heGlzL19fdGVzdHNfXy9hcnJvdy50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJzY2FsZSIsIngiLCJuIiwieSIsInByb3BzIiwiaXQiLCJkaXJlY3Rpb24iLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ3RCLE1BQUlDLENBQUo7QUFDQSxNQUFJQyxRQUFRLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQUFmOztBQUNBLE1BQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMxQixRQUFNQyxRQUFRLEdBQUc7QUFDZkMsTUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsTUFBQUEsU0FBUyxFQUFFLFdBRkk7QUFHZlAsTUFBQUEsUUFBUSxFQUFSQSxRQUhlO0FBSWZRLE1BQUFBLEtBQUssRUFBRTtBQUNMQyxRQUFBQSxDQUFDLEVBQUVSLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNRLENBQUQ7QUFBQSxpQkFBT0EsQ0FBUDtBQUFBLFNBQVIsQ0FERTtBQUVMQyxRQUFBQSxDQUFDLEVBQUVWLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNRLENBQUQ7QUFBQSxpQkFBT0EsQ0FBUDtBQUFBLFNBQVI7QUFGRTtBQUpRLEtBQWpCOztBQVNBLFFBQU1FLEtBQUssbUNBQVFQLFFBQVIsR0FBcUJELE1BQXJCLENBQVg7O0FBQ0EsV0FBTyxtQ0FBUSxnQ0FBQyxZQUFELEVBQVdRLEtBQVgsQ0FBUixDQUFQO0FBQ0QsR0FaRDs7QUFhQWQsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCZSxJQUFBQSxFQUFFLENBQUMsSUFBRCxFQUFPLFlBQU07QUFDYmQsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLENBQUM7QUFBRVcsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBRCxDQUFYO0FBQ0FDLE1BQUFBLE1BQU0sQ0FBQ2hCLENBQUQsQ0FBTixDQUFVaUIsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlBSCxJQUFBQSxFQUFFLENBQUMsTUFBRCxFQUFTLFlBQU07QUFDZmQsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLENBQUM7QUFBRVcsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBRCxDQUFYO0FBQ0FDLE1BQUFBLE1BQU0sQ0FBQ2hCLENBQUQsQ0FBTixDQUFVaUIsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlBSCxJQUFBQSxFQUFFLENBQUMsTUFBRCxFQUFTLFlBQU07QUFDZmQsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLENBQUM7QUFBRVcsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBRCxDQUFYO0FBQ0FDLE1BQUFBLE1BQU0sQ0FBQ2hCLENBQUQsQ0FBTixDQUFVaUIsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlBSCxJQUFBQSxFQUFFLENBQUMsT0FBRCxFQUFVLFlBQU07QUFDaEJkLE1BQUFBLENBQUMsR0FBR0ksT0FBTyxDQUFDO0FBQUVXLFFBQUFBLFNBQVMsRUFBRTtBQUFiLE9BQUQsQ0FBWDtBQUNBQyxNQUFBQSxNQUFNLENBQUNoQixDQUFELENBQU4sQ0FBVWlCLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFJRCxHQWpCTyxDQUFSO0FBa0JELENBbENPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBcnJvdyB9IGZyb20gJy4uL2Fycm93JztcblxuZGVzY3JpYmUoJ0Fycm93JywgKCkgPT4ge1xuICBsZXQgdztcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBzY2FsZToge1xuICAgICAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICAgICAgeTogamVzdC5mbigobikgPT4gbiksXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8QXJyb3cgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgndXAnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcih7IGRpcmVjdGlvbjogJ3VwJyB9KTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgICBpdCgnZG93bicsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKHsgZGlyZWN0aW9uOiAnZG93bicgfSk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gICAgaXQoJ2xlZnQnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcih7IGRpcmVjdGlvbjogJ2xlZnQnIH0pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICAgIGl0KCdyaWdodCcsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKHsgZGlyZWN0aW9uOiAncmlnaHQnIH0pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
|
+
|
|
9
|
+
var _enzyme = require("enzyme");
|
|
10
|
+
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
|
|
13
|
+
var _utils = require("../../__tests__/utils");
|
|
14
|
+
|
|
15
|
+
var _axes = _interopRequireWildcard(require("../axes"));
|
|
16
|
+
|
|
17
|
+
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); }
|
|
18
|
+
|
|
19
|
+
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; }
|
|
20
|
+
|
|
21
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
|
+
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
|
+
|
|
25
|
+
describe('RawXAxis', function () {
|
|
26
|
+
var w;
|
|
27
|
+
var onChange = jest.fn();
|
|
28
|
+
|
|
29
|
+
var wrapper = function wrapper(extras) {
|
|
30
|
+
var defaults = {
|
|
31
|
+
classes: {},
|
|
32
|
+
className: 'className',
|
|
33
|
+
onChange: onChange,
|
|
34
|
+
graphProps: (0, _utils.graphProps)(),
|
|
35
|
+
includeArrows: {
|
|
36
|
+
left: true,
|
|
37
|
+
right: true,
|
|
38
|
+
up: true,
|
|
39
|
+
down: true
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
44
|
+
|
|
45
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes.RawXAxis, props));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
describe('snapshot', function () {
|
|
49
|
+
it('renders', function () {
|
|
50
|
+
w = wrapper();
|
|
51
|
+
expect(w).toMatchSnapshot();
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
describe('RawYAxis', function () {
|
|
56
|
+
var w;
|
|
57
|
+
var onChange = jest.fn();
|
|
58
|
+
|
|
59
|
+
var wrapper = function wrapper(extras) {
|
|
60
|
+
var defaults = {
|
|
61
|
+
classes: {},
|
|
62
|
+
className: 'className',
|
|
63
|
+
onChange: onChange,
|
|
64
|
+
graphProps: (0, _utils.graphProps)(),
|
|
65
|
+
includeArrows: {
|
|
66
|
+
left: true,
|
|
67
|
+
right: true,
|
|
68
|
+
up: true,
|
|
69
|
+
down: true
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
74
|
+
|
|
75
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes.RawYAxis, props));
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
describe('snapshot', function () {
|
|
79
|
+
it('renders', function () {
|
|
80
|
+
w = wrapper();
|
|
81
|
+
expect(w).toMatchSnapshot();
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
var customScaleMock = function customScaleMock(distance) {
|
|
87
|
+
var fn = jest.fn(function (n) {
|
|
88
|
+
return n * distance;
|
|
89
|
+
});
|
|
90
|
+
fn.invert = jest.fn(function (n) {
|
|
91
|
+
return n * distance;
|
|
92
|
+
});
|
|
93
|
+
return fn;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
describe.only('Axes', function () {
|
|
97
|
+
var w;
|
|
98
|
+
var onChange = jest.fn();
|
|
99
|
+
|
|
100
|
+
var customGraphProps = _objectSpread(_objectSpread({}, (0, _utils.graphProps)()), {}, {
|
|
101
|
+
domain: {
|
|
102
|
+
min: -2,
|
|
103
|
+
max: 2,
|
|
104
|
+
labelStep: 1,
|
|
105
|
+
step: 1
|
|
106
|
+
},
|
|
107
|
+
range: {
|
|
108
|
+
min: -2,
|
|
109
|
+
max: 2,
|
|
110
|
+
step: 1,
|
|
111
|
+
labelStep: 1
|
|
112
|
+
},
|
|
113
|
+
scale: {
|
|
114
|
+
x: customScaleMock(200),
|
|
115
|
+
y: customScaleMock(150)
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
var wrapper = function wrapper(extras) {
|
|
120
|
+
var defaults = {
|
|
121
|
+
classes: {},
|
|
122
|
+
className: 'className',
|
|
123
|
+
onChange: onChange,
|
|
124
|
+
graphProps: customGraphProps
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
128
|
+
|
|
129
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes["default"], props));
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
describe('xValues', function () {
|
|
133
|
+
it('renders', function () {
|
|
134
|
+
w = wrapper();
|
|
135
|
+
var result = w.instance().xValues();
|
|
136
|
+
expect(result).toEqual({
|
|
137
|
+
columnTicksValues: expect.arrayContaining([-2, -1, 0, 1, 2]),
|
|
138
|
+
distanceFromOriginToFirstNegativeX: 150,
|
|
139
|
+
firstNegativeX: -1
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
describe('yValues', function () {
|
|
144
|
+
it('renders', function () {
|
|
145
|
+
w = wrapper();
|
|
146
|
+
var result = w.instance().yValues();
|
|
147
|
+
expect(result).toEqual({
|
|
148
|
+
rowTickValues: expect.arrayContaining([-2, -1, 0, 1, 2]),
|
|
149
|
+
distanceFromOriginToFirstNegativeY: 200,
|
|
150
|
+
firstNegativeY: -1
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
describe('firstNegativeValue should return undefiend for undefined interval', function () {
|
|
156
|
+
var interval = undefined;
|
|
157
|
+
var result = (0, _axes.firstNegativeValue)(interval);
|
|
158
|
+
expect(result).toEqual(undefined);
|
|
159
|
+
});
|
|
160
|
+
describe('firstNegativeValue should return undefiend for empty interval', function () {
|
|
161
|
+
var interval = [];
|
|
162
|
+
var result = (0, _axes.firstNegativeValue)(interval);
|
|
163
|
+
expect(result).toEqual(undefined);
|
|
164
|
+
});
|
|
165
|
+
describe('firstNegativeValue should return undefined if there is no negative in interval array', function () {
|
|
166
|
+
var interval = [1, 5, 7, 4, 5];
|
|
167
|
+
var result = (0, _axes.firstNegativeValue)(interval);
|
|
168
|
+
expect(result).toEqual(undefined);
|
|
169
|
+
});
|
|
170
|
+
describe('firstNegativeValue should return first negative number from interval', function () {
|
|
171
|
+
var interval = [1, 5, 7, -2, 4, 5, -1];
|
|
172
|
+
var result = (0, _axes.firstNegativeValue)(interval);
|
|
173
|
+
expect(result).toEqual(-2);
|
|
174
|
+
});
|
|
175
|
+
describe('skipValue should be empty array if firstNegativeValue for one of the axes is undefined', function () {
|
|
176
|
+
// x
|
|
177
|
+
var intervalX = [1, 2, 3, 4, 5, 6];
|
|
178
|
+
var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
|
|
179
|
+
var distanceFromOriginToFirstNegativeX = -22; // y
|
|
180
|
+
|
|
181
|
+
var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
182
|
+
var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
|
|
183
|
+
var distanceFromOriginToFirstNegativeY = -22;
|
|
184
|
+
var deltaAllowance = 5;
|
|
185
|
+
var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
|
|
186
|
+
expect(result).toEqual([]);
|
|
187
|
+
});
|
|
188
|
+
describe('skipValue should be empty array if firstNegativeX and firstNegativeY are equal but they do not overlap', function () {
|
|
189
|
+
// x
|
|
190
|
+
var intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
191
|
+
var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
|
|
192
|
+
var distanceFromOriginToFirstNegativeX = -7; // y
|
|
193
|
+
|
|
194
|
+
var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
195
|
+
var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
|
|
196
|
+
var distanceFromOriginToFirstNegativeY = -22;
|
|
197
|
+
var deltaAllowance = 5;
|
|
198
|
+
var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
|
|
199
|
+
expect(result).toEqual([]);
|
|
200
|
+
});
|
|
201
|
+
describe('skipValue should be -1 if firstNegativeX and firstNegativeY are equal and they overlap', function () {
|
|
202
|
+
// x
|
|
203
|
+
var intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
204
|
+
var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
|
|
205
|
+
var distanceFromOriginToFirstNegativeX = -20; // y
|
|
206
|
+
|
|
207
|
+
var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
208
|
+
var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
|
|
209
|
+
var distanceFromOriginToFirstNegativeY = -22;
|
|
210
|
+
var deltaAllowance = 5;
|
|
211
|
+
var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
|
|
212
|
+
expect(result).toEqual([-1]);
|
|
213
|
+
});
|
|
214
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9heGlzL19fdGVzdHNfXy9heGVzLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwid3JhcHBlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImdyYXBoUHJvcHMiLCJpbmNsdWRlQXJyb3dzIiwibGVmdCIsInJpZ2h0IiwidXAiLCJkb3duIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImN1c3RvbVNjYWxlTW9jayIsImRpc3RhbmNlIiwibiIsImludmVydCIsIm9ubHkiLCJjdXN0b21HcmFwaFByb3BzIiwiZG9tYWluIiwibWluIiwibWF4IiwibGFiZWxTdGVwIiwic3RlcCIsInJhbmdlIiwic2NhbGUiLCJ4IiwieSIsInJlc3VsdCIsImluc3RhbmNlIiwieFZhbHVlcyIsInRvRXF1YWwiLCJjb2x1bW5UaWNrc1ZhbHVlcyIsImFycmF5Q29udGFpbmluZyIsImRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVgiLCJmaXJzdE5lZ2F0aXZlWCIsInlWYWx1ZXMiLCJyb3dUaWNrVmFsdWVzIiwiZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWSIsImZpcnN0TmVnYXRpdmVZIiwiaW50ZXJ2YWwiLCJ1bmRlZmluZWQiLCJpbnRlcnZhbFgiLCJpbnRlcnZhbFkiLCJkZWx0YUFsbG93YW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztBQUVBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekIsTUFBSUMsQ0FBSjtBQUNBLE1BQUlDLFFBQVEsR0FBR0MsSUFBSSxDQUFDQyxFQUFMLEVBQWY7O0FBQ0EsTUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsTUFBRCxFQUFZO0FBQzFCLFFBQU1DLFFBQVEsR0FBRztBQUNmQyxNQUFBQSxP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LHdGQUFELEVBQTJGLFlBQU07QUFDdkc7QUFDQSxNQUFNaUQsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFGLEVBQUssQ0FBQyxDQUFOLEVBQVMsQ0FBVCxFQUFZLENBQVosRUFBZSxDQUFmLEVBQWtCLENBQWxCLEVBQXFCLENBQXJCLEVBQXdCLENBQXhCLENBQWxCO0FBQ0EsTUFBTVAsY0FBYyxHQUFHLDhCQUFtQk8sU0FBbkIsQ0FBdkI7QUFDQSxNQUFNUixrQ0FBa0MsR0FBRyxDQUFDLEVBQTVDLENBSnVHLENBTXZHOztBQUNBLE1BQU1TLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBRixFQUFLLENBQUMsQ0FBTixFQUFTLENBQVQsRUFBWSxDQUFaLEVBQWUsQ0FBZixFQUFrQixDQUFsQixFQUFxQixDQUFyQixFQUF3QixDQUF4QixDQUFsQjtBQUNBLE1BQU1KLGNBQWMsR0FBRyw4QkFBbUJJLFNBQW5CLENBQXZCO0FBQ0EsTUFBTUwsa0NBQWtDLEdBQUcsQ0FBQyxFQUE1QztBQUVBLE1BQU1NLGNBQWMsR0FBRyxDQUF2QjtBQUVBLE1BQU1oQixNQUFNLEdBQUcsd0JBQ2JPLGNBRGEsRUFFYkksY0FGYSxFQUdiTCxrQ0FIYSxFQUliSSxrQ0FKYSxFQUtiTSxjQUxhLENBQWY7QUFRQWpDLEVBQUFBLE1BQU0sQ0FBQ2lCLE1BQUQsQ0FBTixDQUFlRyxPQUFmLENBQXVCLENBQUMsQ0FBQyxDQUFGLENBQXZCO0FBQ0QsQ0F0Qk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuXG5pbXBvcnQgQXhlcywgeyBSYXdYQXhpcywgUmF3WUF4aXMsIGZpcnN0TmVnYXRpdmVWYWx1ZSwgc2hhcmVkVmFsdWVzIH0gZnJvbSAnLi4vYXhlcyc7XG5cbmRlc2NyaWJlKCdSYXdYQXhpcycsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgaW5jbHVkZUFycm93czoge1xuICAgICAgICBsZWZ0OiB0cnVlLFxuICAgICAgICByaWdodDogdHJ1ZSxcbiAgICAgICAgdXA6IHRydWUsXG4gICAgICAgIGRvd246IHRydWUsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8UmF3WEF4aXMgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdSYXdZQXhpcycsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgaW5jbHVkZUFycm93czoge1xuICAgICAgICBsZWZ0OiB0cnVlLFxuICAgICAgICByaWdodDogdHJ1ZSxcbiAgICAgICAgdXA6IHRydWUsXG4gICAgICAgIGRvd246IHRydWUsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8UmF3WUF4aXMgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmNvbnN0IGN1c3RvbVNjYWxlTW9jayA9IChkaXN0YW5jZSkgPT4ge1xuICBjb25zdCBmbiA9IGplc3QuZm4oKG4pID0+IG4gKiBkaXN0YW5jZSk7XG4gIGZuLmludmVydCA9IGplc3QuZm4oKG4pID0+IG4gKiBkaXN0YW5jZSk7XG4gIHJldHVybiBmbjtcbn07XG5cbmRlc2NyaWJlLm9ubHkoJ0F4ZXMnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgY3VzdG9tR3JhcGhQcm9wcyA9IHtcbiAgICAuLi5ncmFwaFByb3BzKCksXG4gICAgZG9tYWluOiB7XG4gICAgICBtaW46IC0yLFxuICAgICAgbWF4OiAyLFxuICAgICAgbGFiZWxTdGVwOiAxLFxuICAgICAgc3RlcDogMSxcbiAgICB9LFxuICAgIHJhbmdlOiB7XG4gICAgICBtaW46IC0yLFxuICAgICAgbWF4OiAyLFxuICAgICAgc3RlcDogMSxcbiAgICAgIGxhYmVsU3RlcDogMSxcbiAgICB9LFxuICAgIHNjYWxlOiB7XG4gICAgICB4OiBjdXN0b21TY2FsZU1vY2soMjAwKSxcbiAgICAgIHk6IGN1c3RvbVNjYWxlTW9jaygxNTApLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogY3VzdG9tR3JhcGhQcm9wcyxcbiAgICB9O1xuXG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8QXhlcyB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3hWYWx1ZXMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdy5pbnN0YW5jZSgpLnhWYWx1ZXMoKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICBjb2x1bW5UaWNrc1ZhbHVlczogZXhwZWN0LmFycmF5Q29udGFpbmluZyhbLTIsIC0xLCAwLCAxLCAyXSksXG4gICAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVg6IDE1MCxcbiAgICAgICAgZmlyc3ROZWdhdGl2ZVg6IC0xLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgneVZhbHVlcycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBjb25zdCByZXN1bHQgPSB3Lmluc3RhbmNlKCkueVZhbHVlcygpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHJvd1RpY2tWYWx1ZXM6IGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoWy0yLCAtMSwgMCwgMSwgMl0pLFxuICAgICAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZOiAyMDAsXG4gICAgICAgIGZpcnN0TmVnYXRpdmVZOiAtMSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnZmlyc3ROZWdhdGl2ZVZhbHVlIHNob3VsZCByZXR1cm4gdW5kZWZpZW5kIGZvciB1bmRlZmluZWQgaW50ZXJ2YWwnLCAoKSA9PiB7XG4gIGNvbnN0IGludGVydmFsID0gdW5kZWZpbmVkO1xuICBjb25zdCByZXN1bHQgPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWwpO1xuICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHVuZGVmaW5lZCk7XG59KTtcblxuZGVzY3JpYmUoJ2ZpcnN0TmVnYXRpdmVWYWx1ZSBzaG91bGQgcmV0dXJuIHVuZGVmaWVuZCBmb3IgZW1wdHkgaW50ZXJ2YWwnLCAoKSA9PiB7XG4gIGNvbnN0IGludGVydmFsID0gW107XG4gIGNvbnN0IHJlc3VsdCA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbCk7XG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwodW5kZWZpbmVkKTtcbn0pO1xuXG5kZXNjcmliZSgnZmlyc3ROZWdhdGl2ZVZhbHVlIHNob3VsZCByZXR1cm4gdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIG5lZ2F0aXZlIGluIGludGVydmFsIGFycmF5JywgKCkgPT4ge1xuICBjb25zdCBpbnRlcnZhbCA9IFsxLCA1LCA3LCA0LCA1XTtcbiAgY29uc3QgcmVzdWx0ID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsKTtcbiAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh1bmRlZmluZWQpO1xufSk7XG5cbmRlc2NyaWJlKCdmaXJzdE5lZ2F0aXZlVmFsdWUgc2hvdWxkIHJldHVybiBmaXJzdCBuZWdhdGl2ZSBudW1iZXIgZnJvbSBpbnRlcnZhbCcsICgpID0+IHtcbiAgY29uc3QgaW50ZXJ2YWwgPSBbMSwgNSwgNywgLTIsIDQsIDUsIC0xXTtcbiAgY29uc3QgcmVzdWx0ID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsKTtcbiAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgtMik7XG59KTtcblxuZGVzY3JpYmUoJ3NraXBWYWx1ZSBzaG91bGQgYmUgZW1wdHkgYXJyYXkgaWYgZmlyc3ROZWdhdGl2ZVZhbHVlIGZvciBvbmUgb2YgdGhlIGF4ZXMgaXMgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAvLyB4XG4gIGNvbnN0IGludGVydmFsWCA9IFsxLCAyLCAzLCA0LCA1LCA2XTtcbiAgY29uc3QgZmlyc3ROZWdhdGl2ZVggPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxYKTtcbiAgY29uc3QgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCA9IC0yMjtcblxuICAvLyB5XG4gIGNvbnN0IGludGVydmFsWSA9IFstMSwgLTIsIDEsIDIsIDMsIDQsIDUsIDZdO1xuICBjb25zdCBmaXJzdE5lZ2F0aXZlWSA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbFkpO1xuICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZID0gLTIyO1xuXG4gIGNvbnN0IGRlbHRhQWxsb3dhbmNlID0gNTtcblxuICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgZmlyc3ROZWdhdGl2ZVksXG4gICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgIGRlbHRhQWxsb3dhbmNlLFxuICApO1xuXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW10pO1xufSk7XG5cbmRlc2NyaWJlKCdza2lwVmFsdWUgc2hvdWxkIGJlIGVtcHR5IGFycmF5IGlmIGZpcnN0TmVnYXRpdmVYIGFuZCBmaXJzdE5lZ2F0aXZlWSBhcmUgZXF1YWwgYnV0IHRoZXkgZG8gbm90IG92ZXJsYXAnLCAoKSA9PiB7XG4gIC8vIHhcbiAgY29uc3QgaW50ZXJ2YWxYID0gWy0xLCAtMiwgMSwgMiwgMywgNCwgNSwgNl07XG4gIGNvbnN0IGZpcnN0TmVnYXRpdmVYID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsWCk7XG4gIGNvbnN0IGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVggPSAtNztcblxuICAvLyB5XG4gIGNvbnN0IGludGVydmFsWSA9IFstMSwgLTIsIDEsIDIsIDMsIDQsIDUsIDZdO1xuICBjb25zdCBmaXJzdE5lZ2F0aXZlWSA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbFkpO1xuICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZID0gLTIyO1xuXG4gIGNvbnN0IGRlbHRhQWxsb3dhbmNlID0gNTtcblxuICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgZmlyc3ROZWdhdGl2ZVksXG4gICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgIGRlbHRhQWxsb3dhbmNlLFxuICApO1xuXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW10pO1xufSk7XG5cbmRlc2NyaWJlKCdza2lwVmFsdWUgc2hvdWxkIGJlIC0xIGlmIGZpcnN0TmVnYXRpdmVYIGFuZCBmaXJzdE5lZ2F0aXZlWSBhcmUgZXF1YWwgYW5kIHRoZXkgb3ZlcmxhcCcsICgpID0+IHtcbiAgLy8geFxuICBjb25zdCBpbnRlcnZhbFggPSBbLTEsIC0yLCAxLCAyLCAzLCA0LCA1LCA2XTtcbiAgY29uc3QgZmlyc3ROZWdhdGl2ZVggPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxYKTtcbiAgY29uc3QgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCA9IC0yMDtcblxuICAvLyB5XG4gIGNvbnN0IGludGVydmFsWSA9IFstMSwgLTIsIDEsIDIsIDMsIDQsIDUsIDZdO1xuICBjb25zdCBmaXJzdE5lZ2F0aXZlWSA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbFkpO1xuICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZID0gLTIyO1xuXG4gIGNvbnN0IGRlbHRhQWxsb3dhbmNlID0gNTtcblxuICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgZmlyc3ROZWdhdGl2ZVksXG4gICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgIGRlbHRhQWxsb3dhbmNlLFxuICApO1xuXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoWy0xXSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.Arrow = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireDefault(require("react"));
|
|
21
|
+
|
|
22
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
|
+
|
|
24
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
25
|
+
|
|
26
|
+
var _styles = require("@material-ui/core/styles");
|
|
27
|
+
|
|
28
|
+
var _plot = require("@pie-lib/plot");
|
|
29
|
+
|
|
30
|
+
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); }; }
|
|
31
|
+
|
|
32
|
+
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; } }
|
|
33
|
+
|
|
34
|
+
var style = function style(theme) {
|
|
35
|
+
return {
|
|
36
|
+
root: {
|
|
37
|
+
fill: "var(--arrow-color, ".concat(theme.palette.common.black, ")")
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var Arrow = /*#__PURE__*/function (_React$Component) {
|
|
43
|
+
(0, _inherits2["default"])(Arrow, _React$Component);
|
|
44
|
+
|
|
45
|
+
var _super = _createSuper(Arrow);
|
|
46
|
+
|
|
47
|
+
function Arrow() {
|
|
48
|
+
(0, _classCallCheck2["default"])(this, Arrow);
|
|
49
|
+
return _super.apply(this, arguments);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
(0, _createClass2["default"])(Arrow, [{
|
|
53
|
+
key: "render",
|
|
54
|
+
value: function render() {
|
|
55
|
+
var _this$props = this.props,
|
|
56
|
+
x = _this$props.x,
|
|
57
|
+
y = _this$props.y,
|
|
58
|
+
classes = _this$props.classes,
|
|
59
|
+
className = _this$props.className,
|
|
60
|
+
scale = _this$props.scale;
|
|
61
|
+
var names = (0, _classnames["default"])(classes.root, className);
|
|
62
|
+
var direction = this.props.direction || 'left';
|
|
63
|
+
var xv = scale.x(x);
|
|
64
|
+
var yv = scale.y(y);
|
|
65
|
+
var transform = '';
|
|
66
|
+
|
|
67
|
+
var getTransform = function getTransform(x, y, rotate) {
|
|
68
|
+
return "translate(".concat(x, ", ").concat(y, ") rotate(").concat(rotate, ")");
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
if (direction === 'left') {
|
|
72
|
+
transform = getTransform(xv - 15, yv, 0);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (direction === 'right') {
|
|
76
|
+
transform = getTransform(xv + 15, yv, 180);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (direction === 'up') {
|
|
80
|
+
transform = getTransform(xv, yv - 15, 90);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (direction === 'down') {
|
|
84
|
+
transform = getTransform(xv, yv + 15, 270);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return /*#__PURE__*/_react["default"].createElement("path", {
|
|
88
|
+
d: "m 0,0 8,-5 0,10 -8,-5",
|
|
89
|
+
transform: transform,
|
|
90
|
+
className: names
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}]);
|
|
94
|
+
return Arrow;
|
|
95
|
+
}(_react["default"].Component);
|
|
96
|
+
|
|
97
|
+
exports.Arrow = Arrow;
|
|
98
|
+
Arrow.propTypes = {
|
|
99
|
+
y: _propTypes["default"].number,
|
|
100
|
+
x: _propTypes["default"].number,
|
|
101
|
+
direction: _propTypes["default"].oneOf(['left', 'right', 'up', 'down']),
|
|
102
|
+
classes: _propTypes["default"].object.isRequired,
|
|
103
|
+
className: _propTypes["default"].string,
|
|
104
|
+
scale: _plot.types.ScaleType.isRequired
|
|
105
|
+
};
|
|
106
|
+
Arrow.defaultProps = {
|
|
107
|
+
y: 0,
|
|
108
|
+
x: 0,
|
|
109
|
+
direction: 'left'
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var _default = (0, _styles.withStyles)(style)(Arrow);
|
|
113
|
+
|
|
114
|
+
exports["default"] = _default;
|
|
115
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9heGlzL2Fycm93LmpzeCJdLCJuYW1lcyI6WyJzdHlsZSIsInRoZW1lIiwicm9vdCIsImZpbGwiLCJwYWxldHRlIiwiY29tbW9uIiwiYmxhY2siLCJBcnJvdyIsInByb3BzIiwieCIsInkiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwic2NhbGUiLCJuYW1lcyIsImRpcmVjdGlvbiIsInh2IiwieXYiLCJ0cmFuc2Zvcm0iLCJnZXRUcmFuc2Zvcm0iLCJyb3RhdGUiLCJSZWFjdCIsIkNvbXBvbmVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm51bWJlciIsIm9uZU9mIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsInN0cmluZyIsInR5cGVzIiwiU2NhbGVUeXBlIiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEtBQUssR0FBRyxTQUFSQSxLQUFRLENBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3hCQyxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsSUFBSSwrQkFBd0JGLEtBQUssQ0FBQ0csT0FBTixDQUFjQyxNQUFkLENBQXFCQyxLQUE3QztBQURBO0FBRGtCLEdBQVo7QUFBQSxDQUFkOztJQU1hQyxLOzs7Ozs7Ozs7Ozs7V0FDWCxrQkFBUztBQUNQLHdCQUE0QyxLQUFLQyxLQUFqRDtBQUFBLFVBQVFDLENBQVIsZUFBUUEsQ0FBUjtBQUFBLFVBQVdDLENBQVgsZUFBV0EsQ0FBWDtBQUFBLFVBQWNDLE9BQWQsZUFBY0EsT0FBZDtBQUFBLFVBQXVCQyxTQUF2QixlQUF1QkEsU0FBdkI7QUFBQSxVQUFrQ0MsS0FBbEMsZUFBa0NBLEtBQWxDO0FBQ0EsVUFBTUMsS0FBSyxHQUFHLDRCQUFXSCxPQUFPLENBQUNULElBQW5CLEVBQXlCVSxTQUF6QixDQUFkO0FBQ0EsVUFBSUcsU0FBUyxHQUFHLEtBQUtQLEtBQUwsQ0FBV08sU0FBWCxJQUF3QixNQUF4QztBQUVBLFVBQU1DLEVBQUUsR0FBR0gsS0FBSyxDQUFDSixDQUFOLENBQVFBLENBQVIsQ0FBWDtBQUNBLFVBQU1RLEVBQUUsR0FBR0osS0FBSyxDQUFDSCxDQUFOLENBQVFBLENBQVIsQ0FBWDtBQUVBLFVBQUlRLFNBQVMsR0FBRyxFQUFoQjs7QUFFQSxVQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDVixDQUFELEVBQUlDLENBQUosRUFBT1UsTUFBUDtBQUFBLG1DQUErQlgsQ0FBL0IsZUFBcUNDLENBQXJDLHNCQUFrRFUsTUFBbEQ7QUFBQSxPQUFyQjs7QUFFQSxVQUFJTCxTQUFTLEtBQUssTUFBbEIsRUFBMEI7QUFDeEJHLFFBQUFBLFNBQVMsR0FBR0MsWUFBWSxDQUFDSCxFQUFFLEdBQUcsRUFBTixFQUFVQyxFQUFWLEVBQWMsQ0FBZCxDQUF4QjtBQUNEOztBQUVELFVBQUlGLFNBQVMsS0FBSyxPQUFsQixFQUEyQjtBQUN6QkcsUUFBQUEsU0FBUyxHQUFHQyxZQUFZLENBQUNILEVBQUUsR0FBRyxFQUFOLEVBQVVDLEVBQVYsRUFBYyxHQUFkLENBQXhCO0FBQ0Q7O0FBRUQsVUFBSUYsU0FBUyxLQUFLLElBQWxCLEVBQXdCO0FBQ3RCRyxRQUFBQSxTQUFTLEdBQUdDLFlBQVksQ0FBQ0gsRUFBRCxFQUFLQyxFQUFFLEdBQUcsRUFBVixFQUFjLEVBQWQsQ0FBeEI7QUFDRDs7QUFFRCxVQUFJRixTQUFTLEtBQUssTUFBbEIsRUFBMEI7QUFDeEJHLFFBQUFBLFNBQVMsR0FBR0MsWUFBWSxDQUFDSCxFQUFELEVBQUtDLEVBQUUsR0FBRyxFQUFWLEVBQWMsR0FBZCxDQUF4QjtBQUNEOztBQUVELDBCQUFPO0FBQU0sUUFBQSxDQUFDLEVBQUMsdUJBQVI7QUFBZ0MsUUFBQSxTQUFTLEVBQUVDLFNBQTNDO0FBQXNELFFBQUEsU0FBUyxFQUFFSjtBQUFqRSxRQUFQO0FBQ0Q7OztFQTlCd0JPLGtCQUFNQyxTOzs7QUFpQ2pDZixLQUFLLENBQUNnQixTQUFOLEdBQWtCO0FBQ2hCYixFQUFBQSxDQUFDLEVBQUVjLHNCQUFVQyxNQURHO0FBRWhCaEIsRUFBQUEsQ0FBQyxFQUFFZSxzQkFBVUMsTUFGRztBQUdoQlYsRUFBQUEsU0FBUyxFQUFFUyxzQkFBVUUsS0FBVixDQUFnQixDQUFDLE1BQUQsRUFBUyxPQUFULEVBQWtCLElBQWxCLEVBQXdCLE1BQXhCLENBQWhCLENBSEs7QUFJaEJmLEVBQUFBLE9BQU8sRUFBRWEsc0JBQVVHLE1BQVYsQ0FBaUJDLFVBSlY7QUFLaEJoQixFQUFBQSxTQUFTLEVBQUVZLHNCQUFVSyxNQUxMO0FBTWhCaEIsRUFBQUEsS0FBSyxFQUFFaUIsWUFBTUMsU0FBTixDQUFnQkg7QUFOUCxDQUFsQjtBQVNBckIsS0FBSyxDQUFDeUIsWUFBTixHQUFxQjtBQUNuQnRCLEVBQUFBLENBQUMsRUFBRSxDQURnQjtBQUVuQkQsRUFBQUEsQ0FBQyxFQUFFLENBRmdCO0FBR25CTSxFQUFBQSxTQUFTLEVBQUU7QUFIUSxDQUFyQjs7ZUFNZSx3QkFBV2YsS0FBWCxFQUFrQk8sS0FBbEIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcblxuY29uc3Qgc3R5bGUgPSAodGhlbWUpID0+ICh7XG4gIHJvb3Q6IHtcbiAgICBmaWxsOiBgdmFyKC0tYXJyb3ctY29sb3IsICR7dGhlbWUucGFsZXR0ZS5jb21tb24uYmxhY2t9KWAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNsYXNzIEFycm93IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgeCwgeSwgY2xhc3NlcywgY2xhc3NOYW1lLCBzY2FsZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuYW1lcyA9IGNsYXNzTmFtZXMoY2xhc3Nlcy5yb290LCBjbGFzc05hbWUpO1xuICAgIGxldCBkaXJlY3Rpb24gPSB0aGlzLnByb3BzLmRpcmVjdGlvbiB8fCAnbGVmdCc7XG5cbiAgICBjb25zdCB4diA9IHNjYWxlLngoeCk7XG4gICAgY29uc3QgeXYgPSBzY2FsZS55KHkpO1xuXG4gICAgbGV0IHRyYW5zZm9ybSA9ICcnO1xuXG4gICAgY29uc3QgZ2V0VHJhbnNmb3JtID0gKHgsIHksIHJvdGF0ZSkgPT4gYHRyYW5zbGF0ZSgke3h9LCAke3l9KSByb3RhdGUoJHtyb3RhdGV9KWA7XG5cbiAgICBpZiAoZGlyZWN0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgIHRyYW5zZm9ybSA9IGdldFRyYW5zZm9ybSh4diAtIDE1LCB5diwgMCk7XG4gICAgfVxuXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgdHJhbnNmb3JtID0gZ2V0VHJhbnNmb3JtKHh2ICsgMTUsIHl2LCAxODApO1xuICAgIH1cblxuICAgIGlmIChkaXJlY3Rpb24gPT09ICd1cCcpIHtcbiAgICAgIHRyYW5zZm9ybSA9IGdldFRyYW5zZm9ybSh4diwgeXYgLSAxNSwgOTApO1xuICAgIH1cblxuICAgIGlmIChkaXJlY3Rpb24gPT09ICdkb3duJykge1xuICAgICAgdHJhbnNmb3JtID0gZ2V0VHJhbnNmb3JtKHh2LCB5diArIDE1LCAyNzApO1xuICAgIH1cblxuICAgIHJldHVybiA8cGF0aCBkPVwibSAwLDAgOCwtNSAwLDEwIC04LC01XCIgdHJhbnNmb3JtPXt0cmFuc2Zvcm19IGNsYXNzTmFtZT17bmFtZXN9IC8+O1xuICB9XG59XG5cbkFycm93LnByb3BUeXBlcyA9IHtcbiAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgeDogUHJvcFR5cGVzLm51bWJlcixcbiAgZGlyZWN0aW9uOiBQcm9wVHlwZXMub25lT2YoWydsZWZ0JywgJ3JpZ2h0JywgJ3VwJywgJ2Rvd24nXSksXG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzY2FsZTogdHlwZXMuU2NhbGVUeXBlLmlzUmVxdWlyZWQsXG59O1xuXG5BcnJvdy5kZWZhdWx0UHJvcHMgPSB7XG4gIHk6IDAsXG4gIHg6IDAsXG4gIGRpcmVjdGlvbjogJ2xlZnQnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZSkoQXJyb3cpO1xuIl19
|