@pie-lib/graphing 3.0.0-next.0 → 3.1.0-next.2
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/CHANGELOG.md +33 -0
- package/package.json +9 -17
- package/src/grid-setup.jsx +28 -34
- package/src/labels.jsx +1 -1
- package/lib/axis/arrow.js +0 -79
- package/lib/axis/arrow.js.map +0 -1
- package/lib/axis/axes.js +0 -327
- package/lib/axis/axes.js.map +0 -1
- package/lib/axis/index.js +0 -21
- package/lib/axis/index.js.map +0 -1
- package/lib/bg.js +0 -111
- package/lib/bg.js.map +0 -1
- package/lib/container/actions.js +0 -18
- package/lib/container/actions.js.map +0 -1
- package/lib/container/index.js +0 -118
- package/lib/container/index.js.map +0 -1
- package/lib/container/marks.js +0 -22
- package/lib/container/marks.js.map +0 -1
- package/lib/container/middleware.js +0 -19
- package/lib/container/middleware.js.map +0 -1
- package/lib/container/reducer.js +0 -18
- package/lib/container/reducer.js.map +0 -1
- package/lib/coordinates-label.js +0 -79
- package/lib/coordinates-label.js.map +0 -1
- package/lib/graph-with-controls.js +0 -295
- package/lib/graph-with-controls.js.map +0 -1
- package/lib/graph.js +0 -314
- package/lib/graph.js.map +0 -1
- package/lib/grid-setup.js +0 -406
- package/lib/grid-setup.js.map +0 -1
- package/lib/grid.js +0 -131
- package/lib/grid.js.map +0 -1
- package/lib/index.js +0 -47
- package/lib/index.js.map +0 -1
- package/lib/key-legend.js +0 -201
- package/lib/key-legend.js.map +0 -1
- package/lib/label-svg-icon.js +0 -50
- package/lib/label-svg-icon.js.map +0 -1
- package/lib/labels.js +0 -243
- package/lib/labels.js.map +0 -1
- package/lib/mark-label.js +0 -278
- package/lib/mark-label.js.map +0 -1
- package/lib/toggle-bar.js +0 -248
- package/lib/toggle-bar.js.map +0 -1
- package/lib/tool-menu.js +0 -78
- package/lib/tool-menu.js.map +0 -1
- package/lib/tools/absolute/component.js +0 -29
- package/lib/tools/absolute/component.js.map +0 -1
- package/lib/tools/absolute/index.js +0 -50
- package/lib/tools/absolute/index.js.map +0 -1
- package/lib/tools/circle/bg-circle.js +0 -123
- package/lib/tools/circle/bg-circle.js.map +0 -1
- package/lib/tools/circle/component.js +0 -319
- package/lib/tools/circle/component.js.map +0 -1
- package/lib/tools/circle/index.js +0 -41
- package/lib/tools/circle/index.js.map +0 -1
- package/lib/tools/exponential/component.js +0 -28
- package/lib/tools/exponential/component.js.map +0 -1
- package/lib/tools/exponential/index.js +0 -56
- package/lib/tools/exponential/index.js.map +0 -1
- package/lib/tools/index.js +0 -86
- package/lib/tools/index.js.map +0 -1
- package/lib/tools/line/component.js +0 -82
- package/lib/tools/line/component.js.map +0 -1
- package/lib/tools/line/index.js +0 -11
- package/lib/tools/line/index.js.map +0 -1
- package/lib/tools/parabola/component.js +0 -28
- package/lib/tools/parabola/component.js.map +0 -1
- package/lib/tools/parabola/index.js +0 -50
- package/lib/tools/parabola/index.js.map +0 -1
- package/lib/tools/point/component.js +0 -139
- package/lib/tools/point/component.js.map +0 -1
- package/lib/tools/point/index.js +0 -24
- package/lib/tools/point/index.js.map +0 -1
- package/lib/tools/polygon/component.js +0 -417
- package/lib/tools/polygon/component.js.map +0 -1
- package/lib/tools/polygon/index.js +0 -89
- package/lib/tools/polygon/index.js.map +0 -1
- package/lib/tools/polygon/line.js +0 -114
- package/lib/tools/polygon/line.js.map +0 -1
- package/lib/tools/polygon/polygon.js +0 -132
- package/lib/tools/polygon/polygon.js.map +0 -1
- package/lib/tools/ray/component.js +0 -83
- package/lib/tools/ray/component.js.map +0 -1
- package/lib/tools/ray/index.js +0 -11
- package/lib/tools/ray/index.js.map +0 -1
- package/lib/tools/segment/component.js +0 -57
- package/lib/tools/segment/component.js.map +0 -1
- package/lib/tools/segment/index.js +0 -11
- package/lib/tools/segment/index.js.map +0 -1
- package/lib/tools/shared/arrow-head.js +0 -111
- package/lib/tools/shared/arrow-head.js.map +0 -1
- package/lib/tools/shared/icons/CorrectSVG.js +0 -40
- package/lib/tools/shared/icons/CorrectSVG.js.map +0 -1
- package/lib/tools/shared/icons/IncorrectSVG.js +0 -40
- package/lib/tools/shared/icons/IncorrectSVG.js.map +0 -1
- package/lib/tools/shared/icons/MissingSVG.js +0 -39
- package/lib/tools/shared/icons/MissingSVG.js.map +0 -1
- package/lib/tools/shared/line/index.js +0 -546
- package/lib/tools/shared/line/index.js.map +0 -1
- package/lib/tools/shared/line/line-path.js +0 -120
- package/lib/tools/shared/line/line-path.js.map +0 -1
- package/lib/tools/shared/line/with-root-edge.js +0 -121
- package/lib/tools/shared/line/with-root-edge.js.map +0 -1
- package/lib/tools/shared/point/arrow-point.js +0 -72
- package/lib/tools/shared/point/arrow-point.js.map +0 -1
- package/lib/tools/shared/point/arrow.js +0 -67
- package/lib/tools/shared/point/arrow.js.map +0 -1
- package/lib/tools/shared/point/base-point.js +0 -157
- package/lib/tools/shared/point/base-point.js.map +0 -1
- package/lib/tools/shared/point/index.js +0 -62
- package/lib/tools/shared/point/index.js.map +0 -1
- package/lib/tools/shared/styles.js +0 -30
- package/lib/tools/shared/styles.js.map +0 -1
- package/lib/tools/shared/types.js +0 -16
- package/lib/tools/shared/types.js.map +0 -1
- package/lib/tools/sine/component.js +0 -40
- package/lib/tools/sine/component.js.map +0 -1
- package/lib/tools/sine/index.js +0 -50
- package/lib/tools/sine/index.js.map +0 -1
- package/lib/tools/vector/component.js +0 -68
- package/lib/tools/vector/component.js.map +0 -1
- package/lib/tools/vector/index.js +0 -11
- package/lib/tools/vector/index.js.map +0 -1
- package/lib/undo-redo.js +0 -83
- package/lib/undo-redo.js.map +0 -1
- package/lib/use-debounce.js +0 -25
- package/lib/use-debounce.js.map +0 -1
- package/lib/utils.js +0 -230
- package/lib/utils.js.map +0 -1
package/lib/labels.js
DELETED
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.getTransform = exports["default"] = exports.Labels = exports.LabelType = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
11
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
|
-
var _styles = require("@mui/material/styles");
|
|
17
|
-
var _plot = require("@pie-lib/plot");
|
|
18
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
19
|
-
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
20
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
21
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
22
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
-
var rotations = {
|
|
25
|
-
left: -90,
|
|
26
|
-
top: 0,
|
|
27
|
-
bottom: 0,
|
|
28
|
-
right: 90
|
|
29
|
-
};
|
|
30
|
-
var getTransform = exports.getTransform = function getTransform(side, width, height) {
|
|
31
|
-
var t = function t(x, y, rotate) {
|
|
32
|
-
return "translate(".concat(x, ", ").concat(y, "), rotate(").concat(rotate, ")");
|
|
33
|
-
};
|
|
34
|
-
if (side === 'left') {
|
|
35
|
-
return t(-20, height / 2, rotations[side]);
|
|
36
|
-
}
|
|
37
|
-
if (side === 'right') {
|
|
38
|
-
return t(width + 30, height / 2, rotations[side]);
|
|
39
|
-
}
|
|
40
|
-
if (side === 'top') {
|
|
41
|
-
return t(width / 2, -20, rotations[side]);
|
|
42
|
-
}
|
|
43
|
-
if (side === 'bottom') {
|
|
44
|
-
return t(width / 2, height + 30, rotations[side]);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
var getY = function getY(side, height) {
|
|
48
|
-
switch (side) {
|
|
49
|
-
case 'left':
|
|
50
|
-
return -height;
|
|
51
|
-
case 'top':
|
|
52
|
-
return -height;
|
|
53
|
-
case 'right':
|
|
54
|
-
return -height - 10;
|
|
55
|
-
default:
|
|
56
|
-
return -height + 10;
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
var StyledEditableHtml = (0, _styles.styled)(_editableHtml["default"], {
|
|
60
|
-
shouldForwardProp: function shouldForwardProp(prop) {
|
|
61
|
-
return !['side', 'disabledLabel'].includes(prop);
|
|
62
|
-
}
|
|
63
|
-
})(function (_ref) {
|
|
64
|
-
var theme = _ref.theme,
|
|
65
|
-
side = _ref.side,
|
|
66
|
-
disabledLabel = _ref.disabledLabel;
|
|
67
|
-
return _objectSpread(_objectSpread({
|
|
68
|
-
fontSize: theme.typography.fontSize - 2,
|
|
69
|
-
textAlign: 'center',
|
|
70
|
-
padding: '0 4px'
|
|
71
|
-
}, side === 'bottom' && {
|
|
72
|
-
marginTop: '44px'
|
|
73
|
-
}), disabledLabel && {
|
|
74
|
-
pointerEvents: 'none'
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
var RawLabel = /*#__PURE__*/function (_React$Component) {
|
|
78
|
-
function RawLabel() {
|
|
79
|
-
(0, _classCallCheck2["default"])(this, RawLabel);
|
|
80
|
-
return _callSuper(this, RawLabel, arguments);
|
|
81
|
-
}
|
|
82
|
-
(0, _inherits2["default"])(RawLabel, _React$Component);
|
|
83
|
-
return (0, _createClass2["default"])(RawLabel, [{
|
|
84
|
-
key: "render",
|
|
85
|
-
value: function render() {
|
|
86
|
-
var _this$props = this.props,
|
|
87
|
-
disabledLabel = _this$props.disabledLabel,
|
|
88
|
-
placeholder = _this$props.placeholder,
|
|
89
|
-
text = _this$props.text,
|
|
90
|
-
side = _this$props.side,
|
|
91
|
-
graphProps = _this$props.graphProps,
|
|
92
|
-
onChange = _this$props.onChange,
|
|
93
|
-
_this$props$mathMlOpt = _this$props.mathMlOptions,
|
|
94
|
-
mathMlOptions = _this$props$mathMlOpt === void 0 ? {} : _this$props$mathMlOpt;
|
|
95
|
-
var size = graphProps.size,
|
|
96
|
-
domain = graphProps.domain,
|
|
97
|
-
range = graphProps.range;
|
|
98
|
-
var totalHeight = (size.height || 500) + (range.padding || 0) * 2;
|
|
99
|
-
var totalWidth = (size.width || 500) + (domain.padding || 0) * 2;
|
|
100
|
-
var transform = getTransform(side, totalWidth, totalHeight);
|
|
101
|
-
var width = side === 'left' || side === 'right' ? totalHeight : totalWidth;
|
|
102
|
-
var height = 36;
|
|
103
|
-
var y = getY(side, height);
|
|
104
|
-
var finalHeight = side === 'bottom' ? height + 22 : height + 18;
|
|
105
|
-
var activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math'
|
|
106
|
-
// 'languageCharacters'
|
|
107
|
-
];
|
|
108
|
-
return /*#__PURE__*/_react["default"].createElement("foreignObject", {
|
|
109
|
-
x: -(width / 2),
|
|
110
|
-
y: y,
|
|
111
|
-
width: width,
|
|
112
|
-
height: finalHeight,
|
|
113
|
-
transform: transform,
|
|
114
|
-
textAnchor: "middle"
|
|
115
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
|
|
116
|
-
"false": true
|
|
117
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledEditableHtml, {
|
|
118
|
-
side: side,
|
|
119
|
-
disabledLabel: disabledLabel,
|
|
120
|
-
markup: text || '',
|
|
121
|
-
onChange: onChange,
|
|
122
|
-
placeholder: !disabledLabel && placeholder,
|
|
123
|
-
toolbarOpts: {
|
|
124
|
-
position: side === 'bottom' ? 'top' : 'bottom',
|
|
125
|
-
noPadding: true,
|
|
126
|
-
noBorder: true
|
|
127
|
-
},
|
|
128
|
-
activePlugins: activePlugins,
|
|
129
|
-
mathMlOptions: mathMlOptions
|
|
130
|
-
})));
|
|
131
|
-
}
|
|
132
|
-
}]);
|
|
133
|
-
}(_react["default"].Component);
|
|
134
|
-
(0, _defineProperty2["default"])(RawLabel, "propTypes", {
|
|
135
|
-
text: _propTypes["default"].string,
|
|
136
|
-
side: _propTypes["default"].string,
|
|
137
|
-
disabledLabel: _propTypes["default"].bool,
|
|
138
|
-
placeholder: _propTypes["default"].string,
|
|
139
|
-
graphProps: _plot.types.GraphPropsType.isRequired,
|
|
140
|
-
onChange: _propTypes["default"].func,
|
|
141
|
-
mathMlOptions: _propTypes["default"].object
|
|
142
|
-
});
|
|
143
|
-
(0, _defineProperty2["default"])(RawLabel, "defaultProps", {
|
|
144
|
-
onChange: function onChange() {}
|
|
145
|
-
});
|
|
146
|
-
var Label = RawLabel;
|
|
147
|
-
var LabelType = exports.LabelType = {
|
|
148
|
-
left: _propTypes["default"].string,
|
|
149
|
-
top: _propTypes["default"].string,
|
|
150
|
-
bottom: _propTypes["default"].string,
|
|
151
|
-
right: _propTypes["default"].string
|
|
152
|
-
};
|
|
153
|
-
var Labels = exports.Labels = /*#__PURE__*/function (_React$Component2) {
|
|
154
|
-
function Labels() {
|
|
155
|
-
var _this;
|
|
156
|
-
(0, _classCallCheck2["default"])(this, Labels);
|
|
157
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
158
|
-
args[_key] = arguments[_key];
|
|
159
|
-
}
|
|
160
|
-
_this = _callSuper(this, Labels, [].concat(args));
|
|
161
|
-
(0, _defineProperty2["default"])(_this, "onChangeLabel", function (newValue, side) {
|
|
162
|
-
var _this$props2 = _this.props,
|
|
163
|
-
value = _this$props2.value,
|
|
164
|
-
onChange = _this$props2.onChange;
|
|
165
|
-
var labels = _objectSpread(_objectSpread({}, value), {}, (0, _defineProperty2["default"])({}, side, newValue));
|
|
166
|
-
onChange(labels);
|
|
167
|
-
});
|
|
168
|
-
return _this;
|
|
169
|
-
}
|
|
170
|
-
(0, _inherits2["default"])(Labels, _React$Component2);
|
|
171
|
-
return (0, _createClass2["default"])(Labels, [{
|
|
172
|
-
key: "render",
|
|
173
|
-
value: function render() {
|
|
174
|
-
var _this2 = this;
|
|
175
|
-
var _this$props3 = this.props,
|
|
176
|
-
disabledLabels = _this$props3.disabledLabels,
|
|
177
|
-
_this$props3$placehol = _this$props3.placeholders,
|
|
178
|
-
placeholders = _this$props3$placehol === void 0 ? {} : _this$props3$placehol,
|
|
179
|
-
_this$props3$value = _this$props3.value,
|
|
180
|
-
value = _this$props3$value === void 0 ? {} : _this$props3$value,
|
|
181
|
-
graphProps = _this$props3.graphProps,
|
|
182
|
-
_this$props3$mathMlOp = _this$props3.mathMlOptions,
|
|
183
|
-
mathMlOptions = _this$props3$mathMlOp === void 0 ? {} : _this$props3$mathMlOp;
|
|
184
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
185
|
-
key: "left",
|
|
186
|
-
side: "left",
|
|
187
|
-
text: value.left,
|
|
188
|
-
disabledLabel: disabledLabels,
|
|
189
|
-
placeholder: placeholders.left,
|
|
190
|
-
graphProps: graphProps,
|
|
191
|
-
onChange: function onChange(value) {
|
|
192
|
-
return _this2.onChangeLabel(value, 'left');
|
|
193
|
-
},
|
|
194
|
-
mathMlOptions: mathMlOptions
|
|
195
|
-
}), /*#__PURE__*/_react["default"].createElement(Label, {
|
|
196
|
-
key: "top",
|
|
197
|
-
side: "top",
|
|
198
|
-
text: value.top,
|
|
199
|
-
disabledLabel: disabledLabels,
|
|
200
|
-
placeholder: placeholders.top,
|
|
201
|
-
graphProps: graphProps,
|
|
202
|
-
onChange: function onChange(value) {
|
|
203
|
-
return _this2.onChangeLabel(value, 'top');
|
|
204
|
-
},
|
|
205
|
-
mathMlOptions: mathMlOptions
|
|
206
|
-
}), /*#__PURE__*/_react["default"].createElement(Label, {
|
|
207
|
-
key: "bottom",
|
|
208
|
-
side: "bottom",
|
|
209
|
-
text: value.bottom,
|
|
210
|
-
disabledLabel: disabledLabels,
|
|
211
|
-
placeholder: placeholders.bottom,
|
|
212
|
-
graphProps: graphProps,
|
|
213
|
-
onChange: function onChange(value) {
|
|
214
|
-
return _this2.onChangeLabel(value, 'bottom');
|
|
215
|
-
},
|
|
216
|
-
mathMlOptions: mathMlOptions
|
|
217
|
-
}), /*#__PURE__*/_react["default"].createElement(Label, {
|
|
218
|
-
key: "right",
|
|
219
|
-
side: "right",
|
|
220
|
-
text: value.right,
|
|
221
|
-
disabledLabel: disabledLabels,
|
|
222
|
-
placeholder: placeholders.right,
|
|
223
|
-
graphProps: graphProps,
|
|
224
|
-
onChange: function onChange(value) {
|
|
225
|
-
return _this2.onChangeLabel(value, 'right');
|
|
226
|
-
},
|
|
227
|
-
mathMlOptions: mathMlOptions
|
|
228
|
-
}));
|
|
229
|
-
}
|
|
230
|
-
}]);
|
|
231
|
-
}(_react["default"].Component);
|
|
232
|
-
(0, _defineProperty2["default"])(Labels, "propTypes", {
|
|
233
|
-
className: _propTypes["default"].string,
|
|
234
|
-
disabledLabels: _propTypes["default"].bool,
|
|
235
|
-
placeholders: _propTypes["default"].object,
|
|
236
|
-
value: _propTypes["default"].shape(LabelType),
|
|
237
|
-
graphProps: _propTypes["default"].object,
|
|
238
|
-
onChange: _propTypes["default"].object,
|
|
239
|
-
mathMlOptions: _propTypes["default"].object
|
|
240
|
-
});
|
|
241
|
-
(0, _defineProperty2["default"])(Labels, "defaultProps", {});
|
|
242
|
-
var _default = exports["default"] = Labels;
|
|
243
|
-
//# sourceMappingURL=labels.js.map
|
package/lib/labels.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_plot","_renderUi","_editableHtml","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","rotations","left","top","bottom","right","getTransform","exports","side","width","height","x","y","rotate","concat","getY","StyledEditableHtml","styled","EditableHtml","shouldForwardProp","prop","includes","_ref","theme","disabledLabel","fontSize","typography","textAlign","padding","marginTop","pointerEvents","RawLabel","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","render","_this$props","props","placeholder","text","graphProps","onChange","_this$props$mathMlOpt","mathMlOptions","size","domain","range","totalHeight","totalWidth","transform","finalHeight","activePlugins","createElement","textAnchor","Readable","markup","toolbarOpts","position","noPadding","noBorder","React","Component","PropTypes","string","bool","types","GraphPropsType","isRequired","func","object","Label","LabelType","Labels","_React$Component2","_this","_len","args","Array","_key","newValue","_this$props2","labels","_this2","_this$props3","disabledLabels","_this$props3$placehol","placeholders","_this$props3$value","_this$props3$mathMlOp","Fragment","onChangeLabel","className","shape","_default"],"sources":["../src/labels.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { types } from '@pie-lib/plot';\nimport { Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90,\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height;\n case 'right':\n return -height - 10;\n default:\n return -height + 10;\n }\n};\n\nconst StyledEditableHtml = styled(EditableHtml, {\n shouldForwardProp: (prop) => !['side', 'disabledLabel'].includes(prop),\n})(({ theme, side, disabledLabel }) => ({\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n padding: '0 4px',\n ...(side === 'bottom' && {\n marginTop: '44px',\n }),\n ...(disabledLabel && {\n pointerEvents: 'none',\n }),\n}));\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n disabledLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired,\n onChange: PropTypes.func,\n mathMlOptions: PropTypes.object,\n };\n\n static defaultProps = {\n onChange: () => {},\n };\n\n render() {\n const { disabledLabel, placeholder, text, side, graphProps, onChange, mathMlOptions = {} } = this.props;\n const { size, domain, range } = graphProps;\n const totalHeight = (size.height || 500) + (range.padding || 0) * 2;\n const totalWidth = (size.width || 500) + (domain.padding || 0) * 2;\n\n const transform = getTransform(side, totalWidth, totalHeight);\n const width = side === 'left' || side === 'right' ? totalHeight : totalWidth;\n const height = 36;\n const y = getY(side, height);\n const finalHeight = side === 'bottom' ? height + 22 : height + 18;\n\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={finalHeight}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <StyledEditableHtml\n side={side}\n disabledLabel={disabledLabel}\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noPadding: true,\n noBorder: true,\n }}\n activePlugins={activePlugins}\n mathMlOptions={mathMlOptions}\n />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = RawLabel;\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string,\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n disabledLabels: PropTypes.bool,\n placeholders: PropTypes.object,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object,\n onChange: PropTypes.object,\n mathMlOptions: PropTypes.object,\n };\n\n static defaultProps = {};\n\n onChangeLabel = (newValue, side) => {\n const { value, onChange } = this.props;\n const labels = {\n ...value,\n [side]: newValue,\n };\n\n onChange(labels);\n };\n\n render() {\n const { disabledLabels, placeholders = {}, value = {}, graphProps, mathMlOptions = {} } = this.props;\n\n return (\n <React.Fragment>\n <Label\n key=\"left\"\n side=\"left\"\n text={value.left}\n disabledLabel={disabledLabels}\n placeholder={placeholders.left}\n graphProps={graphProps}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n />\n <Label\n key=\"top\"\n side=\"top\"\n text={value.top}\n disabledLabel={disabledLabels}\n placeholder={placeholders.top}\n graphProps={graphProps}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n />\n <Label\n key=\"bottom\"\n side=\"bottom\"\n text={value.bottom}\n disabledLabel={disabledLabels}\n placeholder={placeholders.bottom}\n graphProps={graphProps}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n />\n <Label\n key=\"right\"\n side=\"right\"\n text={value.right}\n disabledLabel={disabledLabels}\n placeholder={placeholders.right}\n graphProps={graphProps}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n />\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/mark-label.js
DELETED
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.position = exports["default"] = exports.coordinates = exports.MarkLabel = void 0;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
var _styles = require("@mui/material/styles");
|
|
14
|
-
var _reactInputAutosize = _interopRequireDefault(require("react-input-autosize"));
|
|
15
|
-
var _useDebounce = require("./use-debounce");
|
|
16
|
-
var _plot = require("@pie-lib/plot");
|
|
17
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
18
|
-
var _labelSvgIcon = _interopRequireDefault(require("./label-svg-icon"));
|
|
19
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(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 (var _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); }
|
|
20
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
-
var StyledInputCorrect = (0, _styles.styled)('div')(function (_ref2) {
|
|
23
|
-
var theme = _ref2.theme;
|
|
24
|
-
return {
|
|
25
|
-
"float": 'right',
|
|
26
|
-
padding: theme.spacing(0.5),
|
|
27
|
-
borderRadius: '4px',
|
|
28
|
-
fontSize: '10px',
|
|
29
|
-
backgroundColor: _renderUi.color.defaults.WHITE,
|
|
30
|
-
color: _renderUi.color.defaults.CORRECT_WITH_ICON,
|
|
31
|
-
border: "solid 1px ".concat(_renderUi.color.defaults.CORRECT_WITH_ICON)
|
|
32
|
-
};
|
|
33
|
-
});
|
|
34
|
-
var StyledInputIncorrect = (0, _styles.styled)('div')(function (_ref3) {
|
|
35
|
-
var theme = _ref3.theme;
|
|
36
|
-
return {
|
|
37
|
-
"float": 'right',
|
|
38
|
-
padding: theme.spacing(0.5),
|
|
39
|
-
borderRadius: '4px',
|
|
40
|
-
fontSize: '10px',
|
|
41
|
-
backgroundColor: _renderUi.color.defaults.WHITE,
|
|
42
|
-
color: _renderUi.color.defaults.INCORRECT_WITH_ICON,
|
|
43
|
-
border: "solid 1px ".concat(_renderUi.color.defaults.INCORRECT_WITH_ICON)
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
var StyledInputMissing = (0, _styles.styled)('div')(function (_ref4) {
|
|
47
|
-
var theme = _ref4.theme;
|
|
48
|
-
return {
|
|
49
|
-
"float": 'right',
|
|
50
|
-
padding: theme.spacing(0.5),
|
|
51
|
-
borderRadius: '4px',
|
|
52
|
-
fontSize: '10px',
|
|
53
|
-
backgroundColor: _renderUi.color.defaults.WHITE,
|
|
54
|
-
color: _renderUi.color.defaults.MISSING_WITH_ICON,
|
|
55
|
-
border: "solid 1px ".concat(_renderUi.color.defaults.MISSING_WITH_ICON),
|
|
56
|
-
fontWeight: 'bold'
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
var StyledIncorrect = (0, _styles.styled)('div')(function () {
|
|
60
|
-
return {
|
|
61
|
-
"float": 'right',
|
|
62
|
-
padding: 0,
|
|
63
|
-
borderRadius: '4px',
|
|
64
|
-
fontSize: '10px',
|
|
65
|
-
backgroundColor: _renderUi.color.defaults.WHITE,
|
|
66
|
-
color: _renderUi.color.defaults.INCORRECT_WITH_ICON,
|
|
67
|
-
fontWeight: 'bold'
|
|
68
|
-
};
|
|
69
|
-
});
|
|
70
|
-
var getInputStyles = function getInputStyles(theme, disabled, markDisabled) {
|
|
71
|
-
return {
|
|
72
|
-
"float": 'right',
|
|
73
|
-
padding: theme.spacing(0.5),
|
|
74
|
-
fontFamily: theme.typography.fontFamily,
|
|
75
|
-
fontSize: '10px',
|
|
76
|
-
border: disabled ? "solid 1px ".concat(_renderUi.color.defaults.PRIMARY_DARK) : markDisabled ? "solid 1px ".concat(_renderUi.color.disabled()) : "solid 1px ".concat(_renderUi.color.defaults.SECONDARY),
|
|
77
|
-
borderRadius: '3px',
|
|
78
|
-
color: markDisabled ? _renderUi.color.disabled() : _renderUi.color.defaults.PRIMARY_DARK,
|
|
79
|
-
backgroundColor: _renderUi.color.defaults.WHITE,
|
|
80
|
-
WebkitOpacity: disabled ? '1' : undefined,
|
|
81
|
-
WebkitTextFillColor: markDisabled ? _renderUi.color.disabled() : undefined
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
var getStudentInputStyles = function getStudentInputStyles() {
|
|
85
|
-
return {
|
|
86
|
-
padding: '0',
|
|
87
|
-
border: 'none',
|
|
88
|
-
color: 'inherit',
|
|
89
|
-
fontWeight: 'bold'
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
var position = exports.position = function position(graphProps, mark) {
|
|
93
|
-
var rect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
94
|
-
width: 0,
|
|
95
|
-
height: 0
|
|
96
|
-
};
|
|
97
|
-
var scale = graphProps.scale,
|
|
98
|
-
domain = graphProps.domain,
|
|
99
|
-
range = graphProps.range;
|
|
100
|
-
var shift = 5;
|
|
101
|
-
var rightEdge = scale.x(mark.x) + rect.width + shift;
|
|
102
|
-
var bottomEdge = scale.y(mark.y) + rect.height + shift;
|
|
103
|
-
var h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';
|
|
104
|
-
var v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';
|
|
105
|
-
return "".concat(v, "-").concat(h);
|
|
106
|
-
};
|
|
107
|
-
var coordinates = exports.coordinates = function coordinates(graphProps, mark) {
|
|
108
|
-
var rect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
109
|
-
width: 0,
|
|
110
|
-
height: 0
|
|
111
|
-
};
|
|
112
|
-
var position = arguments.length > 3 ? arguments[3] : undefined;
|
|
113
|
-
var scale = graphProps.scale;
|
|
114
|
-
var shift = 5;
|
|
115
|
-
switch (position) {
|
|
116
|
-
case 'bottom-right':
|
|
117
|
-
return {
|
|
118
|
-
left: scale.x(mark.x) + shift,
|
|
119
|
-
top: scale.y(mark.y) + shift
|
|
120
|
-
};
|
|
121
|
-
case 'bottom-left':
|
|
122
|
-
return {
|
|
123
|
-
left: scale.x(mark.x) - shift - rect.width,
|
|
124
|
-
top: scale.y(mark.y) + shift
|
|
125
|
-
};
|
|
126
|
-
case 'top-left':
|
|
127
|
-
return {
|
|
128
|
-
left: scale.x(mark.x) - shift - rect.width,
|
|
129
|
-
top: scale.y(mark.y) - shift - rect.height
|
|
130
|
-
};
|
|
131
|
-
case 'top-right':
|
|
132
|
-
return {
|
|
133
|
-
left: scale.x(mark.x) + shift,
|
|
134
|
-
top: scale.y(mark.y) - shift - rect.height
|
|
135
|
-
};
|
|
136
|
-
default:
|
|
137
|
-
return {};
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
var LabelInput = function LabelInput(_ref5) {
|
|
141
|
-
var _ref = _ref5._ref,
|
|
142
|
-
externalInputRef = _ref5.externalInputRef,
|
|
143
|
-
label = _ref5.label,
|
|
144
|
-
disabled = _ref5.disabled,
|
|
145
|
-
inputStyle = _ref5.inputStyle,
|
|
146
|
-
onChange = _ref5.onChange;
|
|
147
|
-
return /*#__PURE__*/_react["default"].createElement(_reactInputAutosize["default"], {
|
|
148
|
-
inputRef: function inputRef(r) {
|
|
149
|
-
_ref(r);
|
|
150
|
-
externalInputRef(r);
|
|
151
|
-
},
|
|
152
|
-
disabled: disabled,
|
|
153
|
-
inputStyle: inputStyle,
|
|
154
|
-
value: label,
|
|
155
|
-
onChange: onChange
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
|
-
LabelInput.propTypes = {
|
|
159
|
-
_ref: _propTypes["default"].func,
|
|
160
|
-
externalInputRef: _propTypes["default"].func,
|
|
161
|
-
label: _propTypes["default"].string,
|
|
162
|
-
disabled: _propTypes["default"].bool,
|
|
163
|
-
inputStyle: _propTypes["default"].object,
|
|
164
|
-
onChange: _propTypes["default"].func
|
|
165
|
-
};
|
|
166
|
-
var MarkLabel = exports.MarkLabel = function MarkLabel(props) {
|
|
167
|
-
var _useState = (0, _react.useState)(null),
|
|
168
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
169
|
-
input = _useState2[0],
|
|
170
|
-
setInput = _useState2[1];
|
|
171
|
-
var _ref = (0, _react.useCallback)(function (node) {
|
|
172
|
-
return setInput(node);
|
|
173
|
-
});
|
|
174
|
-
var theme = (0, _styles.useTheme)();
|
|
175
|
-
var mark = props.mark,
|
|
176
|
-
graphProps = props.graphProps,
|
|
177
|
-
disabled = props.disabled,
|
|
178
|
-
externalInputRef = props.inputRef;
|
|
179
|
-
var _useState3 = (0, _react.useState)(mark.label),
|
|
180
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
181
|
-
label = _useState4[0],
|
|
182
|
-
setLabel = _useState4[1];
|
|
183
|
-
var correctness = mark.correctness,
|
|
184
|
-
correctnesslabel = mark.correctnesslabel,
|
|
185
|
-
correctlabel = mark.correctlabel;
|
|
186
|
-
var onChange = function onChange(e) {
|
|
187
|
-
return setLabel(e.target.value);
|
|
188
|
-
};
|
|
189
|
-
var debouncedLabel = (0, _useDebounce.useDebounce)(label, 200);
|
|
190
|
-
|
|
191
|
-
// useState only sets the value once, to synch props to state need useEffect
|
|
192
|
-
(0, _react.useEffect)(function () {
|
|
193
|
-
setLabel(mark.label);
|
|
194
|
-
}, [mark.label]);
|
|
195
|
-
|
|
196
|
-
// pick up the change to debouncedLabel and save it
|
|
197
|
-
(0, _react.useEffect)(function () {
|
|
198
|
-
if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {
|
|
199
|
-
props.onChange(debouncedLabel);
|
|
200
|
-
}
|
|
201
|
-
}, [debouncedLabel]);
|
|
202
|
-
var rect = input ? input.getBoundingClientRect() : {
|
|
203
|
-
width: 0,
|
|
204
|
-
height: 0
|
|
205
|
-
};
|
|
206
|
-
var pos = position(graphProps, mark, rect);
|
|
207
|
-
var leftTop = coordinates(graphProps, mark, rect, pos);
|
|
208
|
-
var style = _objectSpread({
|
|
209
|
-
position: 'fixed',
|
|
210
|
-
pointerEvents: 'auto',
|
|
211
|
-
display: 'flex',
|
|
212
|
-
alignItems: 'center',
|
|
213
|
-
gap: '3px'
|
|
214
|
-
}, leftTop);
|
|
215
|
-
var secondLabelStyle = _objectSpread(_objectSpread({}, style), {}, {
|
|
216
|
-
top: leftTop.top + 25
|
|
217
|
-
});
|
|
218
|
-
var disabledInput = disabled || mark.disabled;
|
|
219
|
-
var renderInput = function renderInput(inputStyle, labelValue) {
|
|
220
|
-
return /*#__PURE__*/_react["default"].createElement(LabelInput, {
|
|
221
|
-
_ref: _ref,
|
|
222
|
-
externalInputRef: externalInputRef,
|
|
223
|
-
label: labelValue,
|
|
224
|
-
disabled: disabledInput,
|
|
225
|
-
inputStyle: inputStyle,
|
|
226
|
-
onChange: onChange
|
|
227
|
-
});
|
|
228
|
-
};
|
|
229
|
-
var studentInputStyle = getStudentInputStyles();
|
|
230
|
-
if (correctness === 'correct' && correctnesslabel === 'correct' && correctlabel) {
|
|
231
|
-
return /*#__PURE__*/_react["default"].createElement(StyledInputCorrect, {
|
|
232
|
-
style: style
|
|
233
|
-
}, /*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
|
|
234
|
-
type: "correct"
|
|
235
|
-
}), renderInput(studentInputStyle, correctlabel));
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
// avoid rendering empty label when a correct point without label was provided
|
|
239
|
-
if (correctness === 'correct' && correctnesslabel === 'correct' && !correctlabel) {
|
|
240
|
-
return null;
|
|
241
|
-
}
|
|
242
|
-
if (correctness === 'correct' && correctnesslabel === 'incorrect') {
|
|
243
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledInputIncorrect, {
|
|
244
|
-
style: style
|
|
245
|
-
}, /*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
|
|
246
|
-
type: "incorrect"
|
|
247
|
-
}), label === '' ? /*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
|
|
248
|
-
type: "empty",
|
|
249
|
-
style: {
|
|
250
|
-
marginLeft: '3px'
|
|
251
|
-
}
|
|
252
|
-
}) : renderInput(studentInputStyle, label)), /*#__PURE__*/_react["default"].createElement(StyledInputMissing, {
|
|
253
|
-
style: secondLabelStyle
|
|
254
|
-
}, renderInput(studentInputStyle, correctlabel)));
|
|
255
|
-
}
|
|
256
|
-
if (correctness === 'missing') {
|
|
257
|
-
return /*#__PURE__*/_react["default"].createElement(StyledInputMissing, {
|
|
258
|
-
style: style
|
|
259
|
-
}, renderInput(studentInputStyle, label));
|
|
260
|
-
}
|
|
261
|
-
if (correctness === 'incorrect') {
|
|
262
|
-
return /*#__PURE__*/_react["default"].createElement(StyledIncorrect, {
|
|
263
|
-
style: style
|
|
264
|
-
}, renderInput(studentInputStyle, label));
|
|
265
|
-
}
|
|
266
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
267
|
-
style: style
|
|
268
|
-
}, renderInput(getInputStyles(theme, disabled, mark.disabled), label));
|
|
269
|
-
};
|
|
270
|
-
MarkLabel.propTypes = {
|
|
271
|
-
disabled: _propTypes["default"].bool,
|
|
272
|
-
onChange: _propTypes["default"].func,
|
|
273
|
-
graphProps: _plot.types.GraphPropsType,
|
|
274
|
-
inputRef: _propTypes["default"].func,
|
|
275
|
-
mark: _propTypes["default"].object
|
|
276
|
-
};
|
|
277
|
-
var _default = exports["default"] = MarkLabel;
|
|
278
|
-
//# sourceMappingURL=mark-label.js.map
|
package/lib/mark-label.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mark-label.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_reactInputAutosize","_useDebounce","_plot","_renderUi","_labelSvgIcon","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledInputCorrect","styled","_ref2","theme","padding","spacing","borderRadius","fontSize","backgroundColor","color","defaults","WHITE","CORRECT_WITH_ICON","border","concat","StyledInputIncorrect","_ref3","INCORRECT_WITH_ICON","StyledInputMissing","_ref4","MISSING_WITH_ICON","fontWeight","StyledIncorrect","getInputStyles","disabled","markDisabled","fontFamily","typography","PRIMARY_DARK","SECONDARY","WebkitOpacity","undefined","WebkitTextFillColor","getStudentInputStyles","position","exports","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","LabelInput","_ref5","_ref","externalInputRef","label","inputStyle","onChange","createElement","inputRef","value","propTypes","PropTypes","func","string","bool","object","MarkLabel","props","_useState","useState","_useState2","_slicedToArray2","input","setInput","useCallback","node","useTheme","_useState3","_useState4","setLabel","correctness","correctnesslabel","correctlabel","target","debouncedLabel","useDebounce","useEffect","getBoundingClientRect","pos","leftTop","style","pointerEvents","display","alignItems","gap","secondLabelStyle","disabledInput","renderInput","labelValue","studentInputStyle","type","Fragment","marginLeft","types","GraphPropsType","_default"],"sources":["../src/mark-label.jsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { styled, useTheme } from '@mui/material/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport { useDebounce } from './use-debounce';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport SvgIcon from './label-svg-icon';\n\nconst StyledInputCorrect = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.CORRECT_WITH_ICON,\n border: `solid 1px ${color.defaults.CORRECT_WITH_ICON}`,\n}));\n\nconst StyledInputIncorrect = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.INCORRECT_WITH_ICON,\n border: `solid 1px ${color.defaults.INCORRECT_WITH_ICON}`,\n}));\n\nconst StyledInputMissing = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.MISSING_WITH_ICON,\n border: `solid 1px ${color.defaults.MISSING_WITH_ICON}`,\n fontWeight: 'bold',\n}));\n\nconst StyledIncorrect = styled('div')(() => ({\n float: 'right',\n padding: 0,\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.INCORRECT_WITH_ICON,\n fontWeight: 'bold',\n}));\n\nconst getInputStyles = (theme, disabled, markDisabled) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n fontFamily: theme.typography.fontFamily,\n fontSize: '10px',\n border: disabled \n ? `solid 1px ${color.defaults.PRIMARY_DARK}`\n : markDisabled \n ? `solid 1px ${color.disabled()}`\n : `solid 1px ${color.defaults.SECONDARY}`,\n borderRadius: '3px',\n color: markDisabled ? color.disabled() : color.defaults.PRIMARY_DARK,\n backgroundColor: color.defaults.WHITE,\n WebkitOpacity: disabled ? '1' : undefined,\n WebkitTextFillColor: markDisabled ? color.disabled() : undefined,\n});\n\nconst getStudentInputStyles = () => ({\n padding: '0',\n border: 'none',\n color: 'inherit',\n fontWeight: 'bold',\n});\n\nexport const position = (graphProps, mark, rect = { width: 0, height: 0 }) => {\n const { scale, domain, range } = graphProps;\n const shift = 5;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect = { width: 0, height: 0 }, position) => {\n const { scale } = graphProps;\n const shift = 5;\n\n switch (position) {\n case 'bottom-right':\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n case 'bottom-left':\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n case 'top-left':\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) - shift - rect.height };\n case 'top-right':\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) - shift - rect.height };\n default:\n return {};\n }\n};\n\nconst LabelInput = ({ _ref, externalInputRef, label, disabled, inputStyle, onChange }) => (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabled}\n inputStyle={inputStyle}\n value={label}\n onChange={onChange}\n />\n);\n\nLabelInput.propTypes = {\n _ref: PropTypes.func,\n externalInputRef: PropTypes.func,\n label: PropTypes.string,\n disabled: PropTypes.bool,\n inputStyle: PropTypes.object,\n onChange: PropTypes.func,\n};\n\nexport const MarkLabel = (props) => {\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node));\n const theme = useTheme();\n\n const { mark, graphProps, disabled, inputRef: externalInputRef } = props;\n\n const [label, setLabel] = useState(mark.label);\n const { correctness, correctnesslabel, correctlabel } = mark;\n const onChange = (e) => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'fixed',\n pointerEvents: 'auto',\n display: 'flex',\n alignItems: 'center',\n gap: '3px',\n ...leftTop,\n };\n\n const secondLabelStyle = {\n ...style,\n top: leftTop.top + 25,\n };\n\n const disabledInput = disabled || mark.disabled;\n\n const renderInput = (inputStyle, labelValue) => (\n <LabelInput\n _ref={_ref}\n externalInputRef={externalInputRef}\n label={labelValue}\n disabled={disabledInput}\n inputStyle={inputStyle}\n onChange={onChange}\n />\n );\n\n const studentInputStyle = getStudentInputStyles();\n\n if (correctness === 'correct' && correctnesslabel === 'correct' && correctlabel) {\n return (\n <StyledInputCorrect style={style}>\n <SvgIcon type=\"correct\" />\n {renderInput(studentInputStyle, correctlabel)}\n </StyledInputCorrect>\n );\n }\n\n // avoid rendering empty label when a correct point without label was provided\n if (correctness === 'correct' && correctnesslabel === 'correct' && !correctlabel) {\n return null;\n }\n\n if (correctness === 'correct' && correctnesslabel === 'incorrect') {\n return (\n <>\n <StyledInputIncorrect style={style}>\n <SvgIcon type=\"incorrect\" />\n {label === '' ? (\n <SvgIcon type=\"empty\" style={{ marginLeft: '3px' }} />\n ) : (\n renderInput(studentInputStyle, label)\n )}\n </StyledInputIncorrect>\n <StyledInputMissing style={secondLabelStyle}>\n {renderInput(studentInputStyle, correctlabel)}\n </StyledInputMissing>\n </>\n );\n }\n\n if (correctness === 'missing') {\n return (\n <StyledInputMissing style={style}>\n {renderInput(studentInputStyle, label)}\n </StyledInputMissing>\n );\n }\n\n if (correctness === 'incorrect') {\n return (\n <StyledIncorrect style={style}>\n {renderInput(studentInputStyle, label)}\n </StyledIncorrect>\n );\n }\n\n return (\n <div style={style}>\n {renderInput(\n getInputStyles(theme, disabled, mark.disabled),\n label,\n )}\n </div>\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n};\n\nexport default MarkLabel;\n"],"mappings":"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","ignoreList":[]}
|