@pie-element/math-templated 2.15.1-next.13 → 2.15.1-next.21

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,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_debug, _dll_lodash} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.14.3/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_debug, _dll_lodash} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.16.0/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_config_ui, _dll_pie_lib__pie_toolbox_math_toolbar, _dll_pie_lib__pie_toolbox_editable_html} from "../../../@pie-lib/pie-toolbox-module@4.12.0/module/index.js";
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
@@ -97469,7 +97469,7 @@ var bundle_min = {
97469
97469
  }
97470
97470
  convert() {
97471
97471
  const e = this._mathmlElement.children.map(e => (0, a.mathMLElementToLaTeXConverter)(e)).map(e => e.convert()).join(" ");
97472
- return "actuarial" === this._notation ? `\\overline{\\left.${e}\\right|}` : "radical" === this._notation ? `\\sqrt{${e}}` : ["box", "roundedbox", "circle"].includes(this._notation) ? `\\boxed{${e}}` : "left" === this._notation ? `\\left|${e}` : "right" === this._notation ? `${e}\\right|` : "top" === this._notation ? `\\overline{${e}}` : "bottom" === this._notation ? `\\underline{${e}}` : "updiagonalstrike" === this._notation ? `\\cancel{${e}}` : "downdiagonalstrike" === this._notation ? `\\bcancel{${e}}` : "updiagonalarrow" === this._notation ? `\\cancelto{}{${e}}` : ["verticalstrike", "horizontalstrike"].includes(this._notation) ? `\\hcancel{${e}}` : "madruwb" === this._notation ? `\\underline{${e}\\right|}` : "phasorangle" === this._notation ? `{\\angle \\underline{${e}}}` : `\\overline{\\left.\\right)${e}}`;
97472
+ return "actuarial" === this._notation ? `\\overline{\\left.${e}\\right|}` : "radical" === this._notation ? `\\sqrt{${e}}` : ["box", "roundedbox", "circle"].includes(this._notation) ? `\\boxed{${e}}` : "left" === this._notation ? `\\left|${e}` : "right" === this._notation ? `${e}\\right|` : "top" === this._notation ? `\\overline{${e}}` : "bottom" === this._notation ? `\\underline{${e}}` : "updiagonalstrike" === this._notation ? `\\cancel{${e}}` : "downdiagonalstrike" === this._notation ? `\\bcancel{${e}}` : "updiagonalarrow" === this._notation ? `\\cancelto{}{${e}}` : ["verticalstrike", "horizontalstrike"].includes(this._notation) ? `\\hcancel{${e}}` : "madruwb" === this._notation ? `\\underline{${e}\\right|}` : "phasorangle" === this._notation ? `{\\angle \\underline{${e}}}` : "longdiv" === this._notation ? `\\longdiv{${e}}` : `\\overline{\\left.\\right)${e}}`;
97473
97473
  }
97474
97474
  get _notation() {
97475
97475
  return this._mathmlElement.attributes.notation || "longdiv";
@@ -97797,7 +97797,7 @@ var bundle_min = {
97797
97797
  const {name: e, children: t} = this._mathmlElement, r = t.length;
97798
97798
  if (2 !== r) throw new n.InvalidNumberOfChildrenError(e, 2, r);
97799
97799
  const o = (0, a.mathMLElementToLaTeXConverter)(t[0]).convert(), i = (0, a.mathMLElementToLaTeXConverter)(t[1]).convert();
97800
- return `${new a.ParenthesisWrapper().wrapIfMoreThanOneChar(o)}_${new a.BracketWrapper().wrap(i)}`;
97800
+ return "log" === o ? `\\${o}_${new a.BracketWrapper().wrap(i)}` : `${new a.ParenthesisWrapper().wrapIfMoreThanOneChar(o)}_${new a.BracketWrapper().wrap(i)}`;
97801
97801
  }
97802
97802
  };
97803
97803
  },
@@ -97834,7 +97834,7 @@ var bundle_min = {
97834
97834
  const {name: e, children: t} = this._mathmlElement, r = t.length;
97835
97835
  if (2 !== r) throw new n.InvalidNumberOfChildrenError(e, 2, r);
97836
97836
  const o = (0, a.mathMLElementToLaTeXConverter)(t[0]).convert(), i = (0, a.mathMLElementToLaTeXConverter)(t[1]).convert();
97837
- return `${new a.ParenthesisWrapper().wrapIfMoreThanOneChar(o)}^${new a.BracketWrapper().wrap(i)}`;
97837
+ return "'" === i ? `${o}'` : `${o}^${new a.BracketWrapper().wrap(i)}`;
97838
97838
  }
97839
97839
  };
97840
97840
  },
@@ -97875,7 +97875,7 @@ var bundle_min = {
97875
97875
  }
