@pie-element/number-line 6.6.0 → 6.6.1-beta.1

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 (75) hide show
  1. package/configure/package.json +3 -3
  2. package/controller/package.json +3 -3
  3. package/package.json +8 -7
  4. package/configure/lib/arrows.js +0 -117
  5. package/configure/lib/arrows.js.map +0 -1
  6. package/configure/lib/card-bar.js +0 -79
  7. package/configure/lib/card-bar.js.map +0 -1
  8. package/configure/lib/defaults.js +0 -68
  9. package/configure/lib/defaults.js.map +0 -1
  10. package/configure/lib/domain.js +0 -106
  11. package/configure/lib/domain.js.map +0 -1
  12. package/configure/lib/index.js +0 -148
  13. package/configure/lib/index.js.map +0 -1
  14. package/configure/lib/main.js +0 -630
  15. package/configure/lib/main.js.map +0 -1
  16. package/configure/lib/number-text-field.js +0 -97
  17. package/configure/lib/number-text-field.js.map +0 -1
  18. package/configure/lib/point-config.js +0 -145
  19. package/configure/lib/point-config.js.map +0 -1
  20. package/configure/lib/size.js +0 -58
  21. package/configure/lib/size.js.map +0 -1
  22. package/configure/lib/ticks.js +0 -92
  23. package/configure/lib/ticks.js.map +0 -1
  24. package/configure/lib/utils.js +0 -14
  25. package/configure/lib/utils.js.map +0 -1
  26. package/controller/lib/defaults.js +0 -47
  27. package/controller/lib/defaults.js.map +0 -1
  28. package/controller/lib/index.js +0 -443
  29. package/controller/lib/index.js.map +0 -1
  30. package/lib/data-converter.js +0 -100
  31. package/lib/data-converter.js.map +0 -1
  32. package/lib/draggable/index.js +0 -53
  33. package/lib/draggable/index.js.map +0 -1
  34. package/lib/index.js +0 -241
  35. package/lib/index.js.map +0 -1
  36. package/lib/number-line/colors.js +0 -21
  37. package/lib/number-line/colors.js.map +0 -1
  38. package/lib/number-line/feedback.js +0 -108
  39. package/lib/number-line/feedback.js.map +0 -1
  40. package/lib/number-line/graph/arrow.js +0 -63
  41. package/lib/number-line/graph/arrow.js.map +0 -1
  42. package/lib/number-line/graph/elements/base.js +0 -26
  43. package/lib/number-line/graph/elements/base.js.map +0 -1
  44. package/lib/number-line/graph/elements/builder.js +0 -38
  45. package/lib/number-line/graph/elements/builder.js.map +0 -1
  46. package/lib/number-line/graph/elements/line.js +0 -317
  47. package/lib/number-line/graph/elements/line.js.map +0 -1
  48. package/lib/number-line/graph/elements/point.js +0 -233
  49. package/lib/number-line/graph/elements/point.js.map +0 -1
  50. package/lib/number-line/graph/elements/ray.js +0 -227
  51. package/lib/number-line/graph/elements/ray.js.map +0 -1
  52. package/lib/number-line/graph/index.js +0 -326
  53. package/lib/number-line/graph/index.js.map +0 -1
  54. package/lib/number-line/graph/line.js +0 -48
  55. package/lib/number-line/graph/line.js.map +0 -1
  56. package/lib/number-line/graph/stacks.js +0 -101
  57. package/lib/number-line/graph/stacks.js.map +0 -1
  58. package/lib/number-line/graph/tick-utils.js +0 -295
  59. package/lib/number-line/graph/tick-utils.js.map +0 -1
  60. package/lib/number-line/graph/ticks.js +0 -244
  61. package/lib/number-line/graph/ticks.js.map +0 -1
  62. package/lib/number-line/index.js +0 -401
  63. package/lib/number-line/index.js.map +0 -1
  64. package/lib/number-line/point-chooser/button.js +0 -74
  65. package/lib/number-line/point-chooser/button.js.map +0 -1
  66. package/lib/number-line/point-chooser/img.js +0 -9
  67. package/lib/number-line/point-chooser/img.js.map +0 -1
  68. package/lib/number-line/point-chooser/index.js +0 -181
  69. package/lib/number-line/point-chooser/index.js.map +0 -1
  70. package/lib/number-line/point-chooser/styles.js +0 -98
  71. package/lib/number-line/point-chooser/styles.js.map +0 -1
  72. package/lib/number-line/transitions/fade.js +0 -67
  73. package/lib/number-line/transitions/fade.js.map +0 -1
  74. package/lib/number-line/transitions/index.js +0 -16
  75. package/lib/number-line/transitions/index.js.map +0 -1
