@pie-lib/graphing 3.0.0-next.0 → 3.1.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 (130) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/package.json +9 -17
  3. package/src/grid-setup.jsx +28 -34
  4. package/src/labels.jsx +1 -1
  5. package/lib/axis/arrow.js +0 -79
  6. package/lib/axis/arrow.js.map +0 -1
  7. package/lib/axis/axes.js +0 -327
  8. package/lib/axis/axes.js.map +0 -1
  9. package/lib/axis/index.js +0 -21
  10. package/lib/axis/index.js.map +0 -1
  11. package/lib/bg.js +0 -111
  12. package/lib/bg.js.map +0 -1
  13. package/lib/container/actions.js +0 -18
  14. package/lib/container/actions.js.map +0 -1
  15. package/lib/container/index.js +0 -118
  16. package/lib/container/index.js.map +0 -1
  17. package/lib/container/marks.js +0 -22
  18. package/lib/container/marks.js.map +0 -1
  19. package/lib/container/middleware.js +0 -19
  20. package/lib/container/middleware.js.map +0 -1
  21. package/lib/container/reducer.js +0 -18
  22. package/lib/container/reducer.js.map +0 -1
  23. package/lib/coordinates-label.js +0 -79
  24. package/lib/coordinates-label.js.map +0 -1
  25. package/lib/graph-with-controls.js +0 -295
  26. package/lib/graph-with-controls.js.map +0 -1
  27. package/lib/graph.js +0 -314
  28. package/lib/graph.js.map +0 -1
  29. package/lib/grid-setup.js +0 -406
  30. package/lib/grid-setup.js.map +0 -1
  31. package/lib/grid.js +0 -131
  32. package/lib/grid.js.map +0 -1
  33. package/lib/index.js +0 -47
  34. package/lib/index.js.map +0 -1
  35. package/lib/key-legend.js +0 -201
  36. package/lib/key-legend.js.map +0 -1
  37. package/lib/label-svg-icon.js +0 -50
  38. package/lib/label-svg-icon.js.map +0 -1
  39. package/lib/labels.js +0 -243
  40. package/lib/labels.js.map +0 -1
  41. package/lib/mark-label.js +0 -278
  42. package/lib/mark-label.js.map +0 -1
  43. package/lib/toggle-bar.js +0 -248
  44. package/lib/toggle-bar.js.map +0 -1
  45. package/lib/tool-menu.js +0 -78
  46. package/lib/tool-menu.js.map +0 -1
  47. package/lib/tools/absolute/component.js +0 -29
  48. package/lib/tools/absolute/component.js.map +0 -1
  49. package/lib/tools/absolute/index.js +0 -50
  50. package/lib/tools/absolute/index.js.map +0 -1
  51. package/lib/tools/circle/bg-circle.js +0 -123
  52. package/lib/tools/circle/bg-circle.js.map +0 -1
  53. package/lib/tools/circle/component.js +0 -319
  54. package/lib/tools/circle/component.js.map +0 -1
  55. package/lib/tools/circle/index.js +0 -41
  56. package/lib/tools/circle/index.js.map +0 -1
  57. package/lib/tools/exponential/component.js +0 -28
  58. package/lib/tools/exponential/component.js.map +0 -1
  59. package/lib/tools/exponential/index.js +0 -56
  60. package/lib/tools/exponential/index.js.map +0 -1
  61. package/lib/tools/index.js +0 -86
  62. package/lib/tools/index.js.map +0 -1
  63. package/lib/tools/line/component.js +0 -82
  64. package/lib/tools/line/component.js.map +0 -1
  65. package/lib/tools/line/index.js +0 -11
  66. package/lib/tools/line/index.js.map +0 -1
  67. package/lib/tools/parabola/component.js +0 -28
  68. package/lib/tools/parabola/component.js.map +0 -1
  69. package/lib/tools/parabola/index.js +0 -50
  70. package/lib/tools/parabola/index.js.map +0 -1
  71. package/lib/tools/point/component.js +0 -139
  72. package/lib/tools/point/component.js.map +0 -1
  73. package/lib/tools/point/index.js +0 -24
  74. package/lib/tools/point/index.js.map +0 -1
  75. package/lib/tools/polygon/component.js +0 -417
  76. package/lib/tools/polygon/component.js.map +0 -1
  77. package/lib/tools/polygon/index.js +0 -89
  78. package/lib/tools/polygon/index.js.map +0 -1
  79. package/lib/tools/polygon/line.js +0 -114
  80. package/lib/tools/polygon/line.js.map +0 -1
  81. package/lib/tools/polygon/polygon.js +0 -132
  82. package/lib/tools/polygon/polygon.js.map +0 -1
  83. package/lib/tools/ray/component.js +0 -83
  84. package/lib/tools/ray/component.js.map +0 -1
  85. package/lib/tools/ray/index.js +0 -11
  86. package/lib/tools/ray/index.js.map +0 -1
  87. package/lib/tools/segment/component.js +0 -57
  88. package/lib/tools/segment/component.js.map +0 -1
  89. package/lib/tools/segment/index.js +0 -11
  90. package/lib/tools/segment/index.js.map +0 -1
  91. package/lib/tools/shared/arrow-head.js +0 -111
  92. package/lib/tools/shared/arrow-head.js.map +0 -1
  93. package/lib/tools/shared/icons/CorrectSVG.js +0 -40
  94. package/lib/tools/shared/icons/CorrectSVG.js.map +0 -1
  95. package/lib/tools/shared/icons/IncorrectSVG.js +0 -40
  96. package/lib/tools/shared/icons/IncorrectSVG.js.map +0 -1
  97. package/lib/tools/shared/icons/MissingSVG.js +0 -39
  98. package/lib/tools/shared/icons/MissingSVG.js.map +0 -1
  99. package/lib/tools/shared/line/index.js +0 -546
  100. package/lib/tools/shared/line/index.js.map +0 -1
  101. package/lib/tools/shared/line/line-path.js +0 -120
  102. package/lib/tools/shared/line/line-path.js.map +0 -1
  103. package/lib/tools/shared/line/with-root-edge.js +0 -121
  104. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  105. package/lib/tools/shared/point/arrow-point.js +0 -72
  106. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  107. package/lib/tools/shared/point/arrow.js +0 -67
  108. package/lib/tools/shared/point/arrow.js.map +0 -1
  109. package/lib/tools/shared/point/base-point.js +0 -157
  110. package/lib/tools/shared/point/base-point.js.map +0 -1
  111. package/lib/tools/shared/point/index.js +0 -62
  112. package/lib/tools/shared/point/index.js.map +0 -1
  113. package/lib/tools/shared/styles.js +0 -30
  114. package/lib/tools/shared/styles.js.map +0 -1
  115. package/lib/tools/shared/types.js +0 -16
  116. package/lib/tools/shared/types.js.map +0 -1
  117. package/lib/tools/sine/component.js +0 -40
  118. package/lib/tools/sine/component.js.map +0 -1
  119. package/lib/tools/sine/index.js +0 -50
  120. package/lib/tools/sine/index.js.map +0 -1
  121. package/lib/tools/vector/component.js +0 -68
  122. package/lib/tools/vector/component.js.map +0 -1
  123. package/lib/tools/vector/index.js +0 -11
  124. package/lib/tools/vector/index.js.map +0 -1
  125. package/lib/undo-redo.js +0 -83
  126. package/lib/undo-redo.js.map +0 -1
  127. package/lib/use-debounce.js +0 -25
  128. package/lib/use-debounce.js.map +0 -1
  129. package/lib/utils.js +0 -230
  130. package/lib/utils.js.map +0 -1
