@pie-element/number-line 13.1.2-next.5 → 13.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/CHANGELOG.json +1247 -0
  2. package/CHANGELOG.md +2447 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +28 -0
  5. package/configure/CHANGELOG.json +827 -0
  6. package/configure/CHANGELOG.md +2094 -0
  7. package/configure/lib/arrows.js +89 -0
  8. package/configure/lib/arrows.js.map +1 -0
  9. package/configure/lib/card-bar.js +57 -0
  10. package/configure/lib/card-bar.js.map +1 -0
  11. package/configure/lib/defaults.js +177 -0
  12. package/configure/lib/defaults.js.map +1 -0
  13. package/configure/lib/domain.js +87 -0
  14. package/configure/lib/domain.js.map +1 -0
  15. package/configure/lib/index.js +176 -0
  16. package/configure/lib/index.js.map +1 -0
  17. package/configure/lib/main.js +815 -0
  18. package/configure/lib/main.js.map +1 -0
  19. package/configure/lib/number-text-field.js +26 -0
  20. package/configure/lib/number-text-field.js.map +1 -0
  21. package/configure/lib/point-config.js +84 -0
  22. package/configure/lib/point-config.js.map +1 -0
  23. package/configure/lib/size.js +66 -0
  24. package/configure/lib/size.js.map +1 -0
  25. package/configure/lib/ticks.js +234 -0
  26. package/configure/lib/ticks.js.map +1 -0
  27. package/configure/lib/utils.js +12 -0
  28. package/configure/lib/utils.js.map +1 -0
  29. package/configure/package.json +20 -0
  30. package/controller/CHANGELOG.json +332 -0
  31. package/controller/CHANGELOG.md +1360 -0
  32. package/controller/lib/defaults.js +56 -0
  33. package/controller/lib/defaults.js.map +1 -0
  34. package/controller/lib/index.js +430 -0
  35. package/controller/lib/index.js.map +1 -0
  36. package/controller/lib/tickUtils.js +294 -0
  37. package/controller/lib/tickUtils.js.map +1 -0
  38. package/controller/lib/utils.js +168 -0
  39. package/controller/lib/utils.js.map +1 -0
  40. package/controller/package.json +20 -0
  41. package/demo.gif +0 -0
  42. package/docs/config-schema.json +2532 -0
  43. package/docs/config-schema.json.md +1844 -0
  44. package/docs/demo/config.js +8 -0
  45. package/docs/demo/generate.js +39 -0
  46. package/docs/demo/index.html +1 -0
  47. package/docs/pie-schema.json +2461 -0
  48. package/docs/pie-schema.json.md +1228 -0
  49. package/docs/schemas/config.json +256 -0
  50. package/lib/data-converter.js +96 -0
  51. package/lib/data-converter.js.map +1 -0
  52. package/lib/draggable/index.js +114 -0
  53. package/lib/draggable/index.js.map +1 -0
  54. package/lib/index.js +196 -0
  55. package/lib/index.js.map +1 -0
  56. package/lib/number-line/colors.js +11 -0
  57. package/lib/number-line/colors.js.map +1 -0
  58. package/lib/number-line/feedback.js +92 -0
  59. package/lib/number-line/feedback.js.map +1 -0
  60. package/lib/number-line/graph/arrow.js +44 -0
  61. package/lib/number-line/graph/arrow.js.map +1 -0
  62. package/lib/number-line/graph/elements/base.js +20 -0
  63. package/lib/number-line/graph/elements/base.js.map +1 -0
  64. package/lib/number-line/graph/elements/builder.js +37 -0
  65. package/lib/number-line/graph/elements/builder.js.map +1 -0
  66. package/lib/number-line/graph/elements/line.js +259 -0
  67. package/lib/number-line/graph/elements/line.js.map +1 -0
  68. package/lib/number-line/graph/elements/point.js +204 -0
  69. package/lib/number-line/graph/elements/point.js.map +1 -0
  70. package/lib/number-line/graph/elements/ray.js +190 -0
  71. package/lib/number-line/graph/elements/ray.js.map +1 -0
  72. package/lib/number-line/graph/index.js +262 -0
  73. package/lib/number-line/graph/index.js.map +1 -0
  74. package/lib/number-line/graph/line.js +38 -0
  75. package/lib/number-line/graph/line.js.map +1 -0
  76. package/lib/number-line/graph/stacks.js +78 -0
  77. package/lib/number-line/graph/stacks.js.map +1 -0
  78. package/lib/number-line/graph/tick-utils.js +347 -0
  79. package/lib/number-line/graph/tick-utils.js.map +1 -0
  80. package/lib/number-line/graph/ticks.js +188 -0
  81. package/lib/number-line/graph/ticks.js.map +1 -0
  82. package/lib/number-line/index.js +384 -0
  83. package/lib/number-line/index.js.map +1 -0
  84. package/lib/number-line/point-chooser/button.js +49 -0
  85. package/lib/number-line/point-chooser/button.js.map +1 -0
  86. package/lib/number-line/point-chooser/img.js +8 -0
  87. package/lib/number-line/point-chooser/img.js.map +1 -0
  88. package/lib/number-line/point-chooser/index.js +197 -0
  89. package/lib/number-line/point-chooser/index.js.map +1 -0
  90. package/lib/number-line/point-chooser/styles.js +77 -0
  91. package/lib/number-line/point-chooser/styles.js.map +1 -0
  92. package/lib/number-line/transitions/fade.js +88 -0
  93. package/lib/number-line/transitions/fade.js.map +1 -0
  94. package/lib/number-line/transitions/index.js +14 -0
  95. package/lib/number-line/transitions/index.js.map +1 -0
  96. package/package.json +22 -87
  97. package/configure.js +0 -2
  98. package/controller.js +0 -1
  99. package/dist/_virtual/_rolldown/runtime.js +0 -11
  100. package/dist/author/arrows.d.ts +0 -28
  101. package/dist/author/arrows.js +0 -69
  102. package/dist/author/card-bar.d.ts +0 -20
  103. package/dist/author/card-bar.js +0 -41
  104. package/dist/author/defaults.d.ts +0 -178
  105. package/dist/author/defaults.js +0 -144
  106. package/dist/author/domain.d.ts +0 -15
  107. package/dist/author/domain.js +0 -54
  108. package/dist/author/index.d.ts +0 -23
  109. package/dist/author/index.js +0 -89
  110. package/dist/author/main.d.ts +0 -44
  111. package/dist/author/main.js +0 -485
  112. package/dist/author/number-text-field.d.ts +0 -13
  113. package/dist/author/number-text-field.js +0 -13
  114. package/dist/author/point-config.d.ts +0 -25
  115. package/dist/author/point-config.js +0 -69
  116. package/dist/author/size.d.ts +0 -24
  117. package/dist/author/size.js +0 -48
  118. package/dist/author/ticks.d.ts +0 -22
  119. package/dist/author/ticks.js +0 -115
  120. package/dist/author/utils.d.ts +0 -9
  121. package/dist/author/utils.js +0 -4
  122. package/dist/browser/author/index.js +0 -46162
  123. package/dist/browser/author/index.js.map +0 -1
  124. package/dist/browser/controller/index.js +0 -569
  125. package/dist/browser/controller/index.js.map +0 -1
  126. package/dist/browser/delivery/index.js +0 -2
  127. package/dist/browser/delivery-bcOQIdko.js +0 -17953
  128. package/dist/browser/delivery-bcOQIdko.js.map +0 -1
  129. package/dist/browser/dist-BnIaVPcz.js +0 -19042
  130. package/dist/browser/dist-BnIaVPcz.js.map +0 -1
  131. package/dist/browser/impureFunctionsAny.generated-BwG6hrJc.js +0 -10162
  132. package/dist/browser/impureFunctionsAny.generated-BwG6hrJc.js.map +0 -1
  133. package/dist/browser/number-line.css +0 -2
  134. package/dist/controller/defaults.d.ts +0 -58
  135. package/dist/controller/defaults.js +0 -50
  136. package/dist/controller/index.d.ts +0 -47
  137. package/dist/controller/index.js +0 -165
  138. package/dist/controller/tickUtils.d.ts +0 -21
  139. package/dist/controller/tickUtils.js +0 -252
  140. package/dist/controller/utils.d.ts +0 -9
  141. package/dist/controller/utils.js +0 -68
  142. package/dist/delivery/data-converter.d.ts +0 -64
  143. package/dist/delivery/data-converter.js +0 -70
  144. package/dist/delivery/draggable/index.d.ts +0 -33
  145. package/dist/delivery/draggable/index.js +0 -39
  146. package/dist/delivery/index.d.ts +0 -35
  147. package/dist/delivery/index.js +0 -109
  148. package/dist/delivery/number-line/colors.d.ts +0 -11
  149. package/dist/delivery/number-line/colors.js +0 -5
  150. package/dist/delivery/number-line/feedback.d.ts +0 -19
  151. package/dist/delivery/number-line/feedback.js +0 -57
  152. package/dist/delivery/number-line/graph/arrow.d.ts +0 -30
  153. package/dist/delivery/number-line/graph/arrow.js +0 -27
  154. package/dist/delivery/number-line/graph/elements/base.d.ts +0 -16
  155. package/dist/delivery/number-line/graph/elements/base.js +0 -11
  156. package/dist/delivery/number-line/graph/elements/builder.d.ts +0 -33
  157. package/dist/delivery/number-line/graph/elements/builder.js +0 -30
  158. package/dist/delivery/number-line/graph/elements/line.d.ts +0 -51
  159. package/dist/delivery/number-line/graph/elements/line.js +0 -188
  160. package/dist/delivery/number-line/graph/elements/point.d.ts +0 -43
  161. package/dist/delivery/number-line/graph/elements/point.js +0 -127
  162. package/dist/delivery/number-line/graph/elements/ray.d.ts +0 -43
  163. package/dist/delivery/number-line/graph/elements/ray.js +0 -130
  164. package/dist/delivery/number-line/graph/index.d.ts +0 -59
  165. package/dist/delivery/number-line/graph/index.js +0 -196
  166. package/dist/delivery/number-line/graph/line.d.ts +0 -46
  167. package/dist/delivery/number-line/graph/line.js +0 -27
  168. package/dist/delivery/number-line/graph/stacks.d.ts +0 -10
  169. package/dist/delivery/number-line/graph/stacks.js +0 -40
  170. package/dist/delivery/number-line/graph/tick-utils.d.ts +0 -80
  171. package/dist/delivery/number-line/graph/tick-utils.js +0 -295
  172. package/dist/delivery/number-line/graph/ticks.d.ts +0 -46
  173. package/dist/delivery/number-line/graph/ticks.js +0 -115
  174. package/dist/delivery/number-line/index.d.ts +0 -35
  175. package/dist/delivery/number-line/index.js +0 -215
  176. package/dist/delivery/number-line/point-chooser/button.d.ts +0 -31
  177. package/dist/delivery/number-line/point-chooser/button.js +0 -36
  178. package/dist/delivery/number-line/point-chooser/img.d.ts +0 -10
  179. package/dist/delivery/number-line/point-chooser/img.js +0 -4
  180. package/dist/delivery/number-line/point-chooser/index.d.ts +0 -37
  181. package/dist/delivery/number-line/point-chooser/index.js +0 -154
  182. package/dist/delivery/number-line/point-chooser/styles.d.ts +0 -192
  183. package/dist/delivery/number-line/transitions/fade.d.ts +0 -34
  184. package/dist/delivery/number-line/transitions/fade.js +0 -75
  185. package/dist/delivery/number-line/transitions/index.d.ts +0 -10
  186. package/dist/index.d.ts +0 -1
  187. package/dist/index.iife.d.ts +0 -8
  188. package/dist/index.iife.js +0 -197
  189. package/dist/index.js +0 -2
  190. package/dist/runtime-support.d.ts +0 -12
  191. package/dist/runtime-support.js +0 -12
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Point = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _styles = require("@mui/material/styles");
13
+ var _renderUi = require("@pie-lib/render-ui");
14
+ var _draggable = require("../../../draggable");
15
+ const duration = '150ms';
16
+ const StyledCircle = (0, _styles.styled)('circle')(({
17
+ $selected,
18
+ $disabled,
19
+ $correct,
20
+ $empty
21
+ }) => ({
22
+ cursor: 'pointer',
23
+ transition: `r ${duration} linear,
24
+ opacity ${duration} linear,
25
+ fill ${duration} linear,
26
+ stroke ${duration} linear`,
27
+ stroke: _renderUi.color.primary(),
28
+ fill: _renderUi.color.primary(),
29
+ // was ".react-draggable-dragging"
30
+ '&.dnd-kit-dragging': {
31
+ opacity: 0.25,
32
+ r: '10px'
33
+ },
34
+ '&:hover': {
35
+ stroke: _renderUi.color.primaryDark()
36
+ },
37
+ ...($selected && {
38
+ stroke: _renderUi.color.primaryDark()
39
+ }),
40
+ ...($disabled && {
41
+ cursor: 'not-allowed',
42
+ opacity: 0.8
43
+ }),
44
+ ...($correct === true && {
45
+ cursor: 'inherit',
46
+ stroke: _renderUi.color.correct(),
47
+ fill: _renderUi.color.correct()
48
+ }),
49
+ ...($correct === false && {
50
+ cursor: 'inherit',
51
+ stroke: _renderUi.color.incorrect(),
52
+ fill: _renderUi.color.incorrect()
53
+ }),
54
+ ...($empty && {
55
+ fill: 'white'
56
+ })
57
+ }));
58
+ class Point extends _react.default.Component {
59
+ render() {
60
+ const {
61
+ onDragStop,
62
+ onDragStart,
63
+ onDrag: onDragCallback,
64
+ onClick,
65
+ onMove,
66
+ interval,
67
+ y,
68
+ bounds,
69
+ selected,
70
+ position,
71
+ disabled,
72
+ correct,
73
+ empty
74
+ } = this.props;
75
+ const {
76
+ snapValue,
77
+ xScale
78
+ } = this.context;
79
+
80
+ // same as old `is`
81
+ const step = xScale(interval) - xScale(0);
82
+ const dragPosition = deltaX => {
83
+ const normalized = deltaX + xScale(0);
84
+ const inverted = xScale.invert(normalized);
85
+ return snapValue(position + inverted);
86
+ };
87
+
88
+ // bounds in px (same as old scaledBounds)
89
+ const scaledBounds = bounds ? {
90
+ left: bounds.left / interval * step,
91
+ right: bounds.right / interval * step
92
+ } : null;
93
+ const handleMouseDown = e => e.nativeEvent.preventDefault();
94
+
95
+ // called when drag starts (via LocalDraggableDndKit)
96
+ const handleDragStart = () => {
97
+ if (onDragStart) {
98
+ onDragStart();
99
+ }
100
+ };
101
+
102
+ // called continuously while dragging (snapped+clamped deltaX in px)
103
+ const handleDragMove = deltaX => {
104
+ const p = dragPosition(deltaX);
105
+ if (onDragCallback) {
106
+ onDragCallback(p);
107
+ }
108
+ };
109
+
110
+ // called when drag ends (snapped+clamped deltaX in px)
111
+ const handleDragEnd = deltaX => {
112
+ if (onDragStop) {
113
+ onDragStop();
114
+ }
115
+ const deltaAbs = Math.abs(deltaX);
116
+
117
+ // click vs drag, same threshold as before: is / 10
118
+ if (deltaAbs < step / 10) {
119
+ if (onClick) {
120
+ onClick();
121
+ }
122
+ return;
123
+ }
124
+ const newPosition = dragPosition(deltaX);
125
+ onMove(newPosition);
126
+ };
127
+ const id = `point-${position}-${y}`;
128
+ return /*#__PURE__*/_react.default.createElement(_draggable.Draggable, {
129
+ id: id,
130
+ disabled: disabled,
131
+ grid: [step],
132
+ bounds: scaledBounds,
133
+ onMouseDown: handleMouseDown,
134
+ onDragStart: handleDragStart,
135
+ onDragMove: handleDragMove,
136
+ onDragEnd: handleDragEnd
137
+ }, ({
138
+ setNodeRef,
139
+ attributes,
140
+ listeners,
141
+ translateX,
142
+ isDragging,
143
+ onMouseDown
144
+ }) => /*#__PURE__*/_react.default.createElement("g", (0, _extends2.default)({
145
+ ref: setNodeRef,
146
+ onMouseDown: onMouseDown
147
+ // axis="x": only horizontal translate
148
+ ,
149
+ transform: `translate(${translateX}, 0)`
150
+ }, attributes, listeners), /*#__PURE__*/_react.default.createElement("circle", {
151
+ r: "20",
152
+ strokeWidth: "3",
153
+ style: {
154
+ fill: 'transparent',
155
+ pointerEvents: 'visibleStroke'
156
+ },
157
+ cx: xScale(position),
158
+ cy: y,
159
+ stroke: selected ? _renderUi.color.primaryDark() : 'none'
160
+ }), /*#__PURE__*/_react.default.createElement(StyledCircle, {
161
+ r: "5",
162
+ strokeWidth: "3",
163
+ cx: xScale(position),
164
+ cy: y,
165
+ $selected: selected,
166
+ $disabled: disabled,
167
+ $correct: correct,
168
+ $empty: empty,
169
+ className: isDragging ? 'dnd-kit-dragging' : undefined
170
+ })));
171
+ }
172
+ }
173
+ exports.Point = Point;
174
+ (0, _defineProperty2.default)(Point, "defaultProps", {
175
+ y: 0,
176
+ selected: false,
177
+ empty: false,
178
+ disabled: false,
179
+ correct: undefined
180
+ });
181
+ (0, _defineProperty2.default)(Point, "propTypes", {
182
+ interval: _propTypes.default.number.isRequired,
183
+ position: _propTypes.default.number.isRequired,
184
+ bounds: _propTypes.default.shape({
185
+ left: _propTypes.default.number.isRequired,
186
+ right: _propTypes.default.number.isRequired
187
+ }),
188
+ selected: _propTypes.default.bool,
189
+ disabled: _propTypes.default.bool,
190
+ correct: _propTypes.default.bool,
191
+ empty: _propTypes.default.bool,
192
+ y: _propTypes.default.number,
193
+ onMove: _propTypes.default.func.isRequired,
194
+ onClick: _propTypes.default.func,
195
+ onDrag: _propTypes.default.func,
196
+ onDragStop: _propTypes.default.func,
197
+ onDragStart: _propTypes.default.func
198
+ });
199
+ (0, _defineProperty2.default)(Point, "contextTypes", {
200
+ xScale: _propTypes.default.func.isRequired,
201
+ snapValue: _propTypes.default.func.isRequired
202
+ });
203
+ var _default = exports.default = Point;
204
+ //# sourceMappingURL=point.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"point.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_renderUi","_draggable","duration","StyledCircle","styled","$selected","$disabled","$correct","$empty","cursor","transition","stroke","color","primary","fill","opacity","r","primaryDark","correct","incorrect","Point","React","Component","render","onDragStop","onDragStart","onDrag","onDragCallback","onClick","onMove","interval","y","bounds","selected","position","disabled","empty","props","snapValue","xScale","context","step","dragPosition","deltaX","normalized","inverted","invert","scaledBounds","left","right","handleMouseDown","e","nativeEvent","preventDefault","handleDragStart","handleDragMove","p","handleDragEnd","deltaAbs","Math","abs","newPosition","id","default","createElement","Draggable","grid","onMouseDown","onDragMove","onDragEnd","setNodeRef","attributes","listeners","translateX","isDragging","_extends2","ref","transform","strokeWidth","style","pointerEvents","cx","cy","className","undefined","exports","_defineProperty2","PropTypes","number","isRequired","shape","bool","func","_default"],"sources":["../../../../src/number-line/graph/elements/point.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\n\nimport { Draggable } from '../../../draggable';\n\nconst duration = '150ms';\n\nconst StyledCircle = styled('circle')(({ $selected, $disabled, $correct, $empty }) => ({\n cursor: 'pointer',\n transition: `r ${duration} linear, \n opacity ${duration} linear, \n fill ${duration} linear,\n stroke ${duration} linear`,\n stroke: color.primary(),\n fill: color.primary(),\n // was \".react-draggable-dragging\"\n '&.dnd-kit-dragging': {\n opacity: 0.25,\n r: '10px',\n },\n '&:hover': {\n stroke: color.primaryDark(),\n },\n ...($selected && {\n stroke: color.primaryDark(),\n }),\n ...($disabled && {\n cursor: 'not-allowed',\n opacity: 0.8,\n }),\n ...($correct === true && {\n cursor: 'inherit',\n stroke: color.correct(),\n fill: color.correct(),\n }),\n ...($correct === false && {\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 };\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 } = this.props;\n\n const { snapValue, xScale } = this.context;\n\n // same as old `is`\n const step = xScale(interval) - xScale(0);\n\n const dragPosition = (deltaX) => {\n const normalized = deltaX + xScale(0);\n const inverted = xScale.invert(normalized);\n return snapValue(position + inverted);\n };\n\n // bounds in px (same as old scaledBounds)\n const scaledBounds = bounds\n ? {\n left: (bounds.left / interval) * step,\n right: (bounds.right / interval) * step,\n }\n : null;\n\n const handleMouseDown = (e) => e.nativeEvent.preventDefault();\n\n // called when drag starts (via LocalDraggableDndKit)\n const handleDragStart = () => {\n if (onDragStart) {\n onDragStart();\n }\n };\n\n // called continuously while dragging (snapped+clamped deltaX in px)\n const handleDragMove = (deltaX) => {\n const p = dragPosition(deltaX);\n if (onDragCallback) {\n onDragCallback(p);\n }\n };\n\n // called when drag ends (snapped+clamped deltaX in px)\n const handleDragEnd = (deltaX) => {\n if (onDragStop) {\n onDragStop();\n }\n\n const deltaAbs = Math.abs(deltaX);\n\n // click vs drag, same threshold as before: is / 10\n if (deltaAbs < step / 10) {\n if (onClick) {\n onClick();\n }\n return;\n }\n\n const newPosition = dragPosition(deltaX);\n onMove(newPosition);\n };\n\n const id = `point-${position}-${y}`;\n\n return (\n <Draggable \n id={id}\n disabled={disabled}\n grid={[step]}\n bounds={scaledBounds}\n onMouseDown={handleMouseDown}\n onDragStart={handleDragStart}\n onDragMove={handleDragMove}\n onDragEnd={handleDragEnd}\n >\n {({\n setNodeRef,\n attributes,\n listeners,\n translateX,\n isDragging,\n onMouseDown,\n }) => (\n <g\n ref={setNodeRef}\n onMouseDown={onMouseDown}\n // axis=\"x\": only horizontal translate\n transform={`translate(${translateX}, 0)`}\n {...attributes}\n {...listeners}\n >\n <circle\n r=\"20\"\n strokeWidth=\"3\"\n style={{ fill: 'transparent', pointerEvents: 'visibleStroke' }}\n cx={xScale(position)}\n cy={y}\n stroke={selected ? color.primaryDark() : 'none'}\n />\n <StyledCircle\n r=\"5\"\n strokeWidth=\"3\"\n cx={xScale(position)}\n cy={y}\n $selected={selected}\n $disabled={disabled}\n $correct={correct}\n $empty={empty}\n className={isDragging ? 'dnd-kit-dragging' : undefined}\n />\n </g>\n )}\n </ Draggable>\n );\n }\n}\n\nexport default Point;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,MAAMK,QAAQ,GAAG,OAAO;AAExB,MAAMC,YAAY,GAAG,IAAAC,cAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;EAAEC,SAAS;EAAEC,SAAS;EAAEC,QAAQ;EAAEC;AAAO,CAAC,MAAM;EACrFC,MAAM,EAAE,SAAS;EACjBC,UAAU,EAAE,KAAKR,QAAQ;AAC3B,YAAYA,QAAQ;AACpB,SAASA,QAAQ;AACjB,WAAWA,QAAQ,SAAS;EAC1BS,MAAM,EAAEC,eAAK,CAACC,OAAO,CAAC,CAAC;EACvBC,IAAI,EAAEF,eAAK,CAACC,OAAO,CAAC,CAAC;EACrB;EACA,oBAAoB,EAAE;IACpBE,OAAO,EAAE,IAAI;IACbC,CAAC,EAAE;EACL,CAAC;EACD,SAAS,EAAE;IACTL,MAAM,EAAEC,eAAK,CAACK,WAAW,CAAC;EAC5B,CAAC;EACD,IAAIZ,SAAS,IAAI;IACfM,MAAM,EAAEC,eAAK,CAACK,WAAW,CAAC;EAC5B,CAAC,CAAC;EACF,IAAIX,SAAS,IAAI;IACfG,MAAM,EAAE,aAAa;IACrBM,OAAO,EAAE;EACX,CAAC,CAAC;EACF,IAAIR,QAAQ,KAAK,IAAI,IAAI;IACvBE,MAAM,EAAE,SAAS;IACjBE,MAAM,EAAEC,eAAK,CAACM,OAAO,CAAC,CAAC;IACvBJ,IAAI,EAAEF,eAAK,CAACM,OAAO,CAAC;EACtB,CAAC,CAAC;EACF,IAAIX,QAAQ,KAAK,KAAK,IAAI;IACxBE,MAAM,EAAE,SAAS;IACjBE,MAAM,EAAEC,eAAK,CAACO,SAAS,CAAC,CAAC;IACzBL,IAAI,EAAEF,eAAK,CAACO,SAAS,CAAC;EACxB,CAAC,CAAC;EACF,IAAIX,MAAM,IAAI;IACZM,IAAI,EAAE;EACR,CAAC;AACH,CAAC,CAAC,CAAC;AAEI,MAAMM,KAAK,SAASC,cAAK,CAACC,SAAS,CAAC;EAiCzCC,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,UAAU;MACVC,WAAW;MACXC,MAAM,EAAEC,cAAc;MACtBC,OAAO;MACPC,MAAM;MACNC,QAAQ;MACRC,CAAC;MACDC,MAAM;MACNC,QAAQ;MACRC,QAAQ;MACRC,QAAQ;MACRjB,OAAO;MACPkB;IACF,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,MAAM;MAAEC,SAAS;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACC,OAAO;;IAE1C;IACA,MAAMC,IAAI,GAAGF,MAAM,CAACT,QAAQ,CAAC,GAAGS,MAAM,CAAC,CAAC,CAAC;IAEzC,MAAMG,YAAY,GAAIC,MAAM,IAAK;MAC/B,MAAMC,UAAU,GAAGD,MAAM,GAAGJ,MAAM,CAAC,CAAC,CAAC;MACrC,MAAMM,QAAQ,GAAGN,MAAM,CAACO,MAAM,CAACF,UAAU,CAAC;MAC1C,OAAON,SAAS,CAACJ,QAAQ,GAAGW,QAAQ,CAAC;IACvC,CAAC;;IAED;IACA,MAAME,YAAY,GAAGf,MAAM,GACvB;MACEgB,IAAI,EAAGhB,MAAM,CAACgB,IAAI,GAAGlB,QAAQ,GAAIW,IAAI;MACrCQ,KAAK,EAAGjB,MAAM,CAACiB,KAAK,GAAGnB,QAAQ,GAAIW;IACrC,CAAC,GACD,IAAI;IAER,MAAMS,eAAe,GAAIC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,cAAc,CAAC,CAAC;;IAE7D;IACA,MAAMC,eAAe,GAAGA,CAAA,KAAM;MAC5B,IAAI7B,WAAW,EAAE;QACfA,WAAW,CAAC,CAAC;MACf;IACF,CAAC;;IAED;IACA,MAAM8B,cAAc,GAAIZ,MAAM,IAAK;MACjC,MAAMa,CAAC,GAAGd,YAAY,CAACC,MAAM,CAAC;MAC9B,IAAIhB,cAAc,EAAE;QAClBA,cAAc,CAAC6B,CAAC,CAAC;MACnB;IACF,CAAC;;IAED;IACA,MAAMC,aAAa,GAAId,MAAM,IAAK;MAChC,IAAInB,UAAU,EAAE;QACdA,UAAU,CAAC,CAAC;MACd;MAEA,MAAMkC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACjB,MAAM,CAAC;;MAEjC;MACA,IAAIe,QAAQ,GAAGjB,IAAI,GAAG,EAAE,EAAE;QACxB,IAAIb,OAAO,EAAE;UACXA,OAAO,CAAC,CAAC;QACX;QACA;MACF;MAEA,MAAMiC,WAAW,GAAGnB,YAAY,CAACC,MAAM,CAAC;MACxCd,MAAM,CAACgC,WAAW,CAAC;IACrB,CAAC;IAED,MAAMC,EAAE,GAAG,SAAS5B,QAAQ,IAAIH,CAAC,EAAE;IAEnC,oBACEpC,MAAA,CAAAoE,OAAA,CAAAC,aAAA,CAAC/D,UAAA,CAAAgE,SAAS;MACRH,EAAE,EAAEA,EAAG;MACP3B,QAAQ,EAAEA,QAAS;MACnB+B,IAAI,EAAE,CAACzB,IAAI,CAAE;MACbT,MAAM,EAAEe,YAAa;MACrBoB,WAAW,EAAEjB,eAAgB;MAC7BzB,WAAW,EAAE6B,eAAgB;MAC7Bc,UAAU,EAAEb,cAAe;MAC3Bc,SAAS,EAAEZ;IAAc,GAExB,CAAC;MACAa,UAAU;MACVC,UAAU;MACVC,SAAS;MACTC,UAAU;MACVC,UAAU;MACVP;IACF,CAAC,kBACCxE,MAAA,CAAAoE,OAAA,CAAAC,aAAA,UAAAW,SAAA,CAAAZ,OAAA;MACEa,GAAG,EAAEN,UAAW;MAChBH,WAAW,EAAEA;MACb;MAAA;MACAU,SAAS,EAAE,aAAaJ,UAAU;IAAO,GACrCF,UAAU,EACVC,SAAS,gBAEb7E,MAAA,CAAAoE,OAAA,CAAAC,aAAA;MACEhD,CAAC,EAAC,IAAI;MACN8D,WAAW,EAAC,GAAG;MACfC,KAAK,EAAE;QAAEjE,IAAI,EAAE,aAAa;QAAEkE,aAAa,EAAE;MAAgB,CAAE;MAC/DC,EAAE,EAAE1C,MAAM,CAACL,QAAQ,CAAE;MACrBgD,EAAE,EAAEnD,CAAE;MACNpB,MAAM,EAAEsB,QAAQ,GAAGrB,eAAK,CAACK,WAAW,CAAC,CAAC,GAAG;IAAO,CACjD,CAAC,eACFtB,MAAA,CAAAoE,OAAA,CAAAC,aAAA,CAAC7D,YAAY;MACXa,CAAC,EAAC,GAAG;MACL8D,WAAW,EAAC,GAAG;MACfG,EAAE,EAAE1C,MAAM,CAACL,QAAQ,CAAE;MACrBgD,EAAE,EAAEnD,CAAE;MACN1B,SAAS,EAAE4B,QAAS;MACpB3B,SAAS,EAAE6B,QAAS;MACpB5B,QAAQ,EAAEW,OAAQ;MAClBV,MAAM,EAAE4B,KAAM;MACd+C,SAAS,EAAET,UAAU,GAAG,kBAAkB,GAAGU;IAAU,CACxD,CACA,CAEK,CAAC;EAEjB;AACF;AAACC,OAAA,CAAAjE,KAAA,GAAAA,KAAA;AAAA,IAAAkE,gBAAA,CAAAvB,OAAA,EA/JY3C,KAAK,kBACM;EACpBW,CAAC,EAAE,CAAC;EACJE,QAAQ,EAAE,KAAK;EACfG,KAAK,EAAE,KAAK;EACZD,QAAQ,EAAE,KAAK;EACfjB,OAAO,EAAEkE;AACX,CAAC;AAAA,IAAAE,gBAAA,CAAAvB,OAAA,EAPU3C,KAAK,eASG;EACjBU,QAAQ,EAAEyD,kBAAS,CAACC,MAAM,CAACC,UAAU;EACrCvD,QAAQ,EAAEqD,kBAAS,CAACC,MAAM,CAACC,UAAU;EACrCzD,MAAM,EAAEuD,kBAAS,CAACG,KAAK,CAAC;IACtB1C,IAAI,EAAEuC,kBAAS,CAACC,MAAM,CAACC,UAAU;IACjCxC,KAAK,EAAEsC,kBAAS,CAACC,MAAM,CAACC;EAC1B,CAAC,CAAC;EACFxD,QAAQ,EAAEsD,kBAAS,CAACI,IAAI;EACxBxD,QAAQ,EAAEoD,kBAAS,CAACI,IAAI;EACxBzE,OAAO,EAAEqE,kBAAS,CAACI,IAAI;EACvBvD,KAAK,EAAEmD,kBAAS,CAACI,IAAI;EACrB5D,CAAC,EAAEwD,kBAAS,CAACC,MAAM;EACnB3D,MAAM,EAAE0D,kBAAS,CAACK,IAAI,CAACH,UAAU;EACjC7D,OAAO,EAAE2D,kBAAS,CAACK,IAAI;EACvBlE,MAAM,EAAE6D,kBAAS,CAACK,IAAI;EACtBpE,UAAU,EAAE+D,kBAAS,CAACK,IAAI;EAC1BnE,WAAW,EAAE8D,kBAAS,CAACK;AACzB,CAAC;AAAA,IAAAN,gBAAA,CAAAvB,OAAA,EA1BU3C,KAAK,kBA4BM;EACpBmB,MAAM,EAAEgD,kBAAS,CAACK,IAAI,CAACH,UAAU;EACjCnD,SAAS,EAAEiD,kBAAS,CAACK,IAAI,CAACH;AAC5B,CAAC;AAAA,IAAAI,QAAA,GAAAR,OAAA,CAAAtB,OAAA,GAkIY3C,KAAK","ignoreList":[]}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Ray = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var colors = _interopRequireWildcard(require("../../colors"));
10
+ var _renderUi = require("@pie-lib/render-ui");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _styles = require("@mui/material/styles");
14
+ var _arrow = _interopRequireDefault(require("../arrow"));
15
+ var _point = _interopRequireDefault(require("./point"));
16
+ var _base = require("./base");
17
+ var _lodashEs = require("lodash-es");
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 && {
32
+ '& line': {
33
+ stroke: colors.selected
34
+ },
35
+ '& .arrow': {
36
+ fill: colors.selected,
37
+ strokeWidth: '1px',
38
+ stroke: colors.selected
39
+ }
40
+ }),
41
+ ...($correct === true && {
42
+ '& line': {
43
+ stroke: colors.correct
44
+ },
45
+ '& .arrow': {
46
+ fill: colors.correct,
47
+ strokeWidth: '1px',
48
+ stroke: colors.correct
49
+ }
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 && {
68
+ fill: colors.correct,
69
+ '--arrow-color': colors.correct
70
+ }),
71
+ ...($correct === false && {
72
+ fill: colors.incorrect,
73
+ '--arrow-color': colors.incorrect
74
+ }),
75
+ ...($selected && {
76
+ fill: colors.selected,
77
+ '--arrow-color': colors.selected
78
+ })
79
+ }));
80
+ class Ray extends _react.default.Component {
81
+ constructor(props) {
82
+ super(props);
83
+ this.state = {
84
+ dragPosition: null
85
+ };
86
+ }
87
+ drag(p) {
88
+ const {
89
+ domain
90
+ } = this.props;
91
+ if (p >= domain.min && p <= domain.max) {
92
+ this.setState({
93
+ dragPosition: p
94
+ });
95
+ }
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, _lodashEs.isNumber)(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
+ }
166
+ exports.Ray = Ray;
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", {
180
+ selected: false,
181
+ direction: 'positive',
182
+ y: 0,
183
+ disabled: false
184
+ });
185
+ (0, _defineProperty2.default)(Ray, "contextTypes", {
186
+ xScale: _propTypes.default.func.isRequired,
187
+ snapValue: _propTypes.default.func.isRequired
188
+ });
189
+ var _default = exports.default = Ray;
190
+ //# sourceMappingURL=ray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ray.js","names":["colors","_interopRequireWildcard","require","_renderUi","_react","_interopRequireDefault","_propTypes","_styles","_arrow","_point","_base","_lodashEs","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-es';\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":[]}