@pie-lib/math-input 6.9.1-next.0 → 6.9.1-next.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/lib/horizontal-keypad.js +6 -30
  2. package/lib/horizontal-keypad.js.map +1 -1
  3. package/lib/index.js +2 -21
  4. package/lib/index.js.map +1 -1
  5. package/lib/keypad/index.js +15 -66
  6. package/lib/keypad/index.js.map +1 -1
  7. package/lib/keypad/keys-layout.js +0 -8
  8. package/lib/keypad/keys-layout.js.map +1 -1
  9. package/lib/keys/basic-operators.js +0 -3
  10. package/lib/keys/basic-operators.js.map +1 -1
  11. package/lib/keys/chars.js.map +1 -1
  12. package/lib/keys/comparison.js +0 -6
  13. package/lib/keys/comparison.js.map +1 -1
  14. package/lib/keys/constants.js +0 -2
  15. package/lib/keys/constants.js.map +1 -1
  16. package/lib/keys/digits.js +0 -5
  17. package/lib/keys/digits.js.map +1 -1
  18. package/lib/keys/edit.js +0 -2
  19. package/lib/keys/edit.js.map +1 -1
  20. package/lib/keys/exponent.js +0 -2
  21. package/lib/keys/exponent.js.map +1 -1
  22. package/lib/keys/fractions.js +0 -2
  23. package/lib/keys/fractions.js.map +1 -1
  24. package/lib/keys/geometry.js +0 -6
  25. package/lib/keys/geometry.js.map +1 -1
  26. package/lib/keys/grades.js +2 -35
  27. package/lib/keys/grades.js.map +1 -1
  28. package/lib/keys/index.js +11 -28
  29. package/lib/keys/index.js.map +1 -1
  30. package/lib/keys/log.js +0 -2
  31. package/lib/keys/log.js.map +1 -1
  32. package/lib/keys/logic.js +0 -2
  33. package/lib/keys/logic.js.map +1 -1
  34. package/lib/keys/matrices.js +0 -2
  35. package/lib/keys/matrices.js.map +1 -1
  36. package/lib/keys/misc.js +0 -2
  37. package/lib/keys/misc.js.map +1 -1
  38. package/lib/keys/navigation.js +0 -3
  39. package/lib/keys/navigation.js.map +1 -1
  40. package/lib/keys/operators.js +0 -2
  41. package/lib/keys/operators.js.map +1 -1
  42. package/lib/keys/statistics.js +0 -2
  43. package/lib/keys/statistics.js.map +1 -1
  44. package/lib/keys/sub-sup.js +0 -2
  45. package/lib/keys/sub-sup.js.map +1 -1
  46. package/lib/keys/trigonometry.js +0 -2
  47. package/lib/keys/trigonometry.js.map +1 -1
  48. package/lib/keys/utils.js +0 -28
  49. package/lib/keys/utils.js.map +1 -1
  50. package/lib/keys/vars.js +0 -2
  51. package/lib/keys/vars.js.map +1 -1
  52. package/lib/math-input.js +4 -39
  53. package/lib/math-input.js.map +1 -1
  54. package/lib/mq/custom-elements.js +0 -2
  55. package/lib/mq/custom-elements.js.map +1 -1
  56. package/lib/mq/index.js +0 -3
  57. package/lib/mq/index.js.map +1 -1
  58. package/lib/mq/input.js +6 -50
  59. package/lib/mq/input.js.map +1 -1
  60. package/lib/mq/static.js +7 -46
  61. package/lib/mq/static.js.map +1 -1
  62. package/package.json +2 -2
  63. package/src/keypad/index.jsx +4 -3
package/lib/mq/input.js CHANGED
@@ -1,120 +1,86 @@
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
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _react = _interopRequireDefault(require("react"));
25
-
26
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
17
  var _styles = require("@material-ui/core/styles");
29
-
30
18
  var _debug = _interopRequireDefault(require("debug"));
31
-
32
19
  var _classnames = _interopRequireDefault(require("classnames"));
33
-
34
20
  var _customElements = require("./custom-elements");
35
-
36
21
  var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
37
-
38
22
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
-
40
23
  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
-
42
24
  var MQ;
43
-
44
25
  if (typeof window !== 'undefined') {
45
26
  MQ = _mathquill["default"].getInterface(2);
46
-
47
27
  if (MQ && MQ.registerEmbed) {
48
28
  (0, _customElements.registerLineBreak)(MQ);
49
29
  }
50
30
  }