@@ -1,317 +0,0 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _draggable = _interopRequireDefault(require("../../../draggable"));
29
-
30
- var _point = _interopRequireDefault(require("./point"));
31
-
32
- var _base = require("./base");
33
-
34
- var _classnames = _interopRequireDefault(require("classnames"));
35
-
36
- var _reactJss = _interopRequireDefault(require("react-jss"));
37
-
38
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
39
-
40
- var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
41
-
42
- var _renderUi = require("@pie-lib/render-ui");
43
-
44
- 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; }
45
-
46
- 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; }
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 duration = '150ms';
53
- var style = {
54
- line: {
55
- '& .line-handle': {
56
- stroke: _renderUi.color.primary(),
57
- cursor: 'pointer',
58
- strokeWidth: '5px',
59
- transition: "opacity ".concat(duration, " linear, \n stroke-width ").concat(duration, " linear,\n stroke ").concat(duration, " linear")
60
- },
61
- '&.react-draggable-dragging': {
62
- opacity: 0.6,
63
- '& .line-handle': {
64
- opacity: 1.0,
65
- strokeWidth: '12px'
66
- }
67
- }
68
- },
69
- disabled: {
70
- cursor: 'not-allowed',
71
- opacity: 0.8
72
- },
73
- selected: {
74
- '& .line-handle': {
75
- stroke: _renderUi.color.primaryDark()
76
- },
77
- '& circle': {
78
- stroke: _renderUi.color.primaryDark()
79
- }
80
- },
81
- correct: {
82
- '& .line-handle': {
83
- cursor: 'inherit',
84
- stroke: _renderUi.color.correct()
85
- }
86
- },
87
- incorrect: {
88
- '& .line-handle': {
89
- cursor: 'inherit',
90
- stroke: _renderUi.color.incorrect()
91
- }
92
- }
93
- };
94
-
95
- var Line = /*#__PURE__*/function (_React$Component) {
96
- (0, _inherits2["default"])(Line, _React$Component);
97
-
98
- var _super = _createSuper(Line);
99
-
100
- function Line(props) {
101
- var _this;
102
-
103
- (0, _classCallCheck2["default"])(this, Line);
104
- _this = _super.call(this, props);
105
- _this.state = {
106
- left: null,
107
- right: null
108
- };
109
- return _this;
110
- }
111
-
112
- (0, _createClass2["default"])(Line, [{
113
- key: "UNSAFE_componentWillReceiveProps",
114
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
115
- if (nextProps) {
116
- var position = nextProps.position;
117
- this.setState({
118
- left: position.left,
119
- right: position.right
120
- });
121
- }
122
- }
123
- }, {
124
- key: "onDrag",
125
- value: function onDrag(side, p) {
126
- var domain = this.props.domain;
127
-
128
- if (p >= domain.min && p <= domain.max) {
129
- var newState = {};
130
- newState[side] = p;
131
- this.setState(newState);
132
- }
133
- }
134
- }, {
135
- key: "onMove",
136
- value: function onMove(side, d) {
137
- var p = this.props.position;
138
- var newPosition = {
139
- left: p.left,
140
- right: p.right
141
- };
142
- newPosition[side] = d;
143
- this.props.onMoveLine(newPosition);
144
- }
145
- }, {
146
- key: "render",
147
- value: function render() {
148
- var _this2 = this,
149
- _classNames;
150
-
151
- var _this$props = this.props,
152
- interval = _this$props.interval,
153
- empty = _this$props.empty,
154
- position = _this$props.position,
155
- domain = _this$props.domain,
156
- y = _this$props.y,
157
- selected = _this$props.selected,
158
- disabled = _this$props.disabled,
159
- correct = _this$props.correct,
160
- classes = _this$props.classes;
161
- var xScale = this.context.xScale;
162
- var onDrag = this.onDrag,
163
- onMove = this.onMove;
164
- var onMoveLeft = onMove.bind(this, 'left');
165
- var onMoveRight = onMove.bind(this, 'right');
166
- var onDragLeft = onDrag.bind(this, 'left');
167
- var onDragRight = onDrag.bind(this, 'right');
168
- var left = (0, _isNumber["default"])(this.state.left) ? this.state.left : position.left;
169
- var right = (0, _isNumber["default"])(this.state.right) ? this.state.right : position.right;
170
- var is = xScale(interval) - xScale(0);
171
-
172
- var onMouseDown = function onMouseDown(e) {
173
- return e.nativeEvent.preventDefault();
174
- };
175
-
176
- var onLineDragStart = function onLineDragStart(e) {
177
- return _this2.setState({
178
- startX: e.clientX
179
- });
180
- };
181
-
182
- var onLineClick = function onLineClick() {
183
- var _this2$state = _this2.state,
184
- startX = _this2$state.startX,
185
- endX = _this2$state.endX;
186
-
187
- if (!startX || !endX) {
188
- return;
189
- }
190
-
191
- var deltaX = Math.abs(endX - startX);
192
-
193
- if (deltaX < is / 10) {
194
- _this2.props.onToggleSelect();
195
-
196
- _this2.setState({
197
- startX: null,
198
- endX: null
199
- });
200
- }
201
- };
202
-
203
- var onRectClick = function onRectClick() {
204
- _this2.props.onToggleSelect();
205
- };
206
-
207
- var onLineDragStop = function onLineDragStop(e, dd) {
208
- _this2.setState({
209
- endX: e.clientX
210
- });
211
-
212
- var invertedX = xScale.invert(dd.lastX + xScale(0));
213
- var newPosition = {
214
- left: position.left + invertedX,
215
- right: position.right + invertedX
216
- };
217
-
218
- if (!(0, _isEqual["default"])(newPosition, _this2.props.position)) {
219
- _this2.props.onMoveLine(newPosition);
220
- }
221
- };
222
-
223
- var scaledLineBounds = {
224
- left: (domain.min - position.left) / interval * is,
225
- right: (domain.max - position.right) / interval * is
226
- };
227
- var lineClass = (0, _classnames["default"])(classes.line, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.disabled, disabled), (0, _defineProperty2["default"])(_classNames, classes.selected, selected), (0, _defineProperty2["default"])(_classNames, classes.correct, correct === true), (0, _defineProperty2["default"])(_classNames, classes.incorrect, correct === false), _classNames));
228
- var common = {
229
- interval: interval,
230
- selected: selected,
231
- disabled: disabled,
232
- correct: correct
233
- };
234
- return /*#__PURE__*/_react["default"].createElement(_draggable["default"], {
235
- disabled: disabled,
236
- axis: "x",
237
- handle: ".line-handle",
238
- grid: [is],
239
- bounds: scaledLineBounds,
240
- onStart: onLineDragStart,
241
- onStop: onLineDragStop,
242
- onMouseDown: onMouseDown
243
- }, /*#__PURE__*/_react["default"].createElement("g", {
244
- className: lineClass
245
- }, /*#__PURE__*/_react["default"].createElement("g", {
246
- transform: "translate(0, ".concat(y, ")")
247
- }, /*#__PURE__*/_react["default"].createElement("rect", {
248
- x: xScale(left),
249
- width: Math.abs(xScale(right) - xScale(left)),
250
- fill: "red",
251
- fillOpacity: "0.0",
252
- y: "-8",
253
- height: 16,
254
- onClick: onRectClick
255
- }), /*#__PURE__*/_react["default"].createElement("line", {
256
- className: (0, _classnames["default"])('line-handle', classes.handle, (0, _defineProperty2["default"])({}, classes.selected, selected)),
257
- x1: xScale(left),
258
- x2: xScale(right),
259
- onClick: onLineClick
260
- }), /*#__PURE__*/_react["default"].createElement(_point["default"], (0, _extends2["default"])({}, common, {
261
- empty: empty.left,
262
- bounds: {
263
- left: domain.min - position.left,
264
- right: domain.max - position.left
265
- },
266
- position: position.left,
267
- onDrag: onDragLeft,
268
- onMove: onMoveLeft
269
- })), /*#__PURE__*/_react["default"].createElement(_point["default"], (0, _extends2["default"])({}, common, {
270
- empty: empty.right,
271
- bounds: {
272
- left: domain.min - position.right,
273
- right: domain.max - position.right
274
- },
275
- position: position.right,
276
- onDrag: onDragRight,
277
- onMove: onMoveRight
278
- })))));
279
- }
280
- }]);
281
- return Line;
282
- }(_react["default"].Component);
283
-
284
- exports.Line = Line;
285
- (0, _defineProperty2["default"])(Line, "propTypes", _objectSpread(_objectSpread({}, (0, _base.basePropTypes)()), {}, {
286
- empty: _propTypes["default"].shape({
287
- left: _propTypes["default"].bool.isRequired,
288
- right: _propTypes["default"].bool.isRequired
289
- }).isRequired,
290
- position: _propTypes["default"].shape({
291
- left: _propTypes["default"].number.isRequired,
292
- right: _propTypes["default"].number.isRequired
293
- }).isRequired,
294
- y: _propTypes["default"].number,
295
- selected: _propTypes["default"].bool,
296
- disabled: _propTypes["default"].bool,
297
- correct: _propTypes["default"].bool,
298
- onMoveLine: _propTypes["default"].func.isRequired,
299
- onToggleSelect: _propTypes["default"].func.isRequired,
300
- onDragStart: _propTypes["default"].func,
301
- onDragStop: _propTypes["default"].func
302
- }));
303
- (0, _defineProperty2["default"])(Line, "defaultProps", {
304
- selected: false,
305
- y: 0,
306
- disabled: false,
307
- correct: undefined
308
- });
309
- (0, _defineProperty2["default"])(Line, "contextTypes", {
310
- xScale: _propTypes["default"].func.isRequired,
311
- snapValue: _propTypes["default"].func.isRequired
312
- });
313
-
314
- var _default = (0, _reactJss["default"])(style)(Line);
315
-
316
- exports["default"] = _default;
317
- //# sourceMappingURL=line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/number-line/graph/elements/line.jsx"],"names":["duration","style","line","stroke","color","primary","cursor","strokeWidth","transition","opacity","disabled","selected","primaryDark","correct","incorrect","Line","props","state","left","right","nextProps","position","setState","side","p","domain","min","max","newState","d","newPosition","onMoveLine","interval","empty","y","classes","xScale","context","onDrag","onMove","onMoveLeft","bind","onMoveRight","onDragLeft","onDragRight","is","onMouseDown","e","nativeEvent","preventDefault","onLineDragStart","startX","clientX","onLineClick","endX","deltaX","Math","abs","onToggleSelect","onRectClick","onLineDragStop","dd","invertedX","invert","lastX","scaledLineBounds","lineClass","common","handle","React","Component","PropTypes","shape","bool","isRequired","number","func","onDragStart","onDragStop","undefined","snapValue"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Draggable from '../../../draggable';\nimport Point from './point';\nimport { basePropTypes } from './base';\nimport classNames from 'classnames';\nimport injectSheet from 'react-jss';\nimport isEqual from 'lodash/isEqual';\nimport isNumber from 'lodash/isNumber';\nimport { color } from '@pie-lib/render-ui';\n\nconst duration = '150ms';\n\nconst style = {\n line: {\n '& .line-handle': {\n stroke: color.primary(),\n cursor: 'pointer',\n strokeWidth: '5px',\n transition: `opacity ${duration} linear, \n stroke-width ${duration} linear,\n stroke ${duration} linear`,\n },\n '&.react-draggable-dragging': {\n opacity: 0.6,\n '& .line-handle': {\n opacity: 1.0,\n strokeWidth: '12px',\n },\n },\n },\n disabled: {\n cursor: 'not-allowed',\n opacity: 0.8,\n },\n selected: {\n '& .line-handle': {\n stroke: color.primaryDark(),\n },\n '& circle': {\n stroke: color.primaryDark(),\n },\n },\n correct: {\n '& .line-handle': {\n cursor: 'inherit',\n stroke: color.correct(),\n },\n },\n incorrect: {\n '& .line-handle': {\n cursor: 'inherit',\n stroke: color.incorrect(),\n },\n },\n};\n\nexport class Line extends React.Component {\n static propTypes = {\n ...basePropTypes(),\n empty: PropTypes.shape({\n left: PropTypes.bool.isRequired,\n right: PropTypes.bool.isRequired,\n }).isRequired,\n position: PropTypes.shape({\n left: PropTypes.number.isRequired,\n right: PropTypes.number.isRequired,\n }).isRequired,\n y: PropTypes.number,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n correct: PropTypes.bool,\n onMoveLine: PropTypes.func.isRequired,\n onToggleSelect: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n };\n\n static defaultProps = {\n selected: false,\n y: 0,\n disabled: false,\n correct: undefined,\n };\n\n static contextTypes = {\n xScale: PropTypes.func.isRequired,\n snapValue: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n left: null,\n right: null,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps) {\n const { position } = nextProps;\n this.setState({ left: position.left, right: position.right });\n }\n }\n\n onDrag(side, p) {\n const { domain } = this.props;\n if (p >= domain.min && p <= domain.max) {\n const newState = {};\n newState[side] = p;\n this.setState(newState);\n }\n }\n\n onMove(side, d) {\n const { position: p } = this.props;\n const newPosition = { left: p.left, right: p.right };\n newPosition[side] = d;\n this.props.onMoveLine(newPosition);\n }\n\n render() {\n const { interval, empty, position, domain, y, selected, disabled, correct, classes } = this.props;\n\n const { xScale } = this.context;\n\n const { onDrag, onMove } = this;\n const onMoveLeft = onMove.bind(this, 'left');\n const onMoveRight = onMove.bind(this, 'right');\n const onDragLeft = onDrag.bind(this, 'left');\n const onDragRight = onDrag.bind(this, 'right');\n\n const left = isNumber(this.state.left) ? this.state.left : position.left;\n const right = isNumber(this.state.right) ? this.state.right : position.right;\n\n const is = xScale(interval) - xScale(0);\n\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n const onLineDragStart = (e) => this.setState({ startX: e.clientX });\n\n const onLineClick = () => {\n const { startX, endX } = this.state;\n if (!startX || !endX) {\n return;\n }\n\n const deltaX = Math.abs(endX - startX);\n if (deltaX < is / 10) {\n this.props.onToggleSelect();\n this.setState({ startX: null, endX: null });\n }\n };\n\n const onRectClick = () => {\n this.props.onToggleSelect();\n };\n\n const onLineDragStop = (e, dd) => {\n this.setState({ endX: e.clientX });\n const invertedX = xScale.invert(dd.lastX + xScale(0));\n const newPosition = {\n left: position.left + invertedX,\n right: position.right + invertedX,\n };\n\n if (!isEqual(newPosition, this.props.position)) {\n this.props.onMoveLine(newPosition);\n }\n };\n\n const scaledLineBounds = {\n left: ((domain.min - position.left) / interval) * is,\n right: ((domain.max - position.right) / interval) * is,\n };\n\n var lineClass = classNames(classes.line, {\n [classes.disabled]: disabled,\n [classes.selected]: selected,\n [classes.correct]: correct === true,\n [classes.incorrect]: correct === false,\n });\n\n const common = {\n interval,\n selected,\n disabled,\n correct,\n };\n\n return (\n <Draggable\n disabled={disabled}\n axis=\"x\"\n handle=\".line-handle\"\n grid={[is]}\n bounds={scaledLineBounds}\n onStart={onLineDragStart}\n onStop={onLineDragStop}\n onMouseDown={onMouseDown}\n >\n <g className={lineClass}>\n <g transform={`translate(0, ${y})`}>\n <rect\n x={xScale(left)}\n width={Math.abs(xScale(right) - xScale(left))}\n fill=\"red\"\n fillOpacity=\"0.0\"\n y=\"-8\"\n height={16}\n onClick={onRectClick}\n />\n <line\n className={classNames('line-handle', classes.handle, {\n [classes.selected]: selected,\n })}\n x1={xScale(left)}\n x2={xScale(right)}\n onClick={onLineClick}\n />\n <Point\n {...common}\n empty={empty.left}\n bounds={{\n left: domain.min - position.left,\n right: domain.max - position.left,\n }}\n position={position.left}\n onDrag={onDragLeft}\n onMove={onMoveLeft}\n />\n <Point\n {...common}\n empty={empty.right}\n bounds={{\n left: domain.min - position.right,\n right: domain.max - position.right,\n }}\n position={position.right}\n onDrag={onDragRight}\n onMove={onMoveRight}\n />\n </g>\n </g>\n </Draggable>\n );\n }\n}\n\nexport default injectSheet(style)(Line);\n"],"file":"line.js"}
@@ -1,233 +0,0 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
- var _react = _interopRequireDefault(require("react"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _renderUi = require("@pie-lib/render-ui");
27
-
28
- var _draggable = _interopRequireDefault(require("../../../draggable"));
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _reactJss = _interopRequireDefault(require("react-jss"));
33
-
34
- 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); }; }
35
-
36
- 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; } }
37
-
38
- var duration = '150ms';
39
- var style = {
40
- point: {
41
- cursor: 'pointer',
42
- transition: "r ".concat(duration, " linear, \n opacity ").concat(duration, " linear, \n fill ").concat(duration, " linear,\n stroke ").concat(duration, " linear"),
43
- stroke: _renderUi.color.primary(),
44
- fill: _renderUi.color.primary(),
45
- '&.react-draggable-dragging': {
46
- opacity: 0.25,
47
- r: '10px'
48
- },
49
- '&:hover': {
50
- stroke: _renderUi.color.primaryDark()
51
- }
52
- },
53
- selected: {
54
- stroke: _renderUi.color.primaryDark()
55
- },
56
- disabled: {
57
- cursor: 'not-allowed',
58
- opacity: 0.8
59
- },
60
- correct: {
61
- cursor: 'inherit',
62
- stroke: _renderUi.color.correct(),
63
- fill: _renderUi.color.correct()
64
- },
65
- incorrect: {
66
- cursor: 'inherit',
67
- stroke: _renderUi.color.incorrect(),
68
- fill: _renderUi.color.incorrect()
69
- },
70
- empty: {
71
- fill: 'white'
72
- }
73
- };
74
-
75
- var Point = /*#__PURE__*/function (_React$Component) {
76
- (0, _inherits2["default"])(Point, _React$Component);
77
-
78
- var _super = _createSuper(Point);
79
-
80
- function Point() {
81
- (0, _classCallCheck2["default"])(this, Point);
82
- return _super.apply(this, arguments);
83
- }
84
-
85
- (0, _createClass2["default"])(Point, [{
86
- key: "render",
87
- value: function render() {
88
- var _this = this,
89
- _classNames;
90
-
91
- var _this$props = this.props,
92
- onDragStop = _this$props.onDragStop,
93
- onDragStart = _this$props.onDragStart,
94
- onDragCallback = _this$props.onDrag,
95
- onClick = _this$props.onClick,
96
- onMove = _this$props.onMove,
97
- interval = _this$props.interval,
98
- y = _this$props.y,
99
- bounds = _this$props.bounds,
100
- selected = _this$props.selected,
101
- position = _this$props.position,
102
- disabled = _this$props.disabled,
103
- correct = _this$props.correct,
104
- empty = _this$props.empty,
105
- classes = _this$props.classes;
106
- var _this$context = this.context,
107
- snapValue = _this$context.snapValue,
108
- xScale = _this$context.xScale;
109
-
110
- var dragPosition = function dragPosition(x) {
111
- var normalized = x + xScale(0);
112
- var inverted = xScale.invert(normalized);
113
- return snapValue(position + inverted);
114
- };
115
-
116
- var onStart = function onStart(e) {
117
- _this.setState({
118
- startX: e.clientX
119
- });
120
-
121
- if (onDragStart) {
122
- onDragStart();
123
- }
124
- };
125
-
126
- var onStop = function onStop(e, dd) {
127
- if (onDragStop) {
128
- onDragStop();
129
- }
130
-
131
- var endX = e.clientX;
132
- var startX = _this.state.startX;
133
- var deltaX = Math.abs(endX - startX);
134
-
135
- if (deltaX < is / 10) {
136
- if (onClick) {
137
- onClick();
138
-
139
- _this.setState({
140
- startX: null
141
- });
142
- }
143
- } else {
144
- var newPosition = dragPosition(dd.lastX);
145
- onMove(newPosition);
146
- }
147
- }; //prevent the text select icon from rendering.
148
-
149
-
150
- var onMouseDown = function onMouseDown(e) {
151
- return e.nativeEvent.preventDefault();
152
- };
153
-
154
- var is = xScale(interval) - xScale(0);
155
- var scaledBounds = {
156
- left: bounds.left / interval * is,
157
- right: bounds.right / interval * is
158
- };
159
-
160
- var onDrag = function onDrag(e, dd) {
161
- var p = dragPosition(dd.x);
162
-
163
- if (onDragCallback) {
164
- onDragCallback(p);
165
- }
166
- };
167
-
168
- var circleClass = (0, _classnames["default"])(classes.point, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.disabled, disabled), (0, _defineProperty2["default"])(_classNames, classes.selected, selected), (0, _defineProperty2["default"])(_classNames, classes.correct, correct === true), (0, _defineProperty2["default"])(_classNames, classes.incorrect, correct === false), (0, _defineProperty2["default"])(_classNames, classes.empty, empty === true), _classNames));
169
- return /*#__PURE__*/_react["default"].createElement(_draggable["default"], {
170
- disabled: disabled,
171
- onMouseDown: onMouseDown,
172
- onStart: onStart,
173
- onDrag: onDrag,
174
- onStop: onStop,
175
- axis: "x",
176
- grid: [is],
177
- bounds: scaledBounds
178
- }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("circle", {
179
- r: "20",
180
- strokeWidth: "3",
181
- style: {
182
- fill: 'transparent'
183
- },
184
- cx: xScale(position),
185
- cy: y
186
- }), /*#__PURE__*/_react["default"].createElement("circle", {
187
- r: "5",
188
- strokeWidth: "3",
189
- className: circleClass,
190
- cx: xScale(position),
191
- cy: y
192
- })));
193
- }
194
- }]);
195
- return Point;
196
- }(_react["default"].Component);
197
-
198
- exports.Point = Point;
199
- (0, _defineProperty2["default"])(Point, "defaultProps", {
200
- y: 0,
201
- selected: false,
202
- empty: false,
203
- disabled: false,
204
- correct: undefined
205
- });
206
- (0, _defineProperty2["default"])(Point, "propTypes", {
207
- interval: _propTypes["default"].number.isRequired,
208
- position: _propTypes["default"].number.isRequired,
209
- bounds: _propTypes["default"].shape({
210
- left: _propTypes["default"].number.isRequired,
211
- right: _propTypes["default"].number.isRequired
212
- }),
213
- selected: _propTypes["default"].bool,
214
- disabled: _propTypes["default"].bool,
215
- correct: _propTypes["default"].bool,
216
- empty: _propTypes["default"].bool,
217
- y: _propTypes["default"].number,
218
- onMove: _propTypes["default"].func.isRequired,
219
- onClick: _propTypes["default"].func,
220
- onDrag: _propTypes["default"].func,
221
- onDragStop: _propTypes["default"].func,
222
- onDragStart: _propTypes["default"].func,
223
- classes: _propTypes["default"].object.isRequired
224
- });
225
- (0, _defineProperty2["default"])(Point, "contextTypes", {
226
- xScale: _propTypes["default"].func.isRequired,
227
- snapValue: _propTypes["default"].func.isRequired
228
- });
229
-
230
- var _default = (0, _reactJss["default"])(style)(Point);
231
-
232
- exports["default"] = _default;
233
- //# sourceMappingURL=point.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/number-line/graph/elements/point.jsx"],"names":["duration","style","point","cursor","transition","stroke","color","primary","fill","opacity","r","primaryDark","selected","disabled","correct","incorrect","empty","Point","props","onDragStop","onDragStart","onDragCallback","onDrag","onClick","onMove","interval","y","bounds","position","classes","context","snapValue","xScale","dragPosition","x","normalized","inverted","invert","onStart","e","setState","startX","clientX","onStop","dd","endX","state","deltaX","Math","abs","is","newPosition","lastX","onMouseDown","nativeEvent","preventDefault","scaledBounds","left","right","p","circleClass","React","Component","undefined","PropTypes","number","isRequired","shape","bool","func","object"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,QAAQ,GAAG,OAAjB;AAEA,IAAMC,KAAK,GAAG;AACZC,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,SADH;AAELC,IAAAA,UAAU,cAAOJ,QAAP,qCACAA,QADA,iCAEHA,QAFG,kCAGDA,QAHC,YAFL;AAOLK,IAAAA,MAAM,EAAEC,gBAAMC,OAAN,EAPH;AAQLC,IAAAA,IAAI,EAAEF,gBAAMC,OAAN,EARD;AASL,kCAA8B;AAC5BE,MAAAA,OAAO,EAAE,IADmB;AAE5BC,MAAAA,CAAC,EAAE;AAFyB,KATzB;AAaL,eAAW;AACTL,MAAAA,MAAM,EAAEC,gBAAMK,WAAN;AADC;AAbN,GADK;AAkBZC,EAAAA,QAAQ,EAAE;AACRP,IAAAA,MAAM,EAAEC,gBAAMK,WAAN;AADA,GAlBE;AAqBZE,EAAAA,QAAQ,EAAE;AACRV,IAAAA,MAAM,EAAE,aADA;AAERM,IAAAA,OAAO,EAAE;AAFD,GArBE;AAyBZK,EAAAA,OAAO,EAAE;AACPX,IAAAA,MAAM,EAAE,SADD;AAEPE,IAAAA,MAAM,EAAEC,gBAAMQ,OAAN,EAFD;AAGPN,IAAAA,IAAI,EAAEF,gBAAMQ,OAAN;AAHC,GAzBG;AA8BZC,EAAAA,SAAS,EAAE;AACTZ,IAAAA,MAAM,EAAE,SADC;AAETE,IAAAA,MAAM,EAAEC,gBAAMS,SAAN,EAFC;AAGTP,IAAAA,IAAI,EAAEF,gBAAMS,SAAN;AAHG,GA9BC;AAmCZC,EAAAA,KAAK,EAAE;AACLR,IAAAA,IAAI,EAAE;AADD;AAnCK,CAAd;;IAwCaS,K;;;;;;;;;;;;WAkCX,kBAAS;AAAA;AAAA;;AACP,wBAeI,KAAKC,KAfT;AAAA,UACEC,UADF,eACEA,UADF;AAAA,UAEEC,WAFF,eAEEA,WAFF;AAAA,UAGUC,cAHV,eAGEC,MAHF;AAAA,UAIEC,OAJF,eAIEA,OAJF;AAAA,UAKEC,MALF,eAKEA,MALF;AAAA,UAMEC,QANF,eAMEA,QANF;AAAA,UAOEC,CAPF,eAOEA,CAPF;AAAA,UAQEC,MARF,eAQEA,MARF;AAAA,UASEf,QATF,eASEA,QATF;AAAA,UAUEgB,QAVF,eAUEA,QAVF;AAAA,UAWEf,QAXF,eAWEA,QAXF;AAAA,UAYEC,OAZF,eAYEA,OAZF;AAAA,UAaEE,KAbF,eAaEA,KAbF;AAAA,UAcEa,OAdF,eAcEA,OAdF;AAiBA,0BAA8B,KAAKC,OAAnC;AAAA,UAAQC,SAAR,iBAAQA,SAAR;AAAA,UAAmBC,MAAnB,iBAAmBA,MAAnB;;AAEA,UAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD,EAAO;AAC1B,YAAMC,UAAU,GAAGD,CAAC,GAAGF,MAAM,CAAC,CAAD,CAA7B;AACA,YAAMI,QAAQ,GAAGJ,MAAM,CAACK,MAAP,CAAcF,UAAd,CAAjB;AACA,eAAOJ,SAAS,CAACH,QAAQ,GAAGQ,QAAZ,CAAhB;AACD,OAJD;;AAMA,UAAME,OAAO,GAAG,SAAVA,OAAU,CAACC,CAAD,EAAO;AACrB,QAAA,KAAI,CAACC,QAAL,CAAc;AAAEC,UAAAA,MAAM,EAAEF,CAAC,CAACG;AAAZ,SAAd;;AACA,YAAItB,WAAJ,EAAiB;AACfA,UAAAA,WAAW;AACZ;AACF,OALD;;AAOA,UAAMuB,MAAM,GAAG,SAATA,MAAS,CAACJ,CAAD,EAAIK,EAAJ,EAAW;AACxB,YAAIzB,UAAJ,EAAgB;AACdA,UAAAA,UAAU;AACX;;AAED,YAAM0B,IAAI,GAAGN,CAAC,CAACG,OAAf;AACA,YAAMD,MAAM,GAAG,KAAI,CAACK,KAAL,CAAWL,MAA1B;AACA,YAAMM,MAAM,GAAGC,IAAI,CAACC,GAAL,CAASJ,IAAI,GAAGJ,MAAhB,CAAf;;AAEA,YAAIM,MAAM,GAAGG,EAAE,GAAG,EAAlB,EAAsB;AACpB,cAAI3B,OAAJ,EAAa;AACXA,YAAAA,OAAO;;AACP,YAAA,KAAI,CAACiB,QAAL,CAAc;AAAEC,cAAAA,MAAM,EAAE;AAAV,aAAd;AACD;AACF,SALD,MAKO;AACL,cAAMU,WAAW,GAAGlB,YAAY,CAACW,EAAE,CAACQ,KAAJ,CAAhC;AACA5B,UAAAA,MAAM,CAAC2B,WAAD,CAAN;AACD;AACF,OAlBD,CAjCO,CAqDP;;;AACA,UAAME,WAAW,GAAG,SAAdA,WAAc,CAACd,CAAD;AAAA,eAAOA,CAAC,CAACe,WAAF,CAAcC,cAAd,EAAP;AAAA,OAApB;;AAEA,UAAML,EAAE,GAAGlB,MAAM,CAACP,QAAD,CAAN,GAAmBO,MAAM,CAAC,CAAD,CAApC;AACA,UAAMwB,YAAY,GAAG;AACnBC,QAAAA,IAAI,EAAG9B,MAAM,CAAC8B,IAAP,GAAchC,QAAf,GAA2ByB,EADd;AAEnBQ,QAAAA,KAAK,EAAG/B,MAAM,CAAC+B,KAAP,GAAejC,QAAhB,GAA4ByB;AAFhB,OAArB;;AAKA,UAAM5B,MAAM,GAAG,SAATA,MAAS,CAACiB,CAAD,EAAIK,EAAJ,EAAW;AACxB,YAAMe,CAAC,GAAG1B,YAAY,CAACW,EAAE,CAACV,CAAJ,CAAtB;;AACA,YAAIb,cAAJ,EAAoB;AAClBA,UAAAA,cAAc,CAACsC,CAAD,CAAd;AACD;AACF,OALD;;AAOA,UAAMC,WAAW,GAAG,4BAAW/B,OAAO,CAAC3B,KAAnB,mEACjB2B,OAAO,CAAChB,QADS,EACEA,QADF,iDAEjBgB,OAAO,CAACjB,QAFS,EAEEA,QAFF,iDAGjBiB,OAAO,CAACf,OAHS,EAGCA,OAAO,KAAK,IAHb,iDAIjBe,OAAO,CAACd,SAJS,EAIGD,OAAO,KAAK,KAJf,iDAKjBe,OAAO,CAACb,KALS,EAKDA,KAAK,KAAK,IALT,gBAApB;AAQA,0BACE,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEH,QADZ;AAEE,QAAA,WAAW,EAAEwC,WAFf;AAGE,QAAA,OAAO,EAAEf,OAHX;AAIE,QAAA,MAAM,EAAEhB,MAJV;AAKE,QAAA,MAAM,EAAEqB,MALV;AAME,QAAA,IAAI,EAAC,GANP;AAOE,QAAA,IAAI,EAAE,CAACO,EAAD,CAPR;AAQE,QAAA,MAAM,EAAEM;AARV,sBAUE,wDACE;AAAQ,QAAA,CAAC,EAAC,IAAV;AAAe,QAAA,WAAW,EAAC,GAA3B;AAA+B,QAAA,KAAK,EAAE;AAAEhD,UAAAA,IAAI,EAAE;AAAR,SAAtC;AAA+D,QAAA,EAAE,EAAEwB,MAAM,CAACJ,QAAD,CAAzE;AAAqF,QAAA,EAAE,EAAEF;AAAzF,QADF,eAEE;AAAQ,QAAA,CAAC,EAAC,GAAV;AAAc,QAAA,WAAW,EAAC,GAA1B;AAA8B,QAAA,SAAS,EAAEkC,WAAzC;AAAsD,QAAA,EAAE,EAAE5B,MAAM,CAACJ,QAAD,CAAhE;AAA4E,QAAA,EAAE,EAAEF;AAAhF,QAFF,CAVF,CADF;AAiBD;;;EAhIwBmC,kBAAMC,S;;;iCAApB7C,K,kBACW;AACpBS,EAAAA,CAAC,EAAE,CADiB;AAEpBd,EAAAA,QAAQ,EAAE,KAFU;AAGpBI,EAAAA,KAAK,EAAE,KAHa;AAIpBH,EAAAA,QAAQ,EAAE,KAJU;AAKpBC,EAAAA,OAAO,EAAEiD;AALW,C;iCADX9C,K,eASQ;AACjBQ,EAAAA,QAAQ,EAAEuC,sBAAUC,MAAV,CAAiBC,UADV;AAEjBtC,EAAAA,QAAQ,EAAEoC,sBAAUC,MAAV,CAAiBC,UAFV;AAGjBvC,EAAAA,MAAM,EAAEqC,sBAAUG,KAAV,CAAgB;AACtBV,IAAAA,IAAI,EAAEO,sBAAUC,MAAV,CAAiBC,UADD;AAEtBR,IAAAA,KAAK,EAAEM,sBAAUC,MAAV,CAAiBC;AAFF,GAAhB,CAHS;AAOjBtD,EAAAA,QAAQ,EAAEoD,sBAAUI,IAPH;AAQjBvD,EAAAA,QAAQ,EAAEmD,sBAAUI,IARH;AASjBtD,EAAAA,OAAO,EAAEkD,sBAAUI,IATF;AAUjBpD,EAAAA,KAAK,EAAEgD,sBAAUI,IAVA;AAWjB1C,EAAAA,CAAC,EAAEsC,sBAAUC,MAXI;AAYjBzC,EAAAA,MAAM,EAAEwC,sBAAUK,IAAV,CAAeH,UAZN;AAajB3C,EAAAA,OAAO,EAAEyC,sBAAUK,IAbF;AAcjB/C,EAAAA,MAAM,EAAE0C,sBAAUK,IAdD;AAejBlD,EAAAA,UAAU,EAAE6C,sBAAUK,IAfL;AAgBjBjD,EAAAA,WAAW,EAAE4C,sBAAUK,IAhBN;AAiBjBxC,EAAAA,OAAO,EAAEmC,sBAAUM,MAAV,CAAiBJ;AAjBT,C;iCATRjD,K,kBA6BW;AACpBe,EAAAA,MAAM,EAAEgC,sBAAUK,IAAV,CAAeH,UADH;AAEpBnC,EAAAA,SAAS,EAAEiC,sBAAUK,IAAV,CAAeH;AAFN,C;;eAsGT,0BAAYjE,KAAZ,EAAmBgB,KAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport Draggable from '../../../draggable';\nimport classNames from 'classnames';\nimport injectSheet from 'react-jss';\n\nconst duration = '150ms';\n\nconst style = {\n point: {\n cursor: 'pointer',\n transition: `r ${duration} linear, \n opacity ${duration} linear, \n fill ${duration} linear,\n stroke ${duration} linear`,\n\n stroke: color.primary(),\n fill: color.primary(),\n '&.react-draggable-dragging': {\n opacity: 0.25,\n r: '10px',\n },\n '&:hover': {\n stroke: color.primaryDark(),\n },\n },\n selected: {\n stroke: color.primaryDark(),\n },\n disabled: {\n cursor: 'not-allowed',\n opacity: 0.8,\n },\n correct: {\n cursor: 'inherit',\n stroke: color.correct(),\n fill: color.correct(),\n },\n incorrect: {\n cursor: 'inherit',\n stroke: color.incorrect(),\n fill: color.incorrect(),\n },\n empty: {\n fill: 'white',\n },\n};\n\nexport class Point extends React.Component {\n static defaultProps = {\n y: 0,\n selected: false,\n empty: false,\n disabled: false,\n correct: undefined,\n };\n\n static propTypes = {\n interval: PropTypes.number.isRequired,\n position: PropTypes.number.isRequired,\n bounds: PropTypes.shape({\n left: PropTypes.number.isRequired,\n right: PropTypes.number.isRequired,\n }),\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n correct: PropTypes.bool,\n empty: PropTypes.bool,\n y: PropTypes.number,\n onMove: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onDragStart: PropTypes.func,\n classes: PropTypes.object.isRequired,\n };\n\n static contextTypes = {\n xScale: PropTypes.func.isRequired,\n snapValue: PropTypes.func.isRequired,\n };\n\n render() {\n const {\n onDragStop,\n onDragStart,\n onDrag: onDragCallback,\n onClick,\n onMove,\n interval,\n y,\n bounds,\n selected,\n position,\n disabled,\n correct,\n empty,\n classes,\n } = this.props;\n\n const { snapValue, xScale } = this.context;\n\n const dragPosition = (x) => {\n const normalized = x + xScale(0);\n const inverted = xScale.invert(normalized);\n return snapValue(position + inverted);\n };\n\n const onStart = (e) => {\n this.setState({ startX: e.clientX });\n if (onDragStart) {\n onDragStart();\n }\n };\n\n const onStop = (e, dd) => {\n if (onDragStop) {\n onDragStop();\n }\n\n const endX = e.clientX;\n const startX = this.state.startX;\n const deltaX = Math.abs(endX - startX);\n\n if (deltaX < is / 10) {\n if (onClick) {\n onClick();\n this.setState({ startX: null });\n }\n } else {\n const newPosition = dragPosition(dd.lastX);\n onMove(newPosition);\n }\n };\n\n //prevent the text select icon from rendering.\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n\n const is = xScale(interval) - xScale(0);\n const scaledBounds = {\n left: (bounds.left / interval) * is,\n right: (bounds.right / interval) * is,\n };\n\n const onDrag = (e, dd) => {\n const p = dragPosition(dd.x);\n if (onDragCallback) {\n onDragCallback(p);\n }\n };\n\n const circleClass = classNames(classes.point, {\n [classes.disabled]: disabled,\n [classes.selected]: selected,\n [classes.correct]: correct === true,\n [classes.incorrect]: correct === false,\n [classes.empty]: empty === true,\n });\n\n return (\n <Draggable\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={onStart}\n onDrag={onDrag}\n onStop={onStop}\n axis=\"x\"\n grid={[is]}\n bounds={scaledBounds}\n >\n <g>\n <circle r=\"20\" strokeWidth=\"3\" style={{ fill: 'transparent' }} cx={xScale(position)} cy={y} />\n <circle r=\"5\" strokeWidth=\"3\" className={circleClass} cx={xScale(position)} cy={y} />\n </g>\n </Draggable>\n );\n }\n}\n\nexport default injectSheet(style)(Point);\n"],"file":"point.js"}