@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.
Files changed (83) hide show
  1. package/CHANGELOG.md +6 -64
  2. package/lib/horizontal-keypad.js +16 -44
  3. package/lib/horizontal-keypad.js.map +1 -1
  4. package/lib/index.js +3 -25
  5. package/lib/index.js.map +1 -1
  6. package/lib/keypad/index.js +254 -332
  7. package/lib/keypad/index.js.map +1 -1
  8. package/lib/keypad/keys-layout.js +2 -12
  9. package/lib/keypad/keys-layout.js.map +1 -1
  10. package/lib/keys/basic-operators.js +5 -13
  11. package/lib/keys/basic-operators.js.map +1 -1
  12. package/lib/keys/chars.js +5 -10
  13. package/lib/keys/chars.js.map +1 -1
  14. package/lib/keys/comparison.js +6 -16
  15. package/lib/keys/comparison.js.map +1 -1
  16. package/lib/keys/constants.js +4 -10
  17. package/lib/keys/constants.js.map +1 -1
  18. package/lib/keys/digits.js +1 -7
  19. package/lib/keys/digits.js.map +1 -1
  20. package/lib/keys/edit.js +1 -4
  21. package/lib/keys/edit.js.map +1 -1
  22. package/lib/keys/exponent.js +4 -10
  23. package/lib/keys/exponent.js.map +1 -1
  24. package/lib/keys/fractions.js +3 -8
  25. package/lib/keys/fractions.js.map +1 -1
  26. package/lib/keys/geometry.js +25 -54
  27. package/lib/keys/geometry.js.map +1 -1
  28. package/lib/keys/grades.js +10 -46
  29. package/lib/keys/grades.js.map +1 -1
  30. package/lib/keys/index.js +13 -32
  31. package/lib/keys/index.js.map +1 -1
  32. package/lib/keys/log.js +3 -8
  33. package/lib/keys/log.js.map +1 -1
  34. package/lib/keys/logic.js +2 -6
  35. package/lib/keys/logic.js.map +1 -1
  36. package/lib/keys/matrices.js +2 -6
  37. package/lib/keys/matrices.js.map +1 -1
  38. package/lib/keys/misc.js +10 -22
  39. package/lib/keys/misc.js.map +1 -1
  40. package/lib/keys/navigation.js +2 -7
  41. package/lib/keys/navigation.js.map +1 -1
  42. package/lib/keys/operators.js +1 -4
  43. package/lib/keys/operators.js.map +1 -1
  44. package/lib/keys/statistics.js +5 -12
  45. package/lib/keys/statistics.js.map +1 -1
  46. package/lib/keys/sub-sup.js +2 -6
  47. package/lib/keys/sub-sup.js.map +1 -1
  48. package/lib/keys/trigonometry.js +6 -14
  49. package/lib/keys/trigonometry.js.map +1 -1
  50. package/lib/keys/utils.js +7 -40
  51. package/lib/keys/utils.js.map +1 -1
  52. package/lib/keys/vars.js +3 -8
  53. package/lib/keys/vars.js.map +1 -1
  54. package/lib/math-input.js +52 -103
  55. package/lib/math-input.js.map +1 -1
  56. package/lib/mq/common-mq-styles.js +7 -18
  57. package/lib/mq/common-mq-styles.js.map +1 -1
  58. package/lib/mq/custom-elements.js +1 -4
  59. package/lib/mq/custom-elements.js.map +1 -1
  60. package/lib/mq/index.js +0 -4
  61. package/lib/mq/index.js.map +1 -1
  62. package/lib/mq/input.js +22 -75
  63. package/lib/mq/input.js.map +1 -1
  64. package/lib/mq/static.js +34 -92
  65. package/lib/mq/static.js.map +1 -1
  66. package/lib/shared/constants.js +3 -6
  67. package/lib/updateSpans.js +1 -5
  68. package/lib/updateSpans.js.map +1 -1
  69. package/package.json +10 -10
  70. package/src/__tests__/math-input-test.jsx +31 -71
  71. package/src/keypad/__tests__/index.test.jsx +18 -17
  72. package/src/keypad/index.jsx +172 -169
  73. package/src/math-input.jsx +35 -44
  74. package/src/mq/__tests__/input.test.jsx +26 -78
  75. package/src/mq/__tests__/static.test.jsx +14 -38
  76. package/src/mq/input.jsx +9 -9
  77. package/src/mq/static.jsx +3 -0
  78. package/esm/index.css +0 -847
  79. package/esm/index.js +0 -44393
  80. package/esm/index.js.map +0 -1
  81. package/src/__tests__/__snapshots__/math-input-test.jsx.snap +0 -152
  82. package/src/keypad/__tests__/__snapshots__/index.test.jsx.snap +0 -193
  83. 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 _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
