@pie-element/number-line 11.3.4-next.0 → 12.0.0-beta.0

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 (79) hide show
  1. package/configure/lib/arrows.js +68 -103
  2. package/configure/lib/arrows.js.map +1 -1
  3. package/configure/lib/card-bar.js +41 -62
  4. package/configure/lib/card-bar.js.map +1 -1
  5. package/configure/lib/defaults.js +5 -7
  6. package/configure/lib/defaults.js.map +1 -1
  7. package/configure/lib/domain.js +60 -116
  8. package/configure/lib/domain.js.map +1 -1
  9. package/configure/lib/index.js +124 -194
  10. package/configure/lib/index.js.map +1 -1
  11. package/configure/lib/main.js +585 -721
  12. package/configure/lib/main.js.map +1 -1
  13. package/configure/lib/number-text-field.js +15 -86
  14. package/configure/lib/number-text-field.js.map +1 -1
  15. package/configure/lib/point-config.js +69 -129
  16. package/configure/lib/point-config.js.map +1 -1
  17. package/configure/lib/size.js +43 -77
  18. package/configure/lib/size.js.map +1 -1
  19. package/configure/lib/ticks.js +89 -151
  20. package/configure/lib/ticks.js.map +1 -1
  21. package/configure/lib/utils.js +2 -4
  22. package/configure/lib/utils.js.map +1 -1
  23. package/configure/package.json +10 -7
  24. package/controller/lib/defaults.js +5 -6
  25. package/controller/lib/defaults.js.map +1 -1
  26. package/controller/lib/index.js +171 -286
  27. package/controller/lib/index.js.map +1 -1
  28. package/controller/lib/tickUtils.js +96 -169
  29. package/controller/lib/tickUtils.js.map +1 -1
  30. package/controller/lib/utils.js +55 -88
  31. package/controller/lib/utils.js.map +1 -1
  32. package/controller/package.json +3 -3
  33. package/lib/data-converter.js +19 -23
  34. package/lib/data-converter.js.map +1 -1
  35. package/lib/draggable/index.js +104 -43
  36. package/lib/draggable/index.js.map +1 -1
  37. package/lib/index.js +118 -205
  38. package/lib/index.js.map +1 -1
  39. package/lib/number-line/colors.js +3 -13
  40. package/lib/number-line/colors.js.map +1 -1
  41. package/lib/number-line/feedback.js +53 -69
  42. package/lib/number-line/feedback.js.map +1 -1
  43. package/lib/number-line/graph/arrow.js +19 -38
  44. package/lib/number-line/graph/arrow.js.map +1 -1
  45. package/lib/number-line/graph/elements/base.js +7 -13
  46. package/lib/number-line/graph/elements/base.js.map +1 -1
  47. package/lib/number-line/graph/elements/builder.js +6 -7
  48. package/lib/number-line/graph/elements/builder.js.map +1 -1
  49. package/lib/number-line/graph/elements/line.js +209 -265
  50. package/lib/number-line/graph/elements/line.js.map +1 -1
  51. package/lib/number-line/graph/elements/point.js +170 -201
  52. package/lib/number-line/graph/elements/point.js.map +1 -1
  53. package/lib/number-line/graph/elements/ray.js +147 -185
  54. package/lib/number-line/graph/elements/ray.js.map +1 -1
  55. package/lib/number-line/graph/index.js +217 -283
  56. package/lib/number-line/graph/index.js.map +1 -1
  57. package/lib/number-line/graph/line.js +12 -22
  58. package/lib/number-line/graph/line.js.map +1 -1
  59. package/lib/number-line/graph/stacks.js +31 -54
  60. package/lib/number-line/graph/stacks.js.map +1 -1
  61. package/lib/number-line/graph/tick-utils.js +120 -209
  62. package/lib/number-line/graph/tick-utils.js.map +1 -1
  63. package/lib/number-line/graph/ticks.js +144 -225
  64. package/lib/number-line/graph/ticks.js.map +1 -1
  65. package/lib/number-line/index.js +331 -395
  66. package/lib/number-line/index.js.map +1 -1
  67. package/lib/number-line/point-chooser/button.js +33 -58
  68. package/lib/number-line/point-chooser/button.js.map +1 -1
  69. package/lib/number-line/point-chooser/img.js +2 -3
  70. package/lib/number-line/point-chooser/img.js.map +1 -1
  71. package/lib/number-line/point-chooser/index.js +152 -148
  72. package/lib/number-line/point-chooser/index.js.map +1 -1
  73. package/lib/number-line/point-chooser/styles.js +29 -52
  74. package/lib/number-line/point-chooser/styles.js.map +1 -1
  75. package/lib/number-line/transitions/fade.js +69 -48
  76. package/lib/number-line/transitions/fade.js.map +1 -1
  77. package/lib/number-line/transitions/index.js +2 -4
  78. package/lib/number-line/transitions/index.js.map +1 -1
  79. package/package.json +14 -11
