@pie-lib/math-input 8.1.0 → 8.1.1-next.2

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 (185) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +11 -0
  2. package/dist/horizontal-keypad.d.ts +31 -0
  3. package/dist/horizontal-keypad.js +57 -0
  4. package/dist/index.d.ts +18 -0
  5. package/dist/index.js +19 -0
  6. package/dist/keypad/accessible-keypad.d.ts +37 -0
  7. package/dist/keypad/accessible-keypad.js +614 -0
  8. package/dist/keypad/index.d.ts +2 -0
  9. package/dist/keypad/keys-layout.d.ts +15 -0
  10. package/dist/keypad/keys-layout.js +5 -0
  11. package/dist/keypad/model.d.ts +28 -0
  12. package/dist/keypad/model.js +4 -0
  13. package/dist/keys/basic-operators.d.ts +13 -0
  14. package/dist/keys/basic-operators.js +30 -0
  15. package/dist/keys/chars.d.ts +13 -0
  16. package/dist/keys/comparison.d.ts +12 -0
  17. package/dist/keys/comparison.js +32 -0
  18. package/dist/keys/constants.d.ts +12 -0
  19. package/dist/keys/constants.js +35 -0
  20. package/dist/keys/digits.d.ts +23 -0
  21. package/dist/keys/digits.js +34 -0
  22. package/dist/keys/edit.d.ts +14 -0
  23. package/dist/keys/edit.js +9 -0
  24. package/dist/keys/exponent.d.ts +12 -0
  25. package/dist/keys/exponent.js +28 -0
  26. package/dist/keys/fractions.d.ts +11 -0
  27. package/dist/keys/fractions.js +27 -0
  28. package/dist/keys/geometry.d.ts +31 -0
  29. package/dist/keys/geometry.js +127 -0
  30. package/dist/keys/grades.d.ts +17 -0
  31. package/dist/keys/grades.js +414 -0
  32. package/dist/keys/index.d.ts +14 -0
  33. package/dist/keys/index.js +50 -0
  34. package/dist/keys/log.d.ts +11 -0
  35. package/dist/keys/log.js +25 -0
  36. package/dist/keys/logic.d.ts +10 -0
  37. package/dist/keys/logic.js +13 -0
  38. package/dist/keys/matrices.d.ts +10 -0
  39. package/dist/keys/matrices.js +17 -0
  40. package/dist/keys/misc.d.ts +18 -0
  41. package/dist/keys/misc.js +60 -0
  42. package/dist/keys/navigation.d.ts +10 -0
  43. package/dist/keys/navigation.js +13 -0
  44. package/dist/keys/operators.d.ts +9 -0
  45. package/dist/keys/operators.js +11 -0
  46. package/dist/keys/statistics.d.ts +13 -0
  47. package/dist/keys/statistics.js +38 -0
  48. package/dist/keys/sub-sup.d.ts +10 -0
  49. package/dist/keys/sub-sup.js +17 -0
  50. package/dist/keys/trigonometry.d.ts +14 -0
  51. package/dist/keys/trigonometry.js +43 -0
  52. package/dist/keys/utils.d.ts +13 -0
  53. package/dist/keys/utils.js +24 -0
  54. package/dist/keys/vars.d.ts +11 -0
  55. package/dist/keys/vars.js +22 -0
  56. package/dist/math-input.d.ts +30 -0
  57. package/dist/mq/common-mq-styles.d.ts +225 -0
  58. package/dist/mq/common-mq-styles.js +54 -0
  59. package/dist/mq/custom-elements.d.ts +10 -0
  60. package/dist/mq/custom-elements.js +10 -0
  61. package/dist/mq/index.d.ts +12 -0
  62. package/dist/mq/index.js +12 -0
  63. package/dist/mq/input.d.ts +35 -0
  64. package/dist/mq/input.js +83 -0
  65. package/dist/mq/static.d.ts +43 -0
  66. package/dist/mq/static.js +142 -0
  67. package/dist/updateSpans.d.ts +10 -0
  68. package/dist/updateSpans.js +9 -0
  69. package/package.json +32 -17
  70. package/CHANGELOG.json +0 -17
  71. package/CHANGELOG.md +0 -1172
  72. package/LICENSE.md +0 -5
  73. package/lib/horizontal-keypad.js +0 -96
  74. package/lib/horizontal-keypad.js.map +0 -1
  75. package/lib/index.js +0 -69
  76. package/lib/index.js.map +0 -1
  77. package/lib/keypad/index.js +0 -413
  78. package/lib/keypad/index.js.map +0 -1
  79. package/lib/keypad/keys-layout.js +0 -22
  80. package/lib/keypad/keys-layout.js.map +0 -1
  81. package/lib/keys/basic-operators.js +0 -33
  82. package/lib/keys/basic-operators.js.map +0 -1
  83. package/lib/keys/chars.js +0 -12
  84. package/lib/keys/chars.js.map +0 -1
  85. package/lib/keys/comparison.js +0 -39
  86. package/lib/keys/comparison.js.map +0 -1
  87. package/lib/keys/constants.js +0 -37
  88. package/lib/keys/constants.js.map +0 -1
  89. package/lib/keys/digits.js +0 -46
  90. package/lib/keys/digits.js.map +0 -1
  91. package/lib/keys/edit.js +0 -14
  92. package/lib/keys/edit.js.map +0 -1
  93. package/lib/keys/exponent.js +0 -30
  94. package/lib/keys/exponent.js.map +0 -1
  95. package/lib/keys/fractions.js +0 -29
  96. package/lib/keys/fractions.js.map +0 -1
  97. package/lib/keys/geometry.js +0 -140
  98. package/lib/keys/geometry.js.map +0 -1
  99. package/lib/keys/grades.js +0 -259
  100. package/lib/keys/grades.js.map +0 -1
  101. package/lib/keys/index.js +0 -35
  102. package/lib/keys/index.js.map +0 -1
  103. package/lib/keys/log.js +0 -27
  104. package/lib/keys/log.js.map +0 -1
  105. package/lib/keys/logic.js +0 -19
  106. package/lib/keys/logic.js.map +0 -1
  107. package/lib/keys/matrices.js +0 -19
  108. package/lib/keys/matrices.js.map +0 -1
  109. package/lib/keys/misc.js +0 -62
  110. package/lib/keys/misc.js.map +0 -1
  111. package/lib/keys/navigation.js +0 -20
  112. package/lib/keys/navigation.js.map +0 -1
  113. package/lib/keys/operators.js +0 -15
  114. package/lib/keys/operators.js.map +0 -1
  115. package/lib/keys/statistics.js +0 -40
  116. package/lib/keys/statistics.js.map +0 -1
  117. package/lib/keys/sub-sup.js +0 -19
  118. package/lib/keys/sub-sup.js.map +0 -1
  119. package/lib/keys/trigonometry.js +0 -45
  120. package/lib/keys/trigonometry.js.map +0 -1
  121. package/lib/keys/utils.js +0 -87
  122. package/lib/keys/utils.js.map +0 -1
  123. package/lib/keys/vars.js +0 -24
  124. package/lib/keys/vars.js.map +0 -1
  125. package/lib/math-input.js +0 -141
  126. package/lib/math-input.js.map +0 -1
  127. package/lib/mq/common-mq-styles.js +0 -102
  128. package/lib/mq/common-mq-styles.js.map +0 -1
  129. package/lib/mq/custom-elements.js +0 -20
  130. package/lib/mq/custom-elements.js.map +0 -1
  131. package/lib/mq/index.js +0 -28
  132. package/lib/mq/index.js.map +0 -1
  133. package/lib/mq/input.js +0 -186
  134. package/lib/mq/input.js.map +0 -1
  135. package/lib/mq/mathquill-instance.js +0 -52
  136. package/lib/mq/mathquill-instance.js.map +0 -1
  137. package/lib/mq/static.js +0 -301
  138. package/lib/mq/static.js.map +0 -1
  139. package/lib/updateSpans.js +0 -19
  140. package/lib/updateSpans.js.map +0 -1
  141. package/src/__tests__/horizontal-keypad.test.jsx +0 -463
  142. package/src/__tests__/index.test.js +0 -247
  143. package/src/__tests__/math-input-test.jsx +0 -45
  144. package/src/__tests__/updateSpans.test.js +0 -297
  145. package/src/horizontal-keypad.jsx +0 -69
  146. package/src/index.jsx +0 -28
  147. package/src/keypad/__tests__/index.test.jsx +0 -25
  148. package/src/keypad/__tests__/keys-layout.test.js +0 -14
  149. package/src/keypad/index.jsx +0 -439
  150. package/src/keypad/keys-layout.js +0 -16
  151. package/src/keys/__tests__/utils.test.js +0 -57
  152. package/src/keys/basic-operators.js +0 -32
  153. package/src/keys/chars.js +0 -5
  154. package/src/keys/comparison.js +0 -28
  155. package/src/keys/constants.js +0 -35
  156. package/src/keys/digits.js +0 -40
  157. package/src/keys/edit.js +0 -3
  158. package/src/keys/exponent.js +0 -28
  159. package/src/keys/fractions.js +0 -26
  160. package/src/keys/geometry.js +0 -144
  161. package/src/keys/grades.js +0 -367
  162. package/src/keys/index.js +0 -20
  163. package/src/keys/log.js +0 -22
  164. package/src/keys/logic.js +0 -15
  165. package/src/keys/matrices.js +0 -15
  166. package/src/keys/misc.js +0 -65
  167. package/src/keys/navigation.js +0 -8
  168. package/src/keys/operators.js +0 -10
  169. package/src/keys/statistics.js +0 -38
  170. package/src/keys/sub-sup.js +0 -15
  171. package/src/keys/trigonometry.js +0 -15
  172. package/src/keys/utils.js +0 -66
  173. package/src/keys/vars.js +0 -19
  174. package/src/math-input.jsx +0 -119
  175. package/src/mq/__tests__/custom-elements.test.js +0 -342
  176. package/src/mq/__tests__/input.test.jsx +0 -40
  177. package/src/mq/__tests__/mathquill-instance.test.js +0 -67
  178. package/src/mq/__tests__/static.test.jsx +0 -33
  179. package/src/mq/common-mq-styles.js +0 -109
  180. package/src/mq/custom-elements.js +0 -11
  181. package/src/mq/index.js +0 -5
  182. package/src/mq/input.jsx +0 -166
  183. package/src/mq/mathquill-instance.js +0 -45
  184. package/src/mq/static.jsx +0 -290
  185. package/src/updateSpans.js +0 -15