97876
97876
  convert() {
97877
97877
  const {attributes: e, value: t} = this._mathmlElement;
97878
- return [...t].map(e => (/^[a-zA-Z0-9]$/).test(e) || " " === e ? {
97878
+ return [...t].map(e => (/^[a-zA-Z0-9]$/).test(e) || " " == e ? {
97879
97879
  value: e,
97880
97880
  isAlphanumeric: !0
97881
97881
  } : {
@@ -97906,6 +97906,8 @@ var bundle_min = {
97906
97906
  switch (this._mathvariant) {
97907
97907
  case "bold":
97908
97908
  return ["\\textbf"];
97909
+ case "log":
97910
+ return ["\\log"];
97909
97911
  case "italic":
97910
97912
  return ["\\textit"];
97911
97913
  case "bold-italic":
@@ -98208,6 +98210,8 @@ var bundle_min = {
98208
98210
  "⁤": "",
98209
98211
  "⁗": "''''",
98210
98212
  "‾": "\\overline",
98213
+ "―": "\\overline",
98214
+ "¯": "\\overline",
98211
98215
  "‷": "```",
98212
98216
  "‶": "``",
98213
98217
  "‵": "`",
@@ -98237,7 +98241,6 @@ var bundle_min = {
98237
98241
  "³": "3",
98238
98242
  "²": "2",
98239
98243
  "°": "\\degree",
98240
- "¯": "\\overline",
98241
98244
  "ª": "a",
98242
98245
  "¨": "\\cdot\\cdot",
98243
98246
  "~": "\\sim",
@@ -99162,6 +99165,8 @@ var bundle_min = {
99162
99165
  "∝": "\\propto",
99163
99166
  "==": "==",
99164
99167
  "=": "=",
99168
+ " ̿": "=",
99169
+ "̿": "=",
99165
99170
  ":=": ":=",
99166
99171
  "/=": "=",
99167
99172
  "-=": "-=",
@@ -99412,6 +99417,7 @@ var bundle_min = {
99412
99417
  "⁤": "",
99413
99418
  "⁗": "''''",
99414
99419
  "‾": "\\overline",
99420
+ "―": "\\overline",
99415
99421
  "‷": "```",
99416
99422
  "‶": "``",
99417
99423
  "‵": "`",
@@ -99801,9 +99807,9 @@ var bundle_min = {
99801
99807
  "↗": "\\nearrow",
99802
99808
  "↖": "\\nwarrow",
99803
99809
  "↕": "\\updownarrow",
99804
- "↔": "\\leftrightarrow",
99810
+ "↔": "\\overleftrightarrow",
99805
99811
  "↓": "\\downarrow",
99806
- "→": "\\rightarrow",
99812
+ "→": "\\overrightarrow",
99807
99813
  "↑": "\\uparrow",
99808
99814
  "←": "\\leftarrow",
99809
99815
  "|||": "\\left|||\\right.",
@@ -100933,7 +100939,7 @@ var bundle_min = {
100933
100939
  "⌈": "\\lceil",
100934
100940
  "↛": "\\nrightarrow",
100935
100941
  "‾": "\\overline",
100936
- "→": "\\rightarrow",
100942
+ "→": "\\overrightarrow",
100937
100943
  "‡": "\\ddagger",
100938
100944
  "・": "\\cdot",
100939
100945
  "▱": "\\square",
@@ -100963,7 +100969,7 @@ var bundle_min = {
100963
100969
  "€": "\\euro",
100964
100970
  "˘": " ",
100965
100971
  "∥": "\\parallel",
100966
- "↔": "\\leftrightarrow",
100972
+ "↔": "\\overleftrightarrow",
100967
100973
  "√": "\\sqrt{}",
100968
100974
  "·": "\\cdot",
100969
100975
  "⦬": "\\measuredangle",
@@ -100999,7 +101005,7 @@ var bundle_min = {
100999
101005
  6626: (e, t) => {
101000
101006
  (Object.defineProperty(t, "__esModule", {
101001
101007
  value: !0
101002
- }), t.latexAccents = void 0, t.latexAccents = ["\\hat", "\\bar", "\\underbrace", "\\overarc", "\\overline", "\\overbrace"]);
101008
+ }), t.latexAccents = void 0, t.latexAccents = ["\\hat", "\\bar", "\\underbrace", "\\overarc", "\\overline", "\\overbrace", "\\overrightarrow", "\\overleftrightarrow"]);
101003
101009
  },
101004
101010
  2103: (e, t) => {
101005
101011
  (Object.defineProperty(t, "__esModule", {
@@ -106899,6 +106905,7 @@ class Response extends React$2.Component {
106899
106905
  error: PropTypes$1.object,
106900
106906
  mode: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number]),
106901
106907
  onResponseChange: PropTypes$1.func.isRequired,
106908
+ onResponseDone: PropTypes$1.func.isRequired,
106902
106909
  response: PropTypes$1.object.isRequired,
106903
106910
  cIgnoreOrder: PropTypes$1.object.isRequired,
106904
106911
  cAllowTrailingZeros: PropTypes$1.object.isRequired,
@@ -107019,6 +107026,7 @@ class Response extends React$2.Component {
107019
107026
  }
107020
107027
  __init8() {
107021
107028
  this.onDone = () => {
107029
+ const {onResponseDone} = this.props;
107022
107030
  this.setState(state => ({
107023
107031
  showKeypad: {
107024
107032
  ...state.showKeypad,
@@ -107026,6 +107034,7 @@ class Response extends React$2.Component {
107026
107034
  main: false
107027
107035
  }
107028
107036
  }));
107037
+ onResponseDone();
107029
107038
  };
107030
107039
  }
107031
107040
  __init9() {
@@ -107079,21 +107088,21 @@ class Response extends React$2.Component {
107079
107088
  __self: this,
107080
107089
  __source: {
107081
107090
  fileName: _jsxFileName$1,
107082
- lineNumber: 185
107091
+ lineNumber: 188
107083
107092
  }
107084
107093
  }, React$2.createElement(CardContent, {
107085
107094
  className: classes.cardContent,
107086
107095
  __self: this,
107087
107096
  __source: {
107088
107097
  fileName: _jsxFileName$1,
107089
- lineNumber: 186
107098
+ lineNumber: 189
107090
107099
  }
107091
107100
  }, React$2.createElement('div', {
107092
107101
  className: classes.titleBar,
107093
107102
  __self: this,
107094
107103
  __source: {
107095
107104
  fileName: _jsxFileName$1,
107096
- lineNumber: 187
107105
+ lineNumber: 190
107097
107106
  }
107098
107107
  }, React$2.createElement(Typography, {
107099
107108
  className: classes.title,
@@ -107101,14 +107110,14 @@ class Response extends React$2.Component {
107101
107110
  __self: this,
107102
107111
  __source: {
107103
107112
  fileName: _jsxFileName$1,
107104
- lineNumber: 188
107113
+ lineNumber: 191
107105
107114
  }
107106
107115
  }, "Response for ", React$2.createElement('div', {
107107
107116
  className: classes.responseBox,
107108
107117
  __self: this,
107109
107118
  __source: {
107110
107119
  fileName: _jsxFileName$1,
107111
- lineNumber: 189
107120
+ lineNumber: 192
107112
107121
  }
107113
107122
  }, "R ", responseKey)), React$2.createElement(InputContainer$1, {
107114
107123
  label: "Validation",
@@ -107116,7 +107125,7 @@ class Response extends React$2.Component {
107116
107125
  __self: this,
107117
107126
  __source: {
107118
107127
  fileName: _jsxFileName$1,
107119
- lineNumber: 192
107128
+ lineNumber: 195
107120
107129
  }
107121
107130
  }, React$2.createElement(Select, {
107122
107131
  className: classes.select,
@@ -107125,28 +107134,28 @@ class Response extends React$2.Component {
107125
107134
  __self: this,
107126
107135
  __source: {
107127
107136
  fileName: _jsxFileName$1,
107128
- lineNumber: 193
107137
+ lineNumber: 196
107129
107138
  }
107130
107139
  }, React$2.createElement(MenuItem, {
107131
107140
  value: "literal",
107132
107141
  __self: this,
107133
107142
  __source: {
107134
107143
  fileName: _jsxFileName$1,
107135
- lineNumber: 194
107144
+ lineNumber: 197
107136
107145
  }
107137
107146
  }, "Literal Validation"), React$2.createElement(MenuItem, {
107138
107147
  value: "symbolic",
107139
107148
  __self: this,
107140
107149
  __source: {
107141
107150
  fileName: _jsxFileName$1,
107142
- lineNumber: 195
107151
+ lineNumber: 198
107143
107152
  }
107144
107153
  }, "Symbolic Validation")))), validation === 'literal' && React$2.createElement('div', {
107145
107154
  className: classes.flexContainer,
107146
107155
  __self: this,
107147
107156
  __source: {
107148
107157
  fileName: _jsxFileName$1,
107149
- lineNumber: 201
107158
+ lineNumber: 204
107150
107159
  }
107151
107160
  }, cAllowTrailingZeros.enabled && React$2.createElement(FormControlLabel, {
107152
107161
  label: cAllowTrailingZeros.label,
@@ -107156,13 +107165,13 @@ class Response extends React$2.Component {
107156
107165
  __self: this,
107157
107166
  __source: {
107158
107167
  fileName: _jsxFileName$1,
107159
- lineNumber: 206
107168
+ lineNumber: 209
107160
107169
  }
107161
107170
  }),
107162
107171
  __self: this,
107163
107172
  __source: {
107164
107173
  fileName: _jsxFileName$1,
107165
- lineNumber: 203
107174
+ lineNumber: 206
107166
107175
  }
107167
107176
  }), cIgnoreOrder.enabled && React$2.createElement(FormControlLabel, {
107168
107177
  label: cIgnoreOrder.label,
@@ -107172,26 +107181,26 @@ class Response extends React$2.Component {
107172
107181
  __self: this,
107173
107182
  __source: {
107174
107183
  fileName: _jsxFileName$1,
107175
- lineNumber: 217
107184
+ lineNumber: 220
107176
107185
  }
107177
107186
  }),
107178
107187
  __self: this,
107179
107188
  __source: {
107180
107189
  fileName: _jsxFileName$1,
107181
- lineNumber: 215
107190
+ lineNumber: 218
107182
107191
  }
107183
107192
  })), React$2.createElement('div', {
107184
107193
  className: classes.inputContainer,
107185
107194
  __self: this,
107186
107195
  __source: {
107187
107196
  fileName: _jsxFileName$1,
107188
- lineNumber: 223
107197
+ lineNumber: 226
107189
107198
  }
107190
107199
  }, React$2.createElement(InputLabel, {
107191
107200
  __self: this,
107192
107201
  __source: {
107193
107202
  fileName: _jsxFileName$1,
107194
- lineNumber: 224
107203
+ lineNumber: 227
107195
107204
  }
107196
107205
  }, "Correct Answer"), React$2.createElement(MathToolbar, {
107197
107206
  keypadMode: mode,
@@ -107206,14 +107215,14 @@ class Response extends React$2.Component {
107206
107215
  __self: this,
107207
107216
  __source: {
107208
107217
  fileName: _jsxFileName$1,
107209
- lineNumber: 225
107218
+ lineNumber: 228
107210
107219
  }
107211
107220
  }), error && error.answer ? React$2.createElement('div', {
107212
107221
  className: classes.errorText,
107213
107222
  __self: this,
107214
107223
  __source: {
107215
107224
  fileName: _jsxFileName$1,
107216
- lineNumber: 236
107225
+ lineNumber: 239
107217
107226
  }
107218
107227
  }, error.answer) : null), hasAlternates && Object.keys(alternates).map((alternateId, altIdx) => React$2.createElement('div', {
107219
107228
  className: classes.inputContainer,
@@ -107221,20 +107230,20 @@ class Response extends React$2.Component {
107221
107230
  __self: this,
107222
107231
  __source: {
107223
107232
  fileName: _jsxFileName$1,
107224
- lineNumber: 241
107233
+ lineNumber: 244
107225
107234
  }
107226
107235
  }, React$2.createElement(InputLabel, {
107227
107236
  __self: this,
107228
107237
  __source: {
107229
107238
  fileName: _jsxFileName$1,
107230
- lineNumber: 242
107239
+ lineNumber: 245
107231
107240
  }
107232
107241
  }, "Alternate", Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''), React$2.createElement('div', {
107233
107242
  className: classes.alternateBar,
107234
107243
  __self: this,
107235
107244
  __source: {
107236
107245
  fileName: _jsxFileName$1,
107237
- lineNumber: 246
107246
+ lineNumber: 249
107238
107247
  }
107239
107248
  }, React$2.createElement(MathToolbar, {
107240
107249
  classNames: classNames,
@@ -107249,7 +107258,7 @@ class Response extends React$2.Component {
107249
107258
  __self: this,
107250
107259
  __source: {
107251
107260
  fileName: _jsxFileName$1,
107252
- lineNumber: 247
107261
+ lineNumber: 250
107253
107262
  }
107254
107263
  }), React$2.createElement(IconButton, {
107255
107264
  className: classes.removeAlternateButton,
@@ -107257,20 +107266,20 @@ class Response extends React$2.Component {
107257
107266
  __self: this,
107258
107267
  __source: {
107259
107268
  fileName: _jsxFileName$1,
107260
- lineNumber: 258
107269
+ lineNumber: 261
107261
107270
  }
107262
107271
  }, React$2.createElement(default_1, {
107263
107272
  __self: this,
107264
107273
  __source: {
107265
107274
  fileName: _jsxFileName$1,
107266
- lineNumber: 262
107275
+ lineNumber: 265
107267
107276
  }
107268
107277
  }))), error && error[alternateId] ? React$2.createElement('div', {
107269
107278
  className: classes.errorText,
107270
107279
  __self: this,
107271
107280
  __source: {
107272
107281
  fileName: _jsxFileName$1,
107273
- lineNumber: 265
107282
+ lineNumber: 268
107274
107283
  }
107275
107284
  }, error[alternateId]) : null)), React$2.createElement(Button, {
107276
107285
  className: classes.alternateButton,
@@ -107279,7 +107288,7 @@ class Response extends React$2.Component {
107279
107288
  __self: this,
107280
107289
  __source: {
107281
107290
  fileName: _jsxFileName$1,
107282
- lineNumber: 269
107291
+ lineNumber: 272
107283
107292
  }
107284
107293
  }, "ADD ALTERNATE")));
107285
107294
  }
@@ -107354,6 +107363,27 @@ const styles = theme => ({
107354
107363
  }
107355
107364
  });
107356
107365
  var Response$1 = styles$E.withStyles(styles)(Response);
107366
+ function _optionalChain$2(ops) {
107367
+ let lastAccessLHS = undefined;
107368
+ let value = ops[0];
107369
+ let i = 1;
107370
+ while (i < ops.length) {
107371
+ const op = ops[i];
107372
+ const fn = ops[i + 1];
107373
+ i += 2;
107374
+ if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {
107375
+ return undefined;
107376
+ }
107377
+ if (op === 'access' || op === 'optionalAccess') {
107378
+ lastAccessLHS = value;
107379
+ value = fn(value);
107380
+ } else if (op === 'call' || op === 'optionalCall') {
107381
+ value = fn((...args) => value.call(lastAccessLHS, ...args));
107382
+ lastAccessLHS = undefined;
107383
+ }
107384
+ }
107385
+ return value;
107386
+ }
107357
107387
  const tSymbols = 'imes|riangle|an|heta|herefore';
107358
107388
  const nSymbols = 'throot|parallel|cong|approx|eq|e|sim';
107359
107389
  const matchTabAndNewLine = new RegExp(`(\\t(?!${tSymbols}))|(\\n(?!${nSymbols}))|(\\\\t(?!${tSymbols}))|(\\\\n(?!${nSymbols}))`, 'g');
@@ -107370,13 +107400,14 @@ const processMarkup = markup => {
107370
107400
  return slateMarkup.innerHTML;
107371
107401
  };
107372
107402
  const REGEX = /\{\{(\d+)\}\}/g;
107373
- const createSlateMarkup = markup => {
107403
+ const createSlateMarkup = (markup, responses) => {
107374
107404
  if (!markup) {
107375
107405
  return '';
107376
107406
  }
107377
107407
  const newMarkup = removeUnwantedCharacters(markup);
107378
- return newMarkup.replace(REGEX, (match, g) => {
107379
- return `<span data-type="math_templated" data-index="${g}" data-value="R ${g}"></span>`;
107408
+ return newMarkup.replace(REGEX, (match, groupIndex) => {
107409
+ const responseValue = _optionalChain$2([responses, 'access', _ => _[groupIndex], 'optionalAccess', _2 => _2.answer]) || '';
107410
+ return `<span data-type="math_templated" data-index="${groupIndex}" data-value="${responseValue}"></span>`;
107380
107411
  });
107381
107412
  };
107382
107413
  const generateValidationMessage = config => {
@@ -107433,6 +107464,7 @@ class Design extends React$1.Component {
107433
107464
  Design.prototype.__init6.call(this);
107434
107465
  Design.prototype.__init7.call(this);
107435
107466
  Design.prototype.__init8.call(this);
107467
+ Design.prototype.__init9.call(this);
107436
107468
  }
107437
107469
  static __initStatic() {
107438
107470
  this.propTypes = {
@@ -107476,6 +107508,15 @@ class Design extends React$1.Component {
107476
107508
  };
107477
107509
  }
107478
107510
  __init4() {
107511
+ this.onResponseDone = () => {
107512
+ const {model, onModelChanged} = this.props;
107513
+ onModelChanged({
107514
+ ...model,
107515
+ slateMarkup: createSlateMarkup(model.markup, model.responses)
107516
+ });
107517
+ };
107518
+ }
107519
+ __init5() {
107479
107520
  this.onChangeResponse = (index, newVal) => {
107480
107521
  const {model, onModelChanged} = this.props;
107481
107522
  const {responses} = model;
@@ -107494,7 +107535,7 @@ class Design extends React$1.Component {
107494
107535
  });
107495
107536
  };
107496
107537
  }
107497
- __init5() {
107538
+ __init6() {
107498
107539
  this.onResponsesChanged = responses => {
107499
107540
  this.props.onModelChanged({
107500
107541
  ...this.props.model,
@@ -107502,7 +107543,7 @@ class Design extends React$1.Component {
107502
107543
  });
107503
107544
  };
107504
107545
  }
107505
- __init6() {
107546
+ __init7() {
107506
107547
  this.onChange = markup => {
107507
107548
  const {model: {responses, validationDefault, allowTrailingZerosDefault, ignoreOrderDefault}, onModelChanged} = this.props;
107508
107549
  const newResponses = {};
@@ -107511,7 +107552,7 @@ class Design extends React$1.Component {
107511
107552
  responseAreas.forEach(element => {
107512
107553
  const {value, index: dataIndex} = element.dataset;
107513
107554
  if (!value) {
107514
- element.dataset.value = `R ${dataIndex}`;
107555
+ element.dataset.value = '';
107515
107556
  }
107516
107557
  newResponses[dataIndex] = responses[dataIndex] || ({
107517
107558
  allowSpaces: true,
@@ -107535,7 +107576,7 @@ class Design extends React$1.Component {
107535
107576
  }, callback);
107536
107577
  };
107537
107578
  }
107538
- __init7() {
107579
+ __init8() {
107539
107580
  this.onHandleAreaChange = throttle(nodes => {
107540
107581
  const {model: {responses}, onModelChanged} = this.props;
107541
107582
  const {cachedResponses} = this.state;
@@ -107570,7 +107611,7 @@ class Design extends React$1.Component {
107570
107611
  leading: true
107571
107612
  });
107572
107613
  }
107573
- __init8() {
107614
+ __init9() {
107574
107615
  this.onBlur = e => {
107575
107616
  const {relatedTarget, currentTarget} = e || ({});
107576
107617
  function getParentWithRoleTooltip(element, depth = 0) {
@@ -107643,13 +107684,13 @@ class Design extends React$1.Component {
107643
107684
  __self: this,
107644
107685
  __source: {
107645
107686
  fileName: _jsxFileName,
107646
- lineNumber: 299
107687
+ lineNumber: 308
107647
107688
  }
107648
107689
  }),
107649
107690
  __self: this,
107650
107691
  __source: {
107651
107692
  fileName: _jsxFileName,
107652
- lineNumber: 295
107693
+ lineNumber: 304
107653
107694
  }
107654
107695
  }, teacherInstructionsEnabled && React$1.createElement(InputContainer, {
107655
107696
  label: teacherInstructions.label,
@@ -107657,7 +107698,7 @@ class Design extends React$1.Component {
107657
107698
  __self: this,
107658
107699
  __source: {
107659
107700
  fileName: _jsxFileName,
107660
- lineNumber: 312
107701
+ lineNumber: 321
107661
107702
  }
107662
107703
  }, React$1.createElement(EditableHtml, {
107663
107704
  className: classes.prompt,
@@ -107681,14 +107722,14 @@ class Design extends React$1.Component {
107681
107722
  __self: this,
107682
107723
  __source: {
107683
107724
  fileName: _jsxFileName,
107684
- lineNumber: 316
107725
+ lineNumber: 325
107685
107726
  }
107686
107727
  }), teacherInstructionsError && React$1.createElement('div', {
107687
107728
  className: classes.errorText,
107688
107729
  __self: this,
107689
107730
  __source: {
107690
107731
  fileName: _jsxFileName,
107691
- lineNumber: 345
107732
+ lineNumber: 354
107692
107733
  }
107693
107734
  }, teacherInstructionsError)), promptEnabled && React$1.createElement(InputContainer, {
107694
107735
  label: prompt.label,
@@ -107696,7 +107737,7 @@ class Design extends React$1.Component {
107696
107737
  __self: this,
107697
107738
  __source: {
107698
107739
  fileName: _jsxFileName,
107699
- lineNumber: 351
107740
+ lineNumber: 360
107700
107741
  }
107701
107742
  }, React$1.createElement(EditableHtml, {
107702
107743
  className: classes.prompt,
@@ -107721,28 +107762,28 @@ class Design extends React$1.Component {
107721
107762
  __self: this,
107722
107763
  __source: {
107723
107764
  fileName: _jsxFileName,
107724
- lineNumber: 355
107765
+ lineNumber: 364
107725
107766
  }
107726
107767
  }), promptError && React$1.createElement('div', {
107727
107768
  className: classes.errorText,
107728
107769
  __self: this,
107729
107770
  __source: {
107730
107771
  fileName: _jsxFileName,
107731
- lineNumber: 379
107772
+ lineNumber: 388
107732
107773
  }
107733
107774
  }, promptError)), React$1.createElement('div', {
107734
107775
  className: classes.tooltipContainer,
107735
107776
  __self: this,
107736
107777
  __source: {
107737
107778
  fileName: _jsxFileName,
107738
- lineNumber: 383
107779
+ lineNumber: 392
107739
107780
  }
107740
107781
  }, React$1.createElement(Typography, {
107741
107782
  className: classes.title,
107742
107783
  __self: this,
107743
107784
  __source: {
107744
107785
  fileName: _jsxFileName,
107745
- lineNumber: 384
107786
+ lineNumber: 393
107746
107787
  }
107747
107788
  }, "Response Template"), React$1.createElement(Tooltip, {
107748
107789
  classes: {
@@ -107755,7 +107796,7 @@ class Design extends React$1.Component {
107755
107796
  __self: this,
107756
107797
  __source: {
107757
107798
  fileName: _jsxFileName,
107758
- lineNumber: 385
107799
+ lineNumber: 394
107759
107800
  }
107760
107801
  }, React$1.createElement(default_1$1, {
107761
107802
  fontSize: 'small',
@@ -107763,7 +107804,7 @@ class Design extends React$1.Component {
107763
107804
  __self: this,
107764
107805
  __source: {
107765
107806
  fileName: _jsxFileName,
107766
- lineNumber: 392
107807
+ lineNumber: 401
107767
107808
  }
107768
107809
  }))), React$1.createElement(EditableHtml, {
107769
107810
  activePlugins: ALL_PLUGINS,
@@ -107798,21 +107839,21 @@ class Design extends React$1.Component {
107798
107839
  __self: this,
107799
107840
  __source: {
107800
107841
  fileName: _jsxFileName,
107801
- lineNumber: 395
107842
+ lineNumber: 404
107802
107843
  }
107803
107844
  }), responseAreasError && React$1.createElement('div', {
107804
107845
  className: classes.responseAreaError,
107805
107846
  __self: this,
107806
107847
  __source: {
107807
107848
  fileName: _jsxFileName,
107808
- lineNumber: 427
107849
+ lineNumber: 436
107809
107850
  }
107810
107851
  }, responseAreasError), React$1.createElement(Typography, {
107811
107852
  className: classes.title,
107812
107853
  __self: this,
107813
107854
  __source: {
107814
107855
  fileName: _jsxFileName,
107815
- lineNumber: 430
107856
+ lineNumber: 439
107816
107857
  }
107817
107858
  }, "Define Response"), React$1.createElement(InputContainer, {
107818
107859
  label: "Response Template Equation Editor",
@@ -107820,7 +107861,7 @@ class Design extends React$1.Component {
107820
107861
  __self: this,
107821
107862
  __source: {
107822
107863
  fileName: _jsxFileName,
107823
- lineNumber: 432
107864
+ lineNumber: 441
107824
107865
  }
107825
107866
  }, React$1.createElement(Select, {
107826
107867
  className: classes.select,
@@ -107829,91 +107870,91 @@ class Design extends React$1.Component {
107829
107870
  __self: this,
107830
107871
  __source: {
107831
107872
  fileName: _jsxFileName,
107832
- lineNumber: 436
107873
+ lineNumber: 445
107833
107874
  }
107834
107875
  }, React$1.createElement(MenuItem, {
107835
107876
  value: "non-negative-integers",
107836
107877
  __self: this,
107837
107878
  __source: {
107838
107879
  fileName: _jsxFileName,
107839
- lineNumber: 443
107880
+ lineNumber: 452
107840
107881
  }
107841
107882
  }, "Numeric - Non-Negative Integers"), React$1.createElement(MenuItem, {
107842
107883
  value: "integers",
107843
107884
  __self: this,
107844
107885
  __source: {
107845
107886
  fileName: _jsxFileName,
107846
- lineNumber: 446
107887
+ lineNumber: 455
107847
107888
  }
107848
107889
  }, "Numeric - Integers"), React$1.createElement(MenuItem, {
107849
107890
  value: "decimals",
107850
107891
  __self: this,
107851
107892
  __source: {
107852
107893
  fileName: _jsxFileName,
107853
- lineNumber: 447
107894
+ lineNumber: 456
107854
107895
  }
107855
107896
  }, "Numeric - Decimals"), React$1.createElement(MenuItem, {
107856
107897
  value: "fractions",
107857
107898
  __self: this,
107858
107899
  __source: {
107859
107900
  fileName: _jsxFileName,
107860
- lineNumber: 448
107901
+ lineNumber: 457
107861
107902
  }
107862
107903
  }, "Numeric - Fractions"), React$1.createElement(MenuItem, {
107863
107904
  value: 1,
107864
107905
  __self: this,
107865
107906
  __source: {
107866
107907
  fileName: _jsxFileName,
107867
- lineNumber: 449
107908
+ lineNumber: 458
107868
107909
  }
107869
107910
  }, "Grade 1 - 2"), React$1.createElement(MenuItem, {
107870
107911
  value: 3,
107871
107912
  __self: this,
107872
107913
  __source: {
107873
107914
  fileName: _jsxFileName,
107874
- lineNumber: 450
107915
+ lineNumber: 459
107875
107916
  }
107876
107917
  }, "Grade 3 - 5"), React$1.createElement(MenuItem, {
107877
107918
  value: 6,
107878
107919
  __self: this,
107879
107920
  __source: {
107880
107921
  fileName: _jsxFileName,
107881
- lineNumber: 451
107922
+ lineNumber: 460
107882
107923
  }
107883
107924
  }, "Grade 6 - 7"), React$1.createElement(MenuItem, {
107884
107925
  value: 8,
107885
107926
  __self: this,
107886
107927
  __source: {
107887
107928
  fileName: _jsxFileName,
107888
- lineNumber: 452
107929
+ lineNumber: 461
107889
107930
  }
107890
107931
  }, "Grade 8 - HS"), React$1.createElement(MenuItem, {
107891
107932
  value: 'geometry',
107892
107933
  __self: this,
107893
107934
  __source: {
107894
107935
  fileName: _jsxFileName,
107895
- lineNumber: 453
107936
+ lineNumber: 462
107896
107937
  }
107897
107938
  }, "Geometry"), React$1.createElement(MenuItem, {
107898
107939
  value: 'advanced-algebra',
107899
107940
  __self: this,
107900
107941
  __source: {
107901
107942
  fileName: _jsxFileName,
107902
- lineNumber: 454
107943
+ lineNumber: 463
107903
107944
  }
107904
107945
  }, "Advanced Algebra"), React$1.createElement(MenuItem, {
107905
107946
  value: 'statistics',
107906
107947
  __self: this,
107907
107948
  __source: {
107908
107949
  fileName: _jsxFileName,
107909
- lineNumber: 457
107950
+ lineNumber: 466
107910
107951
  }
107911
107952
  }, "Statistics"), React$1.createElement(MenuItem, {
107912
107953
  value: 'item-authoring',
107913
107954
  __self: this,
107914
107955
  __source: {
107915
107956
  fileName: _jsxFileName,
107916
- lineNumber: 458
107957
+ lineNumber: 467
107917
107958
  }
107918
107959
  }, "Item Authoring"))), Object.keys(responses || ({})).map((responseKey, idx) => {
107919
107960
  const response = responses[responseKey];
@@ -107924,6 +107965,7 @@ class Design extends React$1.Component {
107924
107965
  mode: equationEditor,
107925
107966
  response: response,
107926
107967
  onResponseChange: this.onResponseChange,
107968
+ onResponseDone: this.onResponseDone,
107927
107969
  index: idx,
107928
107970
  cIgnoreOrder: cIgnoreOrder,
107929
107971
  cAllowTrailingZeros: cAllowTrailingZeros,
@@ -107931,7 +107973,7 @@ class Design extends React$1.Component {
107931
107973
  __self: this,
107932
107974
  __source: {
107933
107975
  fileName: _jsxFileName,
107934
- lineNumber: 467
107976
+ lineNumber: 476
107935
107977
  }
107936
107978
  });
107937
107979
  }
@@ -107942,7 +107984,7 @@ class Design extends React$1.Component {
107942
107984
  __self: this,
107943
107985
  __source: {
107944
107986
  fileName: _jsxFileName,
107945
- lineNumber: 485
107987
+ lineNumber: 495
107946
107988
  }
107947
107989
  }, React$1.createElement(EditableHtml, {
107948
107990
  className: classes.prompt,
@@ -107971,14 +108013,14 @@ class Design extends React$1.Component {
107971
108013
  __self: this,
107972
108014
  __source: {
107973
108015
  fileName: _jsxFileName,
107974
- lineNumber: 489
108016
+ lineNumber: 499
107975
108017
  }
107976
108018
  }), rationaleError && React$1.createElement('div', {
107977
108019
  className: classes.errorText,
107978
108020
  __self: this,
107979
108021
  __source: {
107980
108022
  fileName: _jsxFileName,
107981
- lineNumber: 520
108023
+ lineNumber: 530
107982
108024
  }
107983
108025
  }, rationaleError)));
107984
108026
  }
@@ -108225,7 +108267,7 @@ class MathTemplateConfigure extends HTMLElement {
108225
108267
  ...model,
108226
108268
  responses: updatedResponses
108227
108269
  };
108228
- const slateMarkup = joinedObj.slateMarkup || createSlateMarkup(joinedObj.markup);
108270
+ const slateMarkup = joinedObj.slateMarkup || createSlateMarkup(joinedObj.markup, joinedObj.responses);
108229
108271
  const processedMarkup = processMarkup(slateMarkup);
108230
108272
  if (joinedObj.responses) {
108231
108273
  Object.keys(joinedObj.responses).forEach(key => {