@pie-lib/math-input 6.31.2-next.0 → 6.33.0-mui-update.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -7
- 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 +250 -314
- 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 +31 -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 +9 -7
- package/src/keypad/index.jsx +156 -151
- package/src/math-input.jsx +35 -44
- package/src/mq/input.jsx +9 -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,33 +117,27 @@ 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) {
|
|
165
124
|
console.error('State is not initialized');
|
|
166
125
|
return;
|
|
167
126
|
}
|
|
168
|
-
|
|
169
127
|
var _this$state = _this.state,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
128
|
+
previousLatex = _this$state.previousLatex,
|
|
129
|
+
inputSource = _this$state.inputSource,
|
|
130
|
+
isDeleteKeyPressed = _this$state.isDeleteKeyPressed;
|
|
173
131
|
var announcement = 'Converted to math symbol';
|
|
174
|
-
|
|
175
132
|
if (inputSource === 'keyboard' && !isDeleteKeyPressed) {
|
|
176
133
|
var newBraces = countBraces(newLatex);
|
|
177
134
|
var oldBraces = countBraces(previousLatex);
|
|
178
|
-
|
|
179
135
|
if (newBraces > oldBraces) {
|
|
180
136
|
_this.announceMessage(announcement);
|
|
181
137
|
} else {
|
|
182
138
|
try {
|
|
183
139
|
_this.mathField.parseLatex(previousLatex);
|
|
184
|
-
|
|
185
140
|
_this.mathField.parseLatex(newLatex);
|
|
186
|
-
|
|
187
141
|
if (newLatex == previousLatex) {
|
|
188
142
|
_this.announceMessage(announcement);
|
|
189
143
|
}
|
|
@@ -193,80 +147,68 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
193
147
|
}
|
|
194
148
|
}
|
|
195
149
|
}
|
|
196
|
-
|
|
197
150
|
_this.setState({
|
|
198
151
|
previousLatex: newLatex,
|
|
199
152
|
isDeleteKeyPressed: false
|
|
200
153
|
});
|
|
201
154
|
});
|
|
202
|
-
(0, _defineProperty2["default"])(
|
|
155
|
+
(0, _defineProperty2["default"])(_this, "announceMessage", function (message) {
|
|
203
156
|
_this.setState({
|
|
204
157
|
previousLatex: ''
|
|
205
158
|
});
|
|
206
|
-
|
|
207
159
|
if (_this.liveRegion) {
|
|
208
|
-
_this.liveRegion.textContent = message;
|
|
160
|
+
_this.liveRegion.textContent = message;
|
|
209
161
|
|
|
162
|
+
// Clear the message after it is announced
|
|
210
163
|
setTimeout(function () {
|
|
211
164
|
_this.liveRegion.textContent = '';
|
|
212
165
|
}, 500);
|
|
213
166
|
}
|
|
214
167
|
});
|
|
215
|
-
(0, _defineProperty2["default"])(
|
|
168
|
+
(0, _defineProperty2["default"])(_this, "update", function () {
|
|
216
169
|
if (!MQ) {
|
|
217
170
|
throw new Error('MQ is not defined - but component has mounted?');
|
|
218
171
|
}
|
|
219
|
-
|
|
220
172
|
if (!_this.mathField) {
|
|
221
173
|
var _this$inputRef2;
|
|
222
|
-
|
|
223
174
|
_this.mathField = MQ.StaticMath((_this$inputRef2 = _this.inputRef) === null || _this$inputRef2 === void 0 ? void 0 : _this$inputRef2.current, {
|
|
224
175
|
handlers: {
|
|
225
|
-
edit: _this.onInputEdit.bind(
|
|
176
|
+
edit: _this.onInputEdit.bind(_this)
|
|
226
177
|
}
|
|
227
178
|
});
|
|
228
179
|
}
|
|
229
|
-
|
|
230
180
|
try {
|
|
231
181
|
_this.mathField.parseLatex(_this.props.latex);
|
|
232
|
-
|
|
233
182
|
_this.mathField.latex(_this.props.latex);
|
|
234
183
|
} catch (e) {
|
|
235
184
|
// default latex if received has errors
|
|
236
185
|
_this.mathField.latex('\\MathQuillMathField[r1]{}');
|
|
237
186
|
}
|
|
238
187
|
});
|
|
239
|
-
(0, _defineProperty2["default"])(
|
|
188
|
+
(0, _defineProperty2["default"])(_this, "blur", function () {
|
|
240
189
|
log('blur mathfield');
|
|
241
|
-
|
|
242
190
|
_this.mathField.blur();
|
|
243
191
|
});
|
|
244
|
-
(0, _defineProperty2["default"])(
|
|
192
|
+
(0, _defineProperty2["default"])(_this, "focus", function () {
|
|
245
193
|
log('focus mathfield...');
|
|
246
|
-
|
|
247
194
|
_this.mathField.focus();
|
|
248
195
|
});
|
|
249
|
-
(0, _defineProperty2["default"])(
|
|
196
|
+
(0, _defineProperty2["default"])(_this, "onFocus", function (e) {
|
|
250
197
|
try {
|
|
251
198
|
var rootBlock = e.target.parentElement.nextSibling;
|
|
252
199
|
var id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);
|
|
253
|
-
|
|
254
200
|
if (!id) {
|
|
255
201
|
rootBlock = rootBlock.parentElement;
|
|
256
202
|
id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);
|
|
257
203
|
}
|
|
258
|
-
|
|
259
204
|
var innerField = _this.mathField.innerFields.find(function (f) {
|
|
260
205
|
return f.id === id;
|
|
261
206
|
});
|
|
262
|
-
|
|
263
207
|
if (innerField) {
|
|
264
208
|
var name = _this.props.getFieldName(innerField, _this.mathField.innerFields);
|
|
265
|
-
|
|
266
209
|
if (_this.props.setInput) {
|
|
267
210
|
_this.props.setInput(innerField);
|
|
268
211
|
}
|
|
269
|
-
|
|
270
212
|
_this.props.onSubFieldFocus(name, innerField);
|
|
271
213
|
}
|
|
272
214
|
} catch (err) {
|
|
@@ -283,8 +225,8 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
283
225
|
_this.inputRef = /*#__PURE__*/_react["default"].createRef();
|
|
284
226
|
return _this;
|
|
285
227
|
}
|
|
286
|
-
|
|
287
|
-
(0, _createClass2["default"])(Static, [{
|
|
228
|
+
(0, _inherits2["default"])(Static, _React$Component);
|
|
229
|
+
return (0, _createClass2["default"])(Static, [{
|
|
288
230
|
key: "componentDidMount",
|
|
289
231
|
value: function componentDidMount() {
|
|
290
232
|
this.update();
|
|
@@ -316,8 +258,8 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
316
258
|
return out;
|
|
317
259
|
} catch (e) {
|
|
318
260
|
// eslint-disable-next-line no-console
|
|
319
|
-
console.warn('Error parsing latex:', e.message, 'skip update');
|
|
320
|
-
|
|
261
|
+
console.warn('Error parsing latex:', e.message, 'skip update');
|
|
262
|
+
// eslint-disable-next-line no-console
|
|
321
263
|
console.warn(e);
|
|
322
264
|
return false;
|
|
323
265
|
}
|
|
@@ -326,8 +268,8 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
326
268
|
key: "render",
|
|
327
269
|
value: function render() {
|
|
328
270
|
var _this$props = this.props,
|
|
329
|
-
|
|
330
|
-
|
|
271
|
+
onBlur = _this$props.onBlur,
|
|
272
|
+
className = _this$props.className;
|
|
331
273
|
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
332
274
|
className: className,
|
|
333
275
|
onFocus: this.onFocus,
|
|
@@ -336,10 +278,7 @@ var Static = /*#__PURE__*/function (_React$Component) {
|
|
|
336
278
|
});
|
|
337
279
|
}
|
|
338
280
|
}]);
|
|
339
|
-
return Static;
|
|
340
281
|
}(_react["default"].Component);
|
|
341
|
-
|
|
342
|
-
exports["default"] = Static;
|
|
343
282
|
(0, _defineProperty2["default"])(Static, "propTypes", {
|
|
344
283
|
latex: _propTypes["default"].string.isRequired,
|
|
345
284
|
onFocus: _propTypes["default"].func,
|