@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.
Files changed (128) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/lib/axis/arrow.js +115 -0
  3. package/lib/axis/arrow.js.map +1 -0
  4. package/lib/axis/axes.js +415 -0
  5. package/lib/axis/axes.js.map +1 -0
  6. package/lib/axis/index.js +26 -0
  7. package/lib/axis/index.js.map +1 -0
  8. package/lib/bg.js +139 -0
  9. package/lib/bg.js.map +1 -0
  10. package/lib/container/actions.js +24 -0
  11. package/lib/container/actions.js.map +1 -0
  12. package/lib/container/index.js +163 -0
  13. package/lib/container/index.js.map +1 -0
  14. package/lib/container/marks.js +27 -0
  15. package/lib/container/marks.js.map +1 -0
  16. package/lib/container/middleware.js +25 -0
  17. package/lib/container/middleware.js.map +1 -0
  18. package/lib/container/reducer.js +25 -0
  19. package/lib/container/reducer.js.map +1 -0
  20. package/lib/coordinates-label.js +109 -0
  21. package/lib/coordinates-label.js.map +1 -0
  22. package/lib/graph-with-controls.js +359 -0
  23. package/lib/graph-with-controls.js.map +1 -0
  24. package/lib/graph.js +371 -0
  25. package/lib/graph.js.map +1 -0
  26. package/lib/grid-setup.js +462 -0
  27. package/lib/grid-setup.js.map +1 -0
  28. package/lib/grid.js +176 -0
  29. package/lib/grid.js.map +1 -0
  30. package/lib/index.js +59 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/key-legend.js +246 -0
  33. package/lib/key-legend.js.map +1 -0
  34. package/lib/label-svg-icon.js +56 -0
  35. package/lib/label-svg-icon.js.map +1 -0
  36. package/lib/labels.js +299 -0
  37. package/lib/labels.js.map +1 -0
  38. package/lib/mark-label.js +321 -0
  39. package/lib/mark-label.js.map +1 -0
  40. package/lib/toggle-bar.js +336 -0
  41. package/lib/toggle-bar.js.map +1 -0
  42. package/lib/tool-menu.js +112 -0
  43. package/lib/tool-menu.js.map +1 -0
  44. package/lib/tools/absolute/component.js +35 -0
  45. package/lib/tools/absolute/component.js.map +1 -0
  46. package/lib/tools/absolute/index.js +63 -0
  47. package/lib/tools/absolute/index.js.map +1 -0
  48. package/lib/tools/circle/bg-circle.js +173 -0
  49. package/lib/tools/circle/bg-circle.js.map +1 -0
  50. package/lib/tools/circle/component.js +406 -0
  51. package/lib/tools/circle/component.js.map +1 -0
  52. package/lib/tools/circle/index.js +51 -0
  53. package/lib/tools/circle/index.js.map +1 -0
  54. package/lib/tools/exponential/component.js +34 -0
  55. package/lib/tools/exponential/component.js.map +1 -0
  56. package/lib/tools/exponential/index.js +71 -0
  57. package/lib/tools/exponential/index.js.map +1 -0
  58. package/lib/tools/index.js +99 -0
  59. package/lib/tools/index.js.map +1 -0
  60. package/lib/tools/line/component.js +103 -0
  61. package/lib/tools/line/component.js.map +1 -0
  62. package/lib/tools/line/index.js +16 -0
  63. package/lib/tools/line/index.js.map +1 -0
  64. package/lib/tools/parabola/component.js +34 -0
  65. package/lib/tools/parabola/component.js.map +1 -0
  66. package/lib/tools/parabola/index.js +63 -0
  67. package/lib/tools/parabola/index.js.map +1 -0
  68. package/lib/tools/point/component.js +186 -0
  69. package/lib/tools/point/component.js.map +1 -0
  70. package/lib/tools/point/index.js +32 -0
  71. package/lib/tools/point/index.js.map +1 -0
  72. package/lib/tools/polygon/component.js +518 -0
  73. package/lib/tools/polygon/component.js.map +1 -0
  74. package/lib/tools/polygon/index.js +106 -0
  75. package/lib/tools/polygon/index.js.map +1 -0
  76. package/lib/tools/polygon/line.js +157 -0
  77. package/lib/tools/polygon/line.js.map +1 -0
  78. package/lib/tools/polygon/polygon.js +165 -0
  79. package/lib/tools/polygon/polygon.js.map +1 -0
  80. package/lib/tools/ray/component.js +102 -0
  81. package/lib/tools/ray/component.js.map +1 -0
  82. package/lib/tools/ray/index.js +16 -0
  83. package/lib/tools/ray/index.js.map +1 -0
  84. package/lib/tools/segment/component.js +75 -0
  85. package/lib/tools/segment/component.js.map +1 -0
  86. package/lib/tools/segment/index.js +16 -0
  87. package/lib/tools/segment/index.js.map +1 -0
  88. package/lib/tools/shared/arrow-head.js +70 -0
  89. package/lib/tools/shared/arrow-head.js.map +1 -0
  90. package/lib/tools/shared/icons/CorrectSVG.js +36 -0
  91. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
  92. package/lib/tools/shared/icons/IncorrectSVG.js +36 -0
  93. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
  94. package/lib/tools/shared/icons/MissingSVG.js +35 -0
  95. package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
  96. package/lib/tools/shared/line/index.js +599 -0
  97. package/lib/tools/shared/line/index.js.map +1 -0
  98. package/lib/tools/shared/line/line-path.js +151 -0
  99. package/lib/tools/shared/line/line-path.js.map +1 -0
  100. package/lib/tools/shared/line/with-root-edge.js +155 -0
  101. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  102. package/lib/tools/shared/point/arrow-point.js +113 -0
  103. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  104. package/lib/tools/shared/point/arrow.js +96 -0
  105. package/lib/tools/shared/point/arrow.js.map +1 -0
  106. package/lib/tools/shared/point/base-point.js +175 -0
  107. package/lib/tools/shared/point/base-point.js.map +1 -0
  108. package/lib/tools/shared/point/index.js +97 -0
  109. package/lib/tools/shared/point/index.js.map +1 -0
  110. package/lib/tools/shared/styles.js +58 -0
  111. package/lib/tools/shared/styles.js.map +1 -0
  112. package/lib/tools/shared/types.js +23 -0
  113. package/lib/tools/shared/types.js.map +1 -0
  114. package/lib/tools/sine/component.js +51 -0
  115. package/lib/tools/sine/component.js.map +1 -0
  116. package/lib/tools/sine/index.js +63 -0
  117. package/lib/tools/sine/index.js.map +1 -0
  118. package/lib/tools/vector/component.js +88 -0
  119. package/lib/tools/vector/component.js.map +1 -0
  120. package/lib/tools/vector/index.js +16 -0
  121. package/lib/tools/vector/index.js.map +1 -0
  122. package/lib/undo-redo.js +123 -0
  123. package/lib/undo-redo.js.map +1 -0
  124. package/lib/use-debounce.js +32 -0
  125. package/lib/use-debounce.js.map +1 -0
  126. package/lib/utils.js +307 -0
  127. package/lib/utils.js.map +1 -0
  128. package/package.json +1 -1
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.RawBp = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
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 _propTypes = _interopRequireDefault(require("prop-types"));
29
+
30
+ var _classnames = _interopRequireDefault(require("classnames"));
31
+
32
+ var _plot = require("@pie-lib/plot");
33
+
34
+ var _coordinatesLabel = _interopRequireDefault(require("../../../coordinates-label"));
35
+
36
+ var _reactDom = _interopRequireDefault(require("react-dom"));
37
+
38
+ var _utils = require("../../../utils");
39
+
40
+ var _MissingSVG = _interopRequireDefault(require("../icons/MissingSVG"));
41
+
42
+ var _CorrectSVG = _interopRequireDefault(require("../icons/CorrectSVG"));
43
+
44
+ var _IncorrectSVG = _interopRequireDefault(require("../icons/IncorrectSVG"));
45
+
46
+ var _excluded = ["classes", "className", "coordinatesOnHover", "x", "y", "disabled", "correctness", "graphProps", "labelNode", "style", "onClick", "onTouchStart", "onTouchEnd"];
47
+
48
+ 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); }; }
49
+
50
+ 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; } }
51
+
52
+ var RawBp = /*#__PURE__*/function (_React$Component) {
53
+ (0, _inherits2["default"])(RawBp, _React$Component);
54
+
55
+ var _super = _createSuper(RawBp);
56
+
57
+ function RawBp(props) {
58
+ var _this;
59
+
60
+ (0, _classCallCheck2["default"])(this, RawBp);
61
+ _this = _super.call(this, props);
62
+ _this.state = {
63
+ showCoordinates: false
64
+ };
65
+ return _this;
66
+ }
67
+
68
+ (0, _createClass2["default"])(RawBp, [{
69
+ key: "render",
70
+ value: function render() {
71
+ var _this2 = this;
72
+
73
+ var _this$props = this.props,
74
+ classes = _this$props.classes,
75
+ className = _this$props.className,
76
+ coordinatesOnHover = _this$props.coordinatesOnHover,
77
+ x = _this$props.x,
78
+ y = _this$props.y,
79
+ disabled = _this$props.disabled,
80
+ correctness = _this$props.correctness,
81
+ graphProps = _this$props.graphProps,
82
+ labelNode = _this$props.labelNode,
83
+ style = _this$props.style,
84
+ onClick = _this$props.onClick,
85
+ onTouchStart = _this$props.onTouchStart,
86
+ onTouchEnd = _this$props.onTouchEnd,
87
+ rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
88
+ var showCoordinates = this.state.showCoordinates;
89
+ var scale = graphProps.scale;
90
+ var r = (0, _utils.thinnerShapesNeeded)(graphProps) ? 5 : 7;
91
+ var SvgComponent;
92
+
93
+ switch (correctness) {
94
+ case 'missing':
95
+ SvgComponent = _MissingSVG["default"];
96
+ break;
97
+
98
+ case 'correct':
99
+ SvgComponent = _CorrectSVG["default"];
100
+ break;
101
+
102
+ case 'incorrect':
103
+ SvgComponent = _IncorrectSVG["default"];
104
+ break;
105
+
106
+ default:
107
+ SvgComponent = null;
108
+ break;
109
+ }
110
+
111
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("circle", {
112
+ style: {
113
+ fill: 'transparent',
114
+ cursor: 'pointer',
115
+ pointerEvents: 'all'
116
+ },
117
+ r: r * 3,
118
+ cx: scale.x(x),
119
+ cy: scale.y(y),
120
+ onMouseEnter: function onMouseEnter() {
121
+ return _this2.setState({
122
+ showCoordinates: true
123
+ });
124
+ },
125
+ onMouseLeave: function onMouseLeave() {
126
+ return _this2.setState({
127
+ showCoordinates: false
128
+ });
129
+ },
130
+ onTouchStart: onTouchStart,
131
+ onTouchEnd: onTouchEnd,
132
+ onClick: onClick
133
+ }), /*#__PURE__*/_react["default"].createElement("g", {
134
+ className: (0, _classnames["default"])(classes.point, disabled && classes.disabledSecondary, classes[correctness], className),
135
+ onMouseEnter: function onMouseEnter() {
136
+ return _this2.setState({
137
+ showCoordinates: true
138
+ });
139
+ },
140
+ onMouseLeave: function onMouseLeave() {
141
+ return _this2.setState({
142
+ showCoordinates: false
143
+ });
144
+ }
145
+ }, /*#__PURE__*/_react["default"].createElement("circle", (0, _extends2["default"])({}, rest, {
146
+ r: r,
147
+ cx: scale.x(x),
148
+ cy: scale.y(y)
149
+ })), SvgComponent && /*#__PURE__*/_react["default"].createElement(SvgComponent, {
150
+ scale: scale,
151
+ x: x,
152
+ y: y
153
+ }), labelNode && coordinatesOnHover && showCoordinates && /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_coordinatesLabel["default"], {
154
+ graphProps: graphProps,
155
+ x: x,
156
+ y: y
157
+ }), labelNode)));
158
+ }
159
+ }]);
160
+ return RawBp;
161
+ }(_react["default"].Component);
162
+
163
+ exports.RawBp = RawBp;
164
+ (0, _defineProperty2["default"])(RawBp, "propTypes", {
165
+ classes: _propTypes["default"].object,
166
+ className: _propTypes["default"].string,
167
+ coordinatesOnHover: _propTypes["default"].bool,
168
+ correctness: _propTypes["default"].string,
169
+ disabled: _propTypes["default"].bool,
170
+ labelNode: _propTypes["default"].object,
171
+ x: _propTypes["default"].number,
172
+ y: _propTypes["default"].number,
173
+ graphProps: _plot.types.GraphPropsType.isRequired
174
+ });
175
+ //# sourceMappingURL=base-point.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/tools/shared/point/base-point.jsx"],"names":["RawBp","props","state","showCoordinates","classes","className","coordinatesOnHover","x","y","disabled","correctness","graphProps","labelNode","style","onClick","onTouchStart","onTouchEnd","rest","scale","r","SvgComponent","MissingSVG","CorrectSVG","IncorrectSVG","fill","cursor","pointerEvents","setState","point","disabledSecondary","ReactDOM","createPortal","React","Component","PropTypes","object","string","bool","number","types","GraphPropsType","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport CoordinatesLabel from '../../../coordinates-label';\nimport ReactDOM from 'react-dom';\nimport { thinnerShapesNeeded } from '../../../utils';\nimport MissingSVG from '../icons/MissingSVG';\nimport CorrectSVG from '../icons/CorrectSVG';\nimport IncorrectSVG from '../icons/IncorrectSVG';\n\nexport class RawBp extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n labelNode: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { showCoordinates: false };\n }\n\n render() {\n const {\n classes,\n className,\n coordinatesOnHover,\n x,\n y,\n disabled,\n correctness,\n graphProps,\n labelNode,\n // we need to remove style from props\n // eslint-disable-next-line no-unused-vars,react/prop-types\n style,\n onClick,\n // Refactored RawBp component by isolating onTouchStart and onTouchEnd handlers to the outer circle, resolving erratic touch event behavior.\n // Remaining props are now applied only to the inner circle for improved event handling consistency.\n onTouchStart,\n onTouchEnd,\n ...rest\n } = this.props;\n const { showCoordinates } = this.state;\n const { scale } = graphProps;\n const r = thinnerShapesNeeded(graphProps) ? 5 : 7;\n let SvgComponent;\n switch (correctness) {\n case 'missing':\n SvgComponent = MissingSVG;\n break;\n case 'correct':\n SvgComponent = CorrectSVG;\n break;\n case 'incorrect':\n SvgComponent = IncorrectSVG;\n break;\n default:\n SvgComponent = null;\n break;\n }\n\n return (\n <>\n <circle\n style={{ fill: 'transparent', cursor: 'pointer', pointerEvents: 'all' }}\n r={r * 3}\n cx={scale.x(x)}\n cy={scale.y(y)}\n onMouseEnter={() => this.setState({ showCoordinates: true })}\n onMouseLeave={() => this.setState({ showCoordinates: false })}\n onTouchStart={onTouchStart}\n onTouchEnd={onTouchEnd}\n onClick={onClick}\n />\n <g\n className={classNames(classes.point, disabled && classes.disabledSecondary, classes[correctness], className)}\n onMouseEnter={() => this.setState({ showCoordinates: true })}\n onMouseLeave={() => this.setState({ showCoordinates: false })}\n >\n <circle {...rest} r={r} cx={scale.x(x)} cy={scale.y(y)} />\n {SvgComponent && <SvgComponent scale={scale} x={x} y={y} />}\n {labelNode &&\n coordinatesOnHover &&\n showCoordinates &&\n ReactDOM.createPortal(<CoordinatesLabel graphProps={graphProps} x={x} y={y} />, labelNode)}\n </g>\n </>\n );\n }\n}\n"],"file":"base-point.js"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.BasePoint = exports.ArrowPoint = exports.Arrow = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _index = require("@material-ui/core/styles/index");
15
+
16
+ var _plot = require("@pie-lib/plot");
17
+
18
+ var utils = _interopRequireWildcard(require("../../../utils"));
19
+
20
+ var _styles = require("../styles");
21
+
22
+ var _basePoint = require("./base-point");
23
+
24
+ var _arrowPoint = require("./arrow-point");
25
+
26
+ var _renderUi = require("@pie-lib/render-ui");
27
+
28
+ var _arrow = _interopRequireDefault(require("./arrow"));
29
+
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
34
+ 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; }
35
+
36
+ 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; }
37
+
38
+ var opts = {
39
+ bounds: function bounds(props, _ref) {
40
+ var domain = _ref.domain,
41
+ range = _ref.range;
42
+ var x = props.x,
43
+ y = props.y;
44
+ var area = {
45
+ left: x,
46
+ top: y,
47
+ bottom: y,
48
+ right: x
49
+ };
50
+ return utils.bounds(area, domain, range);
51
+ },
52
+ anchorPoint: function anchorPoint(props) {
53
+ var x = props.x,
54
+ y = props.y;
55
+ return {
56
+ x: x,
57
+ y: y
58
+ };
59
+ },
60
+ fromDelta: function fromDelta(props, delta) {
61
+ return utils.point(props).add(utils.point(delta));
62
+ }
63
+ };
64
+
65
+ var styles = function styles() {
66
+ return {
67
+ point: {
68
+ '& circle, & polygon': {
69
+ cursor: 'pointer',
70
+ fill: _renderUi.color.defaults.BLACK
71
+ }
72
+ },
73
+ disabled: {
74
+ '& circle, & polygon': _objectSpread({}, (0, _styles.disabled)())
75
+ },
76
+ disabledSecondary: {
77
+ '& circle, & polygon': _objectSpread({}, (0, _styles.disabledSecondary)())
78
+ },
79
+ correct: {
80
+ '& circle, & polygon': _objectSpread({}, (0, _styles.correct)())
81
+ },
82
+ incorrect: {
83
+ '& circle, & polygon': _objectSpread({}, (0, _styles.incorrect)())
84
+ },
85
+ missing: {
86
+ '& circle, & polygon': _objectSpread({}, (0, _styles.missing)())
87
+ }
88
+ };
89
+ };
90
+
91
+ var BasePoint = (0, _index.withStyles)(styles)((0, _plot.gridDraggable)(opts)(_basePoint.RawBp));
92
+ exports.BasePoint = BasePoint;
93
+ var ArrowPoint = (0, _index.withStyles)(styles)((0, _plot.gridDraggable)(opts)(_arrowPoint.RawArrow));
94
+ exports.ArrowPoint = ArrowPoint;
95
+ var Arrow = (0, _index.withStyles)(styles)((0, _plot.gridDraggable)(opts)(_arrow["default"]));
96
+ exports.Arrow = Arrow;
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/tools/shared/point/index.jsx"],"names":["opts","bounds","props","domain","range","x","y","area","left","top","bottom","right","utils","anchorPoint","fromDelta","delta","point","add","styles","cursor","fill","color","defaults","BLACK","disabled","disabledSecondary","correct","incorrect","missing","BasePoint","RawBp","ArrowPoint","RawArrow","Arrow","BaseArrow"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,IAAI,GAAG;AACXC,EAAAA,MAAM,EAAE,gBAACC,KAAD,QAA8B;AAAA,QAApBC,MAAoB,QAApBA,MAAoB;AAAA,QAAZC,KAAY,QAAZA,KAAY;AACpC,QAAQC,CAAR,GAAiBH,KAAjB,CAAQG,CAAR;AAAA,QAAWC,CAAX,GAAiBJ,KAAjB,CAAWI,CAAX;AACA,QAAMC,IAAI,GAAG;AAAEC,MAAAA,IAAI,EAAEH,CAAR;AAAWI,MAAAA,GAAG,EAAEH,CAAhB;AAAmBI,MAAAA,MAAM,EAAEJ,CAA3B;AAA8BK,MAAAA,KAAK,EAAEN;AAArC,KAAb;AAEA,WAAOO,KAAK,CAACX,MAAN,CAAaM,IAAb,EAAmBJ,MAAnB,EAA2BC,KAA3B,CAAP;AACD,GANU;AAOXS,EAAAA,WAAW,EAAE,qBAACX,KAAD,EAAW;AACtB,QAAQG,CAAR,GAAiBH,KAAjB,CAAQG,CAAR;AAAA,QAAWC,CAAX,GAAiBJ,KAAjB,CAAWI,CAAX;AAEA,WAAO;AAAED,MAAAA,CAAC,EAADA,CAAF;AAAKC,MAAAA,CAAC,EAADA;AAAL,KAAP;AACD,GAXU;AAYXQ,EAAAA,SAAS,EAAE,mBAACZ,KAAD,EAAQa,KAAR,EAAkB;AAC3B,WAAOH,KAAK,CAACI,KAAN,CAAYd,KAAZ,EAAmBe,GAAnB,CAAuBL,KAAK,CAACI,KAAN,CAAYD,KAAZ,CAAvB,CAAP;AACD;AAdU,CAAb;;AAiBA,IAAMG,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB,SAAO;AACLF,IAAAA,KAAK,EAAE;AACL,6BAAuB;AACrBG,QAAAA,MAAM,EAAE,SADa;AAErBC,QAAAA,IAAI,EAAEC,gBAAMC,QAAN,CAAeC;AAFA;AADlB,KADF;AAOLC,IAAAA,QAAQ,EAAE;AACR,+CACK,uBADL;AADQ,KAPL;AAYLC,IAAAA,iBAAiB,EAAE;AACjB,+CACK,gCADL;AADiB,KAZd;AAiBLC,IAAAA,OAAO,EAAE;AACP,+CACK,sBADL;AADO,KAjBJ;AAsBLC,IAAAA,SAAS,EAAE;AACT,+CACK,wBADL;AADS,KAtBN;AA2BLC,IAAAA,OAAO,EAAE;AACP,+CACK,sBADL;AADO;AA3BJ,GAAP;AAiCD,CAlCD;;AAoCO,IAAMC,SAAS,GAAG,uBAAWX,MAAX,EAAmB,yBAAclB,IAAd,EAAoB8B,gBAApB,CAAnB,CAAlB;;AACA,IAAMC,UAAU,GAAG,uBAAWb,MAAX,EAAmB,yBAAclB,IAAd,EAAoBgC,oBAApB,CAAnB,CAAnB;;AACA,IAAMC,KAAK,GAAG,uBAAWf,MAAX,EAAmB,yBAAclB,IAAd,EAAoBkC,iBAApB,CAAnB,CAAd","sourcesContent":["import { withStyles } from '@material-ui/core/styles/index';\nimport { gridDraggable } from '@pie-lib/plot';\nimport * as utils from '../../../utils';\nimport { disabled, correct, incorrect, missing, disabledSecondary } from '../styles';\nimport { RawBp } from './base-point';\nimport { RawArrow } from './arrow-point';\nimport { color } from '@pie-lib/render-ui';\nimport BaseArrow from './arrow';\n\nconst opts = {\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { x, y } = props;\n\n return { x, y };\n },\n fromDelta: (props, delta) => {\n return utils.point(props).add(utils.point(delta));\n },\n};\n\nconst styles = () => {\n return {\n point: {\n '& circle, & polygon': {\n cursor: 'pointer',\n fill: color.defaults.BLACK,\n },\n },\n disabled: {\n '& circle, & polygon': {\n ...disabled(),\n },\n },\n disabledSecondary: {\n '& circle, & polygon': {\n ...disabledSecondary(),\n },\n },\n correct: {\n '& circle, & polygon': {\n ...correct(),\n },\n },\n incorrect: {\n '& circle, & polygon': {\n ...incorrect(),\n },\n },\n missing: {\n '& circle, & polygon': {\n ...missing(),\n },\n },\n };\n};\n\nexport const BasePoint = withStyles(styles)(gridDraggable(opts)(RawBp));\nexport const ArrowPoint = withStyles(styles)(gridDraggable(opts)(RawArrow));\nexport const Arrow = withStyles(styles)(gridDraggable(opts)(BaseArrow));\n"],"file":"index.js"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.missing = exports.incorrect = exports.disabledSecondary = exports.disabled = exports.correct = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _renderUi = require("@pie-lib/render-ui");
13
+
14
+ var disabled = function disabled() {
15
+ var _ref;
16
+
17
+ var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
18
+ return _ref = {}, (0, _defineProperty2["default"])(_ref, key, _renderUi.color.disabled()), (0, _defineProperty2["default"])(_ref, "pointerEvents", 'none'), _ref;
19
+ };
20
+
21
+ exports.disabled = disabled;
22
+
23
+ var disabledSecondary = function disabledSecondary() {
24
+ var _ref2;
25
+
26
+ var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
27
+ return _ref2 = {}, (0, _defineProperty2["default"])(_ref2, key, _renderUi.color.disabledSecondary()), (0, _defineProperty2["default"])(_ref2, "pointerEvents", 'none'), _ref2;
28
+ };
29
+
30
+ exports.disabledSecondary = disabledSecondary;
31
+
32
+ var correct = function correct() {
33
+ var _ref3;
34
+
35
+ var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
36
+ return _ref3 = {}, (0, _defineProperty2["default"])(_ref3, key, _renderUi.color.correctWithIcon()), (0, _defineProperty2["default"])(_ref3, "pointerEvents", 'none'), _ref3;
37
+ };
38
+
39
+ exports.correct = correct;
40
+
41
+ var incorrect = function incorrect() {
42
+ var _ref4;
43
+
44
+ var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
45
+ return _ref4 = {}, (0, _defineProperty2["default"])(_ref4, key, _renderUi.color.incorrectWithIcon()), (0, _defineProperty2["default"])(_ref4, "pointerEvents", 'none'), _ref4;
46
+ };
47
+
48
+ exports.incorrect = incorrect;
49
+
50
+ var missing = function missing() {
51
+ var _ref5;
52
+
53
+ var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
54
+ return _ref5 = {}, (0, _defineProperty2["default"])(_ref5, key, _renderUi.color.missingWithIcon()), (0, _defineProperty2["default"])(_ref5, "pointerEvents", 'none'), _ref5;
55
+ };
56
+
57
+ exports.missing = missing;
58
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/shared/styles.js"],"names":["disabled","key","color","disabledSecondary","correct","correctWithIcon","incorrect","incorrectWithIcon","missing","missingWithIcon"],"mappings":";;;;;;;;;;;AAAA;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW;AAAA;;AAAA,MAACC,GAAD,uEAAO,MAAP;AAAA,2DACrBA,GADqB,EACfC,gBAAMF,QAAN,EADe,2DAEP,MAFO;AAAA,CAAjB;;;;AAKA,IAAMG,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA;;AAAA,MAACF,GAAD,uEAAO,MAAP;AAAA,6DAC9BA,GAD8B,EACxBC,gBAAMC,iBAAN,EADwB,4DAEhB,MAFgB;AAAA,CAA1B;;;;AAKA,IAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA;;AAAA,MAACH,GAAD,uEAAO,MAAP;AAAA,6DACpBA,GADoB,EACdC,gBAAMG,eAAN,EADc,4DAEN,MAFM;AAAA,CAAhB;;;;AAIA,IAAMC,SAAS,GAAG,SAAZA,SAAY;AAAA;;AAAA,MAACL,GAAD,uEAAO,MAAP;AAAA,6DACtBA,GADsB,EAChBC,gBAAMK,iBAAN,EADgB,4DAER,MAFQ;AAAA,CAAlB;;;;AAKA,IAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA;;AAAA,MAACP,GAAD,uEAAO,MAAP;AAAA,6DACpBA,GADoB,EACdC,gBAAMO,eAAN,EADc,4DAEN,MAFM;AAAA,CAAhB","sourcesContent":["import { color } from '@pie-lib/render-ui';\n\nexport const disabled = (key = 'fill') => ({\n [key]: color.disabled(),\n pointerEvents: 'none',\n});\n\nexport const disabledSecondary = (key = 'fill') => ({\n [key]: color.disabledSecondary(),\n pointerEvents: 'none',\n});\n\nexport const correct = (key = 'fill') => ({\n [key]: color.correctWithIcon(),\n pointerEvents: 'none',\n});\nexport const incorrect = (key = 'fill') => ({\n [key]: color.incorrectWithIcon(),\n pointerEvents: 'none',\n});\n\nexport const missing = (key = 'fill') => ({\n [key]: color.missingWithIcon(),\n pointerEvents: 'none',\n});\n"],"file":"styles.js"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ToolPropTypeFields = exports.ToolPropType = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var ToolPropTypeFields = {
13
+ mark: _propTypes["default"].any,
14
+ onChange: _propTypes["default"].func,
15
+ onDragStart: _propTypes["default"].func,
16
+ onDragStop: _propTypes["default"].func
17
+ };
18
+ exports.ToolPropTypeFields = ToolPropTypeFields;
19
+
20
+ var ToolPropType = _propTypes["default"].shape(ToolPropTypeFields);
21
+
22
+ exports.ToolPropType = ToolPropType;
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/shared/types.js"],"names":["ToolPropTypeFields","mark","PropTypes","any","onChange","func","onDragStart","onDragStop","ToolPropType","shape"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAEC,sBAAUC,GADgB;AAEhCC,EAAAA,QAAQ,EAAEF,sBAAUG,IAFY;AAGhCC,EAAAA,WAAW,EAAEJ,sBAAUG,IAHS;AAIhCE,EAAAA,UAAU,EAAEL,sBAAUG;AAJU,CAA3B;;;AAOA,IAAMG,YAAY,GAAGN,sBAAUO,KAAV,CAAgBT,kBAAhB,CAArB","sourcesContent":["import PropTypes from 'prop-types';\n\nexport const ToolPropTypeFields = {\n mark: PropTypes.any,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n};\n\nexport const ToolPropType = PropTypes.shape(ToolPropTypeFields);\n"],"file":"types.js"}
@@ -0,0 +1,51 @@
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"] = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _debug = _interopRequireDefault(require("debug"));
13
+
14
+ var _graphingUtils = require("@pie-lib/graphing-utils");
15
+
16
+ var _withRootEdge = require("../shared/line/with-root-edge");
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ var log = (0, _debug["default"])('pie-lib:graphing:sine');
23
+ var Sine = (0, _withRootEdge.withRootEdge)(function (props) {
24
+ var root = props.root,
25
+ edge = props.edge,
26
+ graphProps = props.graphProps;
27
+ var domain = graphProps.domain,
28
+ range = graphProps.range;
29
+
30
+ var _getAmplitudeAndFreq = (0, _graphingUtils.getAmplitudeAndFreq)(root, edge),
31
+ amplitude = _getAmplitudeAndFreq.amplitude,
32
+ freq = _getAmplitudeAndFreq.freq;
33
+
34
+ var interval = freq / _graphingUtils.FREQ_DIVIDER;
35
+ log('[getPoints] amplitude:', amplitude, 'freq:', freq);
36
+ var dataPoints = edge && edge.x === root.x ? [] : (0, _graphingUtils.buildDataPoints)(_objectSpread(_objectSpread({}, domain), {}, {
37
+ step: interval
38
+ }), range, root, edge, (0, _graphingUtils.sinY)(amplitude, freq, {
39
+ phase: root.x,
40
+ vertical: root.y
41
+ }));
42
+ return {
43
+ root: props.root,
44
+ edge: props.edge,
45
+ dataPoints: dataPoints
46
+ };
47
+ });
48
+ var Component = (0, _withRootEdge.rootEdgeComponent)(Sine);
49
+ var _default = Component;
50
+ exports["default"] = _default;
51
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/sine/component.jsx"],"names":["log","Sine","props","root","edge","graphProps","domain","range","amplitude","freq","interval","FREQ_DIVIDER","dataPoints","x","step","phase","vertical","y","Component"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uBAAN,CAAZ;AAEA,IAAMC,IAAI,GAAG,gCAAa,UAACC,KAAD,EAAW;AACnC,MAAQC,IAAR,GAAmCD,KAAnC,CAAQC,IAAR;AAAA,MAAcC,IAAd,GAAmCF,KAAnC,CAAcE,IAAd;AAAA,MAAoBC,UAApB,GAAmCH,KAAnC,CAAoBG,UAApB;AACA,MAAQC,MAAR,GAA0BD,UAA1B,CAAQC,MAAR;AAAA,MAAgBC,KAAhB,GAA0BF,UAA1B,CAAgBE,KAAhB;;AAEA,6BAA4B,wCAAoBJ,IAApB,EAA0BC,IAA1B,CAA5B;AAAA,MAAQI,SAAR,wBAAQA,SAAR;AAAA,MAAmBC,IAAnB,wBAAmBA,IAAnB;;AACA,MAAMC,QAAQ,GAAGD,IAAI,GAAGE,2BAAxB;AAEAX,EAAAA,GAAG,CAAC,wBAAD,EAA2BQ,SAA3B,EAAsC,OAAtC,EAA+CC,IAA/C,CAAH;AAEA,MAAMG,UAAU,GACdR,IAAI,IAAIA,IAAI,CAACS,CAAL,KAAWV,IAAI,CAACU,CAAxB,GACI,EADJ,GAEI,oEACOP,MADP;AACeQ,IAAAA,IAAI,EAAEJ;AADrB,MAEEH,KAFF,EAGEJ,IAHF,EAIEC,IAJF,EAKE,yBAAKI,SAAL,EAAgBC,IAAhB,EAAsB;AAAEM,IAAAA,KAAK,EAAEZ,IAAI,CAACU,CAAd;AAAiBG,IAAAA,QAAQ,EAAEb,IAAI,CAACc;AAAhC,GAAtB,CALF,CAHN;AAWA,SAAO;AAAEd,IAAAA,IAAI,EAAED,KAAK,CAACC,IAAd;AAAoBC,IAAAA,IAAI,EAAEF,KAAK,CAACE,IAAhC;AAAsCQ,IAAAA,UAAU,EAAVA;AAAtC,GAAP;AACD,CArBY,CAAb;AAuBA,IAAMM,SAAS,GAAG,qCAAkBjB,IAAlB,CAAlB;eAEeiB,S","sourcesContent":["import debug from 'debug';\nimport { sinY, buildDataPoints, getAmplitudeAndFreq, FREQ_DIVIDER } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:sine');\n\nconst Sine = withRootEdge((props) => {\n const { root, edge, graphProps } = props;\n const { domain, range } = graphProps;\n\n const { amplitude, freq } = getAmplitudeAndFreq(root, edge);\n const interval = freq / FREQ_DIVIDER;\n\n log('[getPoints] amplitude:', amplitude, 'freq:', freq);\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(\n { ...domain, step: interval },\n range,\n root,\n edge,\n sinY(amplitude, freq, { phase: root.x, vertical: root.y }),\n );\n\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Sine);\n\nexport default Component;\n"],"file":"component.js"}
@@ -0,0 +1,63 @@
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
+ var _debug = _interopRequireDefault(require("debug"));
15
+
16
+ var _utils = require("../../utils");
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ var log = (0, _debug["default"])('pie-lib:graphing:sine');
23
+
24
+ var tool = function tool() {
25
+ return {
26
+ type: 'sine',
27
+ Component: _component["default"],
28
+ complete: function complete(data, mark) {
29
+ return _objectSpread(_objectSpread({}, mark), {}, {
30
+ building: false,
31
+ closed: true
32
+ });
33
+ },
34
+ addPoint: function addPoint(point, mark) {
35
+ log('add point to sine model: ', point, 'mark: ', mark);
36
+
37
+ if (mark && ((0, _utils.equalPoints)(mark.root, point) || (0, _utils.sameAxes)(mark.root, point))) {
38
+ return mark;
39
+ }
40
+
41
+ if (!mark) {
42
+ return {
43
+ type: 'sine',
44
+ root: point,
45
+ edge: undefined,
46
+ closed: false,
47
+ building: true
48
+ };
49
+ } else if (mark && !mark.root) {
50
+ throw new Error('no root - should never happen');
51
+ } else {
52
+ return _objectSpread(_objectSpread({}, mark), {}, {
53
+ edge: point,
54
+ closed: true,
55
+ building: false
56
+ });
57
+ }
58
+ }
59
+ };
60
+ };
61
+
62
+ exports.tool = tool;
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/sine/index.js"],"names":["log","tool","type","Component","Sine","complete","data","mark","building","closed","addPoint","point","root","edge","undefined","Error"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uBAAN,CAAZ;;AAEO,IAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,MADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP,EAAgB;AACxB,6CAAYA,IAAZ;AAAkBC,QAAAA,QAAQ,EAAE,KAA5B;AAAmCC,QAAAA,MAAM,EAAE;AAA3C;AACD,KALwB;AAMzBC,IAAAA,QAAQ,EAAE,kBAACC,KAAD,EAAQJ,IAAR,EAAiB;AACzBP,MAAAA,GAAG,CAAC,2BAAD,EAA8BW,KAA9B,EAAqC,QAArC,EAA+CJ,IAA/C,CAAH;;AACA,UAAIA,IAAI,KAAK,wBAAYA,IAAI,CAACK,IAAjB,EAAuBD,KAAvB,KAAiC,qBAASJ,IAAI,CAACK,IAAd,EAAoBD,KAApB,CAAtC,CAAR,EAA2E;AACzE,eAAOJ,IAAP;AACD;;AAED,UAAI,CAACA,IAAL,EAAW;AACT,eAAO;AACLL,UAAAA,IAAI,EAAE,MADD;AAELU,UAAAA,IAAI,EAAED,KAFD;AAGLE,UAAAA,IAAI,EAAEC,SAHD;AAILL,UAAAA,MAAM,EAAE,KAJH;AAKLD,UAAAA,QAAQ,EAAE;AALL,SAAP;AAOD,OARD,MAQO,IAAID,IAAI,IAAI,CAACA,IAAI,CAACK,IAAlB,EAAwB;AAC7B,cAAM,IAAIG,KAAJ,CAAU,+BAAV,CAAN;AACD,OAFM,MAEA;AACL,+CAAYR,IAAZ;AAAkBM,UAAAA,IAAI,EAAEF,KAAxB;AAA+BF,UAAAA,MAAM,EAAE,IAAvC;AAA6CD,UAAAA,QAAQ,EAAE;AAAvD;AACD;AACF;AAzBwB,GAAP;AAAA,CAAb","sourcesContent":["import Sine from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:sine');\n\nexport const tool = () => ({\n type: 'sine',\n Component: Sine,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n log('add point to sine model: ', point, 'mark: ', mark);\n if (mark && (equalPoints(mark.root, point) || sameAxes(mark.root, point))) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'sine',\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"],"file":"index.js"}
@@ -0,0 +1,88 @@
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.Line = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _line = require("../shared/line");
15
+
16
+ var _point = require("../shared/point");
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ var _plot = require("@pie-lib/plot");
23
+
24
+ var _classnames = _interopRequireDefault(require("classnames"));
25
+
26
+ var _styles = require("@material-ui/core/styles");
27
+
28
+ var _utils = require("../../utils");
29
+
30
+ var _excluded = ["className", "classes", "disabled", "correctness", "graphProps", "from", "to"];
31
+
32
+ var lineStyles = function lineStyles(theme) {
33
+ return {
34
+ line: _line.styles.line(theme),
35
+ disabled: _line.styles.disabled(theme),
36
+ disabledSecondary: _line.styles.disabledSecondary(theme),
37
+ correct: _line.styles.correct(theme, 'stroke'),
38
+ incorrect: _line.styles.incorrect(theme, 'stroke'),
39
+ missing: _line.styles.missing(theme, 'stroke')
40
+ };
41
+ };
42
+
43
+ var Line = function Line(props) {
44
+ var className = props.className,
45
+ classes = props.classes,
46
+ disabled = props.disabled,
47
+ correctness = props.correctness,
48
+ scale = props.graphProps.scale,
49
+ from = props.from,
50
+ to = props.to,
51
+ rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
52
+ var startPoint = {
53
+ x: scale.x(from.x),
54
+ y: scale.y(from.y)
55
+ };
56
+ var endPoint = {
57
+ x: scale.x(to.x),
58
+ y: scale.y(to.y)
59
+ };
60
+ var length = (0, _utils.getDistanceBetweenTwoPoints)(startPoint, endPoint);
61
+ return /*#__PURE__*/_react["default"].createElement("line", (0, _extends2["default"])({
62
+ className: (0, _classnames["default"])(classes.line, disabled && classes.disabledSecondary, classes[correctness], className),
63
+ x1: startPoint.x,
64
+ y1: startPoint.y,
65
+ x2: endPoint.x,
66
+ y2: endPoint.y,
67
+ strokeDasharray: length - 7
68
+ }, rest));
69
+ };
70
+
71
+ exports.Line = Line;
72
+ Line.propTypes = {
73
+ className: _propTypes["default"].string,
74
+ classes: _propTypes["default"].object,
75
+ disabled: _propTypes["default"].bool,
76
+ correctness: _propTypes["default"].string,
77
+ graphProps: _propTypes["default"].any,
78
+ from: _plot.types.PointType,
79
+ to: _plot.types.PointType
80
+ };
81
+ var StyledLine = (0, _styles.withStyles)(lineStyles)(Line);
82
+ var Vector = (0, _line.lineBase)(StyledLine, {
83
+ to: _point.Arrow
84
+ });
85
+ var Component = (0, _line.lineToolComponent)(Vector);
86
+ var _default = Component;
87
+ exports["default"] = _default;
88
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/vector/component.jsx"],"names":["lineStyles","theme","line","styles","disabled","disabledSecondary","correct","incorrect","missing","Line","props","className","classes","correctness","scale","graphProps","from","to","rest","startPoint","x","y","endPoint","length","propTypes","PropTypes","string","object","bool","any","types","PointType","StyledLine","Vector","Arrow","Component"],"mappings":"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","sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport { Arrow } from '../shared/point';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getDistanceBetweenTwoPoints } from '../../utils';\n\nconst lineStyles = (theme) => ({\n line: styles.line(theme),\n disabled: styles.disabled(theme),\n disabledSecondary: styles.disabledSecondary(theme),\n correct: styles.correct(theme, 'stroke'),\n incorrect: styles.incorrect(theme, 'stroke'),\n missing: styles.missing(theme, 'stroke'),\n});\n\nexport const Line = (props) => {\n const {\n className,\n classes,\n disabled,\n correctness,\n graphProps: { scale },\n from,\n to,\n ...rest\n } = props;\n const startPoint = { x: scale.x(from.x), y: scale.y(from.y) };\n const endPoint = { x: scale.x(to.x), y: scale.y(to.y) };\n const length = getDistanceBetweenTwoPoints(startPoint, endPoint);\n\n return (\n <line\n className={classNames(classes.line, disabled && classes.disabledSecondary, classes[correctness], className)}\n x1={startPoint.x}\n y1={startPoint.y}\n x2={endPoint.x}\n y2={endPoint.y}\n strokeDasharray={length - 7}\n {...rest}\n />\n );\n};\n\nLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n graphProps: PropTypes.any,\n from: types.PointType,\n to: types.PointType,\n};\n\nconst StyledLine = withStyles(lineStyles)(Line);\nconst Vector = lineBase(StyledLine, { to: Arrow });\nconst Component = lineToolComponent(Vector);\n\nexport default Component;\n"],"file":"component.js"}
@@ -0,0 +1,16 @@
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 _component = _interopRequireDefault(require("./component"));
11
+
12
+ var _line = require("../shared/line");
13
+
14
+ var tool = (0, _line.lineTool)('vector', _component["default"]);
15
+ exports.tool = tool;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/vector/index.js"],"names":["tool","Vector"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,IAAI,GAAG,oBAAS,QAAT,EAAmBC,qBAAnB,CAAb","sourcesContent":["import Vector from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('vector', Vector);\n"],"file":"index.js"}