@@ -1,228 +1,190 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
4
  Object.defineProperty(exports, "__esModule", {
8
5
  value: true
9
6
  });
10
- exports["default"] = exports.Ray = void 0;
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
-
7
+ exports.default = exports.Ray = void 0;
22
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
9
  var colors = _interopRequireWildcard(require("../../colors"));
25
-
26
10
  var _renderUi = require("@pie-lib/render-ui");
27
-
28
11
  var _react = _interopRequireDefault(require("react"));
29
-
30
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
13
+ var _styles = require("@mui/material/styles");
32
14
  var _arrow = _interopRequireDefault(require("../arrow"));
33
-
34
15
  var _point = _interopRequireDefault(require("./point"));
35
-
36
16
  var _base = require("./base");
37
-
38
- var _classnames = _interopRequireDefault(require("classnames"));
39
-
40
- var _reactJss = _interopRequireDefault(require("react-jss"));
41
-
42
17
  var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
43
-
44
- 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); }
45
-
46
- 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; }
47
-
48
- 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; }
49
-
50
- 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; }
51
-
52
- 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); }; }
53
-
54
- 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; } }
55
-
56
- var rayColor = function rayColor(_rayColor) {
57
- return {
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
+ const StyledRayGroup = (0, _styles.styled)('g')(({
20
+ $selected,
21
+ $correct
22
+ }) => ({
23
+ '& line': {
24
+ cursor: 'pointer',
25
+ strokeWidth: '5px',
26
+ stroke: _renderUi.color.primary()
27
+ },
28
+ '& line, & .arrow': {
29
+ transition: 'stroke 150ms linear, fill 150ms linear'
30
+ },
31
+ ...($selected && {
58
32
  '& line': {
59
- stroke: _rayColor
33
+ stroke: colors.selected
60
34
  },
61
35
  '& .arrow': {
62
- fill: _rayColor,
36
+ fill: colors.selected,
63
37
  strokeWidth: '1px',
64
- stroke: _rayColor
38
+ stroke: colors.selected
65
39
  }
66
- };
67
- };
68
-
69
- var style = {
70
- ray: {
40
+ }),
41
+ ...($correct === true && {
71
42
  '& line': {
72
- cursor: 'pointer',
73
- strokeWidth: '5px',
74
- stroke: _renderUi.color.primary()
43
+ stroke: colors.correct
75
44
  },
76
- '& line, & .arrow': {
77
- transition: 'stroke 150ms linear, fill 150ms linear'
45
+ '& .arrow': {
46
+ fill: colors.correct,
47
+ strokeWidth: '1px',
48
+ stroke: colors.correct
78
49
  }
79
- },
80
- selected: rayColor(colors.selected),
81
- correct: rayColor(colors.correct),
82
- incorrect: rayColor(colors.incorrect),
83
- arrowCorrect: {
50
+ }),
51
+ ...($correct === false && {
52
+ '& line': {
53
+ stroke: colors.incorrect
54
+ },
55
+ '& .arrow': {
56
+ fill: colors.incorrect,
57
+ strokeWidth: '1px',
58
+ stroke: colors.incorrect
59
+ }
60
+ })
61
+ }));
62
+ const StyledArrow = (0, _styles.styled)(_arrow.default)(({
63
+ $correct,
64
+ $selected
65
+ }) => ({
66
+ fill: _renderUi.color.primary(),
67
+ ...($correct === true && {
84
68
  fill: colors.correct,
85
69
  '--arrow-color': colors.correct
86
- },
87
- arrowIncorrect: {
70
+ }),
71
+ ...($correct === false && {
88
72
  fill: colors.incorrect,
89
73
  '--arrow-color': colors.incorrect
90
- },
91
- arrowSelected: {
74
+ }),
75
+ ...($selected && {
92
76
  fill: colors.selected,
93
77
  '--arrow-color': colors.selected
94
- }
95
- };
96
-
97
- var Ray = /*#__PURE__*/function (_React$Component) {
98
- (0, _inherits2["default"])(Ray, _React$Component);
99
-
100
- var _super = _createSuper(Ray);
101
-
102
- function Ray(props) {
103
- var _this;
104
-
105
- (0, _classCallCheck2["default"])(this, Ray);
106
- _this = _super.call(this, props);
107
- _this.state = {
78
+ })
79
+ }));
80
+ class Ray extends _react.default.Component {
81
+ constructor(props) {
82
+ super(props);
83
+ this.state = {
108
84
  dragPosition: null
109
85
  };
110
- return _this;
111
86
  }
112
-
113
- (0, _createClass2["default"])(Ray, [{
114
- key: "drag",
115
- value: function drag(p) {
116
- var domain = this.props.domain;
117
-
118
- if (p >= domain.min && p <= domain.max) {
119
- this.setState({
120
- dragPosition: p
121
- });
122
- }
123
- }
124
- }, {
125
- key: "stopDrag",
126
- value: function stopDrag() {
87
+ drag(p) {
88
+ const {
89
+ domain
90
+ } = this.props;
91
+ if (p >= domain.min && p <= domain.max) {
127
92
  this.setState({
128
- dragPosition: null
93
+ dragPosition: p
129
94
  });
130
95
  }
131
- }, {
132
- key: "render",
133
- value: function render() {
134
- var _classNames, _classNames2;
135
-
136
- /* eslint-disable */
137
- var _this$props = this.props,
138
- interval = _this$props.interval,
139
- empty = _this$props.empty,
140
- position = _this$props.position,
141
- direction = _this$props.direction,
142
- domain = _this$props.domain,
143
- y = _this$props.y,
144
- selected = _this$props.selected,
145
- disabled = _this$props.disabled,
146
- width = _this$props.width,
147
- correct = _this$props.correct,
148
- classes = _this$props.classes;
149
- /* eslint-enable */
150
-
151
- var xScale = this.context.xScale;
152
- var drag = this.drag.bind(this);
153
- var stopDrag = this.stopDrag.bind(this);
154
- var finalPosition = (0, _isNumber["default"])(this.state.dragPosition) ? this.state.dragPosition : position;
155
- var className = (0, _classnames["default"])(classes.ray, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.selected, selected), (0, _defineProperty2["default"])(_classNames, classes.correct, correct === true), (0, _defineProperty2["default"])(_classNames, classes.incorrect, correct === false), _classNames));
156
- var positive = direction === 'positive';
157
- var left = positive ? finalPosition : domain.min;
158
- var right = positive ? domain.max : finalPosition; // const triangleX = positive ? xScale(right) : xScale(left);
159
- //const et the line run all the way to 0 or width.
160
-
161
- var x1 = positive ? xScale(left) : 8;
162
- var x2 = positive ? width - 8 : xScale(right);
163
- var arrowX = positive ? width : 0;
164
- var arrowDirection = positive ? 'right' : 'left';
165
-
166
- var noop = function noop() {};
167
-
168
- var arrowClassNames = (0, _classnames["default"])((_classNames2 = {}, (0, _defineProperty2["default"])(_classNames2, classes.arrowCorrect, correct === true), (0, _defineProperty2["default"])(_classNames2, classes.arrowIncorrect, correct === false), (0, _defineProperty2["default"])(_classNames2, classes.arrowSelected, selected), _classNames2));
169
- return /*#__PURE__*/_react["default"].createElement("g", {
170
- className: className,
171
- transform: "translate(0, ".concat(y, ")")
172
- }, /*#__PURE__*/_react["default"].createElement("line", {
173
- onClick: disabled ? noop : this.props.onToggleSelect,
174
- className: "line-handle",
175
- x1: x1,
176
- x2: x2
177
- }), /*#__PURE__*/_react["default"].createElement(_point["default"], {
178
- disabled: disabled,
179
- correct: correct,
180
- selected: selected,
181
- empty: empty,
182
- interval: interval,
183
- bounds: {
184
- left: domain.min - position,
185
- right: domain.max - position
186
- },
187
- position: position,
188
- onDrag: drag,
189
- onDragStop: stopDrag,
190
- onMove: this.props.onMove,
191
- onClick: this.props.onToggleSelect
192
- }), /*#__PURE__*/_react["default"].createElement(_arrow["default"], {
193
- x: arrowX,
194
- className: arrowClassNames,
195
- direction: arrowDirection
196
- }));
197
- }
198
- }]);
199
- return Ray;
200
- }(_react["default"].Component);
201
-
96
+ }
97
+ stopDrag() {
98
+ this.setState({
99
+ dragPosition: null
100
+ });
101
+ }
102
+ render() {
103
+ /* eslint-disable */
104
+ const {
105
+ interval,
106
+ empty,
107
+ position,
108
+ direction,
109
+ domain,
110
+ y,
111
+ selected,
112
+ disabled,
113
+ width,
114
+ correct
115
+ } = this.props;
116
+ /* eslint-enable */
117
+ const {
118
+ xScale
119
+ } = this.context;
120
+ const drag = this.drag.bind(this);
121
+ const stopDrag = this.stopDrag.bind(this);
122
+ const finalPosition = (0, _isNumber.default)(this.state.dragPosition) ? this.state.dragPosition : position;
123
+ const positive = direction === 'positive';
124
+ const left = positive ? finalPosition : domain.min;
125
+ const right = positive ? domain.max : finalPosition;
126
+ // const triangleX = positive ? xScale(right) : xScale(left);
127
+
128
+ //const et the line run all the way to 0 or width.
129
+ const x1 = positive ? xScale(left) : 8;
130
+ const x2 = positive ? width - 8 : xScale(right);
131
+ const arrowX = positive ? width : 0;
132
+ const arrowDirection = positive ? 'right' : 'left';
133
+ const noop = () => {};
134
+ return /*#__PURE__*/_react.default.createElement(StyledRayGroup, {
135
+ $selected: selected,
136
+ $correct: correct,
137
+ transform: `translate(0, ${y})`
138
+ }, /*#__PURE__*/_react.default.createElement("line", {
139
+ onClick: disabled ? noop : this.props.onToggleSelect,
140
+ className: "line-handle",
141
+ x1: x1,
142
+ x2: x2
143
+ }), /*#__PURE__*/_react.default.createElement(_point.default, {
144
+ disabled: disabled,
145
+ correct: correct,
146
+ selected: selected,
147
+ empty: empty,
148
+ interval: interval,
149
+ bounds: {
150
+ left: domain.min - position,
151
+ right: domain.max - position
152
+ },
153
+ position: position,
154
+ onDrag: drag,
155
+ onDragStop: stopDrag,
156
+ onMove: this.props.onMove,
157
+ onClick: this.props.onToggleSelect
158
+ }), /*#__PURE__*/_react.default.createElement(StyledArrow, {
159
+ x: arrowX,
160
+ $correct: correct,
161
+ $selected: selected,
162
+ direction: arrowDirection
163
+ }));
164
+ }
165
+ }
202
166
  exports.Ray = Ray;
203
- (0, _defineProperty2["default"])(Ray, "propTypes", _objectSpread(_objectSpread({}, (0, _base.basePropTypes)()), {}, {
204
- width: _propTypes["default"].number.isRequired,
205
- selected: _propTypes["default"].bool,
206
- disabled: _propTypes["default"].bool,
207
- empty: _propTypes["default"].bool,
208
- direction: _propTypes["default"].oneOf(['positive', 'negative']),
209
- y: _propTypes["default"].number,
210
- position: _propTypes["default"].number.isRequired,
211
- onMove: _propTypes["default"].func.isRequired,
212
- onToggleSelect: _propTypes["default"].func.isRequired
213
- }));
214
- (0, _defineProperty2["default"])(Ray, "defaultProps", {
167
+ (0, _defineProperty2.default)(Ray, "propTypes", {
168
+ ...(0, _base.basePropTypes)(),
169
+ width: _propTypes.default.number.isRequired,
170
+ selected: _propTypes.default.bool,
171
+ disabled: _propTypes.default.bool,
172
+ empty: _propTypes.default.bool,
173
+ direction: _propTypes.default.oneOf(['positive', 'negative']),
174
+ y: _propTypes.default.number,
175
+ position: _propTypes.default.number.isRequired,
176
+ onMove: _propTypes.default.func.isRequired,
177
+ onToggleSelect: _propTypes.default.func.isRequired
178
+ });
179
+ (0, _defineProperty2.default)(Ray, "defaultProps", {
215
180
  selected: false,
216
181
  direction: 'positive',
217
182
  y: 0,
218
183
  disabled: false
219
184
  });
220
- (0, _defineProperty2["default"])(Ray, "contextTypes", {
221
- xScale: _propTypes["default"].func.isRequired,
222
- snapValue: _propTypes["default"].func.isRequired
185
+ (0, _defineProperty2.default)(Ray, "contextTypes", {
186
+ xScale: _propTypes.default.func.isRequired,
187
+ snapValue: _propTypes.default.func.isRequired
223
188
  });
224
-
225
- var _default = (0, _reactJss["default"])(style)(Ray);
226
-
227
- exports["default"] = _default;
189
+ var _default = exports.default = Ray;
228
190
  //# sourceMappingURL=ray.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/number-line/graph/elements/ray.jsx"],"names":["rayColor","stroke","fill","strokeWidth","style","ray","cursor","color","primary","transition","selected","colors","correct","incorrect","arrowCorrect","arrowIncorrect","arrowSelected","Ray","props","state","dragPosition","p","domain","min","max","setState","interval","empty","position","direction","y","disabled","width","classes","xScale","context","drag","bind","stopDrag","finalPosition","className","positive","left","right","x1","x2","arrowX","arrowDirection","noop","arrowClassNames","onToggleSelect","onMove","React","Component","PropTypes","number","isRequired","bool","oneOf","func","snapValue"],"mappings":"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","sourcesContent":["import * as colors from '../../colors';\nimport { color } from '@pie-lib/render-ui';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Arrow from '../arrow';\nimport Point from './point';\nimport { basePropTypes } from './base';\nimport classNames from 'classnames';\nimport injectSheet from 'react-jss';\nimport isNumber from 'lodash/isNumber';\n\nconst rayColor = (rayColor) => ({\n '& line': {\n stroke: rayColor,\n },\n '& .arrow': {\n fill: rayColor,\n strokeWidth: '1px',\n stroke: rayColor,\n },\n});\n\nconst style = {\n ray: {\n '& line': {\n cursor: 'pointer',\n strokeWidth: '5px',\n stroke: color.primary(),\n },\n '& line, & .arrow': {\n transition: 'stroke 150ms linear, fill 150ms linear',\n },\n },\n selected: rayColor(colors.selected),\n correct: rayColor(colors.correct),\n incorrect: rayColor(colors.incorrect),\n arrowCorrect: {\n fill: colors.correct,\n '--arrow-color': colors.correct,\n },\n arrowIncorrect: {\n fill: colors.incorrect,\n '--arrow-color': colors.incorrect,\n },\n arrowSelected: {\n fill: colors.selected,\n '--arrow-color': colors.selected,\n },\n};\n\nexport class Ray extends React.Component {\n static propTypes = {\n ...basePropTypes(),\n width: PropTypes.number.isRequired,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n empty: PropTypes.bool,\n direction: PropTypes.oneOf(['positive', 'negative']),\n y: PropTypes.number,\n position: PropTypes.number.isRequired,\n onMove: PropTypes.func.isRequired,\n onToggleSelect: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n selected: false,\n direction: 'positive',\n y: 0,\n disabled: false,\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 dragPosition: null,\n };\n }\n\n drag(p) {\n const { domain } = this.props;\n if (p >= domain.min && p <= domain.max) {\n this.setState({ dragPosition: p });\n }\n }\n\n stopDrag() {\n this.setState({ dragPosition: null });\n }\n\n render() {\n /* eslint-disable */\n const { interval, empty, position, direction, domain, y, selected, disabled, width, correct, classes } = this.props;\n /* eslint-enable */\n const { xScale } = this.context;\n\n const drag = this.drag.bind(this);\n const stopDrag = this.stopDrag.bind(this);\n\n const finalPosition = isNumber(this.state.dragPosition) ? this.state.dragPosition : position;\n\n const className = classNames(classes.ray, {\n [classes.selected]: selected,\n [classes.correct]: correct === true,\n [classes.incorrect]: correct === false,\n });\n\n const positive = direction === 'positive';\n const left = positive ? finalPosition : domain.min;\n const right = positive ? domain.max : finalPosition;\n // const triangleX = positive ? xScale(right) : xScale(left);\n\n //const et the line run all the way to 0 or width.\n const x1 = positive ? xScale(left) : 8;\n const x2 = positive ? width - 8 : xScale(right);\n const arrowX = positive ? width : 0;\n const arrowDirection = positive ? 'right' : 'left';\n\n const noop = () => {};\n\n const arrowClassNames = classNames({\n [classes.arrowCorrect]: correct === true,\n [classes.arrowIncorrect]: correct === false,\n [classes.arrowSelected]: selected,\n });\n\n return (\n <g className={className} transform={`translate(0, ${y})`}>\n <line onClick={disabled ? noop : this.props.onToggleSelect} className=\"line-handle\" x1={x1} x2={x2} />\n <Point\n disabled={disabled}\n correct={correct}\n selected={selected}\n empty={empty}\n interval={interval}\n bounds={{ left: domain.min - position, right: domain.max - position }}\n position={position}\n onDrag={drag}\n onDragStop={stopDrag}\n onMove={this.props.onMove}\n onClick={this.props.onToggleSelect}\n />\n <Arrow x={arrowX} className={arrowClassNames} direction={arrowDirection} />\n </g>\n );\n }\n}\n\nexport default injectSheet(style)(Ray);\n"],"file":"ray.js"}
1
+ {"version":3,"file":"ray.js","names":["colors","_interopRequireWildcard","require","_renderUi","_react","_interopRequireDefault","_propTypes","_styles","_arrow","_point","_base","_isNumber","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledRayGroup","styled","$selected","$correct","cursor","strokeWidth","stroke","color","primary","transition","selected","fill","correct","incorrect","StyledArrow","Arrow","Ray","React","Component","constructor","props","state","dragPosition","drag","p","domain","min","max","setState","stopDrag","render","interval","empty","position","direction","y","disabled","width","xScale","context","bind","finalPosition","isNumber","positive","left","right","x1","x2","arrowX","arrowDirection","noop","createElement","transform","onClick","onToggleSelect","className","bounds","onDrag","onDragStop","onMove","x","exports","_defineProperty2","basePropTypes","PropTypes","number","isRequired","bool","oneOf","func","snapValue","_default"],"sources":["../../../../src/number-line/graph/elements/ray.jsx"],"sourcesContent":["import * as colors from '../../colors';\nimport { color } from '@pie-lib/render-ui';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Arrow from '../arrow';\nimport Point from './point';\nimport { basePropTypes } from './base';\nimport isNumber from 'lodash/isNumber';\n\nconst StyledRayGroup = styled('g')(({ $selected, $correct }) => ({\n '& line': {\n cursor: 'pointer',\n strokeWidth: '5px',\n stroke: color.primary(),\n },\n '& line, & .arrow': {\n transition: 'stroke 150ms linear, fill 150ms linear',\n },\n ...($selected && {\n '& line': {\n stroke: colors.selected,\n },\n '& .arrow': {\n fill: colors.selected,\n strokeWidth: '1px',\n stroke: colors.selected,\n },\n }),\n ...($correct === true && {\n '& line': {\n stroke: colors.correct,\n },\n '& .arrow': {\n fill: colors.correct,\n strokeWidth: '1px',\n stroke: colors.correct,\n },\n }),\n ...($correct === false && {\n '& line': {\n stroke: colors.incorrect,\n },\n '& .arrow': {\n fill: colors.incorrect,\n strokeWidth: '1px',\n stroke: colors.incorrect,\n },\n }),\n}));\n\nconst StyledArrow = styled(Arrow)(({ $correct, $selected }) => ({\n fill: color.primary(),\n ...($correct === true && {\n fill: colors.correct,\n '--arrow-color': colors.correct,\n }),\n ...($correct === false && {\n fill: colors.incorrect,\n '--arrow-color': colors.incorrect,\n }),\n ...($selected && {\n fill: colors.selected,\n '--arrow-color': colors.selected,\n }),\n}));\n\nexport class Ray extends React.Component {\n static propTypes = {\n ...basePropTypes(),\n width: PropTypes.number.isRequired,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n empty: PropTypes.bool,\n direction: PropTypes.oneOf(['positive', 'negative']),\n y: PropTypes.number,\n position: PropTypes.number.isRequired,\n onMove: PropTypes.func.isRequired,\n onToggleSelect: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n selected: false,\n direction: 'positive',\n y: 0,\n disabled: false,\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 dragPosition: null,\n };\n }\n\n drag(p) {\n const { domain } = this.props;\n if (p >= domain.min && p <= domain.max) {\n this.setState({ dragPosition: p });\n }\n }\n\n stopDrag() {\n this.setState({ dragPosition: null });\n }\n\n render() {\n /* eslint-disable */\n const { interval, empty, position, direction, domain, y, selected, disabled, width, correct } = this.props;\n /* eslint-enable */\n const { xScale } = this.context;\n\n const drag = this.drag.bind(this);\n const stopDrag = this.stopDrag.bind(this);\n\n const finalPosition = isNumber(this.state.dragPosition) ? this.state.dragPosition : position;\n\n const positive = direction === 'positive';\n const left = positive ? finalPosition : domain.min;\n const right = positive ? domain.max : finalPosition;\n // const triangleX = positive ? xScale(right) : xScale(left);\n\n //const et the line run all the way to 0 or width.\n const x1 = positive ? xScale(left) : 8;\n const x2 = positive ? width - 8 : xScale(right);\n const arrowX = positive ? width : 0;\n const arrowDirection = positive ? 'right' : 'left';\n\n const noop = () => {};\n\n return (\n <StyledRayGroup $selected={selected} $correct={correct} transform={`translate(0, ${y})`}>\n <line onClick={disabled ? noop : this.props.onToggleSelect} className=\"line-handle\" x1={x1} x2={x2} />\n <Point\n disabled={disabled}\n correct={correct}\n selected={selected}\n empty={empty}\n interval={interval}\n bounds={{ left: domain.min - position, right: domain.max - position }}\n position={position}\n onDrag={drag}\n onDragStop={stopDrag}\n onMove={this.props.onMove}\n onClick={this.props.onToggleSelect}\n />\n <StyledArrow x={arrowX} $correct={correct} $selected={selected} direction={arrowDirection} />\n </StyledRayGroup>\n );\n }\n}\n\nexport default Ray;\n"],"mappings":"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","ignoreList":[]}