@pie-lib/math-input 6.31.2-next.11 → 6.31.2-next.164
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 +6 -64
- package/lib/horizontal-keypad.js +16 -44
- package/lib/horizontal-keypad.js.map +1 -1
- package/lib/index.js +3 -25
- package/lib/index.js.map +1 -1
- package/lib/keypad/index.js +254 -332
- package/lib/keypad/index.js.map +1 -1
- package/lib/keypad/keys-layout.js +2 -12
- package/lib/keypad/keys-layout.js.map +1 -1
- package/lib/keys/basic-operators.js +5 -13
- package/lib/keys/basic-operators.js.map +1 -1
- package/lib/keys/chars.js +5 -10
- package/lib/keys/chars.js.map +1 -1
- package/lib/keys/comparison.js +6 -16
- package/lib/keys/comparison.js.map +1 -1
- package/lib/keys/constants.js +4 -10
- package/lib/keys/constants.js.map +1 -1
- package/lib/keys/digits.js +1 -7
- package/lib/keys/digits.js.map +1 -1
- package/lib/keys/edit.js +1 -4
- package/lib/keys/edit.js.map +1 -1
- package/lib/keys/exponent.js +4 -10
- package/lib/keys/exponent.js.map +1 -1
- package/lib/keys/fractions.js +3 -8
- package/lib/keys/fractions.js.map +1 -1
- package/lib/keys/geometry.js +25 -54
- package/lib/keys/geometry.js.map +1 -1
- package/lib/keys/grades.js +10 -46
- package/lib/keys/grades.js.map +1 -1
- package/lib/keys/index.js +13 -32
- package/lib/keys/index.js.map +1 -1
- package/lib/keys/log.js +3 -8
- package/lib/keys/log.js.map +1 -1
- package/lib/keys/logic.js +2 -6
- package/lib/keys/logic.js.map +1 -1
- package/lib/keys/matrices.js +2 -6
- package/lib/keys/matrices.js.map +1 -1
- package/lib/keys/misc.js +10 -22
- package/lib/keys/misc.js.map +1 -1
- package/lib/keys/navigation.js +2 -7
- package/lib/keys/navigation.js.map +1 -1
- package/lib/keys/operators.js +1 -4
- package/lib/keys/operators.js.map +1 -1
- package/lib/keys/statistics.js +5 -12
- package/lib/keys/statistics.js.map +1 -1
- package/lib/keys/sub-sup.js +2 -6
- package/lib/keys/sub-sup.js.map +1 -1
- package/lib/keys/trigonometry.js +6 -14
- package/lib/keys/trigonometry.js.map +1 -1
- package/lib/keys/utils.js +7 -40
- package/lib/keys/utils.js.map +1 -1
- package/lib/keys/vars.js +3 -8
- package/lib/keys/vars.js.map +1 -1
- package/lib/math-input.js +52 -103
- package/lib/math-input.js.map +1 -1
- package/lib/mq/common-mq-styles.js +7 -18
- package/lib/mq/common-mq-styles.js.map +1 -1
- package/lib/mq/custom-elements.js +1 -4
- package/lib/mq/custom-elements.js.map +1 -1
- package/lib/mq/index.js +0 -4
- package/lib/mq/index.js.map +1 -1
- package/lib/mq/input.js +22 -75
- package/lib/mq/input.js.map +1 -1
- package/lib/mq/static.js +34 -92
- package/lib/mq/static.js.map +1 -1
- package/lib/shared/constants.js +3 -6
- package/lib/updateSpans.js +1 -5
- package/lib/updateSpans.js.map +1 -1
- package/package.json +10 -10
- package/src/__tests__/math-input-test.jsx +31 -71
- package/src/keypad/__tests__/index.test.jsx +18 -17
- package/src/keypad/index.jsx +172 -169
- package/src/math-input.jsx +35 -44
- package/src/mq/__tests__/input.test.jsx +26 -78
- package/src/mq/__tests__/static.test.jsx +14 -38
- package/src/mq/input.jsx +9 -9
- package/src/mq/static.jsx +3 -0
- package/esm/index.css +0 -847
- package/esm/index.js +0 -44393
- package/esm/index.js.map +0 -1
- package/src/__tests__/__snapshots__/math-input-test.jsx.snap +0 -152
- package/src/keypad/__tests__/__snapshots__/index.test.jsx.snap +0 -193
- package/src/mq/__tests__/__snapshots__/input.test.jsx.snap +0 -9
package/lib/mq/input.js
CHANGED
|
@@ -1,123 +1,88 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = exports.Input = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
10
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
22
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
14
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
|
-
var _styles = require("@material-ui/core/styles");
|
|
29
|
-
|
|
16
|
+
var _styles = require("@mui/material/styles");
|
|
30
17
|
var _debug = _interopRequireDefault(require("debug"));
|
|
31
|
-
|
|
32
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
|
-
|
|
34
18
|
var _customElements = require("./custom-elements");
|
|
35
|
-
|
|
36
19
|
var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
|
|
37
|
-
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
|
-
|
|
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; })(); }
|
|
42
22
|
var MQ;
|
|
43
|
-
|
|
44
23
|
if (typeof window !== 'undefined') {
|
|
45
24
|
MQ = _mathquill["default"].getInterface(2);
|
|
46
|
-
|
|
47
25
|
if (MQ && MQ.registerEmbed) {
|
|
48
26
|
(0, _customElements.registerLineBreak)(MQ);
|
|
49
27
|
}
|
|
50
28
|
}
|
|
51
|
-
|
|
52
29
|
var log = (0, _debug["default"])('math-input:mq:input');
|
|
30
|
+
var StyledSpan = (0, _styles.styled)('span')({
|
|
31
|
+
// No specific styles needed, but component is available for future styling
|
|
32
|
+
});
|
|
33
|
+
|
|
53
34
|
/**
|
|
54
35
|
* Wrapper for MathQuill MQ.MathField.
|
|
55
36
|
*/
|
|
56
|
-
|
|
57
|
-
var Input = /*#__PURE__*/function (_React$Component) {
|
|
58
|
-
(0, _inherits2["default"])(Input, _React$Component);
|
|
59
|
-
|
|
60
|
-
var _super = _createSuper(Input);
|
|
61
|
-
|
|
37
|
+
var Input = exports.Input = /*#__PURE__*/function (_React$Component) {
|
|
62
38
|
function Input() {
|
|
63
39
|
var _this;
|
|
64
|
-
|
|
65
40
|
(0, _classCallCheck2["default"])(this, Input);
|
|
66
|
-
|
|
67
41
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
68
42
|
args[_key] = arguments[_key];
|
|
69
43
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onInputEdit", function () {
|
|
44
|
+
_this = _callSuper(this, Input, [].concat(args));
|
|
45
|
+
(0, _defineProperty2["default"])(_this, "onInputEdit", function () {
|
|
73
46
|
log('[onInputEdit] ...');
|
|
74
47
|
var onChange = _this.props.onChange;
|
|
75
|
-
|
|
76
48
|
if (!_this.mathField) {
|
|
77
49
|
return;
|
|
78
50
|
}
|
|
79
|
-
|
|
80
51
|
if (onChange) {
|
|
81
52
|
onChange(_this.mathField.latex());
|
|
82
53
|
}
|
|
83
54
|
});
|
|
84
|
-
(0, _defineProperty2["default"])(
|
|
55
|
+
(0, _defineProperty2["default"])(_this, "refresh", function () {
|
|
85
56
|
_this.blur();
|
|
86
|
-
|
|
87
57
|
_this.focus();
|
|
88
58
|
});
|
|
89
|
-
(0, _defineProperty2["default"])(
|
|
59
|
+
(0, _defineProperty2["default"])(_this, "onKeyPress", function (event) {
|
|
90
60
|
var keys = Object.keys(_this.mathField.__controller.options);
|
|
91
|
-
|
|
92
61
|
if (keys.indexOf('ignoreNextMousedown') < 0) {
|
|
93
62
|
// It seems like the controller has the above handler as an option
|
|
94
63
|
// when all the right events are set and everything works fine
|
|
95
64
|
// this seems to work in all cases
|
|
96
65
|
_this.refresh();
|
|
97
66
|
}
|
|
98
|
-
|
|
99
67
|
if (event.charCode === 13) {
|
|
100
68
|
event.preventDefault();
|
|
101
69
|
return;
|
|
102
70
|
}
|
|
103
71
|
});
|
|
104
|
-
(0, _defineProperty2["default"])(
|
|
72
|
+
(0, _defineProperty2["default"])(_this, "onClick", function (event) {
|
|
105
73
|
var onClick = _this.props.onClick;
|
|
106
|
-
|
|
107
74
|
_this.refresh();
|
|
108
|
-
|
|
109
75
|
onClick && onClick(event);
|
|
110
76
|
});
|
|
111
77
|
return _this;
|
|
112
78
|
}
|
|
113
|
-
|
|
114
|
-
(0, _createClass2["default"])(Input, [{
|
|
79
|
+
(0, _inherits2["default"])(Input, _React$Component);
|
|
80
|
+
return (0, _createClass2["default"])(Input, [{
|
|
115
81
|
key: "componentDidMount",
|
|
116
82
|
value: function componentDidMount() {
|
|
117
83
|
if (!MQ) {
|
|
118
84
|
throw new Error('MQ is not defined - but component has mounted?');
|
|
119
85
|
}
|
|
120
|
-
|
|
121
86
|
this.mathField = MQ.MathField(this.input, {
|
|
122
87
|
handlers: {
|
|
123
88
|
edit: this.onInputEdit.bind(this)
|
|
@@ -136,9 +101,7 @@ var Input = /*#__PURE__*/function (_React$Component) {
|
|
|
136
101
|
if (!this.mathField) {
|
|
137
102
|
return;
|
|
138
103
|
}
|
|
139
|
-
|
|
140
104
|
var latex = this.props.latex;
|
|
141
|
-
|
|
142
105
|
if (latex !== undefined && latex !== null) {
|
|
143
106
|
this.mathField.latex(latex);
|
|
144
107
|
}
|
|
@@ -165,9 +128,7 @@ var Input = /*#__PURE__*/function (_React$Component) {
|
|
|
165
128
|
key: "command",
|
|
166
129
|
value: function command(v) {
|
|
167
130
|
var _this2 = this;
|
|
168
|
-
|
|
169
131
|
log('command: ', v);
|
|
170
|
-
|
|
171
132
|
if (Array.isArray(v)) {
|
|
172
133
|
v.forEach(function (vv) {
|
|
173
134
|
_this2.mathField.cmd(vv);
|
|
@@ -175,7 +136,6 @@ var Input = /*#__PURE__*/function (_React$Component) {
|
|
|
175
136
|
} else {
|
|
176
137
|
this.mathField.cmd(v);
|
|
177
138
|
}
|
|
178
|
-
|
|
179
139
|
this.mathField.focus();
|
|
180
140
|
return this.mathField.latex();
|
|
181
141
|
}
|
|
@@ -205,14 +165,12 @@ var Input = /*#__PURE__*/function (_React$Component) {
|
|
|
205
165
|
key: "render",
|
|
206
166
|
value: function render() {
|
|
207
167
|
var _this3 = this;
|
|
208
|
-
|
|
209
168
|
var _this$props = this.props,
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
className: (0, _classnames["default"])(classes.input, className),
|
|
169
|
+
onFocus = _this$props.onFocus,
|
|
170
|
+
onBlur = _this$props.onBlur,
|
|
171
|
+
className = _this$props.className;
|
|
172
|
+
return /*#__PURE__*/_react["default"].createElement(StyledSpan, {
|
|
173
|
+
className: className,
|
|
216
174
|
onKeyDown: this.onKeyPress,
|
|
217
175
|
onClick: this.onClick,
|
|
218
176
|
onFocus: onFocus,
|
|
@@ -223,25 +181,14 @@ var Input = /*#__PURE__*/function (_React$Component) {
|
|
|
223
181
|
});
|
|
224
182
|
}
|
|
225
183
|
}]);
|
|
226
|
-
return Input;
|
|
227
184
|
}(_react["default"].Component);
|
|
228
|
-
|
|
229
|
-
exports.Input = Input;
|
|
230
185
|
(0, _defineProperty2["default"])(Input, "propTypes", {
|
|
231
186
|
className: _propTypes["default"].string,
|
|
232
|
-
classes: _propTypes["default"].object.isRequired,
|
|
233
187
|
onClick: _propTypes["default"].func,
|
|
234
188
|
onChange: _propTypes["default"].func,
|
|
235
189
|
latex: _propTypes["default"].string,
|
|
236
190
|
onFocus: _propTypes["default"].func,
|
|
237
191
|
onBlur: _propTypes["default"].func
|
|
238
192
|
});
|
|
239
|
-
|
|
240
|
-
var styles = function styles() {
|
|
241
|
-
return {};
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
var _default = (0, _styles.withStyles)(styles)(Input);
|
|
245
|
-
|
|
246
|
-
exports["default"] = _default;
|
|
193
|
+
var _default = exports["default"] = Input;
|
|
247
194
|
//# sourceMappingURL=input.js.map
|
package/lib/mq/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mq/input.jsx"],"names":["MQ","window","MathQuill","getInterface","registerEmbed","log","Input","onChange","props","mathField","latex","blur","focus","event","keys","Object","__controller","options","indexOf","refresh","charCode","preventDefault","onClick","Error","MathField","input","handlers","edit","onInputEdit","bind","updateLatex","undefined","v","Array","isArray","forEach","vv","cmd","keystroke","write","nextProps","onFocus","onBlur","classes","className","onKeyPress","r","React","Component","PropTypes","string","object","isRequired","func","styles"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport classNames from 'classnames';\nimport { registerLineBreak } from './custom-elements';\nimport MathQuill from '@pie-framework/mathquill';\n\nlet MQ;\nif (typeof window !== 'undefined') {\n MQ = MathQuill.getInterface(2);\n\n if (MQ && MQ.registerEmbed) {\n registerLineBreak(MQ);\n }\n}\n\nconst log = debug('math-input:mq:input');\n\n/**\n * Wrapper for MathQuill MQ.MathField.\n */\nexport class Input extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n latex: PropTypes.string,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n };\n\n componentDidMount() {\n if (!MQ) {\n throw new Error('MQ is not defined - but component has mounted?');\n }\n\n this.mathField = MQ.MathField(this.input, {\n handlers: {\n edit: this.onInputEdit.bind(this),\n },\n });\n\n this.updateLatex();\n }\n\n componentDidUpdate() {\n this.updateLatex();\n }\n\n updateLatex() {\n if (!this.mathField) {\n return;\n }\n\n const { latex } = this.props;\n\n if (latex !== undefined && latex !== null) {\n this.mathField.latex(latex);\n }\n }\n\n clear() {\n this.mathField.latex('');\n\n return '';\n }\n\n blur() {\n log('blur mathfield');\n this.mathField.blur();\n }\n\n focus() {\n log('focus mathfield...');\n this.mathField.focus();\n }\n\n command(v) {\n log('command: ', v);\n if (Array.isArray(v)) {\n v.forEach((vv) => {\n this.mathField.cmd(vv);\n });\n } else {\n this.mathField.cmd(v);\n }\n\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n keystroke(v) {\n this.mathField.keystroke(v);\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n write(v) {\n log('write: ', v);\n this.mathField.write(v);\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n onInputEdit = () => {\n log('[onInputEdit] ...');\n const { onChange } = this.props;\n\n if (!this.mathField) {\n return;\n }\n\n if (onChange) {\n onChange(this.mathField.latex());\n }\n };\n\n refresh = () => {\n this.blur();\n this.focus();\n };\n\n onKeyPress = (event) => {\n const keys = Object.keys(this.mathField.__controller.options);\n\n if (keys.indexOf('ignoreNextMousedown') < 0) {\n // It seems like the controller has the above handler as an option\n // when all the right events are set and everything works fine\n // this seems to work in all cases\n this.refresh();\n }\n\n if (event.charCode === 13) {\n event.preventDefault();\n return;\n }\n };\n\n onClick = (event) => {\n const { onClick } = this.props;\n\n this.refresh();\n onClick && onClick(event);\n };\n\n shouldComponentUpdate(nextProps) {\n log('next: ', nextProps.latex);\n log('current: ', this.mathField.latex());\n\n return nextProps.latex !== this.mathField.latex();\n }\n\n render() {\n const { onFocus, onBlur, classes, className } = this.props;\n\n return (\n <span\n className={classNames(classes.input, className)}\n onKeyDown={this.onKeyPress}\n onClick={this.onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={(r) => (this.input = r)}\n />\n );\n }\n}\n\nconst styles = () => ({});\n\nexport default withStyles(styles)(Input);\n"],"file":"input.js"}
|
|
1
|
+
{"version":3,"file":"input.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_debug","_customElements","_mathquill","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","MQ","window","MathQuill","getInterface","registerEmbed","registerLineBreak","log","debug","StyledSpan","styled","Input","exports","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","onChange","props","mathField","latex","blur","focus","event","keys","Object","__controller","options","indexOf","refresh","charCode","preventDefault","onClick","_inherits2","_createClass2","key","value","componentDidMount","Error","MathField","input","handlers","edit","onInputEdit","bind","updateLatex","componentDidUpdate","undefined","clear","command","v","_this2","isArray","forEach","vv","cmd","keystroke","write","shouldComponentUpdate","nextProps","render","_this3","_this$props","onFocus","onBlur","className","createElement","onKeyDown","onKeyPress","ref","r","React","Component","PropTypes","string","func","_default"],"sources":["../../src/mq/input.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport debug from 'debug';\nimport { registerLineBreak } from './custom-elements';\nimport MathQuill from '@pie-framework/mathquill';\n\nlet MQ;\nif (typeof window !== 'undefined') {\n MQ = MathQuill.getInterface(2);\n\n if (MQ && MQ.registerEmbed) {\n registerLineBreak(MQ);\n }\n}\n\nconst log = debug('math-input:mq:input');\n\nconst StyledSpan = styled('span')({\n // No specific styles needed, but component is available for future styling\n});\n\n/**\n * Wrapper for MathQuill MQ.MathField.\n */\nexport class Input extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n latex: PropTypes.string,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n };\n\n componentDidMount() {\n if (!MQ) {\n throw new Error('MQ is not defined - but component has mounted?');\n }\n\n this.mathField = MQ.MathField(this.input, {\n handlers: {\n edit: this.onInputEdit.bind(this),\n },\n });\n\n this.updateLatex();\n }\n\n componentDidUpdate() {\n this.updateLatex();\n }\n\n updateLatex() {\n if (!this.mathField) {\n return;\n }\n\n const { latex } = this.props;\n\n if (latex !== undefined && latex !== null) {\n this.mathField.latex(latex);\n }\n }\n\n clear() {\n this.mathField.latex('');\n\n return '';\n }\n\n blur() {\n log('blur mathfield');\n this.mathField.blur();\n }\n\n focus() {\n log('focus mathfield...');\n this.mathField.focus();\n }\n\n command(v) {\n log('command: ', v);\n if (Array.isArray(v)) {\n v.forEach((vv) => {\n this.mathField.cmd(vv);\n });\n } else {\n this.mathField.cmd(v);\n }\n\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n keystroke(v) {\n this.mathField.keystroke(v);\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n write(v) {\n log('write: ', v);\n this.mathField.write(v);\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n onInputEdit = () => {\n log('[onInputEdit] ...');\n const { onChange } = this.props;\n\n if (!this.mathField) {\n return;\n }\n\n if (onChange) {\n onChange(this.mathField.latex());\n }\n };\n\n refresh = () => {\n this.blur();\n this.focus();\n };\n\n onKeyPress = (event) => {\n const keys = Object.keys(this.mathField.__controller.options);\n\n if (keys.indexOf('ignoreNextMousedown') < 0) {\n // It seems like the controller has the above handler as an option\n // when all the right events are set and everything works fine\n // this seems to work in all cases\n this.refresh();\n }\n\n if (event.charCode === 13) {\n event.preventDefault();\n return;\n }\n };\n\n onClick = (event) => {\n const { onClick } = this.props;\n\n this.refresh();\n onClick && onClick(event);\n };\n\n shouldComponentUpdate(nextProps) {\n log('next: ', nextProps.latex);\n log('current: ', this.mathField.latex());\n\n return nextProps.latex !== this.mathField.latex();\n }\n\n render() {\n const { onFocus, onBlur, className } = this.props;\n\n return (\n <StyledSpan\n className={className}\n onKeyDown={this.onKeyPress}\n onClick={this.onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={(r) => (this.input = r)}\n />\n );\n }\n}\n\nexport default Input;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/mq/static.js
CHANGED
|
@@ -1,82 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
10
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
22
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
15
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
16
|
var _debug = _interopRequireDefault(require("debug"));
|
|
29
|
-
|
|
30
17
|
var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
|
|
31
|
-
|
|
32
18
|
var _updateSpans = require("../updateSpans");
|
|
33
|
-
|
|
34
|
-
function
|
|
35
|
-
|
|
36
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
37
|
-
|
|
19
|
+
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)); }
|
|
20
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
38
21
|
var MQ;
|
|
39
|
-
|
|
40
22
|
if (typeof window !== 'undefined') {
|
|
41
23
|
MQ = _mathquill["default"].getInterface(2);
|
|
42
24
|
}
|
|
43
|
-
|
|
44
25
|
var log = (0, _debug["default"])('pie-lib:math-input:mq:static');
|
|
45
26
|
var REGEX = /\\MathQuillMathField\[r\d*\]\{(.*?)\}/g;
|
|
46
27
|
var WHITESPACE_REGEX = / /g;
|
|
47
|
-
|
|
48
28
|
function stripSpaces() {
|
|
49
29
|
var string = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
50
30
|
return string.replace(WHITESPACE_REGEX, '');
|
|
51
31
|
}
|
|
52
|
-
|
|
53
32
|
function countBraces(latex) {
|
|
54
33
|
var count = 0;
|
|
55
|
-
|
|
56
34
|
for (var i = 0; i < (latex || '').length; i++) {
|
|
57
35
|
if (latex[i] === '{') {
|
|
58
36
|
count++;
|
|
59
37
|
}
|
|
60
38
|
}
|
|
61
|
-
|
|
62
39
|
return count;
|
|
63
40
|
}
|
|
41
|
+
|
|
64
42
|
/**
|
|
65
43
|
* Wrapper for MathQuill MQ.MathField.
|
|
66
44
|
*/
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var Static = /*#__PURE__*/function (_React$Component) {
|
|
70
|
-
(0, _inherits2["default"])(Static, _React$Component);
|
|
71
|
-
|
|
72
|
-
var _super = _createSuper(Static);
|
|
73
|
-
|
|
45
|
+
var Static = exports["default"] = /*#__PURE__*/function (_React$Component) {
|
|
74
46
|
function Static(props) {
|
|
75
47
|
var _this;
|
|
76
|
-
|
|
77
48
|
(0, _classCallCheck2["default"])(this, Static);
|
|
78
|
-
_this =
|
|
79
|
-
(0, _defineProperty2["default"])(
|
|
49
|
+
_this = _callSuper(this, Static, [props]);
|
|
50
|
+
(0, _defineProperty2["default"])(_this, "createLiveRegion", function () {
|
|
80
51
|
_this.liveRegion = document.createElement('div');
|
|
81
52
|
_this.liveRegion.style.position = 'absolute';
|
|
82
53
|
_this.liveRegion.style.width = '1px';
|
|
@@ -84,68 +55,57 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
84
55
|
_this.liveRegion.style.marginTop = '-1px';
|
|
85
56
|
_this.liveRegion.style.clip = 'rect(1px, 1px, 1px, 1px)';
|
|
86
57
|
_this.liveRegion.style.overflow = 'hidden';
|
|
87
|
-
|
|
88
58
|
_this.liveRegion.setAttribute('aria-live', 'polite');
|
|
89
|
-
|
|
90
59
|
_this.liveRegion.setAttribute('aria-atomic', 'true');
|
|
91
|
-
|
|
92
60
|
document.body.appendChild(_this.liveRegion);
|
|
93
61
|
});
|
|
94
|
-
(0, _defineProperty2["default"])(
|
|
62
|
+
(0, _defineProperty2["default"])(_this, "addEventListeners", function () {
|
|
95
63
|
var input = _this.inputRef.current;
|
|
96
|
-
|
|
97
64
|
if (input) {
|
|
98
65
|
input.addEventListener('keydown', _this.handleKeyDown);
|
|
99
66
|
input.addEventListener('click', _this.handleMathKeyboardClick);
|
|
100
67
|
}
|
|
101
68
|
});
|
|
102
|
-
(0, _defineProperty2["default"])(
|
|
69
|
+
(0, _defineProperty2["default"])(_this, "removeEventListeners", function () {
|
|
103
70
|
var input = _this.inputRef.current;
|
|
104
|
-
|
|
105
71
|
if (input) {
|
|
106
72
|
input.removeEventListener('keydown', _this.handleKeyDown);
|
|
107
73
|
input.removeEventListener('click', _this.handleMathKeyboardClick);
|
|
108
74
|
}
|
|
109
75
|
});
|
|
110
|
-
(0, _defineProperty2["default"])(
|
|
76
|
+
(0, _defineProperty2["default"])(_this, "removeLiveRegion", function () {
|
|
111
77
|
if (_this.liveRegion) {
|
|
112
78
|
document.body.removeChild(_this.liveRegion);
|
|
113
79
|
_this.liveRegion = null;
|
|
114
80
|
}
|
|
115
81
|
});
|
|
116
|
-
(0, _defineProperty2["default"])(
|
|
82
|
+
(0, _defineProperty2["default"])(_this, "handleKeyDown", function (event) {
|
|
117
83
|
if ((event === null || event === void 0 ? void 0 : event.key) === 'Backspace' || (event === null || event === void 0 ? void 0 : event.key) === 'Delete') {
|
|
118
84
|
_this.setState({
|
|
119
85
|
isDeleteKeyPressed: true
|
|
120
86
|
});
|
|
121
87
|
}
|
|
122
|
-
|
|
123
88
|
_this.setState({
|
|
124
89
|
inputSource: 'keyboard'
|
|
125
90
|
});
|
|
126
91
|
});
|
|
127
|
-
(0, _defineProperty2["default"])(
|
|
92
|
+
(0, _defineProperty2["default"])(_this, "handleMathKeyboardClick", function () {
|
|
128
93
|
_this.setState({
|
|
129
94
|
inputSource: 'mathKeyboard'
|
|
130
95
|
});
|
|
131
96
|
});
|
|
132
|
-
(0, _defineProperty2["default"])(
|
|
97
|
+
(0, _defineProperty2["default"])(_this, "onInputEdit", function (field) {
|
|
133
98
|
if (!_this.mathField) {
|
|
134
99
|
return;
|
|
135
100
|
}
|
|
136
|
-
|
|
137
101
|
var name = _this.props.getFieldName(field, _this.mathField.innerFields);
|
|
138
|
-
|
|
139
102
|
if (_this.props.onSubFieldChange) {
|
|
140
103
|
var _this$inputRef;
|
|
141
|
-
|
|
142
104
|
// eslint-disable-next-line no-useless-escape
|
|
143
105
|
var regexMatch = field.latex().match(/[0-9]\\ \\frac\{[^\{]*\}\{ \}/);
|
|
144
|
-
|
|
145
106
|
if ((_this$inputRef = _this.inputRef) !== null && _this$inputRef !== void 0 && _this$inputRef.current && regexMatch && regexMatch !== null && regexMatch !== void 0 && regexMatch.length) {
|
|
146
107
|
try {
|
|
147
108
|
field.__controller.cursor.insLeftOf(field.__controller.cursor.parent[-1].parent);
|
|
148
|
-
|
|
149
109
|
field.el().dispatchEvent(new KeyboardEvent('keydown', {
|
|
150
110
|
keyCode: 8
|
|
151
111
|
}));
|
|
@@ -157,116 +117,101 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
157
117
|
_this.props.onSubFieldChange(name, field.latex());
|
|
158
118
|
}
|
|
159
119
|
}
|
|
160
|
-
|
|
161
120
|
_this.announceLatexConversion(field.latex());
|
|
162
121
|
});
|
|
163
|
-
(0, _defineProperty2["default"])(
|
|
122
|
+
(0, _defineProperty2["default"])(_this, "announceLatexConversion", function (newLatex) {
|
|
164
123
|
if (!_this.state) {
|
|
124
|
+
// eslint-disable-next-line no-console
|
|
165
125
|
console.error('State is not initialized');
|
|
166
126
|
return;
|
|
167
127
|
}
|
|
168
|
-
|
|
169
128
|
var _this$state = _this.state,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
129
|
+
previousLatex = _this$state.previousLatex,
|
|
130
|
+
inputSource = _this$state.inputSource,
|
|
131
|
+
isDeleteKeyPressed = _this$state.isDeleteKeyPressed;
|
|
173
132
|
var announcement = 'Converted to math symbol';
|
|
174
|
-
|
|
175
133
|
if (inputSource === 'keyboard' && !isDeleteKeyPressed) {
|
|
176
134
|
var newBraces = countBraces(newLatex);
|
|
177
135
|
var oldBraces = countBraces(previousLatex);
|
|
178
|
-
|
|
179
136
|
if (newBraces > oldBraces) {
|
|
180
137
|
_this.announceMessage(announcement);
|
|
181
138
|
} else {
|
|
182
139
|
try {
|
|
183
140
|
_this.mathField.parseLatex(previousLatex);
|
|
184
|
-
|
|
185
141
|
_this.mathField.parseLatex(newLatex);
|
|
186
|
-
|
|
187
142
|
if (newLatex == previousLatex) {
|
|
188
143
|
_this.announceMessage(announcement);
|
|
189
144
|
}
|
|
190
145
|
} catch (e) {
|
|
146
|
+
// eslint-disable-next-line no-console
|
|
191
147
|
console.warn('Error parsing latex:', e.message);
|
|
148
|
+
// eslint-disable-next-line no-console
|
|
192
149
|
console.warn(e);
|
|
193
150
|
}
|
|
194
151
|
}
|
|
195
152
|
}
|
|
196
|
-
|
|
197
153
|
_this.setState({
|
|
198
154
|
previousLatex: newLatex,
|
|
199
155
|
isDeleteKeyPressed: false
|
|
200
156
|
});
|
|
201
157
|
});
|
|
202
|
-
(0, _defineProperty2["default"])(
|
|
158
|
+
(0, _defineProperty2["default"])(_this, "announceMessage", function (message) {
|
|
203
159
|
_this.setState({
|
|
204
160
|
previousLatex: ''
|
|
205
161
|
});
|
|
206
|
-
|
|
207
162
|
if (_this.liveRegion) {
|
|
208
|
-
_this.liveRegion.textContent = message;
|
|
163
|
+
_this.liveRegion.textContent = message;
|
|
209
164
|
|
|
165
|
+
// Clear the message after it is announced
|
|
210
166
|
setTimeout(function () {
|
|
211
167
|
_this.liveRegion.textContent = '';
|
|
212
168
|
}, 500);
|
|
213
169
|
}
|
|
214
170
|
});
|
|
215
|
-
(0, _defineProperty2["default"])(
|
|
171
|
+
(0, _defineProperty2["default"])(_this, "update", function () {
|
|
216
172
|
if (!MQ) {
|
|
217
173
|
throw new Error('MQ is not defined - but component has mounted?');
|
|
218
174
|
}
|
|
219
|
-
|
|
220
175
|
if (!_this.mathField) {
|
|
221
176
|
var _this$inputRef2;
|
|
222
|
-
|
|
223
177
|
_this.mathField = MQ.StaticMath((_this$inputRef2 = _this.inputRef) === null || _this$inputRef2 === void 0 ? void 0 : _this$inputRef2.current, {
|
|
224
178
|
handlers: {
|
|
225
|
-
edit: _this.onInputEdit.bind(
|
|
179
|
+
edit: _this.onInputEdit.bind(_this)
|
|
226
180
|
}
|
|
227
181
|
});
|
|
228
182
|
}
|
|
229
|
-
|
|
230
183
|
try {
|
|
231
184
|
_this.mathField.parseLatex(_this.props.latex);
|
|
232
|
-
|
|
233
185
|
_this.mathField.latex(_this.props.latex);
|
|
234
186
|
} catch (e) {
|
|
235
187
|
// default latex if received has errors
|
|
236
188
|
_this.mathField.latex('\\MathQuillMathField[r1]{}');
|
|
237
189
|
}
|
|
238
190
|
});
|
|
239
|
-
(0, _defineProperty2["default"])(
|
|
191
|
+
(0, _defineProperty2["default"])(_this, "blur", function () {
|
|
240
192
|
log('blur mathfield');
|
|
241
|
-
|
|
242
193
|
_this.mathField.blur();
|
|
243
194
|
});
|
|
244
|
-
(0, _defineProperty2["default"])(
|
|
195
|
+
(0, _defineProperty2["default"])(_this, "focus", function () {
|
|
245
196
|
log('focus mathfield...');
|
|
246
|
-
|
|
247
197
|
_this.mathField.focus();
|
|
248
198
|
});
|
|
249
|
-
(0, _defineProperty2["default"])(
|
|
199
|
+
(0, _defineProperty2["default"])(_this, "onFocus", function (e) {
|
|
250
200
|
try {
|
|
251
201
|
var rootBlock = e.target.parentElement.nextSibling;
|
|
252
202
|
var id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);
|
|
253
|
-
|
|
254
203
|
if (!id) {
|
|
255
204
|
rootBlock = rootBlock.parentElement;
|
|
256
205
|
id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);
|
|
257
206
|
}
|
|
258
|
-
|
|
259
207
|
var innerField = _this.mathField.innerFields.find(function (f) {
|
|
260
208
|
return f.id === id;
|
|
261
209
|
});
|
|
262
|
-
|
|
263
210
|
if (innerField) {
|
|
264
211
|
var name = _this.props.getFieldName(innerField, _this.mathField.innerFields);
|
|
265
|
-
|
|
266
212
|
if (_this.props.setInput) {
|
|
267
213
|
_this.props.setInput(innerField);
|
|
268
214
|
}
|
|
269
|
-
|
|
270
215
|
_this.props.onSubFieldFocus(name, innerField);
|
|
271
216
|
}
|
|
272
217
|
} catch (err) {
|
|
@@ -283,8 +228,8 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
283
228
|
_this.inputRef = /*#__PURE__*/_react["default"].createRef();
|
|
284
229
|
return _this;
|
|
285
230
|
}
|
|
286
|
-
|
|
287
|
-
(0, _createClass2["default"])(Static, [{
|
|
231
|
+
(0, _inherits2["default"])(Static, _React$Component);
|
|
232
|
+
return (0, _createClass2["default"])(Static, [{
|
|
288
233
|
key: "componentDidMount",
|
|
289
234
|
value: function componentDidMount() {
|
|
290
235
|
this.update();
|
|
@@ -316,8 +261,8 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
316
261
|
return out;
|
|
317
262
|
} catch (e) {
|
|
318
263
|
// eslint-disable-next-line no-console
|
|
319
|
-
console.warn('Error parsing latex:', e.message, 'skip update');
|
|
320
|
-
|
|
264
|
+
console.warn('Error parsing latex:', e.message, 'skip update');
|
|
265
|
+
// eslint-disable-next-line no-console
|
|
321
266
|
console.warn(e);
|
|
322
267
|
return false;
|
|
323
268
|
}
|
|
@@ -326,8 +271,8 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
326
271
|
key: "render",
|
|
327
272
|
value: function render() {
|
|
328
273
|
var _this$props = this.props,
|
|
329
|
-
|
|
330
|
-
|
|
274
|
+
onBlur = _this$props.onBlur,
|
|
275
|
+
className = _this$props.className;
|
|
331
276
|
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
332
277
|
className: className,
|
|
333
278
|
onFocus: this.onFocus,
|
|
@@ -336,10 +281,7 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
336
281
|
});
|
|
337
282
|
}
|
|
338
283
|
}]);
|
|
339
|
-
return Static;
|
|
340
284
|
}(_react["default"].Component);
|
|
341
|
-
|
|
342
|
-
exports["default"] = Static;
|
|
343
285
|
(0, _defineProperty2["default"])(Static, "propTypes", {
|
|
344
286
|
latex: _propTypes["default"].string.isRequired,
|
|
345
287
|
onFocus: _propTypes["default"].func,
|