@@ -1,319 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = exports.RawBaseCircle = exports.BaseCircle = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
17
- var _classnames = _interopRequireDefault(require("classnames"));
18
- var _point = require("../shared/point");
19
- var _bgCircle = _interopRequireDefault(require("./bg-circle"));
20
- var _utils = require("../../utils");
21
- var _plot = require("@pie-lib/plot");
22
- var _withRootEdge = require("../shared/line/with-root-edge");
23
- var _reactDom = _interopRequireDefault(require("react-dom"));
24
- var _markLabel = _interopRequireDefault(require("../../mark-label"));
25
- var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
26
- var _renderUi = require("@pie-lib/render-ui");
27
- var _styles = require("@mui/material/styles");
28
- 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; }
29
- 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; }
30
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
31
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
32
- var opacityPulsate = function opacityPulsate(opacity) {
33
- return (0, _styles.keyframes)({
34
- '0%': {
35
- opacity: '0.0'
36
- },
37
- '50%': {
38
- opacity: opacity
39
- },
40
- '100%': {
41
- opacity: '0.0'
42
- }
43
- });
44
- };
45
- var getRadius = function getRadius(from, outer) {
46
- var c = (0, _utils.point)(from);
47
- return c.dist((0, _utils.point)(outer));
48
- };
49
- var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Component) {
50
- function RawBaseCircle() {
51
- var _this;
52
- (0, _classCallCheck2["default"])(this, RawBaseCircle);
53
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
54
- args[_key] = arguments[_key];
55
- }
56
- _this = _callSuper(this, RawBaseCircle, [].concat(args));
57
- (0, _defineProperty2["default"])(_this, "onChangePoint", function (point) {
58
- var _this$props = _this.props,
59
- middle = _this$props.middle,
60
- onChange = _this$props.onChange;
61
- var from = point.from,
62
- to = point.to;
63
- if (!(0, _utils.equalPoints)(from, to)) {
64
- if (middle) {
65
- point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
66
- }
67
- onChange(point);
68
- }
69
- });
70
- (0, _defineProperty2["default"])(_this, "dragFrom", function (draggedFrom) {
71
- var _this$props2 = _this.props,
72
- from = _this$props2.from,
73
- to = _this$props2.to;
74
- if (from.label) draggedFrom.label = from.label;
75
- if (!(0, _utils.equalPoints)(draggedFrom, to)) {
76
- _this.onChangePoint({
77
- from: draggedFrom,
78
- to: to
79
- });
80
- }
81
- });
82
- (0, _defineProperty2["default"])(_this, "dragTo", function (draggedTo) {
83
- var _this$props3 = _this.props,
84
- from = _this$props3.from,
85
- to = _this$props3.to;
86
- if (to.label) draggedTo.label = to.label;
87
- if (!(0, _utils.equalPoints)(from, draggedTo)) {
88
- _this.onChangePoint({
89
- from: from,
90
- to: draggedTo
91
- });
92
- }
93
- });
94
- (0, _defineProperty2["default"])(_this, "dragCircle", function (draggedFrom) {
95
- var _this$props4 = _this.props,
96
- from = _this$props4.from,
97
- to = _this$props4.to,
98
- onChange = _this$props4.onChange,
99
- middle = _this$props4.middle;
100
- var diff = (0, _utils.point)(from).sub((0, _utils.point)(draggedFrom));
101
- var draggedTo = (0, _utils.point)(to).sub(diff);
102
- if (from.label) draggedFrom.label = from.label;
103
- if (to.label) draggedTo.label = to.label;
104
- var updated = {
105
- from: draggedFrom,
106
- to: draggedTo
107
- };
108
- if (middle) {
109
- updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
110
- }
111
- _this.setState({
112
- draggedroot: undefined,
113
- draggedOuter: undefined,
114
- isCircleDrag: false
115
- }, function () {
116
- return onChange(updated);
117
- });
118
- });
119
- (0, _defineProperty2["default"])(_this, "labelChange", function (point, type) {
120
- var changeMarkProps = _this.props.changeMarkProps;
121
- var update = _objectSpread({}, point);
122
- if (!point.label || (0, _isEmpty["default"])(point.label)) delete update.label;
123
- changeMarkProps((0, _defineProperty2["default"])({}, type, update));
124
- });
125
- (0, _defineProperty2["default"])(_this, "clickPoint", function (point, type, data) {
126
- var _this$props5 = _this.props,
127
- changeMarkProps = _this$props5.changeMarkProps,
128
- disabled = _this$props5.disabled,
129
- from = _this$props5.from,
130
- to = _this$props5.to,
131
- labelModeEnabled = _this$props5.labelModeEnabled,
132
- limitLabeling = _this$props5.limitLabeling,
133
- onClick = _this$props5.onClick;
134
- if (!labelModeEnabled) {
135
- onClick(point || data);
136
- return;
137
- }
138
- if (disabled || limitLabeling) return;
139
- if (type === 'middle' && !point && from && to) {
140
- point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
141
- }
142
- changeMarkProps((0, _defineProperty2["default"])({
143
- from: from,
144
- to: to
145
- }, type, _objectSpread({
146
- label: ''
147
- }, point)));
148
- if (_this.input[type]) {
149
- _this.input[type].focus();
150
- }
151
- });
152
- (0, _defineProperty2["default"])(_this, "input", {});
153
- return _this;
154
- }
155
- (0, _inherits2["default"])(RawBaseCircle, _React$Component);
156
- return (0, _createClass2["default"])(RawBaseCircle, [{
157
- key: "render",
158
- value: function render() {
159
- var _this2 = this;
160
- var _this$props6 = this.props,
161
- from = _this$props6.from,
162
- to = _this$props6.to,
163
- middle = _this$props6.middle,
164
- disabled = _this$props6.disabled,
165
- building = _this$props6.building,
166
- coordinatesOnHover = _this$props6.coordinatesOnHover,
167
- onDragStart = _this$props6.onDragStart,
168
- onDragStop = _this$props6.onDragStop,
169
- onClick = _this$props6.onClick,
170
- correctness = _this$props6.correctness,
171
- graphProps = _this$props6.graphProps,
172
- labelNode = _this$props6.labelNode,
173
- labelModeEnabled = _this$props6.labelModeEnabled;
174
- var common = {
175
- onDragStart: onDragStart,
176
- onDragStop: onDragStop,
177
- graphProps: graphProps,
178
- onClick: onClick
179
- };
180
- to = to || from;
181
- var radius = getRadius(from, to);
182
- var fromLabelNode = null;
183
- var toLabelNode = null;
184
- var circleLabelNode = null;
185
- if (labelNode) {
186
- var _to;
187
- if ((from === null || from === void 0 ? void 0 : from.label) !== undefined) {
188
- fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
189
- inputRef: function inputRef(r) {
190
- return _this2.input.from = r;
191
- },
192
- disabled: !labelModeEnabled,
193
- mark: from,
194
- graphProps: graphProps,
195
- onChange: function onChange(label) {
196
- return _this2.labelChange(_objectSpread(_objectSpread({}, from), {}, {
197
- label: label
198
- }), 'from');
199
- }
200
- }), labelNode);
201
- }
202
- if (((_to = to) === null || _to === void 0 ? void 0 : _to.label) !== undefined) {
203
- toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
204
- inputRef: function inputRef(r) {
205
- return _this2.input.to = r;
206
- },
207
- disabled: !labelModeEnabled,
208
- mark: to,
209
- graphProps: graphProps,
210
- onChange: function onChange(label) {
211
- return _this2.labelChange(_objectSpread(_objectSpread({}, to), {}, {
212
- label: label
213
- }), 'to');
214
- }
215
- }), labelNode);
216
- }
217
- if ((middle === null || middle === void 0 ? void 0 : middle.label) !== undefined) {
218
- circleLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
219
- inputRef: function inputRef(r) {
220
- return _this2.input.middle = r;
221
- },
222
- disabled: !labelModeEnabled,
223
- mark: middle,
224
- graphProps: graphProps,
225
- onChange: function onChange(label) {
226
- return _this2.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
227
- label: label
228
- }), 'middle');
229
- }
230
- }), labelNode);
231
- }
232
- }
233
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement(StyledBgCircle, (0, _extends2["default"])({
234
- disabled: building || disabled,
235
- correctness: correctness,
236
- className: (0, _classnames["default"])(building && 'bgCircleBuilding'),
237
- x: from.x,
238
- y: from.y,
239
- radius: radius,
240
- onDrag: this.dragCircle
241
- }, common, {
242
- onClick: function onClick(data) {
243
- return _this2.clickPoint(middle, 'middle', data);
244
- }
245
- })), circleLabelNode, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, (0, _extends2["default"])({
246
- disabled: building || disabled,
247
- coordinatesOnHover: coordinatesOnHover,
248
- correctness: correctness,
249
- labelNode: labelNode,
250
- x: to.x,
251
- y: to.y,
252
- onDrag: this.dragTo
253
- }, common, {
254
- onClick: function onClick(data) {
255
- return _this2.clickPoint(to, 'to', data);
256
- }
257
- })), toLabelNode, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, (0, _extends2["default"])({
258
- disabled: building || disabled,
259
- coordinatesOnHover: coordinatesOnHover,
260
- correctness: correctness,
261
- labelNode: labelNode,
262
- x: from.x,
263
- y: from.y,
264
- className: "from",
265
- onDrag: this.dragFrom
266
- }, common, {
267
- onClick: function onClick(data) {
268
- return _this2.clickPoint(from, 'from', data);
269
- }
270
- })), fromLabelNode);
271
- }
272
- }]);
273
- }(_react["default"].Component); // MUI v5 styled() replaces withStyles
274
- (0, _defineProperty2["default"])(RawBaseCircle, "propTypes", {
275
- building: _propTypes["default"].bool,
276
- className: _propTypes["default"].string,
277
- coordinatesOnHover: _propTypes["default"].bool,
278
- correctness: _propTypes["default"].string,
279
- from: _plot.types.PointType,
280
- disabled: _propTypes["default"].bool,
281
- to: _plot.types.PointType,
282
- middle: _plot.types.PointType,
283
- onChange: _propTypes["default"].func.isRequired,
284
- onDragStart: _propTypes["default"].func,
285
- onDragStop: _propTypes["default"].func,
286
- graphProps: _plot.types.GraphPropsType.isRequired,
287
- onClick: _propTypes["default"].func,
288
- labelNode: _propTypes["default"].object,
289
- labelModeEnabled: _propTypes["default"].bool,
290
- changeMarkProps: _propTypes["default"].func,
291
- limitLabeling: _propTypes["default"].bool
292
- });
293
- (0, _defineProperty2["default"])(RawBaseCircle, "defaultProps", {
294
- onClick: function onClick() {
295
- return {};
296
- }
297
- });
298
- var StyledBgCircle = (0, _styles.styled)(_bgCircle["default"])(function () {
299
- return {
300
- '&.outerLine': {
301
- fill: 'rgba(0,0,0,0)',
302
- stroke: _renderUi.color.defaults.BLACK,
303
- strokeWidth: 4,
304
- '&:hover': {
305
- strokeWidth: 6,
306
- stroke: _renderUi.color.defaults.PRIMARY_DARK
307
- }
308
- },
309
- '&.bgCircleBuilding': {
310
- stroke: _renderUi.color.defaults.BLACK,
311
- animation: "".concat(opacityPulsate('0.3'), " 2s ease-out infinite"),
312
- opacity: 1
313
- }
314
- };
315
- });
316
- var BaseCircle = exports.BaseCircle = RawBaseCircle;
317
- var Component = (0, _withRootEdge.rootEdgeComponent)(BaseCircle);
318
- var _default = exports["default"] = Component;
319
- //# sourceMappingURL=component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_point","_bgCircle","_utils","_plot","_withRootEdge","_reactDom","_markLabel","_isEmpty","_renderUi","_styles","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","opacityPulsate","opacity","keyframes","getRadius","from","outer","c","point","dist","RawBaseCircle","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","_this$props","props","middle","onChange","to","equalPoints","getMiddleOfTwoPoints","draggedFrom","_this$props2","label","onChangePoint","draggedTo","_this$props3","_this$props4","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","isEmpty","data","_this$props5","disabled","labelModeEnabled","limitLabeling","onClick","input","focus","_inherits2","_createClass2","key","value","render","_this2","_this$props6","building","coordinatesOnHover","onDragStart","onDragStop","correctness","graphProps","labelNode","common","radius","fromLabelNode","toLabelNode","circleLabelNode","_to","ReactDOM","createPortal","createElement","inputRef","mark","labelChange","StyledBgCircle","_extends2","className","classNames","x","y","onDrag","dragCircle","clickPoint","BasePoint","dragTo","dragFrom","React","Component","PropTypes","bool","string","types","PointType","func","isRequired","GraphPropsType","object","styled","BgCircle","fill","stroke","color","defaults","BLACK","strokeWidth","PRIMARY_DARK","animation","BaseCircle","rootEdgeComponent","_default"],"sources":["../../../src/tools/circle/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\nimport { styled, keyframes } from '@mui/material/styles';\n\nconst opacityPulsate = (opacity) => keyframes({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' },\n});\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n limitLabeling: PropTypes.bool,\n };\n\n static defaultProps = {\n onClick: () => ({}),\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n onChange(point);\n }\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) draggedFrom.label = from.label;\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) draggedTo.label = to.label;\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from, to: draggedTo });\n }\n };\n\n dragCircle = (draggedFrom) => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) draggedFrom.label = from.label;\n if (to.label) draggedTo.label = to.label;\n\n const updated = { from: draggedFrom, to: draggedTo };\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n this.setState(\n { draggedroot: undefined, draggedOuter: undefined, isCircleDrag: false },\n () => onChange(updated),\n );\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n if (!point.label || isEmpty(point.label)) delete update.label;\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, labelModeEnabled, limitLabeling, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled || limitLabeling) return;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n input = {};\n\n render() {\n let {\n from,\n to,\n middle,\n disabled,\n building,\n coordinatesOnHover,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled,\n } = this.props;\n\n const common = { onDragStart, onDragStop, graphProps, onClick };\n to = to || from;\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from?.label !== undefined) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode,\n );\n }\n\n if (to?.label !== undefined) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode,\n );\n }\n\n if (middle?.label !== undefined) {\n circleLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode,\n );\n }\n }\n\n return (\n <g>\n <StyledBgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && 'bgCircleBuilding')}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className=\"from\"\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\n// MUI v5 styled() replaces withStyles\nconst StyledBgCircle = styled(BgCircle)(() => ({\n '&.outerLine': {\n fill: 'rgba(0,0,0,0)',\n stroke: color.defaults.BLACK,\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n '&.bgCircleBuilding': {\n stroke: color.defaults.BLACK,\n animation: `${opacityPulsate('0.3')} 2s ease-out infinite`,\n opacity: 1,\n },\n}));\n\nexport const BaseCircle = RawBaseCircle;\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"mappings":"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","ignoreList":[]}
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.tool = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _component = _interopRequireDefault(require("./component"));
10
- var _utils = 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
- var tool = exports.tool = function tool() {
14
- return {
15
- type: 'circle',
16
- Component: _component["default"],
17
- hover: function hover(point, mark) {
18
- return _objectSpread(_objectSpread({}, mark), {}, {
19
- edge: point
20
- });
21
- },
22
- addPoint: function addPoint(point, mark) {
23
- if (mark && (0, _utils.equalPoints)(mark.root, point)) {
24
- return mark;
25
- }
26
- if (!mark) {
27
- return {
28
- type: 'circle',
29
- root: point,
30
- building: true
31
- };
32
- } else {
33
- return _objectSpread(_objectSpread({}, mark), {}, {
34
- edge: point,
35
- building: false
36
- });
37
- }
38
- }
39
- };
40
- };
41
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_component","_interopRequireDefault","require","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","tool","exports","type","Component","Circle","hover","point","mark","edge","addPoint","equalPoints","root","building"],"sources":["../../../src/tools/circle/index.js"],"sourcesContent":["import Circle from './component';\nimport { equalPoints } from '../../utils';\n\nexport const tool = () => ({\n type: 'circle',\n Component: Circle,\n hover: (point, mark) => {\n return { ...mark, edge: point };\n },\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'circle',\n root: point,\n building: true,\n };\n } else {\n return { ...mark, edge: point, building: false };\n }\n },\n});\n"],"mappings":";;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAA0C,SAAAE,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;AAEnC,IAAMoB,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,SAAPA,IAAIA,CAAA;EAAA,OAAU;IACzBE,IAAI,EAAE,QAAQ;IACdC,SAAS,EAAEC,qBAAM;IACjBC,KAAK,EAAE,SAAPA,KAAKA,CAAGC,KAAK,EAAEC,IAAI,EAAK;MACtB,OAAAf,aAAA,CAAAA,aAAA,KAAYe,IAAI;QAAEC,IAAI,EAAEF;MAAK;IAC/B,CAAC;IACDG,QAAQ,EAAE,SAAVA,QAAQA,CAAGH,KAAK,EAAEC,IAAI,EAAK;MACzB,IAAIA,IAAI,IAAI,IAAAG,kBAAW,EAACH,IAAI,CAACI,IAAI,EAAEL,KAAK,CAAC,EAAE;QACzC,OAAOC,IAAI;MACb;MAEA,IAAI,CAACA,IAAI,EAAE;QACT,OAAO;UACLL,IAAI,EAAE,QAAQ;UACdS,IAAI,EAAEL,KAAK;UACXM,QAAQ,EAAE;QACZ,CAAC;MACH,CAAC,MAAM;QACL,OAAApB,aAAA,CAAAA,aAAA,KAAYe,IAAI;UAAEC,IAAI,EAAEF,KAAK;UAAEM,QAAQ,EAAE;QAAK;MAChD;IACF;EACF,CAAC;AAAA,CAAC","ignoreList":[]}
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _debug = _interopRequireDefault(require("debug"));
9
- var _graphingUtils = require("@pie-lib/graphing-utils");
10
- var _withRootEdge = require("../shared/line/with-root-edge");
11
- var log = (0, _debug["default"])('pie-lib:graphing:exponential');
12
- var Exponential = (0, _withRootEdge.withRootEdge)(function (props) {
13
- var root = props.root,
14
- edge = props.edge,
15
- graphProps = props.graphProps;
16
- var domain = graphProps.domain,
17
- range = graphProps.range;
18
- var dataPoints = edge && edge.x === root.x ? [] : (0, _graphingUtils.buildDataPoints)(domain, range, root, edge, (0, _graphingUtils.exponentialFromTwoPoints)(root, edge), true);
19
- log('dataPoints:', dataPoints);
20
- return {
21
- root: props.root,
22
- edge: props.edge,
23
- dataPoints: dataPoints
24
- };
25
- });
26
- var Component = (0, _withRootEdge.rootEdgeComponent)(Exponential);
27
- var _default = exports["default"] = Component;
28
- //# sourceMappingURL=component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","names":["_debug","_interopRequireDefault","require","_graphingUtils","_withRootEdge","log","debug","Exponential","withRootEdge","props","root","edge","graphProps","domain","range","dataPoints","x","buildDataPoints","exponentialFromTwoPoints","Component","rootEdgeComponent","_default","exports"],"sources":["../../../src/tools/exponential/component.jsx"],"sourcesContent":["import debug from 'debug';\nimport { buildDataPoints, exponentialFromTwoPoints } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:exponential');\n\nconst Exponential = withRootEdge((props) => {\n const { root, edge, graphProps } = props;\n const { domain, range } = graphProps;\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(domain, range, root, edge, exponentialFromTwoPoints(root, edge), true);\n\n log('dataPoints:', dataPoints);\n\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Exponential);\n\nexport default Component;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAEA,IAAMG,GAAG,GAAG,IAAAC,iBAAK,EAAC,8BAA8B,CAAC;AAEjD,IAAMC,WAAW,GAAG,IAAAC,0BAAY,EAAC,UAACC,KAAK,EAAK;EAC1C,IAAQC,IAAI,GAAuBD,KAAK,CAAhCC,IAAI;IAAEC,IAAI,GAAiBF,KAAK,CAA1BE,IAAI;IAAEC,UAAU,GAAKH,KAAK,CAApBG,UAAU;EAC9B,IAAQC,MAAM,GAAYD,UAAU,CAA5BC,MAAM;IAAEC,KAAK,GAAKF,UAAU,CAApBE,KAAK;EAErB,IAAMC,UAAU,GACdJ,IAAI,IAAIA,IAAI,CAACK,CAAC,KAAKN,IAAI,CAACM,CAAC,GACrB,EAAE,GACF,IAAAC,8BAAe,EAACJ,MAAM,EAAEC,KAAK,EAAEJ,IAAI,EAAEC,IAAI,EAAE,IAAAO,uCAAwB,EAACR,IAAI,EAAEC,IAAI,CAAC,EAAE,IAAI,CAAC;EAE5FN,GAAG,CAAC,aAAa,EAAEU,UAAU,CAAC;EAE9B,OAAO;IAAEL,IAAI,EAAED,KAAK,CAACC,IAAI;IAAEC,IAAI,EAAEF,KAAK,CAACE,IAAI;IAAEI,UAAU,EAAVA;EAAW,CAAC;AAC3D,CAAC,CAAC;AAEF,IAAMI,SAAS,GAAG,IAAAC,+BAAiB,EAACb,WAAW,CAAC;AAAC,IAAAc,QAAA,GAAAC,OAAA,cAElCH,SAAS","ignoreList":[]}
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.tool = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _component = _interopRequireDefault(require("./component"));
10
- var _debug = _interopRequireDefault(require("debug"));
11
- var _utils = require("../../utils");
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 log = (0, _debug["default"])('pie-lib:graphing:exponential');
15
- var tool = exports.tool = function tool() {
16
- return {
17
- type: 'exponential',
18
- Component: _component["default"],
19
- complete: function complete(data, mark) {
20
- return _objectSpread(_objectSpread({}, mark), {}, {
21
- building: false,
22
- closed: true
23
- });
24
- },
25
- addPoint: function addPoint(point, mark) {
26
- log('add point to exponential model: ', point, 'mark: ', mark);
27
- if (mark && ((0, _utils.equalPoints)(mark.root, point) || (0, _utils.sameAxes)(mark.root, point))) {
28
- return mark;
29
- }
30
- if (mark && mark.root.y * point.y < 0) {
31
- return mark;
32
- }
33
- if (point.y === 0) {
34
- return mark;
35
- }
36
- if (!mark) {
37
- return {
38
- type: 'exponential',
39
- root: point,
40
- edge: undefined,
41
- closed: false,
42
- building: true
43
- };
44
- } else if (mark && !mark.root) {
45
- throw new Error('no root - should never happen');
46
- } else {
47
- return _objectSpread(_objectSpread({}, mark), {}, {
48
- edge: point,
49
- closed: true,
50
- building: false
51
- });
52
- }
53
- }
54
- };
55
- };
56
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_component","_interopRequireDefault","require","_debug","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","tool","exports","type","Component","Exponential","complete","data","mark","building","closed","addPoint","point","equalPoints","root","sameAxes","y","edge","undefined","Error"],"sources":["../../../src/tools/exponential/index.js"],"sourcesContent":["import Exponential from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:exponential');\n\nexport const tool = () => ({\n type: 'exponential',\n Component: Exponential,\n complete: (data, mark) => ({ ...mark, building: false, closed: true }),\n addPoint: (point, mark) => {\n log('add point to exponential model: ', point, 'mark: ', mark);\n if (mark && (equalPoints(mark.root, point) || sameAxes(mark.root, point))) {\n return mark;\n }\n\n if (mark && mark.root.y * point.y < 0) {\n return mark;\n }\n\n if (point.y === 0) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'exponential',\n root: point,\n edge: undefined,\n closed: false,\n building: true,\n };\n } else if (mark && !mark.root) {\n throw new Error('no root - should never happen');\n } else {\n return { ...mark, edge: point, closed: true, building: false };\n }\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,86 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "absolute", {
7
- enumerable: true,
8
- get: function get() {
9
- return _absolute.tool;
10
- }
11
- });
12
- exports.allTools = void 0;
13
- Object.defineProperty(exports, "circle", {
14
- enumerable: true,
15
- get: function get() {
16
- return _circle.tool;
17
- }
18
- });
19
- Object.defineProperty(exports, "exponential", {
20
- enumerable: true,
21
- get: function get() {
22
- return _exponential.tool;
23
- }
24
- });
25
- Object.defineProperty(exports, "line", {
26
- enumerable: true,
27
- get: function get() {
28
- return _line.tool;
29
- }
30
- });
31
- Object.defineProperty(exports, "parabola", {
32
- enumerable: true,
33
- get: function get() {
34
- return _parabola.tool;
35
- }
36
- });
37
- Object.defineProperty(exports, "point", {
38
- enumerable: true,
39
- get: function get() {
40
- return _point.tool;
41
- }
42
- });
43
- Object.defineProperty(exports, "polygon", {
44
- enumerable: true,
45
- get: function get() {
46
- return _polygon.tool;
47
- }
48
- });
49
- Object.defineProperty(exports, "ray", {
50
- enumerable: true,
51
- get: function get() {
52
- return _ray.tool;
53
- }
54
- });
55
- Object.defineProperty(exports, "sine", {
56
- enumerable: true,
57
- get: function get() {
58
- return _sine.tool;
59
- }
60
- });
61
- exports.toolsArr = void 0;
62
- Object.defineProperty(exports, "vector", {
63
- enumerable: true,
64
- get: function get() {
65
- return _vector.tool;
66
- }
67
- });
68
- var _point = require("./point");
69
- var _circle = require("./circle");
70
- var _polygon = require("./polygon");
71
- var _sine = require("./sine");
72
- var _parabola = require("./parabola");
73
- var _line = require("./line");
74
- var _segment = require("./segment");
75
- var _ray = require("./ray");
76
- var _vector = require("./vector");
77
- var _absolute = require("./absolute");
78
- var _exponential = require("./exponential");
79
- var allTools = exports.allTools = ['circle', 'line', 'label', 'parabola', 'point', 'polygon', 'ray', 'segment', 'sine', 'vector', 'absolute', 'exponential'];
80
-
81
- // need this because now we should treat label as other tools PD-3736
82
- var labelTool = {
83
- type: 'label'
84
- };
85
- var toolsArr = exports.toolsArr = [(0, _circle.tool)(), (0, _line.tool)(), (0, _parabola.tool)(), (0, _point.tool)(), (0, _polygon.tool)(), (0, _ray.tool)(), (0, _segment.tool)(), (0, _sine.tool)(), (0, _vector.tool)(), (0, _absolute.tool)(), (0, _exponential.tool)(), labelTool];
86
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_point","require","_circle","_polygon","_sine","_parabola","_line","_segment","_ray","_vector","_absolute","_exponential","allTools","exports","labelTool","type","toolsArr","circle","line","parabola","point","polygon","ray","segment","sine","vector","absolute","exponential"],"sources":["../../src/tools/index.js"],"sourcesContent":["import { tool as point } from './point';\nimport { tool as circle } from './circle';\nimport { tool as polygon } from './polygon';\nimport { tool as sine } from './sine';\nimport { tool as parabola } from './parabola';\nimport { tool as line } from './line';\nimport { tool as segment } from './segment';\nimport { tool as ray } from './ray';\nimport { tool as vector } from './vector';\nimport { tool as absolute } from './absolute';\nimport { tool as exponential } from './exponential';\n\nconst allTools = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector',\n 'absolute',\n 'exponential',\n];\n\n// need this because now we should treat label as other tools PD-3736\nconst labelTool = {\n type: 'label',\n};\n\nconst toolsArr = [\n circle(),\n line(),\n parabola(),\n point(),\n polygon(),\n ray(),\n segment(),\n sine(),\n vector(),\n absolute(),\n exponential(),\n labelTool,\n];\n\nexport { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector, absolute, exponential };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,IAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AAEA,IAAMW,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,CACf,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,OAAO,EACP,SAAS,EACT,KAAK,EACL,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,aAAa,CACd;;AAED;AACA,IAAME,SAAS,GAAG;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,IAAMC,QAAQ,GAAAH,OAAA,CAAAG,QAAA,GAAG,CACf,IAAAC,YAAM,EAAC,CAAC,EACR,IAAAC,UAAI,EAAC,CAAC,EACN,IAAAC,cAAQ,EAAC,CAAC,EACV,IAAAC,WAAK,EAAC,CAAC,EACP,IAAAC,aAAO,EAAC,CAAC,EACT,IAAAC,SAAG,EAAC,CAAC,EACL,IAAAC,aAAO,EAAC,CAAC,EACT,IAAAC,UAAI,EAAC,CAAC,EACN,IAAAC,YAAM,EAAC,CAAC,EACR,IAAAC,cAAQ,EAAC,CAAC,EACV,IAAAC,iBAAW,EAAC,CAAC,EACbb,SAAS,CACV","ignoreList":[]}