@pie-lib/math-toolbar 1.9.4 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,24 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.10.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@1.9.4...@pie-lib/math-toolbar@1.10.0) (2022-07-18)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **math-toolbar:** add sanity check for clicking in editor-and-pad ([4c5dc18](https://github.com/pie-framework/pie-lib/commit/4c5dc18e077fca9a50f9c638f64ba08bba3b0884))
12
+
13
+
14
+ ### Features
15
+
16
+ * **math-toolbar:** Make math-toolbar preview style inline with mathjax ([266b1bc](https://github.com/pie-framework/pie-lib/commit/266b1bc9a277530fd653edfacbb836596957dd33))
17
+ * **math-toolbar:** Make math-toolbar style inline with mathjax from Numeric to Grade 8HS PD-1521 ([5c49326](https://github.com/pie-framework/pie-lib/commit/5c493262ccf2ca8ba4c80af42e566b4e7a8c3571))
18
+ * **plugins:** added special characters adding capabilities [PD-1462] ([b9f41e1](https://github.com/pie-framework/pie-lib/commit/b9f41e11f44df140a66145d0b04558ca2b0ea48e))
19
+
20
+
21
+
22
+
23
+
6
24
  ## [1.9.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@1.9.3...@pie-lib/math-toolbar@1.9.4) (2022-06-13)
7
25
 
8
26
  **Note:** Version bump only for package @pie-lib/math-toolbar
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -15,8 +17,6 @@ var _styles = require("@material-ui/core/styles");
15
17
 
16
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
19
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
-
20
20
  var RawDoneButton = function RawDoneButton(_ref) {
21
21
  var classes = _ref.classes,
22
22
  onClick = _ref.onClick;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/done-button.jsx"],"names":["RawDoneButton","classes","onClick","iconRoot","label","root","propTypes","PropTypes","object","isRequired","func","styles","verticalAlign","width","height","color","position","top","DoneButton"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,OAAZ,QAAYA,OAAZ;AAAA,sBAC3B,gCAAC,sBAAD;AACE,kBAAW,MADb;AAEE,IAAA,SAAS,EAAED,OAAO,CAACE,QAFrB;AAGE,IAAA,OAAO,EAAED,OAHX;AAIE,IAAA,OAAO,EAAE;AACPE,MAAAA,KAAK,EAAEH,OAAO,CAACG,KADR;AAEPC,MAAAA,IAAI,EAAEJ,OAAO,CAACE;AAFP;AAJX,kBASE,gCAAC,iBAAD,OATF,CAD2B;AAAA,CAAtB;;;AAcPH,aAAa,CAACM,SAAd,GAA0B;AACxBL,EAAAA,OAAO,EAAEM,sBAAUC,MAAV,CAAiBC,UADF;AAExBP,EAAAA,OAAO,EAAEK,sBAAUG;AAFK,CAA1B;AAKA,IAAMC,MAAM,GAAG;AACbR,EAAAA,QAAQ,EAAE;AACRS,IAAAA,aAAa,EAAE,KADP;AAERC,IAAAA,KAAK,EAAE,MAFC;AAGRC,IAAAA,MAAM,EAAE,MAHA;AAIRC,IAAAA,KAAK,EAAE;AAJC,GADG;AAObX,EAAAA,KAAK,EAAE;AACLY,IAAAA,QAAQ,EAAE,UADL;AAELC,IAAAA,GAAG,EAAE;AAFA;AAPM,CAAf;AAYO,IAAMC,UAAU,GAAG,wBAAWP,MAAX,EAAmBX,aAAnB,CAAnB","sourcesContent":["import React from 'react';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nexport const RawDoneButton = ({ classes, onClick }) => (\n <IconButton\n aria-label=\"Done\"\n className={classes.iconRoot}\n onClick={onClick}\n classes={{\n label: classes.label,\n root: classes.iconRoot\n }}\n >\n <Check />\n </IconButton>\n);\n\nRawDoneButton.propTypes = {\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func\n};\n\nconst styles = {\n iconRoot: {\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: '#00bb00'\n },\n label: {\n position: 'absolute',\n top: '2px'\n }\n};\nexport const DoneButton = withStyles(styles)(RawDoneButton);\n"],"file":"done-button.js"}
1
+ {"version":3,"sources":["../src/done-button.jsx"],"names":["RawDoneButton","classes","onClick","iconRoot","label","root","propTypes","PropTypes","object","isRequired","func","styles","verticalAlign","width","height","color","position","top","DoneButton"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,OAAZ,QAAYA,OAAZ;AAAA,sBAC3B,gCAAC,sBAAD;AACE,kBAAW,MADb;AAEE,IAAA,SAAS,EAAED,OAAO,CAACE,QAFrB;AAGE,IAAA,OAAO,EAAED,OAHX;AAIE,IAAA,OAAO,EAAE;AACPE,MAAAA,KAAK,EAAEH,OAAO,CAACG,KADR;AAEPC,MAAAA,IAAI,EAAEJ,OAAO,CAACE;AAFP;AAJX,kBASE,gCAAC,iBAAD,OATF,CAD2B;AAAA,CAAtB;;;AAcPH,aAAa,CAACM,SAAd,GAA0B;AACxBL,EAAAA,OAAO,EAAEM,sBAAUC,MAAV,CAAiBC,UADF;AAExBP,EAAAA,OAAO,EAAEK,sBAAUG;AAFK,CAA1B;AAKA,IAAMC,MAAM,GAAG;AACbR,EAAAA,QAAQ,EAAE;AACRS,IAAAA,aAAa,EAAE,KADP;AAERC,IAAAA,KAAK,EAAE,MAFC;AAGRC,IAAAA,MAAM,EAAE,MAHA;AAIRC,IAAAA,KAAK,EAAE;AAJC,GADG;AAObX,EAAAA,KAAK,EAAE;AACLY,IAAAA,QAAQ,EAAE,UADL;AAELC,IAAAA,GAAG,EAAE;AAFA;AAPM,CAAf;AAYO,IAAMC,UAAU,GAAG,wBAAWP,MAAX,EAAmBX,aAAnB,CAAnB","sourcesContent":["import React from 'react';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nexport const RawDoneButton = ({ classes, onClick }) => (\n <IconButton\n aria-label=\"Done\"\n className={classes.iconRoot}\n onClick={onClick}\n classes={{\n label: classes.label,\n root: classes.iconRoot\n }}\n >\n <Check />\n </IconButton>\n);\n\nRawDoneButton.propTypes = {\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func\n};\n\nconst styles = {\n iconRoot: {\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: '#00bb00'\n },\n label: {\n position: 'absolute',\n top: '2px'\n }\n};\nexport const DoneButton = withStyles(styles)(RawDoneButton);\n"],"file":"done-button.js"}
@@ -1,12 +1,26 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = exports.EditorAndPad = void 0;
9
9
 
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ 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
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
10
24
  var _mathInput = require("@pie-lib/math-input");
11
25
 
12
26
  var _react = _interopRequireDefault(require("react"));
@@ -29,33 +43,13 @@ var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
29
43
 
30
44
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
31
45
 
32
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
-
34
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35
-
36
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
37
-
38
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
39
-
40
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
41
-
42
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
43
-
44
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
45
-
46
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
47
-
48
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
46
+ 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); }; }
49
47
 
50
48
  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; } }
51
49
 
52
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
53
-
54
50
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
55
51
 
56
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
57
-
58
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
52
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
59
53
 
60
54
  var log = (0, _debug["default"])('@pie-lib:math-toolbar:editor-and-pad');
61
55
  var decimalRegex = /\.|,/g;
@@ -87,18 +81,16 @@ var toNodeData = function toNodeData(data) {
87
81
  };
88
82
 
89
83
  var EditorAndPad = /*#__PURE__*/function (_React$Component) {
90
- _inherits(EditorAndPad, _React$Component);
84
+ (0, _inherits2["default"])(EditorAndPad, _React$Component);
91
85
 
92
86
  var _super = _createSuper(EditorAndPad);
93
87
 
94
88
  function EditorAndPad(props) {
95
89
  var _this;
96
90
 
97
- _classCallCheck(this, EditorAndPad);
98
-
91
+ (0, _classCallCheck2["default"])(this, EditorAndPad);
99
92
  _this = _super.call(this, props);
100
-
101
- _defineProperty(_assertThisInitialized(_this), "onClick", function (data) {
93
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (data) {
102
94
  var _this$props = _this.props,
103
95
  noDecimal = _this$props.noDecimal,
104
96
  noLatexHandling = _this$props.noLatexHandling,
@@ -116,6 +108,10 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
116
108
  return;
117
109
  }
118
110
 
111
+ if (!c) {
112
+ return;
113
+ }
114
+
119
115
  if (c.type === 'clear') {
120
116
  log('call clear...');
121
117
 
@@ -130,8 +126,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
130
126
  _this.input.write(c.value);
131
127
  }
132
128
  });
133
-
134
- _defineProperty(_assertThisInitialized(_this), "updateDisable", function (isEdit) {
129
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateDisable", function (isEdit) {
135
130
  var maxResponseAreas = _this.props.maxResponseAreas;
136
131
 
137
132
  if (maxResponseAreas) {
@@ -142,8 +137,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
142
137
  });
143
138
  }
144
139
  });
145
-
146
- _defineProperty(_assertThisInitialized(_this), "onAnswerBlockClick", function () {
140
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAnswerBlockClick", function () {
147
141
  _this.props.onAnswerBlockAdd();
148
142
 
149
143
  _this.onClick({
@@ -152,8 +146,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
152
146
 
153
147
  _this.updateDisable(true);
154
148
  });
155
-
156
- _defineProperty(_assertThisInitialized(_this), "onEditorChange", function (latex) {
149
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onEditorChange", function (latex) {
157
150
  var _this$props2 = _this.props,
158
151
  onChange = _this$props2.onChange,
159
152
  noDecimal = _this$props2.noDecimal;
@@ -172,14 +165,12 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
172
165
 
173
166
  onChange(latex);
174
167
  });
175
-
176
- _defineProperty(_assertThisInitialized(_this), "onEditorTypeChange", function (evt) {
168
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onEditorTypeChange", function (evt) {
177
169
  _this.setState({
178
170
  equationEditor: evt.target.value
179
171
  });
180
172
  });
181
-
182
- _defineProperty(_assertThisInitialized(_this), "checkResponseAreasNumber", function (maxResponseAreas, isEdit) {
173
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkResponseAreasNumber", function (maxResponseAreas, isEdit) {
183
174
  var _ref = _this.input && _this.input.props || {},
184
175
  latex = _ref.latex;
185
176
 
@@ -190,7 +181,6 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
190
181
 
191
182
  return false;
192
183
  });
193
-
194
184
  _this.state = {
195
185
  equationEditor: 'item-authoring',
196
186
  addDisabled: false
@@ -198,7 +188,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
198
188
  return _this;
199
189
  }
200
190
 
201
- _createClass(EditorAndPad, [{
191
+ (0, _createClass2["default"])(EditorAndPad, [{
202
192
  key: "componentDidMount",
203
193
  value: function componentDidMount() {
204
194
  if (this.input && this.props.autoFocus) {
@@ -263,7 +253,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
263
253
  return /*#__PURE__*/_react["default"].createElement("div", {
264
254
  className: (0, _classnames["default"])(classes.mathToolbar, classNames.mathToolbar)
265
255
  }, /*#__PURE__*/_react["default"].createElement("div", {
266
- className: (0, _classnames["default"])(classes.inputAndTypeContainer, _defineProperty({}, classes.hide, hideInput))
256
+ className: (0, _classnames["default"])(classes.inputAndTypeContainer, (0, _defineProperty2["default"])({}, classes.hide, hideInput))
267
257
  }, controlledKeypadMode && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
268
258
  label: "Equation Editor",
269
259
  className: classes.selectContainer
@@ -327,6 +317,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
327
317
  }, "+ Response Area"), /*#__PURE__*/_react["default"].createElement("hr", {
328
318
  className: classes.hr
329
319
  }), shouldShowKeypad && /*#__PURE__*/_react["default"].createElement(_mathInput.HorizontalKeypad, {
320
+ className: classes.keyboard,
330
321
  layoutForKeyPad: layoutForKeyPad,
331
322
  additionalKeys: additionalKeys,
332
323
  mode: controlledKeypadMode ? this.state.equationEditor : keypadMode,
@@ -335,13 +326,11 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
335
326
  }));
336
327
  }
337
328
  }]);
338
-
339
329
  return EditorAndPad;
340
330
  }(_react["default"].Component);
341
331
 
342
332
  exports.EditorAndPad = EditorAndPad;
343
-
344
- _defineProperty(EditorAndPad, "propTypes", {
333
+ (0, _defineProperty2["default"])(EditorAndPad, "propTypes", {
345
334
  classNames: _propTypes["default"].object,
346
335
  keypadMode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
347
336
  autoFocus: _propTypes["default"].bool,
@@ -367,7 +356,10 @@ var styles = function styles(theme) {
367
356
  inputAndTypeContainer: {
368
357
  display: 'flex',
369
358
  alignItems: 'center',
370
- '& *': {
359
+ '& .mq-root-block': {
360
+ marginTop: '8px'
361
+ },
362
+ '& .mq-math-mode .mq-overarrow': {
371
363
  fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
372
364
  },
373
365
  '& .mq-overarrow.mq-arrow-both': {
@@ -392,6 +384,46 @@ var styles = function styles(theme) {
392
384
  top: '-0.4em',
393
385
  right: '-1px'
394
386
  }
387
+ },
388
+ '& *': {
389
+ fontFamily: 'MJXZERO, MJXTEX-I !important',
390
+ '& .mq-math-mode .mq-empty': {
391
+ padding: '9px 1px !important'
392
+ },
393
+ '& .mq-longdiv-inner': {
394
+ marginTop: '-1px',
395
+ marginLeft: '5px !important;',
396
+ '& > .mq-empty': {
397
+ padding: '0 !important',
398
+ marginLeft: '0px !important',
399
+ marginTop: '2px'
400
+ }
401
+ },
402
+ '& .mq-math-mode .mq-longdiv': {
403
+ display: 'flex !important'
404
+ },
405
+ '& .mq-math-mode .mq-supsub': {
406
+ fontSize: '70.7% !important'
407
+ },
408
+ '& .mq-math-mode .mq-paren': {
409
+ verticalAlign: 'middle !important'
410
+ },
411
+ '& .mq-math-mode .mq-sqrt-stem': {
412
+ borderTop: '0.07em solid',
413
+ marginLeft: '-1.5px',
414
+ marginTop: '-2px !important',
415
+ paddingTop: '5px !important'
416
+ },
417
+ '& .mq-supsub ': {
418
+ fontSize: '70.7%'
419
+ },
420
+ '& .mq-math-mode .mq-supsub.mq-sup-only': {
421
+ verticalAlign: '-0.1em !important',
422
+ '& .mq-sup': {
423
+ marginBottom: '0px !important'
424
+ }
425
+ },
426
+ '-webkit-font-smoothing': 'antialiased !important'
395
427
  }
396
428
  },
397
429
  hide: {
@@ -404,7 +436,13 @@ var styles = function styles(theme) {
404
436
  marginLeft: '15px',
405
437
  marginTop: '5px',
406
438
  marginBottom: '5px',
407
- marginRight: '5px'
439
+ marginRight: '5px',
440
+ '& label': {
441
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
442
+ },
443
+ '& div': {
444
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
445
+ }
408
446
  },
409
447
  mathEditor: {
410
448
  maxWidth: '400px',
@@ -473,6 +511,36 @@ var styles = function styles(theme) {
473
511
  },
474
512
  error: {
475
513
  border: '2px solid red'
514
+ },
515
+ keyboard: {
516
+ '& *': {
517
+ fontFamily: 'MJXZERO, MJXTEX-I !important',
518
+ '& .mq-math-mode .mq-empty': {
519
+ padding: '9px 1px !important'
520
+ },
521
+ '& .mq-longdiv-inner': {
522
+ marginTop: '-1px',
523
+ marginLeft: '5px !important;',
524
+ '& > .mq-empty': {
525
+ padding: '0 !important',
526
+ marginLeft: '0px !important',
527
+ marginTop: '2px'
528
+ }
529
+ },
530
+ '& .mq-math-mode .mq-longdiv': {
531
+ display: 'flex !important'
532
+ },
533
+ '& .mq-math-mode .mq-supsub': {
534
+ fontSize: '70.7% !important'
535
+ },
536
+ '& .mq-math-mode .mq-sqrt-stem': {
537
+ marginTop: '-5px',
538
+ paddingTop: '4px'
539
+ },
540
+ '& .mq-math-mode .mq-paren': {
541
+ verticalAlign: 'middle !important'
542
+ }
543
+ }
476
544
  }
477
545
  };
478
546
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/editor-and-pad.jsx"],"names":["log","decimalRegex","toNodeData","data","type","value","EditorAndPad","props","noDecimal","noLatexHandling","onChange","c","input","clear","command","keystroke","write","isEdit","maxResponseAreas","shouldDisable","checkResponseAreasNumber","setState","addDisabled","onAnswerBlockAdd","onClick","updateDisable","latex","indexOf","replace","evt","equationEditor","target","count","match","length","state","autoFocus","focus","nextProps","nextState","inputIsDifferent","mathField","error","keypadMode","controlledKeypad","showKeypad","classNames","allowAnswerBlock","additionalKeys","controlledKeypadMode","hideInput","layoutForKeyPad","onFocus","onBlur","classes","shouldShowKeypad","mathToolbar","inputAndTypeContainer","hide","selectContainer","select","onEditorTypeChange","inputContainer","event","mathEditor","editor","longMathEditor","r","onEditorChange","addAnswerBlockButton","bottom","onAnswerBlockClick","hr","React","Component","PropTypes","object","oneOfType","string","number","bool","array","isRequired","func","styles","theme","display","alignItems","fontFamily","minWidth","lineHeight","top","left","right","flex","width","marginLeft","marginTop","marginBottom","marginRight","maxWidth","color","text","backgroundColor","background","padding","spacing","unit","position","border","margin","height","borderBottom","palette","primary","main","zIndex","textAlign","outline","boxShadow","borderRadius","paddingTop","borderTop","minHeight"],"mappings":"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","sourcesContent":["import { HorizontalKeypad, mq } from '@pie-lib/math-input';\nimport React from 'react';\nimport debug from 'debug';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core/styles';\nconst log = debug('@pie-lib:math-toolbar:editor-and-pad');\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport { updateSpans } from '@pie-lib/math-input';\nimport isEqual from 'lodash/isEqual';\n\nconst decimalRegex = /\\.|,/g;\n\nconst toNodeData = data => {\n if (!data) {\n return;\n }\n\n const { type, value } = data;\n\n if (type === 'command' || type === 'cursor') {\n return data;\n } else if (type === 'answer') {\n return { type: 'answer', ...data };\n } else if (value === 'clear') {\n return { type: 'clear' };\n } else {\n return { type: 'write', value };\n }\n};\n\nexport class EditorAndPad extends React.Component {\n static propTypes = {\n classNames: PropTypes.object,\n keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n autoFocus: PropTypes.bool,\n allowAnswerBlock: PropTypes.bool,\n showKeypad: PropTypes.bool,\n controlledKeypad: PropTypes.bool,\n controlledKeypadMode: PropTypes.bool,\n noDecimal: PropTypes.bool,\n hideInput: PropTypes.bool,\n noLatexHandling: PropTypes.bool,\n layoutForKeyPad: PropTypes.object,\n additionalKeys: PropTypes.array,\n latex: PropTypes.string.isRequired,\n onAnswerBlockAdd: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object\n };\n\n constructor(props) {\n super(props);\n\n this.state = { equationEditor: 'item-authoring', addDisabled: false };\n }\n\n componentDidMount() {\n if (this.input && this.props.autoFocus) {\n this.input.focus();\n }\n }\n\n onClick = data => {\n const { noDecimal, noLatexHandling, onChange } = this.props;\n const c = toNodeData(data);\n log('mathChange: ', c);\n\n if (noLatexHandling) {\n onChange(c.value);\n return;\n }\n\n // if decimals are not allowed for this response, we discard the input\n if (noDecimal && (c.value === '.' || c.value === ',')) {\n return;\n }\n\n if (c.type === 'clear') {\n log('call clear...');\n this.input.clear();\n } else if (c.type === 'command') {\n this.input.command(c.value);\n } else if (c.type === 'cursor') {\n this.input.keystroke(c.value);\n } else if (c.type === 'answer') {\n this.input.write('%response%');\n } else {\n this.input.write(c.value);\n }\n };\n\n updateDisable = isEdit => {\n const { maxResponseAreas } = this.props;\n\n if (maxResponseAreas) {\n const shouldDisable = this.checkResponseAreasNumber(maxResponseAreas, isEdit);\n\n this.setState({ addDisabled: shouldDisable });\n }\n };\n\n onAnswerBlockClick = () => {\n this.props.onAnswerBlockAdd();\n this.onClick({\n type: 'answer'\n });\n\n this.updateDisable(true);\n };\n\n onEditorChange = latex => {\n const { onChange, noDecimal } = this.props;\n\n updateSpans();\n\n this.updateDisable(true);\n\n // if no decimals are allowed and the last change is a decimal dot, discard the change\n if (noDecimal && (latex.indexOf('.') !== -1 || latex.indexOf(',') !== -1) && this.input) {\n this.input.clear();\n this.input.write(latex.replace(decimalRegex, ''));\n return;\n }\n\n onChange(latex);\n };\n\n /** Only render if the mathquill instance's latex is different\n * or the keypad state changed from one state to the other (shown / hidden) */\n shouldComponentUpdate(nextProps, nextState) {\n const inputIsDifferent = this.input.mathField.latex() !== nextProps.latex;\n log('[shouldComponentUpdate] ', 'inputIsDifferent: ', inputIsDifferent);\n\n if (!isEqual(this.props.error, nextProps.error)) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.keypadMode !== nextProps.keypadMode) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.noDecimal !== nextProps.noDecimal) {\n return true;\n }\n\n if (!inputIsDifferent && this.state.equationEditor !== nextState.equationEditor) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.controlledKeypad) {\n return this.props.showKeypad !== nextProps.showKeypad;\n }\n\n return inputIsDifferent;\n }\n\n onEditorTypeChange = evt => {\n this.setState({ equationEditor: evt.target.value });\n };\n\n checkResponseAreasNumber = (maxResponseAreas, isEdit) => {\n const { latex } = (this.input && this.input.props) || {};\n\n if (latex) {\n const count = (latex.match(/answerBlock/g) || []).length;\n\n return isEdit ? count === maxResponseAreas - 1 : count === maxResponseAreas;\n }\n\n return false;\n };\n\n render() {\n const {\n classNames,\n keypadMode,\n allowAnswerBlock,\n additionalKeys,\n controlledKeypad,\n controlledKeypadMode,\n showKeypad,\n noDecimal,\n hideInput,\n layoutForKeyPad,\n latex,\n onFocus,\n onBlur,\n classes,\n error\n } = this.props;\n const shouldShowKeypad = !controlledKeypad || (controlledKeypad && showKeypad);\n const { addDisabled } = this.state;\n\n log('[render]', latex);\n\n return (\n <div className={cx(classes.mathToolbar, classNames.mathToolbar)}>\n <div className={cx(classes.inputAndTypeContainer, { [classes.hide]: hideInput })}>\n {controlledKeypadMode && (\n <InputContainer label=\"Equation Editor\" className={classes.selectContainer}>\n <Select\n className={classes.select}\n onChange={this.onEditorTypeChange}\n value={this.state.equationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n <MenuItem value={'language'}>Language</MenuItem>\n </Select>\n </InputContainer>\n )}\n <div className={cx(classes.inputContainer, error ? classes.error : '')}>\n <mq.Input\n onFocus={() => {\n onFocus && onFocus();\n this.updateDisable(false);\n }}\n onBlur={event => {\n this.updateDisable(false);\n onBlur && onBlur(event);\n }}\n className={cx(\n classes.mathEditor,\n classNames.editor,\n !controlledKeypadMode ? classes.longMathEditor : ''\n )}\n innerRef={r => (this.input = r)}\n latex={latex}\n onChange={this.onEditorChange}\n />\n </div>\n </div>\n {allowAnswerBlock && (\n <Button\n className={classes.addAnswerBlockButton}\n type=\"primary\"\n style={{ bottom: shouldShowKeypad ? '320px' : '20px' }}\n onClick={this.onAnswerBlockClick}\n disabled={addDisabled}\n >\n + Response Area\n </Button>\n )}\n <hr className={classes.hr} />\n {shouldShowKeypad && (\n <HorizontalKeypad\n layoutForKeyPad={layoutForKeyPad}\n additionalKeys={additionalKeys}\n mode={controlledKeypadMode ? this.state.equationEditor : keypadMode}\n onClick={this.onClick}\n noDecimal={noDecimal}\n />\n )}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n inputAndTypeContainer: {\n display: 'flex',\n alignItems: 'center',\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px'\n },\n '&:after': {\n top: '-2.36em',\n right: '-1px'\n },\n '&.mq-empty:after': {\n top: '-0.45em'\n }\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px'\n }\n }\n },\n hide: {\n display: 'none'\n },\n selectContainer: {\n flex: 'initial',\n width: '25%',\n minWidth: '100px',\n marginLeft: '15px',\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px'\n },\n mathEditor: {\n maxWidth: '400px',\n color: color.text(),\n backgroundColor: color.background(),\n padding: theme.spacing.unit\n },\n longMathEditor: {\n maxWidth: '500px'\n },\n addAnswerBlockButton: {\n position: 'absolute',\n right: '12px',\n border: '1px solid lightgrey'\n },\n hr: {\n padding: 0,\n margin: 0,\n height: '1px',\n border: 'none',\n borderBottom: `solid 1px ${theme.palette.primary.main}`\n },\n mathToolbar: {\n zIndex: 9,\n position: 'relative',\n textAlign: 'center',\n width: 'auto',\n '& > .mq-math-mode': {\n border: 'solid 1px lightgrey'\n },\n '& > .mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: `dotted 1px ${theme.palette.primary.main}`,\n borderRadius: '0px'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important',\n paddingTop: '0 !important'\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important'\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n }\n },\n inputContainer: {\n minWidth: '500px',\n maxWidth: '900px',\n minHeight: '40px',\n width: '100%',\n display: 'flex',\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit\n },\n error: {\n border: '2px solid red'\n }\n});\n\nexport default withStyles(styles)(EditorAndPad);\n"],"file":"editor-and-pad.js"}
1
+ {"version":3,"sources":["../src/editor-and-pad.jsx"],"names":["log","decimalRegex","toNodeData","data","type","value","EditorAndPad","props","noDecimal","noLatexHandling","onChange","c","input","clear","command","keystroke","write","isEdit","maxResponseAreas","shouldDisable","checkResponseAreasNumber","setState","addDisabled","onAnswerBlockAdd","onClick","updateDisable","latex","indexOf","replace","evt","equationEditor","target","count","match","length","state","autoFocus","focus","nextProps","nextState","inputIsDifferent","mathField","error","keypadMode","controlledKeypad","showKeypad","classNames","allowAnswerBlock","additionalKeys","controlledKeypadMode","hideInput","layoutForKeyPad","onFocus","onBlur","classes","shouldShowKeypad","mathToolbar","inputAndTypeContainer","hide","selectContainer","select","onEditorTypeChange","inputContainer","event","mathEditor","editor","longMathEditor","r","onEditorChange","addAnswerBlockButton","bottom","onAnswerBlockClick","hr","keyboard","React","Component","PropTypes","object","oneOfType","string","number","bool","array","isRequired","func","styles","theme","display","alignItems","marginTop","fontFamily","minWidth","lineHeight","top","left","right","padding","marginLeft","fontSize","verticalAlign","borderTop","paddingTop","marginBottom","flex","width","marginRight","maxWidth","color","text","backgroundColor","background","spacing","unit","position","border","margin","height","borderBottom","palette","primary","main","zIndex","textAlign","outline","boxShadow","borderRadius","minHeight"],"mappings":"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","sourcesContent":["import { HorizontalKeypad, mq } from '@pie-lib/math-input';\nimport React from 'react';\nimport debug from 'debug';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core/styles';\nconst log = debug('@pie-lib:math-toolbar:editor-and-pad');\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport { updateSpans } from '@pie-lib/math-input';\nimport isEqual from 'lodash/isEqual';\n\nconst decimalRegex = /\\.|,/g;\n\nconst toNodeData = data => {\n if (!data) {\n return;\n }\n\n const { type, value } = data;\n\n if (type === 'command' || type === 'cursor') {\n return data;\n } else if (type === 'answer') {\n return { type: 'answer', ...data };\n } else if (value === 'clear') {\n return { type: 'clear' };\n } else {\n return { type: 'write', value };\n }\n};\n\nexport class EditorAndPad extends React.Component {\n static propTypes = {\n classNames: PropTypes.object,\n keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n autoFocus: PropTypes.bool,\n allowAnswerBlock: PropTypes.bool,\n showKeypad: PropTypes.bool,\n controlledKeypad: PropTypes.bool,\n controlledKeypadMode: PropTypes.bool,\n noDecimal: PropTypes.bool,\n hideInput: PropTypes.bool,\n noLatexHandling: PropTypes.bool,\n layoutForKeyPad: PropTypes.object,\n additionalKeys: PropTypes.array,\n latex: PropTypes.string.isRequired,\n onAnswerBlockAdd: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object\n };\n\n constructor(props) {\n super(props);\n\n this.state = { equationEditor: 'item-authoring', addDisabled: false };\n }\n\n componentDidMount() {\n if (this.input && this.props.autoFocus) {\n this.input.focus();\n }\n }\n\n onClick = data => {\n const { noDecimal, noLatexHandling, onChange } = this.props;\n const c = toNodeData(data);\n log('mathChange: ', c);\n\n if (noLatexHandling) {\n onChange(c.value);\n return;\n }\n\n // if decimals are not allowed for this response, we discard the input\n if (noDecimal && (c.value === '.' || c.value === ',')) {\n return;\n }\n\n if (!c) {\n return;\n }\n\n if (c.type === 'clear') {\n log('call clear...');\n this.input.clear();\n } else if (c.type === 'command') {\n this.input.command(c.value);\n } else if (c.type === 'cursor') {\n this.input.keystroke(c.value);\n } else if (c.type === 'answer') {\n this.input.write('%response%');\n } else {\n this.input.write(c.value);\n }\n };\n\n updateDisable = isEdit => {\n const { maxResponseAreas } = this.props;\n\n if (maxResponseAreas) {\n const shouldDisable = this.checkResponseAreasNumber(maxResponseAreas, isEdit);\n\n this.setState({ addDisabled: shouldDisable });\n }\n };\n\n onAnswerBlockClick = () => {\n this.props.onAnswerBlockAdd();\n this.onClick({\n type: 'answer'\n });\n\n this.updateDisable(true);\n };\n\n onEditorChange = latex => {\n const { onChange, noDecimal } = this.props;\n\n updateSpans();\n\n this.updateDisable(true);\n\n // if no decimals are allowed and the last change is a decimal dot, discard the change\n if (noDecimal && (latex.indexOf('.') !== -1 || latex.indexOf(',') !== -1) && this.input) {\n this.input.clear();\n this.input.write(latex.replace(decimalRegex, ''));\n return;\n }\n\n onChange(latex);\n };\n\n /** Only render if the mathquill instance's latex is different\n * or the keypad state changed from one state to the other (shown / hidden) */\n shouldComponentUpdate(nextProps, nextState) {\n const inputIsDifferent = this.input.mathField.latex() !== nextProps.latex;\n log('[shouldComponentUpdate] ', 'inputIsDifferent: ', inputIsDifferent);\n\n if (!isEqual(this.props.error, nextProps.error)) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.keypadMode !== nextProps.keypadMode) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.noDecimal !== nextProps.noDecimal) {\n return true;\n }\n\n if (!inputIsDifferent && this.state.equationEditor !== nextState.equationEditor) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.controlledKeypad) {\n return this.props.showKeypad !== nextProps.showKeypad;\n }\n\n return inputIsDifferent;\n }\n\n onEditorTypeChange = evt => {\n this.setState({ equationEditor: evt.target.value });\n };\n\n checkResponseAreasNumber = (maxResponseAreas, isEdit) => {\n const { latex } = (this.input && this.input.props) || {};\n\n if (latex) {\n const count = (latex.match(/answerBlock/g) || []).length;\n\n return isEdit ? count === maxResponseAreas - 1 : count === maxResponseAreas;\n }\n\n return false;\n };\n\n render() {\n const {\n classNames,\n keypadMode,\n allowAnswerBlock,\n additionalKeys,\n controlledKeypad,\n controlledKeypadMode,\n showKeypad,\n noDecimal,\n hideInput,\n layoutForKeyPad,\n latex,\n onFocus,\n onBlur,\n classes,\n error\n } = this.props;\n const shouldShowKeypad = !controlledKeypad || (controlledKeypad && showKeypad);\n const { addDisabled } = this.state;\n\n log('[render]', latex);\n\n return (\n <div className={cx(classes.mathToolbar, classNames.mathToolbar)}>\n <div className={cx(classes.inputAndTypeContainer, { [classes.hide]: hideInput })}>\n {controlledKeypadMode && (\n <InputContainer label=\"Equation Editor\" className={classes.selectContainer}>\n <Select\n className={classes.select}\n onChange={this.onEditorTypeChange}\n value={this.state.equationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n <MenuItem value={'language'}>Language</MenuItem>\n </Select>\n </InputContainer>\n )}\n <div className={cx(classes.inputContainer, error ? classes.error : '')}>\n <mq.Input\n onFocus={() => {\n onFocus && onFocus();\n this.updateDisable(false);\n }}\n onBlur={event => {\n this.updateDisable(false);\n onBlur && onBlur(event);\n }}\n className={cx(\n classes.mathEditor,\n classNames.editor,\n !controlledKeypadMode ? classes.longMathEditor : ''\n )}\n innerRef={r => (this.input = r)}\n latex={latex}\n onChange={this.onEditorChange}\n />\n </div>\n </div>\n {allowAnswerBlock && (\n <Button\n className={classes.addAnswerBlockButton}\n type=\"primary\"\n style={{ bottom: shouldShowKeypad ? '320px' : '20px' }}\n onClick={this.onAnswerBlockClick}\n disabled={addDisabled}\n >\n + Response Area\n </Button>\n )}\n <hr className={classes.hr} />\n {shouldShowKeypad && (\n <HorizontalKeypad\n className={classes.keyboard}\n layoutForKeyPad={layoutForKeyPad}\n additionalKeys={additionalKeys}\n mode={controlledKeypadMode ? this.state.equationEditor : keypadMode}\n onClick={this.onClick}\n noDecimal={noDecimal}\n />\n )}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n inputAndTypeContainer: {\n display: 'flex',\n alignItems: 'center',\n '& .mq-root-block': {\n marginTop: '8px',\n },\n '& .mq-math-mode .mq-overarrow': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px'\n },\n '&:after': {\n top: '-2.36em',\n right: '-1px'\n },\n '&.mq-empty:after': {\n top: '-0.45em'\n }\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px'\n }\n },\n '& *': {\n fontFamily: 'MJXZERO, MJXTEX-I !important',\n\n '& .mq-math-mode .mq-empty': {\n padding: '9px 1px !important'\n },\n\n '& .mq-longdiv-inner': {\n marginTop: '-1px',\n marginLeft: '5px !important;',\n\n '& > .mq-empty': {\n padding: '0 !important',\n marginLeft: '0px !important',\n marginTop: '2px'\n }\n },\n\n '& .mq-math-mode .mq-longdiv': {\n display: 'flex !important'\n },\n\n '& .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important'\n },\n\n '& .mq-math-mode .mq-paren': {\n verticalAlign: 'middle !important'\n },\n\n '& .mq-math-mode .mq-sqrt-stem': {\n borderTop: '0.07em solid',\n marginLeft: '-1.5px',\n marginTop: '-2px !important',\n paddingTop: '5px !important'\n },\n\n '& .mq-supsub ': {\n fontSize: '70.7%'\n },\n\n '& .mq-math-mode .mq-supsub.mq-sup-only': {\n verticalAlign: '-0.1em !important',\n\n '& .mq-sup': {\n marginBottom: '0px !important'\n }\n },\n\n '-webkit-font-smoothing': 'antialiased !important'\n }\n },\n hide: {\n display: 'none'\n },\n selectContainer: {\n flex: 'initial',\n width: '25%',\n minWidth: '100px',\n marginLeft: '15px',\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px',\n\n '& label': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n\n '& div': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n }\n },\n mathEditor: {\n maxWidth: '400px',\n color: color.text(),\n backgroundColor: color.background(),\n padding: theme.spacing.unit\n },\n longMathEditor: {\n maxWidth: '500px'\n },\n addAnswerBlockButton: {\n position: 'absolute',\n right: '12px',\n border: '1px solid lightgrey'\n },\n hr: {\n padding: 0,\n margin: 0,\n height: '1px',\n border: 'none',\n borderBottom: `solid 1px ${theme.palette.primary.main}`\n },\n mathToolbar: {\n zIndex: 9,\n position: 'relative',\n textAlign: 'center',\n width: 'auto',\n '& > .mq-math-mode': {\n border: 'solid 1px lightgrey'\n },\n '& > .mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: `dotted 1px ${theme.palette.primary.main}`,\n borderRadius: '0px'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important',\n paddingTop: '0 !important'\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important'\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n }\n },\n inputContainer: {\n minWidth: '500px',\n maxWidth: '900px',\n minHeight: '40px',\n width: '100%',\n display: 'flex',\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit\n },\n error: {\n border: '2px solid red'\n },\n keyboard: {\n '& *': {\n fontFamily: 'MJXZERO, MJXTEX-I !important',\n\n '& .mq-math-mode .mq-empty': {\n padding: '9px 1px !important'\n },\n\n '& .mq-longdiv-inner': {\n marginTop: '-1px',\n marginLeft: '5px !important;',\n\n '& > .mq-empty': {\n padding: '0 !important',\n marginLeft: '0px !important',\n marginTop: '2px'\n }\n },\n\n '& .mq-math-mode .mq-longdiv': {\n display: 'flex !important'\n },\n\n '& .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important'\n },\n\n '& .mq-math-mode .mq-sqrt-stem': {\n marginTop: '-5px',\n paddingTop: '4px'\n },\n\n '& .mq-math-mode .mq-paren': {\n verticalAlign: 'middle !important'\n }\n }\n }\n});\n\nexport default withStyles(styles)(EditorAndPad);\n"],"file":"editor-and-pad.js"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -13,75 +13,65 @@ Object.defineProperty(exports, "MathPreview", {
13
13
  });
14
14
  exports.RawPureToolbar = exports.PureToolbar = exports.MathToolbar = void 0;
15
15
 
16
- var _react = _interopRequireDefault(require("react"));
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
17
 
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
19
 
20
- var _classnames = _interopRequireDefault(require("classnames"));
20
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
21
 
22
- var _editorAndPad = _interopRequireDefault(require("./editor-and-pad"));
22
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
23
 
24
- var _doneButton = require("./done-button");
25
-
26
- var _styles = require("@material-ui/core/styles");
24
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
25
 
28
- var _mathPreview = _interopRequireDefault(require("./math-preview"));
26
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
27
 
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
29
 
32
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30
+ var _react = _interopRequireDefault(require("react"));
33
31
 
34
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
32
+ var _propTypes = _interopRequireDefault(require("prop-types"));
35
33
 
36
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
34
+ var _classnames = _interopRequireDefault(require("classnames"));
37
35
 
38
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
36
+ var _editorAndPad = _interopRequireDefault(require("./editor-and-pad"));
39
37
 
40
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
38
+ var _doneButton = require("./done-button");
41
39
 
42
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
40
+ var _styles = require("@material-ui/core/styles");
43
41
 
44
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
42
+ var _mathPreview = _interopRequireDefault(require("./math-preview"));
45
43
 
46
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
44
+ 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); }; }
47
45
 
48
46
  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; } }
49
47
 
50
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
51
-
52
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
53
-
54
48
  var MathToolbar = /*#__PURE__*/function (_React$Component) {
55
- _inherits(MathToolbar, _React$Component);
49
+ (0, _inherits2["default"])(MathToolbar, _React$Component);
56
50
 
57
51
  var _super = _createSuper(MathToolbar);
58
52
 
59
53
  function MathToolbar(props) {
60
54
  var _this;
61
55
 
62
- _classCallCheck(this, MathToolbar);
63
-
56
+ (0, _classCallCheck2["default"])(this, MathToolbar);
64
57
  _this = _super.call(this, props);
65
-
66
- _defineProperty(_assertThisInitialized(_this), "done", function () {
58
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "done", function () {
67
59
  _this.props.onDone(_this.state.latex);
68
60
  });
69
-
70
- _defineProperty(_assertThisInitialized(_this), "onChange", function (latex) {
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (latex) {
71
62
  _this.setState({
72
63
  latex: latex
73
64
  });
74
65
 
75
66
  _this.props.onChange(latex);
76
67
  });
77
-
78
68
  _this.state = {
79
69
  latex: props.latex
80
70
  };
81
71
  return _this;
82
72
  }
83
73
 
84
- _createClass(MathToolbar, [{
74
+ (0, _createClass2["default"])(MathToolbar, [{
85
75
  key: "UNSAFE_componentWillReceiveProps",
86
76
  value: function UNSAFE_componentWillReceiveProps(nextProps) {
87
77
  this.setState({
@@ -130,13 +120,11 @@ var MathToolbar = /*#__PURE__*/function (_React$Component) {
130
120
  });
131
121
  }
132
122
  }]);
133
-
134
123
  return MathToolbar;
135
124
  }(_react["default"].Component);
136
125
 
137
126
  exports.MathToolbar = MathToolbar;
138
-
139
- _defineProperty(MathToolbar, "propTypes", {
127
+ (0, _defineProperty2["default"])(MathToolbar, "propTypes", {
140
128
  autoFocus: _propTypes["default"].bool,
141
129
  allowAnswerBlock: _propTypes["default"].bool,
142
130
  controlledKeypad: _propTypes["default"].bool,
@@ -154,8 +142,7 @@ _defineProperty(MathToolbar, "propTypes", {
154
142
  onBlur: _propTypes["default"].func,
155
143
  hideDoneButton: _propTypes["default"].bool
156
144
  });
157
-
158
- _defineProperty(MathToolbar, "defaultProps", {
145
+ (0, _defineProperty2["default"])(MathToolbar, "defaultProps", {
159
146
  classNames: {},
160
147
  keypadMode: 'item-authoring',
161
148
  autoFocus: false,
@@ -172,17 +159,16 @@ _defineProperty(MathToolbar, "defaultProps", {
172
159
  });
173
160
 
174
161
  var RawPureToolbar = /*#__PURE__*/function (_React$Component2) {
175
- _inherits(RawPureToolbar, _React$Component2);
162
+ (0, _inherits2["default"])(RawPureToolbar, _React$Component2);
176
163
 
177
164
  var _super2 = _createSuper(RawPureToolbar);
178
165
 
179
166
  function RawPureToolbar() {
180
- _classCallCheck(this, RawPureToolbar);
181
-
167
+ (0, _classCallCheck2["default"])(this, RawPureToolbar);
182
168
  return _super2.apply(this, arguments);
183
169
  }
184
170
 
185
- _createClass(RawPureToolbar, [{
171
+ (0, _createClass2["default"])(RawPureToolbar, [{
186
172
  key: "render",
187
173
  value: function render() {
188
174
  var _this$props2 = this.props,
@@ -235,13 +221,11 @@ var RawPureToolbar = /*#__PURE__*/function (_React$Component2) {
235
221
  }));
236
222
  }
237
223
  }]);
238
-
239
224
  return RawPureToolbar;
240
225
  }(_react["default"].Component);
241
226
 
242
227
  exports.RawPureToolbar = RawPureToolbar;
243
-
244
- _defineProperty(RawPureToolbar, "propTypes", {
228
+ (0, _defineProperty2["default"])(RawPureToolbar, "propTypes", {
245
229
  classNames: _propTypes["default"].object,
246
230
  latex: _propTypes["default"].string.isRequired,
247
231
  keypadMode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.jsx"],"names":["MathToolbar","props","onDone","state","latex","setState","onChange","nextProps","classNames","autoFocus","allowAnswerBlock","onAnswerBlockAdd","controlledKeypad","controlledKeypadMode","keypadMode","noDecimal","additionalKeys","showKeypad","onFocus","onBlur","hideDoneButton","error","maxResponseAreas","done","React","Component","PropTypes","bool","oneOfType","string","number","object","array","isRequired","func","RawPureToolbar","hideInput","noLatexHandling","layoutForKeyPad","classes","pureToolbar","toolbar","styles","display","width","zIndex","alignItems","PureToolbar"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport EditorAndPad from './editor-and-pad';\nimport { DoneButton } from './done-button';\nimport { withStyles } from '@material-ui/core/styles';\nimport MathPreview from './math-preview';\n\nexport { MathPreview };\n\nexport class MathToolbar extends React.Component {\n static propTypes = {\n autoFocus: PropTypes.bool,\n allowAnswerBlock: PropTypes.bool,\n controlledKeypad: PropTypes.bool,\n controlledKeypadMode: PropTypes.bool,\n keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n classNames: PropTypes.object,\n showKeypad: PropTypes.bool,\n noDecimal: PropTypes.bool,\n additionalKeys: PropTypes.array,\n latex: PropTypes.string.isRequired,\n onAnswerBlockAdd: PropTypes.func,\n onChange: PropTypes.func,\n onDone: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n hideDoneButton: PropTypes.bool\n };\n\n static defaultProps = {\n classNames: {},\n keypadMode: 'item-authoring',\n autoFocus: false,\n allowAnswerBlock: false,\n controlledKeypad: false,\n controlledKeypadMode: false,\n noDecimal: false,\n showKeypad: true,\n additionalKeys: [],\n onChange: () => {},\n onAnswerBlockAdd: () => {},\n onFocus: () => {},\n hideDoneButton: false\n };\n\n constructor(props) {\n super(props);\n this.state = {\n latex: props.latex\n };\n }\n\n done = () => {\n this.props.onDone(this.state.latex);\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ latex: nextProps.latex });\n }\n\n onChange = latex => {\n this.setState({ latex });\n this.props.onChange(latex);\n };\n\n render() {\n const { latex } = this.state;\n const {\n classNames,\n autoFocus,\n allowAnswerBlock,\n onAnswerBlockAdd,\n controlledKeypad,\n controlledKeypadMode,\n keypadMode,\n noDecimal,\n additionalKeys,\n showKeypad,\n onFocus,\n onBlur,\n hideDoneButton,\n error,\n maxResponseAreas\n } = this.props;\n\n return (\n <PureToolbar\n autoFocus={autoFocus}\n classNames={classNames}\n onAnswerBlockAdd={onAnswerBlockAdd}\n allowAnswerBlock={allowAnswerBlock}\n latex={latex}\n additionalKeys={additionalKeys}\n noDecimal={noDecimal}\n keypadMode={keypadMode}\n onChange={this.onChange}\n onDone={this.done}\n onFocus={onFocus}\n onBlur={onBlur}\n showKeypad={showKeypad}\n controlledKeypad={controlledKeypad}\n controlledKeypadMode={controlledKeypadMode}\n hideDoneButton={hideDoneButton}\n error={error}\n maxResponseAreas={maxResponseAreas}\n />\n );\n }\n}\n\nexport class RawPureToolbar extends React.Component {\n static propTypes = {\n classNames: PropTypes.object,\n latex: PropTypes.string.isRequired,\n keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hideInput: PropTypes.bool,\n noLatexHandling: PropTypes.bool,\n layoutForKeyPad: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n onAnswerBlockAdd: PropTypes.func,\n additionalKeys: PropTypes.array,\n onFocus: PropTypes.func,\n classes: PropTypes.object.isRequired,\n autoFocus: PropTypes.bool,\n noDecimal: PropTypes.bool,\n allowAnswerBlock: PropTypes.bool,\n controlledKeypad: PropTypes.bool,\n controlledKeypadMode: PropTypes.bool,\n showKeypad: PropTypes.bool,\n hideDoneButton: PropTypes.bool\n };\n\n render() {\n const {\n classNames,\n autoFocus,\n allowAnswerBlock,\n onAnswerBlockAdd,\n controlledKeypad,\n controlledKeypadMode,\n additionalKeys,\n showKeypad,\n keypadMode,\n noDecimal,\n hideInput,\n noLatexHandling,\n layoutForKeyPad,\n latex,\n onChange,\n onDone,\n onFocus,\n onBlur,\n hideDoneButton,\n classes,\n error,\n maxResponseAreas\n } = this.props;\n\n return (\n <div className={cx(classes.pureToolbar, (classNames || {}).toolbar)}>\n <div />\n <EditorAndPad\n autoFocus={autoFocus}\n keypadMode={keypadMode}\n classNames={classNames || {}}\n controlledKeypad={controlledKeypad}\n controlledKeypadMode={controlledKeypadMode}\n noDecimal={noDecimal}\n hideInput={hideInput}\n noLatexHandling={noLatexHandling}\n layoutForKeyPad={layoutForKeyPad}\n showKeypad={showKeypad}\n additionalKeys={additionalKeys}\n allowAnswerBlock={allowAnswerBlock}\n onAnswerBlockAdd={onAnswerBlockAdd}\n latex={latex}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n error={error}\n maxResponseAreas={maxResponseAreas}\n />\n {(!controlledKeypad || (controlledKeypad && showKeypad)) && !hideDoneButton && (\n <DoneButton onClick={onDone} />\n )}\n </div>\n );\n }\n}\nconst styles = () => ({\n pureToolbar: {\n display: 'flex',\n width: '100%',\n zIndex: 8,\n alignItems: 'center'\n }\n});\n\nexport const PureToolbar = withStyles(styles)(RawPureToolbar);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.jsx"],"names":["MathToolbar","props","onDone","state","latex","setState","onChange","nextProps","classNames","autoFocus","allowAnswerBlock","onAnswerBlockAdd","controlledKeypad","controlledKeypadMode","keypadMode","noDecimal","additionalKeys","showKeypad","onFocus","onBlur","hideDoneButton","error","maxResponseAreas","done","React","Component","PropTypes","bool","oneOfType","string","number","object","array","isRequired","func","RawPureToolbar","hideInput","noLatexHandling","layoutForKeyPad","classes","pureToolbar","toolbar","styles","display","width","zIndex","alignItems","PureToolbar"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport EditorAndPad from './editor-and-pad';\nimport { DoneButton } from './done-button';\nimport { withStyles } from '@material-ui/core/styles';\nimport MathPreview from './math-preview';\n\nexport { MathPreview };\n\nexport class MathToolbar extends React.Component {\n static propTypes = {\n autoFocus: PropTypes.bool,\n allowAnswerBlock: PropTypes.bool,\n controlledKeypad: PropTypes.bool,\n controlledKeypadMode: PropTypes.bool,\n keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n classNames: PropTypes.object,\n showKeypad: PropTypes.bool,\n noDecimal: PropTypes.bool,\n additionalKeys: PropTypes.array,\n latex: PropTypes.string.isRequired,\n onAnswerBlockAdd: PropTypes.func,\n onChange: PropTypes.func,\n onDone: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n hideDoneButton: PropTypes.bool\n };\n\n static defaultProps = {\n classNames: {},\n keypadMode: 'item-authoring',\n autoFocus: false,\n allowAnswerBlock: false,\n controlledKeypad: false,\n controlledKeypadMode: false,\n noDecimal: false,\n showKeypad: true,\n additionalKeys: [],\n onChange: () => {},\n onAnswerBlockAdd: () => {},\n onFocus: () => {},\n hideDoneButton: false\n };\n\n constructor(props) {\n super(props);\n this.state = {\n latex: props.latex\n };\n }\n\n done = () => {\n this.props.onDone(this.state.latex);\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ latex: nextProps.latex });\n }\n\n onChange = latex => {\n this.setState({ latex });\n this.props.onChange(latex);\n };\n\n render() {\n const { latex } = this.state;\n const {\n classNames,\n autoFocus,\n allowAnswerBlock,\n onAnswerBlockAdd,\n controlledKeypad,\n controlledKeypadMode,\n keypadMode,\n noDecimal,\n additionalKeys,\n showKeypad,\n onFocus,\n onBlur,\n hideDoneButton,\n error,\n maxResponseAreas\n } = this.props;\n\n return (\n <PureToolbar\n autoFocus={autoFocus}\n classNames={classNames}\n onAnswerBlockAdd={onAnswerBlockAdd}\n allowAnswerBlock={allowAnswerBlock}\n latex={latex}\n additionalKeys={additionalKeys}\n noDecimal={noDecimal}\n keypadMode={keypadMode}\n onChange={this.onChange}\n onDone={this.done}\n onFocus={onFocus}\n onBlur={onBlur}\n showKeypad={showKeypad}\n controlledKeypad={controlledKeypad}\n controlledKeypadMode={controlledKeypadMode}\n hideDoneButton={hideDoneButton}\n error={error}\n maxResponseAreas={maxResponseAreas}\n />\n );\n }\n}\n\nexport class RawPureToolbar extends React.Component {\n static propTypes = {\n classNames: PropTypes.object,\n latex: PropTypes.string.isRequired,\n keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hideInput: PropTypes.bool,\n noLatexHandling: PropTypes.bool,\n layoutForKeyPad: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n onAnswerBlockAdd: PropTypes.func,\n additionalKeys: PropTypes.array,\n onFocus: PropTypes.func,\n classes: PropTypes.object.isRequired,\n autoFocus: PropTypes.bool,\n noDecimal: PropTypes.bool,\n allowAnswerBlock: PropTypes.bool,\n controlledKeypad: PropTypes.bool,\n controlledKeypadMode: PropTypes.bool,\n showKeypad: PropTypes.bool,\n hideDoneButton: PropTypes.bool\n };\n\n render() {\n const {\n classNames,\n autoFocus,\n allowAnswerBlock,\n onAnswerBlockAdd,\n controlledKeypad,\n controlledKeypadMode,\n additionalKeys,\n showKeypad,\n keypadMode,\n noDecimal,\n hideInput,\n noLatexHandling,\n layoutForKeyPad,\n latex,\n onChange,\n onDone,\n onFocus,\n onBlur,\n hideDoneButton,\n classes,\n error,\n maxResponseAreas\n } = this.props;\n\n return (\n <div className={cx(classes.pureToolbar, (classNames || {}).toolbar)}>\n <div />\n <EditorAndPad\n autoFocus={autoFocus}\n keypadMode={keypadMode}\n classNames={classNames || {}}\n controlledKeypad={controlledKeypad}\n controlledKeypadMode={controlledKeypadMode}\n noDecimal={noDecimal}\n hideInput={hideInput}\n noLatexHandling={noLatexHandling}\n layoutForKeyPad={layoutForKeyPad}\n showKeypad={showKeypad}\n additionalKeys={additionalKeys}\n allowAnswerBlock={allowAnswerBlock}\n onAnswerBlockAdd={onAnswerBlockAdd}\n latex={latex}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n error={error}\n maxResponseAreas={maxResponseAreas}\n />\n {(!controlledKeypad || (controlledKeypad && showKeypad)) && !hideDoneButton && (\n <DoneButton onClick={onDone} />\n )}\n </div>\n );\n }\n}\nconst styles = () => ({\n pureToolbar: {\n display: 'flex',\n width: '100%',\n zIndex: 8,\n alignItems: 'center'\n }\n});\n\nexport const PureToolbar = withStyles(styles)(RawPureToolbar);\n"],"file":"index.js"}
@@ -1,62 +1,53 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = exports.RawMathPreview = void 0;
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
- var _debug = _interopRequireDefault(require("debug"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
11
 
16
- var _styles = require("@material-ui/core/styles");
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
13
 
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
15
 
20
- var _mathInput = require("@pie-lib/math-input");
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
17
 
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
19
 
24
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
21
 
26
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
22
+ var _react = _interopRequireDefault(require("react"));
27
23
 
28
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
24
+ var _classnames = _interopRequireDefault(require("classnames"));
29
25
 
30
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
26
+ var _debug = _interopRequireDefault(require("debug"));
31
27
 
32
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
28
+ var _styles = require("@material-ui/core/styles");
33
29
 
34
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
30
+ var _propTypes = _interopRequireDefault(require("prop-types"));
35
31
 
36
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
32
+ var _mathInput = require("@pie-lib/math-input");
37
33
 
38
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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); }; }
39
35
 
40
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; } }
41
37
 
42
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
43
-
44
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
45
-
46
38
  var log = (0, _debug["default"])('@pie-lib:math-toolbar:math-preview');
47
39
 
48
40
  var RawMathPreview = /*#__PURE__*/function (_React$Component) {
49
- _inherits(RawMathPreview, _React$Component);
41
+ (0, _inherits2["default"])(RawMathPreview, _React$Component);
50
42
 
51
43
  var _super = _createSuper(RawMathPreview);
52
44
 
53
45
  function RawMathPreview() {
54
- _classCallCheck(this, RawMathPreview);
55
-
46
+ (0, _classCallCheck2["default"])(this, RawMathPreview);
56
47
  return _super.apply(this, arguments);
57
48
  }
58
49
 
59
- _createClass(RawMathPreview, [{
50
+ (0, _createClass2["default"])(RawMathPreview, [{
60
51
  key: "render",
61
52
  value: function render() {
62
53
  log('[render] data: ', this.props.node.data);
@@ -77,13 +68,11 @@ var RawMathPreview = /*#__PURE__*/function (_React$Component) {
77
68
  }));
78
69
  }
79
70
  }]);
80
-
81
71
  return RawMathPreview;
82
72
  }(_react["default"].Component);
83
73
 
84
74
  exports.RawMathPreview = RawMathPreview;
85
-
86
- _defineProperty(RawMathPreview, "propTypes", {
75
+ (0, _defineProperty2["default"])(RawMathPreview, "propTypes", {
87
76
  latex: _propTypes["default"].string,
88
77
  node: _propTypes["default"].object,
89
78
  classes: _propTypes["default"].object,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/math-preview.jsx"],"names":["log","RawMathPreview","props","node","data","latex","get","classes","isSelected","onFocus","onBlur","root","selected","insideOverlay","React","Component","PropTypes","string","object","bool","func","mp","theme","display","alignItems","position","border","outline","boxShadow","borderRadius","fontFamily","paddingTop","minWidth","lineHeight","top","left","right","borderTop","palette","primary","main","bottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport { mq } from '@pie-lib/math-input';\n\nconst log = debug('@pie-lib:math-toolbar:math-preview');\n\nexport class RawMathPreview extends React.Component {\n static propTypes = {\n latex: PropTypes.string,\n node: PropTypes.object,\n classes: PropTypes.object,\n isSelected: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func\n };\n\n render() {\n log('[render] data: ', this.props.node.data);\n const latex = this.props.node.data.get('latex');\n const { classes, isSelected, onFocus, onBlur } = this.props;\n return (\n <div className={classNames(classes.root, isSelected && classes.selected)}>\n {' '}\n <span className={classes.insideOverlay} />\n <mq.Static latex={latex} onFocus={onFocus} onBlur={onBlur} />\n </div>\n );\n }\n}\n\nconst mp = theme => ({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n position: 'relative',\n '& > .mq-math-mode': {\n border: 'solid 1px lightgrey'\n },\n '& > .mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: 'solid 1px black',\n borderRadius: '0px'\n },\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n '& .mq-overarrow-inner': {\n paddingTop: '0 !important',\n border: 'none !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px'\n },\n '&:after': {\n top: '-2.36em',\n right: '-1px'\n },\n '&.mq-empty:after': {\n top: '-0.45em'\n }\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px'\n }\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important'\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n }\n },\n selected: {\n border: `solid 1px ${theme.palette.primary.main}`,\n '& > .mq-math-mode': {\n border: 'solid 0px lightgrey'\n }\n },\n insideOverlay: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n top: 0\n }\n});\n\nexport default withStyles(mp)(RawMathPreview);\n"],"file":"math-preview.js"}
1
+ {"version":3,"sources":["../src/math-preview.jsx"],"names":["log","RawMathPreview","props","node","data","latex","get","classes","isSelected","onFocus","onBlur","root","selected","insideOverlay","React","Component","PropTypes","string","object","bool","func","mp","theme","display","alignItems","position","border","outline","boxShadow","borderRadius","fontFamily","paddingTop","minWidth","lineHeight","top","left","right","borderTop","palette","primary","main","bottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport { mq } from '@pie-lib/math-input';\n\nconst log = debug('@pie-lib:math-toolbar:math-preview');\n\nexport class RawMathPreview extends React.Component {\n static propTypes = {\n latex: PropTypes.string,\n node: PropTypes.object,\n classes: PropTypes.object,\n isSelected: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func\n };\n\n render() {\n log('[render] data: ', this.props.node.data);\n const latex = this.props.node.data.get('latex');\n const { classes, isSelected, onFocus, onBlur } = this.props;\n return (\n <div className={classNames(classes.root, isSelected && classes.selected)}>\n {' '}\n <span className={classes.insideOverlay} />\n <mq.Static latex={latex} onFocus={onFocus} onBlur={onBlur} />\n </div>\n );\n }\n}\n\nconst mp = theme => ({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n position: 'relative',\n '& > .mq-math-mode': {\n border: 'solid 1px lightgrey'\n },\n '& > .mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: 'solid 1px black',\n borderRadius: '0px'\n },\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n '& .mq-overarrow-inner': {\n paddingTop: '0 !important',\n border: 'none !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px'\n },\n '&:after': {\n top: '-2.36em',\n right: '-1px'\n },\n '&.mq-empty:after': {\n top: '-0.45em'\n }\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px'\n }\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important'\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n }\n },\n selected: {\n border: `solid 1px ${theme.palette.primary.main}`,\n '& > .mq-math-mode': {\n border: 'solid 0px lightgrey'\n }\n },\n insideOverlay: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n top: 0\n }\n});\n\nexport default withStyles(mp)(RawMathPreview);\n"],"file":"math-preview.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.9.4",
6
+ "version": "1.10.0",
7
7
  "description": "Math toolbar for editing math equations",
8
8
  "keywords": [
9
9
  "math",
@@ -19,7 +19,7 @@
19
19
  "dependencies": {
20
20
  "@material-ui/core": "^3.8.3",
21
21
  "@material-ui/icons": "^3.0.2",
22
- "@pie-lib/math-input": "^6.6.10",
22
+ "@pie-lib/math-input": "^6.7.0",
23
23
  "classnames": "^2.2.6",
24
24
  "debug": "^4.1.1",
25
25
  "keycode": "^2.2.0",
@@ -33,5 +33,5 @@
33
33
  "@pie-lib/test-utils": "^0.2.19"
34
34
  },
35
35
  "scripts": {},
36
- "gitHead": "531a7f4895323a9d524cfb96f7e26a5f1ab9f7c1"
36
+ "gitHead": "f766e0fdb9e51a9449324db51ccaa93904211710"
37
37
  }
@@ -81,6 +81,10 @@ export class EditorAndPad extends React.Component {
81
81
  return;
82
82
  }
83
83
 
84
+ if (!c) {
85
+ return;
86
+ }
87
+
84
88
  if (c.type === 'clear') {
85
89
  log('call clear...');
86
90
  this.input.clear();
@@ -260,6 +264,7 @@ export class EditorAndPad extends React.Component {
260
264
  <hr className={classes.hr} />
261
265
  {shouldShowKeypad && (
262
266
  <HorizontalKeypad
267
+ className={classes.keyboard}
263
268
  layoutForKeyPad={layoutForKeyPad}
264
269
  additionalKeys={additionalKeys}
265
270
  mode={controlledKeypadMode ? this.state.equationEditor : keypadMode}
@@ -276,7 +281,10 @@ const styles = theme => ({
276
281
  inputAndTypeContainer: {
277
282
  display: 'flex',
278
283
  alignItems: 'center',
279
- '& *': {
284
+ '& .mq-root-block': {
285
+ marginTop: '8px',
286
+ },
287
+ '& .mq-math-mode .mq-overarrow': {
280
288
  fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
281
289
  },
282
290
  '& .mq-overarrow.mq-arrow-both': {
@@ -301,6 +309,57 @@ const styles = theme => ({
301
309
  top: '-0.4em',
302
310
  right: '-1px'
303
311
  }
312
+ },
313
+ '& *': {
314
+ fontFamily: 'MJXZERO, MJXTEX-I !important',
315
+
316
+ '& .mq-math-mode .mq-empty': {
317
+ padding: '9px 1px !important'
318
+ },
319
+
320
+ '& .mq-longdiv-inner': {
321
+ marginTop: '-1px',
322
+ marginLeft: '5px !important;',
323
+
324
+ '& > .mq-empty': {
325
+ padding: '0 !important',
326
+ marginLeft: '0px !important',
327
+ marginTop: '2px'
328
+ }
329
+ },
330
+
331
+ '& .mq-math-mode .mq-longdiv': {
332
+ display: 'flex !important'
333
+ },
334
+
335
+ '& .mq-math-mode .mq-supsub': {
336
+ fontSize: '70.7% !important'
337
+ },
338
+
339
+ '& .mq-math-mode .mq-paren': {
340
+ verticalAlign: 'middle !important'
341
+ },
342
+
343
+ '& .mq-math-mode .mq-sqrt-stem': {
344
+ borderTop: '0.07em solid',
345
+ marginLeft: '-1.5px',
346
+ marginTop: '-2px !important',
347
+ paddingTop: '5px !important'
348
+ },
349
+
350
+ '& .mq-supsub ': {
351
+ fontSize: '70.7%'
352
+ },
353
+
354
+ '& .mq-math-mode .mq-supsub.mq-sup-only': {
355
+ verticalAlign: '-0.1em !important',
356
+
357
+ '& .mq-sup': {
358
+ marginBottom: '0px !important'
359
+ }
360
+ },
361
+
362
+ '-webkit-font-smoothing': 'antialiased !important'
304
363
  }
305
364
  },
306
365
  hide: {
@@ -313,7 +372,15 @@ const styles = theme => ({
313
372
  marginLeft: '15px',
314
373
  marginTop: '5px',
315
374
  marginBottom: '5px',
316
- marginRight: '5px'
375
+ marginRight: '5px',
376
+
377
+ '& label': {
378
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
379
+ },
380
+
381
+ '& div': {
382
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
383
+ }
317
384
  },
318
385
  mathEditor: {
319
386
  maxWidth: '400px',
@@ -382,6 +449,43 @@ const styles = theme => ({
382
449
  },
383
450
  error: {
384
451
  border: '2px solid red'
452
+ },
453
+ keyboard: {
454
+ '& *': {
455
+ fontFamily: 'MJXZERO, MJXTEX-I !important',
456
+
457
+ '& .mq-math-mode .mq-empty': {
458
+ padding: '9px 1px !important'
459
+ },
460
+
461
+ '& .mq-longdiv-inner': {
462
+ marginTop: '-1px',
463
+ marginLeft: '5px !important;',
464
+
465
+ '& > .mq-empty': {
466
+ padding: '0 !important',
467
+ marginLeft: '0px !important',
468
+ marginTop: '2px'
469
+ }
470
+ },
471
+
472
+ '& .mq-math-mode .mq-longdiv': {
473
+ display: 'flex !important'
474
+ },
475
+
476
+ '& .mq-math-mode .mq-supsub': {
477
+ fontSize: '70.7% !important'
478
+ },
479
+
480
+ '& .mq-math-mode .mq-sqrt-stem': {
481
+ marginTop: '-5px',
482
+ paddingTop: '4px'
483
+ },
484
+
485
+ '& .mq-math-mode .mq-paren': {
486
+ verticalAlign: 'middle !important'
487
+ }
488
+ }
385
489
  }
386
490
  });
387
491