- 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
- _this = _super.call.apply(_super, [this].concat(args));
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"])((0, _assertThisInitialized2["default"])(_this), "refresh", function () {
55
+ (0, _defineProperty2["default"])(_this, "refresh", function () {
85
56
  _this.blur();
86
-
87
57
  _this.focus();
88
58
  });
89
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onKeyPress", function (event) {
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"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (event) {
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
- onFocus = _this$props.onFocus,
211
- onBlur = _this$props.onBlur,
212
- classes = _this$props.classes,
213
- className = _this$props.className;
214
- return /*#__PURE__*/_react["default"].createElement("span", {
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
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAIA,EAAJ;;AACA,IAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACjCD,EAAAA,EAAE,GAAGE,sBAAUC,YAAV,CAAuB,CAAvB,CAAL;;AAEA,MAAIH,EAAE,IAAIA,EAAE,CAACI,aAAb,EAA4B;AAC1B,2CAAkBJ,EAAlB;AACD;AACF;;AAED,IAAMK,GAAG,GAAG,uBAAM,qBAAN,CAAZ;AAEA;AACA;AACA;;IACaC,K;;;;;;;;;;;;;;;oGAuFG,YAAM;AAClBD,MAAAA,GAAG,CAAC,mBAAD,CAAH;AACA,UAAQE,QAAR,GAAqB,MAAKC,KAA1B,CAAQD,QAAR;;AAEA,UAAI,CAAC,MAAKE,SAAV,EAAqB;AACnB;AACD;;AAED,UAAIF,QAAJ,EAAc;AACZA,QAAAA,QAAQ,CAAC,MAAKE,SAAL,CAAeC,KAAf,EAAD,CAAR;AACD;AACF,K;gGAES,YAAM;AACd,YAAKC,IAAL;;AACA,YAAKC,KAAL;AACD,K;mGAEY,UAACC,KAAD,EAAW;AACtB,UAAMC,IAAI,GAAGC,MAAM,CAACD,IAAP,CAAY,MAAKL,SAAL,CAAeO,YAAf,CAA4BC,OAAxC,CAAb;;AAEA,UAAIH,IAAI,CAACI,OAAL,CAAa,qBAAb,IAAsC,CAA1C,EAA6C;AAC3C;AACA;AACA;AACA,cAAKC,OAAL;AACD;;AAED,UAAIN,KAAK,CAACO,QAAN,KAAmB,EAAvB,EAA2B;AACzBP,QAAAA,KAAK,CAACQ,cAAN;AACA;AACD;AACF,K;gGAES,UAACR,KAAD,EAAW;AACnB,UAAQS,OAAR,GAAoB,MAAKd,KAAzB,CAAQc,OAAR;;AAEA,YAAKH,OAAL;;AACAG,MAAAA,OAAO,IAAIA,OAAO,CAACT,KAAD,CAAlB;AACD,K;;;;;;WAnHD,6BAAoB;AAClB,UAAI,CAACb,EAAL,EAAS;AACP,cAAM,IAAIuB,KAAJ,CAAU,gDAAV,CAAN;AACD;;AAED,WAAKd,SAAL,GAAiBT,EAAE,CAACwB,SAAH,CAAa,KAAKC,KAAlB,EAAyB;AACxCC,QAAAA,QAAQ,EAAE;AACRC,UAAAA,IAAI,EAAE,KAAKC,WAAL,CAAiBC,IAAjB,CAAsB,IAAtB;AADE;AAD8B,OAAzB,CAAjB;AAMA,WAAKC,WAAL;AACD;;;WAED,8BAAqB;AACnB,WAAKA,WAAL;AACD;;;WAED,uBAAc;AACZ,UAAI,CAAC,KAAKrB,SAAV,EAAqB;AACnB;AACD;;AAED,UAAQC,KAAR,GAAkB,KAAKF,KAAvB,CAAQE,KAAR;;AAEA,UAAIA,KAAK,KAAKqB,SAAV,IAAuBrB,KAAK,KAAK,IAArC,EAA2C;AACzC,aAAKD,SAAL,CAAeC,KAAf,CAAqBA,KAArB;AACD;AACF;;;WAED,iBAAQ;AACN,WAAKD,SAAL,CAAeC,KAAf,CAAqB,EAArB;AAEA,aAAO,EAAP;AACD;;;WAED,gBAAO;AACLL,MAAAA,GAAG,CAAC,gBAAD,CAAH;AACA,WAAKI,SAAL,CAAeE,IAAf;AACD;;;WAED,iBAAQ;AACNN,MAAAA,GAAG,CAAC,oBAAD,CAAH;AACA,WAAKI,SAAL,CAAeG,KAAf;AACD;;;WAED,iBAAQoB,CAAR,EAAW;AAAA;;AACT3B,MAAAA,GAAG,CAAC,WAAD,EAAc2B,CAAd,CAAH;;AACA,UAAIC,KAAK,CAACC,OAAN,CAAcF,CAAd,CAAJ,EAAsB;AACpBA,QAAAA,CAAC,CAACG,OAAF,CAAU,UAACC,EAAD,EAAQ;AAChB,UAAA,MAAI,CAAC3B,SAAL,CAAe4B,GAAf,CAAmBD,EAAnB;AACD,SAFD;AAGD,OAJD,MAIO;AACL,aAAK3B,SAAL,CAAe4B,GAAf,CAAmBL,CAAnB;AACD;;AAED,WAAKvB,SAAL,CAAeG,KAAf;AAEA,aAAO,KAAKH,SAAL,CAAeC,KAAf,EAAP;AACD;;;WAED,mBAAUsB,CAAV,EAAa;AACX,WAAKvB,SAAL,CAAe6B,SAAf,CAAyBN,CAAzB;AACA,WAAKvB,SAAL,CAAeG,KAAf;AAEA,aAAO,KAAKH,SAAL,CAAeC,KAAf,EAAP;AACD;;;WAED,eAAMsB,CAAN,EAAS;AACP3B,MAAAA,GAAG,CAAC,SAAD,EAAY2B,CAAZ,CAAH;AACA,WAAKvB,SAAL,CAAe8B,KAAf,CAAqBP,CAArB;AACA,WAAKvB,SAAL,CAAeG,KAAf;AAEA,aAAO,KAAKH,SAAL,CAAeC,KAAf,EAAP;AACD;;;WA2CD,+BAAsB8B,SAAtB,EAAiC;AAC/BnC,MAAAA,GAAG,CAAC,QAAD,EAAWmC,SAAS,CAAC9B,KAArB,CAAH;AACAL,MAAAA,GAAG,CAAC,WAAD,EAAc,KAAKI,SAAL,CAAeC,KAAf,EAAd,CAAH;AAEA,aAAO8B,SAAS,CAAC9B,KAAV,KAAoB,KAAKD,SAAL,CAAeC,KAAf,EAA3B;AACD;;;WAED,kBAAS;AAAA;;AACP,wBAAgD,KAAKF,KAArD;AAAA,UAAQiC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,MAAjB,eAAiBA,MAAjB;AAAA,UAAyBC,OAAzB,eAAyBA,OAAzB;AAAA,UAAkCC,SAAlC,eAAkCA,SAAlC;AAEA,0BACE;AACE,QAAA,SAAS,EAAE,4BAAWD,OAAO,CAAClB,KAAnB,EAA0BmB,SAA1B,CADb;AAEE,QAAA,SAAS,EAAE,KAAKC,UAFlB;AAGE,QAAA,OAAO,EAAE,KAAKvB,OAHhB;AAIE,QAAA,OAAO,EAAEmB,OAJX;AAKE,QAAA,MAAM,EAAEC,MALV;AAME,QAAA,GAAG,EAAE,aAACI,CAAD;AAAA,iBAAQ,MAAI,CAACrB,KAAL,GAAaqB,CAArB;AAAA;AANP,QADF;AAUD;;;EApJwBC,kBAAMC,S;;;iCAApB1C,K,eACQ;AACjBsC,EAAAA,SAAS,EAAEK,sBAAUC,MADJ;AAEjBP,EAAAA,OAAO,EAAEM,sBAAUE,MAAV,CAAiBC,UAFT;AAGjB9B,EAAAA,OAAO,EAAE2B,sBAAUI,IAHF;AAIjB9C,EAAAA,QAAQ,EAAE0C,sBAAUI,IAJH;AAKjB3C,EAAAA,KAAK,EAAEuC,sBAAUC,MALA;AAMjBT,EAAAA,OAAO,EAAEQ,sBAAUI,IANF;AAOjBX,EAAAA,MAAM,EAAEO,sBAAUI;AAPD,C;;AAsJrB,IAAMC,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO,EAAP;AAAA,CAAf;;eAEe,wBAAWA,MAAX,EAAmBhD,KAAnB,C","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 _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
- 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 = _super.call(this, props);
79
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "createLiveRegion", function () {
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"])((0, _assertThisInitialized2["default"])(_this), "addEventListeners", function () {
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"])((0, _assertThisInitialized2["default"])(_this), "removeEventListeners", function () {
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"])((0, _assertThisInitialized2["default"])(_this), "removeLiveRegion", function () {
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"])((0, _assertThisInitialized2["default"])(_this), "handleKeyDown", function (event) {
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"])((0, _assertThisInitialized2["default"])(_this), "handleMathKeyboardClick", function () {
92
+ (0, _defineProperty2["default"])(_this, "handleMathKeyboardClick", function () {
128
93
  _this.setState({
129
94
  inputSource: 'mathKeyboard'
130
95
  });
131
96
  });
132
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onInputEdit", function (field) {
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"])((0, _assertThisInitialized2["default"])(_this), "announceLatexConversion", function (newLatex) {
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
- previousLatex = _this$state.previousLatex,
171
- inputSource = _this$state.inputSource,
172
- isDeleteKeyPressed = _this$state.isDeleteKeyPressed;
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"])((0, _assertThisInitialized2["default"])(_this), "announceMessage", function (message) {
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; // Clear the message after it is announced
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"])((0, _assertThisInitialized2["default"])(_this), "update", function () {
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((0, _assertThisInitialized2["default"])(_this))
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"])((0, _assertThisInitialized2["default"])(_this), "blur", function () {
191
+ (0, _defineProperty2["default"])(_this, "blur", function () {
240
192
  log('blur mathfield');
241
-
242
193
  _this.mathField.blur();
243
194
  });
244
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "focus", function () {
195
+ (0, _defineProperty2["default"])(_this, "focus", function () {
245
196
  log('focus mathfield...');
246
-
247
197
  _this.mathField.focus();
248
198
  });
249
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function (e) {
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'); // eslint-disable-next-line no-console
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
- onBlur = _this$props.onBlur,
330
- className = _this$props.className;
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,