51
-
52
31
  var log = (0, _debug["default"])('math-input:mq:input');
32
+
53
33
  /**
54
34
  * Wrapper for MathQuill MQ.MathField.
55
35
  */
56
-
57
36
  var Input = /*#__PURE__*/function (_React$Component) {
58
37
  (0, _inherits2["default"])(Input, _React$Component);
59
-
60
38
  var _super = _createSuper(Input);
61
-
62
39
  function Input() {
63
40
  var _this;
64
-
65
41
  (0, _classCallCheck2["default"])(this, Input);
66
-
67
42
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
43
  args[_key] = arguments[_key];
69
44
  }
70
-
71
45
  _this = _super.call.apply(_super, [this].concat(args));
72
46
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onInputEdit", function () {
73
47
  log('[onInputEdit] ...');
74
48
  var onChange = _this.props.onChange;
75
-
76
49
  if (!_this.mathField) {
77
50
  return;
78
51
  }
79
-
80
52
  if (onChange) {
81
53
  onChange(_this.mathField.latex());
82
54
  }
83
55
  });
84
56
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "refresh", function () {
85
57
  _this.blur();
86
-
87
58
  _this.focus();
88
59
  });
89
60
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onKeyPress", function (event) {
90
61
  var keys = Object.keys(_this.mathField.__controller.options);
91
-
92
62
  if (keys.indexOf('ignoreNextMousedown') < 0) {
93
63
  // It seems like the controller has the above handler as an option
94
64
  // when all the right events are set and everything works fine
95
65
  // this seems to work in all cases
96
66
  _this.refresh();
97
67
  }
98
-
99
68
  if (event.charCode === 13) {
100
69
  // if enter's pressed, we're going for a custom embedded element that'll
101
70
  // have a block display (empty div) - for a hacked line break using ccs
102
71
  // all because mathquill doesn't support a line break
103
72
  _this.write('\\embed{newLine}[]');
104
-
105
73
  _this.onInputEdit();
106
74
  }
107
75
  });
108
76
  return _this;
109
77
  }
