@pie-lib/charting 5.36.3-next.2 → 5.36.3-next.203
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 +24 -87
- package/lib/actions-button.js +60 -90
- package/lib/actions-button.js.map +1 -1
- package/lib/axes.js +162 -238
- package/lib/axes.js.map +1 -1
- package/lib/bars/bar.js +13 -41
- package/lib/bars/bar.js.map +1 -1
- package/lib/bars/common/bars.js +61 -137
- package/lib/bars/common/bars.js.map +1 -1
- package/lib/bars/common/correct-check-icon.js +5 -6
- package/lib/bars/common/correct-check-icon.js.map +1 -1
- package/lib/bars/histogram.js +13 -41
- package/lib/bars/histogram.js.map +1 -1
- package/lib/chart-setup.js +119 -195
- package/lib/chart-setup.js.map +1 -1
- package/lib/chart-type.js +52 -43
- package/lib/chart-type.js.map +1 -1
- package/lib/chart-types.js +1 -10
- package/lib/chart-types.js.map +1 -1
- package/lib/chart.js +73 -151
- package/lib/chart.js.map +1 -1
- package/lib/common/correctness-indicators.js +109 -52
- package/lib/common/correctness-indicators.js.map +1 -1
- package/lib/common/drag-handle.js +65 -108
- package/lib/common/drag-handle.js.map +1 -1
- package/lib/common/drag-icon.js +12 -12
- package/lib/common/drag-icon.js.map +1 -1
- package/lib/common/styles.js +6 -24
- package/lib/common/styles.js.map +1 -1
- package/lib/grid.js +43 -83
- package/lib/grid.js.map +1 -1
- package/lib/index.js +0 -6
- package/lib/index.js.map +1 -1
- package/lib/key-legend.js +63 -87
- package/lib/key-legend.js.map +1 -1
- package/lib/line/common/drag-handle.js +72 -100
- package/lib/line/common/drag-handle.js.map +1 -1
- package/lib/line/common/line.js +50 -96
- package/lib/line/common/line.js.map +1 -1
- package/lib/line/line-cross.js +79 -89
- package/lib/line/line-cross.js.map +1 -1
- package/lib/line/line-dot.js +58 -76
- package/lib/line/line-dot.js.map +1 -1
- package/lib/mark-label.js +84 -119
- package/lib/mark-label.js.map +1 -1
- package/lib/plot/common/plot.js +90 -148
- package/lib/plot/common/plot.js.map +1 -1
- package/lib/plot/dot.js +32 -58
- package/lib/plot/dot.js.map +1 -1
- package/lib/plot/line.js +39 -64
- package/lib/plot/line.js.map +1 -1
- package/lib/tool-menu.js +47 -83
- package/lib/tool-menu.js.map +1 -1
- package/lib/utils.js +31 -86
- package/lib/utils.js.map +1 -1
- package/package.json +22 -24
- package/src/__tests__/axes.test.jsx +85 -100
- package/src/__tests__/chart-type.test.jsx +5 -11
- package/src/__tests__/chart.test.jsx +41 -50
- package/src/__tests__/grid.test.jsx +23 -11
- package/src/__tests__/mark-label.test.jsx +13 -11
- package/src/__tests__/utils.js +8 -2
- package/src/actions-button.jsx +44 -39
- package/src/axes.jsx +67 -81
- package/src/bars/__tests__/bar.test.jsx +19 -11
- package/src/bars/__tests__/histogram.test.jsx +19 -12
- package/src/bars/common/__tests__/bars.test.jsx +23 -24
- package/src/bars/common/bars.jsx +42 -69
- package/src/bars/common/correct-check-icon.jsx +5 -0
- package/src/chart-setup.jsx +75 -88
- package/src/chart-type.js +45 -22
- package/src/chart.jsx +19 -34
- package/src/common/__tests__/drag-handle.test.jsx +16 -45
- package/src/common/correctness-indicators.jsx +91 -13
- package/src/common/drag-handle.jsx +44 -64
- package/src/common/drag-icon.jsx +9 -2
- package/src/common/styles.js +1 -1
- package/src/grid.jsx +10 -14
- package/src/key-legend.jsx +62 -60
- package/src/line/__tests__/line-cross.test.jsx +16 -13
- package/src/line/__tests__/line-dot.test.jsx +16 -13
- package/src/line/__tests__/utils.js +8 -2
- package/src/line/common/__tests__/drag-handle.test.jsx +20 -45
- package/src/line/common/__tests__/line.test.jsx +27 -30
- package/src/line/common/drag-handle.jsx +61 -55
- package/src/line/common/line.jsx +21 -11
- package/src/line/line-cross.js +39 -14
- package/src/line/line-dot.js +27 -32
- package/src/mark-label.jsx +51 -47
- package/src/plot/__tests__/dot.test.jsx +19 -12
- package/src/plot/__tests__/line.test.jsx +19 -12
- package/src/plot/common/__tests__/plot.test.jsx +23 -24
- package/src/plot/common/plot.jsx +29 -24
- package/src/plot/dot.js +11 -4
- package/src/plot/line.js +16 -8
- package/src/tool-menu.jsx +26 -30
- package/src/utils.js +13 -9
- package/esm/index.css +0 -847
- package/esm/index.js +0 -231130
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -3
- package/src/__tests__/__snapshots__/axes.test.jsx.snap +0 -569
- package/src/__tests__/__snapshots__/chart-type.test.jsx.snap +0 -14
- package/src/__tests__/__snapshots__/chart.test.jsx.snap +0 -595
- package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -72
- package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -73
- package/src/bars/__tests__/__snapshots__/bar.test.jsx.snap +0 -43
- package/src/bars/__tests__/__snapshots__/histogram.test.jsx.snap +0 -45
- package/src/bars/common/__tests__/__snapshots__/bars.test.jsx.snap +0 -110
- package/src/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -48
- package/src/line/__tests__/__snapshots__/line-cross.test.jsx.snap +0 -45
- package/src/line/__tests__/__snapshots__/line-dot.test.jsx.snap +0 -45
- package/src/line/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -49
- package/src/line/common/__tests__/__snapshots__/line.test.jsx.snap +0 -143
- package/src/plot/__tests__/__snapshots__/dot.test.jsx.snap +0 -45
- package/src/plot/__tests__/__snapshots__/line.test.jsx.snap +0 -45
- package/src/plot/common/__tests__/__snapshots__/plot.test.jsx.snap +0 -97
package/lib/mark-label.js
CHANGED
|
@@ -1,204 +1,172 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = exports.MarkLabel = void 0;
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
-
|
|
20
|
-
var _styles = require("@material-ui/core/styles");
|
|
21
|
-
|
|
13
|
+
var _styles = require("@mui/material/styles");
|
|
22
14
|
var _reactInputAutosize = _interopRequireDefault(require("react-input-autosize"));
|
|
23
|
-
|
|
24
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
16
|
var _plot = require("@pie-lib/plot");
|
|
27
|
-
|
|
28
17
|
var _styles2 = require("./common/styles");
|
|
29
|
-
|
|
30
18
|
var _renderUi = require("@pie-lib/render-ui");
|
|
31
|
-
|
|
32
19
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
20
|
+
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); }
|
|
21
|
+
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; }
|
|
22
|
+
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; }
|
|
23
|
+
var StyledContainer = (0, _styles.styled)('div')({
|
|
24
|
+
display: 'flex',
|
|
25
|
+
flexDirection: 'column',
|
|
26
|
+
alignItems: 'center'
|
|
27
|
+
});
|
|
33
28
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
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; }
|
|
39
|
-
|
|
40
|
-
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; }
|
|
41
|
-
|
|
42
|
-
var styles = function styles(theme) {
|
|
29
|
+
// eslint-disable-next-line no-unused-vars
|
|
30
|
+
var StyledInput = (0, _styles.styled)('input')(function (_ref2) {
|
|
31
|
+
var theme = _ref2.theme;
|
|
43
32
|
return {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
'
|
|
52
|
-
backgroundColor: 'transparent !important'
|
|
53
|
-
},
|
|
54
|
-
'&.error': {
|
|
55
|
-
border: "2px solid ".concat(theme.palette.error.main)
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
mathInput: {
|
|
59
|
-
pointerEvents: 'auto',
|
|
60
|
-
textAlign: 'center',
|
|
61
|
-
fontSize: theme.typography.fontSize + 2,
|
|
62
|
-
fontFamily: theme.typography.fontFamily,
|
|
63
|
-
color: _renderUi.color.primaryDark(),
|
|
64
|
-
paddingTop: theme.typography.fontSize / 2
|
|
33
|
+
"float": 'right',
|
|
34
|
+
fontFamily: theme.typography.fontFamily,
|
|
35
|
+
fontSize: theme.typography.fontSize,
|
|
36
|
+
border: 'none',
|
|
37
|
+
'&.correct': (0, _styles2.correct)('color'),
|
|
38
|
+
'&.incorrect': (0, _styles2.incorrect)('color'),
|
|
39
|
+
'&.disabled': {
|
|
40
|
+
backgroundColor: 'transparent !important'
|
|
65
41
|
},
|
|
66
|
-
|
|
42
|
+
'&.error': {
|
|
43
|
+
border: "2px solid ".concat(theme.palette.error.main)
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
var StyledMathInput = (0, _styles.styled)('div')(function (_ref3) {
|
|
48
|
+
var theme = _ref3.theme;
|
|
49
|
+
return {
|
|
50
|
+
pointerEvents: 'auto',
|
|
51
|
+
textAlign: 'center',
|
|
52
|
+
fontSize: theme.typography.fontSize + 2,
|
|
53
|
+
fontFamily: theme.typography.fontFamily,
|
|
54
|
+
color: _renderUi.color.primaryDark(),
|
|
55
|
+
paddingTop: theme.typography.fontSize / 2,
|
|
56
|
+
'&.disabled': _objectSpread(_objectSpread({}, (0, _styles2.disabled)('color')), {}, {
|
|
67
57
|
backgroundColor: 'transparent !important'
|
|
68
58
|
}),
|
|
69
|
-
error: {
|
|
59
|
+
'&.error': {
|
|
70
60
|
border: "2px solid ".concat(theme.palette.error.main)
|
|
71
61
|
},
|
|
72
|
-
correct: _objectSpread({}, (0, _styles2.correct)('color')),
|
|
73
|
-
incorrect: _objectSpread({}, (0, _styles2.incorrect)('color'))
|
|
74
|
-
flexContainer: {
|
|
75
|
-
display: 'flex',
|
|
76
|
-
flexDirection: 'column',
|
|
77
|
-
alignItems: 'center'
|
|
78
|
-
}
|
|
62
|
+
'&.correct': _objectSpread({}, (0, _styles2.correct)('color')),
|
|
63
|
+
'&.incorrect': _objectSpread({}, (0, _styles2.incorrect)('color'))
|
|
79
64
|
};
|
|
80
|
-
};
|
|
81
|
-
|
|
65
|
+
});
|
|
82
66
|
function isFractionFormat(label) {
|
|
83
67
|
var trimmedLabel = (label === null || label === void 0 ? void 0 : label.trim()) || '';
|
|
84
68
|
var fracRegex = new RegExp(/^[1-9]*[0-9]*\s?[1-9][0-9]*\/[1-9][0-9]*$/);
|
|
85
69
|
return fracRegex.test(trimmedLabel);
|
|
86
70
|
}
|
|
87
|
-
|
|
88
71
|
function getLabelMathFormat(label) {
|
|
89
72
|
var trimmedLabel = (label === null || label === void 0 ? void 0 : label.trim()) || '';
|
|
90
73
|
var fraction;
|
|
91
74
|
var mixedNr = '';
|
|
92
75
|
var improperFraction = trimmedLabel.split(' ');
|
|
93
|
-
|
|
94
76
|
if (improperFraction[1] && improperFraction[1].includes('/')) {
|
|
95
77
|
fraction = improperFraction[1].split('/') || '';
|
|
96
78
|
} else {
|
|
97
79
|
fraction = (trimmedLabel === null || trimmedLabel === void 0 ? void 0 : trimmedLabel.split('/')) || '';
|
|
98
80
|
}
|
|
99
|
-
|
|
100
81
|
var formattedLLabel;
|
|
101
|
-
|
|
102
82
|
if (isFractionFormat(label)) {
|
|
103
83
|
if (improperFraction[0] && improperFraction[1]) {
|
|
104
84
|
mixedNr = improperFraction[0];
|
|
105
85
|
}
|
|
106
|
-
|
|
107
86
|
formattedLLabel = "\\(".concat(mixedNr, "\\frac{").concat(fraction[0], "}{").concat(fraction[1], "}\\)");
|
|
108
87
|
return formattedLLabel;
|
|
109
88
|
}
|
|
110
|
-
|
|
111
89
|
return undefined;
|
|
112
90
|
}
|
|
113
|
-
|
|
114
|
-
var MarkLabel = function MarkLabel(props) {
|
|
115
|
-
var _classNames;
|
|
116
|
-
|
|
91
|
+
var MarkLabel = exports.MarkLabel = function MarkLabel(props) {
|
|
117
92
|
// eslint-disable-next-line no-unused-vars
|
|
118
93
|
var _useState = (0, _react.useState)(null),
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
94
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
95
|
+
input = _useState2[0],
|
|
96
|
+
setInput = _useState2[1];
|
|
123
97
|
var _ref = (0, _react.useCallback)(function (node) {
|
|
124
98
|
return setInput(node);
|
|
125
99
|
}, null);
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
correctnessIndicator = props.correctnessIndicator;
|
|
139
|
-
|
|
100
|
+
var _props$mark = props.mark,
|
|
101
|
+
mark = _props$mark === void 0 ? {} : _props$mark,
|
|
102
|
+
disabled = props.disabled,
|
|
103
|
+
externalInputRef = props.inputRef,
|
|
104
|
+
barWidth = props.barWidth,
|
|
105
|
+
rotate = props.rotate,
|
|
106
|
+
correctness = props.correctness,
|
|
107
|
+
autoFocus = props.autoFocus,
|
|
108
|
+
error = props.error,
|
|
109
|
+
isHiddenLabel = props.isHiddenLabel,
|
|
110
|
+
limitCharacters = props.limitCharacters,
|
|
111
|
+
correctnessIndicator = props.correctnessIndicator;
|
|
140
112
|
var _useState3 = (0, _react.useState)(mark.label),
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
113
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
114
|
+
label = _useState4[0],
|
|
115
|
+
setLabel = _useState4[1];
|
|
145
116
|
var _useState5 = (0, _react.useState)(getLabelMathFormat(mark.label)),
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
117
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
118
|
+
mathLabel = _useState6[0],
|
|
119
|
+
setMathLabel = _useState6[1];
|
|
150
120
|
var _useState7 = (0, _react.useState)(false),
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
121
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
122
|
+
isEditing = _useState8[0],
|
|
123
|
+
setIsEditing = _useState8[1];
|
|
155
124
|
var root = (0, _react.useRef)(null);
|
|
156
|
-
|
|
157
125
|
var onChange = function onChange(e) {
|
|
158
126
|
if (limitCharacters && e.target.value && e.target.value.length > 20) {
|
|
159
127
|
return;
|
|
160
128
|
}
|
|
161
|
-
|
|
162
129
|
setLabel(e.target.value);
|
|
163
130
|
};
|
|
164
|
-
|
|
165
131
|
var isMathRendering = function isMathRendering() {
|
|
166
132
|
return isEditing === false && mathLabel !== undefined;
|
|
167
133
|
};
|
|
168
|
-
|
|
169
134
|
var onChangeProp = function onChangeProp(e) {
|
|
170
135
|
setMathLabel(getLabelMathFormat(mark.label));
|
|
171
136
|
setIsEditing(false);
|
|
172
137
|
props.onChange(e.target.value);
|
|
173
138
|
};
|
|
174
|
-
|
|
175
139
|
var extraStyle = {};
|
|
176
|
-
|
|
177
140
|
if (rotate) {
|
|
178
141
|
extraStyle = {
|
|
179
142
|
width: 'unset',
|
|
180
143
|
textAlign: 'left'
|
|
181
144
|
};
|
|
182
|
-
}
|
|
183
|
-
|
|
145
|
+
}
|
|
184
146
|
|
|
147
|
+
// useState only sets the value once, to synch props to state need useEffect
|
|
185
148
|
(0, _react.useEffect)(function () {
|
|
186
149
|
setLabel(mark.label);
|
|
187
150
|
}, [mark.label]);
|
|
188
151
|
(0, _react.useEffect)(function () {
|
|
189
152
|
(0, _mathRendering.renderMath)(root);
|
|
190
153
|
}, []);
|
|
191
|
-
return /*#__PURE__*/_react["default"].createElement("
|
|
192
|
-
className: classes.flexContainer
|
|
193
|
-
}, correctnessIndicator, isMathRendering() ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
154
|
+
return /*#__PURE__*/_react["default"].createElement(StyledContainer, null, correctnessIndicator, isMathRendering() ? /*#__PURE__*/_react["default"].createElement(StyledMathInput, {
|
|
194
155
|
ref: function ref(r) {
|
|
195
156
|
root = r;
|
|
196
|
-
externalInputRef
|
|
157
|
+
if (typeof externalInputRef === 'function') {
|
|
158
|
+
externalInputRef(r);
|
|
159
|
+
}
|
|
197
160
|
},
|
|
198
161
|
dangerouslySetInnerHTML: {
|
|
199
162
|
__html: getLabelMathFormat(label)
|
|
200
163
|
},
|
|
201
|
-
className: (0, _classnames["default"])(
|
|
164
|
+
className: (0, _classnames["default"])({
|
|
165
|
+
disabled: disabled,
|
|
166
|
+
error: error,
|
|
167
|
+
correct: mark.editable && (correctness === null || correctness === void 0 ? void 0 : correctness.label) === 'correct',
|
|
168
|
+
incorrect: mark.editable && (correctness === null || correctness === void 0 ? void 0 : correctness.label) === 'incorrect'
|
|
169
|
+
}),
|
|
202
170
|
onClick: function onClick() {
|
|
203
171
|
return setIsEditing(true);
|
|
204
172
|
},
|
|
@@ -213,19 +181,22 @@ var MarkLabel = function MarkLabel(props) {
|
|
|
213
181
|
}) : /*#__PURE__*/_react["default"].createElement(_reactInputAutosize["default"], {
|
|
214
182
|
inputRef: function inputRef(r) {
|
|
215
183
|
_ref(r);
|
|
216
|
-
|
|
217
|
-
|
|
184
|
+
if (typeof externalInputRef === 'function') {
|
|
185
|
+
externalInputRef(r);
|
|
186
|
+
}
|
|
218
187
|
},
|
|
188
|
+
name: "mark-label-input",
|
|
219
189
|
autoFocus: isEditing || autoFocus,
|
|
220
190
|
disabled: disabled,
|
|
221
|
-
inputClassName: (0, _classnames["default"])(
|
|
191
|
+
inputClassName: (0, _classnames["default"])(correctness && mark.editable ? correctness.label : null, disabled && 'disabled', error && 'error'),
|
|
222
192
|
inputStyle: _objectSpread({
|
|
223
193
|
minWidth: barWidth,
|
|
224
194
|
textAlign: 'center',
|
|
225
195
|
background: 'transparent',
|
|
226
196
|
boxSizing: 'border-box',
|
|
227
197
|
paddingLeft: 0,
|
|
228
|
-
paddingRight: 0
|
|
198
|
+
paddingRight: 0,
|
|
199
|
+
border: 'none'
|
|
229
200
|
}, extraStyle),
|
|
230
201
|
value: label,
|
|
231
202
|
style: {
|
|
@@ -243,15 +214,12 @@ var MarkLabel = function MarkLabel(props) {
|
|
|
243
214
|
onBlur: onChangeProp
|
|
244
215
|
}));
|
|
245
216
|
};
|
|
246
|
-
|
|
247
|
-
exports.MarkLabel = MarkLabel;
|
|
248
217
|
MarkLabel.propTypes = {
|
|
249
218
|
autoFocus: _propTypes["default"].bool,
|
|
250
219
|
disabled: _propTypes["default"].bool,
|
|
251
220
|
error: _propTypes["default"].any,
|
|
252
221
|
onChange: _propTypes["default"].func,
|
|
253
222
|
graphProps: _plot.types.GraphPropsType,
|
|
254
|
-
classes: _propTypes["default"].object,
|
|
255
223
|
inputRef: _propTypes["default"].func,
|
|
256
224
|
mark: _propTypes["default"].object,
|
|
257
225
|
barWidth: _propTypes["default"].number,
|
|
@@ -264,8 +232,5 @@ MarkLabel.propTypes = {
|
|
|
264
232
|
limitCharacters: _propTypes["default"].bool,
|
|
265
233
|
correctnessIndicator: _propTypes["default"].node
|
|
266
234
|
};
|
|
267
|
-
|
|
268
|
-
var _default = (0, _styles.withStyles)(styles)(MarkLabel);
|
|
269
|
-
|
|
270
|
-
exports["default"] = _default;
|
|
235
|
+
var _default = exports["default"] = MarkLabel;
|
|
271
236
|
//# sourceMappingURL=mark-label.js.map
|
package/lib/mark-label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","fontFamily","typography","fontSize","border","backgroundColor","palette","error","main","mathInput","pointerEvents","textAlign","color","primaryDark","paddingTop","disabled","correct","incorrect","flexContainer","display","flexDirection","alignItems","isFractionFormat","label","trimmedLabel","trim","fracRegex","RegExp","test","getLabelMathFormat","fraction","mixedNr","improperFraction","split","includes","formattedLLabel","undefined","MarkLabel","props","setInput","_ref","node","mark","classes","externalInputRef","inputRef","barWidth","rotate","correctness","autoFocus","isHiddenLabel","limitCharacters","correctnessIndicator","setLabel","mathLabel","setMathLabel","isEditing","setIsEditing","root","onChange","e","target","value","length","isMathRendering","onChangeProp","extraStyle","width","r","__html","editable","minWidth","position","transformOrigin","transform","visibility","marginTop","background","boxSizing","paddingLeft","paddingRight","top","left","propTypes","PropTypes","bool","any","func","graphProps","types","GraphPropsType","object","number","shape","string"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,KAAK,EAAE;AACL,eAAO,OADF;AAELC,MAAAA,UAAU,EAAEF,KAAK,CAACG,UAAN,CAAiBD,UAFxB;AAGLE,MAAAA,QAAQ,EAAEJ,KAAK,CAACG,UAAN,CAAiBC,QAHtB;AAILC,MAAAA,MAAM,EAAE,MAJH;AAKL,mBAAa,sBAAQ,OAAR,CALR;AAML,qBAAe,wBAAU,OAAV,CANV;AAOL,oBAAc;AACZC,QAAAA,eAAe,EAAE;AADL,OAPT;AAUL,iBAAW;AAAED,QAAAA,MAAM,sBAAeL,KAAK,CAACO,OAAN,CAAcC,KAAd,CAAoBC,IAAnC;AAAR;AAVN,KADkB;AAazBC,IAAAA,SAAS,EAAE;AACTC,MAAAA,aAAa,EAAE,MADN;AAETC,MAAAA,SAAS,EAAE,QAFF;AAGTR,MAAAA,QAAQ,EAAEJ,KAAK,CAACG,UAAN,CAAiBC,QAAjB,GAA4B,CAH7B;AAITF,MAAAA,UAAU,EAAEF,KAAK,CAACG,UAAN,CAAiBD,UAJpB;AAKTW,MAAAA,KAAK,EAAEA,gBAAMC,WAAN,EALE;AAMTC,MAAAA,UAAU,EAAEf,KAAK,CAACG,UAAN,CAAiBC,QAAjB,GAA4B;AAN/B,KAbc;AAqBzBY,IAAAA,QAAQ,kCACH,uBAAS,OAAT,CADG;AAENV,MAAAA,eAAe,EAAE;AAFX,MArBiB;AAyBzBE,IAAAA,KAAK,EAAE;AACLH,MAAAA,MAAM,sBAAeL,KAAK,CAACO,OAAN,CAAcC,KAAd,CAAoBC,IAAnC;AADD,KAzBkB;AA4BzBQ,IAAAA,OAAO,oBACF,sBAAQ,OAAR,CADE,CA5BkB;AA+BzBC,IAAAA,SAAS,oBACJ,wBAAU,OAAV,CADI,CA/BgB;AAkCzBC,IAAAA,aAAa,EAAE;AACbC,MAAAA,OAAO,EAAE,MADI;AAEbC,MAAAA,aAAa,EAAE,QAFF;AAGbC,MAAAA,UAAU,EAAE;AAHC;AAlCU,GAAZ;AAAA,CAAf;;AAyCA,SAASC,gBAAT,CAA0BC,KAA1B,EAAiC;AAC/B,MAAMC,YAAY,GAAG,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEE,IAAP,OAAiB,EAAtC;AACA,MAAMC,SAAS,GAAG,IAAIC,MAAJ,CAAW,2CAAX,CAAlB;AACA,SAAOD,SAAS,CAACE,IAAV,CAAeJ,YAAf,CAAP;AACD;;AAED,SAASK,kBAAT,CAA4BN,KAA5B,EAAmC;AACjC,MAAMC,YAAY,GAAG,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEE,IAAP,OAAiB,EAAtC;AACA,MAAIK,QAAJ;AACA,MAAIC,OAAO,GAAG,EAAd;AACA,MAAIC,gBAAgB,GAAGR,YAAY,CAACS,KAAb,CAAmB,GAAnB,CAAvB;;AACA,MAAID,gBAAgB,CAAC,CAAD,CAAhB,IAAuBA,gBAAgB,CAAC,CAAD,CAAhB,CAAoBE,QAApB,CAA6B,GAA7B,CAA3B,EAA8D;AAC5DJ,IAAAA,QAAQ,GAAGE,gBAAgB,CAAC,CAAD,CAAhB,CAAoBC,KAApB,CAA0B,GAA1B,KAAkC,EAA7C;AACD,GAFD,MAEO;AACLH,IAAAA,QAAQ,GAAG,CAAAN,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAES,KAAd,CAAoB,GAApB,MAA4B,EAAvC;AACD;;AAED,MAAIE,eAAJ;;AACA,MAAIb,gBAAgB,CAACC,KAAD,CAApB,EAA6B;AAC3B,QAAIS,gBAAgB,CAAC,CAAD,CAAhB,IAAuBA,gBAAgB,CAAC,CAAD,CAA3C,EAAgD;AAC9CD,MAAAA,OAAO,GAAGC,gBAAgB,CAAC,CAAD,CAA1B;AACD;;AACDG,IAAAA,eAAe,gBAASJ,OAAT,oBAA0BD,QAAQ,CAAC,CAAD,CAAlC,eAA0CA,QAAQ,CAAC,CAAD,CAAlD,SAAf;AACA,WAAOK,eAAP;AACD;;AACD,SAAOC,SAAP;AACD;;AAEM,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAAW;AAAA;;AAClC;AACA,kBAA0B,qBAAS,IAAT,CAA1B;AAAA;AAAA,MAAOtC,KAAP;AAAA,MAAcuC,QAAd;;AACA,MAAMC,IAAI,GAAG,wBAAY,UAACC,IAAD;AAAA,WAAUF,QAAQ,CAACE,IAAD,CAAlB;AAAA,GAAZ,EAAsC,IAAtC,CAAb;;AAEA,MACEC,IADF,GAaIJ,KAbJ,CACEI,IADF;AAAA,MAEEC,OAFF,GAaIL,KAbJ,CAEEK,OAFF;AAAA,MAGE5B,QAHF,GAaIuB,KAbJ,CAGEvB,QAHF;AAAA,MAIY6B,gBAJZ,GAaIN,KAbJ,CAIEO,QAJF;AAAA,MAKEC,QALF,GAaIR,KAbJ,CAKEQ,QALF;AAAA,MAMEC,MANF,GAaIT,KAbJ,CAMES,MANF;AAAA,MAOEC,WAPF,GAaIV,KAbJ,CAOEU,WAPF;AAAA,MAQEC,SARF,GAaIX,KAbJ,CAQEW,SARF;AAAA,MASE1C,KATF,GAaI+B,KAbJ,CASE/B,KATF;AAAA,MAUE2C,aAVF,GAaIZ,KAbJ,CAUEY,aAVF;AAAA,MAWEC,eAXF,GAaIb,KAbJ,CAWEa,eAXF;AAAA,MAYEC,oBAZF,GAaId,KAbJ,CAYEc,oBAZF;;AAeA,mBAA0B,qBAASV,IAAI,CAACnB,KAAd,CAA1B;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAc8B,QAAd;;AACA,mBAAkC,qBAASxB,kBAAkB,CAACa,IAAI,CAACnB,KAAN,CAA3B,CAAlC;AAAA;AAAA,MAAO+B,SAAP;AAAA,MAAkBC,YAAlB;;AACA,mBAAkC,qBAAS,KAAT,CAAlC;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,MAAIC,IAAI,GAAG,mBAAO,IAAP,CAAX;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,CAAD,EAAO;AACtB,QAAIT,eAAe,IAAIS,CAAC,CAACC,MAAF,CAASC,KAA5B,IAAqCF,CAAC,CAACC,MAAF,CAASC,KAAT,CAAeC,MAAf,GAAwB,EAAjE,EAAqE;AACnE;AACD;;AAEDV,IAAAA,QAAQ,CAACO,CAAC,CAACC,MAAF,CAASC,KAAV,CAAR;AACD,GAND;;AAQA,MAAME,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,WAAOR,SAAS,KAAK,KAAd,IAAuBF,SAAS,KAAKlB,SAA5C;AACD,GAFD;;AAIA,MAAM6B,YAAY,GAAG,SAAfA,YAAe,CAACL,CAAD,EAAO;AAC1BL,IAAAA,YAAY,CAAC1B,kBAAkB,CAACa,IAAI,CAACnB,KAAN,CAAnB,CAAZ;AACAkC,IAAAA,YAAY,CAAC,KAAD,CAAZ;AACAnB,IAAAA,KAAK,CAACqB,QAAN,CAAeC,CAAC,CAACC,MAAF,CAASC,KAAxB;AACD,GAJD;;AAKA,MAAII,UAAU,GAAG,EAAjB;;AAEA,MAAInB,MAAJ,EAAY;AACVmB,IAAAA,UAAU,GAAG;AACXC,MAAAA,KAAK,EAAE,OADI;AAEXxD,MAAAA,SAAS,EAAE;AAFA,KAAb;AAID,GAjDiC,CAmDlC;;;AACA,wBAAU,YAAM;AACd0C,IAAAA,QAAQ,CAACX,IAAI,CAACnB,KAAN,CAAR;AACD,GAFD,EAEG,CAACmB,IAAI,CAACnB,KAAN,CAFH;AAIA,wBAAU,YAAM;AACd,mCAAWmC,IAAX;AACD,GAFD,EAEG,EAFH;AAIA,sBACE;AAAK,IAAA,SAAS,EAAEf,OAAO,CAACzB;AAAxB,KACGkC,oBADH,EAEGY,eAAe,kBACd;AACE,IAAA,GAAG,EAAE,aAACI,CAAD,EAAO;AACVV,MAAAA,IAAI,GAAGU,CAAP;AACAxB,MAAAA,gBAAgB,CAACwB,CAAD,CAAhB;AACD,KAJH;AAKE,IAAA,uBAAuB,EAAE;AAAEC,MAAAA,MAAM,EAAExC,kBAAkB,CAACN,KAAD;AAA5B,KAL3B;AAME,IAAA,SAAS,EAAE,4BAAWoB,OAAO,CAAClC,SAAnB,mEACRkC,OAAO,CAAC5B,QADA,EACWA,QADX,iDAER4B,OAAO,CAACpC,KAFA,EAEQA,KAFR,iDAGRoC,OAAO,CAAC3B,OAHA,EAGU0B,IAAI,CAAC4B,QAAL,IAAiB,CAAAtB,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEzB,KAAb,MAAuB,SAHlD,iDAIRoB,OAAO,CAAC1B,SAJA,EAIYyB,IAAI,CAAC4B,QAAL,IAAiB,CAAAtB,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEzB,KAAb,MAAuB,WAJpD,gBANb;AAYE,IAAA,OAAO,EAAE;AAAA,aAAMkC,YAAY,CAAC,IAAD,CAAlB;AAAA,KAZX;AAaE,IAAA,KAAK,EAAE;AACLc,MAAAA,QAAQ,EAAEzB,QADL;AAEL0B,MAAAA,QAAQ,EAAE,OAFL;AAGLC,MAAAA,eAAe,EAAE,MAHZ;AAILC,MAAAA,SAAS,mBAAY3B,MAAZ,SAJJ;AAKL4B,MAAAA,UAAU,EAAEzB,aAAa,GAAG,QAAH,GAAc,OALlC;AAML0B,MAAAA,SAAS,EAAExB,oBAAoB,GAAG,MAAH,GAAY;AANtC;AAbT,IADc,gBAwBd,gCAAC,8BAAD;AACE,IAAA,QAAQ,EAAE,kBAACgB,CAAD,EAAO;AACf5B,MAAAA,IAAI,CAAC4B,CAAD,CAAJ;;AACAxB,MAAAA,gBAAgB,CAACwB,CAAD,CAAhB;AACD,KAJH;AAKE,IAAA,SAAS,EAAEZ,SAAS,IAAIP,SAL1B;AAME,IAAA,QAAQ,EAAElC,QANZ;AAOE,IAAA,cAAc,EAAE,4BACd4B,OAAO,CAAC3C,KADM,EAEdgD,WAAW,IAAIN,IAAI,CAAC4B,QAApB,GAA+BtB,WAAW,CAACzB,KAA3C,GAAmD,IAFrC,EAGdR,QAAQ,IAAI,UAHE,EAIdR,KAAK,IAAI,OAJK,CAPlB;AAaE,IAAA,UAAU;AACRgE,MAAAA,QAAQ,EAAEzB,QADF;AAERnC,MAAAA,SAAS,EAAE,QAFH;AAGRkE,MAAAA,UAAU,EAAE,aAHJ;AAIRC,MAAAA,SAAS,EAAE,YAJH;AAKRC,MAAAA,WAAW,EAAE,CALL;AAMRC,MAAAA,YAAY,EAAE;AANN,OAOLd,UAPK,CAbZ;AAsBE,IAAA,KAAK,EAAE3C,KAtBT;AAuBE,IAAA,KAAK,EAAE;AACLiD,MAAAA,QAAQ,EAAE,OADL;AAEL9D,MAAAA,aAAa,EAAE,MAFV;AAGLuE,MAAAA,GAAG,EAAE,CAHA;AAILC,MAAAA,IAAI,EAAE,CAJD;AAKLX,MAAAA,QAAQ,EAAEzB,QALL;AAML2B,MAAAA,eAAe,EAAE,MANZ;AAOLC,MAAAA,SAAS,mBAAY3B,MAAZ,SAPJ;AAQL4B,MAAAA,UAAU,EAAEzB,aAAa,GAAG,QAAH,GAAc,OARlC;AASL0B,MAAAA,SAAS,EAAExB,oBAAoB,GAAG,MAAH,GAAY;AATtC,KAvBT;AAkCE,IAAA,QAAQ,EAAEO,QAlCZ;AAmCE,IAAA,MAAM,EAAEM;AAnCV,IA1BJ,CADF;AAmED,CA/HM;;;AAiIP5B,SAAS,CAAC8C,SAAV,GAAsB;AACpBlC,EAAAA,SAAS,EAAEmC,sBAAUC,IADD;AAEpBtE,EAAAA,QAAQ,EAAEqE,sBAAUC,IAFA;AAGpB9E,EAAAA,KAAK,EAAE6E,sBAAUE,GAHG;AAIpB3B,EAAAA,QAAQ,EAAEyB,sBAAUG,IAJA;AAKpBC,EAAAA,UAAU,EAAEC,YAAMC,cALE;AAMpB/C,EAAAA,OAAO,EAAEyC,sBAAUO,MANC;AAOpB9C,EAAAA,QAAQ,EAAEuC,sBAAUG,IAPA;AAQpB7C,EAAAA,IAAI,EAAE0C,sBAAUO,MARI;AASpB7C,EAAAA,QAAQ,EAAEsC,sBAAUQ,MATA;AAUpB7C,EAAAA,MAAM,EAAEqC,sBAAUQ,MAVE;AAWpB5C,EAAAA,WAAW,EAAEoC,sBAAUS,KAAV,CAAgB;AAC3B/B,IAAAA,KAAK,EAAEsB,sBAAUU,MADU;AAE3BvE,IAAAA,KAAK,EAAE6D,sBAAUU;AAFU,GAAhB,CAXO;AAepB5C,EAAAA,aAAa,EAAEkC,sBAAUC,IAfL;AAgBpBlC,EAAAA,eAAe,EAAEiC,sBAAUC,IAhBP;AAiBpBjC,EAAAA,oBAAoB,EAAEgC,sBAAU3C;AAjBZ,CAAtB;;eAoBe,wBAAW3C,MAAX,EAAmBuC,SAAnB,C","sourcesContent":["import React, { useState, useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\n\nimport { types } from '@pie-lib/plot';\nimport { correct, incorrect, disabled } from './common/styles';\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst styles = (theme) => ({\n input: {\n float: 'right',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: 'none',\n '&.correct': correct('color'),\n '&.incorrect': incorrect('color'),\n '&.disabled': {\n backgroundColor: 'transparent !important',\n },\n '&.error': { border: `2px solid ${theme.palette.error.main}` },\n },\n mathInput: {\n pointerEvents: 'auto',\n textAlign: 'center',\n fontSize: theme.typography.fontSize + 2,\n fontFamily: theme.typography.fontFamily,\n color: color.primaryDark(),\n paddingTop: theme.typography.fontSize / 2,\n },\n disabled: {\n ...disabled('color'),\n backgroundColor: 'transparent !important',\n },\n error: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n correct: {\n ...correct('color'),\n },\n incorrect: {\n ...incorrect('color'),\n },\n flexContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n});\n\nfunction isFractionFormat(label) {\n const trimmedLabel = label?.trim() || '';\n const fracRegex = new RegExp(/^[1-9]*[0-9]*\\s?[1-9][0-9]*\\/[1-9][0-9]*$/);\n return fracRegex.test(trimmedLabel);\n}\n\nfunction getLabelMathFormat(label) {\n const trimmedLabel = label?.trim() || '';\n let fraction;\n let mixedNr = '';\n let improperFraction = trimmedLabel.split(' ');\n if (improperFraction[1] && improperFraction[1].includes('/')) {\n fraction = improperFraction[1].split('/') || '';\n } else {\n fraction = trimmedLabel?.split('/') || '';\n }\n\n let formattedLLabel;\n if (isFractionFormat(label)) {\n if (improperFraction[0] && improperFraction[1]) {\n mixedNr = improperFraction[0];\n }\n formattedLLabel = `\\\\(${mixedNr}\\\\frac{${fraction[0]}}{${fraction[1]}}\\\\)`;\n return formattedLLabel;\n }\n return undefined;\n}\n\nexport const MarkLabel = (props) => {\n // eslint-disable-next-line no-unused-vars\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node), null);\n\n const {\n mark,\n classes,\n disabled,\n inputRef: externalInputRef,\n barWidth,\n rotate,\n correctness,\n autoFocus,\n error,\n isHiddenLabel,\n limitCharacters,\n correctnessIndicator,\n } = props;\n\n const [label, setLabel] = useState(mark.label);\n const [mathLabel, setMathLabel] = useState(getLabelMathFormat(mark.label));\n const [isEditing, setIsEditing] = useState(false);\n let root = useRef(null);\n\n const onChange = (e) => {\n if (limitCharacters && e.target.value && e.target.value.length > 20) {\n return;\n }\n\n setLabel(e.target.value);\n };\n\n const isMathRendering = () => {\n return isEditing === false && mathLabel !== undefined;\n };\n\n const onChangeProp = (e) => {\n setMathLabel(getLabelMathFormat(mark.label));\n setIsEditing(false);\n props.onChange(e.target.value);\n };\n let extraStyle = {};\n\n if (rotate) {\n extraStyle = {\n width: 'unset',\n textAlign: 'left',\n };\n }\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 useEffect(() => {\n renderMath(root);\n }, []);\n\n return (\n <div className={classes.flexContainer}>\n {correctnessIndicator}\n {isMathRendering() ? (\n <div\n ref={(r) => {\n root = r;\n externalInputRef(r);\n }}\n dangerouslySetInnerHTML={{ __html: getLabelMathFormat(label) }}\n className={classNames(classes.mathInput, {\n [classes.disabled]: disabled,\n [classes.error]: error,\n [classes.correct]: mark.editable && correctness?.label === 'correct',\n [classes.incorrect]: mark.editable && correctness?.label === 'incorrect',\n })}\n onClick={() => setIsEditing(true)}\n style={{\n minWidth: barWidth,\n position: 'fixed',\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`,\n visibility: isHiddenLabel ? 'hidden' : 'unset',\n marginTop: correctnessIndicator ? '24px' : '0',\n }}\n ></div>\n ) : (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n autoFocus={isEditing || autoFocus}\n disabled={disabled}\n inputClassName={classNames(\n classes.input,\n correctness && mark.editable ? correctness.label : null,\n disabled && 'disabled',\n error && 'error',\n )}\n inputStyle={{\n minWidth: barWidth,\n textAlign: 'center',\n background: 'transparent',\n boxSizing: 'border-box',\n paddingLeft: 0,\n paddingRight: 0,\n ...extraStyle,\n }}\n value={label}\n style={{\n position: 'fixed',\n pointerEvents: 'auto',\n top: 0,\n left: 0,\n minWidth: barWidth,\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`,\n visibility: isHiddenLabel ? 'hidden' : 'unset',\n marginTop: correctnessIndicator ? '24px' : '0',\n }}\n onChange={onChange}\n onBlur={onChangeProp}\n />\n )}\n </div>\n );\n};\n\nMarkLabel.propTypes = {\n autoFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.any,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n isHiddenLabel: PropTypes.bool,\n limitCharacters: PropTypes.bool,\n correctnessIndicator: PropTypes.node,\n};\n\nexport default withStyles(styles)(MarkLabel);\n"],"file":"mark-label.js"}
|
|
1
|
+
{"version":3,"file":"mark-label.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_styles","_reactInputAutosize","_propTypes","_plot","_styles2","_renderUi","_mathRendering","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","StyledContainer","styled","display","flexDirection","alignItems","StyledInput","_ref2","theme","fontFamily","typography","fontSize","border","correct","incorrect","backgroundColor","concat","palette","error","main","StyledMathInput","_ref3","pointerEvents","textAlign","color","primaryDark","paddingTop","disabled","isFractionFormat","label","trimmedLabel","trim","fracRegex","RegExp","test","getLabelMathFormat","fraction","mixedNr","improperFraction","split","includes","formattedLLabel","undefined","MarkLabel","exports","props","_useState","useState","_useState2","_slicedToArray2","input","setInput","_ref","useCallback","node","_props$mark","mark","externalInputRef","inputRef","barWidth","rotate","correctness","autoFocus","isHiddenLabel","limitCharacters","correctnessIndicator","_useState3","_useState4","setLabel","_useState5","_useState6","mathLabel","setMathLabel","_useState7","_useState8","isEditing","setIsEditing","root","useRef","onChange","target","value","isMathRendering","onChangeProp","extraStyle","width","useEffect","renderMath","createElement","ref","dangerouslySetInnerHTML","__html","className","classNames","editable","onClick","style","minWidth","position","transformOrigin","transform","visibility","marginTop","name","inputClassName","inputStyle","background","boxSizing","paddingLeft","paddingRight","top","left","onBlur","propTypes","PropTypes","bool","any","func","graphProps","types","GraphPropsType","object","number","shape","string","_default"],"sources":["../src/mark-label.jsx"],"sourcesContent":["import React, { useState, useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { styled } from '@mui/material/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\n\nimport { types } from '@pie-lib/plot';\nimport { correct, incorrect, disabled } from './common/styles';\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst StyledContainer = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n});\n\n// eslint-disable-next-line no-unused-vars\nconst StyledInput = styled('input')(({ theme }) => ({\n float: 'right',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: 'none',\n '&.correct': correct('color'),\n '&.incorrect': incorrect('color'),\n '&.disabled': {\n backgroundColor: 'transparent !important',\n },\n '&.error': { border: `2px solid ${theme.palette.error.main}` },\n}));\n\nconst StyledMathInput = styled('div')(({ theme }) => ({\n pointerEvents: 'auto',\n textAlign: 'center',\n fontSize: theme.typography.fontSize + 2,\n fontFamily: theme.typography.fontFamily,\n color: color.primaryDark(),\n paddingTop: theme.typography.fontSize / 2,\n '&.disabled': {\n ...disabled('color'),\n backgroundColor: 'transparent !important',\n },\n '&.error': {\n border: `2px solid ${theme.palette.error.main}`,\n },\n '&.correct': {\n ...correct('color'),\n },\n '&.incorrect': {\n ...incorrect('color'),\n },\n}));\n\nfunction isFractionFormat(label) {\n const trimmedLabel = label?.trim() || '';\n const fracRegex = new RegExp(/^[1-9]*[0-9]*\\s?[1-9][0-9]*\\/[1-9][0-9]*$/);\n return fracRegex.test(trimmedLabel);\n}\n\nfunction getLabelMathFormat(label) {\n const trimmedLabel = label?.trim() || '';\n let fraction;\n let mixedNr = '';\n let improperFraction = trimmedLabel.split(' ');\n if (improperFraction[1] && improperFraction[1].includes('/')) {\n fraction = improperFraction[1].split('/') || '';\n } else {\n fraction = trimmedLabel?.split('/') || '';\n }\n\n let formattedLLabel;\n if (isFractionFormat(label)) {\n if (improperFraction[0] && improperFraction[1]) {\n mixedNr = improperFraction[0];\n }\n formattedLLabel = `\\\\(${mixedNr}\\\\frac{${fraction[0]}}{${fraction[1]}}\\\\)`;\n return formattedLLabel;\n }\n return undefined;\n}\n\nexport const MarkLabel = (props) => {\n // eslint-disable-next-line no-unused-vars\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node), null);\n\n const {\n mark = {},\n disabled,\n inputRef: externalInputRef,\n barWidth,\n rotate,\n correctness,\n autoFocus,\n error,\n isHiddenLabel,\n limitCharacters,\n correctnessIndicator,\n } = props;\n\n const [label, setLabel] = useState(mark.label);\n const [mathLabel, setMathLabel] = useState(getLabelMathFormat(mark.label));\n const [isEditing, setIsEditing] = useState(false);\n let root = useRef(null);\n\n const onChange = (e) => {\n if (limitCharacters && e.target.value && e.target.value.length > 20) {\n return;\n }\n\n setLabel(e.target.value);\n };\n\n const isMathRendering = () => {\n return isEditing === false && mathLabel !== undefined;\n };\n\n const onChangeProp = (e) => {\n setMathLabel(getLabelMathFormat(mark.label));\n setIsEditing(false);\n props.onChange(e.target.value);\n };\n let extraStyle = {};\n\n if (rotate) {\n extraStyle = {\n width: 'unset',\n textAlign: 'left',\n };\n }\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 useEffect(() => {\n renderMath(root);\n }, []);\n\n return (\n <StyledContainer>\n {correctnessIndicator}\n {isMathRendering() ? (\n <StyledMathInput\n ref={(r) => {\n root = r;\n if (typeof externalInputRef === 'function') {\n externalInputRef(r);\n }\n }}\n dangerouslySetInnerHTML={{ __html: getLabelMathFormat(label) }}\n className={classNames({\n disabled: disabled,\n error: error,\n correct: mark.editable && correctness?.label === 'correct',\n incorrect: mark.editable && correctness?.label === 'incorrect',\n })}\n onClick={() => setIsEditing(true)}\n style={{\n minWidth: barWidth,\n position: 'fixed',\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`,\n visibility: isHiddenLabel ? 'hidden' : 'unset',\n marginTop: correctnessIndicator ? '24px' : '0',\n }}\n ></StyledMathInput>\n ) : (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n if (typeof externalInputRef === 'function') {\n externalInputRef(r);\n }\n }}\n name='mark-label-input'\n autoFocus={isEditing || autoFocus}\n disabled={disabled}\n inputClassName={classNames(\n correctness && mark.editable ? correctness.label : null,\n disabled && 'disabled',\n error && 'error',\n )}\n inputStyle={{\n minWidth: barWidth,\n textAlign: 'center',\n background: 'transparent',\n boxSizing: 'border-box',\n paddingLeft: 0,\n paddingRight: 0,\n border: 'none',\n ...extraStyle,\n }}\n value={label}\n style={{\n position: 'fixed',\n pointerEvents: 'auto',\n top: 0,\n left: 0,\n minWidth: barWidth,\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`,\n visibility: isHiddenLabel ? 'hidden' : 'unset',\n marginTop: correctnessIndicator ? '24px' : '0',\n }}\n onChange={onChange}\n onBlur={onChangeProp}\n />\n )}\n </StyledContainer>\n );\n};\n\nMarkLabel.propTypes = {\n autoFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.any,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n isHiddenLabel: PropTypes.bool,\n limitCharacters: PropTypes.bool,\n correctnessIndicator: PropTypes.node,\n};\n\nexport default MarkLabel;\n"],"mappings":"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","ignoreList":[]}
|