@pie-lib/graphing 2.15.0-beta.2 → 2.15.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/lib/axis/arrow.js +115 -0
- package/lib/axis/arrow.js.map +1 -0
- package/lib/axis/axes.js +415 -0
- package/lib/axis/axes.js.map +1 -0
- package/lib/axis/index.js +26 -0
- package/lib/axis/index.js.map +1 -0
- package/lib/bg.js +139 -0
- package/lib/bg.js.map +1 -0
- package/lib/container/actions.js +24 -0
- package/lib/container/actions.js.map +1 -0
- package/lib/container/index.js +163 -0
- package/lib/container/index.js.map +1 -0
- package/lib/container/marks.js +27 -0
- package/lib/container/marks.js.map +1 -0
- package/lib/container/middleware.js +25 -0
- package/lib/container/middleware.js.map +1 -0
- package/lib/container/reducer.js +25 -0
- package/lib/container/reducer.js.map +1 -0
- package/lib/coordinates-label.js +109 -0
- package/lib/coordinates-label.js.map +1 -0
- package/lib/graph-with-controls.js +359 -0
- package/lib/graph-with-controls.js.map +1 -0
- package/lib/graph.js +371 -0
- package/lib/graph.js.map +1 -0
- package/lib/grid-setup.js +462 -0
- package/lib/grid-setup.js.map +1 -0
- package/lib/grid.js +176 -0
- package/lib/grid.js.map +1 -0
- package/lib/index.js +59 -0
- package/lib/index.js.map +1 -0
- package/lib/key-legend.js +246 -0
- package/lib/key-legend.js.map +1 -0
- package/lib/label-svg-icon.js +56 -0
- package/lib/label-svg-icon.js.map +1 -0
- package/lib/labels.js +299 -0
- package/lib/labels.js.map +1 -0
- package/lib/mark-label.js +321 -0
- package/lib/mark-label.js.map +1 -0
- package/lib/toggle-bar.js +336 -0
- package/lib/toggle-bar.js.map +1 -0
- package/lib/tool-menu.js +112 -0
- package/lib/tool-menu.js.map +1 -0
- package/lib/tools/absolute/component.js +35 -0
- package/lib/tools/absolute/component.js.map +1 -0
- package/lib/tools/absolute/index.js +63 -0
- package/lib/tools/absolute/index.js.map +1 -0
- package/lib/tools/circle/bg-circle.js +173 -0
- package/lib/tools/circle/bg-circle.js.map +1 -0
- package/lib/tools/circle/component.js +406 -0
- package/lib/tools/circle/component.js.map +1 -0
- package/lib/tools/circle/index.js +51 -0
- package/lib/tools/circle/index.js.map +1 -0
- package/lib/tools/exponential/component.js +34 -0
- package/lib/tools/exponential/component.js.map +1 -0
- package/lib/tools/exponential/index.js +71 -0
- package/lib/tools/exponential/index.js.map +1 -0
- package/lib/tools/index.js +99 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/line/component.js +103 -0
- package/lib/tools/line/component.js.map +1 -0
- package/lib/tools/line/index.js +16 -0
- package/lib/tools/line/index.js.map +1 -0
- package/lib/tools/parabola/component.js +34 -0
- package/lib/tools/parabola/component.js.map +1 -0
- package/lib/tools/parabola/index.js +63 -0
- package/lib/tools/parabola/index.js.map +1 -0
- package/lib/tools/point/component.js +186 -0
- package/lib/tools/point/component.js.map +1 -0
- package/lib/tools/point/index.js +32 -0
- package/lib/tools/point/index.js.map +1 -0
- package/lib/tools/polygon/component.js +518 -0
- package/lib/tools/polygon/component.js.map +1 -0
- package/lib/tools/polygon/index.js +106 -0
- package/lib/tools/polygon/index.js.map +1 -0
- package/lib/tools/polygon/line.js +157 -0
- package/lib/tools/polygon/line.js.map +1 -0
- package/lib/tools/polygon/polygon.js +165 -0
- package/lib/tools/polygon/polygon.js.map +1 -0
- package/lib/tools/ray/component.js +102 -0
- package/lib/tools/ray/component.js.map +1 -0
- package/lib/tools/ray/index.js +16 -0
- package/lib/tools/ray/index.js.map +1 -0
- package/lib/tools/segment/component.js +75 -0
- package/lib/tools/segment/component.js.map +1 -0
- package/lib/tools/segment/index.js +16 -0
- package/lib/tools/segment/index.js.map +1 -0
- package/lib/tools/shared/arrow-head.js +70 -0
- package/lib/tools/shared/arrow-head.js.map +1 -0
- package/lib/tools/shared/icons/CorrectSVG.js +36 -0
- package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
- package/lib/tools/shared/icons/IncorrectSVG.js +36 -0
- package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
- package/lib/tools/shared/icons/MissingSVG.js +35 -0
- package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
- package/lib/tools/shared/line/index.js +599 -0
- package/lib/tools/shared/line/index.js.map +1 -0
- package/lib/tools/shared/line/line-path.js +151 -0
- package/lib/tools/shared/line/line-path.js.map +1 -0
- package/lib/tools/shared/line/with-root-edge.js +155 -0
- package/lib/tools/shared/line/with-root-edge.js.map +1 -0
- package/lib/tools/shared/point/arrow-point.js +113 -0
- package/lib/tools/shared/point/arrow-point.js.map +1 -0
- package/lib/tools/shared/point/arrow.js +96 -0
- package/lib/tools/shared/point/arrow.js.map +1 -0
- package/lib/tools/shared/point/base-point.js +175 -0
- package/lib/tools/shared/point/base-point.js.map +1 -0
- package/lib/tools/shared/point/index.js +97 -0
- package/lib/tools/shared/point/index.js.map +1 -0
- package/lib/tools/shared/styles.js +58 -0
- package/lib/tools/shared/styles.js.map +1 -0
- package/lib/tools/shared/types.js +23 -0
- package/lib/tools/shared/types.js.map +1 -0
- package/lib/tools/sine/component.js +51 -0
- package/lib/tools/sine/component.js.map +1 -0
- package/lib/tools/sine/index.js +63 -0
- package/lib/tools/sine/index.js.map +1 -0
- package/lib/tools/vector/component.js +88 -0
- package/lib/tools/vector/component.js.map +1 -0
- package/lib/tools/vector/index.js +16 -0
- package/lib/tools/vector/index.js.map +1 -0
- package/lib/undo-redo.js +123 -0
- package/lib/undo-redo.js.map +1 -0
- package/lib/use-debounce.js +32 -0
- package/lib/use-debounce.js.map +1 -0
- package/lib/utils.js +307 -0
- package/lib/utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.Point = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _point = require("../shared/point");
|
|
29
|
+
|
|
30
|
+
var _types = require("../shared/types");
|
|
31
|
+
|
|
32
|
+
var _plot = require("@pie-lib/plot");
|
|
33
|
+
|
|
34
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
35
|
+
|
|
36
|
+
var _markLabel = _interopRequireDefault(require("../../mark-label"));
|
|
37
|
+
|
|
38
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
39
|
+
|
|
40
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
44
|
+
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; }
|
|
45
|
+
|
|
46
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
47
|
+
|
|
48
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
49
|
+
|
|
50
|
+
var Point = /*#__PURE__*/function (_React$Component) {
|
|
51
|
+
(0, _inherits2["default"])(Point, _React$Component);
|
|
52
|
+
|
|
53
|
+
var _super = _createSuper(Point);
|
|
54
|
+
|
|
55
|
+
function Point(props) {
|
|
56
|
+
var _this;
|
|
57
|
+
|
|
58
|
+
(0, _classCallCheck2["default"])(this, Point);
|
|
59
|
+
_this = _super.call(this, props);
|
|
60
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "move", function (p) {
|
|
61
|
+
var mark = _objectSpread(_objectSpread({}, _this.state.mark), p);
|
|
62
|
+
|
|
63
|
+
_this.setState({
|
|
64
|
+
mark: mark
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "startDrag", function () {
|
|
68
|
+
var update = _objectSpread({}, _this.props.mark);
|
|
69
|
+
|
|
70
|
+
if (update.label === '') {
|
|
71
|
+
delete update.label;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
_this.setState({
|
|
75
|
+
mark: update
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "stopDrag", function () {
|
|
79
|
+
var onChange = _this.props.onChange;
|
|
80
|
+
|
|
81
|
+
var mark = _objectSpread({}, _this.state.mark);
|
|
82
|
+
|
|
83
|
+
_this.setState({
|
|
84
|
+
mark: undefined
|
|
85
|
+
}, function () {
|
|
86
|
+
if (!(0, _isEqual["default"])(_this.props.mark, mark)) {
|
|
87
|
+
onChange(_this.props.mark, mark);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "labelChange", function (label) {
|
|
92
|
+
var onChange = _this.props.onChange;
|
|
93
|
+
|
|
94
|
+
var update = _objectSpread(_objectSpread({}, _this.props.mark), {}, {
|
|
95
|
+
label: label
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
if (!label || (0, _isEmpty["default"])(label)) {
|
|
99
|
+
delete update.label;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
_this.setState({
|
|
103
|
+
mark: update
|
|
104
|
+
}, function () {
|
|
105
|
+
onChange(_this.props.mark, update);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clickPoint", function () {
|
|
109
|
+
var _this$props = _this.props,
|
|
110
|
+
labelModeEnabled = _this$props.labelModeEnabled,
|
|
111
|
+
onChange = _this$props.onChange,
|
|
112
|
+
onClick = _this$props.onClick,
|
|
113
|
+
mark = _this$props.mark;
|
|
114
|
+
|
|
115
|
+
if (!labelModeEnabled) {
|
|
116
|
+
onClick(mark);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (mark.disabled) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
onChange(mark, _objectSpread({
|
|
125
|
+
label: ''
|
|
126
|
+
}, mark));
|
|
127
|
+
|
|
128
|
+
if (_this.input) {
|
|
129
|
+
_this.input.focus();
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
_this.state = {};
|
|
133
|
+
return _this;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
(0, _createClass2["default"])(Point, [{
|
|
137
|
+
key: "render",
|
|
138
|
+
value: function render() {
|
|
139
|
+
var _this2 = this;
|
|
140
|
+
|
|
141
|
+
var _this$props2 = this.props,
|
|
142
|
+
coordinatesOnHover = _this$props2.coordinatesOnHover,
|
|
143
|
+
graphProps = _this$props2.graphProps,
|
|
144
|
+
labelNode = _this$props2.labelNode,
|
|
145
|
+
labelModeEnabled = _this$props2.labelModeEnabled;
|
|
146
|
+
var mark = this.state.mark ? this.state.mark : this.props.mark;
|
|
147
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_point.BasePoint, (0, _extends2["default"])({}, mark, {
|
|
148
|
+
coordinatesOnHover: coordinatesOnHover,
|
|
149
|
+
graphProps: graphProps,
|
|
150
|
+
labelNode: labelNode,
|
|
151
|
+
onDrag: this.move,
|
|
152
|
+
onDragStart: this.startDrag,
|
|
153
|
+
onDragStop: this.stopDrag,
|
|
154
|
+
onClick: this.clickPoint,
|
|
155
|
+
onTouchStart: function onTouchStart(e) {
|
|
156
|
+
e.stopPropagation();
|
|
157
|
+
|
|
158
|
+
_this2.clickPoint();
|
|
159
|
+
},
|
|
160
|
+
onTouchEnd: function onTouchEnd(e) {
|
|
161
|
+
e.stopPropagation();
|
|
162
|
+
|
|
163
|
+
_this2.clickPoint();
|
|
164
|
+
}
|
|
165
|
+
})), labelNode && mark.hasOwnProperty('label') && /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
166
|
+
inputRef: function inputRef(r) {
|
|
167
|
+
return _this2.input = r;
|
|
168
|
+
},
|
|
169
|
+
disabled: !labelModeEnabled,
|
|
170
|
+
mark: mark,
|
|
171
|
+
graphProps: graphProps,
|
|
172
|
+
onChange: this.labelChange
|
|
173
|
+
}), labelNode));
|
|
174
|
+
}
|
|
175
|
+
}]);
|
|
176
|
+
return Point;
|
|
177
|
+
}(_react["default"].Component);
|
|
178
|
+
|
|
179
|
+
exports.Point = Point;
|
|
180
|
+
(0, _defineProperty2["default"])(Point, "propTypes", _objectSpread({
|
|
181
|
+
graphProps: _plot.types.GraphPropsType.isRequired
|
|
182
|
+
}, _types.ToolPropTypeFields));
|
|
183
|
+
(0, _defineProperty2["default"])(Point, "defaultProps", {});
|
|
184
|
+
var _default = Point;
|
|
185
|
+
exports["default"] = _default;
|
|
186
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/point/component.jsx"],"names":["Point","props","p","mark","state","setState","update","label","onChange","undefined","labelModeEnabled","onClick","disabled","input","focus","coordinatesOnHover","graphProps","labelNode","move","startDrag","stopDrag","clickPoint","e","stopPropagation","hasOwnProperty","ReactDOM","createPortal","r","labelChange","React","Component","types","GraphPropsType","isRequired","ToolPropTypeFields"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { BasePoint } from '../shared/point';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { types } from '@pie-lib/plot';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nexport class Point extends React.Component {\n static propTypes = {\n graphProps: types.GraphPropsType.isRequired,\n ...ToolPropTypeFields,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n move = (p) => {\n const mark = { ...this.state.mark, ...p };\n this.setState({ mark });\n };\n\n startDrag = () => {\n const update = { ...this.props.mark };\n\n if (update.label === '') {\n delete update.label;\n }\n this.setState({ mark: update });\n };\n\n stopDrag = () => {\n const { onChange } = this.props;\n const mark = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n if (!isEqual(this.props.mark, mark)) {\n onChange(this.props.mark, mark);\n }\n });\n };\n\n labelChange = (label) => {\n const { onChange } = this.props;\n const update = { ...this.props.mark, label };\n\n if (!label || isEmpty(label)) {\n delete update.label;\n }\n\n this.setState({ mark: update }, () => {\n onChange(this.props.mark, update);\n });\n };\n\n clickPoint = () => {\n const { labelModeEnabled, onChange, onClick, mark } = this.props;\n\n if (!labelModeEnabled) {\n onClick(mark);\n return;\n }\n\n if (mark.disabled) {\n return;\n }\n\n onChange(mark, { label: '', ...mark });\n\n if (this.input) {\n this.input.focus();\n }\n };\n\n render() {\n const { coordinatesOnHover, graphProps, labelNode, labelModeEnabled } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <React.Fragment>\n <BasePoint\n {...mark}\n coordinatesOnHover={coordinatesOnHover}\n graphProps={graphProps}\n labelNode={labelNode}\n onDrag={this.move}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n onClick={this.clickPoint}\n onTouchStart={(e) => {\n e.stopPropagation();\n this.clickPoint();\n }}\n onTouchEnd={(e) => {\n e.stopPropagation();\n this.clickPoint();\n }}\n />\n {labelNode &&\n mark.hasOwnProperty('label') &&\n ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input = r)}\n disabled={!labelModeEnabled}\n mark={mark}\n graphProps={graphProps}\n onChange={this.labelChange}\n />,\n labelNode,\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Point;\n"],"file":"component.js"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.tool = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _component = _interopRequireDefault(require("./component"));
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
var tool = function tool() {
|
|
19
|
+
return {
|
|
20
|
+
label: 'Point',
|
|
21
|
+
type: 'point',
|
|
22
|
+
Component: _component["default"],
|
|
23
|
+
addPoint: function addPoint(point) {
|
|
24
|
+
return _objectSpread({
|
|
25
|
+
type: 'point'
|
|
26
|
+
}, point);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
exports.tool = tool;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/point/index.js"],"names":["tool","label","type","Component","Point","addPoint","point"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,KAAK,EAAE,OADkB;AAEzBC,IAAAA,IAAI,EAAE,OAFmB;AAGzBC,IAAAA,SAAS,EAAEC,qBAHc;AAIzBC,IAAAA,QAAQ,EAAE,kBAACC,KAAD;AAAA;AACRJ,QAAAA,IAAI,EAAE;AADE,SAELI,KAFK;AAAA;AAJe,GAAP;AAAA,CAAb","sourcesContent":["import Point from './component';\n\nexport const tool = () => ({\n label: 'Point',\n type: 'point',\n Component: Point,\n addPoint: (point) => ({\n type: 'point',\n ...point,\n }),\n});\n"],"file":"index.js"}
|