@pie-lib/math-toolbar 2.0.0-beta.3 → 2.0.0-next.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.
@@ -7,28 +7,236 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = exports.EditorAndPad = void 0;
8
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _mathInput = require("@pie-lib/math-input");
16
14
  var _react = _interopRequireDefault(require("react"));
17
15
  var _debug = _interopRequireDefault(require("debug"));
18
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
- var _classnames = _interopRequireDefault(require("classnames"));
20
- var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
21
- var _styles = require("@material-ui/core/styles");
22
- var _renderUi = require("@pie-lib/render-ui");
23
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
24
- var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
17
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
18
+ var _styles = require("@mui/material/styles");
19
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
20
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
25
21
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
26
- 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); }; }
27
- 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; } }
28
- 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; }
29
- 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; }
22
+ var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
23
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
24
+ var _mathInput = require("@pie-lib/math-input");
25
+ var _renderUi = require("@pie-lib/render-ui");
26
+ var _utils = require("./utils");
27
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
28
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
29
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
31
+ var _mq$CommonMqStyles = _mathInput.mq.CommonMqStyles,
32
+ commonMqFontStyles = _mq$CommonMqStyles.commonMqFontStyles,
33
+ commonMqKeyboardStyles = _mq$CommonMqStyles.commonMqKeyboardStyles,
34
+ longdivStyles = _mq$CommonMqStyles.longdivStyles,
35
+ supsubStyles = _mq$CommonMqStyles.supsubStyles;
30
36
  var log = (0, _debug["default"])('@pie-lib:math-toolbar:editor-and-pad');
31
37
  var decimalRegex = /\.|,/g;