110
-
111
78
  (0, _createClass2["default"])(Input, [{
112
79
  key: "componentDidMount",
113
80
  value: function componentDidMount() {
114
81
  if (!MQ) {
115
82
  throw new Error('MQ is not defined - but component has mounted?');
116
83
  }
117
-
118
84
  this.mathField = MQ.MathField(this.input, {
119
85
  handlers: {
120
86
  edit: this.onInputEdit.bind(this)
@@ -133,9 +99,7 @@ var Input = /*#__PURE__*/function (_React$Component) {
133
99
  if (!this.mathField) {
134
100
  return;
135
101
  }
136
-
137
102
  var latex = this.props.latex;
138
-
139
103
  if (latex) {
140
104
  this.mathField.latex(latex);
141
105
  }
@@ -162,9 +126,7 @@ var Input = /*#__PURE__*/function (_React$Component) {
162
126
  key: "command",
163
127
  value: function command(v) {
164
128
  var _this2 = this;
165
-
166
129
  log('command: ', v);
167
-
168
130
  if (Array.isArray(v)) {
169
131
  v.forEach(function (vv) {
170
132
  _this2.mathField.cmd(vv);
@@ -172,7 +134,6 @@ var Input = /*#__PURE__*/function (_React$Component) {
172
134
  } else {
173
135
  this.mathField.cmd(v);
174
136
  }
175
-
176
137
  this.mathField.focus();
177
138
  return this.mathField.latex();
178
139
  }
@@ -202,13 +163,12 @@ var Input = /*#__PURE__*/function (_React$Component) {
202
163
  key: "render",
203
164
  value: function render() {
204
165
  var _this3 = this;
205
-
206
166
  var _this$props = this.props,
207
- onClick = _this$props.onClick,
208
- onFocus = _this$props.onFocus,
209
- onBlur = _this$props.onBlur,
210
- classes = _this$props.classes,
211
- className = _this$props.className;
167
+ onClick = _this$props.onClick,
168
+ onFocus = _this$props.onFocus,
169
+ onBlur = _this$props.onBlur,
170
+ classes = _this$props.classes,
171
+ className = _this$props.className;
212
172
  return /*#__PURE__*/_react["default"].createElement("span", {
213
173
  className: (0, _classnames["default"])(classes.input, className),
214
174
  onKeyPress: this.onKeyPress,
@@ -223,7 +183,6 @@ var Input = /*#__PURE__*/function (_React$Component) {
223
183
  }]);
224
184
  return Input;
225
185
  }(_react["default"].Component);
226
-
227
186
  exports.Input = Input;
228
187
  (0, _defineProperty2["default"])(Input, "propTypes", {
229
188
  className: _propTypes["default"].string,
@@ -234,12 +193,9 @@ exports.Input = Input;
234
193
  onFocus: _propTypes["default"].func,
235
194
  onBlur: _propTypes["default"].func
236
195
  });
237
-
238
196
  var styles = function styles() {
239
197
  return {};
240
198
  };
241
-
242
199
  var _default = (0, _styles.withStyles)(styles)(Input);
243
-
244
200
  exports["default"] = _default;
245
201
  //# sourceMappingURL=input.js.map
@@ -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","write","onInputEdit","Error","MathField","input","handlers","edit","bind","updateLatex","v","Array","isArray","forEach","vv","cmd","keystroke","nextProps","onClick","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 const { latex } = this.props;\n if (latex) {\n this.mathField.latex(latex);\n }\n }\n\n clear() {\n this.mathField.latex('');\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 this.mathField.focus();\n return this.mathField.latex();\n }\n\n keystroke(v) {\n this.mathField.keystroke(v);\n this.mathField.focus();\n return this.mathField.latex();\n }\n\n write(v) {\n log('write: ', v);\n this.mathField.write(v);\n this.mathField.focus();\n return this.mathField.latex();\n }\n\n onInputEdit = () => {\n log('[onInputEdit] ...');\n const { onChange } = this.props;\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 // if enter's pressed, we're going for a custom embedded element that'll\n // have a block display (empty div) - for a hacked line break using ccs\n // all because mathquill doesn't support a line break\n this.write('\\\\embed{newLine}[]');\n this.onInputEdit();\n }\n };\n\n shouldComponentUpdate(nextProps) {\n log('next: ', nextProps.latex);\n log('current: ', this.mathField.latex());\n return nextProps.latex !== this.mathField.latex();\n }\n\n render() {\n const { onClick, onFocus, onBlur, classes, className } = this.props;\n\n return (\n <span\n className={classNames(classes.input, className)}\n onKeyPress={this.onKeyPress}\n onClick={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":["MQ","window","MathQuill","getInterface","registerEmbed","registerLineBreak","log","debug","Input","onChange","props","mathField","latex","blur","focus","event","keys","Object","__controller","options","indexOf","refresh","charCode","write","onInputEdit","Error","MathField","input","handlers","edit","bind","updateLatex","v","Array","isArray","forEach","vv","cmd","keystroke","nextProps","onClick","onFocus","onBlur","classes","className","classNames","onKeyPress","r","React","Component","PropTypes","string","object","isRequired","func","styles","withStyles"],"sources":["../../src/mq/input.jsx"],"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 const { latex } = this.props;\n if (latex) {\n this.mathField.latex(latex);\n }\n }\n\n clear() {\n this.mathField.latex('');\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 this.mathField.focus();\n return this.mathField.latex();\n }\n\n keystroke(v) {\n this.mathField.keystroke(v);\n this.mathField.focus();\n return this.mathField.latex();\n }\n\n write(v) {\n log('write: ', v);\n this.mathField.write(v);\n this.mathField.focus();\n return this.mathField.latex();\n }\n\n onInputEdit = () => {\n log('[onInputEdit] ...');\n const { onChange } = this.props;\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 // if enter's pressed, we're going for a custom embedded element that'll\n // have a block display (empty div) - for a hacked line break using ccs\n // all because mathquill doesn't support a line break\n this.write('\\\\embed{newLine}[]');\n this.onInputEdit();\n }\n };\n\n shouldComponentUpdate(nextProps) {\n log('next: ', nextProps.latex);\n log('current: ', this.mathField.latex());\n return nextProps.latex !== this.mathField.latex();\n }\n\n render() {\n const { onClick, onFocus, onBlur, classes, className } = this.props;\n\n return (\n <span\n className={classNames(classes.input, className)}\n onKeyPress={this.onKeyPress}\n onClick={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"],"mappings":"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"}
package/lib/mq/static.js CHANGED
@@ -1,95 +1,65 @@
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
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
16
  var _react = _interopRequireDefault(require("react"));
27
-
28
17
  var _debug = _interopRequireDefault(require("debug"));
29
-
30
18
  var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
31
-
32
19
  var _index = require("../index");
33
-
34
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
-
36
21
  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
-
38
22
  var MQ;
39
-
40
23
  if (typeof window !== 'undefined') {
41
24
  MQ = _mathquill["default"].getInterface(2);
42
25
  }
43
-
44
26
  var log = (0, _debug["default"])('pie-lib:math-input:mq:static');
45
27
  var REGEX = /\\MathQuillMathField\[r\d*\]\{(.*?)\}/g;
46
28
  var WHITESPACE_REGEX = / /g;
47
-
48
29
  function stripSpaces() {
49
30
  var string = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
50
31
  return string.replace(WHITESPACE_REGEX, '');
51
32
  }
33
+
52
34
  /**
53
35
  * Wrapper for MathQuill MQ.MathField.
54
36
  */
55
-
56
-
57
37
  var Static = /*#__PURE__*/function (_React$Component) {
58
38
  (0, _inherits2["default"])(Static, _React$Component);
59
-
60
39
  var _super = _createSuper(Static);
61
-
62
40
  function Static() {
63
41
  var _this;
64
-
65
42
  (0, _classCallCheck2["default"])(this, Static);
66
-
67
43
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
44
  args[_key] = arguments[_key];
69
45
  }
70
-
71
46
  _this = _super.call.apply(_super, [this].concat(args));
72
47
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function (e) {
73
48
  try {
74
49
  var rootBlock = e.target.parentElement.nextSibling;
75
50
  var id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);
76
-
77
51
  if (!id) {
78
52
  rootBlock = rootBlock.parentElement;
79
53
  id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);
80
54
  }
81
-
82
55
  var innerField = _this.mathField.innerFields.find(function (f) {
83
56
  return f.id === id;
84
57
  });
85
-
86
58
  if (innerField) {
87
59
  var name = _this.props.getFieldName(innerField, _this.mathField.innerFields);
88
-
89
60
  if (_this.props.setInput) {
90
61
  _this.props.setInput(innerField);
91
62
  }
92
-
93
63
  _this.props.onSubFieldFocus(name, innerField);
94
64
  }
95
65
  } catch (err) {
@@ -99,7 +69,6 @@ var Static = /*#__PURE__*/function (_React$Component) {
99
69
  });
100
70
  return _this;
101
71
  }
102
-
103
72
  (0, _createClass2["default"])(Static, [{
104
73
  key: "componentDidMount",
105
74
  value: function componentDidMount() {
@@ -118,17 +87,13 @@ var Static = /*#__PURE__*/function (_React$Component) {
118
87
  if (!this.mathField) {
119
88
  return;
120
89
  }
121
-
122
90
  var name = this.props.getFieldName(field, this.mathField.innerFields);
123
-
124
91
  if (this.props.onSubFieldChange) {
125
92
  // eslint-disable-next-line no-useless-escape
126
93
  var regexMatch = field.latex().match(/[0-9]\\ \\frac\{[^\{]*\}\{ \}/);
127
-
128
94
  if (this.input && regexMatch && regexMatch !== null && regexMatch !== void 0 && regexMatch.length) {
129
95
  try {
130
96
  field.__controller.cursor.insLeftOf(field.__controller.cursor.parent[-1].parent);
131
-
132
97
  field.el().dispatchEvent(new KeyboardEvent('keydown', {
133
98
  keyCode: 8
134
99
  }));
@@ -145,9 +110,8 @@ var Static = /*#__PURE__*/function (_React$Component) {
145
110
  value: function update() {
146
111
  if (!MQ) {
147
112
  throw new Error('MQ is not defined - but component has mounted?');
148
- } // this.input.innerHTML = this.props.latex;
149
-
150
-
113
+ }
114
+ // this.input.innerHTML = this.props.latex;
151
115
  if (!this.mathField) {
152
116
  this.mathField = MQ.StaticMath(this.input, {
153
117
  handlers: {
@@ -155,7 +119,6 @@ var Static = /*#__PURE__*/function (_React$Component) {
155
119
  }
156
120
  });
157
121
  }
158
-
159
122
  try {
160
123
  this.mathField.parseLatex(this.props.latex);
161
124
  this.mathField.latex(this.props.latex);
@@ -188,8 +151,8 @@ var Static = /*#__PURE__*/function (_React$Component) {
188
151
  return out;
189
152
  } catch (e) {
190
153
  // eslint-disable-next-line no-console
191
- console.warn('Error parsing latex:', e.message, 'skip update'); // eslint-disable-next-line no-console
192
-
154
+ console.warn('Error parsing latex:', e.message, 'skip update');
155
+ // eslint-disable-next-line no-console
193
156
  console.warn(e);
194
157
  return false;
195
158
  }
@@ -198,10 +161,9 @@ var Static = /*#__PURE__*/function (_React$Component) {
198
161
  key: "render",
199
162
  value: function render() {
200
163
  var _this2 = this;
201
-
202
164
  var _this$props = this.props,
203
- onBlur = _this$props.onBlur,
204
- className = _this$props.className;
165
+ onBlur = _this$props.onBlur,
166
+ className = _this$props.className;
205
167
  return /*#__PURE__*/_react["default"].createElement("span", {
206
168
  className: className,
207
169
  onFocus: this.onFocus,
@@ -214,7 +176,6 @@ var Static = /*#__PURE__*/function (_React$Component) {
214
176
  }]);
215
177
  return Static;
216
178
  }(_react["default"].Component);
217
-
218
179
  exports["default"] = Static;
219
180
  (0, _defineProperty2["default"])(Static, "propTypes", {
220
181
  latex: _propTypes["default"].string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mq/static.jsx"],"names":["MQ","window","MathQuill","getInterface","log","REGEX","WHITESPACE_REGEX","stripSpaces","string","replace","Static","e","rootBlock","target","parentElement","nextSibling","id","parseInt","getAttribute","innerField","mathField","innerFields","find","f","name","props","getFieldName","setInput","onSubFieldFocus","err","console","error","message","update","field","onSubFieldChange","regexMatch","latex","match","input","length","__controller","cursor","insLeftOf","parent","el","dispatchEvent","KeyboardEvent","keyCode","toString","Error","StaticMath","handlers","edit","onInputEdit","bind","parseLatex","blur","focus","nextProps","parsedLatex","stripped","newFieldCount","out","trim","Object","keys","warn","onBlur","className","onFocus","r","React","Component","PropTypes","isRequired","func"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport MathQuill from '@pie-framework/mathquill';\nimport { updateSpans } from '../index';\n\nlet MQ;\nif (typeof window !== 'undefined') {\n MQ = MathQuill.getInterface(2);\n}\n\nconst log = debug('pie-lib:math-input:mq:static');\nconst REGEX = /\\\\MathQuillMathField\\[r\\d*\\]\\{(.*?)\\}/g;\nconst WHITESPACE_REGEX = / /g;\n\nfunction stripSpaces(string = '') {\n return string.replace(WHITESPACE_REGEX, '');\n}\n\n/**\n * Wrapper for MathQuill MQ.MathField.\n */\nexport default class Static extends React.Component {\n static propTypes = {\n latex: PropTypes.string.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n className: PropTypes.string,\n getFieldName: PropTypes.func,\n onSubFieldChange: PropTypes.func,\n onSubFieldFocus: PropTypes.func,\n setInput: PropTypes.func,\n };\n\n componentDidMount() {\n this.update();\n updateSpans();\n }\n\n componentDidUpdate() {\n this.update();\n updateSpans();\n }\n\n onInputEdit(field) {\n if (!this.mathField) {\n return;\n }\n const name = this.props.getFieldName(field, this.mathField.innerFields);\n\n if (this.props.onSubFieldChange) {\n // eslint-disable-next-line no-useless-escape\n const regexMatch = field.latex().match(/[0-9]\\\\ \\\\frac\\{[^\\{]*\\}\\{ \\}/);\n\n if (this.input && regexMatch && regexMatch?.length) {\n try {\n field.__controller.cursor.insLeftOf(field.__controller.cursor.parent[-1].parent);\n field.el().dispatchEvent(new KeyboardEvent('keydown', { keyCode: 8 }));\n } catch (e) {\n console.error(e.toString());\n }\n } else {\n this.props.onSubFieldChange(name, field.latex());\n }\n }\n }\n\n update() {\n if (!MQ) {\n throw new Error('MQ is not defined - but component has mounted?');\n }\n // this.input.innerHTML = this.props.latex;\n if (!this.mathField) {\n this.mathField = MQ.StaticMath(this.input, {\n handlers: {\n edit: this.onInputEdit.bind(this),\n },\n });\n }\n\n try {\n this.mathField.parseLatex(this.props.latex);\n this.mathField.latex(this.props.latex);\n } catch (e) {\n // default latex if received has errors\n this.mathField.latex('\\\\MathQuillMathField[r1]{}');\n }\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 shouldComponentUpdate(nextProps) {\n try {\n const parsedLatex = this.mathField.parseLatex(nextProps.latex);\n const stripped = stripSpaces(parsedLatex);\n const newFieldCount = (nextProps.latex.match(REGEX) || []).length;\n\n const out =\n stripped !== stripSpaces(this.mathField.latex().trim()) ||\n newFieldCount !== Object.keys(this.mathField.innerFields).length / 2;\n\n log('[shouldComponentUpdate] ', out);\n return out;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Error parsing latex:', e.message, 'skip update');\n // eslint-disable-next-line no-console\n console.warn(e);\n return false;\n }\n }\n\n onFocus = (e) => {\n try {\n let rootBlock = e.target.parentElement.nextSibling;\n let id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);\n\n if (!id) {\n rootBlock = rootBlock.parentElement;\n id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);\n }\n\n const innerField = this.mathField.innerFields.find((f) => f.id === id);\n\n if (innerField) {\n const name = this.props.getFieldName(innerField, this.mathField.innerFields);\n if (this.props.setInput) {\n this.props.setInput(innerField);\n }\n this.props.onSubFieldFocus(name, innerField);\n }\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('error finding root block', err.message);\n }\n };\n\n render() {\n const { onBlur, className } = this.props;\n\n return <span className={className} onFocus={this.onFocus} onBlur={onBlur} ref={(r) => (this.input = r)} />;\n }\n}\n"],"file":"static.js"}
1
+ {"version":3,"file":"static.js","names":["MQ","window","MathQuill","getInterface","log","debug","REGEX","WHITESPACE_REGEX","stripSpaces","string","replace","Static","e","rootBlock","target","parentElement","nextSibling","id","parseInt","getAttribute","innerField","mathField","innerFields","find","f","name","props","getFieldName","setInput","onSubFieldFocus","err","console","error","message","update","updateSpans","field","onSubFieldChange","regexMatch","latex","match","input","length","__controller","cursor","insLeftOf","parent","el","dispatchEvent","KeyboardEvent","keyCode","toString","Error","StaticMath","handlers","edit","onInputEdit","bind","parseLatex","blur","focus","nextProps","parsedLatex","stripped","newFieldCount","out","trim","Object","keys","warn","onBlur","className","onFocus","r","React","Component","PropTypes","isRequired","func"],"sources":["../../src/mq/static.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport MathQuill from '@pie-framework/mathquill';\nimport { updateSpans } from '../index';\n\nlet MQ;\nif (typeof window !== 'undefined') {\n MQ = MathQuill.getInterface(2);\n}\n\nconst log = debug('pie-lib:math-input:mq:static');\nconst REGEX = /\\\\MathQuillMathField\\[r\\d*\\]\\{(.*?)\\}/g;\nconst WHITESPACE_REGEX = / /g;\n\nfunction stripSpaces(string = '') {\n return string.replace(WHITESPACE_REGEX, '');\n}\n\n/**\n * Wrapper for MathQuill MQ.MathField.\n */\nexport default class Static extends React.Component {\n static propTypes = {\n latex: PropTypes.string.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n className: PropTypes.string,\n getFieldName: PropTypes.func,\n onSubFieldChange: PropTypes.func,\n onSubFieldFocus: PropTypes.func,\n setInput: PropTypes.func,\n };\n\n componentDidMount() {\n this.update();\n updateSpans();\n }\n\n componentDidUpdate() {\n this.update();\n updateSpans();\n }\n\n onInputEdit(field) {\n if (!this.mathField) {\n return;\n }\n const name = this.props.getFieldName(field, this.mathField.innerFields);\n\n if (this.props.onSubFieldChange) {\n // eslint-disable-next-line no-useless-escape\n const regexMatch = field.latex().match(/[0-9]\\\\ \\\\frac\\{[^\\{]*\\}\\{ \\}/);\n\n if (this.input && regexMatch && regexMatch?.length) {\n try {\n field.__controller.cursor.insLeftOf(field.__controller.cursor.parent[-1].parent);\n field.el().dispatchEvent(new KeyboardEvent('keydown', { keyCode: 8 }));\n } catch (e) {\n console.error(e.toString());\n }\n } else {\n this.props.onSubFieldChange(name, field.latex());\n }\n }\n }\n\n update() {\n if (!MQ) {\n throw new Error('MQ is not defined - but component has mounted?');\n }\n // this.input.innerHTML = this.props.latex;\n if (!this.mathField) {\n this.mathField = MQ.StaticMath(this.input, {\n handlers: {\n edit: this.onInputEdit.bind(this),\n },\n });\n }\n\n try {\n this.mathField.parseLatex(this.props.latex);\n this.mathField.latex(this.props.latex);\n } catch (e) {\n // default latex if received has errors\n this.mathField.latex('\\\\MathQuillMathField[r1]{}');\n }\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 shouldComponentUpdate(nextProps) {\n try {\n const parsedLatex = this.mathField.parseLatex(nextProps.latex);\n const stripped = stripSpaces(parsedLatex);\n const newFieldCount = (nextProps.latex.match(REGEX) || []).length;\n\n const out =\n stripped !== stripSpaces(this.mathField.latex().trim()) ||\n newFieldCount !== Object.keys(this.mathField.innerFields).length / 2;\n\n log('[shouldComponentUpdate] ', out);\n return out;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Error parsing latex:', e.message, 'skip update');\n // eslint-disable-next-line no-console\n console.warn(e);\n return false;\n }\n }\n\n onFocus = (e) => {\n try {\n let rootBlock = e.target.parentElement.nextSibling;\n let id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);\n\n if (!id) {\n rootBlock = rootBlock.parentElement;\n id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);\n }\n\n const innerField = this.mathField.innerFields.find((f) => f.id === id);\n\n if (innerField) {\n const name = this.props.getFieldName(innerField, this.mathField.innerFields);\n if (this.props.setInput) {\n this.props.setInput(innerField);\n }\n this.props.onSubFieldFocus(name, innerField);\n }\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('error finding root block', err.message);\n }\n };\n\n render() {\n const { onBlur, className } = this.props;\n\n return <span className={className} onFocus={this.onFocus} onBlur={onBlur} ref={(r) => (this.input = r)} />;\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "6.9.1-next.0+7f572075",
6
+ "version": "6.9.1-next.53+cbb2d706",
7
7
  "main": "lib/index.js",
8
8
  "module": "src/index.jsx",
9
9
  "dependencies": {
@@ -22,5 +22,5 @@
22
22
  "react-dom": "^16.9.0"
23
23
  },
24
24
  "scripts": {},
25
- "gitHead": "7f5720751281e2019ec8ff9c513703d81bcb1aef"
25
+ "gitHead": "cbb2d70637263fd7d0bf2a0a7d0b4b75e2a7370c"
26
26
  }
@@ -260,16 +260,17 @@ export class KeyPad extends React.Component {
260
260
  return (
261
261
  <LatexButton
262
262
  latex={k.latex}
263
+ key={index}
263
264
  {...common}
264
265
  className={classes.latexButton}
265
- ariaLabel={k.ariaLabel ? k.ariaLabel : (k.name || k.label)}
266
+ ariaLabel={k.ariaLabel ? k.ariaLabel : k.name || k.label}
266
267
  />
267
268
  );
268
269
  }
269
270
 
270
271
  if (k.label) {
271
272
  return (
272
- <Button {...common} aria-label={k.ariaLabel ? k.ariaLabel : (k.name || k.label)}>
273
+ <Button key={index} {...common} aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}>
273
274
  {k.label}
274
275
  </Button>
275
276
  );
@@ -277,7 +278,7 @@ export class KeyPad extends React.Component {
277
278
  const Icon = k.icon ? k.icon : 'div';
278
279
 
279
280
  return (
280
- <IconButton tabIndex={'-1'} {...common}>
281
+ <IconButton tabIndex={'-1'} {...common} key={index}>
281
282
  <Icon className={classes.icon} />
282
283
  </IconButton>
283
284
  );