@pie-element/math-templated 5.3.4-next.0 → 6.0.0-beta.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,129 +1,146 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
4
  Object.defineProperty(exports, "__esModule", {
8
5
  value: true
9
6
  });
10
- exports["default"] = exports.Design = void 0;
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
7
+ exports.default = exports.Design = void 0;
24
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
9
  var _react = _interopRequireDefault(require("react"));
27
-
28
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
32
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
33
-
34
- var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
35
-
36
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
37
-
38
- var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
39
-
40
- var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
41
-
11
+ var _styles = require("@mui/material/styles");
12
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
13
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
14
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
15
+ var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
16
+ var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
42
17
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
43
-
44
18
  var _pick = _interopRequireDefault(require("lodash/pick"));
45
-
46
19
  var _throttle = _interopRequireDefault(require("lodash/throttle"));
47
-
48
20
  var _configUi = require("@pie-lib/config-ui");
49
-
50
21
  var _editableHtml = _interopRequireWildcard(require("@pie-lib/editable-html"));
51
-
52
22
  var _response = _interopRequireDefault(require("./response"));
53
-
54
23
  var _markupUtils = require("./markupUtils");
55
-
56
24
  var _utils = require("./utils");
57
-
58
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
59
-
60
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
61
-
62
- 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; }
63
-
64
- 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; }
65
-
66
- 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); }; }
67
-
68
- 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; } }
69
-
70
- var Panel = _configUi.settings.Panel,
71
- toggle = _configUi.settings.toggle;
72
-
73
- var createElementFromHTML = function createElementFromHTML(htmlString) {
74
- var div = document.createElement('div');
25
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
+ const {
27
+ dropdown
28
+ } = _configUi.settings;
29
+ const {
30
+ Panel,
31
+ toggle
32
+ } = _configUi.settings;
33
+ const StyledInputContainer = (0, _styles.styled)(_configUi.InputContainer)(({
34
+ theme
35
+ }) => ({
36
+ width: '100%',
37
+ paddingTop: theme.spacing(2),
38
+ marginBottom: theme.spacing(2)
39
+ }));
40
+ const StyledEditableHtml = (0, _styles.styled)(_editableHtml.default)({
41
+ width: '100%'
42
+ });
43
+ const ErrorText = (0, _styles.styled)('div')(({
44
+ theme
45
+ }) => ({
46
+ color: theme.palette.error.main,
47
+ fontSize: '0.75rem',
48
+ marginTop: theme.spacing(1)
49
+ }));
50
+ const ResponseAreaError = (0, _styles.styled)('div')(({
51
+ theme
52
+ }) => ({
53
+ color: theme.palette.error.main,
54
+ fontSize: '0.75rem',
55
+ marginBottom: theme.spacing(1)
56
+ }));
57
+ const StyledMarkup = (0, _styles.styled)(_editableHtml.default)(({
58
+ theme
59
+ }) => ({
60
+ width: '100%',
61
+ marginTop: theme.spacing(2),
62
+ marginBottom: theme.spacing(3)
63
+ }));
64
+ const StyledSelectContainer = (0, _styles.styled)(_configUi.InputContainer)(({
65
+ theme
66
+ }) => ({
67
+ width: '100%',
68
+ marginTop: theme.spacing(2),
69
+ '& > *:not(label)': {
70
+ marginTop: theme.spacing(1)
71
+ },
72
+ marginBottom: theme.spacing(2)
73
+ }));
74
+ const StyledSelect = (0, _styles.styled)(_Select.default)({
75
+ width: '100%'
76
+ });
77
+ const StyledTitle = (0, _styles.styled)(_Typography.default)(({
78
+ theme
79
+ }) => ({
80
+ fontSize: theme.typography.fontSize * 1.25,
81
+ fontWeight: 'bold'
82
+ }));
83
+ const TooltipContainer = (0, _styles.styled)('div')({
84
+ display: 'flex',
85
+ alignItems: 'center',
86
+ gap: '8px'
87
+ });
88
+ const StyledTooltip = (0, _styles.styled)(_Tooltip.default)(({
89
+ theme
90
+ }) => ({
91
+ '& .MuiTooltip-tooltip': {
92
+ fontSize: theme.typography.fontSize - 2,
93
+ whiteSpace: 'pre',
94
+ maxWidth: '500px'
95
+ }
96
+ }));
97
+ const createElementFromHTML = htmlString => {
98
+ const div = document.createElement('div');
75
99
  div.innerHTML = htmlString.trim();
76
100
  return div;
77
101
  };
78
-
79
- var Design = /*#__PURE__*/function (_React$Component) {
80
- (0, _inherits2["default"])(Design, _React$Component);
81
-
82
- var _super = _createSuper(Design);
83
-
84
- function Design() {
85
- var _this;
86
-
87
- (0, _classCallCheck2["default"])(this, Design);
88
-
89
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
90
- args[_key] = arguments[_key];
91
- }
92
-
93
- _this = _super.call.apply(_super, [this].concat(args));
94
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {});
95
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (key, value) {
96
- var _this$props = _this.props,
97
- onModelChanged = _this$props.onModelChanged,
98
- model = _this$props.model;
99
- var updatedModel = (0, _cloneDeep["default"])(model);
102
+ class Design extends _react.default.Component {
103
+ constructor(...args) {
104
+ super(...args);
105
+ (0, _defineProperty2.default)(this, "state", {});
106
+ (0, _defineProperty2.default)(this, "handleChange", (key, value) => {
107
+ const {
108
+ onModelChanged,
109
+ model
110
+ } = this.props;
111
+ const updatedModel = (0, _cloneDeep.default)(model);
100
112
  updatedModel[key] = value;
101
113
  onModelChanged(updatedModel);
102
114
  });
103
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onResponseChange", function (response, index) {
104
- var _this$props2 = _this.props,
105
- model = _this$props2.model,
106
- onModelChanged = _this$props2.onModelChanged;
107
-
108
- var newModel = _objectSpread({}, model);
109
-
115
+ (0, _defineProperty2.default)(this, "onResponseChange", (response, index) => {
116
+ const {
117
+ model,
118
+ onModelChanged
119
+ } = this.props;
120
+ const newModel = {
121
+ ...model
122
+ };
110
123
  newModel.responses[index] = response;
111
124
  onModelChanged(newModel);
112
125
  });
113
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onResponseDone", function () {
114
- var _this$props3 = _this.props,
115
- model = _this$props3.model,
116
- onModelChanged = _this$props3.onModelChanged;
117
- onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
126
+ (0, _defineProperty2.default)(this, "onResponseDone", () => {
127
+ const {
128
+ model,
129
+ onModelChanged
130
+ } = this.props;
131
+ onModelChanged({
132
+ ...model,
118
133
  slateMarkup: (0, _markupUtils.createSlateMarkup)(model.markup, model.responses)
119
- }));
134
+ });
120
135
  });
121
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeResponse", function (index, newVal) {
122
- var _this$props4 = _this.props,
123
- model = _this$props4.model,
124
- onModelChanged = _this$props4.onModelChanged;
125
- var responses = model.responses;
126
-
136
+ (0, _defineProperty2.default)(this, "onChangeResponse", (index, newVal) => {
137
+ const {
138
+ model,
139
+ onModelChanged
140
+ } = this.props;
141
+ const {
142
+ responses
143
+ } = model;
127
144
  if (!responses[index]) {
128
145
  responses[index] = [{
129
146
  answer: newVal || '',
@@ -133,36 +150,38 @@ var Design = /*#__PURE__*/function (_React$Component) {
133
150
  } else {
134
151
  responses[index][0].answer = newVal || '';
135
152
  }
136
-
137
- onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
138
- responses: responses
139
- }));
153
+ onModelChanged({
154
+ ...model,
155
+ responses
156
+ });
140
157
  });
141
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onResponsesChanged", function (responses) {
142
- _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
143
- responses: responses
144
- }));
158
+ (0, _defineProperty2.default)(this, "onResponsesChanged", responses => {
159
+ this.props.onModelChanged({
160
+ ...this.props.model,
161
+ responses
162
+ });
145
163
  });