38
+ var MathToolbarContainer = (0, _styles.styled)('div')(function (_ref) {
39
+ var theme = _ref.theme;
40
+ return {
41
+ zIndex: 9,
42
+ position: 'relative',
43
+ textAlign: 'center',
44
+ width: 'auto',
45
+ '& > .mq-math-mode': {
46
+ border: 'solid 1px lightgrey'
47
+ },
48
+ '& > .mq-focused': {
49
+ outline: 'none',
50
+ boxShadow: 'none',
51
+ border: "dotted 1px ".concat(theme.palette.primary.main),
52
+ borderRadius: '0px'
53
+ },
54
+ '& .mq-overarrow-inner': {
55
+ border: 'none !important',
56
+ paddingTop: '0 !important'
57
+ },
58
+ '& .mq-overarrow-inner-right': {
59
+ display: 'none !important'
60
+ },
61
+ '& .mq-overarrow-inner-left': {
62
+ display: 'none !important'
63
+ },
64
+ '& .mq-longdiv-inner': {
65
+ borderTop: '1px solid !important',
66
+ paddingTop: '1.5px !important'
67
+ },
68
+ '& .mq-overarrow.mq-arrow-both': {
69
+ top: '7.8px',
70
+ marginTop: '0px',
71
+ minWidth: '1.23em'
72
+ },
73
+ '& .mq-parallelogram': {
74
+ lineHeight: 0.85
75
+ }
76
+ };
77
+ });
78
+ var InputAndTypeContainer = (0, _styles.styled)('div')(function (_ref2) {
79
+ var theme = _ref2.theme,
80
+ hide = _ref2.hide;
81
+ return {
82
+ display: hide ? 'none' : 'flex',
83
+ alignItems: 'center',
84
+ '& .mq-editable-field .mq-cursor': {
85
+ top: '-4px'
86
+ },
87
+ '& .mq-math-mode .mq-selection, .mq-editable-field .mq-selection': {
88
+ paddingTop: '18px'
89
+ },
90
+ '& .mq-math-mode .mq-overarrow': {
91
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
92
+ },
93
+ '& .mq-math-mode .mq-overline .mq-overline-inner': {
94
+ paddingTop: '0.4em !important'
95
+ },
96
+ '& .mq-overarrow.mq-arrow-both': {
97
+ minWidth: '1.23em',
98
+ '& *': {
99
+ lineHeight: '1 !important'
100
+ },
101
+ '&:before': {
102
+ top: '-0.45em',
103
+ left: '-1px'
104
+ },
105
+ '&:after': {
106
+ position: 'absolute !important',
107
+ top: '0px !important',
108
+ right: '-2px'
109
+ },
110
+ '&.mq-empty:after': {
111
+ top: '-0.45em'
112
+ }
113
+ },
114
+ '& .mq-overarrow.mq-arrow-right': {
115
+ '&:before': {
116
+ top: '-0.4em',
117
+ right: '-1px'
118
+ }
119
+ },
120
+ '& *': _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, commonMqFontStyles), supsubStyles), longdivStyles), {}, {
121
+ '& .mq-math-mode .mq-sqrt-prefix': {
122
+ verticalAlign: 'baseline !important',
123
+ top: '1px !important',
124
+ left: '-0.1em !important'
125
+ },
126
+ '& .mq-math-mode .mq-overarc ': {
127
+ paddingTop: '0.45em !important'
128
+ },
129
+ '& .mq-math-mode .mq-empty': {
130
+ padding: '9px 1px !important'
131
+ },
132
+ '& .mq-math-mode .mq-root-block': {
133
+ paddingTop: '10px'
134
+ },
135
+ '& .mq-scaled .mq-sqrt-prefix': {
136
+ top: '0 !important'
137
+ },
138
+ '& .mq-math-mode .mq-longdiv .mq-longdiv-inner': {
139
+ marginLeft: '4px !important',
140
+ paddingTop: '6px !important',
141
+ paddingLeft: '6px !important'
142
+ },
143
+ '& .mq-math-mode .mq-paren': {
144
+ verticalAlign: 'top !important',
145
+ padding: '1px 0.1em !important'
146
+ },
147
+ '& .mq-math-mode .mq-sqrt-stem': {
148
+ borderTop: '0.07em solid',
149
+ marginLeft: '-1.5px',
150
+ marginTop: '-2px !important',
151
+ paddingTop: '5px !important'
152
+ },
153
+ '& .mq-math-mode .mq-denominator': {
154
+ marginTop: '-5px !important',
155
+ padding: '0.5em 0.1em 0.1em !important'
156
+ },
157
+ '& .mq-math-mode .mq-numerator, .mq-math-mode .mq-over': {
158
+ padding: '0 0.1em !important',
159
+ paddingBottom: '0 !important',
160
+ marginBottom: '-2px'
161
+ }
162
+ }),
163
+ '& span[data-prime="true"]': {
164
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
165
+ }
166
+ };
167
+ });
168
+ var StyledFormControl = (0, _styles.styled)(_FormControl["default"])({
169
+ flex: 'initial',
170
+ width: '25%',
171
+ minWidth: '100px',
172
+ marginLeft: '15px',
173
+ marginTop: '5px',
174
+ marginBottom: '5px',
175
+ marginRight: '5px',
176
+ '& label': {
177
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
178
+ },
179
+ '& div': {
180
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
181
+ }
182
+ });
183
+ var StyledInputLabel = (0, _styles.styled)(_InputLabel["default"])(function () {
184
+ return {
185
+ backgroundColor: 'transparent'
186
+ };
187
+ });
188
+ var InputContainerDiv = (0, _styles.styled)('div')(function (_ref3) {
189
+ var theme = _ref3.theme,
190
+ error = _ref3.error;
191
+ return _objectSpread(_objectSpread({
192
+ minWidth: '500px',
193
+ maxWidth: '900px',
194
+ minHeight: '30px',
195
+ width: '100%',
196
+ display: 'flex',
197
+ marginTop: theme.spacing(1),
198
+ marginBottom: theme.spacing(1)
199
+ }, error && {
200
+ border: '2px solid red'
201
+ }), {}, {
202
+ '& .mq-sqrt-prefix .mq-scaled': {
203
+ verticalAlign: 'middle !important'
204
+ }
205
+ });
206
+ });
207
+ var MathEditor = (0, _styles.styled)(_mathInput.mq.Input)(function (_ref4) {
208
+ var controlledKeypadMode = _ref4.controlledKeypadMode;
209
+ return {
210
+ maxWidth: controlledKeypadMode ? '400px' : '500px',
211
+ color: _renderUi.color.text(),
212
+ backgroundColor: _renderUi.color.background(),
213
+ padding: '2px'
214
+ };
215
+ });
216
+ var AddAnswerBlockButton = (0, _styles.styled)(_Button["default"])({
217
+ position: 'absolute',
218
+ right: '12px',
219
+ border: '1px solid lightgrey',
220
+ color: _renderUi.color.text()
221
+ });
222
+ var StyledHr = (0, _styles.styled)('hr')(function (_ref5) {
223
+ var theme = _ref5.theme;
224
+ return {
225
+ padding: 0,
226
+ margin: 0,
227
+ height: '1px',
228
+ border: 'none',
229
+ borderBottom: "solid 1px ".concat(theme.palette.primary.main)
230
+ };
231
+ });
232
+ var KeyboardContainer = (0, _styles.styled)(_mathInput.HorizontalKeypad)(function (_ref6) {
233
+ var mode = _ref6.mode;
234
+ return _objectSpread(_objectSpread({}, commonMqKeyboardStyles), mode === 'language' && {
235
+ '& *': {
236
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
237
+ }
238
+ });
239
+ });
32
240
  var toNodeData = function toNodeData(data) {
33
241
  if (!data) {
34
242
  return;
@@ -52,14 +260,12 @@ var toNodeData = function toNodeData(data) {
52
260
  };
53
261
  }
54
262
  };
