@pie-lib/graphing-solution-set 3.2.0-next.0 → 3.2.0-next.2

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/lib/__tests__/bg.test.js +282 -0
  2. package/lib/__tests__/coordinates-label.test.js +276 -0
  3. package/lib/__tests__/graph-with-controls.test.js +256 -0
  4. package/lib/__tests__/graph.test.js +113 -0
  5. package/lib/__tests__/grid-setup.test.js +729 -0
  6. package/lib/__tests__/grid.test.js +29 -0
  7. package/lib/__tests__/labels.test.js +45 -0
  8. package/lib/__tests__/mark-label.test.js +133 -0
  9. package/lib/__tests__/toggle-bar.test.js +146 -0
  10. package/lib/__tests__/tool-menu.test.js +540 -0
  11. package/lib/__tests__/undo-redo.test.js +31 -0
  12. package/lib/__tests__/use-debounce.test.js +24 -0
  13. package/lib/__tests__/utils.js +70 -0
  14. package/lib/__tests__/utils.test.js +123 -0
  15. package/lib/axis/__tests__/arrow.test.js +60 -0
  16. package/lib/axis/__tests__/axes.test.js +160 -0
  17. package/lib/axis/arrow.js +1 -1
  18. package/lib/axis/axes.js +1 -1
  19. package/lib/axis/index.js +1 -1
  20. package/lib/bg.js +1 -1
  21. package/lib/container/__tests__/actions.test.js +108 -0
  22. package/lib/container/__tests__/index.test.js +346 -0
  23. package/lib/container/__tests__/marks.test.js +259 -0
  24. package/lib/container/__tests__/middleware.test.js +244 -0
  25. package/lib/container/__tests__/reducer.test.js +450 -0
  26. package/lib/container/actions.js +1 -1
  27. package/lib/container/index.js +1 -1
  28. package/lib/container/marks.js +1 -1
  29. package/lib/container/middleware.js +1 -1
  30. package/lib/container/reducer.js +1 -1
  31. package/lib/coordinates-label.js +1 -1
  32. package/lib/graph-with-controls.js +1 -1
  33. package/lib/graph.js +1 -1
  34. package/lib/grid-setup.js +1 -1
  35. package/lib/grid.js +1 -1
  36. package/lib/index.js +1 -1
  37. package/lib/labels.js +1 -1
  38. package/lib/mark-label.js +1 -1
  39. package/lib/toggle-bar.js +1 -1
  40. package/lib/tool-menu.js +1 -1
  41. package/lib/tools/index.js +1 -1
  42. package/lib/tools/line/__tests__/component.test.js +45 -0
  43. package/lib/tools/line/component.js +1 -1
  44. package/lib/tools/line/index.js +1 -1
  45. package/lib/tools/polygon/__tests__/component.test.js +501 -0
  46. package/lib/tools/polygon/__tests__/index.test.js +92 -0
  47. package/lib/tools/polygon/__tests__/line.test.js +30 -0
  48. package/lib/tools/polygon/__tests__/polygon.test.js +61 -0
  49. package/lib/tools/polygon/component.js +1 -1
  50. package/lib/tools/polygon/index.js +1 -1
  51. package/lib/tools/polygon/line.js +1 -1
  52. package/lib/tools/polygon/polygon.js +1 -1
  53. package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
  54. package/lib/tools/shared/arrow-head.js +1 -1
  55. package/lib/tools/shared/line/__tests__/index.test.js +725 -0
  56. package/lib/tools/shared/line/__tests__/line-path.test.js +64 -0
  57. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +618 -0
  58. package/lib/tools/shared/line/index.js +1 -1
  59. package/lib/tools/shared/line/line-path.js +1 -1
  60. package/lib/tools/shared/line/with-root-edge.js +1 -1
  61. package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
  62. package/lib/tools/shared/point/__tests__/arrow.test.js +619 -0
  63. package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
  64. package/lib/tools/shared/point/arrow-point.js +1 -1
  65. package/lib/tools/shared/point/arrow.js +1 -1
  66. package/lib/tools/shared/point/base-point.js +1 -1
  67. package/lib/tools/shared/point/index.js +1 -1
  68. package/lib/tools/shared/styles.js +1 -1
  69. package/lib/tools/shared/types.js +1 -1
  70. package/lib/undo-redo.js +1 -1
  71. package/lib/use-debounce.js +1 -1
  72. package/lib/utils.js +1 -1
  73. package/package.json +10 -13
  74. package/LICENSE.md +0 -5
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var _testUtils = require("@pie-lib/test-utils");
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _utils = require("../../../../__tests__/utils");
9
+ var _plot = require("@pie-lib/plot");
10
+ var lineUtils = _interopRequireWildcard(require("../../../../utils"));
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
+ 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; }
13
+ 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; }
14
+ var xy = _plot.utils.xy;
15
+ var bounds = lineUtils.bounds,
16
+ pointsToArea = lineUtils.pointsToArea;
17
+ jest.mock('../../../../utils', function () {
18
+ var a = jest.requireActual('../../../../utils');
19
+ return {
20
+ pointsToArea: jest.fn().mockReturnValue({}),
21
+ bounds: jest.fn().mockReturnValue({}),
22
+ point: a.point
23
+ };
24
+ });
25
+ jest.mock('@pie-lib/plot', function () {
26
+ var a = jest.requireActual('@pie-lib/plot');
27
+ return {
28
+ gridDraggable: jest.fn(function (opts) {
29
+ return function (Comp) {
30
+ return Comp;
31
+ };
32
+ }),
33
+ types: a.types,
34
+ utils: a.utils
35
+ };
36
+ });
37
+ describe('LinePath', function () {
38
+ var LinePath;
39
+ var onChange = jest.fn();
40
+ beforeEach(function () {
41
+ LinePath = require('../line-path').LinePath;
42
+ });
43
+ var renderComponent = function renderComponent(extras) {
44
+ var defaults = {
45
+ classes: {},
46
+ className: 'className',
47
+ onChange: onChange,
48
+ graphProps: (0, _utils.graphProps)(),
49
+ from: xy(0, 0, 0),
50
+ to: xy(1, 1, 0),
51
+ data: [[0, 0], [1, 1]]
52
+ };
53
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
54
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(LinePath, props));
55
+ };
56
+ describe('rendering', function () {
57
+ it('renders without crashing', function () {
58
+ var _renderComponent = renderComponent(),
59
+ container = _renderComponent.container;
60
+ expect(container.firstChild).toBeInTheDocument();
61
+ });
62
+ });
63
+ });
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfcGxvdCIsImxpbmVVdGlscyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsInh5IiwidXRpbHMiLCJib3VuZHMiLCJwb2ludHNUb0FyZWEiLCJqZXN0IiwibW9jayIsImEiLCJyZXF1aXJlQWN0dWFsIiwiZm4iLCJtb2NrUmV0dXJuVmFsdWUiLCJwb2ludCIsImdyaWREcmFnZ2FibGUiLCJvcHRzIiwiQ29tcCIsInR5cGVzIiwiZGVzY3JpYmUiLCJMaW5lUGF0aCIsIm9uQ2hhbmdlIiwiYmVmb3JlRWFjaCIsInJlbmRlckNvbXBvbmVudCIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImdyYXBoUHJvcHMiLCJnZXRHcmFwaFByb3BzIiwiZnJvbSIsInRvIiwiZGF0YSIsInByb3BzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIml0IiwiX3JlbmRlckNvbXBvbmVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90b29scy9zaGFyZWQvbGluZS9fX3Rlc3RzX18vbGluZS1wYXRoLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0BwaWUtbGliL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdyYXBoUHJvcHMgYXMgZ2V0R3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0ICogYXMgbGluZVV0aWxzIGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcblxuY29uc3QgeyB4eSB9ID0gdXRpbHM7XG5cbmNvbnN0IHsgYm91bmRzLCBwb2ludHNUb0FyZWEgfSA9IGxpbmVVdGlscztcbmplc3QubW9jaygnLi4vLi4vLi4vLi4vdXRpbHMnLCAoKSA9PiB7XG4gIGNvbnN0IGEgPSBqZXN0LnJlcXVpcmVBY3R1YWwoJy4uLy4uLy4uLy4uL3V0aWxzJyk7XG4gIHJldHVybiB7XG4gICAgcG9pbnRzVG9BcmVhOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHt9KSxcbiAgICBib3VuZHM6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe30pLFxuICAgIHBvaW50OiBhLnBvaW50LFxuICB9O1xufSk7XG5cbmplc3QubW9jaygnQHBpZS1saWIvcGxvdCcsICgpID0+IHtcbiAgY29uc3QgYSA9IGplc3QucmVxdWlyZUFjdHVhbCgnQHBpZS1saWIvcGxvdCcpO1xuICByZXR1cm4ge1xuICAgIGdyaWREcmFnZ2FibGU6IGplc3QuZm4oKG9wdHMpID0+IChDb21wKSA9PiBDb21wKSxcbiAgICB0eXBlczogYS50eXBlcyxcbiAgICB1dGlsczogYS51dGlscyxcbiAgfTtcbn0pO1xuXG5kZXNjcmliZSgnTGluZVBhdGgnLCAoKSA9PiB7XG4gIGxldCBMaW5lUGF0aDtcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBMaW5lUGF0aCA9IHJlcXVpcmUoJy4uL2xpbmUtcGF0aCcpLkxpbmVQYXRoO1xuICB9KTtcbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBncmFwaFByb3BzOiBnZXRHcmFwaFByb3BzKCksXG4gICAgICBmcm9tOiB4eSgwLCAwLCAwKSxcbiAgICAgIHRvOiB4eSgxLCAxLCAwKSxcbiAgICAgIGRhdGE6IFtcbiAgICAgICAgWzAsIDBdLFxuICAgICAgICBbMSwgMV0sXG4gICAgICBdLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxMaW5lUGF0aCB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUMsdUJBQUEsQ0FBQU4sT0FBQTtBQUErQyxTQUFBTSx3QkFBQUMsQ0FB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