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