146
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (markup) {
147
- var _this$props5 = _this.props,
148
- _this$props5$model = _this$props5.model,
149
- responses = _this$props5$model.responses,
150
- validationDefault = _this$props5$model.validationDefault,
151
- allowTrailingZerosDefault = _this$props5$model.allowTrailingZerosDefault,
152
- ignoreOrderDefault = _this$props5$model.ignoreOrderDefault,
153
- onModelChanged = _this$props5.onModelChanged;
154
- var newResponses = {};
155
- var domMarkup = createElementFromHTML(markup);
156
- var responseAreas = domMarkup.querySelectorAll('[data-type="math_templated"]');
157
- responseAreas.forEach(function (element, index) {
158
- var _element$dataset = element.dataset,
159
- value = _element$dataset.value,
160
- dataIndex = _element$dataset.index;
161
-
164
+ (0, _defineProperty2.default)(this, "onChange", markup => {
165
+ const {
166
+ model: {
167
+ responses,
168
+ validationDefault,
169
+ allowTrailingZerosDefault,
170
+ ignoreOrderDefault
171
+ },
172
+ onModelChanged
173
+ } = this.props;
174
+ const newResponses = {};
175
+ const domMarkup = createElementFromHTML(markup);
176
+ const responseAreas = domMarkup.querySelectorAll('[data-type="math_templated"]');
177
+ responseAreas.forEach((element, index) => {
178
+ const {
179
+ value,
180
+ index: dataIndex
181
+ } = element.dataset;
162
182
  if (!value) {
163
183
  element.dataset.value = '';
164
184
  }
165
-
166
185
  newResponses[index] = responses[dataIndex] || {
167
186
  allowSpaces: true,
168
187
  validation: validationDefault || 'symbolic',
@@ -173,487 +192,357 @@ var Design = /*#__PURE__*/function (_React$Component) {
173
192
  };
174
193
  element.dataset.index = index.toString();
175
194
  });
176
- console.log('newResponses', newResponses);
177
- var processedMarkup = (0, _markupUtils.processMarkup)(markup);
178
-
179
- var callback = function callback() {
180
- return onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
181
- slateMarkup: domMarkup.innerHTML,
182
- responses: newResponses,
183
- markup: processedMarkup
184
- }));
185
- };
186
-
187
- _this.setState({
195
+ const processedMarkup = (0, _markupUtils.processMarkup)(markup);
196
+ const callback = () => onModelChanged({
197
+ ...this.props.model,
198
+ slateMarkup: domMarkup.innerHTML,
199
+ responses: newResponses,
200
+ markup: processedMarkup
201
+ });
202
+ this.setState({
188
203
  cachedResponses: undefined
189
204
  }, callback);
190
205
  });
191
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onHandleAreaChange", (0, _throttle["default"])(function (nodes) {
192
- var _this$props6 = _this.props,
193
- responses = _this$props6.model.responses,
194
- onModelChanged = _this$props6.onModelChanged;
195
- var cachedResponses = _this.state.cachedResponses;
196
-
206
+ (0, _defineProperty2.default)(this, "onHandleAreaChange", (0, _throttle.default)(nodes => {
207
+ const {
208
+ model: {
209
+ responses
210
+ },
211
+ onModelChanged
212
+ } = this.props;
213
+ const {
214
+ cachedResponses
215
+ } = this.state;
197
216
  if (!nodes) {
198
217
  return;
199
218
  }
200
-
201
- var newChoices = responses ? (0, _cloneDeep["default"])(responses) : {};
202
- var newCachedResponses = cachedResponses ? (0, _cloneDeep["default"])(cachedResponses) : {};
203
- nodes.forEach(function (node) {
204
- var keyForNode = node.data.get('index');
205
-
219
+ const newChoices = responses ? (0, _cloneDeep.default)(responses) : {};
220
+ const newCachedResponses = cachedResponses ? (0, _cloneDeep.default)(cachedResponses) : {};
221
+ nodes.forEach(node => {
222
+ const keyForNode = node.data.get('index');
206
223
  if (!newChoices[keyForNode] && newCachedResponses[keyForNode]) {
207
- Object.assign(newChoices, (0, _pick["default"])(newCachedResponses, keyForNode));
208
-
209
- if (newCachedResponses.hasOwnProperty(keyForNode)) {
224
+ Object.assign(newChoices, (0, _pick.default)(newCachedResponses, keyForNode));
225
+ if (Object.prototype.hasOwnProperty.call(newCachedResponses, keyForNode)) {
210
226
  delete newCachedResponses[keyForNode];
211
227
  }
212
228
  } else {
213
- Object.assign(newCachedResponses, (0, _pick["default"])(newChoices, keyForNode));
214
-
215
- if (newChoices.hasOwnProperty(keyForNode)) {
229
+ Object.assign(newCachedResponses, (0, _pick.default)(newChoices, keyForNode));
230
+ if (Object.prototype.hasOwnProperty.call(newChoices, keyForNode)) {
216
231
  delete newChoices[keyForNode];
217
232
  }
218
233
  }
219
234
  });
220
-
221
- var callback = function callback() {
222
- return onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
223
- responses: newChoices
224
- }));
225
- };
226
-
227
- _this.setState({
235
+ const callback = () => onModelChanged({
236
+ ...this.props.model,
237
+ responses: newChoices
238
+ });
239
+ this.setState({
228
240
  cachedResponses: newCachedResponses
229
241
  }, callback);
230
242
  }, 500, {
231
243
  trailing: false,
232
244
  leading: true
233
245
  }));
234
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onBlur", function (e) {
235
- var _ref = e || {},
236
- relatedTarget = _ref.relatedTarget,
237
- currentTarget = _ref.currentTarget;
238
-
239
- function getParentWithRoleTooltip(element) {
240
- var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
246
+ (0, _defineProperty2.default)(this, "onBlur", e => {
247
+ const {
248
+ relatedTarget,
249
+ currentTarget
250
+ } = e || {};
251
+ function getParentWithRoleTooltip(element, depth = 0) {
241
252
  // only run this max 16 times
242
253
  if (!element || depth >= 16) return null;
243
- var parent = element.offsetParent;
254
+ const parent = element.offsetParent;
244
255
  if (!parent) return null;
245
-
246
256
  if (parent.getAttribute('role') === 'tooltip') {
247
257
  return parent;
248
258
  }
249
-
250
259
  return getParentWithRoleTooltip(parent, depth + 1);
251
260
  }
252
-
253
- function getDeepChildDataKeypad(element) {
254
- var _element$children;
255
-
256
- var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
261
+ function getDeepChildDataKeypad(element, depth = 0) {
257
262
  // only run this max 4 times
258
263
  if (!element || depth >= 4) return null;
259
- var child = element === null || element === void 0 ? void 0 : (_element$children = element.children) === null || _element$children === void 0 ? void 0 : _element$children[0];
264
+ const child = element?.children?.[0];
260
265
  if (!child) return null;
261
-
262
266
  if (child.attributes && child.attributes['data-keypad']) {
263
267
  return child;
264
268
  }
265
-
266
269
  return getDeepChildDataKeypad(child, depth + 1);
267
270
  }
268
-
269
- var parentWithTooltipRole = getParentWithRoleTooltip(relatedTarget);
270
- var childWithDataKeypad = parentWithTooltipRole ? getDeepChildDataKeypad(parentWithTooltipRole) : null;
271
-
272
- if (!relatedTarget || !currentTarget || !(childWithDataKeypad !== null && childWithDataKeypad !== void 0 && childWithDataKeypad.attributes['data-keypad'])) {
273
- _this.setState({
271
+ const parentWithTooltipRole = getParentWithRoleTooltip(relatedTarget);
272
+ const childWithDataKeypad = parentWithTooltipRole ? getDeepChildDataKeypad(parentWithTooltipRole) : null;
273
+ if (!relatedTarget || !currentTarget || !childWithDataKeypad?.attributes['data-keypad']) {
274
+ this.setState({
274
275
  activeAnswerBlock: ''
275
276
  });
276
277
  }
277
278
  });
278
- return _this;
279
279
  }
280
-
281
- (0, _createClass2["default"])(Design, [{
282
- key: "componentDidMount",
283
- value: function componentDidMount() {
284
- var slateMarkup = this.props.model.slateMarkup;
285
- this.setState({
286
- markup: slateMarkup
287
- });
288
- }
289
- }, {
290
- key: "render",
291
- value: function render() {
292
- var _this2 = this;
293
-
294
- var _this$props7 = this.props,
295
- classes = _this$props7.classes,
296
- configuration = _this$props7.configuration,
297
- imageSupport = _this$props7.imageSupport,
298
- model = _this$props7.model,
299
- onConfigurationChanged = _this$props7.onConfigurationChanged,
300
- onModelChanged = _this$props7.onModelChanged,
301
- uploadSoundSupport = _this$props7.uploadSoundSupport;
302
-
303
- var _ref2 = configuration || {},
304
- _ref2$baseInputConfig = _ref2.baseInputConfiguration,
305
- baseInputConfiguration = _ref2$baseInputConfig === void 0 ? {} : _ref2$baseInputConfig,
306
- _ref2$contentDimensio = _ref2.contentDimensions,
307
- contentDimensions = _ref2$contentDimensio === void 0 ? {} : _ref2$contentDimensio,
308
- _ref2$prompt = _ref2.prompt,
309
- prompt = _ref2$prompt === void 0 ? {} : _ref2$prompt,
310
- _ref2$rationale = _ref2.rationale,
311
- rationale = _ref2$rationale === void 0 ? {} : _ref2$rationale,
312
- settingsPanelDisabled = _ref2.settingsPanelDisabled,
313
- _ref2$teacherInstruct = _ref2.teacherInstructions,
314
- teacherInstructions = _ref2$teacherInstruct === void 0 ? {} : _ref2$teacherInstruct,
315
- _ref2$language = _ref2.language,
316
- language = _ref2$language === void 0 ? {} : _ref2$language,
317
- _ref2$languageChoices = _ref2.languageChoices,
318
- languageChoices = _ref2$languageChoices === void 0 ? {} : _ref2$languageChoices,
319
- _ref2$spellCheck = _ref2.spellCheck,
320
- spellCheck = _ref2$spellCheck === void 0 ? {} : _ref2$spellCheck,
321
- _ref2$playerSpellChec = _ref2.playerSpellCheck,
322
- playerSpellCheck = _ref2$playerSpellChec === void 0 ? {} : _ref2$playerSpellChec,
323
- _ref2$maxImageWidth = _ref2.maxImageWidth,
324
- maxImageWidth = _ref2$maxImageWidth === void 0 ? {} : _ref2$maxImageWidth,
325
- _ref2$maxImageHeight = _ref2.maxImageHeight,
326
- maxImageHeight = _ref2$maxImageHeight === void 0 ? {} : _ref2$maxImageHeight,
327
- _ref2$mathMlOptions = _ref2.mathMlOptions,
328
- mathMlOptions = _ref2$mathMlOptions === void 0 ? {} : _ref2$mathMlOptions,
329
- _ref2$template = _ref2.template,
330
- template = _ref2$template === void 0 ? {} : _ref2$template,
331
- _ref2$editSource = _ref2.editSource,
332
- editSource = _ref2$editSource === void 0 ? {} : _ref2$editSource,
333
- _ref2$ignoreOrder = _ref2.ignoreOrder,
334
- cIgnoreOrder = _ref2$ignoreOrder === void 0 ? {} : _ref2$ignoreOrder,
335
- _ref2$allowTrailingZe = _ref2.allowTrailingZeros,
336
- cAllowTrailingZeros = _ref2$allowTrailingZe === void 0 ? {} : _ref2$allowTrailingZe,
337
- _ref2$partialScoring = _ref2.partialScoring,
338
- partialScoring = _ref2$partialScoring === void 0 ? {} : _ref2$partialScoring,
339
- maxResponseAreas = _ref2.maxResponseAreas;
340
-
341
- var _ref3 = model || {},
342
- errors = _ref3.errors,
343
- extraCSSRules = _ref3.extraCSSRules,
344
- promptEnabled = _ref3.promptEnabled,
345
- rationaleEnabled = _ref3.rationaleEnabled,
346
- spellCheckEnabled = _ref3.spellCheckEnabled,
347
- teacherInstructionsEnabled = _ref3.teacherInstructionsEnabled,
348
- toolbarEditorPosition = _ref3.toolbarEditorPosition,
349
- responses = _ref3.responses,
350
- equationEditor = _ref3.equationEditor;
351
-
352
- var _ref4 = errors || {},
353
- promptError = _ref4.prompt,
354
- rationaleError = _ref4.rationale,
355
- responseAreasError = _ref4.responseAreas,
356
- teacherInstructionsError = _ref4.teacherInstructions,
357
- _ref4$responses = _ref4.responses,
358
- responsesErrors = _ref4$responses === void 0 ? {} : _ref4$responses;
359
-
360
- var validationMessage = (0, _utils.generateValidationMessage)(configuration);
361
- var panelSettings = {
362
- 'language.enabled': language.settings && toggle(language.label, true),
363
- language: language.settings && language.enabled && (0, _configUi.dropdown)(languageChoices.label, languageChoices.options)
364
- };
365
- var panelProperties = {
366
- teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
367
- rationaleEnabled: rationale.settings && toggle(rationale.label),
368
- promptEnabled: prompt.settings && toggle(prompt.label),
369
- spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
370
- playerSpellCheckEnabled: playerSpellCheck.settings && toggle(playerSpellCheck.label),
371
- 'editSource.enabled': (editSource === null || editSource === void 0 ? void 0 : editSource.settings) && toggle(editSource.label, true),
372
- partialScoring: partialScoring.settings && toggle(partialScoring.label)
373
- };
374
- var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
375
- var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
376
- var toolbarOpts = {
377
- position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
378
- };
379
-
380
- var getPluginProps = function getPluginProps() {
381
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
382
- var baseInputConfiguration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
383
- return _objectSpread(_objectSpread({}, baseInputConfiguration), props);
384
- };
385
-
386
- return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
387
- extraCSSRules: extraCSSRules,
388
- dimensions: contentDimensions,
389
- hideSettings: settingsPanelDisabled,
390
- settings: /*#__PURE__*/_react["default"].createElement(Panel, {
391
- model: model,
392
- configuration: configuration,
393
- onChangeModel: function onChangeModel(updatedModel) {
394
- return onModelChanged(updatedModel);
395
- },
396
- onChangeConfiguration: onConfigurationChanged,
397
- groups: {
398
- Settings: panelSettings,
399
- Properties: panelProperties
400
- }
401
- })
402
- }, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
403
- label: teacherInstructions.label,
404
- className: classes.promptHolder
405
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
406
- className: classes.prompt,
407
- markup: model.teacherInstructions || '',
408
- onChange: function onChange(value) {
409
- return _this2.handleChange('teacherInstructions', value);
410
- },
411
- imageSupport: imageSupport,
412
- nonEmpty: false,
413
- error: teacherInstructionsError,
414
- toolbarOpts: toolbarOpts,
415
- pluginProps: getPluginProps(teacherInstructions === null || teacherInstructions === void 0 ? void 0 : teacherInstructions.inputConfiguration, baseInputConfiguration),
416
- spellCheck: spellCheckEnabled,
417
- maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
418
- maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
419
- uploadSoundSupport: uploadSoundSupport,
420
- languageCharactersProps: [{
421
- language: 'spanish'
422
- }, {
423
- language: 'special'
424
- }],
425
- mathMlOptions: mathMlOptions
426
- }), teacherInstructionsError && /*#__PURE__*/_react["default"].createElement("div", {
427
- className: classes.errorText
428
- }, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
429
- label: prompt.label,
430
- className: classes.promptHolder
431
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
432
- className: classes.prompt,
433
- markup: model.prompt,
434
- onChange: function onChange(value) {
435
- return _this2.handleChange('prompt', value);
436
- },
437
- imageSupport: imageSupport,
438
- nonEmpty: false,
439
- disableUnderline: true,
440
- error: promptError,
441
- toolbarOpts: toolbarOpts,
442
- pluginProps: getPluginProps(teacherInstructions === null || teacherInstructions === void 0 ? void 0 : teacherInstructions.inputConfiguration, baseInputConfiguration),
443
- spellCheck: spellCheckEnabled,
444
- maxImageWidth: defaultImageMaxWidth,
445
- maxImageHeight: defaultImageMaxHeight,
446
- uploadSoundSupport: uploadSoundSupport,
447
- languageCharactersProps: [{
448
- language: 'spanish'
449
- }, {
450
- language: 'special'
451
- }],
452
- mathMlOptions: mathMlOptions
453
- }), promptError && /*#__PURE__*/_react["default"].createElement("div", {
454
- className: classes.errorText
455
- }, promptError)), /*#__PURE__*/_react["default"].createElement("div", {
456
- className: classes.tooltipContainer
457
- }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
458
- className: classes.title,
459
- component: 'div'
460
- }, "Response Template"), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
461
- classes: {
462
- tooltip: classes.tooltip
463
- },
464
- disableFocusListener: true,
465
- disableTouchListener: true,
466
- placement: 'right',
467
- title: validationMessage
468
- }, /*#__PURE__*/_react["default"].createElement(_Info["default"], {
469
- fontSize: 'small',
470
- color: 'primary'
471
- }))), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
472
- activePlugins: _editableHtml.ALL_PLUGINS,
473
- toolbarOpts: {
474
- position: 'top'
475
- },
476
- spellCheck: spellCheckEnabled,
477
- pluginProps: getPluginProps(template === null || template === void 0 ? void 0 : template.inputConfiguration, baseInputConfiguration),
478
- responseAreaProps: {
479
- type: 'math-templated',
480
- respAreaToolbar: null,
481
- error: function error() {
482
- return responsesErrors;
483
- },
484
- onHandleAreaChange: this.onHandleAreaChange,
485
- maxResponseAreas: maxResponseAreas
486
- },
487
- className: classes.markup,
488
- markup: model.slateMarkup,
489
- onChange: this.onChange,
490
- imageSupport: imageSupport,
491
- disableImageAlignmentButtons: true,
492
- onBlur: this.onBlur,
493
- disabled: false,
494
- highlightShape: false,
495
- error: responseAreasError,
496
- uploadSoundSupport: uploadSoundSupport,
497
- languageCharactersProps: [{
498
- language: 'spanish'
499
- }, {
500
- language: 'special'
501
- }],
502
- mathMlOptions: mathMlOptions
503
- }), responseAreasError && /*#__PURE__*/_react["default"].createElement("div", {
504
- className: classes.responseAreaError
505
- }, responseAreasError), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
506
- className: classes.title
507
- }, "Define Response"), /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
508
- label: "Response Template Equation Editor",
509
- className: classes.selectContainer
510
- }, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
511
- className: classes.select,
512
- onChange: function onChange(event) {
513
- return _this2.handleChange('equationEditor', event.target.value);
514
- },
515
- value: equationEditor
516
- }, /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
517
- value: "non-negative-integers"
518
- }, "Numeric - Non-Negative Integers"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
519
- value: "integers"
520
- }, "Numeric - Integers"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
521
- value: "decimals"
522
- }, "Numeric - Decimals"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
523
- value: "fractions"
524
- }, "Numeric - Fractions"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
525
- value: 1
526
- }, "Grade 1 - 2"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
527
- value: 3
528
- }, "Grade 3 - 5"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
529
- value: 6
530
- }, "Grade 6 - 7"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
531
- value: 8
532
- }, "Grade 8 - HS"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
533
- value: 'geometry'
534
- }, "Geometry"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
535
- value: 'advanced-algebra'
536
- }, "Advanced Algebra"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
537
- value: 'statistics'
538
- }, "Statistics"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
539
- value: 'item-authoring'
540
- }, "Item Authoring"))), Object.keys(responses || {}).map(function (responseKey, idx) {
541
- var response = responses[idx];
542
-
543
- if (response) {
544
- return /*#__PURE__*/_react["default"].createElement(_response["default"], {
545
- key: idx,
546
- responseKey: idx,
547
- mode: equationEditor,
548
- response: response,
549
- onResponseChange: _this2.onResponseChange,
550
- onResponseDone: _this2.onResponseDone,
551
- index: idx,
552
- cIgnoreOrder: cIgnoreOrder,
553
- cAllowTrailingZeros: cAllowTrailingZeros,
554
- error: responsesErrors && responsesErrors[idx]
555
- });
280
+ componentDidMount() {
281
+ const {
282
+ model: {
283
+ slateMarkup
284
+ }
285
+ } = this.props;
286
+ this.setState({
287
+ markup: slateMarkup
288
+ });
289
+ }
290
+ render() {
291
+ const {
292
+ configuration,
293
+ imageSupport,
294
+ model,
295
+ onConfigurationChanged,
296
+ onModelChanged,
297
+ uploadSoundSupport
298
+ } = this.props;
299
+ const {
300
+ baseInputConfiguration = {},
301
+ contentDimensions = {},
302
+ prompt = {},
303
+ rationale = {},
304
+ settingsPanelDisabled,
305
+ teacherInstructions = {},
306
+ language = {},
307
+ languageChoices = {},
308
+ spellCheck = {},
309
+ playerSpellCheck = {},
310
+ maxImageWidth = {},
311
+ maxImageHeight = {},
312
+ mathMlOptions = {},
313
+ template = {},
314
+ editSource = {},
315
+ ignoreOrder: cIgnoreOrder = {},
316
+ allowTrailingZeros: cAllowTrailingZeros = {},
317
+ partialScoring = {},
318
+ maxResponseAreas
319
+ } = configuration || {};
320
+ const {
321
+ errors,
322
+ extraCSSRules,
323
+ promptEnabled,
324
+ rationaleEnabled,
325
+ spellCheckEnabled,
326
+ teacherInstructionsEnabled,
327
+ toolbarEditorPosition,
328
+ responses,
329
+ equationEditor
330
+ } = model || {};
331
+ const {
332
+ prompt: promptError,
333
+ rationale: rationaleError,
334
+ responseAreas: responseAreasError,
335
+ teacherInstructions: teacherInstructionsError,
336
+ responses: responsesErrors = {}
337
+ } = errors || {};
338
+ const validationMessage = (0, _utils.generateValidationMessage)(configuration);
339
+ const panelSettings = {
340
+ 'language.enabled': language.settings && toggle(language.label, true),
341
+ language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options)
342
+ };
343
+ const panelProperties = {
344
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
345
+ rationaleEnabled: rationale.settings && toggle(rationale.label),
346
+ promptEnabled: prompt.settings && toggle(prompt.label),
347
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
348
+ playerSpellCheckEnabled: playerSpellCheck.settings && toggle(playerSpellCheck.label),
349
+ 'editSource.enabled': editSource?.settings && toggle(editSource.label, true),
350
+ partialScoring: partialScoring.settings && toggle(partialScoring.label)
351
+ };
352
+ const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
353
+ const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
354
+ const toolbarOpts = {
355
+ position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
356
+ };
357
+ const getPluginProps = (props = {}, baseInputConfiguration = {}) => ({
358
+ ...baseInputConfiguration,
359
+ ...props
360
+ });
361
+ return /*#__PURE__*/_react.default.createElement(_configUi.layout.ConfigLayout, {
362
+ extraCSSRules: extraCSSRules,
363
+ dimensions: contentDimensions,
364
+ hideSettings: settingsPanelDisabled,
365
+ settings: /*#__PURE__*/_react.default.createElement(Panel, {
366
+ model: model,
367
+ configuration: configuration,
368
+ onChangeModel: updatedModel => onModelChanged(updatedModel),
369
+ onChangeConfiguration: onConfigurationChanged,
370
+ groups: {
371
+ Settings: panelSettings,
372
+ Properties: panelProperties
556
373
  }
557
-
558
- return null;
559
- }), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
560
- label: rationale.label,
561
- className: classes.promptHolder
562
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
563
- className: classes.prompt,
564
- markup: model.rationale || '',
565
- onChange: function onChange(value) {
566
- return _this2.handleChange('rationale', value);
567
- },
568
- imageSupport: imageSupport,
569
- nonEmpty: false,
570
- error: rationaleError,
571
- toolbarOpts: toolbarOpts,
572
- pluginProps: getPluginProps(rationale === null || rationale === void 0 ? void 0 : rationale.inputConfiguration, _objectSpread(_objectSpread({}, baseInputConfiguration), {}, {
573
- math: {
574
- controlledKeypadMode: false
575
- }
576
- })),
577
- spellCheck: spellCheckEnabled,
578
- maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
579
- maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
580
- uploadSoundSupport: uploadSoundSupport,
581
- languageCharactersProps: [{
582
- language: 'spanish'
583
- }, {
584
- language: 'special'
585
- }],
586
- mathMlOptions: mathMlOptions
587
- }), rationaleError && /*#__PURE__*/_react["default"].createElement("div", {
588
- className: classes.errorText
589
- }, rationaleError)));
590
- }
591
- }]);
592
- return Design;
593
- }(_react["default"].Component);
594
-
374
+ })
375
+ }, teacherInstructionsEnabled && /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
376
+ label: teacherInstructions.label
377
+ }, /*#__PURE__*/_react.default.createElement(StyledEditableHtml, {
378
+ markup: model.teacherInstructions || '',
379
+ onChange: value => this.handleChange('teacherInstructions', value),
380
+ imageSupport: imageSupport,
381
+ nonEmpty: false,
382
+ error: teacherInstructionsError,
383
+ toolbarOpts: toolbarOpts,
384
+ pluginProps: getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration),
385
+ spellCheck: spellCheckEnabled,
386
+ maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
387
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
388
+ uploadSoundSupport: uploadSoundSupport,
389
+ languageCharactersProps: [{
390
+ language: 'spanish'
391
+ }, {
392
+ language: 'special'
393
+ }],
394
+ mathMlOptions: mathMlOptions
395
+ }), teacherInstructionsError && /*#__PURE__*/_react.default.createElement(ErrorText, null, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
396
+ label: prompt.label
397
+ }, /*#__PURE__*/_react.default.createElement(StyledEditableHtml, {
398
+ markup: model.prompt,
399
+ onChange: value => this.handleChange('prompt', value),
400
+ imageSupport: imageSupport,
401
+ nonEmpty: false,
402
+ disableUnderline: true,
403
+ error: promptError,
404
+ toolbarOpts: toolbarOpts,
405
+ pluginProps: getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration),
406
+ spellCheck: spellCheckEnabled,
407
+ maxImageWidth: defaultImageMaxWidth,
408
+ maxImageHeight: defaultImageMaxHeight,
409
+ uploadSoundSupport: uploadSoundSupport,
410
+ languageCharactersProps: [{
411
+ language: 'spanish'
412
+ }, {
413
+ language: 'special'
414
+ }],
415
+ mathMlOptions: mathMlOptions
416
+ }), promptError && /*#__PURE__*/_react.default.createElement(ErrorText, null, promptError)), /*#__PURE__*/_react.default.createElement(TooltipContainer, null, /*#__PURE__*/_react.default.createElement(StyledTitle, {
417
+ component: 'div'
418
+ }, "Response Template"), /*#__PURE__*/_react.default.createElement(StyledTooltip, {
419
+ disableFocusListener: true,
420
+ disableTouchListener: true,
421
+ placement: 'right',
422
+ title: validationMessage
423
+ }, /*#__PURE__*/_react.default.createElement(_Info.default, {
424
+ fontSize: 'small',
425
+ color: 'primary'
426
+ }))), /*#__PURE__*/_react.default.createElement(StyledMarkup, {
427
+ activePlugins: _editableHtml.ALL_PLUGINS,
428
+ toolbarOpts: {
429
+ position: 'top'
430
+ },
431
+ spellCheck: spellCheckEnabled,
432
+ pluginProps: getPluginProps(template?.inputConfiguration, baseInputConfiguration),
433
+ responseAreaProps: {
434
+ type: 'math-templated',
435
+ respAreaToolbar: null,
436
+ error: () => responsesErrors,
437
+ onHandleAreaChange: this.onHandleAreaChange,
438
+ maxResponseAreas: maxResponseAreas
439
+ },
440
+ markup: model.slateMarkup,
441
+ onChange: this.onChange,
442
+ imageSupport: imageSupport,
443
+ disableImageAlignmentButtons: true,
444
+ onBlur: this.onBlur,
445
+ disabled: false,
446
+ highlightShape: false,
447
+ error: responseAreasError,
448
+ uploadSoundSupport: uploadSoundSupport,
449
+ languageCharactersProps: [{
450
+ language: 'spanish'
451
+ }, {
452
+ language: 'special'
453
+ }],
454
+ mathMlOptions: mathMlOptions
455
+ }), responseAreasError && /*#__PURE__*/_react.default.createElement(ResponseAreaError, null, responseAreasError), /*#__PURE__*/_react.default.createElement(StyledTitle, null, "Define Response"), /*#__PURE__*/_react.default.createElement(StyledSelectContainer, {
456
+ label: "Response Template Equation Editor"
457
+ }, /*#__PURE__*/_react.default.createElement(StyledSelect, {
458
+ MenuProps: {
459
+ transitionDuration: {
460
+ enter: 225,
461
+ exit: 195
462
+ }
463
+ },
464
+ onChange: event => this.handleChange('equationEditor', event.target.value),
465
+ value: equationEditor
466
+ }, /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
467
+ value: "non-negative-integers"
468
+ }, "Numeric - Non-Negative Integers"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
469
+ value: "integers"
470
+ }, "Numeric - Integers"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
471
+ value: "decimals"
472
+ }, "Numeric - Decimals"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
473
+ value: "fractions"
474
+ }, "Numeric - Fractions"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
475
+ value: 1
476
+ }, "Grade 1 - 2"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
477
+ value: 3
478
+ }, "Grade 3 - 5"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
479
+ value: 6
480
+ }, "Grade 6 - 7"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
481
+ value: 8
482
+ }, "Grade 8 - HS"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
483
+ value: 'geometry'
484
+ }, "Geometry"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
485
+ value: 'advanced-algebra'
486
+ }, "Advanced Algebra"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
487
+ value: 'statistics'
488
+ }, "Statistics"), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
489
+ value: 'item-authoring'
490
+ }, "Item Authoring"))), Object.keys(responses || {}).map((responseKey, idx) => {
491
+ const response = responses[idx];
492
+ if (response) {
493
+ return /*#__PURE__*/_react.default.createElement(_response.default, {
494
+ key: idx,
495
+ responseKey: idx,
496
+ mode: equationEditor,
497
+ response: response,
498
+ onResponseChange: this.onResponseChange,
499
+ onResponseDone: this.onResponseDone,
500
+ index: idx,
501
+ cIgnoreOrder: cIgnoreOrder,
502
+ cAllowTrailingZeros: cAllowTrailingZeros,
503
+ error: responsesErrors && responsesErrors[idx]
504
+ });
505
+ }
506
+ return null;
507
+ }), rationaleEnabled && /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
508
+ label: rationale.label
509
+ }, /*#__PURE__*/_react.default.createElement(StyledEditableHtml, {
510
+ markup: model.rationale || '',
511
+ onChange: value => this.handleChange('rationale', value),
512
+ imageSupport: imageSupport,
513
+ nonEmpty: false,
514
+ error: rationaleError,
515
+ toolbarOpts: toolbarOpts,
516
+ pluginProps: getPluginProps(rationale?.inputConfiguration, {
517
+ ...baseInputConfiguration,
518
+ math: {
519
+ controlledKeypadMode: false
520
+ }
521
+ }),
522
+ spellCheck: spellCheckEnabled,
523
+ maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
524
+ maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
525
+ uploadSoundSupport: uploadSoundSupport,
526
+ languageCharactersProps: [{
527
+ language: 'spanish'
528
+ }, {
529
+ language: 'special'
530
+ }],
531
+ mathMlOptions: mathMlOptions
532
+ }), rationaleError && /*#__PURE__*/_react.default.createElement(ErrorText, null, rationaleError)));
533
+ }
534
+ }
595
535
  exports.Design = Design;
