@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.
- package/configure/package.json +3 -3
- package/controller/package.json +3 -3
- package/package.json +8 -7
- package/configure/lib/arrows.js +0 -117
- package/configure/lib/arrows.js.map +0 -1
- package/configure/lib/card-bar.js +0 -79
- package/configure/lib/card-bar.js.map +0 -1
- package/configure/lib/defaults.js +0 -68
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/domain.js +0 -106
- package/configure/lib/domain.js.map +0 -1
- package/configure/lib/index.js +0 -148
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/main.js +0 -630
- package/configure/lib/main.js.map +0 -1
- package/configure/lib/number-text-field.js +0 -97
- package/configure/lib/number-text-field.js.map +0 -1
- package/configure/lib/point-config.js +0 -145
- package/configure/lib/point-config.js.map +0 -1
- package/configure/lib/size.js +0 -58
- package/configure/lib/size.js.map +0 -1
- package/configure/lib/ticks.js +0 -92
- package/configure/lib/ticks.js.map +0 -1
- package/configure/lib/utils.js +0 -14
- package/configure/lib/utils.js.map +0 -1
- package/controller/lib/defaults.js +0 -47
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -443
- package/controller/lib/index.js.map +0 -1
- package/lib/data-converter.js +0 -100
- package/lib/data-converter.js.map +0 -1
- package/lib/draggable/index.js +0 -53
- package/lib/draggable/index.js.map +0 -1
- package/lib/index.js +0 -241
- package/lib/index.js.map +0 -1
- package/lib/number-line/colors.js +0 -21
- package/lib/number-line/colors.js.map +0 -1
- package/lib/number-line/feedback.js +0 -108
- package/lib/number-line/feedback.js.map +0 -1
- package/lib/number-line/graph/arrow.js +0 -63
- package/lib/number-line/graph/arrow.js.map +0 -1
- package/lib/number-line/graph/elements/base.js +0 -26
- package/lib/number-line/graph/elements/base.js.map +0 -1
- package/lib/number-line/graph/elements/builder.js +0 -38
- package/lib/number-line/graph/elements/builder.js.map +0 -1
- package/lib/number-line/graph/elements/line.js +0 -317
- package/lib/number-line/graph/elements/line.js.map +0 -1
- package/lib/number-line/graph/elements/point.js +0 -233
- package/lib/number-line/graph/elements/point.js.map +0 -1
- package/lib/number-line/graph/elements/ray.js +0 -227
- package/lib/number-line/graph/elements/ray.js.map +0 -1
- package/lib/number-line/graph/index.js +0 -326
- package/lib/number-line/graph/index.js.map +0 -1
- package/lib/number-line/graph/line.js +0 -48
- package/lib/number-line/graph/line.js.map +0 -1
- package/lib/number-line/graph/stacks.js +0 -101
- package/lib/number-line/graph/stacks.js.map +0 -1
- package/lib/number-line/graph/tick-utils.js +0 -295
- package/lib/number-line/graph/tick-utils.js.map +0 -1
- package/lib/number-line/graph/ticks.js +0 -244
- package/lib/number-line/graph/ticks.js.map +0 -1
- package/lib/number-line/index.js +0 -401
- package/lib/number-line/index.js.map +0 -1
- package/lib/number-line/point-chooser/button.js +0 -74
- package/lib/number-line/point-chooser/button.js.map +0 -1
- package/lib/number-line/point-chooser/img.js +0 -9
- package/lib/number-line/point-chooser/img.js.map +0 -1
- package/lib/number-line/point-chooser/index.js +0 -181
- package/lib/number-line/point-chooser/index.js.map +0 -1
- package/lib/number-line/point-chooser/styles.js +0 -98
- package/lib/number-line/point-chooser/styles.js.map +0 -1
- package/lib/number-line/transitions/fade.js +0 -67
- package/lib/number-line/transitions/fade.js.map +0 -1
- package/lib/number-line/transitions/index.js +0 -16
- 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":"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","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"}
|