@pie-lib/graphing-solution-set 2.16.0-beta.0 → 2.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 (121) hide show
  1. package/CHANGELOG.md +157 -1
  2. package/lib/axis/arrow.js +1 -1
  3. package/lib/axis/arrow.js.map +1 -0
  4. package/lib/axis/axes.js +4 -4
  5. package/lib/axis/axes.js.map +1 -0
  6. package/lib/axis/index.js +1 -1
  7. package/lib/axis/index.js.map +1 -0
  8. package/lib/bg.js +1 -1
  9. package/lib/bg.js.map +1 -0
  10. package/lib/container/actions.js +1 -1
  11. package/lib/container/actions.js.map +1 -0
  12. package/lib/container/index.js +1 -1
  13. package/lib/container/index.js.map +1 -0
  14. package/lib/container/marks.js +1 -1
  15. package/lib/container/marks.js.map +1 -0
  16. package/lib/container/middleware.js +1 -1
  17. package/lib/container/middleware.js.map +1 -0
  18. package/lib/container/reducer.js +1 -1
  19. package/lib/container/reducer.js.map +1 -0
  20. package/lib/coordinates-label.js +3 -3
  21. package/lib/coordinates-label.js.map +1 -0
  22. package/lib/graph-with-controls.js +4 -4
  23. package/lib/graph-with-controls.js.map +1 -0
  24. package/lib/graph.js +1 -1
  25. package/lib/graph.js.map +1 -0
  26. package/lib/grid-setup.js +4 -4
  27. package/lib/grid-setup.js.map +1 -0
  28. package/lib/grid.js +1 -1
  29. package/lib/grid.js.map +1 -0
  30. package/lib/index.js +1 -1
  31. package/lib/index.js.map +1 -0
  32. package/lib/labels.js +4 -4
  33. package/lib/labels.js.map +1 -0
  34. package/lib/mark-label.js +7 -7
  35. package/lib/mark-label.js.map +1 -0
  36. package/lib/shared/index.js +136 -0
  37. package/lib/toggle-bar.js +10 -10
  38. package/lib/toggle-bar.js.map +1 -0
  39. package/lib/tool-menu.js +1 -1
  40. package/lib/tool-menu.js.map +1 -0
  41. package/lib/tools/index.js +1 -1
  42. package/lib/tools/index.js.map +1 -0
  43. package/lib/tools/line/component.js +1 -1
  44. package/lib/tools/line/component.js.map +1 -0
  45. package/lib/tools/line/index.js +1 -1
  46. package/lib/tools/line/index.js.map +1 -0
  47. package/lib/tools/polygon/component.js +1 -1
  48. package/lib/tools/polygon/component.js.map +1 -0
  49. package/lib/tools/polygon/index.js +1 -1
  50. package/lib/tools/polygon/index.js.map +1 -0
  51. package/lib/tools/polygon/line.js +3 -3
  52. package/lib/tools/polygon/line.js.map +1 -0
  53. package/lib/tools/polygon/polygon.js +4 -4
  54. package/lib/tools/polygon/polygon.js.map +1 -0
  55. package/lib/tools/shared/arrow-head.js +3 -3
  56. package/lib/tools/shared/arrow-head.js.map +1 -0
  57. package/lib/tools/shared/line/index.js +7 -7
  58. package/lib/tools/shared/line/index.js.map +1 -0
  59. package/lib/tools/shared/line/line-path.js +4 -4
  60. package/lib/tools/shared/line/line-path.js.map +1 -0
  61. package/lib/tools/shared/line/with-root-edge.js +1 -1
  62. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  63. package/lib/tools/shared/point/arrow-point.js +1 -1
  64. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  65. package/lib/tools/shared/point/arrow.js +1 -1
  66. package/lib/tools/shared/point/arrow.js.map +1 -0
  67. package/lib/tools/shared/point/base-point.js +3 -3
  68. package/lib/tools/shared/point/base-point.js.map +1 -0
  69. package/lib/tools/shared/point/index.js +3 -3
  70. package/lib/tools/shared/point/index.js.map +1 -0
  71. package/lib/tools/shared/styles.js +6 -6
  72. package/lib/tools/shared/styles.js.map +1 -0
  73. package/lib/tools/shared/types.js +1 -1
  74. package/lib/tools/shared/types.js.map +1 -0
  75. package/lib/undo-redo.js +3 -3
  76. package/lib/undo-redo.js.map +1 -0
  77. package/lib/use-debounce.js +1 -1
  78. package/lib/use-debounce.js.map +1 -0
  79. package/lib/utils.js +1 -1
  80. package/lib/utils.js.map +1 -0
  81. package/package.json +14 -9
  82. package/src/axis/axes.jsx +1 -1
  83. package/src/coordinates-label.jsx +1 -1
  84. package/src/graph-with-controls.jsx +1 -1
  85. package/src/grid-setup.jsx +5 -8
  86. package/src/labels.jsx +1 -1
  87. package/src/mark-label.jsx +1 -1
  88. package/src/toggle-bar.jsx +1 -1
  89. package/src/tools/polygon/line.jsx +1 -1
  90. package/src/tools/polygon/polygon.jsx +1 -1
  91. package/src/tools/shared/arrow-head.jsx +1 -1
  92. package/src/tools/shared/line/index.jsx +1 -1
  93. package/src/tools/shared/line/line-path.jsx +1 -1
  94. package/src/tools/shared/point/base-point.jsx +1 -1
  95. package/src/tools/shared/point/index.jsx +1 -1
  96. package/src/tools/shared/styles.js +1 -1
  97. package/src/undo-redo.jsx +1 -1
  98. package/lib/__tests__/graph-with-controls.test.js +0 -191
  99. package/lib/__tests__/graph.test.js +0 -290
  100. package/lib/__tests__/grid.test.js +0 -40
  101. package/lib/__tests__/labels.test.js +0 -59
  102. package/lib/__tests__/mark-label.test.js +0 -154
  103. package/lib/__tests__/toggle-bar.test.js +0 -54
  104. package/lib/__tests__/tool-menu.test.js +0 -43
  105. package/lib/__tests__/undo-redo.test.js +0 -42
  106. package/lib/__tests__/use-debounce.test.js +0 -28
  107. package/lib/__tests__/utils.js +0 -72
  108. package/lib/__tests__/utils.test.js +0 -133
  109. package/lib/axis/__tests__/arrow.test.js +0 -68
  110. package/lib/axis/__tests__/axes.test.js +0 -214
  111. package/lib/tools/line/__tests__/component.test.js +0 -56
  112. package/lib/tools/polygon/__tests__/component.test.js +0 -245
  113. package/lib/tools/polygon/__tests__/index.test.js +0 -95
  114. package/lib/tools/polygon/__tests__/line.test.js +0 -43
  115. package/lib/tools/polygon/__tests__/polygon.test.js +0 -73
  116. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -62
  117. package/lib/tools/shared/line/__tests__/index.test.js +0 -291
  118. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -78
  119. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -122
  120. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -137
  121. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -134
@@ -1,137 +0,0 @@
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
@@ -1,134 +0,0 @@
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==