596
- (0, _defineProperty2["default"])(Design, "propTypes", {
597
- model: _propTypes["default"].object.isRequired,
598
- configuration: _propTypes["default"].object.isRequired,
599
- classes: _propTypes["default"].object.isRequired,
600
- onModelChanged: _propTypes["default"].func.isRequired,
601
- onConfigurationChanged: _propTypes["default"].func.isRequired,
602
- imageSupport: _propTypes["default"].shape({
603
- add: _propTypes["default"].func.isRequired,
604
- "delete": _propTypes["default"].func.isRequired
536
+ (0, _defineProperty2.default)(Design, "propTypes", {
537
+ model: _propTypes.default.object.isRequired,
538
+ configuration: _propTypes.default.object.isRequired,
539
+ onModelChanged: _propTypes.default.func.isRequired,
540
+ onConfigurationChanged: _propTypes.default.func.isRequired,
541
+ imageSupport: _propTypes.default.shape({
542
+ add: _propTypes.default.func.isRequired,
543
+ delete: _propTypes.default.func.isRequired
605
544
  }),
606
- uploadSoundSupport: _propTypes["default"].object
545
+ uploadSoundSupport: _propTypes.default.object
607
546
  });
608
-
609
- var _default = (0, _styles.withStyles)(function (theme) {
610
- return {
611
- promptHolder: {
612
- width: '100%',
613
- paddingTop: theme.spacing.unit * 2,
614
- marginBottom: theme.spacing.unit * 2
615
- },
616
- prompt: {
617
- width: '100%'
618
- },
619
- errorText: {
620
- color: theme.palette.error.main,
621
- fontSize: '0.75rem',
622
- marginTop: theme.spacing.unit
623
- },
624
- responseAreaError: {
625
- color: theme.palette.error.main,
626
- fontSize: '0.75rem',
627
- marginBottom: theme.spacing.unit
628
- },
629
- markup: {
630
- width: '100%',
631
- marginTop: theme.spacing.unit * 2,
632
- marginBottom: theme.spacing.unit * 3
633
- },
634
- selectContainer: {
635
- width: '100%',
636
- marginTop: theme.spacing.unit * 2
637
- },
638
- select: {
639
- width: '100%'
640
- },
641
- title: {
642
- fontSize: theme.typography.fontSize * 1.25,
643
- fontWeight: 'bold'
644
- },
645
- tooltipContainer: {
646
- display: 'flex',
647
- alignItems: 'center',
648
- gap: '8px'
649
- },
650
- tooltip: {
651
- fontSize: theme.typography.fontSize - 2,
652
- whiteSpace: 'pre',
653
- maxWidth: '500px'
654
- }
655
- };
656
- })(Design);
657
-
658
- exports["default"] = _default;
547
+ var _default = exports.default = Design;
659
548
  //# sourceMappingURL=design.js.map