@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.
Files changed (151) hide show
  1. package/CHANGELOG.json +1 -0
  2. package/CHANGELOG.md +16 -0
  3. package/LICENSE.md +5 -0
  4. package/NEXT.CHANGELOG.json +1 -0
  5. package/lib/__tests__/graph-with-controls.test.js +191 -0
  6. package/lib/__tests__/graph.test.js +290 -0
  7. package/lib/__tests__/grid.test.js +40 -0
  8. package/lib/__tests__/labels.test.js +59 -0
  9. package/lib/__tests__/mark-label.test.js +154 -0
  10. package/lib/__tests__/toggle-bar.test.js +54 -0
  11. package/lib/__tests__/tool-menu.test.js +43 -0
  12. package/lib/__tests__/undo-redo.test.js +42 -0
  13. package/lib/__tests__/use-debounce.test.js +28 -0
  14. package/lib/__tests__/utils.js +72 -0
  15. package/lib/__tests__/utils.test.js +133 -0
  16. package/lib/axis/__tests__/arrow.test.js +68 -0
  17. package/lib/axis/__tests__/axes.test.js +214 -0
  18. package/lib/axis/arrow.js +115 -0
  19. package/lib/axis/axes.js +415 -0
  20. package/lib/axis/index.js +26 -0
  21. package/lib/bg.js +139 -0
  22. package/lib/container/actions.js +24 -0
  23. package/lib/container/index.js +166 -0
  24. package/lib/container/marks.js +27 -0
  25. package/lib/container/middleware.js +25 -0
  26. package/lib/container/reducer.js +25 -0
  27. package/lib/coordinates-label.js +109 -0
  28. package/lib/graph-with-controls.js +372 -0
  29. package/lib/graph.js +419 -0
  30. package/lib/grid-setup.js +462 -0
  31. package/lib/grid.js +176 -0
  32. package/lib/index.js +51 -0
  33. package/lib/labels.js +299 -0
  34. package/lib/mark-label.js +208 -0
  35. package/lib/toggle-bar.js +336 -0
  36. package/lib/tool-menu.js +325 -0
  37. package/lib/tools/index.js +29 -0
  38. package/lib/tools/line/__tests__/component.test.js +56 -0
  39. package/lib/tools/line/component.js +106 -0
  40. package/lib/tools/line/index.js +16 -0
  41. package/lib/tools/polygon/__tests__/component.test.js +245 -0
  42. package/lib/tools/polygon/__tests__/index.test.js +95 -0
  43. package/lib/tools/polygon/__tests__/line.test.js +43 -0
  44. package/lib/tools/polygon/__tests__/polygon.test.js +73 -0
  45. package/lib/tools/polygon/component.js +457 -0
  46. package/lib/tools/polygon/index.js +106 -0
  47. package/lib/tools/polygon/line.js +151 -0
  48. package/lib/tools/polygon/polygon.js +171 -0
  49. package/lib/tools/shared/__tests__/arrow-head.test.js +62 -0
  50. package/lib/tools/shared/arrow-head.js +75 -0
  51. package/lib/tools/shared/line/__tests__/index.test.js +291 -0
  52. package/lib/tools/shared/line/__tests__/line-path.test.js +78 -0
  53. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +122 -0
  54. package/lib/tools/shared/line/index.js +637 -0
  55. package/lib/tools/shared/line/line-path.js +145 -0
  56. package/lib/tools/shared/line/with-root-edge.js +155 -0
  57. package/lib/tools/shared/point/__tests__/arrow-point.test.js +137 -0
  58. package/lib/tools/shared/point/__tests__/base-point.test.js +134 -0
  59. package/lib/tools/shared/point/arrow-point.js +113 -0
  60. package/lib/tools/shared/point/arrow.js +96 -0
  61. package/lib/tools/shared/point/base-point.js +151 -0
  62. package/lib/tools/shared/point/index.js +94 -0
  63. package/lib/tools/shared/styles.js +49 -0
  64. package/lib/tools/shared/types.js +19 -0
  65. package/lib/undo-redo.js +107 -0
  66. package/lib/use-debounce.js +32 -0
  67. package/lib/utils.js +314 -0
  68. package/package.json +50 -0
  69. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +114 -0
  70. package/src/__tests__/__snapshots__/graph.test.jsx.snap +213 -0
  71. package/src/__tests__/__snapshots__/grid.test.jsx.snap +54 -0
  72. package/src/__tests__/__snapshots__/labels.test.jsx.snap +30 -0
  73. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +37 -0
  74. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +7 -0
  75. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +35 -0
  76. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +15 -0
  77. package/src/__tests__/graph-with-controls.test.jsx +131 -0
  78. package/src/__tests__/graph.test.jsx +230 -0
  79. package/src/__tests__/grid.test.jsx +20 -0
  80. package/src/__tests__/labels.test.jsx +38 -0
  81. package/src/__tests__/mark-label.test.jsx +68 -0
  82. package/src/__tests__/toggle-bar.test.jsx +36 -0
  83. package/src/__tests__/tool-menu.test.jsx +29 -0
  84. package/src/__tests__/undo-redo.test.jsx +25 -0
  85. package/src/__tests__/use-debounce.test.js +21 -0
  86. package/src/__tests__/utils.js +38 -0
  87. package/src/__tests__/utils.test.js +151 -0
  88. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +33 -0
  89. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +122 -0
  90. package/src/axis/__tests__/arrow.test.jsx +39 -0
  91. package/src/axis/__tests__/axes.test.jsx +220 -0
  92. package/src/axis/arrow.jsx +62 -0
  93. package/src/axis/axes.jsx +307 -0
  94. package/src/axis/index.js +2 -0
  95. package/src/bg.jsx +96 -0
  96. package/src/container/actions.js +8 -0
  97. package/src/container/index.jsx +86 -0
  98. package/src/container/marks.js +14 -0
  99. package/src/container/middleware.js +7 -0
  100. package/src/container/reducer.js +5 -0
  101. package/src/coordinates-label.jsx +73 -0
  102. package/src/graph-with-controls.jsx +263 -0
  103. package/src/graph.jsx +334 -0
  104. package/src/grid-setup.jsx +427 -0
  105. package/src/grid.jsx +135 -0
  106. package/src/index.js +7 -0
  107. package/src/labels.jsx +214 -0
  108. package/src/mark-label.jsx +136 -0
  109. package/src/toggle-bar.jsx +242 -0
  110. package/src/tool-menu.jsx +294 -0
  111. package/src/tools/index.js +8 -0
  112. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +20 -0
  113. package/src/tools/line/__tests__/component.test.jsx +36 -0
  114. package/src/tools/line/component.jsx +77 -0
  115. package/src/tools/line/index.js +4 -0
  116. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +94 -0
  117. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +44 -0
  118. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +53 -0
  119. package/src/tools/polygon/__tests__/component.test.jsx +214 -0
  120. package/src/tools/polygon/__tests__/index.test.js +65 -0
  121. package/src/tools/polygon/__tests__/line.test.jsx +25 -0
  122. package/src/tools/polygon/__tests__/polygon.test.jsx +44 -0
  123. package/src/tools/polygon/component.jsx +336 -0
  124. package/src/tools/polygon/index.js +52 -0
  125. package/src/tools/polygon/line.jsx +78 -0
  126. package/src/tools/polygon/polygon.jsx +101 -0
  127. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +32 -0
  128. package/src/tools/shared/__tests__/arrow-head.test.jsx +34 -0
  129. package/src/tools/shared/arrow-head.jsx +46 -0
  130. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +360 -0
  131. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +57 -0
  132. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +63 -0
  133. package/src/tools/shared/line/__tests__/index.test.jsx +247 -0
  134. package/src/tools/shared/line/__tests__/line-path.test.jsx +53 -0
  135. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +73 -0
  136. package/src/tools/shared/line/index.jsx +473 -0
  137. package/src/tools/shared/line/line-path.jsx +88 -0
  138. package/src/tools/shared/line/with-root-edge.jsx +97 -0
  139. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +55 -0
  140. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +43 -0
  141. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +87 -0
  142. package/src/tools/shared/point/__tests__/base-point.test.jsx +84 -0
  143. package/src/tools/shared/point/arrow-point.jsx +60 -0
  144. package/src/tools/shared/point/arrow.jsx +40 -0
  145. package/src/tools/shared/point/base-point.jsx +86 -0
  146. package/src/tools/shared/point/index.jsx +60 -0
  147. package/src/tools/shared/styles.js +20 -0
  148. package/src/tools/shared/types.js +8 -0
  149. package/src/undo-redo.jsx +47 -0
  150. package/src/use-debounce.js +13 -0
  151. package/src/utils.js +234 -0
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.RawLinePath = exports.LinePath = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
28
+ var _react = _interopRequireDefault(require("react"));
29
+
30
+ var _propTypes = _interopRequireDefault(require("prop-types"));
31
+
32
+ var _styles = require("@material-ui/core/styles");
33
+
34
+ var _plot = require("@pie-lib/plot");
35
+
36
+ var _classnames = _interopRequireDefault(require("classnames"));
37
+
38
+ var _styles2 = require("../styles");
39
+
40
+ var vx = _interopRequireWildcard(require("@vx/shape"));
41
+
42
+ var _renderUi = require("@pie-lib/render-ui");
43
+
44
+ var _excluded = ["data", "classes", "className", "disabled", "correctness", "from", "to", "graphProps", "isDragging"];
45
+
46
+ 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); }
47
+
48
+ 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; }
49
+
50
+ 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; }
51
+
52
+ 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; }
53
+
54
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
55
+
56
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
57
+
58
+ var RawLinePath = /*#__PURE__*/function (_React$Component) {
59
+ (0, _inherits2["default"])(RawLinePath, _React$Component);
60
+
61
+ var _super = _createSuper(RawLinePath);
62
+
63
+ function RawLinePath() {
64
+ (0, _classCallCheck2["default"])(this, RawLinePath);
65
+ return _super.apply(this, arguments);
66
+ }
67
+
68
+ (0, _createClass2["default"])(RawLinePath, [{
69
+ key: "render",
70
+ value: function render() {
71
+ /* eslint-disable no-unused-vars */
72
+ var _this$props = this.props,
73
+ data = _this$props.data,
74
+ classes = _this$props.classes,
75
+ className = _this$props.className,
76
+ disabled = _this$props.disabled,
77
+ correctness = _this$props.correctness,
78
+ from = _this$props.from,
79
+ to = _this$props.to,
80
+ graphProps = _this$props.graphProps,
81
+ isDragging = _this$props.isDragging,
82
+ rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
83
+ /* eslint-enable */
84
+
85
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(vx.LinePath, (0, _extends2["default"])({
86
+ data: data,
87
+ className: (0, _classnames["default"])(classes.drawLine, disabled && classes.disabled, classes[correctness], className)
88
+ }, rest)), /*#__PURE__*/_react["default"].createElement(vx.LinePath, (0, _extends2["default"])({
89
+ data: data,
90
+ className: (0, _classnames["default"])(classes.line, isDragging && classes.dragging, disabled && classes.disabled, classes[correctness], className)
91
+ }, rest)));
92
+ }
93
+ }]);
94
+ return RawLinePath;
95
+ }(_react["default"].Component);
96
+
97
+ exports.RawLinePath = RawLinePath;
98
+ (0, _defineProperty2["default"])(RawLinePath, "propTypes", {
99
+ className: _propTypes["default"].string,
100
+ classes: _propTypes["default"].object,
101
+ data: _propTypes["default"].arrayOf(_propTypes["default"].arrayOf(_propTypes["default"].number)),
102
+ graphProps: _plot.types.GraphPropsType.isRequired,
103
+ disabled: _propTypes["default"].bool,
104
+ correctness: _propTypes["default"].string,
105
+ from: _plot.types.PointType,
106
+ to: _plot.types.PointType,
107
+ isDragging: _propTypes["default"].bool
108
+ });
109
+ (0, _defineProperty2["default"])(RawLinePath, "defaultProps", {
110
+ from: {},
111
+ to: {}
112
+ });
113
+
114
+ var dragging = function dragging() {
115
+ return {
116
+ strokeWidth: 7,
117
+ stroke: _renderUi.color.defaults.BLACK
118
+ };
119
+ };
120
+
121
+ var LinePath = (0, _styles.withStyles)(function (theme) {
122
+ return {
123
+ drawLine: {
124
+ fill: 'none',
125
+ strokeWidth: 2,
126
+ stroke: _renderUi.color.secondaryLight()
127
+ },
128
+ line: {
129
+ strokeWidth: 6,
130
+ fill: 'none',
131
+ transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',
132
+ stroke: 'transparent',
133
+ '&:hover': dragging(theme)
134
+ },
135
+ dragging: dragging(theme),
136
+ disabled: _objectSpread(_objectSpread({}, (0, _styles2.disabled)('stroke')), {}, {
137
+ strokeWidth: 2
138
+ }),
139
+ correct: _objectSpread({}, (0, _styles2.correct)('stroke')),
140
+ incorrect: _objectSpread({}, (0, _styles2.incorrect)('stroke')),
141
+ missing: _objectSpread({}, (0, _styles2.missing)('stroke'))
142
+ };
143
+ })(RawLinePath);
144
+ exports.LinePath = LinePath;
145
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9zaGFyZWQvbGluZS9saW5lLXBhdGguanN4Il0sIm5hbWVzIjpbIlJhd0xpbmVQYXRoIiwicHJvcHMiLCJkYXRhIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImRpc2FibGVkIiwiY29ycmVjdG5lc3MiLCJmcm9tIiwidG8iLCJncmFwaFByb3BzIiwiaXNEcmFnZ2luZyIsInJlc3QiLCJkcmF3TGluZSIsImxpbmUiLCJkcmFnZ2luZyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiYXJyYXlPZiIsIm51bWJlciIsInR5cGVzIiwiR3JhcGhQcm9wc1R5cGUiLCJpc1JlcXVpcmVkIiwiYm9vbCIsIlBvaW50VHlwZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwiY29sb3IiLCJkZWZhdWx0cyIsIkJMQUNLIiwiTGluZVBhdGgiLCJ0aGVtZSIsImZpbGwiLCJzZWNvbmRhcnlMaWdodCIsInRyYW5zaXRpb24iLCJjb3JyZWN0IiwiaW5jb3JyZWN0IiwibWlzc2luZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFYUEsVzs7Ozs7Ozs7Ozs7O1dBa0JYLGtCQUFTO0FBQ1A7QUFDQSx3QkFBdUcsS0FBS0MsS0FBNUc7QUFBQSxVQUFRQyxJQUFSLGVBQVFBLElBQVI7QUFBQSxVQUFjQyxPQUFkLGVBQWNBLE9BQWQ7QUFBQSxVQUF1QkMsU0FBdkIsZUFBdUJBLFNBQXZCO0FBQUEsVUFBa0NDLFFBQWxDLGVBQWtDQSxRQUFsQztBQUFBLFVBQTRDQyxXQUE1QyxlQUE0Q0EsV0FBNUM7QUFBQSxVQUF5REMsSUFBekQsZUFBeURBLElBQXpEO0FBQUEsVUFBK0RDLEVBQS9ELGVBQStEQSxFQUEvRDtBQUFBLFVBQW1FQyxVQUFuRSxlQUFtRUEsVUFBbkU7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QWpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IHR5cGVzIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IGRpc2FibGVkLCBjb3JyZWN0LCBpbmNvcnJlY3QsIG1pc3NpbmcgfSBmcm9tICcuLi9zdHlsZXMnO1xuaW1wb3J0ICogYXMgdnggZnJvbSAnQHZ4L3NoYXBlJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcblxuZXhwb3J0IGNsYXNzIFJhd0xpbmVQYXRoIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkYXRhOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMubnVtYmVyKSksXG4gICAgZ3JhcGhQcm9wczogdHlwZXMuR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY29ycmVjdG5lc3M6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZnJvbTogdHlwZXMuUG9pbnRUeXBlLFxuICAgIHRvOiB0eXBlcy5Qb2ludFR5cGUsXG4gICAgaXNEcmFnZ2luZzogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBmcm9tOiB7fSxcbiAgICB0bzoge30sXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4gICAgY29uc3QgeyBkYXRhLCBjbGFzc2VzLCBjbGFzc05hbWUsIGRpc2FibGVkLCBjb3JyZWN0bmVzcywgZnJvbSwgdG8sIGdyYXBoUHJvcHMsIGlzRHJhZ2dpbmcsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHM7XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgPHZ4LkxpbmVQYXRoXG4gICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5kcmF3TGluZSwgZGlzYWJsZWQgJiYgY2xhc3Nlcy5kaXNhYmxlZCwgY2xhc3Nlc1tjb3JyZWN0bmVzc10sIGNsYXNzTmFtZSl9XG4gICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgIC8+XG4gICAgICAgIDx2eC5MaW5lUGF0aFxuICAgICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgICAgY2xhc3Nlcy5saW5lLFxuICAgICAgICAgICAgaXNEcmFnZ2luZyAmJiBjbGFzc2VzLmRyYWdnaW5nLFxuICAgICAgICAgICAgZGlzYWJsZWQgJiYgY2xhc3Nlcy5kaXNhYmxlZCxcbiAgICAgICAgICAgIGNsYXNzZXNbY29ycmVjdG5lc3NdLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICl9XG4gICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgIC8+XG4gICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgZHJhZ2dpbmcgPSAoKSA9PiAoe1xuICBzdHJva2VXaWR0aDogNyxcbiAgc3Ryb2tlOiBjb2xvci5kZWZhdWx0cy5CTEFDSyxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGluZVBhdGggPSB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgZHJhd0xpbmU6IHtcbiAgICBmaWxsOiAnbm9uZScsXG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgc3Ryb2tlOiBjb2xvci5zZWNvbmRhcnlMaWdodCgpLFxuICB9LFxuICBsaW5lOiB7XG4gICAgc3Ryb2tlV2lkdGg6IDYsXG4gICAgZmlsbDogJ25vbmUnLFxuICAgIHRyYW5zaXRpb246ICdzdHJva2Utd2lkdGggMjAwbXMgZWFzZS1pbiwgc3Ryb2tlIDIwMG1zIGVhc2UtaW4nLFxuICAgIHN0cm9rZTogJ3RyYW5zcGFyZW50JyxcbiAgICAnJjpob3Zlcic6IGRyYWdnaW5nKHRoZW1lKSxcbiAgfSxcbiAgZHJhZ2dpbmc6IGRyYWdnaW5nKHRoZW1lKSxcbiAgZGlzYWJsZWQ6IHtcbiAgICAuLi5kaXNhYmxlZCgnc3Ryb2tlJyksXG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gIH0sXG4gIGNvcnJlY3Q6IHtcbiAgICAuLi5jb3JyZWN0KCdzdHJva2UnKSxcbiAgfSxcbiAgaW5jb3JyZWN0OiB7XG4gICAgLi4uaW5jb3JyZWN0KCdzdHJva2UnKSxcbiAgfSxcbiAgbWlzc2luZzoge1xuICAgIC4uLm1pc3NpbmcoJ3N0cm9rZScpLFxuICB9LFxufSkpKFJhd0xpbmVQYXRoKTtcbiJdfQ==
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.withRootEdge = exports.rootEdgeToFromToWrapper = exports.rootEdgeComponent = void 0;
9
+
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var _plot = require("@pie-lib/plot");
21
+
22
+ var _linePath = require("./line-path");
23
+
24
+ var _curve = require("@vx/curve");
25
+
26
+ var _index = require("./index");
27
+
28
+ var _excluded = ["graphProps", "from", "to", "onClick", "onDragStart", "onDragStop", "onChange", "disabled", "correctness"];
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ var toRootEdge = function toRootEdge(m) {
35
+ var out = _objectSpread({}, m);
36
+
37
+ out.root = _objectSpread({}, m.from);
38
+ out.edge = m.to ? _objectSpread({}, m.to) : undefined;
39
+ delete out.from;
40
+ delete out.to;
41
+ return out;
42
+ };
43
+
44
+ var toFromTo = function toFromTo(m) {
45
+ var out = _objectSpread({}, m);
46
+
47
+ out.from = _objectSpread({}, m.root);
48
+ out.to = m.edge ? _objectSpread({}, m.edge) : undefined;
49
+ delete out.root;
50
+ delete out.edge;
51
+ return out;
52
+ };
53
+
54
+ var rootEdgeToFromToWrapper = function rootEdgeToFromToWrapper(BaseComp) {
55
+ var Wrapper = function Wrapper(props) {
56
+ var m = toFromTo(props.mark);
57
+
58
+ var onChange = function onChange(current, next) {
59
+ props.onChange(toRootEdge(current), toRootEdge(next));
60
+ };
61
+
62
+ return /*#__PURE__*/_react["default"].createElement(BaseComp, (0, _extends2["default"])({}, props, {
63
+ mark: m,
64
+ onChange: onChange
65
+ }));
66
+ };
67
+
68
+ Wrapper.propTypes = {
69
+ onChange: _propTypes["default"].func,
70
+ mark: _propTypes["default"].object
71
+ };
72
+ return Wrapper;
73
+ };
74
+
75
+ exports.rootEdgeToFromToWrapper = rootEdgeToFromToWrapper;
76
+
77
+ var rootEdgeComponent = function rootEdgeComponent(RootEdgeComp) {
78
+ var BaseComponent = (0, _index.lineToolComponent)(RootEdgeComp);
79
+ return rootEdgeToFromToWrapper(BaseComponent);
80
+ };
81
+
82
+ exports.rootEdgeComponent = rootEdgeComponent;
83
+
84
+ var withPointsGenerationLinePath = function withPointsGenerationLinePath(getPoints) {
85
+ var LinePathComponent = function LinePathComponent(props) {
86
+ var graphProps = props.graphProps,
87
+ from = props.from,
88
+ to = props.to,
89
+ onClick = props.onClick,
90
+ onDragStart = props.onDragStart,
91
+ onDragStop = props.onDragStop,
92
+ onChange = props.onChange,
93
+ disabled = props.disabled,
94
+ correctness = props.correctness,
95
+ rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
96
+
97
+ var _getPoints = getPoints({
98
+ graphProps: props.graphProps,
99
+ root: from,
100
+ edge: to
101
+ }),
102
+ dataPoints = _getPoints.dataPoints,
103
+ _getPoints$enableCurv = _getPoints.enableCurve,
104
+ enableCurve = _getPoints$enableCurv === void 0 ? true : _getPoints$enableCurv;
105
+
106
+ var raw = dataPoints.map(function (d) {
107
+ return [graphProps.scale.x(d.x), graphProps.scale.y(d.y)];
108
+ });
109
+ var common = {
110
+ onClick: onClick,
111
+ graphProps: graphProps,
112
+ onDragStart: onDragStart,
113
+ onDragStop: onDragStop,
114
+ onChange: onChange,
115
+ disabled: disabled,
116
+ correctness: correctness
117
+ };
118
+
119
+ if (!enableCurve) {
120
+ return /*#__PURE__*/_react["default"].createElement(_linePath.LinePath, (0, _extends2["default"])({
121
+ data: raw,
122
+ from: from,
123
+ to: to
124
+ }, common, rest));
125
+ } else {
126
+ return /*#__PURE__*/_react["default"].createElement(_linePath.LinePath, (0, _extends2["default"])({
127
+ data: raw,
128
+ from: from,
129
+ to: to,
130
+ curve: _curve.curveMonotoneX
131
+ }, common, rest));
132
+ }
133
+ };
134
+
135
+ LinePathComponent.propTypes = {
136
+ graphProps: _plot.types.GraphPropsType.isRequired,
137
+ from: _plot.types.PointType.isRequired,
138
+ to: _plot.types.PointType,
139
+ onClick: _propTypes["default"].func,
140
+ onDragStart: _propTypes["default"].func,
141
+ onDragStop: _propTypes["default"].func,
142
+ onChange: _propTypes["default"].func,
143
+ disabled: _propTypes["default"].bool,
144
+ correctness: _propTypes["default"].string
145
+ };
146
+ return LinePathComponent;
147
+ };
148
+
149
+ var withRootEdge = function withRootEdge(getPoints) {
150
+ var LinePathComp = withPointsGenerationLinePath(getPoints);
151
+ return (0, _index.lineBase)(LinePathComp);
152
+ };
153
+
154
+ exports.withRootEdge = withRootEdge;
155
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9zaGFyZWQvbGluZS93aXRoLXJvb3QtZWRnZS5qc3giXSwibmFtZXMiOlsidG9Sb290RWRnZSIsIm0iLCJvdXQiLCJyb290IiwiZnJvbSIsImVkZ2UiLCJ0byIsInVuZGVmaW5lZCIsInRvRnJvbVRvIiwicm9vdEVkZ2VUb0Zyb21Ub1dyYXBwZXIiLCJCYXNlQ29tcCIsIldyYXBwZXIiLCJwcm9wcyIsIm1hcmsiLCJvbkNoYW5nZSIsImN1cnJlbnQiLCJuZXh0IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiZnVuYyIsIm9iamVjdCIsInJvb3RFZGdlQ29tcG9uZW50IiwiUm9vdEVkZ2VDb21wIiwiQmFzZUNvbXBvbmVudCIsIndpdGhQb2ludHNHZW5lcmF0aW9uTGluZVBhdGgiLCJnZXRQb2ludHMiLCJMaW5lUGF0aENvbXBvbmVudCIsImdyYXBoUHJvcHMiLCJvbkNsaWNrIiwib25EcmFnU3RhcnQiLCJvbkRyYWdTdG9wIiwiZGlzYWJsZWQiLCJjb3JyZWN0bmVzcyIsInJlc3QiLCJkYXRhUG9pbnRzIiwiZW5hYmxlQ3VydmUiLCJyYXciLCJtYXAiLCJkIiwic2NhbGUiLCJ4IiwieSIsImNvbW1vbiIsImN1cnZlTW9ub3RvbmVYIiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJQb2ludFR5cGUiLCJib29sIiwic3RyaW5nIiwid2l0aFJvb3RFZGdlIiwiTGluZVBhdGhDb21wIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxDQUFELEVBQU87QUFDeEIsTUFBTUMsR0FBRyxxQkFBUUQsQ0FBUixDQUFUOztBQUNBQyxFQUFBQSxHQUFHLENBQUNDLElBQUoscUJBQWdCRixDQUFDLENBQUNHLElBQWxCO0FBQ0FGLEVBQUFBLEdBQUcsQ0FBQ0csSUFB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LEVBQVA7QUFDRDtBQUNGLEdBMUJEOztBQTRCQVAsRUFBQUEsaUJBQWlCLENBQUNULFNBQWxCLEdBQThCO0FBQzVCVSxJQUFBQSxVQUFVLEVBQUVpQixZQUFNQyxjQUFOLENBQXFCQyxVQURMO0FBRTVCMUMsSUFBQUEsSUFBSSxFQUFFd0MsWUFBTUcsU0FBTixDQUFnQkQsVUFGTTtBQUc1QnhDLElBQUFBLEVBQUUsRUFBRXNDLFlBQU1HLFNBSGtCO0FBSTVCbkIsSUFBQUEsT0FBTyxFQUFFVixzQkFBVUMsSUFKUztBQUs1QlUsSUFBQUEsV0FBVyxFQUFFWCxzQkFBVUMsSUFMSztBQU01QlcsSUFBQUEsVUFBVSxFQUFFWixzQkFBVUMsSUFOTTtBQU81QkwsSUFBQUEsUUFBUSxFQUFFSSxzQkFBVUMsSUFQUTtBQVE1QlksSUFBQUEsUUFBUSxFQUFFYixzQkFBVThCLElBUlE7QUFTNUJoQixJQUFBQSxXQUFXLEVBQUVkLHNCQUFVK0I7QUFUSyxHQUE5QjtBQVlBLFNBQU92QixpQkFBUDtBQUNELENBMUNEOztBQTRDTyxJQUFNd0IsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ3pCLFNBQUQsRUFBZTtBQUN6QyxNQUFNMEIsWUFBWSxHQUFHM0IsNEJBQTRCLENBQUNDLFNBQUQsQ0FBakQ7QUFDQSxTQUFPLHFCQUFTMEIsWUFBVCxDQUFQO0FBQ0QsQ0FITSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcbmltcG9ydCB7IExpbmVQYXRoIH0gZnJvbSAnLi9saW5lLXBhdGgnO1xuaW1wb3J0IHsgY3VydmVNb25vdG9uZVggfSBmcm9tICdAdngvY3VydmUnO1xuaW1wb3J0IHsgbGluZUJhc2UsIGxpbmVUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9pbmRleCc7XG5cbmNvbnN0IHRvUm9vdEVkZ2UgPSAobSkgPT4ge1xuICBjb25zdCBvdXQgPSB7IC4uLm0gfTtcbiAgb3V0LnJvb3QgPSB7IC4uLm0uZnJvbSB9O1xuICBvdXQuZWRnZSA9IG0udG8gPyB7IC4uLm0udG8gfSA6IHVuZGVmaW5lZDtcbiAgZGVsZXRlIG91dC5mcm9tO1xuICBkZWxldGUgb3V0LnRvO1xuICByZXR1cm4gb3V0O1xufTtcblxuY29uc3QgdG9Gcm9tVG8gPSAobSkgPT4ge1xuICBjb25zdCBvdXQgPSB7IC4uLm0gfTtcbiAgb3V0LmZyb20gPSB7IC4uLm0ucm9vdCB9O1xuICBvdXQudG8gPSBtLmVkZ2UgPyB7IC4uLm0uZWRnZSB9IDogdW5kZWZpbmVkO1xuICBkZWxldGUgb3V0LnJvb3Q7XG4gIGRlbGV0ZSBvdXQuZWRnZTtcbiAgcmV0dXJuIG91dDtcbn07XG5cbmV4cG9ydCBjb25zdCByb290RWRnZVRvRnJvbVRvV3JhcHBlciA9IChCYXNlQ29tcCkgPT4ge1xuICBjb25zdCBXcmFwcGVyID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgbSA9IHRvRnJvbVRvKHByb3BzLm1hcmspO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSAoY3VycmVudCwgbmV4dCkgPT4ge1xuICAgICAgcHJvcHMub25DaGFuZ2UodG9Sb290RWRnZShjdXJyZW50KSwgdG9Sb290RWRnZShuZXh0KSk7XG4gICAgfTtcblxuICAgIHJldHVybiA8QmFzZUNvbXAgey4uLnByb3BzfSBtYXJrPXttfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+O1xuICB9O1xuXG4gIFdyYXBwZXIucHJvcFR5cGVzID0ge1xuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBtYXJrOiBQcm9wVHlwZXMub2JqZWN0LFxuICB9O1xuXG4gIHJldHVybiBXcmFwcGVyO1xufTtcblxuZXhwb3J0IGNvbnN0IHJvb3RFZGdlQ29tcG9uZW50ID0gKFJvb3RFZGdlQ29tcCkgPT4ge1xuICBjb25zdCBCYXNlQ29tcG9uZW50ID0gbGluZVRvb2xDb21wb25lbnQoUm9vdEVkZ2VDb21wKTtcbiAgcmV0dXJuIHJvb3RFZGdlVG9Gcm9tVG9XcmFwcGVyKEJhc2VDb21wb25lbnQpO1xufTtcblxuY29uc3Qgd2l0aFBvaW50c0dlbmVyYXRpb25MaW5lUGF0aCA9IChnZXRQb2ludHMpID0+IHtcbiAgY29uc3QgTGluZVBhdGhDb21wb25lbnQgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGdyYXBoUHJvcHMsIGZyb20sIHRvLCBvbkNsaWNrLCBvbkRyYWdTdGFydCwgb25EcmFnU3RvcCwgb25DaGFuZ2UsIGRpc2FibGVkLCBjb3JyZWN0bmVzcywgLi4ucmVzdCB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCB7IGRhdGFQb2ludHMsIGVuYWJsZUN1cnZlID0gdHJ1ZSB9ID0gZ2V0UG9pbnRzKHtcbiAgICAgIGdyYXBoUHJvcHM6IHByb3BzLmdyYXBoUHJvcHMsXG4gICAgICByb290OiBmcm9tLFxuICAgICAgZWRnZTogdG8sXG4gICAgfSk7XG5cbiAgICBjb25zdCByYXcgPSBkYXRhUG9pbnRzLm1hcCgoZCkgPT4gW2dyYXBoUHJvcHMuc2NhbGUueChkLngpLCBncmFwaFByb3BzLnNjYWxlLnkoZC55KV0pO1xuXG4gICAgY29uc3QgY29tbW9uID0ge1xuICAgICAgb25DbGljayxcbiAgICAgIGdyYXBoUHJvcHMsXG4gICAgICBvbkRyYWdTdGFydCxcbiAgICAgIG9uRHJhZ1N0b3AsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY29ycmVjdG5lc3MsXG4gICAgfTtcblxuICAgIGlmICghZW5hYmxlQ3VydmUpIHtcbiAgICAgIHJldHVybiA8TGluZVBhdGggZGF0YT17cmF3fSBmcm9tPXtmcm9tfSB0bz17dG99IHsuLi5jb21tb259IHsuLi5yZXN0fSAvPjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDxMaW5lUGF0aCBkYXRhPXtyYXd9IGZyb209e2Zyb219IHRvPXt0b30gY3VydmU9e2N1cnZlTW9ub3RvbmVYfSB7Li4uY29tbW9ufSB7Li4ucmVzdH0gLz47XG4gICAgfVxuICB9O1xuXG4gIExpbmVQYXRoQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICAgIGZyb206IHR5cGVzLlBvaW50VHlwZS5pc1JlcXVpcmVkLFxuICAgIHRvOiB0eXBlcy5Qb2ludFR5cGUsXG4gICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EcmFnU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uRHJhZ1N0b3A6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY29ycmVjdG5lc3M6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgcmV0dXJuIExpbmVQYXRoQ29tcG9uZW50O1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhSb290RWRnZSA9IChnZXRQb2ludHMpID0+IHtcbiAgY29uc3QgTGluZVBhdGhDb21wID0gd2l0aFBvaW50c0dlbmVyYXRpb25MaW5lUGF0aChnZXRQb2ludHMpO1xuICByZXR1cm4gbGluZUJhc2UoTGluZVBhdGhDb21wKTtcbn07XG4iXX0=
@@ -0,0 +1,137 @@
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 _build = require("enzyme/build");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _index = require("../index");
12
+
13
+ var _utils = require("../../../../__tests__/utils");
14
+
15
+ var _utils2 = require("../../../../utils");
16
+
17
+ var _plot = require("@pie-lib/plot");
18
+
19
+ 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; }
20
+
21
+ 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; }
22
+
23
+ var xy = _plot.utils.xy;
24
+ jest.mock('../../../../utils', function () {
25
+ var _jest$requireActual = jest.requireActual('../../../../utils'),
26
+ point = _jest$requireActual.point;
27
+
28
+ return {
29
+ bounds: jest.fn(),
30
+ point: point
31
+ };
32
+ });
33
+ jest.mock('@pie-lib/plot/index', function () {
34
+ var _jest$requireActual2 = jest.requireActual('@pie-lib/plot/index'),
35
+ types = _jest$requireActual2.types,
36
+ utils = _jest$requireActual2.utils;
37
+
38
+ return {
39
+ gridDraggable: jest.fn(function (opts) {
40
+ return function (Comp) {
41
+ return Comp;
42
+ };
43
+ }),
44
+ types: types,
45
+ utils: utils
46
+ };
47
+ });
48
+ describe('ArrowPoint', function () {
49
+ var w;
50
+ var onChange = jest.fn();
51
+
52
+ var wrapper = function wrapper(extras) {
53
+ var defaults = {
54
+ classes: {},
55
+ className: 'className',
56
+ onChange: onChange,
57
+ graphProps: (0, _utils.graphProps)(),
58
+ from: xy(0, 0),
59
+ to: xy(1, 1)
60
+ };
61
+
62
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
63
+
64
+ return (0, _build.shallow)( /*#__PURE__*/_react["default"].createElement(_index.ArrowPoint, props));
65
+ };
66
+
67
+ describe('snapshot', function () {
68
+ it('renders', function () {
69
+ w = wrapper();
70
+ expect(w).toMatchSnapshot();
71
+ });
72
+ });
73
+ describe('gridDraggable options', function () {
74
+ var opts;
75
+ var domain;
76
+ var range;
77
+ beforeEach(function () {
78
+ domain = {
79
+ min: 0,
80
+ max: 1,
81
+ step: 1
82
+ };
83
+ range = {
84
+ min: 0,
85
+ max: 1,
86
+ step: 1
87
+ };
88
+ var w = wrapper();
89
+ opts = _plot.gridDraggable.mock.calls[0][0];
90
+ });
91
+ describe('bounds', function () {
92
+ it('calls utils.bounds with area', function () {
93
+ var result = opts.bounds({
94
+ x: 0,
95
+ y: 0
96
+ }, {
97
+ domain: domain,
98
+ range: range
99
+ });
100
+ expect(_utils2.bounds).toHaveBeenCalledWith({
101
+ left: 0,
102
+ top: 0,
103
+ bottom: 0,
104
+ right: 0
105
+ }, domain, range);
106
+ });
107
+ });
108
+ describe('anchorPoint', function () {
109
+ it('returns x/y', function () {
110
+ var result = opts.anchorPoint({
111
+ x: 0,
112
+ y: 0
113
+ });
114
+ expect(result).toEqual({
115
+ x: 0,
116
+ y: 0
117
+ });
118
+ });
119
+ });
120
+ describe('fromDelta', function () {
121
+ it('returns a new point from the x/y + delta', function () {
122
+ var result = opts.fromDelta({
123
+ x: -1,
124
+ y: 0
125
+ }, {
126
+ x: 1,
127
+ y: 3
128
+ });
129
+ expect(result).toEqual({
130
+ x: 0,
131
+ y: 3
132
+ });
133
+ });
134
+ });
135
+ });
136
+ });
137
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90b29scy9zaGFyZWQvcG9pbnQvX190ZXN0c19fL2Fycm93LXBvaW50LnRlc3QuanN4Il0sIm5hbWVzIjpbInh5IiwidXRpbHMiLCJqZXN0IiwibW9jayIsInJlcXVpcmVBY3R1YWwiLCJwb2ludCIsImJvdW5kcyIsImZuIiwidHlwZXMiLCJncmlkRHJhZ2dhYmxlIiwib3B0cyIsIkNvbXAiLCJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwiZnJvbSIsInRvIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImRvbWFpbiIsInJhbmdlIiwiYmVmb3JlRWFjaCIsIm1pbiIsIm1heCIsInN0ZXAiLCJjYWxscyIsInJlc3VsdCIsIngiLCJ5IiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJsZWZ0IiwidG9wIiwiYm90dG9tIiwicmlnaHQiLCJhbmNob3JQb2ludCIsInRvRXF1YWwiLCJmcm9tRGVsdGEiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFRQSxFQUFSLEdBQWVDLFdBQWYsQ0FBUUQsRUFBUjtBQUNBRSxJQUFJLENBQUNDLElBQUwsQ0FBVSxtQkFBVixFQUErQixZQUFNO0FBQ25DLDRCQUFrQkQsSUFBSSxDQUFDRSxhQUFMLENBQW1CLG1CQUFuQixDQUFsQjtBQUFBLE1BQVFDLEtBQVIsdUJBQVFBLEtBQVI7O0FBQ0EsU0FBTztBQUNMQyxJQUFBQSxNQUFNLEVBQUVKLElBQUksQ0FBQ0ssRUFBTCxFQURIO0FBRUxGLElBQUFBLEtBQUssRUFBTEE7QUFGSyxHQUFQO0FBSUQsQ0FORDtBQVFBSCxJQUFJLENBQUNDLElBQUwsQ0FBVSxxQkFBVixFQUFpQyxZQUFNO0FBQ3JDLDZCQUF5QkQsSUFBSSxDQUFDRSxh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IH0gZnJvbSAnZW56eW1lL2J1aWxkJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBcnJvd1BvaW50IH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5pbXBvcnQgeyBib3VuZHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBncmlkRHJhZ2dhYmxlLCB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuXG5jb25zdCB7IHh5IH0gPSB1dGlscztcbmplc3QubW9jaygnLi4vLi4vLi4vLi4vdXRpbHMnLCAoKSA9PiB7XG4gIGNvbnN0IHsgcG9pbnQgfSA9IGplc3QucmVxdWlyZUFjdHVhbCgnLi4vLi4vLi4vLi4vdXRpbHMnKTtcbiAgcmV0dXJuIHtcbiAgICBib3VuZHM6IGplc3QuZm4oKSxcbiAgICBwb2ludCxcbiAgfTtcbn0pO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL3Bsb3QvaW5kZXgnLCAoKSA9PiB7XG4gIGNvbnN0IHsgdHlwZXMsIHV0aWxzIH0gPSBqZXN0LnJlcXVpcmVBY3R1YWwoJ0BwaWUtbGliL3Bsb3QvaW5kZXgnKTtcbiAgcmV0dXJuIHtcbiAgICBncmlkRHJhZ2dhYmxlOiBqZXN0LmZuKChvcHRzKSA9PiAoQ29tcCkgPT4gQ29tcCksXG4gICAgdHlwZXMsXG4gICAgdXRpbHMsXG4gIH07XG59KTtcblxuZGVzY3JpYmUoJ0Fycm93UG9pbnQnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICAgIGZyb206IHh5KDAsIDApLFxuICAgICAgdG86IHh5KDEsIDEpLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8QXJyb3dQb2ludCB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2dyaWREcmFnZ2FibGUgb3B0aW9ucycsICgpID0+IHtcbiAgICBsZXQgb3B0cztcbiAgICBsZXQgZG9tYWluO1xuICAgIGxldCByYW5nZTtcbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIGRvbWFpbiA9IHtcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDEsXG4gICAgICAgIHN0ZXA6IDEsXG4gICAgICB9O1xuICAgICAgcmFuZ2UgPSB7XG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxLFxuICAgICAgICBzdGVwOiAxLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHcgPSB3cmFwcGVyKCk7XG4gICAgICBvcHRzID0gZ3JpZERyYWdnYWJsZS5tb2NrLmNhbGxzWzBdWzBdO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2JvdW5kcycsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyB1dGlscy5ib3VuZHMgd2l0aCBhcmVhJywgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBvcHRzLmJvdW5kcyh7IHg6IDAsIHk6IDAgfSwgeyBkb21haW4sIHJhbmdlIH0pO1xuICAgICAgICBleHBlY3QoYm91bmRzKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7IGxlZnQ6IDAsIHRvcDogMCwgYm90dG9tOiAwLCByaWdodDogMCB9LCBkb21haW4sIHJhbmdlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCdhbmNob3JQb2ludCcsICgpID0+IHtcbiAgICAgIGl0KCdyZXR1cm5zIHgveScsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gb3B0cy5hbmNob3JQb2ludCh7IHg6IDAsIHk6IDAgfSk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoeyB4OiAwLCB5OiAwIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZnJvbURlbHRhJywgKCkgPT4ge1xuICAgICAgaXQoJ3JldHVybnMgYSBuZXcgcG9pbnQgZnJvbSB0aGUgeC95ICsgZGVsdGEnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG9wdHMuZnJvbURlbHRhKHsgeDogLTEsIHk6IDAgfSwgeyB4OiAxLCB5OiAzIH0pO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgeDogMCwgeTogMyB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,134 @@
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 _build = require("enzyme/build");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _index = require("../index");
12
+
13
+ var _plot = require("@pie-lib/plot");
14
+
15
+ var _utils = require("../../../../__tests__/utils");
16
+
17
+ var _utils2 = require("../../../../utils");
18
+
19
+ 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; }
20
+
21
+ 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; }
22
+
23
+ jest.mock('../../../../utils', function () {
24
+ var _jest$requireActual = jest.requireActual('../../../../utils'),
25
+ point = _jest$requireActual.point;
26
+
27
+ return {
28
+ bounds: jest.fn(),
29
+ point: point
30
+ };
31
+ });
32
+ jest.mock('@pie-lib/plot/index', function () {
33
+ var _jest$requireActual2 = jest.requireActual('@pie-lib/plot/index'),
34
+ types = _jest$requireActual2.types,
35
+ utils = _jest$requireActual2.utils;
36
+
37
+ return {
38
+ gridDraggable: jest.fn(function (opts) {
39
+ return function (Comp) {
40
+ return Comp;
41
+ };
42
+ }),
43
+ types: types,
44
+ utils: utils
45
+ };
46
+ });
47
+ describe('BasePoint', function () {
48
+ var w;
49
+ var onChange = jest.fn();
50
+
51
+ var wrapper = function wrapper(extras) {
52
+ var defaults = {
53
+ classes: {},
54
+ className: 'className',
55
+ onChange: onChange,
56
+ graphProps: (0, _utils.graphProps)()
57
+ };
58
+
59
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
60
+
61
+ return (0, _build.shallow)( /*#__PURE__*/_react["default"].createElement(_index.BasePoint, props));
62
+ };
63
+
64
+ describe('snapshot', function () {
65
+ it('renders', function () {
66
+ w = wrapper();
67
+ expect(w).toMatchSnapshot();
68
+ });
69
+ });
70
+ describe('gridDraggable options', function () {
71
+ var opts;
72
+ var domain;
73
+ var range;
74
+ beforeEach(function () {
75
+ domain = {
76
+ min: 0,
77
+ max: 1,
78
+ step: 1
79
+ };
80
+ range = {
81
+ min: 0,
82
+ max: 1,
83
+ step: 1
84
+ };
85
+ var w = wrapper();
86
+ opts = _plot.gridDraggable.mock.calls[0][0];
87
+ });
88
+ describe('bounds', function () {
89
+ it('calls utils.bounds with area', function () {
90
+ var result = opts.bounds({
91
+ x: 0,
92
+ y: 0
93
+ }, {
94
+ domain: domain,
95
+ range: range
96
+ });
97
+ expect(_utils2.bounds).toHaveBeenCalledWith({
98
+ left: 0,
99
+ top: 0,
100
+ bottom: 0,
101
+ right: 0
102
+ }, domain, range);
103
+ });
104
+ });
105
+ describe('anchorPoint', function () {
106
+ it('returns x/y', function () {
107
+ var result = opts.anchorPoint({
108
+ x: 0,
109
+ y: 0
110
+ });
111
+ expect(result).toEqual({
112
+ x: 0,
113
+ y: 0
114
+ });
115
+ });
116
+ });
117
+ describe('fromDelta', function () {
118
+ it('returns a new point from the x/y + delta', function () {
119
+ var result = opts.fromDelta({
120
+ x: -1,
121
+ y: 0
122
+ }, {
123
+ x: 1,
124
+ y: 3
125
+ });
126
+ expect(result).toEqual({
127
+ x: 0,
128
+ y: 3
129
+ });
130
+ });
131
+ });
132
+ });
133
+ });
134
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90b29scy9zaGFyZWQvcG9pbnQvX190ZXN0c19fL2Jhc2UtcG9pbnQudGVzdC5qc3giXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJyZXF1aXJlQWN0dWFsIiwicG9pbnQiLCJib3VuZHMiLCJmbiIsInR5cGVzIiwidXRpbHMiLCJncmlkRHJhZ2dhYmxlIiwib3B0cyIsIkNvbXAiLCJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImRvbWFpbiIsInJhbmdlIiwiYmVmb3JlRWFjaCIsIm1pbiIsIm1heCIsInN0ZXAiLCJjYWxscyIsInJlc3VsdCIsIngiLCJ5IiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJsZWZ0IiwidG9wIiwiYm90dG9tIiwicmlnaHQiLCJhbmNob3JQb2ludCIsInRvRXF1YWwiLCJmcm9tRGVsdGEiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsbUJBQVYsRUFBK0IsWUFBTTtBQUNuQyw0QkFBa0JELElBQUksQ0FBQ0UsYUFBTCxDQUFtQixtQkFBbkIsQ0FBbEI7QUFBQSxNQUFRQyxLQUFSLHVCQUFRQSxLQUFSOztBQUNBLFNBQU87QUFDTEMsSUFBQUEsTUFBTSxFQUFFSixJQUFJLENBQUNLLEVBQUwsRUFESDtBQUVMRixJQUFBQSxLQUFLLEVBQUxBO0FBRkssR0FBUDtBQUlELENBTkQ7QUFRQUgsSUFBSSxDQUFDQyxJQUFMLENBQVUscUJBQVYsRUFBaUMsWUFBTTtBQUNyQyw2QkFBeUJELElBQUksQ0FBQ0UsYUFBTCxDQUFtQixxQkFBbkIsQ0FBekI7QUFBQSxNQUFRSSxLQUFSLHdCQUFRQSxLQUFSO0FBQUEs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QWdCLFlBQU07QUFDdEIsWUFBTVUsTUFBTSxHQUFHdEIsSUFBSSxDQUFDOEIsV0FBTCxDQUFpQjtBQUFFUCxVQUFBQSxDQUFDLEVBQUUsQ0FBTDtBQUFRQyxVQUFBQSxDQUFDLEVBQUU7QUFBWCxTQUFqQixDQUFmO0FBQ0FYLFFBQUFBLE1BQU0sQ0FBQ1MsTUFBRCxDQUFOLENBQWVTLE9BQWYsQ0FBdUI7QUFBRVIsVUFBQUEsQ0FBQyxFQUFFLENBQUw7QUFBUUMsVUFBQUEsQ0FBQyxFQUFFO0FBQVgsU0FBdkI7QUFDRCxPQUhDLENBQUY7QUFJRCxLQUxPLENBQVI7QUFPQXRCLElBQUFBLFFBQVEsQ0FBQyxXQUFELEVBQWMsWUFBTTtBQUMxQlUsTUFBQUEsRUFBRSxDQUFDLDBDQUFELEVBQTZDLFlBQU07QUFDbkQsWUFBTVUsTUFBTSxHQUFHdEIsSUFBSSxDQUFDZ0MsU0FBTCxDQUFlO0FBQUVULFVBQUFBLENBQUMsRUFBRSxDQUFDLENBQU47QUFBU0MsVUFBQUEsQ0FBQyxFQUFFO0FBQVosU0FBZixFQUFnQztBQUFFRCxVQUFBQSxDQUFDLEVBQUUsQ0FBTDtBQUFRQyxVQUFBQSxDQUFDLEVBQUU7QUFBWCxTQUFoQyxDQUFmO0FBQ0FYLFFBQUFBLE1BQU0sQ0FBQ1MsTUFBRCxDQUFOLENBQWVTLE9BQWYsQ0FBdUI7QUFBRVIsVUFBQUEsQ0FBQyxFQUFFLENBQUw7QUFBUUMsVUFBQUEsQ0FBQyxFQUFFO0FBQVgsU0FBdkI7QUFDRCxPQUhDLENBQUY7QUFJRCxLQUxPLENBQVI7QUFNRCxHQXRDTyxDQUFSO0FBdUNELENBM0RPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lL2J1aWxkJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCYXNlUG9pbnQgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBncmlkRHJhZ2dhYmxlIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgeyBncmFwaFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vLi4vX190ZXN0c19fL3V0aWxzJztcbmltcG9ydCB7IGJvdW5kcyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcblxuamVzdC5tb2NrKCcuLi8uLi8uLi8uLi91dGlscycsICgpID0+IHtcbiAgY29uc3QgeyBwb2ludCB9ID0gamVzdC5yZXF1aXJlQWN0dWFsKCcuLi8uLi8uLi8uLi91dGlscycpO1xuICByZXR1cm4ge1xuICAgIGJvdW5kczogamVzdC5mbigpLFxuICAgIHBvaW50LFxuICB9O1xufSk7XG5cbmplc3QubW9jaygnQHBpZS1saWIvcGxvdC9pbmRleCcsICgpID0+IHtcbiAgY29uc3QgeyB0eXBlcywgdXRpbHMgfSA9IGplc3QucmVxdWlyZUFjdHVhbCgnQHBpZS1saWIvcGxvdC9pbmRleCcpO1xuICByZXR1cm4ge1xuICAgIGdyaWREcmFnZ2FibGU6IGplc3QuZm4oKG9wdHMpID0+IChDb21wKSA9PiBDb21wKSxcbiAgICB0eXBlcyxcbiAgICB1dGlscyxcbiAgfTtcbn0pO1xuXG5kZXNjcmliZSgnQmFzZVBvaW50JywgKCkgPT4ge1xuICBsZXQgdztcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBncmFwaFByb3BzOiBncmFwaFByb3BzKCksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxCYXNlUG9pbnQgey4uLnByb3BzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgdyA9IHdyYXBwZXIoKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKCdncmlkRHJhZ2dhYmxlIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgbGV0IG9wdHM7XG4gICAgbGV0IGRvbWFpbjtcbiAgICBsZXQgcmFuZ2U7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBkb21haW4gPSB7XG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxLFxuICAgICAgICBzdGVwOiAxLFxuICAgICAgfTtcbiAgICAgIHJhbmdlID0ge1xuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMSxcbiAgICAgICAgc3RlcDogMSxcbiAgICAgIH07XG4gICAgICBjb25zdCB3ID0gd3JhcHBlcigpO1xuICAgICAgb3B0cyA9IGdyaWREcmFnZ2FibGUubW9jay5jYWxsc1swXVswXTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdib3VuZHMnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgdXRpbHMuYm91bmRzIHdpdGggYXJlYScsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gb3B0cy5ib3VuZHMoeyB4OiAwLCB5OiAwIH0sIHsgZG9tYWluLCByYW5nZSB9KTtcbiAgICAgICAgZXhwZWN0KGJvdW5kcykudG9IYXZlQmVlbkNhbGxlZFdpdGgoeyBsZWZ0OiAwLCB0b3A6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAgfSwgZG9tYWluLCByYW5nZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnYW5jaG9yUG9pbnQnLCAoKSA9PiB7XG4gICAgICBpdCgncmV0dXJucyB4L3knLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG9wdHMuYW5jaG9yUG9pbnQoeyB4OiAwLCB5OiAwIH0pO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgeDogMCwgeTogMCB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2Zyb21EZWx0YScsICgpID0+IHtcbiAgICAgIGl0KCdyZXR1cm5zIGEgbmV3IHBvaW50IGZyb20gdGhlIHgveSArIGRlbHRhJywgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBvcHRzLmZyb21EZWx0YSh7IHg6IC0xLCB5OiAwIH0sIHsgeDogMSwgeTogMyB9KTtcbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7IHg6IDAsIHk6IDMgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==