@pie-lib/charting 5.17.0-beta.0 → 5.17.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 (74) hide show
  1. package/CHANGELOG.json +1 -581
  2. package/CHANGELOG.md +149 -43
  3. package/package.json +5 -5
  4. package/src/__tests__/__snapshots__/axes.test.jsx.snap +1 -0
  5. package/src/__tests__/__snapshots__/chart.test.jsx.snap +0 -18
  6. package/src/__tests__/__snapshots__/grid.test.jsx.snap +61 -17
  7. package/src/__tests__/axes.test.jsx +0 -5
  8. package/src/__tests__/chart.test.jsx +8 -0
  9. package/src/actions-button.jsx +109 -0
  10. package/src/axes.jsx +5 -31
  11. package/src/bars/common/bars.jsx +8 -10
  12. package/src/chart-setup.jsx +1 -1
  13. package/src/chart.jsx +31 -26
  14. package/src/common/drag-handle.jsx +3 -3
  15. package/src/common/styles.js +1 -1
  16. package/src/grid.jsx +38 -13
  17. package/src/index.js +2 -1
  18. package/src/key-legend.jsx +75 -0
  19. package/src/line/common/drag-handle.jsx +3 -9
  20. package/src/line/common/line.jsx +2 -6
  21. package/src/line/line-cross.js +29 -2
  22. package/src/line/line-dot.js +36 -19
  23. package/src/mark-label.jsx +7 -2
  24. package/src/plot/common/plot.jsx +8 -5
  25. package/src/tool-menu.jsx +1 -1
  26. package/lib/__tests__/axes.test.js +0 -181
  27. package/lib/__tests__/chart-setup.test.js +0 -58
  28. package/lib/__tests__/chart-type.test.js +0 -42
  29. package/lib/__tests__/chart.test.js +0 -108
  30. package/lib/__tests__/grid.test.js +0 -48
  31. package/lib/__tests__/mark-label.test.js +0 -57
  32. package/lib/__tests__/utils.js +0 -56
  33. package/lib/__tests__/utils.test.js +0 -197
  34. package/lib/axes.js +0 -643
  35. package/lib/bars/__tests__/bar.test.js +0 -62
  36. package/lib/bars/__tests__/histogram.test.js +0 -64
  37. package/lib/bars/__tests__/utils.js +0 -56
  38. package/lib/bars/bar.js +0 -86
  39. package/lib/bars/common/__tests__/bars.test.js +0 -100
  40. package/lib/bars/common/__tests__/utils.js +0 -56
  41. package/lib/bars/common/bars.js +0 -301
  42. package/lib/bars/histogram.js +0 -87
  43. package/lib/chart-setup.js +0 -458
  44. package/lib/chart-type.js +0 -71
  45. package/lib/chart-types.js +0 -31
  46. package/lib/chart.js +0 -438
  47. package/lib/common/__tests__/drag-handle.test.js +0 -134
  48. package/lib/common/__tests__/utils.js +0 -56
  49. package/lib/common/drag-handle.js +0 -175
  50. package/lib/common/drag-icon.js +0 -52
  51. package/lib/common/styles.js +0 -40
  52. package/lib/grid.js +0 -104
  53. package/lib/index.js +0 -40
  54. package/lib/line/__tests__/line-cross.test.js +0 -64
  55. package/lib/line/__tests__/line-dot.test.js +0 -64
  56. package/lib/line/__tests__/utils.js +0 -56
  57. package/lib/line/common/__tests__/drag-handle.test.js +0 -134
  58. package/lib/line/common/__tests__/line.test.js +0 -128
  59. package/lib/line/common/__tests__/utils.js +0 -56
  60. package/lib/line/common/drag-handle.js +0 -157
  61. package/lib/line/common/line.js +0 -261
  62. package/lib/line/line-cross.js +0 -168
  63. package/lib/line/line-dot.js +0 -131
  64. package/lib/mark-label.js +0 -255
  65. package/lib/plot/__tests__/dot.test.js +0 -64
  66. package/lib/plot/__tests__/line.test.js +0 -64
  67. package/lib/plot/__tests__/utils.js +0 -56
  68. package/lib/plot/common/__tests__/plot.test.js +0 -103
  69. package/lib/plot/common/__tests__/utils.js +0 -56
  70. package/lib/plot/common/plot.js +0 -280
  71. package/lib/plot/dot.js +0 -123
  72. package/lib/plot/line.js +0 -152
  73. package/lib/tool-menu.js +0 -142
  74. package/lib/utils.js +0 -244
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.scaleMock = exports.graphProps = void 0;
7
-
8
- var scaleMock = function scaleMock() {
9
- var fn = jest.fn(function (n) {
10
- return n;
11
- });
12
- fn.invert = jest.fn(function (n) {
13
- return n;
14
- });
15
- return fn;
16
- };
17
-
18
- exports.scaleMock = scaleMock;
19
-
20
- var graphProps = function graphProps() {
21
- var dmin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
22
- var dmax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
23
- var rmin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
24
- var rmax = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
25
- return {
26
- scale: {
27
- x: scaleMock(),
28
- y: scaleMock()
29
- },
30
- snap: {
31
- x: jest.fn(function (n) {
32
- return n;
33
- }),
34
- y: jest.fn(function (n) {
35
- return n;
36
- })
37
- },
38
- domain: {
39
- min: dmin,
40
- max: dmax,
41
- step: 1
42
- },
43
- range: {
44
- min: rmin,
45
- max: rmax,
46
- step: 1
47
- },
48
- size: {
49
- width: 400,
50
- height: 400
51
- }
52
- };
53
- };
54
-
55
- exports.graphProps = graphProps;
56
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbG90L2NvbW1vbi9fX3Rlc3RzX18vdXRpbHMuanMiXSwibmFtZXMiOlsic2NhbGVNb2NrIiwiZm4iLCJqZXN0IiwibiIsImludmVydCIsImdyYXBoUHJvcHMiLCJkbWluIiwiZG1heCIsInJtaW4iLCJybWF4Iiwic2NhbGUiLCJ4IiwieSIsInNuYXAiLCJkb21haW4iLCJtaW4iLCJtYXgiLCJzdGVwIiwicmFuZ2UiLCJzaXplIiwid2lkdGgiLCJoZWlnaHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxJQUFNQSxTQUFTLEdBQUcsU0FBWkEsU0FBWSxHQUFNO0FBQzdCLE1BQU1DLEVBQUUsR0FBR0MsSUFBSSxDQUFDRCxFQUFMLENBQVEsVUFBQ0UsQ0FBRDtBQUFBLFdBQU9BLENBQVA7QUFBQSxHQUFSLENBQVg7QUFDQUYsRUFBQUEsRUFBRSxDQUFDRyxNQUFILEdBQVlGLElBQUksQ0FBQ0QsRUFBTCxDQUFRLFVBQUNFLENBQUQ7QUFBQSxXQUFPQSxDQUFQO0FBQUEsR0FBUixDQUFaO0FBQ0EsU0FBT0YsRUFBUDtBQUNELENBSk07Ozs7QUFNQSxJQUFNSSxVQUFVLEdBQUcsU0FBYkEsVUFBYTtBQUFBLE1BQUNDLElBQUQsdUVBQVEsQ0FBUjtBQUFBLE1BQVdDLElBQVgsdUVBQWtCLENBQWxCO0FBQUEsTUFBcUJDLElBQXJCLHVFQUE0QixDQUE1QjtBQUFBLE1BQStCQyxJQUEvQix1RUFBc0MsQ0FBdEM7QUFBQSxTQUE2QztBQUNyRUMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLENBQUMsRUFBRVgsU0FBUyxFQURQO0FBRUxZLE1BQUFBLENBQUMsRUFBRVosU0FBUztBQUZQLEtBRDhEO0FBS3JFYSxJQUFBQSxJQUFJLEVBQUU7QUFDSkYsTUFBQUEsQ0FBQyxFQUFFVCxJQUFJLENBQUNELEVBQUwsQ0FBUSxVQUFDRSxDQUFEO0FBQUEsZUFBT0EsQ0FBUDtBQUFBLE9BQVIsQ0FEQztBQUVKUyxNQUFBQSxDQUFDLEVBQUVWLElBQUksQ0FBQ0QsRUFBTCxDQUFRLFVBQUNFLENBQUQ7QUFBQSxlQUFPQSxDQUFQO0FBQUEsT0FBUjtBQUZDLEtBTCtEO0FBU3JFVyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsR0FBRyxFQUFFVCxJQURDO0FBRU5VLE1BQUFBLEdBQUcsRUFBRVQsSUFGQztBQUdOVSxNQUFBQSxJQUFJLEVBQUU7QUFIQSxLQVQ2RDtBQWNyRUMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xILE1BQUFBLEdBQUcsRUFBRVAsSUFEQTtBQUVMUSxNQUFBQSxHQUFHLEVBQUVQLElBRkE7QUFHTFEsTUFBQUEsSUFBSSxFQUFFO0FBSEQsS0FkOEQ7QUFtQnJFRSxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsS0FBSyxFQUFFLEdBREg7QUFFSkMsTUFBQUEsTUFBTSxFQUFFO0FBRko7QUFuQitELEdBQTdDO0FBQUEsQ0FBbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc2NhbGVNb2NrID0gKCkgPT4ge1xuICBjb25zdCBmbiA9IGplc3QuZm4oKG4pID0+IG4pO1xuICBmbi5pbnZlcnQgPSBqZXN0LmZuKChuKSA9PiBuKTtcbiAgcmV0dXJuIGZuO1xufTtcblxuZXhwb3J0IGNvbnN0IGdyYXBoUHJvcHMgPSAoZG1pbiA9IDAsIGRtYXggPSAxLCBybWluID0gMCwgcm1heCA9IDEpID0+ICh7XG4gIHNjYWxlOiB7XG4gICAgeDogc2NhbGVNb2NrKCksXG4gICAgeTogc2NhbGVNb2NrKCksXG4gIH0sXG4gIHNuYXA6IHtcbiAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICB5OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgfSxcbiAgZG9tYWluOiB7XG4gICAgbWluOiBkbWluLFxuICAgIG1heDogZG1heCxcbiAgICBzdGVwOiAxLFxuICB9LFxuICByYW5nZToge1xuICAgIG1pbjogcm1pbixcbiAgICBtYXg6IHJtYXgsXG4gICAgc3RlcDogMSxcbiAgfSxcbiAgc2l6ZToge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiA0MDAsXG4gIH0sXG59KTtcbiJdfQ==
@@ -1,280 +0,0 @@
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["default"] = exports.RawPlot = exports.Plot = void 0;
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _plot = require("@pie-lib/plot");
31
-
32
- var _group = require("@vx/group");
33
-
34
- var _index = require("@material-ui/core/styles/index");
35
-
36
- var _dragHandle = _interopRequireWildcard(require("../../common/drag-handle"));
37
-
38
- var _debug = _interopRequireDefault(require("debug"));
39
-
40
- var _renderUi = require("@pie-lib/render-ui");
41
-
42
- var _utils = require("../../utils");
43
-
44
- var _styles = require("../../common/styles");
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 _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); }; }
51
-
52
- 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; } }
53
-
54
- var log = (0, _debug["default"])('pie-lib:chart:bars');
55
-
56
- var RawPlot = /*#__PURE__*/function (_React$Component) {
57
- (0, _inherits2["default"])(RawPlot, _React$Component);
58
-
59
- var _super = _createSuper(RawPlot);
60
-
61
- function RawPlot(props) {
62
- var _this;
63
-
64
- (0, _classCallCheck2["default"])(this, RawPlot);
65
- _this = _super.call(this, props);
66
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseEnter", function () {
67
- _this.setState({
68
- isHovered: true
69
- });
70
- });
71
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseLeave", function () {
72
- _this.setState({
73
- isHovered: false
74
- });
75
- });
76
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setDragValue", function (dragValue) {
77
- return _this.setState({
78
- dragValue: dragValue
79
- });
80
- });
81
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragStop", function () {
82
- var _this$props = _this.props,
83
- label = _this$props.label,
84
- onChangeCategory = _this$props.onChangeCategory;
85
- var dragValue = _this.state.dragValue;
86
- log('[dragStop]', dragValue);
87
-
88
- if (dragValue !== undefined) {
89
- onChangeCategory({
90
- label: label,
91
- value: dragValue
92
- });
93
- }
94
-
95
- _this.setDragValue(undefined);
96
- });
97
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragValue", function (existing, next) {
98
- log('[dragValue] next:', next);
99
-
100
- _this.setDragValue(next);
101
- });
102
- _this.state = {
103
- dragValue: undefined,
104
- isHovered: false
105
- };
106
- return _this;
107
- }
108
-
109
- (0, _createClass2["default"])(RawPlot, [{
110
- key: "render",
111
- value: function render() {
112
- var _this2 = this;
113
-
114
- var _this$props2 = this.props,
115
- graphProps = _this$props2.graphProps,
116
- value = _this$props2.value,
117
- label = _this$props2.label,
118
- classes = _this$props2.classes,
119
- xBand = _this$props2.xBand,
120
- index = _this$props2.index,
121
- CustomBarElement = _this$props2.CustomBarElement,
122
- interactive = _this$props2.interactive,
123
- correctness = _this$props2.correctness,
124
- defineChart = _this$props2.defineChart;
125
- var scale = graphProps.scale,
126
- range = graphProps.range,
127
- size = graphProps.size;
128
-
129
- var _ref = range || {},
130
- max = _ref.max;
131
-
132
- var _this$state = this.state,
133
- dragValue = _this$state.dragValue,
134
- isHovered = _this$state.isHovered;
135
- var v = Number.isFinite(dragValue) ? dragValue : value;
136
- var barWidth = xBand.bandwidth();
137
- var barHeight = scale.y(range.max - v);
138
- var barX = xBand((0, _utils.bandKey)({
139
- label: label
140
- }, index));
141
- log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);
142
- var values = [];
143
-
144
- for (var i = 0; i < v; i++) {
145
- values.push(i);
146
- }
147
-
148
- var pointHeight = size.height / max;
149
- var pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;
150
- var Component = interactive ? _dragHandle["default"] : _dragHandle.DragHandle;
151
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("g", {
152
- onMouseEnter: this.handleMouseEnter,
153
- onMouseLeave: this.handleMouseLeave,
154
- onTouchStart: this.handleMouseEnter,
155
- onTouchEnd: this.handleMouseLeave
156
- }, isHovered && /*#__PURE__*/_react["default"].createElement("rect", {
157
- x: barX,
158
- y: scale.y(v),
159
- width: barWidth,
160
- height: values !== null && values !== void 0 && values.length ? pointHeight * values.length : 0,
161
- style: {
162
- fill: '#E5E8F5'
163
- }
164
- }), values.map(function (index) {
165
- return CustomBarElement({
166
- index: index,
167
- pointDiameter: pointDiameter,
168
- barX: barX,
169
- barWidth: barWidth,
170
- pointHeight: pointHeight,
171
- label: label,
172
- value: value,
173
- classes: classes,
174
- scale: scale
175
- });
176
- }), /*#__PURE__*/_react["default"].createElement(Component, {
177
- x: barX,
178
- y: v,
179
- interactive: interactive,
180
- width: barWidth,
181
- onDrag: function onDrag(v) {
182
- return _this2.dragValue(value, v);
183
- },
184
- onDragStop: this.dragStop,
185
- graphProps: graphProps,
186
- correctness: correctness,
187
- isHovered: isHovered,
188
- defineChart: defineChart,
189
- color: _renderUi.color.primaryDark()
190
- })));
191
- }
192
- }]);
193
- return RawPlot;
194
- }(_react["default"].Component);
195
-
196
- exports.RawPlot = RawPlot;
197
- (0, _defineProperty2["default"])(RawPlot, "propTypes", {
198
- onChangeCategory: _propTypes["default"].func,
199
- value: _propTypes["default"].number,
200
- classes: _propTypes["default"].object,
201
- label: _propTypes["default"].string,
202
- xBand: _propTypes["default"].func,
203
- index: _propTypes["default"].number.isRequired,
204
- graphProps: _plot.types.GraphPropsType.isRequired,
205
- CustomBarElement: _propTypes["default"].func,
206
- interactive: _propTypes["default"].bool,
207
- correctness: _propTypes["default"].shape({
208
- value: _propTypes["default"].string,
209
- label: _propTypes["default"].string
210
- })
211
- });
212
- var Bar = (0, _index.withStyles)(function () {
213
- return {
214
- dot: {
215
- fill: _renderUi.color.primaryLight(),
216
- '&.correct': (0, _styles.correct)('stroke'),
217
- '&.incorrect': (0, _styles.incorrect)('stroke')
218
- },
219
- line: {
220
- stroke: _renderUi.color.primaryLight(),
221
- '&.correct': (0, _styles.correct)('stroke'),
222
- '&.incorrect': (0, _styles.incorrect)('stroke')
223
- }
224
- };
225
- })(RawPlot);
226
-
227
- var Plot = /*#__PURE__*/function (_React$Component2) {
228
- (0, _inherits2["default"])(Plot, _React$Component2);
229
-
230
- var _super2 = _createSuper(Plot);
231
-
232
- function Plot() {
233
- (0, _classCallCheck2["default"])(this, Plot);
234
- return _super2.apply(this, arguments);
235
- }
236
-
237
- (0, _createClass2["default"])(Plot, [{
238
- key: "render",
239
- value: function render() {
240
- var _this$props3 = this.props,
241
- data = _this$props3.data,
242
- graphProps = _this$props3.graphProps,
243
- xBand = _this$props3.xBand,
244
- CustomBarElement = _this$props3.CustomBarElement,
245
- _onChangeCategory = _this$props3.onChangeCategory,
246
- defineChart = _this$props3.defineChart;
247
- return /*#__PURE__*/_react["default"].createElement(_group.Group, null, (data || []).map(function (d, index) {
248
- return /*#__PURE__*/_react["default"].createElement(Bar, {
249
- value: d.value,
250
- label: d.label,
251
- interactive: defineChart || d.interactive,
252
- defineChart: defineChart,
253
- xBand: xBand,
254
- index: index,
255
- key: "bar-".concat(d.label, "-").concat(d.value, "-").concat(index),
256
- onChangeCategory: function onChangeCategory(category) {
257
- return _onChangeCategory(index, category);
258
- },
259
- graphProps: graphProps,
260
- CustomBarElement: CustomBarElement,
261
- correctness: d.correctness
262
- });
263
- }));
264
- }
265
- }]);
266
- return Plot;
267
- }(_react["default"].Component);
268
-
269
- exports.Plot = Plot;
270
- (0, _defineProperty2["default"])(Plot, "propTypes", {
271
- data: _propTypes["default"].array,
272
- onChangeCategory: _propTypes["default"].func,
273
- xBand: _propTypes["default"].func,
274
- graphProps: _plot.types.GraphPropsType.isRequired,
275
- defineChart: _propTypes["default"].bool,
276
- CustomBarElement: _propTypes["default"].func
277
- });
278
- var _default = Plot;
279
- exports["default"] = _default;
280
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbG90L2NvbW1vbi9wbG90LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJSYXdQbG90IiwicHJvcHMiLCJzZXRTdGF0ZSIsImlzSG92ZXJlZCIsImRyYWdWYWx1ZSIsImxhYmVsIiwib25DaGFuZ2VDYXRlZ29yeSIsInN0YXRlIiwidW5kZWZpbmVkIiwidmFsdWUiLCJzZXREcmFnVmFsdWUiLCJleGlzdGluZyIsIm5leHQiLCJncmFwaFByb3BzIiwiY2xhc3NlcyIsInhCYW5kIiwiaW5kZXgiLCJDdXN0b21CYXJFbGVtZW50IiwiaW50ZXJhY3RpdmUiLCJjb3JyZWN0bmVzcyIsImRlZmluZUNoYXJ0Iiwic2NhbGUiLCJyYW5nZSIsInNpemUiLCJtYXgiLCJ2IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJiYXJXaWR0aCIsImJhbmR3aWR0aCIsImJhckhlaWdodCIsInkiLCJiYXJYIiwidmFsdWVzIiwiaSIsInB1c2giLCJwb2ludEhlaWdodCIsImhlaWdodCIsInBvaW50RGlhbWV0ZXIiLCJDb21wb25lbnQiLCJEcmFnZ2FibGVIYW5kbGUiLCJEcmFnSGFuZGxlIiwiaGFuZGxlTW91c2VFbnRlciIsImhhbmRsZU1vdXNlTGVhdmUiLCJsZW5ndGgiLCJmaWxsIiwibWFwIiwiZHJhZ1N0b3AiLCJjb2xvciIsInByaW1hcnlEYXJrIiwiUmVhY3QiLCJQcm9wVHlwZXMiLCJmdW5jIiwibnVtYmVyIiwib2JqZWN0Iiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsInR5cGVzIiwiR3JhcGhQcm9wc1R5cGUiLCJib29sIiwic2hhcGUiLCJCYXIiLCJkb3QiLCJwcmltYXJ5TGlnaHQiLCJsaW5lIiwic3Ryb2tlIiwiUGxvdCIsImRhdGEiLCJkIiwiY2F0ZWdvcnkiLCJhcnJheSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7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QUZYO0FBR2pCckMsRUFBQUEsS0FBSyxFQUFFb0Msc0JBQVVDLElBSEE7QUFJakJ2QyxFQUFBQSxVQUFVLEVBQUU0QyxZQUFNQyxjQUFOLENBQXFCRixVQUpoQjtBQUtqQnBDLEVBQUFBLFdBQVcsRUFBRStCLHNCQUFVUSxJQUxOO0FBTWpCMUMsRUFBQUEsZ0JBQWdCLEVBQUVrQyxzQkFBVUM7QUFOWCxDO2VBa0NOYyxJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB0eXBlcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICdAdngvZ3JvdXAnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcy9pbmRleCc7XG5pbXBvcnQgRHJhZ2dhYmxlSGFuZGxlLCB7IERyYWdIYW5kbGUgfSBmcm9tICcuLi8uLi9jb21tb24vZHJhZy1oYW5kbGUnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IGJhbmRLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBjb3JyZWN0LCBpbmNvcnJlY3QgfSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVzJztcblxuY29uc3QgbG9nID0gZGVidWcoJ3BpZS1saWI6Y2hhcnQ6YmFycycpO1xuXG5leHBvcnQgY2xhc3MgUmF3UGxvdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25DaGFuZ2VDYXRlZ29yeTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB4QmFuZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICAgIEN1c3RvbUJhckVsZW1lbnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGludGVyYWN0aXZlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjb3JyZWN0bmVzczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGRyYWdWYWx1ZTogdW5kZWZpbmVkLFxuICAgICAgaXNIb3ZlcmVkOiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgaGFuZGxlTW91c2VFbnRlciA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNIb3ZlcmVkOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZU1vdXNlTGVhdmUgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzSG92ZXJlZDogZmFsc2UgfSk7XG4gIH07XG5cbiAgc2V0RHJhZ1ZhbHVlID0gKGRyYWdWYWx1ZSkgPT4gdGhpcy5zZXRTdGF0ZSh7IGRyYWdWYWx1ZSB9KTtcblxuICBkcmFnU3RvcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBvbkNoYW5nZUNhdGVnb3J5IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZHJhZ1ZhbHVlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGxvZygnW2RyYWdTdG9wXScsIGRyYWdWYWx1ZSk7XG5cbiAgICBpZiAoZHJhZ1ZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uQ2hhbmdlQ2F0ZWdvcnkoeyBsYWJlbCwgdmFsdWU6IGRyYWdWYWx1ZSB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnNldERyYWdWYWx1ZSh1bmRlZmluZWQpO1xuICB9O1xuXG4gIGRyYWdWYWx1ZSA9IChleGlzdGluZywgbmV4dCkgPT4ge1xuICAgIGxvZygnW2RyYWdWYWx1ZV0gbmV4dDonLCBuZXh0KTtcblxuICAgIHRoaXMuc2V0RHJhZ1ZhbHVlKG5leHQpO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBncmFwaFByb3BzLFxuICAgICAgdmFsdWUsXG4gICAgICBsYWJlbCxcbiAgICAgIGNsYXNzZXMsXG4gICAgICB4QmFuZCxcbiAgICAgIGluZGV4LFxuICAgICAgQ3VzdG9tQmFyRWxlbWVudCxcbiAgICAgIGludGVyYWN0aXZlLFxuICAgICAgY29ycmVjdG5lc3MsXG4gICAgICBkZWZpbmVDaGFydCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHsgc2NhbGUsIHJhbmdlLCBzaXplIH0gPSBncmFwaFByb3BzO1xuICAgIGNvbnN0IHsgbWF4IH0gPSByYW5nZSB8fCB7fTtcbiAgICBjb25zdCB7IGRyYWdWYWx1ZSwgaXNIb3ZlcmVkIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgY29uc3QgdiA9IE51bWJlci5pc0Zpbml0ZShkcmFnVmFsdWUpID8gZHJhZ1ZhbHVlIDogdmFsdWU7XG4gICAgY29uc3QgYmFyV2lkdGggPSB4QmFuZC5iYW5kd2lkdGgoKTtcbiAgICBjb25zdCBiYXJIZWlnaHQgPSBzY2FsZS55KHJhbmdlLm1heCAtIHYpO1xuICAgIGNvbnN0IGJhclggPSB4QmFuZChiYW5kS2V5KHsgbGFiZWwgfSwgaW5kZXgpKTtcblxuICAgIGxvZygnbGFiZWw6JywgbGFiZWwsICdiYXJYOicsIGJhclgsICd2OiAnLCB2LCAnYmFySGVpZ2h0OicsIGJhckhlaWdodCwgJ2JhcldpZHRoOiAnLCBiYXJXaWR0aCk7XG5cbiAgICBjb25zdCB2YWx1ZXMgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdjsgaSsrKSB7XG4gICAgICB2YWx1ZXMucHVzaChpKTtcbiAgICB9XG5cbiAgICBjb25zdCBwb2ludEhlaWdodCA9IHNpemUuaGVpZ2h0IC8gbWF4O1xuICAgIGNvbnN0IHBvaW50RGlhbWV0ZXIgPSAocG9pbnRIZWlnaHQgPiBiYXJXaWR0aCA/IGJhcldpZHRoIDogcG9pbnRIZWlnaHQpICogMC44O1xuICAgIGNvbnN0IENvbXBvbmVudCA9IGludGVyYWN0aXZlID8gRHJhZ2dhYmxlSGFuZGxlIDogRHJhZ0hhbmRsZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIDxnXG4gICAgICAgICAgb25Nb3VzZUVudGVyPXt0aGlzLmhhbmRsZU1vdXNlRW50ZXJ9XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLmhhbmRsZU1vdXNlTGVhdmV9XG4gICAgICAgICAgb25Ub3VjaFN0YXJ0PXt0aGlzLmhhbmRsZU1vdXNlRW50ZXJ9XG4gICAgICAgICAgb25Ub3VjaEVuZD17dGhpcy5oYW5kbGVNb3VzZUxlYXZlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzSG92ZXJlZCAmJiAoXG4gICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICB4PXtiYXJYfVxuICAgICAgICAgICAgICB5PXtzY2FsZS55KHYpfVxuICAgICAgICAgICAgICB3aWR0aD17YmFyV2lkdGh9XG4gICAgICAgICAgICAgIGhlaWdodD17dmFsdWVzPy5sZW5ndGggPyBwb2ludEhlaWdodCAqIHZhbHVlcy5sZW5ndGggOiAwfVxuICAgICAgICAgICAgICBzdHlsZT17eyBmaWxsOiAnI0U1RThGNScgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7dmFsdWVzLm1hcCgoaW5kZXgpID0+XG4gICAgICAgICAgICBDdXN0b21CYXJFbGVtZW50KHtcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgIHBvaW50RGlhbWV0ZXIsXG4gICAgICAgICAgICAgIGJhclgsXG4gICAgICAgICAgICAgIGJhcldpZHRoLFxuICAgICAgICAgICAgICBwb2ludEhlaWdodCxcbiAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgICBzY2FsZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICl9XG4gICAgICAgICAgPENvbXBvbmVudFxuICAgICAgICAgICAgeD17YmFyWH1cbiAgICAgICAgICAgIHk9e3Z9XG4gICAgICAgICAgICBpbnRlcmFjdGl2ZT17aW50ZXJhY3RpdmV9XG4gICAgICAgICAgICB3aWR0aD17YmFyV2lkdGh9XG4gICAgICAgICAgICBvbkRyYWc9eyh2KSA9PiB0aGlzLmRyYWdWYWx1ZSh2YWx1ZSwgdil9XG4gICAgICAgICAgICBvbkRyYWdTdG9wPXt0aGlzLmRyYWdTdG9wfVxuICAgICAgICAgICAgZ3JhcGhQcm9wcz17Z3JhcGhQcm9wc31cbiAgICAgICAgICAgIGNvcnJlY3RuZXNzPXtjb3JyZWN0bmVzc31cbiAgICAgICAgICAgIGlzSG92ZXJlZD17aXNIb3ZlcmVkfVxuICAgICAgICAgICAgZGVmaW5lQ2hhcnQ9e2RlZmluZUNoYXJ0fVxuICAgICAgICAgICAgY29sb3I9e2NvbG9yLnByaW1hcnlEYXJrKCl9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IEJhciA9IHdpdGhTdHlsZXMoKCkgPT4gKHtcbiAgZG90OiB7XG4gICAgZmlsbDogY29sb3IucHJpbWFyeUxpZ2h0KCksXG4gICAgJyYuY29ycmVjdCc6IGNvcnJlY3QoJ3N0cm9rZScpLFxuICAgICcmLmluY29ycmVjdCc6IGluY29ycmVjdCgnc3Ryb2tlJyksXG4gIH0sXG4gIGxpbmU6IHtcbiAgICBzdHJva2U6IGNvbG9yLnByaW1hcnlMaWdodCgpLFxuICAgICcmLmNvcnJlY3QnOiBjb3JyZWN0KCdzdHJva2UnKSxcbiAgICAnJi5pbmNvcnJlY3QnOiBpbmNvcnJlY3QoJ3N0cm9rZScpLFxuICB9LFxufSkpKFJhd1Bsb3QpO1xuXG5leHBvcnQgY2xhc3MgUGxvdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgZGF0YTogUHJvcFR5cGVzLmFycmF5LFxuICAgIG9uQ2hhbmdlQ2F0ZWdvcnk6IFByb3BUeXBlcy5mdW5jLFxuICAgIHhCYW5kOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICAgIGRlZmluZUNoYXJ0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBDdXN0b21CYXJFbGVtZW50OiBQcm9wVHlwZXMuZnVuYyxcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBkYXRhLCBncmFwaFByb3BzLCB4QmFuZCwgQ3VzdG9tQmFyRWxlbWVudCwgb25DaGFuZ2VDYXRlZ29yeSwgZGVmaW5lQ2hhcnQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEdyb3VwPlxuICAgICAgICB7KGRhdGEgfHwgW10pLm1hcCgoZCwgaW5kZXgpID0+IChcbiAgICAgICAgICA8QmFyXG4gICAgICAgICAgICB2YWx1ZT17ZC52YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtkLmxhYmVsfVxuICAgICAgICAgICAgaW50ZXJhY3RpdmU9e2RlZmluZUNoYXJ0IHx8IGQuaW50ZXJhY3RpdmV9XG4gICAgICAgICAgICBkZWZpbmVDaGFydD17ZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICB4QmFuZD17eEJhbmR9XG4gICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICBrZXk9e2BiYXItJHtkLmxhYmVsfS0ke2QudmFsdWV9LSR7aW5kZXh9YH1cbiAgICAgICAgICAgIG9uQ2hhbmdlQ2F0ZWdvcnk9eyhjYXRlZ29yeSkgPT4gb25DaGFuZ2VDYXRlZ29yeShpbmRleCwgY2F0ZWdvcnkpfVxuICAgICAgICAgICAgZ3JhcGhQcm9wcz17Z3JhcGhQcm9wc31cbiAgICAgICAgICAgIEN1c3RvbUJhckVsZW1lbnQ9e0N1c3RvbUJhckVsZW1lbnR9XG4gICAgICAgICAgICBjb3JyZWN0bmVzcz17ZC5jb3JyZWN0bmVzc31cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvR3JvdXA+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBQbG90O1xuIl19
package/lib/plot/dot.js DELETED
@@ -1,123 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.DotPlot = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _plot = require("@pie-lib/plot");
29
-
30
- var _utils = require("../utils");
31
-
32
- var _plot2 = _interopRequireDefault(require("./comm@pie-lib/plot"));
33
-
34
- var _shape = require("@vx/shape");
35
-
36
- 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); }; }
37
-
38
- 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; } }
39
-
40
- var CustomBarElement = function CustomBarElement(props) {
41
- var index = props.index,
42
- pointDiameter = props.pointDiameter,
43
- barX = props.barX,
44
- barWidth = props.barWidth,
45
- pointHeight = props.pointHeight,
46
- label = props.label,
47
- value = props.value,
48
- classes = props.classes,
49
- scale = props.scale;
50
- var r = pointDiameter / 2;
51
- var cx = barX + (barWidth - pointDiameter) / 2 + r;
52
- var cy = scale.y(index) - (pointHeight - pointDiameter) / 2 - r;
53
- return /*#__PURE__*/_react["default"].createElement(_shape.Circle, {
54
- key: "point-".concat(label, "-").concat(value, "-").concat(index),
55
- className: classes.dot,
56
- cx: cx,
57
- cy: cy,
58
- r: r
59
- });
60
- };
61
-
62
- CustomBarElement.propTypes = {
63
- index: _propTypes["default"].number,
64
- pointDiameter: _propTypes["default"].number,
65
- barX: _propTypes["default"].number,
66
- barWidth: _propTypes["default"].number,
67
- pointHeight: _propTypes["default"].number,
68
- value: _propTypes["default"].number,
69
- label: _propTypes["default"].string,
70
- classes: _propTypes["default"].object,
71
- scale: _propTypes["default"].object
72
- };
73
-
74
- var DotPlot = /*#__PURE__*/function (_React$Component) {
75
- (0, _inherits2["default"])(DotPlot, _React$Component);
76
-
77
- var _super = _createSuper(DotPlot);
78
-
79
- function DotPlot() {
80
- (0, _classCallCheck2["default"])(this, DotPlot);
81
- return _super.apply(this, arguments);
82
- }
83
-
84
- (0, _createClass2["default"])(DotPlot, [{
85
- key: "render",
86
- value: function render() {
87
- var props = this.props;
88
- var data = props.data,
89
- graphProps = props.graphProps;
90
-
91
- var _ref = graphProps || {},
92
- _ref$scale = _ref.scale,
93
- scale = _ref$scale === void 0 ? {} : _ref$scale,
94
- _ref$size = _ref.size,
95
- size = _ref$size === void 0 ? {} : _ref$size;
96
-
97
- var xBand = (0, _utils.dataToXBand)(scale.x, data, size.width, 'dotPlot');
98
- return /*#__PURE__*/_react["default"].createElement(_plot2["default"], (0, _extends2["default"])({}, props, {
99
- xBand: xBand,
100
- CustomBarElement: CustomBarElement
101
- }));
102
- }
103
- }]);
104
- return DotPlot;
105
- }(_react["default"].Component);
106
-
107
- exports.DotPlot = DotPlot;
108
- (0, _defineProperty2["default"])(DotPlot, "propTypes", {
109
- data: _propTypes["default"].array,
110
- onChange: _propTypes["default"].func,
111
- graphProps: _plot.types.GraphPropsType.isRequired
112
- });
113
-
114
- var _default = function _default() {
115
- return {
116
- type: 'dotPlot',
117
- Component: DotPlot,
118
- name: 'Dot Plot'
119
- };
120
- };
121
-
122
- exports["default"] = _default;
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbG90L2RvdC5qcyJdLCJuYW1lcyI6WyJDdXN0b21CYXJFbGVtZW50IiwicHJvcHMiLCJpbmRleCIsInBvaW50RGlhbWV0ZXIiLCJiYXJYIiwiYmFyV2lkdGgiLCJwb2ludEhlaWdodCIsImxhYmVsIiwidmFsdWUiLCJjbGFzc2VzIiwic2NhbGUiLCJyIiwiY3giLCJjeSIsInkiLCJkb3QiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJudW1iZXIiLCJzdHJpbmciLCJvYmplY3QiLCJEb3RQbG90IiwiZGF0YSIsImdyYXBoUHJvcHMiLCJzaXplIiwieEJhbmQiLCJ4Iiwid2lkdGgiLCJSZWFjdCIsIkNvbXBvbmVudCIsImFycmF5Iiwib25DaGFuZ2UiLCJmdW5jIiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJ0eXBlIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDQyxLQUFELEVBQVc7QUFDbEMsTUFBUUMsS0FBUixHQUE0RkQsS0FBNUYsQ0FBUUMsS0FBUjtBQUFBLE1BQWVDLGFBQWYsR0FBNEZGLEtBQTVGLENBQWVFLGFBQWY7QUFBQSxNQUE4QkMsSUFBOUIsR0FBNEZILEtBQTVGLENBQThCRyxJQUE5QjtBQUFBLE1BQW9DQyxRQUFwQyxHQUE0RkosS0FBNUYsQ0FBb0NJLFFBQXBDO0FBQUEsTUFBOENDLFdBQTlDLEdBQTRGTCxLQUE1RixDQUE4Q0ssV0FBOUM7QUFBQSxNQUEyREMsS0FBM0QsR0FBNEZOLEtBQTVGLENBQTJETSxLQUEzRDtBQUFBLE1BQWtFQyxLQUFsRSxHQUE0RlAsS0FBNUYsQ0FBa0VPLEtBQWxFO0FBQUEsTUFBeUVDLE9BQXpFLEdBQTRGUixLQUE1RixDQUF5RVEsT0FBekU7QUFBQSxNQUFrRkMsS0FBbEYsR0FBNEZULEtBQTVGLENBQWtGUyxLQUFsRjtBQUVBLE1BQU1DLENBQUMsR0FBR1IsYUFBYSxHQUFHLENBQTFCO0FBQ0EsTUFBTVMsRUFBRSxHQUFHUixJQUFJLEdBQUcsQ0FBQ0MsUUFBUSxHQUFHRixhQUFaLElBQTZCLENBQXBDLEdBQXdDUSxDQUFuRDtBQUNBLE1BQU1FLEVBQUUsR0FBR0gsS0FBSyxDQUFDSSxDQUFOLENBQVFaLEtBQVIsSUFBaUIsQ0FBQ0ksV0FBVyxHQUFHSCxhQUFmLElBQWdDLENBQWpELEdBQXFEUSxDQUFoRTtBQUVBLHNCQUFPLGdDQUFDLGFBQUQ7QUFBUSxJQUFBLEdBQUcsa0JBQVdKLEtBQVgsY0FBb0JDLEtBQXBCLGNBQTZCTixLQUE3QixDQUFYO0FBQWlELElBQUEsU0FBUyxFQUFFTyxPQUFPLENBQUNNLEdBQXBFO0FBQXlFLElBQUEsRUFBRSxFQUFFSCxFQUE3RTtBQUFpRixJQUFBLEVBQUUsRUFBRUMsRUFBckY7QUFBeUYsSUFBQSxDQUFDLEVBQUVGO0FBQTVGLElBQVA7QUFDRCxDQVJEOztBQVVBWCxnQkFBZ0IsQ0FBQ2dCLFNBQWpCLEdBQTZCO0FBQzNCZCxFQUFBQSxLQUFLLEVBQUVlLHNCQUFVQyxNQURVO0FBRTNCZixFQUFBQSxhQUFhLEVBQUVjLHNCQUFVQyxNQUZFO0FBRzNCZCxFQUFBQSxJQUFJLEVBQUVhLHNCQUFVQyxNQUhXO0FBSTNCYixFQUFBQSxRQUFRLEVBQUVZLHNCQUFVQyxNQUpPO0FBSzNCWixFQUFBQSxXQUFXLEVBQUVXLHNCQUFVQyxNQUxJO0FBTTNCVixFQUFBQSxLQUFLLEVBQUVTLHNCQUFVQyxNQU5VO0FBTzNCWCxFQUFBQSxLQUFLLEVBQUVVLHNCQUFVRSxNQVBVO0FBUTNCVixFQUFBQSxPQUFPLEVBQUVRLHNCQUFVRyxNQVJRO0FBUzNCVixFQUFBQSxLQUFLLEVBQUVPLHNCQUFVRztBQVRVLENBQTdCOztJQVlhQyxPOzs7Ozs7Ozs7Ozs7V0FPWCxrQkFBUztBQUNQLFVBQU1wQixLQUFLLEdBQUcsS0FBS0EsS0FBbkI7QUFDQSxVQUFRcUIsSUFBUixHQUE2QnJCLEtBQTdCLENBQVFxQixJQUFSO0FBQUEsVUFBY0MsVUFBZCxHQUE2QnRCLEtBQTdCLENBQWNzQixVQUFkOztBQUNBLGlCQUFrQ0EsVUFBVSxJQUFJLEVBQWhEO0FBQUEsNEJBQVFiLEtBQVI7QUFBQSxVQUFRQSxLQUFSLDJCQUFnQixFQUFoQjtBQUFBLDJCQUFvQmMsSUFBcEI7QUFBQSxVQUFvQkEsSUFBcEIsMEJBQTJCLEVBQTNCOztBQUNBLFVBQU1DLEtBQUssR0FBRyx3QkFBWWYsS0FBSyxDQUFDZ0IsQ0FBbEIsRUFBcUJKLElBQXJCLEVBQTJCRSxJQUFJLENBQUNHLEtBQWhDLEVBQXVDLFNBQXZDLENBQWQ7QUFFQSwwQkFBTyxnQ0FBQyxpQkFBRCxnQ0FBVTFCLEtBQVY7QUFBaUIsUUFBQSxLQUFLLEVBQUV3QixLQUF4QjtBQUErQixRQUFBLGdCQUFnQixFQUFFekI7QUFBakQsU0FBUDtBQUNEOzs7RUFkMEI0QixrQkFBTUMsUzs7O2lDQUF0QlIsTyxlQUNRO0FBQ2pCQyxFQUFBQSxJQUFJLEVBQUVMLHNCQUFVYSxLQURDO0FBRWpCQyxFQUFBQSxRQUFRLEVBQUVkLHNCQUFVZSxJQUZIO0FBR2pCVCxFQUFBQSxVQUFVLEVBQUVVLFlBQU1DLGNBQU4sQ0FBcUJDO0FBSGhCLEM7O2VBZ0JOO0FBQUEsU0FBTztBQUNwQkMsSUFBQUEsSUFBSSxFQUFFLFNBRGM7QUFFcEJQLElBQUFBLFNBQVMsRUFBRVIsT0FGUztBQUdwQmdCLElBQUFBLElBQUksRUFBRTtBQUhjLEdBQVA7QUFBQSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB0eXBlcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgZGF0YVRvWEJhbmQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgUGxvdCBmcm9tICcuL2NvbW1AcGllLWxpYi9wbG90JztcbmltcG9ydCB7IENpcmNsZSB9IGZyb20gJ0B2eC9zaGFwZSc7XG5cbmNvbnN0IEN1c3RvbUJhckVsZW1lbnQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBpbmRleCwgcG9pbnREaWFtZXRlciwgYmFyWCwgYmFyV2lkdGgsIHBvaW50SGVpZ2h0LCBsYWJlbCwgdmFsdWUsIGNsYXNzZXMsIHNjYWxlIH0gPSBwcm9wcztcblxuICBjb25zdCByID0gcG9pbnREaWFtZXRlciAvIDI7XG4gIGNvbnN0IGN4ID0gYmFyWCArIChiYXJXaWR0aCAtIHBvaW50RGlhbWV0ZXIpIC8gMiArIHI7XG4gIGNvbnN0IGN5ID0gc2NhbGUueShpbmRleCkgLSAocG9pbnRIZWlnaHQgLSBwb2ludERpYW1ldGVyKSAvIDIgLSByO1xuXG4gIHJldHVybiA8Q2lyY2xlIGtleT17YHBvaW50LSR7bGFiZWx9LSR7dmFsdWV9LSR7aW5kZXh9YH0gY2xhc3NOYW1lPXtjbGFzc2VzLmRvdH0gY3g9e2N4fSBjeT17Y3l9IHI9e3J9IC8+O1xufTtcblxuQ3VzdG9tQmFyRWxlbWVudC5wcm9wVHlwZXMgPSB7XG4gIGluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuICBwb2ludERpYW1ldGVyOiBQcm9wVHlwZXMubnVtYmVyLFxuICBiYXJYOiBQcm9wVHlwZXMubnVtYmVyLFxuICBiYXJXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgcG9pbnRIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIHZhbHVlOiBQcm9wVHlwZXMubnVtYmVyLFxuICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgc2NhbGU6IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5leHBvcnQgY2xhc3MgRG90UGxvdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgZGF0YTogUHJvcFR5cGVzLmFycmF5LFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBkYXRhLCBncmFwaFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCB7IHNjYWxlID0ge30sIHNpemUgPSB7fSB9ID0gZ3JhcGhQcm9wcyB8fCB7fTtcbiAgICBjb25zdCB4QmFuZCA9IGRhdGFUb1hCYW5kKHNjYWxlLngsIGRhdGEsIHNpemUud2lkdGgsICdkb3RQbG90Jyk7XG5cbiAgICByZXR1cm4gPFBsb3Qgey4uLnByb3BzfSB4QmFuZD17eEJhbmR9IEN1c3RvbUJhckVsZW1lbnQ9e0N1c3RvbUJhckVsZW1lbnR9IC8+O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+ICh7XG4gIHR5cGU6ICdkb3RQbG90JyxcbiAgQ29tcG9uZW50OiBEb3RQbG90LFxuICBuYW1lOiAnRG90IFBsb3QnLFxufSk7XG4iXX0=
package/lib/plot/line.js DELETED
@@ -1,152 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.LinePlot = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _plot = require("@pie-lib/plot");
29
-
30
- var _utils = require("../utils");
31
-
32
- var _plot2 = _interopRequireDefault(require("./comm@pie-lib/plot"));
33
-
34
- var _shape = require("@vx/shape");
35
-
36
- var _group = require("@vx/group");
37
-
38
- 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); }; }
39
-
40
- 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; } }
41
-
42
- var CustomBarElement = function CustomBarElement(props) {
43
- var index = props.index,
44
- pointDiameter = props.pointDiameter,
45
- barX = props.barX,
46
- barWidth = props.barWidth,
47
- pointHeight = props.pointHeight,
48
- label = props.label,
49
- value = props.value,
50
- classes = props.classes,
51
- scale = props.scale;
52
- var x = barX + (barWidth - pointDiameter) / 2;
53
- var y = scale.y(index) - (pointHeight - pointDiameter) / 2;
54
- return /*#__PURE__*/_react["default"].createElement(_group.Group, null, /*#__PURE__*/_react["default"].createElement(_shape.LinePath, {
55
- data: [{
56
- x: x,
57
- y: y
58
- }, {
59
- x: x + pointDiameter,
60
- y: y - pointDiameter
61
- }],
62
- key: "point-".concat(label, "-").concat(value, "-").concat(index, "-1"),
63
- className: classes.line,
64
- x: function x(d) {
65
- return d.x;
66
- },
67
- y: function y(d) {
68
- return d.y;
69
- },
70
- strokeWidth: pointDiameter / 5
71
- }), /*#__PURE__*/_react["default"].createElement(_shape.LinePath, {
72
- data: [{
73
- x: x,
74
- y: y - pointDiameter
75
- }, {
76
- x: x + pointDiameter,
77
- y: y
78
- }],
79
- key: "point-".concat(label, "-").concat(value, "-").concat(index, "-2"),
80
- className: classes.line,
81
- x: function x(d) {
82
- return d.x;
83
- },
84
- y: function y(d) {
85
- return d.y;
86
- },
87
- strokeWidth: pointDiameter / 5
88
- }));
89
- };
90
-
91
- CustomBarElement.propTypes = {
92
- index: _propTypes["default"].number,
93
- pointDiameter: _propTypes["default"].number,
94
- barX: _propTypes["default"].number,
95
- barWidth: _propTypes["default"].number,
96
- pointHeight: _propTypes["default"].number,
97
- value: _propTypes["default"].number,
98
- label: _propTypes["default"].string,
99
- classes: _propTypes["default"].object,
100
- scale: _propTypes["default"].object
101
- };
102
-
103
- var LinePlot = /*#__PURE__*/function (_React$Component) {
104
- (0, _inherits2["default"])(LinePlot, _React$Component);
105
-
106
- var _super = _createSuper(LinePlot);
107
-
108
- function LinePlot() {
109
- (0, _classCallCheck2["default"])(this, LinePlot);
110
- return _super.apply(this, arguments);
111
- }
112
-
113
- (0, _createClass2["default"])(LinePlot, [{
114
- key: "render",
115
- value: function render() {
116
- var props = this.props;
117
- var data = props.data,
118
- graphProps = props.graphProps;
119
-
120
- var _ref = graphProps || {},
121
- _ref$scale = _ref.scale,
122
- scale = _ref$scale === void 0 ? {} : _ref$scale,
123
- _ref$size = _ref.size,
124
- size = _ref$size === void 0 ? {} : _ref$size;
125
-
126
- var xBand = (0, _utils.dataToXBand)(scale.x, data, size.width, 'linePlot');
127
- return /*#__PURE__*/_react["default"].createElement(_plot2["default"], (0, _extends2["default"])({}, props, {
128
- xBand: xBand,
129
- CustomBarElement: CustomBarElement
130
- }));
131
- }
132
- }]);
133
- return LinePlot;
134
- }(_react["default"].Component);
135
-
136
- exports.LinePlot = LinePlot;
137
- (0, _defineProperty2["default"])(LinePlot, "propTypes", {
138
- data: _propTypes["default"].array,
139
- onChange: _propTypes["default"].func,
140
- graphProps: _plot.types.GraphPropsType.isRequired
141
- });
142
-
143
- var _default = function _default() {
144
- return {
145
- type: 'linePlot',
146
- Component: LinePlot,
147
- name: 'Line Plot'
148
- };
149
- };
150
-
151
- exports["default"] = _default;
152
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbG90L2xpbmUuanMiXSwibmFtZXMiOlsiQ3VzdG9tQmFyRWxlbWVudCIsInByb3BzIiwiaW5kZXgiLCJwb2ludERpYW1ldGVyIiwiYmFyWCIsImJhcldpZHRoIiwicG9pbnRIZWlnaHQiLCJsYWJlbCIsInZhbHVlIiwiY2xhc3NlcyIsInNjYWxlIiwieCIsInkiLCJsaW5lIiwiZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm51bWJlciIsInN0cmluZyIsIm9iamVjdCIsIkxpbmVQbG90IiwiZGF0YSIsImdyYXBoUHJvcHMiLCJzaXplIiwieEJhbmQiLCJ3aWR0aCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiYXJyYXkiLCJvbkNoYW5nZSIsImZ1bmMiLCJ0eXBlcyIsIkdyYXBoUHJvcHNUeXBlIiwiaXNSZXF1aXJlZCIsInR5cGUiLCJuYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNDLEtBQUQsRUFBVztBQUNsQyxNQUFRQyxLQUFSLEdBQTRGRCxLQUE1RixDQUFRQyxLQUFSO0FBQUEsTUFBZUMsYUFBZixHQUE0RkYsS0FBNUYsQ0FBZUUsYUFBZjtBQUFBLE1BQThCQyxJQUE5QixHQUE0RkgsS0FBNUYsQ0FBOEJHLElBQTlCO0FBQUEsTUFBb0NDLFFBQXBDLEdBQTRGSixLQUE1RixDQUFvQ0ksUUFBcEM7QUFBQSxNQUE4Q0MsV0FBOUMsR0FBNEZMLEtBQTVGLENBQThDSyxXQUE5QztBQUFBLE1BQTJEQyxLQUEzRCxHQUE0Rk4sS0FBNUYsQ0FBMkRNLEtBQTNEO0FBQUEsTUFBa0VDLEtBQWxFLEdBQTRGUCxLQUE1RixDQUFrRU8sS0FBbEU7QUFBQSxNQUF5RUMsT0FBekUsR0FBNEZSLEtBQTVGLENBQXlFUSxPQUF6RTtBQUFBLE1BQWtGQyxLQUFsRixHQUE0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QUNBLFVBQU1DLEtBQUssR0FBRyx3QkFBWWQsS0FBSyxDQUFDQyxDQUFsQixFQUFxQlUsSUFBckIsRUFBMkJFLElBQUksQ0FBQ0UsS0FBaEMsRUFBdUMsVUFBdkMsQ0FBZDtBQUVBLDBCQUFPLGdDQUFDLGlCQUFELGdDQUFVeEIsS0FBVjtBQUFpQixRQUFBLEtBQUssRUFBRXVCLEtBQXhCO0FBQStCLFFBQUEsZ0JBQWdCLEVBQUV4QjtBQUFqRCxTQUFQO0FBQ0Q7OztFQWQyQjBCLGtCQUFNQyxTOzs7aUNBQXZCUCxRLGVBQ1E7QUFDakJDLEVBQUFBLElBQUksRUFBRUwsc0JBQVVZLEtBREM7QUFFakJDLEVBQUFBLFFBQVEsRUFBRWIsc0JBQVVjLElBRkg7QUFHakJSLEVBQUFBLFVBQVUsRUFBRVMsWUFBTUMsY0FBTixDQUFxQkM7QUFIaEIsQzs7ZUFnQk47QUFBQSxTQUFPO0FBQ3BCQyxJQUFBQSxJQUFJLEVBQUUsVUFEYztBQUVwQlAsSUFBQUEsU0FBUyxFQUFFUCxRQUZTO0FBR3BCZSxJQUFBQSxJQUFJLEVBQUU7QUFIYyxHQUFQO0FBQUEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcbmltcG9ydCB7IGRhdGFUb1hCYW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IFBsb3QgZnJvbSAnLi9jb21tQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgeyBMaW5lUGF0aCB9IGZyb20gJ0B2eC9zaGFwZSc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ0B2eC9ncm91cCc7XG5cbmNvbnN0IEN1c3RvbUJhckVsZW1lbnQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBpbmRleCwgcG9pbnREaWFtZXRlciwgYmFyWCwgYmFyV2lkdGgsIHBvaW50SGVpZ2h0LCBsYWJlbCwgdmFsdWUsIGNsYXNzZXMsIHNjYWxlIH0gPSBwcm9wcztcblxuICBjb25zdCB4ID0gYmFyWCArIChiYXJXaWR0aCAtIHBvaW50RGlhbWV0ZXIpIC8gMjtcbiAgY29uc3QgeSA9IHNjYWxlLnkoaW5kZXgpIC0gKHBvaW50SGVpZ2h0IC0gcG9pbnREaWFtZXRlcikgLyAyO1xuXG4gIHJldHVybiAoXG4gICAgPEdyb3VwPlxuICAgICAgPExpbmVQYXRoXG4gICAgICAgIGRhdGE9e1tcbiAgICAgICAgICB7IHgsIHkgfSxcbiAgICAgICAgICB7IHg6IHggKyBwb2ludERpYW1ldGVyLCB5OiB5IC0gcG9pbnREaWFtZXRlciB9LFxuICAgICAgICBdfVxuICAgICAgICBrZXk9e2Bwb2ludC0ke2xhYmVsfS0ke3ZhbHVlfS0ke2luZGV4fS0xYH1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmxpbmV9XG4gICAgICAgIHg9eyhkKSA9PiBkLnh9XG4gICAgICAgIHk9eyhkKSA9PiBkLnl9XG4gICAgICAgIHN0cm9rZVdpZHRoPXtwb2ludERpYW1ldGVyIC8gNX1cbiAgICAgIC8+XG4gICAgICA8TGluZVBhdGhcbiAgICAgICAgZGF0YT17W1xuICAgICAgICAgIHsgeCwgeTogeSAtIHBvaW50RGlhbWV0ZXIgfSxcbiAgICAgICAgICB7IHg6IHggKyBwb2ludERpYW1ldGVyLCB5IH0sXG4gICAgICAgIF19XG4gICAgICAgIGtleT17YHBvaW50LSR7bGFiZWx9LSR7dmFsdWV9LSR7aW5kZXh9LTJgfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubGluZX1cbiAgICAgICAgeD17KGQpID0+IGQueH1cbiAgICAgICAgeT17KGQpID0+IGQueX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9e3BvaW50RGlhbWV0ZXIgLyA1fVxuICAgICAgLz5cbiAgICA8L0dyb3VwPlxuICApO1xufTtcblxuQ3VzdG9tQmFyRWxlbWVudC5wcm9wVHlwZXMgPSB7XG4gIGluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuICBwb2ludERpYW1ldGVyOiBQcm9wVHlwZXMubnVtYmVyLFxuICBiYXJYOiBQcm9wVHlwZXMubnVtYmVyLFxuICBiYXJXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgcG9pbnRIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIHZhbHVlOiBQcm9wVHlwZXMubnVtYmVyLFxuICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgc2NhbGU6IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5leHBvcnQgY2xhc3MgTGluZVBsb3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGRhdGE6IFByb3BUeXBlcy5hcnJheSxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZ3JhcGhQcm9wczogdHlwZXMuR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGF0YSwgZ3JhcGhQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBzY2FsZSA9IHt9LCBzaXplID0ge30gfSA9IGdyYXBoUHJvcHMgfHwge307XG4gICAgY29uc3QgeEJhbmQgPSBkYXRhVG9YQmFuZChzY2FsZS54LCBkYXRhLCBzaXplLndpZHRoLCAnbGluZVBsb3QnKTtcblxuICAgIHJldHVybiA8UGxvdCB7Li4ucHJvcHN9IHhCYW5kPXt4QmFuZH0gQ3VzdG9tQmFyRWxlbWVudD17Q3VzdG9tQmFyRWxlbWVudH0gLz47XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gKHtcbiAgdHlwZTogJ2xpbmVQbG90JyxcbiAgQ29tcG9uZW50OiBMaW5lUGxvdCxcbiAgbmFtZTogJ0xpbmUgUGxvdCcsXG59KTtcbiJdfQ==