@pie-lib/graphing 4.1.0-beta.6 → 4.1.0-beta.8

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 (97) hide show
  1. package/package.json +3 -3
  2. package/lib/__tests__/bg.test.js +0 -282
  3. package/lib/__tests__/bg.test.js.map +0 -1
  4. package/lib/__tests__/coordinates-label.test.js +0 -276
  5. package/lib/__tests__/coordinates-label.test.js.map +0 -1
  6. package/lib/__tests__/graph-with-controls.test.js +0 -275
  7. package/lib/__tests__/graph-with-controls.test.js.map +0 -1
  8. package/lib/__tests__/graph.test.js +0 -927
  9. package/lib/__tests__/graph.test.js.map +0 -1
  10. package/lib/__tests__/grid-setup.test.js +0 -729
  11. package/lib/__tests__/grid-setup.test.js.map +0 -1
  12. package/lib/__tests__/grid.test.js +0 -29
  13. package/lib/__tests__/grid.test.js.map +0 -1
  14. package/lib/__tests__/key-legend.test.js +0 -321
  15. package/lib/__tests__/key-legend.test.js.map +0 -1
  16. package/lib/__tests__/label-svg-icon.test.js +0 -373
  17. package/lib/__tests__/label-svg-icon.test.js.map +0 -1
  18. package/lib/__tests__/labels.test.js +0 -61
  19. package/lib/__tests__/labels.test.js.map +0 -1
  20. package/lib/__tests__/mark-label.test.js +0 -133
  21. package/lib/__tests__/mark-label.test.js.map +0 -1
  22. package/lib/__tests__/toggle-bar.test.js +0 -197
  23. package/lib/__tests__/toggle-bar.test.js.map +0 -1
  24. package/lib/__tests__/tool-menu.test.js +0 -151
  25. package/lib/__tests__/tool-menu.test.js.map +0 -1
  26. package/lib/__tests__/undo-redo.test.js +0 -31
  27. package/lib/__tests__/undo-redo.test.js.map +0 -1
  28. package/lib/__tests__/use-debounce.test.js +0 -24
  29. package/lib/__tests__/use-debounce.test.js.map +0 -1
  30. package/lib/__tests__/utils.js +0 -70
  31. package/lib/__tests__/utils.js.map +0 -1
  32. package/lib/__tests__/utils.test.js +0 -123
  33. package/lib/__tests__/utils.test.js.map +0 -1
  34. package/lib/axis/__tests__/arrow.test.js +0 -60
  35. package/lib/axis/__tests__/arrow.test.js.map +0 -1
  36. package/lib/axis/__tests__/axes.test.js +0 -195
  37. package/lib/axis/__tests__/axes.test.js.map +0 -1
  38. package/lib/container/__tests__/actions.test.js +0 -108
  39. package/lib/container/__tests__/actions.test.js.map +0 -1
  40. package/lib/container/__tests__/index.test.js +0 -503
  41. package/lib/container/__tests__/index.test.js.map +0 -1
  42. package/lib/container/__tests__/marks.test.js +0 -259
  43. package/lib/container/__tests__/marks.test.js.map +0 -1
  44. package/lib/container/__tests__/middleware.test.js +0 -244
  45. package/lib/container/__tests__/middleware.test.js.map +0 -1
  46. package/lib/container/__tests__/reducer.test.js +0 -450
  47. package/lib/container/__tests__/reducer.test.js.map +0 -1
  48. package/lib/tools/absolute/__tests__/component.test.js +0 -65
  49. package/lib/tools/absolute/__tests__/component.test.js.map +0 -1
  50. package/lib/tools/circle/__tests__/bg-circle.test.js +0 -33
  51. package/lib/tools/circle/__tests__/bg-circle.test.js.map +0 -1
  52. package/lib/tools/circle/__tests__/component.test.js +0 -615
  53. package/lib/tools/circle/__tests__/component.test.js.map +0 -1
  54. package/lib/tools/circle/__tests__/index.test.js +0 -576
  55. package/lib/tools/circle/__tests__/index.test.js.map +0 -1
  56. package/lib/tools/exponential/__tests__/component.test.js +0 -64
  57. package/lib/tools/exponential/__tests__/component.test.js.map +0 -1
  58. package/lib/tools/exponential/__tests__/index.test.js +0 -828
  59. package/lib/tools/exponential/__tests__/index.test.js.map +0 -1
  60. package/lib/tools/line/__tests__/component.test.js +0 -45
  61. package/lib/tools/line/__tests__/component.test.js.map +0 -1
  62. package/lib/tools/parabola/__tests__/component.test.js +0 -64
  63. package/lib/tools/parabola/__tests__/component.test.js.map +0 -1
  64. package/lib/tools/parabola/__tests__/index.test.js +0 -564
  65. package/lib/tools/parabola/__tests__/index.test.js.map +0 -1
  66. package/lib/tools/point/__tests__/component.test.js +0 -434
  67. package/lib/tools/point/__tests__/component.test.js.map +0 -1
  68. package/lib/tools/point/__tests__/index.test.js +0 -262
  69. package/lib/tools/point/__tests__/index.test.js.map +0 -1
  70. package/lib/tools/polygon/__tests__/component.test.js +0 -485
  71. package/lib/tools/polygon/__tests__/component.test.js.map +0 -1
  72. package/lib/tools/polygon/__tests__/index.test.js +0 -303
  73. package/lib/tools/polygon/__tests__/index.test.js.map +0 -1
  74. package/lib/tools/polygon/__tests__/line.test.js +0 -50
  75. package/lib/tools/polygon/__tests__/line.test.js.map +0 -1
  76. package/lib/tools/polygon/__tests__/polygon.test.js +0 -85
  77. package/lib/tools/polygon/__tests__/polygon.test.js.map +0 -1
  78. package/lib/tools/ray/__tests__/component.test.js +0 -35
  79. package/lib/tools/ray/__tests__/component.test.js.map +0 -1
  80. package/lib/tools/segment/__tests__/component.test.js +0 -35
  81. package/lib/tools/segment/__tests__/component.test.js.map +0 -1
  82. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
  83. package/lib/tools/shared/__tests__/arrow-head.test.js.map +0 -1
  84. package/lib/tools/shared/line/__tests__/index.test.js +0 -124
  85. package/lib/tools/shared/line/__tests__/index.test.js.map +0 -1
  86. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -62
  87. package/lib/tools/shared/line/__tests__/line-path.test.js.map +0 -1
  88. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -90
  89. package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +0 -1
  90. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
  91. package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +0 -1
  92. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
  93. package/lib/tools/shared/point/__tests__/base-point.test.js.map +0 -1
  94. package/lib/tools/sine/__tests__/component.test.js +0 -72
  95. package/lib/tools/sine/__tests__/component.test.js.map +0 -1
  96. package/lib/tools/vector/__tests__/component.test.js +0 -32
  97. package/lib/tools/vector/__tests__/component.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark-label.test.js","names":["_testUtils","require","_react","_interopRequireDefault","_markLabel","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","describe","onChange","jest","fn","inputRef","renderComponent","extras","defaults","classes","className","mark","x","y","graphProps","getGraphProps","props","render","createElement","MarkLabel","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","_renderComponent2","assertPosition","rect","expected","concat","width","height","result","position","toEqual","assertCoordinates","pos","left","top","coordinates"],"sources":["../../src/__tests__/mark-label.test.jsx"],"sourcesContent":["import { render } from '@pie-lib/test-utils';\nimport React from 'react';\nimport { coordinates, MarkLabel, position } from '../mark-label';\nimport { graphProps as getGraphProps } from './utils';\n\ndescribe('MarkLabel', () => {\n let onChange = jest.fn();\n let inputRef = jest.fn();\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n onChange,\n inputRef,\n mark: { x: 1, y: 1 },\n graphProps: getGraphProps(0, 10, 0, 10),\n };\n const props = { ...defaults, ...extras };\n return render(<MarkLabel {...props} />);\n };\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n it('renders with different mark position', () => {\n const { container } = renderComponent({ mark: { x: 10, y: 10 } });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n\ndescribe('position', () => {\n const assertPosition = (mark, rect, expected) => {\n it(`${mark.x},${mark.y} + ${rect.width},${rect.height} => ${expected}`, () => {\n // we set range.min to a value because in pixels - the greater the Y the lower down on the screen.\n const graphProps = getGraphProps(0, 12, 12, 0);\n const result = position(graphProps, mark, rect);\n expect(result).toEqual(expected);\n });\n };\n\n assertPosition({ x: 0, y: 0 }, { width: 10, height: 10 }, 'top-left');\n assertPosition({ x: 0, y: 0 }, { width: 1, height: 1 }, 'bottom-right');\n assertPosition({ x: 0, y: 0 }, { width: 10, height: 0 }, 'bottom-left');\n assertPosition({ x: 0, y: 0 }, { width: 0, height: 10 }, 'top-right');\n});\n\ndescribe('coordinates', () => {\n const assertCoordinates = (mark, rect, pos, expected) => {\n it(`${mark.x}, ${mark.y} -> ${pos} = ${expected.left}, ${expected.top}`, () => {\n const result = coordinates(getGraphProps(), mark, rect, pos);\n expect(result).toEqual(expected);\n });\n };\n assertCoordinates({ x: 0, y: 0 }, { width: 0, height: 0 }, 'top-left', { left: -5, top: -5 });\n assertCoordinates({ x: 0, y: 0 }, { width: 0, height: 0 }, 'bottom-left', { left: -5, top: 5 });\n assertCoordinates({ x: 0, y: 0 }, { width: 0, height: 0 }, 'top-right', { left: 5, top: -5 });\n assertCoordinates({ x: 0, y: 0 }, { width: 0, height: 0 }, 'bottom-right', {\n left: 5,\n top: 5,\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,197 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _testUtils = require("@pie-lib/test-utils");
10
- var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
- var _react = _interopRequireDefault(require("react"));
12
- var _toggleBar = require("../toggle-bar");
13
- 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; }
14
- 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; }
15
- jest.mock('@pie-lib/drag', function () {
16
- return {
17
- DragProvider: function DragProvider(_ref) {
18
- var children = _ref.children;
19
- return /*#__PURE__*/_react["default"].createElement("div", {
20
- "data-testid": "drag-provider"
21
- }, children);
22
- }
23
- };
24
- });
25
- jest.mock('@dnd-kit/core', function () {
26
- return {
27
- useDraggable: jest.fn(function () {
28
- return {
29
- attributes: {
30
- role: 'button',
31
- tabIndex: 0
32
- },
33
- listeners: {
34
- onPointerDown: jest.fn()
35
- },
36
- setNodeRef: jest.fn(),
37
- transform: null,
38
- transition: null,
39
- isDragging: false
40
- };
41
- }),
42
- useDroppable: jest.fn(function () {
43
- return {
44
- setNodeRef: jest.fn(),
45
- isOver: false,
46
- active: null
47
- };
48
- })
49
- };
50
- });
51
- jest.mock('@dnd-kit/utilities', function () {
52
- return {
53
- CSS: {
54
- Transform: {
55
- toString: jest.fn(function (transform) {
56
- return transform ? 'translate3d(0, 0, 0)' : '';
57
- })
58
- }
59
- }
60
- };
61
- });
62
- jest.mock('@dnd-kit/sortable', function () {
63
- return {
64
- arrayMove: jest.fn(function (array, from, to) {
65
- var newArray = (0, _toConsumableArray2["default"])(array);
66
- var _newArray$splice = newArray.splice(from, 1),
67
- _newArray$splice2 = (0, _slicedToArray2["default"])(_newArray$splice, 1),
68
- removed = _newArray$splice2[0];
69
- newArray.splice(to, 0, removed);
70
- return newArray;
71
- })
72
- };
73
- });
74
- jest.mock('@pie-lib/translator', function () {
75
- return {
76
- translator: {
77
- t: function t(key) {
78
- var parts = key.split('.');
79
- return parts[parts.length - 1];
80
- }
81
- }
82
- };
83
- });
84
- describe('ToggleBar', function () {
85
- var onChange = jest.fn();
86
- var onChangeToolsOrder = jest.fn();
87
- beforeEach(function () {
88
- onChange.mockClear();
89
- onChangeToolsOrder.mockClear();
90
- });
91
- var renderComponent = function renderComponent(extras) {
92
- var defaults = {
93
- className: 'className',
94
- onChange: onChange,
95
- onChangeToolsOrder: onChangeToolsOrder,
96
- options: ['point', 'line'],
97
- language: 'en'
98
- };
99
- var props = _objectSpread(_objectSpread({}, defaults), extras);
100
- return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_toggleBar.ToggleBar, props));
101
- };
102
- describe('rendering', function () {
103
- it('renders without crashing', function () {
104
- var _renderComponent = renderComponent(),
105
- container = _renderComponent.container;
106
- expect(container.firstChild).toBeInTheDocument();
107
- });
108
- it('renders tool buttons for valid tools', function () {
109
- renderComponent({
110
- options: ['point', 'line', 'circle']
111
- });
112
- expect(_testUtils.screen.getByText(/point/i)).toBeInTheDocument();
113
- expect(_testUtils.screen.getByText(/line/i)).toBeInTheDocument();
114
- expect(_testUtils.screen.getByText(/circle/i)).toBeInTheDocument();
115
- });
116
- it('does not render invalid tool options', function () {
117
- renderComponent({
118
- options: ['point', 'invalid-tool', 'line']
119
- });
120
- expect(_testUtils.screen.getByText(/point/i)).toBeInTheDocument();
121
- expect(_testUtils.screen.getByText(/line/i)).toBeInTheDocument();
122
- expect(_testUtils.screen.queryByText(/invalid-tool/i)).not.toBeInTheDocument();
123
- });
124
- it('highlights selected tool', function () {
125
- var _renderComponent2 = renderComponent({
126
- selectedToolType: 'line'
127
- }),
128
- container = _renderComponent2.container;
129
- var selectedButton = _testUtils.screen.getByText(/line/i).closest('button');
130
- expect(selectedButton).toHaveAttribute('value', 'line');
131
- });
132
- });
133
- describe('interactions', function () {
134
- it('calls onChange when tool button is clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
135
- var user, pointButton;
136
- return _regenerator["default"].wrap(function (_context) {
137
- while (1) switch (_context.prev = _context.next) {
138
- case 0:
139
- user = _userEvent["default"].setup();
140
- renderComponent({
141
- options: ['point', 'line']
142
- });
143
- pointButton = _testUtils.screen.getByText(/point/i).closest('button');
144
- _context.next = 1;
145
- return user.click(pointButton);
146
- case 1:
147
- expect(onChange).toHaveBeenCalledWith('point');
148
- case 2:
149
- case "end":
150
- return _context.stop();
151
- }
152
- }, _callee);
153
- })));
154
- it('calls onChange with selected tool type', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
155
- var user, lineButton;
156
- return _regenerator["default"].wrap(function (_context2) {
157
- while (1) switch (_context2.prev = _context2.next) {
158
- case 0:
159
- user = _userEvent["default"].setup();
160
- renderComponent({
161
- options: ['point', 'line'],
162
- selectedToolType: 'point'
163
- });
164
- lineButton = _testUtils.screen.getByText(/line/i).closest('button');
165
- _context2.next = 1;
166
- return user.click(lineButton);
167
- case 1:
168
- expect(onChange).toHaveBeenCalledWith('line');
169
- case 2:
170
- case "end":
171
- return _context2.stop();
172
- }
173
- }, _callee2);
174
- })));
175
- it('disables buttons when disabled prop is true', function () {
176
- renderComponent({
177
- disabled: true,
178
- options: ['point', 'line']
179
- });
180
- var pointButton = _testUtils.screen.getByText(/point/i).closest('button');
181
- var lineButton = _testUtils.screen.getByText(/line/i).closest('button');
182
- expect(pointButton).toBeDisabled();
183
- expect(lineButton).toBeDisabled();
184
- });
185
- it('does not call onChange when disabled', function () {
186
- renderComponent({
187
- disabled: true,
188
- options: ['point']
189
- });
190
- var pointButton = _testUtils.screen.getByText(/point/i).closest('button');
191
- expect(pointButton).toBeDisabled();
192
- // Note: Cannot test click on disabled button with pointer-events: none
193
- // The disabled state is verified above
194
- });
195
- });
196
- });
197
- //# sourceMappingURL=toggle-bar.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toggle-bar.test.js","names":["_testUtils","require","_userEvent","_interopRequireDefault","_react","_toggleBar","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","DragProvider","_ref","children","createElement","useDraggable","fn","attributes","role","tabIndex","listeners","onPointerDown","setNodeRef","transform","transition","isDragging","useDroppable","isOver","active","CSS","Transform","toString","arrayMove","array","from","to","newArray","_toConsumableArray2","_newArray$splice","splice","_newArray$splice2","_slicedToArray2","removed","translator","key","parts","split","describe","onChange","onChangeToolsOrder","beforeEach","mockClear","renderComponent","extras","defaults","className","options","language","props","render","ToggleBar","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","screen","getByText","queryByText","not","_renderComponent2","selectedToolType","selectedButton","closest","toHaveAttribute","_asyncToGenerator2","_regenerator","mark","_callee","user","pointButton","wrap","_context","prev","next","userEvent","setup","click","toHaveBeenCalledWith","stop","_callee2","lineButton","_context2","disabled","toBeDisabled"],"sources":["../../src/__tests__/toggle-bar.test.jsx"],"sourcesContent":["import { render, screen } from '@pie-lib/test-utils';\nimport userEvent from '@testing-library/user-event';\nimport React from 'react';\n\nimport { ToggleBar } from '../toggle-bar';\n\njest.mock('@pie-lib/drag', () => ({\n DragProvider: ({ children }) => <div data-testid=\"drag-provider\">{children}</div>,\n}));\n\njest.mock('@dnd-kit/core', () => ({\n useDraggable: jest.fn(() => ({\n attributes: {\n role: 'button',\n tabIndex: 0,\n },\n listeners: {\n onPointerDown: jest.fn(),\n },\n setNodeRef: jest.fn(),\n transform: null,\n transition: null,\n isDragging: false,\n })),\n useDroppable: jest.fn(() => ({\n setNodeRef: jest.fn(),\n isOver: false,\n active: null,\n })),\n}));\n\njest.mock('@dnd-kit/utilities', () => ({\n CSS: {\n Transform: {\n toString: jest.fn((transform) => (transform ? 'translate3d(0, 0, 0)' : '')),\n },\n },\n}));\n\njest.mock('@dnd-kit/sortable', () => ({\n arrayMove: jest.fn((array, from, to) => {\n const newArray = [...array];\n const [removed] = newArray.splice(from, 1);\n newArray.splice(to, 0, removed);\n return newArray;\n }),\n}));\n\njest.mock('@pie-lib/translator', () => ({\n translator: {\n t: (key) => {\n const parts = key.split('.');\n return parts[parts.length - 1];\n },\n },\n}));\n\ndescribe('ToggleBar', () => {\n let onChange = jest.fn();\n let onChangeToolsOrder = jest.fn();\n\n beforeEach(() => {\n onChange.mockClear();\n onChangeToolsOrder.mockClear();\n });\n\n const renderComponent = (extras) => {\n const defaults = {\n className: 'className',\n onChange,\n onChangeToolsOrder,\n options: ['point', 'line'],\n language: 'en',\n };\n const props = { ...defaults, ...extras };\n return render(<ToggleBar {...props} />);\n };\n\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders tool buttons for valid tools', () => {\n renderComponent({ options: ['point', 'line', 'circle'] });\n expect(screen.getByText(/point/i)).toBeInTheDocument();\n expect(screen.getByText(/line/i)).toBeInTheDocument();\n expect(screen.getByText(/circle/i)).toBeInTheDocument();\n });\n\n it('does not render invalid tool options', () => {\n renderComponent({ options: ['point', 'invalid-tool', 'line'] });\n expect(screen.getByText(/point/i)).toBeInTheDocument();\n expect(screen.getByText(/line/i)).toBeInTheDocument();\n expect(screen.queryByText(/invalid-tool/i)).not.toBeInTheDocument();\n });\n\n it('highlights selected tool', () => {\n const { container } = renderComponent({ selectedToolType: 'line' });\n const selectedButton = screen.getByText(/line/i).closest('button');\n expect(selectedButton).toHaveAttribute('value', 'line');\n });\n });\n\n describe('interactions', () => {\n it('calls onChange when tool button is clicked', async () => {\n const user = userEvent.setup();\n renderComponent({ options: ['point', 'line'] });\n\n const pointButton = screen.getByText(/point/i).closest('button');\n await user.click(pointButton);\n\n expect(onChange).toHaveBeenCalledWith('point');\n });\n\n it('calls onChange with selected tool type', async () => {\n const user = userEvent.setup();\n renderComponent({ options: ['point', 'line'], selectedToolType: 'point' });\n\n const lineButton = screen.getByText(/line/i).closest('button');\n await user.click(lineButton);\n\n expect(onChange).toHaveBeenCalledWith('line');\n });\n\n it('disables buttons when disabled prop is true', () => {\n renderComponent({ disabled: true, options: ['point', 'line'] });\n\n const pointButton = screen.getByText(/point/i).closest('button');\n const lineButton = screen.getByText(/line/i).closest('button');\n\n expect(pointButton).toBeDisabled();\n expect(lineButton).toBeDisabled();\n });\n\n it('does not call onChange when disabled', () => {\n renderComponent({ disabled: true, options: ['point'] });\n\n const pointButton = screen.getByText(/point/i).closest('button');\n expect(pointButton).toBeDisabled();\n // Note: Cannot test click on disabled button with pointer-events: none\n // The disabled state is verified above\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,151 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _testUtils = require("@pie-lib/test-utils");
10
- var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
- var _react = _interopRequireDefault(require("react"));
12
- var _toolMenu = _interopRequireDefault(require("../tool-menu"));
13
- 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; }
14
- 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; }
15
- jest.mock('@pie-lib/drag', function () {
16
- return {
17
- DragProvider: function DragProvider(_ref) {
18
- var children = _ref.children;
19
- return /*#__PURE__*/_react["default"].createElement("div", {
20
- "data-testid": "drag-provider"
21
- }, children);
22
- }
23
- };
24
- });
25
- jest.mock('@dnd-kit/core', function () {
26
- return {
27
- useDraggable: jest.fn(function () {
28
- return {
29
- attributes: {
30
- role: 'button',
31
- tabIndex: 0
32
- },
33
- listeners: {
34
- onPointerDown: jest.fn()
35
- },
36
- setNodeRef: jest.fn(),
37
- transform: null,
38
- transition: null,
39
- isDragging: false
40
- };
41
- }),
42
- useDroppable: jest.fn(function () {
43
- return {
44
- setNodeRef: jest.fn(),
45
- isOver: false,
46
- active: null
47
- };
48
- })
49
- };
50
- });
51
- jest.mock('@dnd-kit/utilities', function () {
52
- return {
53
- CSS: {
54
- Transform: {
55
- toString: jest.fn(function (transform) {
56
- return transform ? 'translate3d(0, 0, 0)' : '';
57
- })
58
- }
59
- }
60
- };
61
- });
62
- jest.mock('@dnd-kit/sortable', function () {
63
- return {
64
- arrayMove: jest.fn(function (array, from, to) {
65
- var newArray = (0, _toConsumableArray2["default"])(array);
66
- var _newArray$splice = newArray.splice(from, 1),
67
- _newArray$splice2 = (0, _slicedToArray2["default"])(_newArray$splice, 1),
68
- removed = _newArray$splice2[0];
69
- newArray.splice(to, 0, removed);
70
- return newArray;
71
- })
72
- };
73
- });
74
- describe('ToolMenu', function () {
75
- var onChange = jest.fn();
76
- var onChangeTools = jest.fn();
77
- beforeEach(function () {
78
- onChange.mockClear();
79
- onChangeTools.mockClear();
80
- });
81
- var renderComponent = function renderComponent(extras) {
82
- var defaults = {
83
- className: 'className',
84
- onChange: onChange,
85
- onChangeTools: onChangeTools,
86
- currentToolType: 'point',
87
- toolbarTools: ['point', 'line'],
88
- language: 'en'
89
- };
90
- var props = _objectSpread(_objectSpread({}, defaults), extras);
91
- return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_toolMenu["default"], props));
92
- };
93
- describe('rendering', function () {
94
- it('renders without crashing', function () {
95
- var _renderComponent = renderComponent(),
96
- container = _renderComponent.container;
97
- expect(container.firstChild).toBeInTheDocument();
98
- });
99
- it('renders ToggleBar with correct props', function () {
100
- renderComponent({
101
- toolbarTools: ['point', 'line', 'circle']
102
- });
103
- expect(_testUtils.screen.getByText(/point/i)).toBeInTheDocument();
104
- expect(_testUtils.screen.getByText(/line/i)).toBeInTheDocument();
105
- expect(_testUtils.screen.getByText(/circle/i)).toBeInTheDocument();
106
- });
107
- it('passes currentToolType to ToggleBar', function () {
108
- renderComponent({
109
- currentToolType: 'line'
110
- });
111
- var selectedButton = _testUtils.screen.getByText(/line/i).closest('button');
112
- expect(selectedButton).toBeInTheDocument();
113
- });
114
- });
115
- describe('interactions', function () {
116
- it('calls onChange when tool is selected', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
117
- var user, lineButton;
118
- return _regenerator["default"].wrap(function (_context) {
119
- while (1) switch (_context.prev = _context.next) {
120
- case 0:
121
- user = _userEvent["default"].setup();
122
- renderComponent();
123
- lineButton = _testUtils.screen.getByText(/line/i).closest('button');
124
- _context.next = 1;
125
- return user.click(lineButton);
126
- case 1:
127
- expect(onChange).toHaveBeenCalledWith('line');
128
- case 2:
129
- case "end":
130
- return _context.stop();
131
- }
132
- }, _callee);
133
- })));
134
- it('calls onChangeTools when tools order changes', function () {
135
- renderComponent({
136
- draggableTools: true
137
- });
138
- // Note: Drag-and-drop testing requires more complex setup with @dnd-kit/test-utils
139
- // For now, we verify the component renders with draggableTools enabled
140
- expect(_testUtils.screen.getByText(/point/i)).toBeInTheDocument();
141
- });
142
- it('disables tools when disabled prop is true', function () {
143
- renderComponent({
144
- disabled: true
145
- });
146
- var pointButton = _testUtils.screen.getByText(/point/i).closest('button');
147
- expect(pointButton).toBeDisabled();
148
- });
149
- });
150
- });
151
- //# sourceMappingURL=tool-menu.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-menu.test.js","names":["_testUtils","require","_userEvent","_interopRequireDefault","_react","_toolMenu","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","DragProvider","_ref","children","createElement","useDraggable","fn","attributes","role","tabIndex","listeners","onPointerDown","setNodeRef","transform","transition","isDragging","useDroppable","isOver","active","CSS","Transform","toString","arrayMove","array","from","to","newArray","_toConsumableArray2","_newArray$splice","splice","_newArray$splice2","_slicedToArray2","removed","describe","onChange","onChangeTools","beforeEach","mockClear","renderComponent","extras","defaults","className","currentToolType","toolbarTools","language","props","render","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","screen","getByText","selectedButton","closest","_asyncToGenerator2","_regenerator","mark","_callee","user","lineButton","wrap","_context","prev","next","userEvent","setup","click","toHaveBeenCalledWith","stop","draggableTools","disabled","pointButton","toBeDisabled"],"sources":["../../src/__tests__/tool-menu.test.jsx"],"sourcesContent":["import { render, screen } from '@pie-lib/test-utils';\nimport userEvent from '@testing-library/user-event';\nimport React from 'react';\n\nimport ToolMenu from '../tool-menu';\n\njest.mock('@pie-lib/drag', () => ({\n DragProvider: ({ children }) => <div data-testid=\"drag-provider\">{children}</div>,\n}));\n\njest.mock('@dnd-kit/core', () => ({\n useDraggable: jest.fn(() => ({\n attributes: {\n role: 'button',\n tabIndex: 0,\n },\n listeners: {\n onPointerDown: jest.fn(),\n },\n setNodeRef: jest.fn(),\n transform: null,\n transition: null,\n isDragging: false,\n })),\n useDroppable: jest.fn(() => ({\n setNodeRef: jest.fn(),\n isOver: false,\n active: null,\n })),\n}));\n\njest.mock('@dnd-kit/utilities', () => ({\n CSS: {\n Transform: {\n toString: jest.fn((transform) => (transform ? 'translate3d(0, 0, 0)' : '')),\n },\n },\n}));\n\njest.mock('@dnd-kit/sortable', () => ({\n arrayMove: jest.fn((array, from, to) => {\n const newArray = [...array];\n const [removed] = newArray.splice(from, 1);\n newArray.splice(to, 0, removed);\n return newArray;\n }),\n}));\n\ndescribe('ToolMenu', () => {\n let onChange = jest.fn();\n let onChangeTools = jest.fn();\n\n beforeEach(() => {\n onChange.mockClear();\n onChangeTools.mockClear();\n });\n\n const renderComponent = (extras) => {\n const defaults = {\n className: 'className',\n onChange,\n onChangeTools,\n currentToolType: 'point',\n toolbarTools: ['point', 'line'],\n language: 'en',\n };\n const props = { ...defaults, ...extras };\n return render(<ToolMenu {...props} />);\n };\n\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders ToggleBar with correct props', () => {\n renderComponent({ toolbarTools: ['point', 'line', 'circle'] });\n expect(screen.getByText(/point/i)).toBeInTheDocument();\n expect(screen.getByText(/line/i)).toBeInTheDocument();\n expect(screen.getByText(/circle/i)).toBeInTheDocument();\n });\n\n it('passes currentToolType to ToggleBar', () => {\n renderComponent({ currentToolType: 'line' });\n const selectedButton = screen.getByText(/line/i).closest('button');\n expect(selectedButton).toBeInTheDocument();\n });\n });\n\n describe('interactions', () => {\n it('calls onChange when tool is selected', async () => {\n const user = userEvent.setup();\n renderComponent();\n\n const lineButton = screen.getByText(/line/i).closest('button');\n await user.click(lineButton);\n\n expect(onChange).toHaveBeenCalledWith('line');\n });\n\n it('calls onChangeTools when tools order changes', () => {\n renderComponent({ draggableTools: true });\n // Note: Drag-and-drop testing requires more complex setup with @dnd-kit/test-utils\n // For now, we verify the component renders with draggableTools enabled\n expect(screen.getByText(/point/i)).toBeInTheDocument();\n });\n\n it('disables tools when disabled prop is true', () => {\n renderComponent({ disabled: true });\n const pointButton = screen.getByText(/point/i).closest('button');\n expect(pointButton).toBeDisabled();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,31 +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 _undoRedo = _interopRequireDefault(require("../undo-redo"));
8
- 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; }
9
- 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; }
10
- describe('UndoRedo', function () {
11
- var onUndo = jest.fn();
12
- var onRedo = jest.fn();
13
- var onReset = jest.fn();
14
- var renderComponent = function renderComponent(extras) {
15
- var defaults = {
16
- onUndo: onUndo,
17
- onRedo: onRedo,
18
- onReset: onReset
19
- };
20
- var props = _objectSpread(_objectSpread({}, defaults), extras);
21
- return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_undoRedo["default"], props));
22
- };
23
- describe('rendering', function () {
24
- it('renders without crashing', function () {
25
- var _renderComponent = renderComponent(),
26
- container = _renderComponent.container;
27
- expect(container.firstChild).toBeInTheDocument();
28
- });
29
- });
30
- });
31
- //# sourceMappingURL=undo-redo.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"undo-redo.test.js","names":["_testUtils","require","_react","_interopRequireDefault","_undoRedo","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","describe","onUndo","jest","fn","onRedo","onReset","renderComponent","extras","defaults","props","render","createElement","it","_renderComponent","container","expect","firstChild","toBeInTheDocument"],"sources":["../../src/__tests__/undo-redo.test.jsx"],"sourcesContent":["import { render } from '@pie-lib/test-utils';\nimport React from 'react';\nimport UndoRedo from '../undo-redo';\n\ndescribe('UndoRedo', () => {\n let onUndo = jest.fn();\n let onRedo = jest.fn();\n let onReset = jest.fn();\n const renderComponent = (extras) => {\n const defaults = {\n onUndo,\n onRedo,\n onReset,\n };\n const props = { ...defaults, ...extras };\n return render(<UndoRedo {...props} />);\n };\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAoC,SAAAI,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAEpCoB,QAAQ,CAAC,UAAU,EAAE,YAAM;EACzB,IAAIC,MAAM,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACtB,IAAIC,MAAM,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;EACtB,IAAIE,OAAO,GAAGH,IAAI,CAACC,EAAE,CAAC,CAAC;EACvB,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,MAAM,EAAK;IAClC,IAAMC,QAAQ,GAAG;MACfP,MAAM,EAANA,MAAM;MACNG,MAAM,EAANA,MAAM;MACNC,OAAO,EAAPA;IACF,CAAC;IACD,IAAMI,KAAK,GAAAjB,aAAA,CAAAA,aAAA,KAAQgB,QAAQ,GAAKD,MAAM,CAAE;IACxC,OAAO,IAAAG,iBAAM,eAAClC,MAAA,YAAAmC,aAAA,CAACjC,SAAA,WAAQ,EAAK+B,KAAQ,CAAC,CAAC;EACxC,CAAC;EACDT,QAAQ,CAAC,WAAW,EAAE,YAAM;IAC1BY,EAAE,CAAC,0BAA0B,EAAE,YAAM;MACnC,IAAAC,gBAAA,GAAsBP,eAAe,CAAC,CAAC;QAA/BQ,SAAS,GAAAD,gBAAA,CAATC,SAAS;MACjBC,MAAM,CAACD,SAAS,CAACE,UAAU,CAAC,CAACC,iBAAiB,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- var _react = require("react");
4
- var _useDebounce = require("../use-debounce");
5
- jest.useFakeTimers();
6
- jest.mock('react', function () {
7
- return {
8
- useState: jest.fn(),
9
- useEffect: jest.fn(function (fn, deps) {
10
- return fn();
11
- })
12
- };
13
- });
14
- describe('useDebounce', function () {
15
- it('..', function () {
16
- var debouncedValue = null;
17
- var setDebouncedValue = jest.fn();
18
- _react.useState.mockReturnValue([debouncedValue, setDebouncedValue]);
19
- (0, _useDebounce.useDebounce)('foo', 1000);
20
- jest.runAllTimers();
21
- expect(setDebouncedValue).toHaveBeenCalledWith('foo');
22
- });
23
- });
24
- //# sourceMappingURL=use-debounce.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-debounce.test.js","names":["_react","require","_useDebounce","jest","useFakeTimers","mock","useState","fn","useEffect","deps","describe","it","debouncedValue","setDebouncedValue","mockReturnValue","useDebounce","runAllTimers","expect","toHaveBeenCalledWith"],"sources":["../../src/__tests__/use-debounce.test.js"],"sourcesContent":["import { useState } from 'react';\nimport { useDebounce } from '../use-debounce';\n\njest.useFakeTimers();\n\njest.mock('react', () => ({\n useState: jest.fn(),\n useEffect: jest.fn((fn, deps) => fn()),\n}));\n\ndescribe('useDebounce', () => {\n it('..', () => {\n const debouncedValue = null;\n const setDebouncedValue = jest.fn();\n\n useState.mockReturnValue([debouncedValue, setDebouncedValue]);\n useDebounce('foo', 1000);\n jest.runAllTimers();\n expect(setDebouncedValue).toHaveBeenCalledWith('foo');\n });\n});\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEAE,IAAI,CAACC,aAAa,CAAC,CAAC;AAEpBD,IAAI,CAACE,IAAI,CAAC,OAAO,EAAE;EAAA,OAAO;IACxBC,QAAQ,EAAEH,IAAI,CAACI,EAAE,CAAC,CAAC;IACnBC,SAAS,EAAEL,IAAI,CAACI,EAAE,CAAC,UAACA,EAAE,EAAEE,IAAI;MAAA,OAAKF,EAAE,CAAC,CAAC;IAAA;EACvC,CAAC;AAAA,CAAC,CAAC;AAEHG,QAAQ,CAAC,aAAa,EAAE,YAAM;EAC5BC,EAAE,CAAC,IAAI,EAAE,YAAM;IACb,IAAMC,cAAc,GAAG,IAAI;IAC3B,IAAMC,iBAAiB,GAAGV,IAAI,CAACI,EAAE,CAAC,CAAC;IAEnCD,eAAQ,CAACQ,eAAe,CAAC,CAACF,cAAc,EAAEC,iBAAiB,CAAC,CAAC;IAC7D,IAAAE,wBAAW,EAAC,KAAK,EAAE,IAAI,CAAC;IACxBZ,IAAI,CAACa,YAAY,CAAC,CAAC;IACnBC,MAAM,CAACJ,iBAAiB,CAAC,CAACK,oBAAoB,CAAC,KAAK,CAAC;EACvD,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.xy = exports.scaleMock = exports.graphProps = void 0;
7
- var _scaleMock = exports.scaleMock = function scaleMock() {
8
- var fn = jest.fn(function (n) {
9
- return n;
10
- });
11
- fn.invert = jest.fn(function (n) {
12
- return n;
13
- });
14
- fn.domain = jest.fn(function () {
15
- return fn;
16
- });
17
- fn.range = jest.fn(function () {
18
- return fn;
19
- });
20
- fn.copy = jest.fn(function () {
21
- return _scaleMock();
22
- });
23
- return fn;
24
- };
25
- var graphProps = exports.graphProps = function graphProps() {
26
- var dmin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
27
- var dmax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
28
- var rmin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
29
- var rmax = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
30
- return {
31
- scale: {
32
- x: _scaleMock(),
33
- y: _scaleMock()
34
- },
35
- snap: {
36
- x: jest.fn(function (n) {
37
- return n;
38
- }),
39
- y: jest.fn(function (n) {
40
- return n;
41
- })
42
- },
43
- domain: {
44
- min: dmin,
45
- max: dmax,
46
- step: 1
47
- },
48
- range: {
49
- min: rmin,
50
- max: rmax,
51
- step: 1
52
- },
53
- size: {
54
- width: 400,
55
- height: 400
56
- }
57
- };
58
- };
59
- var xy = exports.xy = function xy(x, y, index) {
60
- var out = {
61
- x: x,
62
- y: y,
63
- index: index
64
- };
65
- if (!Number.isFinite(index)) {
66
- delete out.index;
67
- }
68
- return out;
69
- };
70
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":["scaleMock","exports","fn","jest","n","invert","domain","range","copy","graphProps","dmin","arguments","length","undefined","dmax","rmin","rmax","scale","x","y","snap","min","max","step","size","width","height","xy","index","out","Number","isFinite"],"sources":["../../src/__tests__/utils.js"],"sourcesContent":["export const scaleMock = () => {\n const fn = jest.fn((n) => n);\n fn.invert = jest.fn((n) => n);\n fn.domain = jest.fn(() => fn);\n fn.range = jest.fn(() => fn);\n fn.copy = jest.fn(() => scaleMock());\n return fn;\n};\n\nexport const graphProps = (dmin = 0, dmax = 1, rmin = 0, rmax = 1) => ({\n scale: {\n x: scaleMock(),\n y: scaleMock(),\n },\n snap: {\n x: jest.fn((n) => n),\n y: jest.fn((n) => n),\n },\n domain: {\n min: dmin,\n max: dmax,\n step: 1,\n },\n range: {\n min: rmin,\n max: rmax,\n step: 1,\n },\n size: {\n width: 400,\n height: 400,\n },\n});\n\nexport const xy = (x, y, index) => {\n const out = { x, y, index };\n if (!Number.isFinite(index)) {\n delete out.index;\n }\n return out;\n};\n"],"mappings":";;;;;;AAAO,IAAMA,UAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,SAAZA,SAASA,CAAA,EAAS;EAC7B,IAAME,EAAE,GAAGC,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;IAAA,OAAKA,CAAC;EAAA,EAAC;EAC5BF,EAAE,CAACG,MAAM,GAAGF,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;IAAA,OAAKA,CAAC;EAAA,EAAC;EAC7BF,EAAE,CAACI,MAAM,GAAGH,IAAI,CAACD,EAAE,CAAC;IAAA,OAAMA,EAAE;EAAA,EAAC;EAC7BA,EAAE,CAACK,KAAK,GAAGJ,IAAI,CAACD,EAAE,CAAC;IAAA,OAAMA,EAAE;EAAA,EAAC;EAC5BA,EAAE,CAACM,IAAI,GAAGL,IAAI,CAACD,EAAE,CAAC;IAAA,OAAMF,UAAS,CAAC,CAAC;EAAA,EAAC;EACpC,OAAOE,EAAE;AACX,CAAC;AAEM,IAAMO,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,SAAbA,UAAUA,CAAA;EAAA,IAAIC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEG,IAAI,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEI,IAAI,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEK,IAAI,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OAAM;IACrEM,KAAK,EAAE;MACLC,CAAC,EAAElB,UAAS,CAAC,CAAC;MACdmB,CAAC,EAAEnB,UAAS,CAAC;IACf,CAAC;IACDoB,IAAI,EAAE;MACJF,CAAC,EAAEf,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;QAAA,OAAKA,CAAC;MAAA,EAAC;MACpBe,CAAC,EAAEhB,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;QAAA,OAAKA,CAAC;MAAA;IACrB,CAAC;IACDE,MAAM,EAAE;MACNe,GAAG,EAAEX,IAAI;MACTY,GAAG,EAAER,IAAI;MACTS,IAAI,EAAE;IACR,CAAC;IACDhB,KAAK,EAAE;MACLc,GAAG,EAAEN,IAAI;MACTO,GAAG,EAAEN,IAAI;MACTO,IAAI,EAAE;IACR,CAAC;IACDC,IAAI,EAAE;MACJC,KAAK,EAAE,GAAG;MACVC,MAAM,EAAE;IACV;EACF,CAAC;AAAA,CAAC;AAEK,IAAMC,EAAE,GAAA1B,OAAA,CAAA0B,EAAA,GAAG,SAALA,EAAEA,CAAIT,CAAC,EAAEC,CAAC,EAAES,KAAK,EAAK;EACjC,IAAMC,GAAG,GAAG;IAAEX,CAAC,EAADA,CAAC;IAAEC,CAAC,EAADA,CAAC;IAAES,KAAK,EAALA;EAAM,CAAC;EAC3B,IAAI,CAACE,MAAM,CAACC,QAAQ,CAACH,KAAK,CAAC,EAAE;IAC3B,OAAOC,GAAG,CAACD,KAAK;EAClB;EACA,OAAOC,GAAG;AACZ,CAAC","ignoreList":[]}