package/lib/mq/input.js DELETED
@@ -1,186 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = exports.Input = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _react = _interopRequireDefault(require("react"));
15
- var _propTypes = _interopRequireDefault(require("prop-types"));
16
- var _styles = require("@mui/material/styles");
17
- var _debug = _interopRequireDefault(require("debug"));
18
- var _mathquillInstance = require("./mathquill-instance");
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; })(); }
21
- var log = (0, _debug["default"])('math-input:mq:input');
22
- var StyledSpan = (0, _styles.styled)('span')({
23
- // No specific styles needed, but component is available for future styling
24
- });
25
-
26
- /**
27
- * Wrapper for MathQuill MQ.MathField.
28
- */
29
- var Input = exports.Input = /*#__PURE__*/function (_React$Component) {
30
- function Input() {
31
- var _this;
32
- (0, _classCallCheck2["default"])(this, Input);
33
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
- args[_key] = arguments[_key];
35
- }
36
- _this = _callSuper(this, Input, [].concat(args));
37
- (0, _defineProperty2["default"])(_this, "onInputEdit", function () {
38
- log('[onInputEdit] ...');
39
- var onChange = _this.props.onChange;
40
- if (!_this.mathField) {
41
- return;
42
- }
43
- if (onChange) {
44
- onChange(_this.mathField.latex());
45
- }
46
- });
47
- (0, _defineProperty2["default"])(_this, "refresh", function () {
48
- _this.blur();
49
- _this.focus();
50
- });
51
- (0, _defineProperty2["default"])(_this, "onKeyPress", function (event) {
52
- var keys = Object.keys(_this.mathField.__controller.options);
53
- if (keys.indexOf('ignoreNextMousedown') < 0) {
54
- // It seems like the controller has the above handler as an option
55
- // when all the right events are set and everything works fine
56
- // this seems to work in all cases
57
- _this.refresh();
58
- }
59
- if (event.charCode === 13) {
60
- event.preventDefault();
61
- return;
62
- }
63
- });
64
- (0, _defineProperty2["default"])(_this, "onClick", function (event) {
65
- var onClick = _this.props.onClick;
66
- _this.refresh();
67
- onClick && onClick(event);
68
- });
69
- return _this;
70
- }
71
- (0, _inherits2["default"])(Input, _React$Component);
72
- return (0, _createClass2["default"])(Input, [{
73
- key: "componentDidMount",
74
- value: function componentDidMount() {
75
- if (!_mathquillInstance.MQ) {
76
- throw new Error('MQ is not defined - but component has mounted?');
77
- }
78
- this.mathField = _mathquillInstance.MQ.MathField(this.input, {
79
- handlers: {
80
- edit: this.onInputEdit.bind(this)
81
- }
82
- });
83
- this.updateLatex();
84
- }
85
- }, {
86
- key: "componentDidUpdate",
87
- value: function componentDidUpdate() {
88
- this.updateLatex();
89
- }
90
- }, {
91
- key: "updateLatex",
92
- value: function updateLatex() {
93
- if (!this.mathField) {
94
- return;
95
- }
96
- var latex = this.props.latex;
97
- if (latex !== undefined && latex !== null) {
98
- this.mathField.latex(latex);
99
- }
100
- }
101
- }, {
102
- key: "clear",
103
- value: function clear() {
104
- this.mathField.latex('');
105
- return '';
106
- }
107
- }, {
108
- key: "blur",
109
- value: function blur() {
110
- log('blur mathfield');
111
- this.mathField.blur();
112
- }
113
- }, {
114
- key: "focus",
115
- value: function focus() {
116
- log('focus mathfield...');
117
- this.mathField.focus();
118
- }
119
- }, {
120
- key: "command",
121
- value: function command(v) {
122
- var _this2 = this;
123
- log('command: ', v);
124
- if (Array.isArray(v)) {
125
- v.forEach(function (vv) {
126
- _this2.mathField.cmd(vv);
127
- });
128
- } else {
129
- this.mathField.cmd(v);
130
- }
131
- this.mathField.focus();
132
- return this.mathField.latex();
133
- }
134
- }, {
135
- key: "keystroke",
136
- value: function keystroke(v) {
137
- this.mathField.keystroke(v);
138
- this.mathField.focus();
139
- return this.mathField.latex();
140
- }
141
- }, {
142
- key: "write",
143
- value: function write(v) {
144
- log('write: ', v);
145
- this.mathField.write(v);
146
- this.mathField.focus();
147
- return this.mathField.latex();
148
- }
149
- }, {
150
- key: "shouldComponentUpdate",
151
- value: function shouldComponentUpdate(nextProps) {
152
- log('next: ', nextProps.latex);
153
- log('current: ', this.mathField.latex());
154
- return nextProps.latex !== this.mathField.latex();
155
- }
156
- }, {
157
- key: "render",
158
- value: function render() {
159
- var _this3 = this;
160
- var _this$props = this.props,
161
- onFocus = _this$props.onFocus,
162
- onBlur = _this$props.onBlur,
163
- className = _this$props.className;
164
- return /*#__PURE__*/_react["default"].createElement(StyledSpan, {
165
- className: className,
166
- onKeyDown: this.onKeyPress,
167
- onClick: this.onClick,
168
- onFocus: onFocus,
169
- onBlur: onBlur,
170
- ref: function ref(r) {
171
- return _this3.input = r;
172
- }
173
- });
174
- }
175
- }]);
176
- }(_react["default"].Component);
177
- (0, _defineProperty2["default"])(Input, "propTypes", {
178
- className: _propTypes["default"].string,
179
- onClick: _propTypes["default"].func,
180
- onChange: _propTypes["default"].func,
181
- latex: _propTypes["default"].string,
182
- onFocus: _propTypes["default"].func,
183
- onBlur: _propTypes["default"].func
184
- });
185
- var _default = exports["default"] = Input;
186
- //# sourceMappingURL=input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_debug","_mathquillInstance","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","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","MQ","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 { MQ } from './mathquill-instance';\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":[]}
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.MQ = void 0;
8
- exports.applyStaticMath = applyStaticMath;
9
- exports.registerEmbed = registerEmbed;
10
- var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
11
- var _customElements = require("./custom-elements");
12
- var MQ;
13
- if (typeof window !== 'undefined') {
14
- exports.MQ = MQ = _mathquill["default"].getInterface(3);
15
- if (MQ && MQ.registerEmbed) {
16
- (0, _customElements.registerLineBreak)(MQ);
17
- }
18
- }
19
-
20
- /**
21
- * Register a MathQuill embed (e.g. answer blocks in pie-elements).
22
- * No-op in SSR or if the interface is unavailable.
23
- *
24
- * @param {string} name
25
- * @param {Function} factory
26
- */
27
- function registerEmbed(name, factory) {
28
- if (!MQ || !MQ.registerEmbed) {
29
- return;
30
- }
31
- MQ.registerEmbed(name, factory);
32
- }
33
-
34
- /**
35
- * Apply MathQuill static math to a DOM element.
36
- * Optionally sets element text to `latex` before enhancing (typical pie-elements usage).
37
- *
38
- * @param {HTMLElement} element
39
- * @param {string} [latex] If provided, assigned to element.textContent before StaticMath runs.
40
- * @param {object} [options] Optional MathQuill StaticMath options (e.g. handlers).
41
- * @returns {object|undefined} MathQuill static math instance, if any.
42
- */
43
- function applyStaticMath(element, latex, options) {
44
- if (!MQ || !element) {
45
- return undefined;
46
- }
47
- if (latex !== undefined && latex !== null) {
48
- element.textContent = latex;
49
- }
50
- return MQ.StaticMath(element, options);
51
- }
52
- //# sourceMappingURL=mathquill-instance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mathquill-instance.js","names":["_mathquill","_interopRequireDefault","require","_customElements","MQ","window","exports","MathQuill","getInterface","registerEmbed","registerLineBreak","name","factory","applyStaticMath","element","latex","options","undefined","textContent","StaticMath"],"sources":["../../src/mq/mathquill-instance.js"],"sourcesContent":["import MathQuill from '@pie-framework/mathquill';\nimport { registerLineBreak } from './custom-elements';\n\nlet MQ;\nif (typeof window !== 'undefined') {\n MQ = MathQuill.getInterface(3);\n if (MQ && MQ.registerEmbed) {\n registerLineBreak(MQ);\n }\n}\n\n/**\n * Register a MathQuill embed (e.g. answer blocks in pie-elements).\n * No-op in SSR or if the interface is unavailable.\n *\n * @param {string} name\n * @param {Function} factory\n */\nexport function registerEmbed(name, factory) {\n if (!MQ || !MQ.registerEmbed) {\n return;\n }\n MQ.registerEmbed(name, factory);\n}\n\n/**\n * Apply MathQuill static math to a DOM element.\n * Optionally sets element text to `latex` before enhancing (typical pie-elements usage).\n *\n * @param {HTMLElement} element\n * @param {string} [latex] If provided, assigned to element.textContent before StaticMath runs.\n * @param {object} [options] Optional MathQuill StaticMath options (e.g. handlers).\n * @returns {object|undefined} MathQuill static math instance, if any.\n */\nexport function applyStaticMath(element, latex, options) {\n if (!MQ || !element) {\n return undefined;\n }\n if (latex !== undefined && latex !== null) {\n element.textContent = latex;\n }\n return MQ.StaticMath(element, options);\n}\n\nexport { MQ };\n"],"mappings":";;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAIE,EAAE;AACN,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;EACjCC,OAAA,CAAAF,EAAA,GAAAA,EAAE,GAAGG,qBAAS,CAACC,YAAY,CAAC,CAAC,CAAC;EAC9B,IAAIJ,EAAE,IAAIA,EAAE,CAACK,aAAa,EAAE;IAC1B,IAAAC,iCAAiB,EAACN,EAAE,CAAC;EACvB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,aAAaA,CAACE,IAAI,EAAEC,OAAO,EAAE;EAC3C,IAAI,CAACR,EAAE,IAAI,CAACA,EAAE,CAACK,aAAa,EAAE;IAC5B;EACF;EACAL,EAAE,CAACK,aAAa,CAACE,IAAI,EAAEC,OAAO,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAACC,OAAO,EAAEC,KAAK,EAAEC,OAAO,EAAE;EACvD,IAAI,CAACZ,EAAE,IAAI,CAACU,OAAO,EAAE;IACnB,OAAOG,SAAS;EAClB;EACA,IAAIF,KAAK,KAAKE,SAAS,IAAIF,KAAK,KAAK,IAAI,EAAE;IACzCD,OAAO,CAACI,WAAW,GAAGH,KAAK;EAC7B;EACA,OAAOX,EAAE,CAACe,UAAU,CAACL,OAAO,EAAEE,OAAO,CAAC;AACxC","ignoreList":[]}
package/lib/mq/static.js DELETED
@@ -1,301 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _debug = _interopRequireDefault(require("debug"));
17
- var _updateSpans = require("../updateSpans");
18
- var _mathquillInstance = require("./mathquill-instance");
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; })(); }
21
- var log = (0, _debug["default"])('pie-lib:math-input:mq:static');
22
- var REGEX = /\\MathQuillMathField\[r\d*\]\{(.*?)\}/g;
23
- var WHITESPACE_REGEX = / /g;
24
- function stripSpaces() {
25
- var string = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
26
- return string.replace(WHITESPACE_REGEX, '');
27
- }
28
- function countBraces(latex) {
29
- var count = 0;
30
- for (var i = 0; i < (latex || '').length; i++) {
31
- if (latex[i] === '{') {
32
- count++;
33
- }
34
- }
35
- return count;
36
- }
37
-
38
- /**
39
- * Wrapper for MathQuill MQ.MathField.
40
- */
41
- var Static = exports["default"] = /*#__PURE__*/function (_React$Component) {
42
- function Static(props) {
43
- var _this;
44
- (0, _classCallCheck2["default"])(this, Static);
45
- _this = _callSuper(this, Static, [props]);
46
- (0, _defineProperty2["default"])(_this, "createLiveRegion", function () {
47
- _this.liveRegion = document.createElement('div');
48
- _this.liveRegion.style.position = 'absolute';
49
- _this.liveRegion.style.width = '1px';
50
- _this.liveRegion.style.height = '1px';
51
- _this.liveRegion.style.marginTop = '-1px';
52
- _this.liveRegion.style.clip = 'rect(1px, 1px, 1px, 1px)';
53
- _this.liveRegion.style.overflow = 'hidden';
54
- _this.liveRegion.setAttribute('aria-live', 'polite');
55
- _this.liveRegion.setAttribute('aria-atomic', 'true');
56
- document.body.appendChild(_this.liveRegion);
57
- });
58
- (0, _defineProperty2["default"])(_this, "addEventListeners", function () {
59
- var input = _this.inputRef.current;
60
- if (input) {
61
- input.addEventListener('keydown', _this.handleKeyDown);
62
- input.addEventListener('click', _this.handleMathKeyboardClick);
63
- }
64
- });
65
- (0, _defineProperty2["default"])(_this, "removeEventListeners", function () {
66
- var input = _this.inputRef.current;
67
- if (input) {
68
- input.removeEventListener('keydown', _this.handleKeyDown);
69
- input.removeEventListener('click', _this.handleMathKeyboardClick);
70
- }
71
- });
72
- (0, _defineProperty2["default"])(_this, "removeLiveRegion", function () {
73
- if (_this.liveRegion) {
74
- document.body.removeChild(_this.liveRegion);
75
- _this.liveRegion = null;
76
- }
77
- });
78
- (0, _defineProperty2["default"])(_this, "handleKeyDown", function (event) {
79
- if ((event === null || event === void 0 ? void 0 : event.key) === 'Backspace' || (event === null || event === void 0 ? void 0 : event.key) === 'Delete') {
80
- _this.setState({
81
- isDeleteKeyPressed: true
82
- });
83
- }
84
- _this.setState({
85
- inputSource: 'keyboard'
86
- });
87
- });
88
- (0, _defineProperty2["default"])(_this, "handleMathKeyboardClick", function () {
89
- _this.setState({
90
- inputSource: 'mathKeyboard'
91
- });
92
- });
93
- (0, _defineProperty2["default"])(_this, "onInputEdit", function (field) {
94
- if (!_this.mathField || _this._isProgrammaticUpdate) {
95
- return;
96
- }
97
- var name = _this.props.getFieldName(field, _this.mathField.innerFields);
98
- if (_this.props.onSubFieldChange) {
99
- var _this$inputRef;
100
- // eslint-disable-next-line no-useless-escape
101
- var regexMatch = field.latex().match(/[0-9]\\ \\frac\{[^\{]*\}\{ \}/);
102
- if ((_this$inputRef = _this.inputRef) !== null && _this$inputRef !== void 0 && _this$inputRef.current && regexMatch && regexMatch !== null && regexMatch !== void 0 && regexMatch.length) {
103
- try {
104
- field.__controller.cursor.insLeftOf(field.__controller.cursor.parent[-1].parent);
105
- field.el().dispatchEvent(new KeyboardEvent('keydown', {
106
- keyCode: 8
107
- }));
108
- } catch (e) {
109
- // eslint-disable-next-line no-console
110
- console.error(e.toString());
111
- }
112
- } else {
113
- _this.props.onSubFieldChange(name, field.latex());
114
- }
115
- }
116
- _this.announceLatexConversion(field.latex());
117
- });
118
- (0, _defineProperty2["default"])(_this, "announceLatexConversion", function (newLatex) {
119
- if (!_this.state) {
120
- // eslint-disable-next-line no-console
121
- console.error('State is not initialized');
122
- return;
123
- }
124
- var _this$state = _this.state,
125
- previousLatex = _this$state.previousLatex,
126
- inputSource = _this$state.inputSource,
127
- isDeleteKeyPressed = _this$state.isDeleteKeyPressed;
128
- var announcement = 'Converted to math symbol';
129
- if (inputSource === 'keyboard' && !isDeleteKeyPressed) {
130
- var newBraces = countBraces(newLatex);
131
- var oldBraces = countBraces(previousLatex);
132
- if (newBraces > oldBraces) {
133
- _this.announceMessage(announcement);
134
- } else {
135
- try {
136
- _this.mathField.parseLatex(previousLatex);
137
- _this.mathField.parseLatex(newLatex);
138
- if (newLatex == previousLatex) {
139
- _this.announceMessage(announcement);
140
- }
141
- } catch (e) {
142
- // eslint-disable-next-line no-console
143
- console.warn('Error parsing latex:', e.message);
144
- // eslint-disable-next-line no-console
145
- console.warn(e);
146
- }
147
- }
148
- }
149
-
150
- // Only setState when values change to avoid "Maximum update depth exceeded"
151
- if (_this.state.previousLatex !== newLatex || _this.state.isDeleteKeyPressed) {
152
- _this.setState({
153
- previousLatex: newLatex,
154
- isDeleteKeyPressed: false
155
- });
156
- }
157
- });
158
- (0, _defineProperty2["default"])(_this, "announceMessage", function (message) {
159
- _this.setState({
160
- previousLatex: ''
161
- });
162
- if (_this.liveRegion) {
163
- _this.liveRegion.textContent = message;
164
-
165
- // Clear the message after it is announced
166
- setTimeout(function () {
167
- _this.liveRegion.textContent = '';
168
- }, 500);
169
- }
170
- });
171
- (0, _defineProperty2["default"])(_this, "update", function () {
172
- if (!_mathquillInstance.MQ) {
173
- throw new Error('MQ is not defined - but component has mounted?');
174
- }
175
- if (!_this.mathField) {
176
- var _this$inputRef2;
177
- _this.mathField = _mathquillInstance.MQ.StaticMath((_this$inputRef2 = _this.inputRef) === null || _this$inputRef2 === void 0 ? void 0 : _this$inputRef2.current, {
178
- handlers: {
179
- edit: _this.onInputEdit.bind(_this)
180
- }
181
- });
182
- }
183
- try {
184
- _this._isProgrammaticUpdate = true;
185
- _this.mathField.parseLatex(_this.props.latex);
186
- _this.mathField.latex(_this.props.latex);
187
- } catch (e) {
188
- // default latex if received has errors
189
- _this.mathField.latex('\\MathQuillMathField[r1]{}');
190
- } finally {
191
- _this._isProgrammaticUpdate = false;
192
- }
193
- });
194
- (0, _defineProperty2["default"])(_this, "blur", function () {
195
- log('blur mathfield');
196
- _this.mathField.blur();
197
- });
198
- (0, _defineProperty2["default"])(_this, "focus", function () {
199
- log('focus mathfield...');
200
- _this.mathField.focus();
201
- });
202
- (0, _defineProperty2["default"])(_this, "onFocus", function (e) {
203
- try {
204
- var rootBlock = e.target.parentElement.nextSibling;
205
- var id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);
206
- if (!id) {
207
- rootBlock = rootBlock.parentElement;
208
- id = parseInt(rootBlock.getAttribute('mathquill-block-id'), 10);
209
- }
210
- var innerField = _this.mathField.innerFields.find(function (f) {
211
- return f.id === id;
212
- });
213
- if (innerField) {
214
- var name = _this.props.getFieldName(innerField, _this.mathField.innerFields);
215
- if (_this.props.setInput) {
216
- _this.props.setInput(innerField);
217
- }
218
- _this.props.onSubFieldFocus(name, innerField);
219
- }
220
- } catch (err) {
221
- // eslint-disable-next-line no-console
222
- console.error('error finding root block', err.message);
223
- }
224
- });
225
- _this.state = {
226
- announcement: '',
227
- previousLatex: '',
228
- inputSource: null,
229
- isDeleteKeyPressed: false
230
- };
231
- _this.inputRef = /*#__PURE__*/_react["default"].createRef();
232
- return _this;
233
- }
234
- (0, _inherits2["default"])(Static, _React$Component);
235
- return (0, _createClass2["default"])(Static, [{
236
- key: "componentDidMount",
237
- value: function componentDidMount() {
238
- this.update();
239
- (0, _updateSpans.updateSpans)();
240
- this.createLiveRegion();
241
- this.addEventListeners();
242
- }
243
- }, {
244
- key: "componentDidUpdate",
245
- value: function componentDidUpdate() {
246
- this.update();
247
- (0, _updateSpans.updateSpans)();
248
- }
249
- }, {
250
- key: "componentWillUnmount",
251
- value: function componentWillUnmount() {
252
- this.removeLiveRegion();
253
- this.removeEventListeners();
254
- }
255
- }, {
256
- key: "shouldComponentUpdate",
257
- value: function shouldComponentUpdate(nextProps) {
258
- try {
259
- var parsedLatex = this.mathField.parseLatex(nextProps.latex);
260
- var stripped = stripSpaces(parsedLatex);
261
- var newFieldCount = (nextProps.latex.match(REGEX) || []).length;
262
- var out = stripped !== stripSpaces(this.mathField.latex().trim()) || newFieldCount !== Object.keys(this.mathField.innerFields).length / 2;
263
- log('[shouldComponentUpdate] ', out);
264
- return out;
265
- } catch (e) {
266
- // eslint-disable-next-line no-console
267
- console.warn('Error parsing latex:', e.message, 'skip update');
268
- // eslint-disable-next-line no-console
269
- console.warn(e);
270
- return false;
271
- }
272
- }
273
- }, {
274
- key: "render",
275
- value: function render() {
276
- var _this$props = this.props,
277
- onBlur = _this$props.onBlur,
278
- className = _this$props.className;
279
- return /*#__PURE__*/_react["default"].createElement("span", {
280
- className: className,
281
- onFocus: this.onFocus,
282
- onBlur: onBlur,
283
- ref: this.inputRef
284
- });
285
- }
286
- }]);
287
- }(_react["default"].Component);
288
- (0, _defineProperty2["default"])(Static, "propTypes", {
289
- latex: _propTypes["default"].string.isRequired,
290
- onFocus: _propTypes["default"].func,
291
- onBlur: _propTypes["default"].func,
292
- className: _propTypes["default"].string,
293
- getFieldName: _propTypes["default"].func,
294
- onSubFieldChange: _propTypes["default"].func,
295
- onSubFieldFocus: _propTypes["default"].func,
296
- setInput: _propTypes["default"].func
297
- });
298
- (0, _defineProperty2["default"])(Static, "defaultProps", {
299
- getFieldName: function getFieldName() {}
300
- });
301
- //# sourceMappingURL=static.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"static.js","names":["_propTypes","_interopRequireDefault","require","_react","_debug","_updateSpans","_mathquillInstance","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","log","debug","REGEX","WHITESPACE_REGEX","stripSpaces","string","arguments","length","undefined","replace","countBraces","latex","count","i","Static","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","liveRegion","document","createElement","style","position","width","height","marginTop","clip","overflow","setAttribute","body","appendChild","input","inputRef","current","addEventListener","handleKeyDown","handleMathKeyboardClick","removeEventListener","removeChild","event","key","setState","isDeleteKeyPressed","inputSource","field","mathField","_isProgrammaticUpdate","name","getFieldName","innerFields","onSubFieldChange","_this$inputRef","regexMatch","match","__controller","cursor","insLeftOf","parent","el","dispatchEvent","KeyboardEvent","keyCode","console","error","toString","announceLatexConversion","newLatex","state","_this$state","previousLatex","announcement","newBraces","oldBraces","announceMessage","parseLatex","warn","message","textContent","setTimeout","MQ","Error","_this$inputRef2","StaticMath","handlers","edit","onInputEdit","bind","blur","focus","rootBlock","target","parentElement","nextSibling","id","parseInt","getAttribute","innerField","find","f","setInput","onSubFieldFocus","err","React","createRef","_inherits2","_createClass2","value","componentDidMount","update","updateSpans","createLiveRegion","addEventListeners","componentDidUpdate","componentWillUnmount","removeLiveRegion","removeEventListeners","shouldComponentUpdate","nextProps","parsedLatex","stripped","newFieldCount","out","trim","Object","keys","render","_this$props","onBlur","className","onFocus","ref","Component","PropTypes","isRequired","func"],"sources":["../../src/mq/static.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport { updateSpans } from '../updateSpans';\nimport { MQ } from './mathquill-instance';\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\nfunction countBraces(latex) {\n let count = 0;\n\n for (let i = 0; i < (latex || '').length; i++) {\n if (latex[i] === '{') {\n count++;\n }\n }\n\n return count;\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 static defaultProps = {\n getFieldName: () => {},\n };\n\n constructor(props) {\n super(props);\n this.state = {\n announcement: '',\n previousLatex: '',\n inputSource: null,\n isDeleteKeyPressed: false,\n };\n\n this.inputRef = React.createRef();\n }\n\n componentDidMount() {\n this.update();\n updateSpans();\n\n this.createLiveRegion();\n this.addEventListeners();\n }\n\n componentDidUpdate() {\n this.update();\n updateSpans();\n }\n\n componentWillUnmount() {\n this.removeLiveRegion();\n this.removeEventListeners();\n }\n\n createLiveRegion = () => {\n this.liveRegion = document.createElement('div');\n this.liveRegion.style.position = 'absolute';\n this.liveRegion.style.width = '1px';\n this.liveRegion.style.height = '1px';\n this.liveRegion.style.marginTop = '-1px';\n this.liveRegion.style.clip = 'rect(1px, 1px, 1px, 1px)';\n this.liveRegion.style.overflow = 'hidden';\n this.liveRegion.setAttribute('aria-live', 'polite');\n this.liveRegion.setAttribute('aria-atomic', 'true');\n\n document.body.appendChild(this.liveRegion);\n };\n\n addEventListeners = () => {\n const input = this.inputRef.current;\n\n if (input) {\n input.addEventListener('keydown', this.handleKeyDown);\n input.addEventListener('click', this.handleMathKeyboardClick);\n }\n };\n\n removeEventListeners = () => {\n const input = this.inputRef.current;\n\n if (input) {\n input.removeEventListener('keydown', this.handleKeyDown);\n input.removeEventListener('click', this.handleMathKeyboardClick);\n }\n };\n\n removeLiveRegion = () => {\n if (this.liveRegion) {\n document.body.removeChild(this.liveRegion);\n this.liveRegion = null;\n }\n };\n\n handleKeyDown = (event) => {\n if (event?.key === 'Backspace' || event?.key === 'Delete') {\n this.setState({ isDeleteKeyPressed: true });\n }\n this.setState({ inputSource: 'keyboard' });\n };\n\n handleMathKeyboardClick = () => {\n this.setState({ inputSource: 'mathKeyboard' });\n };\n\n onInputEdit = (field) => {\n if (!this.mathField || this._isProgrammaticUpdate) {\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.inputRef?.current && 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 // eslint-disable-next-line no-console\n console.error(e.toString());\n }\n } else {\n this.props.onSubFieldChange(name, field.latex());\n }\n }\n\n this.announceLatexConversion(field.latex());\n };\n\n announceLatexConversion = (newLatex) => {\n if (!this.state) {\n // eslint-disable-next-line no-console\n console.error('State is not initialized');\n return;\n }\n\n const { previousLatex, inputSource, isDeleteKeyPressed } = this.state;\n const announcement = 'Converted to math symbol';\n\n if (inputSource === 'keyboard' && !isDeleteKeyPressed) {\n const newBraces = countBraces(newLatex);\n const oldBraces = countBraces(previousLatex);\n\n if (newBraces > oldBraces) {\n this.announceMessage(announcement);\n } else {\n try {\n this.mathField.parseLatex(previousLatex);\n this.mathField.parseLatex(newLatex);\n\n if (newLatex == previousLatex) {\n this.announceMessage(announcement);\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Error parsing latex:', e.message);\n // eslint-disable-next-line no-console\n console.warn(e);\n }\n }\n }\n\n // Only setState when values change to avoid \"Maximum update depth exceeded\"\n if (this.state.previousLatex !== newLatex || this.state.isDeleteKeyPressed) {\n this.setState({ previousLatex: newLatex, isDeleteKeyPressed: false });\n }\n };\n\n announceMessage = (message) => {\n this.setState({ previousLatex: '' });\n\n if (this.liveRegion) {\n this.liveRegion.textContent = message;\n\n // Clear the message after it is announced\n setTimeout(() => {\n this.liveRegion.textContent = '';\n }, 500);\n }\n };\n\n update = () => {\n if (!MQ) {\n throw new Error('MQ is not defined - but component has mounted?');\n }\n if (!this.mathField) {\n this.mathField = MQ.StaticMath(this.inputRef?.current, {\n handlers: {\n edit: this.onInputEdit.bind(this),\n },\n });\n }\n\n try {\n this._isProgrammaticUpdate = true;\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 } finally {\n this._isProgrammaticUpdate = false;\n }\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={this.inputRef} />;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.updateSpans = void 0;
7
- // increase the font of parallel notation
8
- var updateSpans = exports.updateSpans = function updateSpans() {
9
- var spans = Array.from(document.querySelectorAll('span[mathquill-command-id]'));
10
- (spans || []).forEach(function (span) {
11
- if (span && span.innerText === '∥' && span.className !== 'mq-editable-field') {
12
- span.style.fontSize = '32px';
13
- }
14
- if ((span.innerText === '′' || span.innerText === '′′') && !span.hasAttribute('data-prime')) {
15
- span.setAttribute('data-prime', 'true');
16
- }
17
- });
18
- };
19
- //# sourceMappingURL=updateSpans.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateSpans.js","names":["updateSpans","exports","spans","Array","from","document","querySelectorAll","forEach","span","innerText","className","style","fontSize","hasAttribute","setAttribute"],"sources":["../src/updateSpans.js"],"sourcesContent":["// increase the font of parallel notation\nconst updateSpans = () => {\n const spans = Array.from(document.querySelectorAll('span[mathquill-command-id]'));\n (spans || []).forEach((span) => {\n if (span && span.innerText === '∥' && span.className !== 'mq-editable-field') {\n span.style.fontSize = '32px';\n }\n\n if ((span.innerText === '′' || span.innerText === '′′') && !span.hasAttribute('data-prime')) {\n span.setAttribute('data-prime', 'true');\n }\n });\n};\n\nexport { updateSpans };\n"],"mappings":";;;;;;AAAA;AACA,IAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAAdA,WAAWA,CAAA,EAAS;EACxB,IAAME,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACC,QAAQ,CAACC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;EACjF,CAACJ,KAAK,IAAI,EAAE,EAAEK,OAAO,CAAC,UAACC,IAAI,EAAK;IAC9B,IAAIA,IAAI,IAAIA,IAAI,CAACC,SAAS,KAAK,GAAG,IAAID,IAAI,CAACE,SAAS,KAAK,mBAAmB,EAAE;MAC5EF,IAAI,CAACG,KAAK,CAACC,QAAQ,GAAG,MAAM;IAC9B;IAEA,IAAI,CAACJ,IAAI,CAACC,SAAS,KAAK,GAAG,IAAID,IAAI,CAACC,SAAS,KAAK,IAAI,KAAK,CAACD,IAAI,CAACK,YAAY,CAAC,YAAY,CAAC,EAAE;MAC3FL,IAAI,CAACM,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC;IACzC;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}