@pie-lib/math-toolbar 1.9.3 → 1.10.1

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,46 @@
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.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@1.10.0...@pie-lib/math-toolbar@1.10.1) (2022-07-18)
7
+
8
+
9
+ ### Reverts
10
+
11
+ * Revert "feat(math-toolbar): Make math-toolbar style inline with mathjax from Numeric to Grade 8HS PD-1521" ([f604ddd](https://github.com/pie-framework/pie-lib/commit/f604ddd8402b81f101e3f50b1baa4cc1bd5eec34))
12
+ * Revert "feat(math-toolbar): Make math-toolbar preview style inline with mathjax" ([bb86c35](https://github.com/pie-framework/pie-lib/commit/bb86c35ed56228c673020faf5ea089fb99418fd8))
13
+ * Revert "tweak" ([0c59e89](https://github.com/pie-framework/pie-lib/commit/0c59e89d5ca923e93a742051b3df7e9c8b2b90cc))
14
+ * Revert "tweaks" ([647904f](https://github.com/pie-framework/pie-lib/commit/647904f3dc4f59b86064be1d7b9bbd2a4184f96b))
15
+
16
+
17
+
18
+
19
+
20
+ # [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)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **math-toolbar:** add sanity check for clicking in editor-and-pad ([4c5dc18](https://github.com/pie-framework/pie-lib/commit/4c5dc18e077fca9a50f9c638f64ba08bba3b0884))
26
+
27
+
28
+ ### Features
29
+
30
+ * **math-toolbar:** Make math-toolbar preview style inline with mathjax ([266b1bc](https://github.com/pie-framework/pie-lib/commit/266b1bc9a277530fd653edfacbb836596957dd33))
31
+ * **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))
32
+ * **plugins:** added special characters adding capabilities [PD-1462] ([b9f41e1](https://github.com/pie-framework/pie-lib/commit/b9f41e11f44df140a66145d0b04558ca2b0ea48e))
33
+
34
+
35
+
36
+
37
+
38
+ ## [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)
39
+
40
+ **Note:** Version bump only for package @pie-lib/math-toolbar
41
+
42
+
43
+
44
+
45
+
6
46
  ## [1.9.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@1.9.2...@pie-lib/math-toolbar@1.9.3) (2022-05-10)
7
47
 
8
48
 
@@ -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,26 +81,37 @@ 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) {
102
- var noDecimal = _this.props.noDecimal;
93
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (data) {
94
+ var _this$props = _this.props,
95
+ noDecimal = _this$props.noDecimal,
96
+ noLatexHandling = _this$props.noLatexHandling,
97
+ onChange = _this$props.onChange;
103
98
  var c = toNodeData(data);
104
- log('mathChange: ', c); // if decimals are not allowed for this response, we discard the input
99
+ log('mathChange: ', c);
100
+
101
+ if (noLatexHandling) {
102
+ onChange(c.value);
103
+ return;
104
+ } // if decimals are not allowed for this response, we discard the input
105
+
105
106
 
106
107
  if (noDecimal && (c.value === '.' || c.value === ',')) {
107
108
  return;
108
109
  }
109
110
 
111
+ if (!c) {
112
+ return;
113
+ }
114
+
110
115
  if (c.type === 'clear') {
111
116
  log('call clear...');
112
117
 
@@ -121,8 +126,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
121
126
  _this.input.write(c.value);
122
127
  }
123
128
  });
124
-
125
- _defineProperty(_assertThisInitialized(_this), "updateDisable", function (isEdit) {
129
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateDisable", function (isEdit) {
126
130
  var maxResponseAreas = _this.props.maxResponseAreas;
127
131
 
128
132
  if (maxResponseAreas) {
@@ -133,8 +137,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
133
137
  });
134
138
  }
135
139
  });
136
-
137
- _defineProperty(_assertThisInitialized(_this), "onAnswerBlockClick", function () {
140
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAnswerBlockClick", function () {
138
141
  _this.props.onAnswerBlockAdd();
139
142
 
140
143
  _this.onClick({
@@ -143,11 +146,10 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
143
146
 
144
147
  _this.updateDisable(true);
145
148
  });
146
-
147
- _defineProperty(_assertThisInitialized(_this), "onEditorChange", function (latex) {
148
- var _this$props = _this.props,
149
- onChange = _this$props.onChange,
150
- noDecimal = _this$props.noDecimal;
149
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onEditorChange", function (latex) {
150
+ var _this$props2 = _this.props,
151
+ onChange = _this$props2.onChange,
152
+ noDecimal = _this$props2.noDecimal;
151
153
  (0, _mathInput.updateSpans)();
152
154
 
153
155
  _this.updateDisable(true); // if no decimals are allowed and the last change is a decimal dot, discard the change
@@ -163,14 +165,12 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
163
165
 
164
166
  onChange(latex);
165
167
  });
166
-
167
- _defineProperty(_assertThisInitialized(_this), "onEditorTypeChange", function (evt) {
168
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onEditorTypeChange", function (evt) {
168
169
  _this.setState({
169
170
  equationEditor: evt.target.value
170
171
  });
171
172
  });
172
-
173
- _defineProperty(_assertThisInitialized(_this), "checkResponseAreasNumber", function (maxResponseAreas, isEdit) {
173
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkResponseAreasNumber", function (maxResponseAreas, isEdit) {
174
174
  var _ref = _this.input && _this.input.props || {},
175
175
  latex = _ref.latex;
176
176
 
@@ -181,7 +181,6 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
181
181
 
182
182
  return false;
183
183
  });
184
-
185
184
  _this.state = {
186
185
  equationEditor: 'item-authoring',
187
186
  addDisabled: false
@@ -189,7 +188,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
189
188
  return _this;
190
189
  }
191
190
 
192
- _createClass(EditorAndPad, [{
191
+ (0, _createClass2["default"])(EditorAndPad, [{
193
192
  key: "componentDidMount",
194
193
  value: function componentDidMount() {
195
194
  if (this.input && this.props.autoFocus) {
@@ -232,27 +231,29 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
232
231
  value: function render() {
233
232
  var _this2 = this;
234
233
 
235
- var _this$props2 = this.props,
236
- classNames = _this$props2.classNames,
237
- keypadMode = _this$props2.keypadMode,
238
- allowAnswerBlock = _this$props2.allowAnswerBlock,
239
- additionalKeys = _this$props2.additionalKeys,
240
- controlledKeypad = _this$props2.controlledKeypad,
241
- controlledKeypadMode = _this$props2.controlledKeypadMode,
242
- showKeypad = _this$props2.showKeypad,
243
- noDecimal = _this$props2.noDecimal,
244
- latex = _this$props2.latex,
245
- _onFocus = _this$props2.onFocus,
246
- _onBlur = _this$props2.onBlur,
247
- classes = _this$props2.classes,
248
- error = _this$props2.error;
234
+ var _this$props3 = this.props,
235
+ classNames = _this$props3.classNames,
236
+ keypadMode = _this$props3.keypadMode,
237
+ allowAnswerBlock = _this$props3.allowAnswerBlock,
238
+ additionalKeys = _this$props3.additionalKeys,
239
+ controlledKeypad = _this$props3.controlledKeypad,
240
+ controlledKeypadMode = _this$props3.controlledKeypadMode,
241
+ showKeypad = _this$props3.showKeypad,
242
+ noDecimal = _this$props3.noDecimal,
243
+ hideInput = _this$props3.hideInput,
244
+ layoutForKeyPad = _this$props3.layoutForKeyPad,
245
+ latex = _this$props3.latex,
246
+ _onFocus = _this$props3.onFocus,
247
+ _onBlur = _this$props3.onBlur,
248
+ classes = _this$props3.classes,
249
+ error = _this$props3.error;
249
250
  var shouldShowKeypad = !controlledKeypad || controlledKeypad && showKeypad;
250
251
  var addDisabled = this.state.addDisabled;
251
252
  log('[render]', latex);
252
253
  return /*#__PURE__*/_react["default"].createElement("div", {
253
254
  className: (0, _classnames["default"])(classes.mathToolbar, classNames.mathToolbar)
254
255
  }, /*#__PURE__*/_react["default"].createElement("div", {
255
- className: classes.inputAndTypeContainer
256
+ className: (0, _classnames["default"])(classes.inputAndTypeContainer, (0, _defineProperty2["default"])({}, classes.hide, hideInput))
256
257
  }, controlledKeypadMode && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
257
258
  label: "Equation Editor",
258
259
  className: classes.selectContainer
@@ -284,7 +285,9 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
284
285
  value: 'statistics'
285
286
  }, "Statistics"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
286
287
  value: 'item-authoring'
287
- }, "Item Authoring"))), /*#__PURE__*/_react["default"].createElement("div", {
288
+ }, "Item Authoring"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
289
+ value: 'language'
290
+ }, "Language"))), /*#__PURE__*/_react["default"].createElement("div", {
288
291
  className: (0, _classnames["default"])(classes.inputContainer, error ? classes.error : '')
289
292
  }, /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Input, {
290
293
  onFocus: function onFocus() {
@@ -314,6 +317,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
314
317
  }, "+ Response Area"), /*#__PURE__*/_react["default"].createElement("hr", {
315
318
  className: classes.hr
316
319
  }), shouldShowKeypad && /*#__PURE__*/_react["default"].createElement(_mathInput.HorizontalKeypad, {
320
+ layoutForKeyPad: layoutForKeyPad,
317
321
  additionalKeys: additionalKeys,
318
322
  mode: controlledKeypadMode ? this.state.equationEditor : keypadMode,
319
323
  onClick: this.onClick,
@@ -321,13 +325,11 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
321
325
  }));
322
326
  }
323
327
  }]);
324
-
325
328
  return EditorAndPad;
326
329
  }(_react["default"].Component);
327
330
 
328
331
  exports.EditorAndPad = EditorAndPad;
329
-
330
- _defineProperty(EditorAndPad, "propTypes", {
332
+ (0, _defineProperty2["default"])(EditorAndPad, "propTypes", {
331
333
  classNames: _propTypes["default"].object,
332
334
  keypadMode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
333
335
  autoFocus: _propTypes["default"].bool,
@@ -336,6 +338,9 @@ _defineProperty(EditorAndPad, "propTypes", {
336
338
  controlledKeypad: _propTypes["default"].bool,
337
339
  controlledKeypadMode: _propTypes["default"].bool,
338
340
  noDecimal: _propTypes["default"].bool,
341
+ hideInput: _propTypes["default"].bool,
342
+ noLatexHandling: _propTypes["default"].bool,
343
+ layoutForKeyPad: _propTypes["default"].object,
339
344
  additionalKeys: _propTypes["default"].array,
340
345
  latex: _propTypes["default"].string.isRequired,
341
346
  onAnswerBlockAdd: _propTypes["default"].func,
@@ -377,6 +382,9 @@ var styles = function styles(theme) {
377
382
  }
378
383
  }
379
384
  },
385
+ hide: {
386
+ display: 'none'
387
+ },
380
388
  selectContainer: {
381
389
  flex: 'initial',
382
390
  width: '25%',
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/editor-and-pad.jsx"],"names":["log","decimalRegex","toNodeData","data","type","value","EditorAndPad","props","noDecimal","c","input","clear","command","keystroke","write","isEdit","maxResponseAreas","shouldDisable","checkResponseAreasNumber","setState","addDisabled","onAnswerBlockAdd","onClick","updateDisable","latex","onChange","indexOf","replace","evt","equationEditor","target","count","match","length","state","autoFocus","focus","nextProps","nextState","inputIsDifferent","mathField","error","keypadMode","controlledKeypad","showKeypad","classNames","allowAnswerBlock","additionalKeys","controlledKeypadMode","onFocus","onBlur","classes","shouldShowKeypad","mathToolbar","inputAndTypeContainer","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 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 } = this.props;\n const c = toNodeData(data);\n log('mathChange: ', c);\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 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={classes.inputAndTypeContainer}>\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 </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 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 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","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) {\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"}
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,
@@ -196,6 +182,9 @@ var RawPureToolbar = /*#__PURE__*/function (_React$Component2) {
196
182
  showKeypad = _this$props2.showKeypad,
197
183
  keypadMode = _this$props2.keypadMode,
198
184
  noDecimal = _this$props2.noDecimal,
185
+ hideInput = _this$props2.hideInput,
186
+ noLatexHandling = _this$props2.noLatexHandling,
187
+ layoutForKeyPad = _this$props2.layoutForKeyPad,
199
188
  latex = _this$props2.latex,
200
189
  onChange = _this$props2.onChange,
201
190
  onDone = _this$props2.onDone,
@@ -214,6 +203,9 @@ var RawPureToolbar = /*#__PURE__*/function (_React$Component2) {
214
203
  controlledKeypad: controlledKeypad,
215
204
  controlledKeypadMode: controlledKeypadMode,
216
205
  noDecimal: noDecimal,
206
+ hideInput: hideInput,
207
+ noLatexHandling: noLatexHandling,
208
+ layoutForKeyPad: layoutForKeyPad,
217
209
  showKeypad: showKeypad,
218
210
  additionalKeys: additionalKeys,
219
211
  allowAnswerBlock: allowAnswerBlock,
@@ -229,16 +221,17 @@ var RawPureToolbar = /*#__PURE__*/function (_React$Component2) {
229
221
  }));
230
222
  }
231
223
  }]);
232
-
233
224
  return RawPureToolbar;
234
225
  }(_react["default"].Component);
235
226
 
236
227
  exports.RawPureToolbar = RawPureToolbar;
237
-
238
- _defineProperty(RawPureToolbar, "propTypes", {
228
+ (0, _defineProperty2["default"])(RawPureToolbar, "propTypes", {
239
229
  classNames: _propTypes["default"].object,
240
230
  latex: _propTypes["default"].string.isRequired,
241
231
  keypadMode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
232
+ hideInput: _propTypes["default"].bool,
233
+ noLatexHandling: _propTypes["default"].bool,
234
+ layoutForKeyPad: _propTypes["default"].object,
242
235
  onChange: _propTypes["default"].func.isRequired,
243
236
  onDone: _propTypes["default"].func.isRequired,
244
237
  onBlur: _propTypes["default"].func,
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","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 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 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 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.3",
6
+ "version": "1.10.1",
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.9",
22
+ "@pie-lib/math-input": "^6.7.1",
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": "84fbd889875b1e3a0539451a940fb772fc46162a"
36
+ "gitHead": "856c051f8dcb735d955408ffcfe49f22f96729c9"
37
37
  }
@@ -42,6 +42,9 @@ export class EditorAndPad extends React.Component {
42
42
  controlledKeypad: PropTypes.bool,
43
43
  controlledKeypadMode: PropTypes.bool,
44
44
  noDecimal: PropTypes.bool,
45
+ hideInput: PropTypes.bool,
46
+ noLatexHandling: PropTypes.bool,
47
+ layoutForKeyPad: PropTypes.object,
45
48
  additionalKeys: PropTypes.array,
46
49
  latex: PropTypes.string.isRequired,
47
50
  onAnswerBlockAdd: PropTypes.func,
@@ -64,15 +67,24 @@ export class EditorAndPad extends React.Component {
64
67
  }
65
68
 
66
69
  onClick = data => {
67
- const { noDecimal } = this.props;
70
+ const { noDecimal, noLatexHandling, onChange } = this.props;
68
71
  const c = toNodeData(data);
69
72
  log('mathChange: ', c);
70
73
 
74
+ if (noLatexHandling) {
75
+ onChange(c.value);
76
+ return;
77
+ }
78
+
71
79
  // if decimals are not allowed for this response, we discard the input
72
80
  if (noDecimal && (c.value === '.' || c.value === ',')) {
73
81
  return;
74
82
  }
75
83
 
84
+ if (!c) {
85
+ return;
86
+ }
87
+
76
88
  if (c.type === 'clear') {
77
89
  log('call clear...');
78
90
  this.input.clear();
@@ -178,6 +190,8 @@ export class EditorAndPad extends React.Component {
178
190
  controlledKeypadMode,
179
191
  showKeypad,
180
192
  noDecimal,
193
+ hideInput,
194
+ layoutForKeyPad,
181
195
  latex,
182
196
  onFocus,
183
197
  onBlur,
@@ -191,7 +205,7 @@ export class EditorAndPad extends React.Component {
191
205
 
192
206
  return (
193
207
  <div className={cx(classes.mathToolbar, classNames.mathToolbar)}>
194
- <div className={classes.inputAndTypeContainer}>
208
+ <div className={cx(classes.inputAndTypeContainer, { [classes.hide]: hideInput })}>
195
209
  {controlledKeypadMode && (
196
210
  <InputContainer label="Equation Editor" className={classes.selectContainer}>
197
211
  <Select
@@ -211,6 +225,7 @@ export class EditorAndPad extends React.Component {
211
225
  <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>
212
226
  <MenuItem value={'statistics'}>Statistics</MenuItem>
213
227
  <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>
228
+ <MenuItem value={'language'}>Language</MenuItem>
214
229
  </Select>
215
230
  </InputContainer>
216
231
  )}
@@ -249,6 +264,7 @@ export class EditorAndPad extends React.Component {
249
264
  <hr className={classes.hr} />
250
265
  {shouldShowKeypad && (
251
266
  <HorizontalKeypad
267
+ layoutForKeyPad={layoutForKeyPad}
252
268
  additionalKeys={additionalKeys}
253
269
  mode={controlledKeypadMode ? this.state.equationEditor : keypadMode}
254
270
  onClick={this.onClick}
@@ -291,6 +307,9 @@ const styles = theme => ({
291
307
  }
292
308
  }
293
309
  },
310
+ hide: {
311
+ display: 'none'
312
+ },
294
313
  selectContainer: {
295
314
  flex: 'initial',
296
315
  width: '25%',
package/src/index.jsx CHANGED
@@ -114,6 +114,9 @@ export class RawPureToolbar extends React.Component {
114
114
  classNames: PropTypes.object,
115
115
  latex: PropTypes.string.isRequired,
116
116
  keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
117
+ hideInput: PropTypes.bool,
118
+ noLatexHandling: PropTypes.bool,
119
+ layoutForKeyPad: PropTypes.object,
117
120
  onChange: PropTypes.func.isRequired,
118
121
  onDone: PropTypes.func.isRequired,
119
122
  onBlur: PropTypes.func,
@@ -142,6 +145,9 @@ export class RawPureToolbar extends React.Component {
142
145
  showKeypad,
143
146
  keypadMode,
144
147
  noDecimal,
148
+ hideInput,
149
+ noLatexHandling,
150
+ layoutForKeyPad,
145
151
  latex,
146
152
  onChange,
147
153
  onDone,
@@ -163,6 +169,9 @@ export class RawPureToolbar extends React.Component {
163
169
  controlledKeypad={controlledKeypad}
164
170
  controlledKeypadMode={controlledKeypadMode}
165
171
  noDecimal={noDecimal}
172
+ hideInput={hideInput}
173
+ noLatexHandling={noLatexHandling}
174
+ layoutForKeyPad={layoutForKeyPad}
166
175
  showKeypad={showKeypad}
167
176
  additionalKeys={additionalKeys}
168
177
  allowAnswerBlock={allowAnswerBlock}