55
- var EditorAndPad = /*#__PURE__*/function (_React$Component) {
56
- (0, _inherits2["default"])(EditorAndPad, _React$Component);
57
- var _super = _createSuper(EditorAndPad);
263
+ var EditorAndPad = exports.EditorAndPad = /*#__PURE__*/function (_React$Component) {
58
264
  function EditorAndPad(props) {
59
265
  var _this;
60
266
  (0, _classCallCheck2["default"])(this, EditorAndPad);
61
- _this = _super.call(this, props);
62
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (data) {
267
+ _this = _callSuper(this, EditorAndPad, [props]);
268
+ (0, _defineProperty2["default"])(_this, "onClick", function (data) {
63
269
  var _this$props = _this.props,
64
270
  noDecimal = _this$props.noDecimal,
65
271
  noLatexHandling = _this$props.noLatexHandling,
@@ -91,7 +297,7 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
91
297
  _this.input.write(c.value);
92
298
  }
93
299
  });
94
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateDisable", function (isEdit) {
300
+ (0, _defineProperty2["default"])(_this, "updateDisable", function (isEdit) {
95
301
  var maxResponseAreas = _this.props.maxResponseAreas;
96
302
  if (maxResponseAreas) {
97
303
  var shouldDisable = _this.checkResponseAreasNumber(maxResponseAreas, isEdit);
@@ -100,18 +306,19 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
100
306
  });
101
307
  }
102
308
  });
103
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAnswerBlockClick", function () {
309
+ (0, _defineProperty2["default"])(_this, "onAnswerBlockClick", function () {
104
310
  _this.props.onAnswerBlockAdd();
105
311
  _this.onClick({
106
312
  type: 'answer'
107
313
  });
108
314
  _this.updateDisable(true);
109
315
  });
110
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onEditorChange", function (latex) {
316
+ (0, _defineProperty2["default"])(_this, "onEditorChange", function (latex) {
111
317
  var _this$props2 = _this.props,
112
318
  onChange = _this$props2.onChange,
113
319
  noDecimal = _this$props2.noDecimal;
114
320
  (0, _mathInput.updateSpans)();
321
+ (0, _utils.markFractionBaseSuperscripts)();
115
322
  _this.updateDisable(true);
116
323
 
117
324
  // if no decimals are allowed and the last change is a decimal dot, discard the change
@@ -137,14 +344,14 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
137
344
  }
138
345
  onChange(latex);
139
346
  });
140
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onEditorTypeChange", function (evt) {
347
+ (0, _defineProperty2["default"])(_this, "onEditorTypeChange", function (evt) {
141
348
  _this.setState({
142
349
  equationEditor: evt.target.value
143
350
  });
144
351
  });
