@pie-lib/graphing-solution-set 3.2.0-next.2 → 3.2.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -32
- package/LICENSE.md +5 -0
- package/lib/axis/arrow.js +1 -1
- package/lib/axis/axes.js +1 -1
- package/lib/axis/index.js +1 -1
- package/lib/bg.js +1 -1
- package/lib/container/actions.js +1 -1
- package/lib/container/index.js +1 -1
- package/lib/container/marks.js +1 -1
- package/lib/container/middleware.js +1 -1
- package/lib/container/reducer.js +1 -1
- package/lib/coordinates-label.js +1 -1
- package/lib/graph-with-controls.js +1 -1
- package/lib/graph.js +1 -1
- package/lib/grid-setup.js +1 -1
- package/lib/grid.js +1 -1
- package/lib/index.js +1 -1
- package/lib/labels.js +1 -1
- package/lib/mark-label.js +1 -1
- package/lib/toggle-bar.js +1 -1
- package/lib/tool-menu.js +1 -1
- package/lib/tools/index.js +1 -1
- package/lib/tools/line/component.js +1 -1
- package/lib/tools/line/index.js +1 -1
- package/lib/tools/polygon/component.js +1 -1
- package/lib/tools/polygon/index.js +1 -1
- package/lib/tools/polygon/line.js +1 -1
- package/lib/tools/polygon/polygon.js +1 -1
- package/lib/tools/shared/arrow-head.js +1 -1
- package/lib/tools/shared/line/index.js +1 -1
- package/lib/tools/shared/line/line-path.js +1 -1
- package/lib/tools/shared/line/with-root-edge.js +1 -1
- package/lib/tools/shared/point/arrow-point.js +1 -1
- package/lib/tools/shared/point/arrow.js +1 -1
- package/lib/tools/shared/point/base-point.js +1 -1
- package/lib/tools/shared/point/index.js +1 -1
- package/lib/tools/shared/styles.js +1 -1
- package/lib/tools/shared/types.js +1 -1
- package/lib/undo-redo.js +1 -1
- package/lib/use-debounce.js +1 -1
- package/lib/utils.js +1 -1
- package/package.json +4 -4
- package/lib/__tests__/bg.test.js +0 -282
- package/lib/__tests__/coordinates-label.test.js +0 -276
- package/lib/__tests__/graph-with-controls.test.js +0 -256
- package/lib/__tests__/graph.test.js +0 -113
- package/lib/__tests__/grid-setup.test.js +0 -729
- package/lib/__tests__/grid.test.js +0 -29
- package/lib/__tests__/labels.test.js +0 -45
- package/lib/__tests__/mark-label.test.js +0 -133
- package/lib/__tests__/toggle-bar.test.js +0 -146
- package/lib/__tests__/tool-menu.test.js +0 -540
- package/lib/__tests__/undo-redo.test.js +0 -31
- package/lib/__tests__/use-debounce.test.js +0 -24
- package/lib/__tests__/utils.js +0 -70
- package/lib/__tests__/utils.test.js +0 -123
- package/lib/axis/__tests__/arrow.test.js +0 -60
- package/lib/axis/__tests__/axes.test.js +0 -160
- package/lib/container/__tests__/actions.test.js +0 -108
- package/lib/container/__tests__/index.test.js +0 -346
- package/lib/container/__tests__/marks.test.js +0 -259
- package/lib/container/__tests__/middleware.test.js +0 -244
- package/lib/container/__tests__/reducer.test.js +0 -450
- package/lib/tools/line/__tests__/component.test.js +0 -45
- package/lib/tools/polygon/__tests__/component.test.js +0 -501
- package/lib/tools/polygon/__tests__/index.test.js +0 -92
- package/lib/tools/polygon/__tests__/line.test.js +0 -30
- package/lib/tools/polygon/__tests__/polygon.test.js +0 -61
- package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
- package/lib/tools/shared/line/__tests__/index.test.js +0 -725
- package/lib/tools/shared/line/__tests__/line-path.test.js +0 -64
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -618
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
- package/lib/tools/shared/point/__tests__/arrow.test.js +0 -619
- package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
5
|
-
var _testUtils = require("@pie-lib/test-utils");
|
|
6
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
-
var _index = require("../index");
|
|
8
|
-
var _plot = require("@pie-lib/plot");
|
|
9
|
-
var _utils = require("../../../../__tests__/utils");
|
|
10
|
-
var _utils2 = require("../../../../utils");
|
|
11
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
-
jest.mock('../../../../utils', function () {
|
|
14
|
-
var _jest$requireActual = jest.requireActual('../../../../utils'),
|
|
15
|
-
point = _jest$requireActual.point,
|
|
16
|
-
thinnerShapesNeeded = _jest$requireActual.thinnerShapesNeeded;
|
|
17
|
-
return {
|
|
18
|
-
bounds: jest.fn(),
|
|
19
|
-
point: point,
|
|
20
|
-
thinnerShapesNeeded: thinnerShapesNeeded
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
jest.mock('@pie-lib/plot', function () {
|
|
24
|
-
var _jest$requireActual2 = jest.requireActual('@pie-lib/plot'),
|
|
25
|
-
types = _jest$requireActual2.types,
|
|
26
|
-
utils = _jest$requireActual2.utils;
|
|
27
|
-
return {
|
|
28
|
-
gridDraggable: jest.fn(function (opts) {
|
|
29
|
-
return function (Comp) {
|
|
30
|
-
return Comp;
|
|
31
|
-
};
|
|
32
|
-
}),
|
|
33
|
-
types: types,
|
|
34
|
-
utils: utils
|
|
35
|
-
};
|
|
36
|
-
});
|
|
37
|
-
describe('BasePoint', function () {
|
|
38
|
-
var onChange = jest.fn();
|
|
39
|
-
var renderComponent = function renderComponent(extras) {
|
|
40
|
-
var defaults = {
|
|
41
|
-
classes: {},
|
|
42
|
-
className: 'className',
|
|
43
|
-
onChange: onChange,
|
|
44
|
-
graphProps: (0, _utils.graphProps)(),
|
|
45
|
-
x: 0,
|
|
46
|
-
y: 0
|
|
47
|
-
};
|
|
48
|
-
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
49
|
-
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_index.BasePoint, props));
|
|
50
|
-
};
|
|
51
|
-
describe('rendering', function () {
|
|
52
|
-
it('renders without crashing', function () {
|
|
53
|
-
var _renderComponent = renderComponent(),
|
|
54
|
-
container = _renderComponent.container;
|
|
55
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('gridDraggable options', function () {
|
|
59
|
-
var opts;
|
|
60
|
-
var domain;
|
|
61
|
-
var range;
|
|
62
|
-
beforeEach(function () {
|
|
63
|
-
domain = {
|
|
64
|
-
min: 0,
|
|
65
|
-
max: 1,
|
|
66
|
-
step: 1
|
|
67
|
-
};
|
|
68
|
-
range = {
|
|
69
|
-
min: 0,
|
|
70
|
-
max: 1,
|
|
71
|
-
step: 1
|
|
72
|
-
};
|
|
73
|
-
renderComponent();
|
|
74
|
-
opts = _plot.gridDraggable.mock.calls[_plot.gridDraggable.mock.calls.length - 1][0];
|
|
75
|
-
});
|
|
76
|
-
describe('bounds', function () {
|
|
77
|
-
it('calls utils.bounds with area', function () {
|
|
78
|
-
var result = opts.bounds({
|
|
79
|
-
x: 0,
|
|
80
|
-
y: 0
|
|
81
|
-
}, {
|
|
82
|
-
domain: domain,
|
|
83
|
-
range: range
|
|
84
|
-
});
|
|
85
|
-
expect(_utils2.bounds).toHaveBeenCalledWith({
|
|
86
|
-
left: 0,
|
|
87
|
-
top: 0,
|
|
88
|
-
bottom: 0,
|
|
89
|
-
right: 0
|
|
90
|
-
}, domain, range);
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
describe('anchorPoint', function () {
|
|
94
|
-
it('returns x/y', function () {
|
|
95
|
-
var result = opts.anchorPoint({
|
|
96
|
-
x: 0,
|
|
97
|
-
y: 0
|
|
98
|
-
});
|
|
99
|
-
expect(result).toEqual({
|
|
100
|
-
x: 0,
|
|
101
|
-
y: 0
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
describe('fromDelta', function () {
|
|
106
|
-
it('returns a new point from the x/y + delta', function () {
|
|
107
|
-
var result = opts.fromDelta({
|
|
108
|
-
x: -1,
|
|
109
|
-
y: 0
|
|
110
|
-
}, {
|
|
111
|
-
x: 1,
|
|
112
|
-
y: 3
|
|
113
|
-
});
|
|
114
|
-
expect(result).toEqual({
|
|
115
|
-
x: 0,
|
|
116
|
-
y: 3
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaW5kZXgiLCJfcGxvdCIsIl91dGlscyIsIl91dGlsczIiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImplc3QiLCJtb2NrIiwiX2plc3QkcmVxdWlyZUFjdHVhbCIsInJlcXVpcmVBY3R1YWwiLCJwb2ludCIsInRoaW5uZXJTaGFwZXNOZWVkZWQiLCJib3VuZHMiLCJmbiIsIl9qZXN0JHJlcXVpcmVBY3R1YWwyIiwidHlwZXMiLCJ1dGlscyIsImdyaWREcmFnZ2FibGUiLCJvcHRzIiwiQ29tcCIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwieCIsInkiLCJwcm9wcyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJCYXNlUG9pbnQiLCJpdCIsIl9yZW5kZXJDb21wb25lbnQiLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJkb21haW4iLCJyYW5nZSIsImJlZm9yZUVhY2giLCJtaW4iLCJtYXgiLCJzdGVwIiwiY2FsbHMiLCJyZXN1bHQiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsImxlZnQiLCJ0b3AiLCJib3R0b20iLCJyaWdodCIsImFuY2hvclBvaW50IiwidG9FcXVhbCIsImZyb21EZWx0YSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90b29scy9zaGFyZWQvcG9pbnQvX190ZXN0c19fL2Jhc2UtcG9pbnQudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHBpZS1saWIvdGVzdC11dGlscyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFzZVBvaW50IH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgZ3JpZERyYWdnYWJsZSB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5pbXBvcnQgeyBib3VuZHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5cbmplc3QubW9jaygnLi4vLi4vLi4vLi4vdXRpbHMnLCAoKSA9PiB7XG4gIGNvbnN0IHsgcG9pbnQsIHRoaW5uZXJTaGFwZXNOZWVkZWQgfSA9IGplc3QucmVxdWlyZUFjdHVhbCgnLi4vLi4vLi4vLi4vdXRpbHMnKTtcbiAgcmV0dXJuIHtcbiAgICBib3VuZHM6IGplc3QuZm4oKSxcbiAgICBwb2ludCxcbiAgICB0aGlubmVyU2hhcGVzTmVlZGVkLFxuICB9O1xufSk7XG5cbmplc3QubW9jaygnQHBpZS1saWIvcGxvdCcsICgpID0+IHtcbiAgY29uc3QgeyB0eXBlcywgdXRpbHMgfSA9IGplc3QucmVxdWlyZUFjdHVhbCgnQHBpZS1saWIvcGxvdCcpO1xuICByZXR1cm4ge1xuICAgIGdyaWREcmFnZ2FibGU6IGplc3QuZm4oKG9wdHMpID0+IChDb21wKSA9PiBDb21wKSxcbiAgICB0eXBlcyxcbiAgICB1dGlscyxcbiAgfTtcbn0pO1xuXG5kZXNjcmliZSgnQmFzZVBvaW50JywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBncmFwaFByb3BzOiBncmFwaFByb3BzKCksXG4gICAgICB4OiAwLFxuICAgICAgeTogMCxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHJlbmRlcig8QmFzZVBvaW50IHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKCdncmlkRHJhZ2dhYmxlIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgbGV0IG9wdHM7XG4gICAgbGV0IGRvbWFpbjtcbiAgICBsZXQgcmFuZ2U7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBkb21haW4gPSB7XG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxLFxuICAgICAgICBzdGVwOiAxLFxuICAgICAgfTtcbiAgICAgIHJhbmdlID0ge1xuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMSxcbiAgICAgICAgc3RlcDogMSxcbiAgICAgIH07XG4gICAgICByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIG9wdHMgPSBncmlkRHJhZ2dhYmxlLm1vY2suY2FsbHNbZ3JpZERyYWdnYWJsZS5tb2NrLmNhbGxzLmxlbmd0aCAtIDFdWzBdO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2JvdW5kcycsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyB1dGlscy5ib3VuZHMgd2l0aCBhcmVhJywgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBvcHRzLmJvdW5kcyh7IHg6IDAsIHk6IDAgfSwgeyBkb21haW4sIHJhbmdlIH0pO1xuICAgICAgICBleHBlY3QoYm91bmRzKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7IGxlZnQ6IDAsIHRvcDogMCwgYm90dG9tOiAwLCByaWdodDogMCB9LCBkb21haW4sIHJhbmdlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCdhbmNob3JQb2ludCcsICgpID0+IHtcbiAgICAgIGl0KCdyZXR1cm5zIHgveScsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gb3B0cy5hbmNob3JQb2ludCh7IHg6IDAsIHk6IDAgfSk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoeyB4OiAwLCB5OiAwIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZnJvbURlbHRhJywgKCkgPT4ge1xuICAgICAgaXQoJ3JldHVybnMgYSBuZXcgcG9pbnQgZnJvbSB0aGUgeC95ICsgZGVsdGEnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG9wdHMuZnJvbURlbHRhKHsgeDogLTEsIHk6IDAgfSwgeyB4OiAxLCB5OiAzIH0pO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgeDogMCwgeTogMyB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBQTJDLFNBQUFPLFFBQUFDLENB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
|