145
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkResponseAreasNumber", function (maxResponseAreas, isEdit) {
146
- var _ref = _this.input && _this.input.props || {},
147
- latex = _ref.latex;
352
+ (0, _defineProperty2["default"])(_this, "checkResponseAreasNumber", function (maxResponseAreas, isEdit) {
353
+ var _ref7 = _this.input && _this.input.props || {},
354
+ latex = _ref7.latex;
148
355
  if (latex) {
149
356
  var count = (latex.match(/answerBlock/g) || []).length;
150
357
  return isEdit ? count === maxResponseAreas - 1 : count === maxResponseAreas;
@@ -157,7 +364,8 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
157
364
  };
158
365
  return _this;
159
366
  }
160
- (0, _createClass2["default"])(EditorAndPad, [{
367
+ (0, _inherits2["default"])(EditorAndPad, _React$Component);
368
+ return (0, _createClass2["default"])(EditorAndPad, [{
161
369
  key: "componentDidMount",
162
370
  value: function componentDidMount() {
163
371
  if (this.input && this.props.autoFocus) {
@@ -201,28 +409,38 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
201
409
  controlledKeypad = _this$props3.controlledKeypad,
202
410
  controlledKeypadMode = _this$props3.controlledKeypadMode,
203
411
  showKeypad = _this$props3.showKeypad,
412
+ setKeypadInteraction = _this$props3.setKeypadInteraction,
204
413
  noDecimal = _this$props3.noDecimal,
205
414
  hideInput = _this$props3.hideInput,
206
415
  layoutForKeyPad = _this$props3.layoutForKeyPad,
207
416
  latex = _this$props3.latex,
208
417
  _onFocus = _this$props3.onFocus,
209
418
  _onBlur = _this$props3.onBlur,
210
- classes = _this$props3.classes,
211
419
  error = _this$props3.error;
212
420
  var shouldShowKeypad = !controlledKeypad || controlledKeypad && showKeypad;
213
421
  var addDisabled = this.state.addDisabled;
214
422
  log('[render]', latex);
215
- return /*#__PURE__*/_react["default"].createElement("div", {
216
- className: (0, _classnames["default"])(classes.mathToolbar, classNames.mathToolbar)
217
- }, /*#__PURE__*/_react["default"].createElement("div", {
218
- className: (0, _classnames["default"])(classes.inputAndTypeContainer, (0, _defineProperty2["default"])({}, classes.hide, hideInput))
219
- }, controlledKeypadMode && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
220
- label: "Equation Editor",
221
- className: classes.selectContainer
222
- }, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
223
- className: classes.select,
423
+ return /*#__PURE__*/_react["default"].createElement(MathToolbarContainer, {
424
+ className: classNames.mathToolbar
425
+ }, /*#__PURE__*/_react["default"].createElement(InputAndTypeContainer, {
426
+ hide: hideInput
427
+ }, controlledKeypadMode && /*#__PURE__*/_react["default"].createElement(StyledFormControl, {
428
+ variant: 'standard'
429
+ }, /*#__PURE__*/_react["default"].createElement(StyledInputLabel, {
430
+ id: "equation-editor-label"
431
+ }, 'Equation Editor'), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
432
+ labelId: "equation-editor-label",
433
+ id: "equation-editor-select",
434
+ name: "equationEditor",
435
+ label: 'Equation Editor',
224
436
  onChange: this.onEditorTypeChange,
225
- value: this.state.equationEditor
437
+ value: this.state.equationEditor,
438
+ MenuProps: {
439
+ transitionDuration: {
440
+ enter: 225,
441
+ exit: 195
442
+ }
443
+ }
226
444
  }, /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
227
445
  value: "non-negative-integers"
228
446
  }, "Numeric - Non-Negative Integers"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
@@ -247,9 +465,9 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
247
465
  value: 'statistics'
248
466
  }, "Statistics"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
249
467
  value: 'item-authoring'
250
- }, "Item Authoring"))), /*#__PURE__*/_react["default"].createElement("div", {
251
- className: (0, _classnames["default"])(classes.inputContainer, error ? classes.error : '')
252
- }, /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Input, {
468
+ }, "Item Authoring"))), /*#__PURE__*/_react["default"].createElement(InputContainerDiv, {
469
+ error: error
470
+ }, /*#__PURE__*/_react["default"].createElement(MathEditor, {
253
471
  onFocus: function onFocus() {
254
472
  _onFocus && _onFocus();
255
473
  _this2.updateDisable(false);
@@ -258,35 +476,32 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
258
476
  _this2.updateDisable(false);
259
477
  _onBlur && _onBlur(event);
260
478
  },
261
- className: (0, _classnames["default"])(classes.mathEditor, classNames.editor, !controlledKeypadMode ? classes.longMathEditor : ''),
262
- innerRef: function innerRef(r) {
479
+ className: classNames && classNames.editor || '',
480
+ controlledKeypadMode: controlledKeypadMode,
481
+ ref: function ref(r) {
263
482
  return _this2.input = r;
264
483
  },
265
484
  latex: latex,
266
485
  onChange: this.onEditorChange
267
- }))), allowAnswerBlock && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
268
- className: classes.addAnswerBlockButton,
486
+ }))), allowAnswerBlock && /*#__PURE__*/_react["default"].createElement(AddAnswerBlockButton, {
269
487
  type: "primary",
270
488
  style: {
271
489
  bottom: shouldShowKeypad ? '320px' : '20px'
272
490
  },
273
491
  onClick: this.onAnswerBlockClick,
274
492
  disabled: addDisabled
275
- }, "+ Response Area"), /*#__PURE__*/_react["default"].createElement("hr", {
276
- className: classes.hr
277
- }), shouldShowKeypad && /*#__PURE__*/_react["default"].createElement(_mathInput.HorizontalKeypad, {
278
- className: (0, _classnames["default"])(classes[keypadMode], classes.keyboard),
493
+ }, "+ Response Area"), /*#__PURE__*/_react["default"].createElement(StyledHr, null), shouldShowKeypad && /*#__PURE__*/_react["default"].createElement(KeyboardContainer, {
494
+ mode: controlledKeypadMode ? this.state.equationEditor : keypadMode,
495
+ controlledKeypadMode: controlledKeypadMode,
279
496
  layoutForKeyPad: layoutForKeyPad,
280
497
  additionalKeys: additionalKeys,
281
- mode: controlledKeypadMode ? this.state.equationEditor : keypadMode,
282
498
  onClick: this.onClick,
283
- noDecimal: noDecimal
499
+ noDecimal: noDecimal,
500
+ setKeypadInteraction: setKeypadInteraction
284
501
  }));
285
502
  }
286
503
  }]);
287
- return EditorAndPad;
288
504
  }(_react["default"].Component);
289
- exports.EditorAndPad = EditorAndPad;
290
505
  (0, _defineProperty2["default"])(EditorAndPad, "propTypes", {
291
506
  classNames: _propTypes["default"].object,
292
507
  keypadMode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
@@ -302,290 +517,12 @@ exports.EditorAndPad = EditorAndPad;
302
517
  layoutForKeyPad: _propTypes["default"].object,
303
518
  maxResponseAreas: _propTypes["default"].number,
304
519
  additionalKeys: _propTypes["default"].array,
305
- latex: _propTypes["default"].string,
520
+ latex: _propTypes["default"].string.isRequired,
306
521
  onAnswerBlockAdd: _propTypes["default"].func,
307
522
  onFocus: _propTypes["default"].func,
308
523
  onBlur: _propTypes["default"].func,
309
524
  onChange: _propTypes["default"].func.isRequired,
310
- classes: _propTypes["default"].object
525
+ setKeypadInteraction: _propTypes["default"].func
311
526
  });
312
- var styles = function styles(theme) {
313
- return {
314
- inputAndTypeContainer: {
315
- display: 'flex',
316
- alignItems: 'center',
317
- '& .mq-editable-field .mq-cursor': {
318
- top: '-4px'
319
- },
320
- '& .mq-math-mode .mq-selection, .mq-editable-field .mq-selection': {
321
- paddingTop: '18px'
322
- },
323
- '& .mq-math-mode .mq-overarrow': {
324
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
325
- },
326
- '& .mq-math-mode .mq-overline .mq-overline-inner': {
327
- paddingTop: '0.4em !important'
328
- },
329
- '& .mq-overarrow.mq-arrow-both': {
330
- minWidth: '1.23em',
331
- '& *': {
332
- lineHeight: '1 !important'
333
- },
334
- '&:before': {
335
- top: '-0.45em',
336
- left: '-1px'
337
- },
338
- '&:after': {
339
- position: 'absolute',
340
- top: '0px !important',
341
- right: '-2px'
342
- },
343
- '&.mq-empty:after': {
344
- top: '-0.45em'
345
- }
346
- },
347
- '& .mq-overarrow.mq-arrow-right': {
348
- '&:before': {
349
- top: '-0.4em',
350
- right: '-1px'
351
- }
352
- },
353
- '& *': {
354
- fontFamily: 'MJXZERO, MJXTEX !important',
355
- '& .mq-math-mode > span > var': {
356
- fontFamily: 'MJXZERO, MJXTEX-I !important'
357
- },
358
- '& .mq-math-mode span var': {
359
- fontFamily: 'MJXZERO, MJXTEX-I !important'
360
- },
361
- '& .mq-math-mode .mq-nonSymbola': {
362
- fontFamily: 'MJXZERO, MJXTEX-I !important'
363
- },
364
- '& .mq-math-mode > span > var.mq-operator-name': {
365
- fontFamily: 'MJXZERO, MJXTEX !important'
366
- },
367
- '& .mq-math-mode .mq-sqrt-prefix': {
368
- verticalAlign: 'baseline !important',
369
- top: '1px !important',
370
- left: '-0.1em !important'
371
- },
372
- '& .mq-math-mode .mq-overarc ': {
373
- paddingTop: '0.45em !important'
374
- },
375
- '& .mq-math-mode sup.mq-nthroot': {
376
- fontSize: '70% !important',
377
- verticalAlign: '0.5em !important',
378
- paddingRight: '0.15em'
379
- },
380
- '& .mq-math-mode .mq-empty': {
381
- padding: '9px 1px !important'
382
- },
383
- '& .mq-math-mode .mq-root-block': {
384
- paddingTop: '10px'
385
- },
386
- '& .mq-scaled .mq-sqrt-prefix': {
387
- top: '0 !important'
388
- },
389
- '& .mq-longdiv-inner': {
390
- marginTop: '-1px',
391
- marginLeft: '5px !important;',
392
- '& > .mq-empty': {
393
- padding: '0 !important',
394
- marginLeft: '0px !important',
395
- marginTop: '2px'
396
- }
397
- },
398
- '& .mq-math-mode .mq-longdiv': {
399
- display: 'inline-flex !important'
400
- },
401
- '& .mq-math-mode .mq-longdiv .mq-longdiv-inner': {
402
- marginLeft: '4px !important',
403
- paddingTop: '6px !important',
404
- paddingLeft: '6px !important'
405
- },
406
- '& .mq-math-mode .mq-supsub': {
407
- fontSize: '70.7% !important'
408
- },
409
- '& .mq-math-mode .mq-paren': {
410
- verticalAlign: 'top !important',
411
- padding: '1px 0.1em !important'
412
- },
413
- '& .mq-math-mode .mq-sqrt-stem': {
414
- borderTop: '0.07em solid',
415
- marginLeft: '-1.5px',
416
- marginTop: '-2px !important',
417
- paddingTop: '5px !important'
418
- },
419
- '& .mq-supsub ': {
420
- fontSize: '70.7%'
421
- },
422
- '& .mq-math-mode .mq-supsub.mq-sup-only': {
423
- verticalAlign: '-0.1em !important',
424
- '& .mq-sup': {
425
- marginBottom: '0px !important'
426
- }
427
- },
428
- '& .mq-math-mode .mq-denominator': {
429
- marginTop: '-5px !important',
430
- padding: '0.5em 0.1em 0.1em !important'
431
- },
432
- '& .mq-math-mode .mq-numerator, .mq-math-mode .mq-over': {
433
- padding: '0 0.1em !important',
434
- paddingBottom: '0 !important',
435
- marginBottom: '-2px'
436
- },
437
- '-webkit-font-smoothing': 'antialiased !important'
438
- }
439
- },
440
- hide: {
441
- display: 'none'
442
- },
443
- selectContainer: {
444
- flex: 'initial',
445
- width: '25%',
446
- minWidth: '100px',
447
- marginLeft: '15px',
448
- marginTop: '5px',
449
- marginBottom: '5px',
450
- marginRight: '5px',
451
- '& label': {
452
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
453
- },
454
- '& div': {
455
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
456
- }
457
- },
458
- mathEditor: {
459
- maxWidth: '400px',
460
- color: _renderUi.color.text(),
461
- backgroundColor: _renderUi.color.background(),
462
- padding: '2px'
463
- },
464
- longMathEditor: {
465
- maxWidth: '500px'
466
- },
467
- addAnswerBlockButton: {
468
- position: 'absolute',
469
- right: '12px',
470
- border: '1px solid lightgrey'
471
- },
472
- hr: {
473
- padding: 0,
474
- margin: 0,
475
- height: '1px',
476
- border: 'none',
477
- borderBottom: "solid 1px ".concat(theme.palette.primary.main)
478
- },
479
- mathToolbar: {
480
- zIndex: 9,
481
- position: 'relative',
482
- textAlign: 'center',
483
- width: 'auto',
484
- '& > .mq-math-mode': {
485
- border: 'solid 1px lightgrey'
486
- },
487
- '& > .mq-focused': {
488
- outline: 'none',
489
- boxShadow: 'none',
490
- border: "dotted 1px ".concat(theme.palette.primary.main),
491
- borderRadius: '0px'
492
- },
493
- '& .mq-overarrow-inner': {
494
- border: 'none !important',
495
- paddingTop: '0 !important'
496
- },
497
- '& .mq-overarrow-inner-right': {
498
- display: 'none !important'
499
- },
500
- '& .mq-overarrow-inner-left': {
501
- display: 'none !important'
502
- },
503
- '& .mq-longdiv-inner': {
504
- borderTop: '1px solid !important',
505
- paddingTop: '1.5px !important'
506
- },
507
- '& .mq-overarrow.mq-arrow-both': {
508
- top: '7.8px',
509
- marginTop: '0px',
510
- minWidth: '1.23em'
511
- },
512
- '& .mq-parallelogram': {
513
- lineHeight: 0.85
514
- }
515
- },
516
- inputContainer: {
517
- minWidth: '500px',
518
- maxWidth: '900px',
519
- minHeight: '30px',
520
- width: '100%',
521
- display: 'flex',
522
- marginTop: theme.spacing.unit,
523
- marginBottom: theme.spacing.unit,
524
- '& .mq-sqrt-prefix .mq-scaled': {
525
- verticalAlign: 'middle !important'
526
- }
527
- },
528
- error: {
529
- border: '2px solid red'
530
- },
531
- keyboard: {
532
- '& *': {
533
- fontFamily: 'MJXZERO, MJXTEX !important',
534
- '& .mq-math-mode > span > var': {
535
- fontFamily: 'MJXZERO, MJXTEX-I !important'
536
- },
537
- '& .mq-math-mode span var': {
538
- fontFamily: 'MJXZERO, MJXTEX-I !important'
539
- },
540
- '& .mq-math-mode .mq-nonSymbola': {
541
- fontFamily: 'MJXZERO, MJXTEX-I !important'
542
- },
543
- '& .mq-math-mode > span > var.mq-operator-name': {
544
- fontFamily: 'MJXZERO, MJXTEX !important'
545
- },
546
- '& .mq-math-mode .mq-sqrt-prefix': {
547
- top: '0 !important'
548
- },
549
- '& .mq-math-mode .mq-empty': {
550
- padding: '9px 1px !important'
551
- },
552
- '& .mq-longdiv-inner': {
553
- marginTop: '-1px',
554
- marginLeft: '5px !important;',
555
- '& > .mq-empty': {
556
- padding: '0 !important',
557
- marginLeft: '0px !important',
558
- marginTop: '2px'
559
- }
560
- },
561
- '& .mq-math-mode .mq-longdiv': {
562
- display: 'inline-flex !important'
563
- },
564
- '& .mq-math-mode .mq-supsub': {
565
- fontSize: '70.7% !important'
566
- },
567
- '& .mq-math-mode .mq-sqrt-stem': {
568
- marginTop: '-5px',
569
- paddingTop: '4px'
570
- },
571
- '& .mq-math-mode .mq-paren': {
572
- verticalAlign: 'middle !important'
573
- },
574
- '& .mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-empty': {
575
- padding: '0 !important'
576
- },
577
- '& .mq-math-mode .mq-overline .mq-overline-inner .mq-empty ': {
578
- padding: '0 !important'
579
- }
580
- }
581
- },
582
- language: {
583
- '& *': {
584
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
585
- }
586
- }
587
- };
588
- };
589
- var _default = (0, _styles.withStyles)(styles)(EditorAndPad);
590
- exports["default"] = _default;
527
+ var _default = exports["default"] = EditorAndPad;
591
528
  //# sourceMappingURL=editor-and-pad.js.map