@pie-element/categorize 7.7.2-beta.3 → 7.7.2-beta.4

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.
Files changed (59) hide show
  1. package/configure/lib/defaults.js +113 -0
  2. package/configure/lib/defaults.js.map +1 -0
  3. package/configure/lib/design/builder.js +62 -0
  4. package/configure/lib/design/builder.js.map +1 -0
  5. package/configure/lib/design/buttons.js +105 -0
  6. package/configure/lib/design/buttons.js.map +1 -0
  7. package/configure/lib/design/categories/RowLabel.js +61 -0
  8. package/configure/lib/design/categories/RowLabel.js.map +1 -0
  9. package/configure/lib/design/categories/alternateResponses.js +242 -0
  10. package/configure/lib/design/categories/alternateResponses.js.map +1 -0
  11. package/configure/lib/design/categories/category.js +175 -0
  12. package/configure/lib/design/categories/category.js.map +1 -0
  13. package/configure/lib/design/categories/choice-preview.js +98 -0
  14. package/configure/lib/design/categories/choice-preview.js.map +1 -0
  15. package/configure/lib/design/categories/droppable-placeholder.js +155 -0
  16. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -0
  17. package/configure/lib/design/categories/index.js +338 -0
  18. package/configure/lib/design/categories/index.js.map +1 -0
  19. package/configure/lib/design/choices/choice.js +243 -0
  20. package/configure/lib/design/choices/choice.js.map +1 -0
  21. package/configure/lib/design/choices/config.js +113 -0
  22. package/configure/lib/design/choices/config.js.map +1 -0
  23. package/configure/lib/design/choices/index.js +234 -0
  24. package/configure/lib/design/choices/index.js.map +1 -0
  25. package/configure/lib/design/header.js +83 -0
  26. package/configure/lib/design/header.js.map +1 -0
  27. package/configure/lib/design/index.js +430 -0
  28. package/configure/lib/design/index.js.map +1 -0
  29. package/configure/lib/design/input-header.js +138 -0
  30. package/configure/lib/design/input-header.js.map +1 -0
  31. package/configure/lib/index.js +115 -0
  32. package/configure/lib/index.js.map +1 -0
  33. package/configure/lib/main.js +72 -0
  34. package/configure/lib/main.js.map +1 -0
  35. package/configure/lib/utils.js +25 -0
  36. package/configure/lib/utils.js.map +1 -0
  37. package/controller/lib/defaults.js +29 -0
  38. package/controller/lib/defaults.js.map +1 -0
  39. package/controller/lib/index.js +363 -0
  40. package/controller/lib/index.js.map +1 -0
  41. package/controller/lib/utils.js +49 -0
  42. package/controller/lib/utils.js.map +1 -0
  43. package/lib/categorize/categories.js +141 -0
  44. package/lib/categorize/categories.js.map +1 -0
  45. package/lib/categorize/category.js +106 -0
  46. package/lib/categorize/category.js.map +1 -0
  47. package/lib/categorize/choice.js +189 -0
  48. package/lib/categorize/choice.js.map +1 -0
  49. package/lib/categorize/choices.js +131 -0
  50. package/lib/categorize/choices.js.map +1 -0
  51. package/lib/categorize/droppable-placeholder.js +86 -0
  52. package/lib/categorize/droppable-placeholder.js.map +1 -0
  53. package/lib/categorize/grid-content.js +78 -0
  54. package/lib/categorize/grid-content.js.map +1 -0
  55. package/lib/categorize/index.js +275 -0
  56. package/lib/categorize/index.js.map +1 -0
  57. package/lib/index.js +87 -0
  58. package/lib/index.js.map +1 -0
  59. package/package.json +2 -2
@@ -0,0 +1,430 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.Design = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _styles = require("@material-ui/core/styles");
19
+ var _classnames = _interopRequireDefault(require("classnames"));
20
+ var _configUi = require("@pie-lib/config-ui");
21
+ var _categorize = require("@pie-lib/categorize");
22
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
23
+ var _drag = require("@pie-lib/drag");
24
+ var _categories = _interopRequireDefault(require("./categories"));
25
+ var _alternateResponses = _interopRequireDefault(require("./categories/alternateResponses"));
26
+ var _choices = _interopRequireDefault(require("./choices"));
27
+ var _buttons = require("./buttons");
28
+ var _builder = require("./builder");
29
+ var _header = _interopRequireDefault(require("./header"));
30
+ var _utils = require("../utils");
31
+ 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; }
32
+ 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; }
33
+ 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); }; }
34
+ 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; } }
35
+ var dropdown = _configUi.settings.dropdown,
36
+ Panel = _configUi.settings.Panel,
37
+ toggle = _configUi.settings.toggle,
38
+ radio = _configUi.settings.radio,
39
+ numberField = _configUi.settings.numberField;
40
+ var IdProvider = _drag.uid.Provider;
41
+ var Design = /*#__PURE__*/function (_React$Component) {
42
+ (0, _inherits2["default"])(Design, _React$Component);
43
+ var _super = _createSuper(Design);
44
+ function Design(_props) {
45
+ var _this;
46
+ (0, _classCallCheck2["default"])(this, Design);
47
+ _this = _super.call(this, _props);
48
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateModel", function (props) {
49
+ var _this$props = _this.props,
50
+ model = _this$props.model,
51
+ onChange = _this$props.onChange;
52
+ var updatedModel = _objectSpread(_objectSpread({}, model), props);
53
+ updatedModel.choices = updatedModel.choices.map(function (c) {
54
+ return _objectSpread(_objectSpread({}, c), {}, {
55
+ categoryCount: _this.checkAllowMultiplePlacements(updatedModel.allowMultiplePlacementsEnabled, c)
56
+ });
57
+ });
58
+
59
+ //Ensure that there are no extra choices in correctResponse, if the user has decided that only one choice may be used.
60
+ updatedModel.correctResponse = (0, _categorize.ensureNoExtraChoicesInAnswer)(updatedModel.correctResponse || [], updatedModel.choices);
61
+
62
+ //Ensure that there are no extra choices in alternate responses, if the user has decided that only one choice may be used.
63
+ updatedModel.correctResponse = (0, _categorize.ensureNoExtraChoicesInAlternate)(updatedModel.correctResponse || [], updatedModel.choices);
64
+
65
+ //clean categories
66
+ updatedModel.categories = updatedModel.categories.map(function (c) {
67
+ return {
68
+ id: c.id,
69
+ label: c.label
70
+ };
71
+ });
72
+ updatedModel.choices = updatedModel.choices.map(function (h) {
73
+ return {
74
+ id: h.id,
75
+ content: h.content,
76
+ categoryCount: h.categoryCount
77
+ };
78
+ });
79
+ onChange(updatedModel);
80
+ });
81
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeRationale", function (rationale) {
82
+ var _this$props2 = _this.props,
83
+ model = _this$props2.model,
84
+ onChange = _this$props2.onChange;
85
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
86
+ rationale: rationale
87
+ }));
88
+ });
89
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTeacherInstructions", function (teacherInstructions) {
90
+ var _this$props3 = _this.props,
91
+ model = _this$props3.model,
92
+ onChange = _this$props3.onChange;
93
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
94
+ teacherInstructions: teacherInstructions
95
+ }));
96
+ });
97
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeFeedback", function (feedback) {
98
+ _this.updateModel({
99
+ feedback: feedback
100
+ });
101
+ });
102
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAddAlternateResponse", function () {
103
+ var correctResponse = _this.props.model.correctResponse;
104
+ _this.updateModel({
105
+ correctResponse: (correctResponse || []).map(function (cr) {
106
+ return _objectSpread(_objectSpread({}, cr), {}, {
107
+ alternateResponses: [].concat((0, _toConsumableArray2["default"])(cr.alternateResponses || []), [[]])
108
+ });
109
+ })
110
+ });
111
+ });
112
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChanged", function (prompt) {
113
+ return _this.updateModel({
114
+ prompt: prompt
115
+ });
116
+ });
117
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRemoveAlternateResponse", function (index) {
118
+ var correctResponse = _this.props.model.correctResponse;
119
+ _this.updateModel({
120
+ correctResponse: (correctResponse || []).map(function (cr) {
121
+ return _objectSpread(_objectSpread({}, cr), {}, {
122
+ alternateResponses: (cr.alternateResponses || []).filter(function (alt, altIndex) {
123
+ return altIndex !== index;
124
+ })
125
+ });
126
+ })
127
+ });
128
+ });
129
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "countChoiceInCorrectResponse", function (choice) {
130
+ var model = _this.props.model;
131
+ return (0, _categorize.countInAnswer)(choice.id, model.correctResponse);
132
+ });
133
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkAllowMultiplePlacements", function (allowMultiplePlacements, c) {
134
+ if (allowMultiplePlacements === _utils.multiplePlacements.enabled) {
135
+ return 0;
136
+ }
137
+ if (allowMultiplePlacements === _utils.multiplePlacements.disabled) {
138
+ return 1;
139
+ }
140
+ return c.categoryCount || 0;
141
+ });
142
+ _this.uid = _props.uid || _drag.uid.generateId();
143
+ return _this;
144
+ }
145
+ (0, _createClass2["default"])(Design, [{
146
+ key: "render",
147
+ value: function render() {
148
+ var _this2 = this;
149
+ var _this$props4 = this.props,
150
+ classes = _this$props4.classes,
151
+ className = _this$props4.className,
152
+ configuration = _this$props4.configuration,
153
+ imageSupport = _this$props4.imageSupport,
154
+ model = _this$props4.model,
155
+ uploadSoundSupport = _this$props4.uploadSoundSupport,
156
+ onConfigurationChanged = _this$props4.onConfigurationChanged;
157
+ var _ref = configuration || {},
158
+ _ref$allowMultiplePla = _ref.allowMultiplePlacements,
159
+ allowMultiplePlacements = _ref$allowMultiplePla === void 0 ? {} : _ref$allowMultiplePla,
160
+ _ref$allowAlternate = _ref.allowAlternate,
161
+ allowAlternate = _ref$allowAlternate === void 0 ? {} : _ref$allowAlternate,
162
+ _ref$categoriesPerRow = _ref.categoriesPerRow,
163
+ categoriesPerRow = _ref$categoriesPerRow === void 0 ? {} : _ref$categoriesPerRow,
164
+ _ref$choicesPosition = _ref.choicesPosition,
165
+ choicesPosition = _ref$choicesPosition === void 0 ? {} : _ref$choicesPosition,
166
+ _ref$feedback = _ref.feedback,
167
+ feedback = _ref$feedback === void 0 ? {} : _ref$feedback,
168
+ _ref$lockChoiceOrder = _ref.lockChoiceOrder,
169
+ lockChoiceOrder = _ref$lockChoiceOrder === void 0 ? {} : _ref$lockChoiceOrder,
170
+ _ref$maxImageHeight = _ref.maxImageHeight,
171
+ maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
172
+ _ref$maxImageWidth = _ref.maxImageWidth,
173
+ maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
174
+ _ref$minCategoriesPer = _ref.minCategoriesPerRow,
175
+ minCategoriesPerRow = _ref$minCategoriesPer === void 0 ? 1 : _ref$minCategoriesPer,
176
+ _ref$partialScoring = _ref.partialScoring,
177
+ partialScoring = _ref$partialScoring === void 0 ? {} : _ref$partialScoring,
178
+ _ref$prompt = _ref.prompt,
179
+ prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
180
+ _ref$rationale = _ref.rationale,
181
+ rationale = _ref$rationale === void 0 ? {} : _ref$rationale,
182
+ _ref$scoringType = _ref.scoringType,
183
+ scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType,
184
+ settingsPanelDisabled = _ref.settingsPanelDisabled,
185
+ _ref$spellCheck = _ref.spellCheck,
186
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
187
+ _ref$studentInstructi = _ref.studentInstructions,
188
+ studentInstructions = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
189
+ _ref$teacherInstructi = _ref.teacherInstructions,
190
+ teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
191
+ _ref$withRubric = _ref.withRubric,
192
+ withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric;
193
+ var _ref2 = model || {},
194
+ allowAlternateEnabled = _ref2.allowAlternateEnabled,
195
+ feedbackEnabled = _ref2.feedbackEnabled,
196
+ promptEnabled = _ref2.promptEnabled,
197
+ rationaleEnabled = _ref2.rationaleEnabled,
198
+ spellCheckEnabled = _ref2.spellCheckEnabled,
199
+ teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
200
+ toolbarEditorPosition = _ref2.toolbarEditorPosition;
201
+ var toolbarOpts = {
202
+ position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
203
+ };
204
+ var config = model.config || {};
205
+ config.choices = config.choices || {
206
+ label: '',
207
+ columns: 2
208
+ };
209
+ var categories = (0, _builder.buildCategories)(model.categories || [], model.choices || [], model.correctResponse || []);
210
+ var alternateResponses = (0, _builder.buildAlternateResponses)(model.categories || [], model.choices || [], model.correctResponse || []);
211
+ var choices = model.choices.map(function (c) {
212
+ c.correctResponseCount = _this2.countChoiceInCorrectResponse(c);
213
+ return c;
214
+ });
215
+ var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
216
+ var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
217
+ var panelSettings = {
218
+ partialScoring: partialScoring.settings && toggle(partialScoring.label),
219
+ lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),
220
+ categoriesPerRow: categoriesPerRow.settings && numberField(categoriesPerRow.label, {
221
+ label: categoriesPerRow.label,
222
+ min: minCategoriesPerRow,
223
+ max: 6
224
+ }),
225
+ choicesPosition: choicesPosition.settings && radio(choicesPosition.label, ['below', 'above', 'left', 'right']),
226
+ allowMultiplePlacementsEnabled: allowMultiplePlacements.settings && dropdown(allowMultiplePlacements.label, [_utils.multiplePlacements.enabled, _utils.multiplePlacements.disabled, _utils.multiplePlacements.perChoice]),
227
+ promptEnabled: prompt.settings && toggle(prompt.label),
228
+ feedbackEnabled: feedback.settings && toggle(feedback.label),
229
+ allowAlternateEnabled: allowAlternate.settings && toggle(allowAlternate.label)
230
+ };
231
+ var panelProperties = {
232
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
233
+ studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
234
+ rationaleEnabled: rationale.settings && toggle(rationale.label),
235
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
236
+ scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),
237
+ rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
238
+ };
239
+ return /*#__PURE__*/_react["default"].createElement(IdProvider, {
240
+ value: this.uid
241
+ }, /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
242
+ hideSettings: settingsPanelDisabled,
243
+ settings: /*#__PURE__*/_react["default"].createElement(Panel, {
244
+ model: model,
245
+ onChangeModel: this.updateModel,
246
+ configuration: configuration,
247
+ onChangeConfiguration: onConfigurationChanged,
248
+ groups: {
249
+ Settings: panelSettings,
250
+ Properties: panelProperties
251
+ }
252
+ })
253
+ }, /*#__PURE__*/_react["default"].createElement("div", {
254
+ className: (0, _classnames["default"])(classes.design, className)
255
+ }, promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
256
+ label: prompt.label,
257
+ className: classes.promptHolder
258
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
259
+ className: classes.prompt,
260
+ markup: model.prompt || '',
261
+ onChange: this.onPromptChanged,
262
+ imageSupport: imageSupport,
263
+ nonEmpty: false,
264
+ disableUnderline: true,
265
+ toolbarOpts: toolbarOpts,
266
+ spellCheck: spellCheckEnabled,
267
+ maxImageWidth: maxImageWidth && maxImageWidth.prompt,
268
+ maxImageHeight: maxImageHeight && maxImageHeight.prompt,
269
+ uploadSoundSupport: uploadSoundSupport,
270
+ languageCharactersProps: [{
271
+ language: 'spanish'
272
+ }, {
273
+ language: 'special'
274
+ }]
275
+ })), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
276
+ label: teacherInstructions.label,
277
+ className: classes.inputHolder
278
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
279
+ className: classes.input,
280
+ markup: model.teacherInstructions || '',
281
+ onChange: this.changeTeacherInstructions,
282
+ imageSupport: imageSupport,
283
+ nonEmpty: false,
284
+ toolbarOpts: toolbarOpts,
285
+ spellCheck: spellCheckEnabled,
286
+ maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
287
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
288
+ uploadSoundSupport: uploadSoundSupport,
289
+ languageCharactersProps: [{
290
+ language: 'spanish'
291
+ }, {
292
+ language: 'special'
293
+ }]
294
+ })), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
295
+ label: rationale.label,
296
+ className: classes.inputHolder
297
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
298
+ className: classes.input,
299
+ markup: model.rationale || '',
300
+ onChange: this.changeRationale,
301
+ imageSupport: imageSupport,
302
+ nonEmpty: false,
303
+ toolbarOpts: toolbarOpts,
304
+ spellCheck: spellCheckEnabled,
305
+ maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
306
+ maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
307
+ uploadSoundSupport: uploadSoundSupport,
308
+ languageCharactersProps: [{
309
+ language: 'spanish'
310
+ }, {
311
+ language: 'special'
312
+ }]
313
+ })), /*#__PURE__*/_react["default"].createElement(_categories["default"], {
314
+ imageSupport: imageSupport,
315
+ uploadSoundSupport: uploadSoundSupport,
316
+ model: model,
317
+ categories: categories || [],
318
+ onModelChanged: this.updateModel,
319
+ toolbarOpts: toolbarOpts,
320
+ spellCheck: spellCheckEnabled,
321
+ configuration: configuration,
322
+ defaultImageMaxWidth: defaultImageMaxWidth,
323
+ defaultImageMaxHeight: defaultImageMaxHeight
324
+ }), /*#__PURE__*/_react["default"].createElement(_choices["default"], {
325
+ imageSupport: imageSupport,
326
+ uploadSoundSupport: uploadSoundSupport,
327
+ choices: choices,
328
+ model: model,
329
+ onModelChanged: this.updateModel,
330
+ toolbarOpts: toolbarOpts,
331
+ spellCheck: spellCheckEnabled,
332
+ configuration: configuration,
333
+ defaultImageMaxWidth: defaultImageMaxWidth,
334
+ defaultImageMaxHeight: defaultImageMaxHeight
335
+ }), allowAlternateEnabled && /*#__PURE__*/_react["default"].createElement(_header["default"], {
336
+ className: classes.alternatesHeader,
337
+ label: "Alternate Responses",
338
+ buttonLabel: "ADD AN ALTERNATE RESPONSE",
339
+ onAdd: this.onAddAlternateResponse
340
+ }), allowAlternateEnabled && alternateResponses.map(function (categoriesList, index) {
341
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
342
+ key: index
343
+ }, /*#__PURE__*/_react["default"].createElement(_header["default"], {
344
+ className: classes.alternatesHeader,
345
+ variant: 'subtitle1',
346
+ label: "Alternate Response",
347
+ buttonLabel: "REMOVE ALTERNATE RESPONSE",
348
+ onAdd: function onAdd() {
349
+ return _this2.onRemoveAlternateResponse(index);
350
+ }
351
+ }), /*#__PURE__*/_react["default"].createElement(_alternateResponses["default"], {
352
+ altIndex: index,
353
+ imageSupport: imageSupport,
354
+ model: model,
355
+ configuration: configuration,
356
+ categories: categoriesList,
357
+ onModelChanged: _this2.updateModel,
358
+ uploadSoundSupport: uploadSoundSupport,
359
+ toolbarOpts: toolbarOpts,
360
+ defaultImageMaxWidth: defaultImageMaxWidth,
361
+ defaultImageMaxHeight: defaultImageMaxHeight
362
+ }));
363
+ }), allowAlternateEnabled && /*#__PURE__*/_react["default"].createElement(_buttons.Divider, null), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.FeedbackConfig, {
364
+ feedback: model.feedback,
365
+ onChange: this.changeFeedback,
366
+ toolbarOpts: toolbarOpts
367
+ }))));
368
+ }
369
+ }]);
370
+ return Design;
371
+ }(_react["default"].Component);
372
+ exports.Design = Design;
373
+ (0, _defineProperty2["default"])(Design, "propTypes", {
374
+ classes: _propTypes["default"].object.isRequired,
375
+ configuration: _propTypes["default"].object,
376
+ className: _propTypes["default"].string,
377
+ onConfigurationChanged: _propTypes["default"].func,
378
+ model: _propTypes["default"].object.isRequired,
379
+ onChange: _propTypes["default"].func.isRequired,
380
+ uid: _propTypes["default"].string,
381
+ imageSupport: _propTypes["default"].shape({
382
+ add: _propTypes["default"].func.isRequired,
383
+ "delete": _propTypes["default"].func.isRequired
384
+ }),
385
+ uploadSoundSupport: _propTypes["default"].shape({
386
+ add: _propTypes["default"].func.isRequired,
387
+ "delete": _propTypes["default"].func.isRequired
388
+ })
389
+ });
390
+ var styles = function styles(theme) {
391
+ return {
392
+ alternatesHeader: {
393
+ paddingTop: theme.spacing.unit * 2,
394
+ paddingBottom: theme.spacing.unit * 2
395
+ },
396
+ text: {
397
+ paddingTop: theme.spacing.unit * 2,
398
+ paddingBottom: theme.spacing.unit * 2
399
+ },
400
+ design: {
401
+ paddingTop: theme.spacing.unit,
402
+ paddingBottom: theme.spacing.unit
403
+ },
404
+ inputHolder: {
405
+ width: '100%',
406
+ paddingBottom: theme.spacing.unit * 2,
407
+ marginBottom: theme.spacing.unit * 2
408
+ },
409
+ input: {
410
+ paddingTop: theme.spacing.unit * 2,
411
+ width: '100%',
412
+ maxWidth: '600px'
413
+ },
414
+ prompt: {
415
+ paddingTop: theme.spacing.unit * 2,
416
+ width: '100%'
417
+ },
418
+ promptHolder: {
419
+ width: '100%',
420
+ paddingBottom: theme.spacing.unit * 2,
421
+ marginBottom: theme.spacing.unit * 2
422
+ },
423
+ title: {
424
+ marginBottom: theme.spacing.unit * 4
425
+ }
426
+ };
427
+ };
428
+ var _default = (0, _drag.withDragContext)((0, _styles.withStyles)(styles)(Design));
429
+ exports["default"] = _default;
430
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_classnames","_configUi","_categorize","_editableHtml","_drag","_categories","_alternateResponses","_choices","_buttons","_builder","_header","_utils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","dropdown","settings","Panel","toggle","radio","numberField","IdProvider","uid","Provider","Design","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","_this$props","model","onChange","updatedModel","choices","map","c","categoryCount","checkAllowMultiplePlacements","allowMultiplePlacementsEnabled","correctResponse","ensureNoExtraChoicesInAnswer","ensureNoExtraChoicesInAlternate","categories","id","label","h","content","rationale","_this$props2","teacherInstructions","_this$props3","feedback","updateModel","cr","alternateResponses","concat","_toConsumableArray2","prompt","index","alt","altIndex","choice","countInAnswer","allowMultiplePlacements","multiplePlacements","enabled","disabled","generateId","_createClass2","value","render","_this2","_this$props4","classes","className","configuration","imageSupport","uploadSoundSupport","onConfigurationChanged","_ref","_ref$allowMultiplePla","_ref$allowAlternate","allowAlternate","_ref$categoriesPerRow","categoriesPerRow","_ref$choicesPosition","choicesPosition","_ref$feedback","_ref$lockChoiceOrder","lockChoiceOrder","_ref$maxImageHeight","maxImageHeight","_ref$maxImageWidth","maxImageWidth","_ref$minCategoriesPer","minCategoriesPerRow","_ref$partialScoring","partialScoring","_ref$prompt","_ref$rationale","_ref$scoringType","scoringType","settingsPanelDisabled","_ref$spellCheck","spellCheck","_ref$studentInstructi","studentInstructions","_ref$teacherInstructi","_ref$withRubric","withRubric","_ref2","allowAlternateEnabled","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","toolbarOpts","position","config","columns","buildCategories","buildAlternateResponses","correctResponseCount","countChoiceInCorrectResponse","defaultImageMaxWidth","defaultImageMaxHeight","panelSettings","min","max","perChoice","panelProperties","studentInstructionsEnabled","rubricEnabled","createElement","layout","ConfigLayout","hideSettings","onChangeModel","onChangeConfiguration","groups","Settings","Properties","classNames","design","InputContainer","promptHolder","markup","onPromptChanged","nonEmpty","disableUnderline","languageCharactersProps","language","inputHolder","input","changeTeacherInstructions","changeRationale","onModelChanged","alternatesHeader","buttonLabel","onAdd","onAddAlternateResponse","categoriesList","Fragment","variant","onRemoveAlternateResponse","Divider","FeedbackConfig","changeFeedback","React","Component","exports","PropTypes","isRequired","string","func","shape","add","styles","theme","paddingTop","spacing","unit","paddingBottom","text","width","marginBottom","maxWidth","title","_default","withDragContext","withStyles"],"sources":["../../src/design/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { FeedbackConfig, InputContainer, layout, settings } from '@pie-lib/config-ui';\nimport { countInAnswer, ensureNoExtraChoicesInAnswer, ensureNoExtraChoicesInAlternate } from '@pie-lib/categorize';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { uid, withDragContext } from '@pie-lib/drag';\n\nimport Categories from './categories';\nimport AlternateResponses from './categories/alternateResponses';\nimport Choices from './choices';\nimport { Divider } from './buttons';\nimport { buildAlternateResponses, buildCategories } from './builder';\nimport Header from './header';\nimport { multiplePlacements } from '../utils';\n\nconst { dropdown, Panel, toggle, radio, numberField } = settings;\nconst { Provider: IdProvider } = uid;\n\nexport class Design extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n className: PropTypes.string,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n uid: PropTypes.string,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n constructor(props) {\n super(props);\n this.uid = props.uid || uid.generateId();\n }\n\n updateModel = (props) => {\n const { model, onChange } = this.props;\n\n const updatedModel = {\n ...model,\n ...props,\n };\n\n updatedModel.choices = updatedModel.choices.map((c) => ({\n ...c,\n categoryCount: this.checkAllowMultiplePlacements(updatedModel.allowMultiplePlacementsEnabled, c),\n }));\n\n //Ensure that there are no extra choices in correctResponse, if the user has decided that only one choice may be used.\n updatedModel.correctResponse = ensureNoExtraChoicesInAnswer(\n updatedModel.correctResponse || [],\n updatedModel.choices,\n );\n\n //Ensure that there are no extra choices in alternate responses, if the user has decided that only one choice may be used.\n updatedModel.correctResponse = ensureNoExtraChoicesInAlternate(\n updatedModel.correctResponse || [],\n updatedModel.choices,\n );\n\n //clean categories\n updatedModel.categories = updatedModel.categories.map((c) => ({\n id: c.id,\n label: c.label,\n }));\n\n updatedModel.choices = updatedModel.choices.map((h) => ({\n id: h.id,\n content: h.content,\n categoryCount: h.categoryCount,\n }));\n\n onChange(updatedModel);\n };\n\n changeRationale = (rationale) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n rationale,\n });\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n teacherInstructions,\n });\n };\n\n changeFeedback = (feedback) => {\n this.updateModel({ feedback });\n };\n\n onAddAlternateResponse = () => {\n const {\n model: { correctResponse },\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map((cr) => ({\n ...cr,\n alternateResponses: [...(cr.alternateResponses || []), []],\n })),\n });\n };\n\n onPromptChanged = (prompt) => this.updateModel({ prompt });\n\n onRemoveAlternateResponse = (index) => {\n const {\n model: { correctResponse },\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map((cr) => ({\n ...cr,\n alternateResponses: (cr.alternateResponses || []).filter((alt, altIndex) => altIndex !== index),\n })),\n });\n };\n\n countChoiceInCorrectResponse = (choice) => {\n const { model } = this.props;\n\n return countInAnswer(choice.id, model.correctResponse);\n };\n\n checkAllowMultiplePlacements = (allowMultiplePlacements, c) => {\n if (allowMultiplePlacements === multiplePlacements.enabled) {\n return 0;\n }\n\n if (allowMultiplePlacements === multiplePlacements.disabled) {\n return 1;\n }\n\n return c.categoryCount || 0;\n };\n\n render() {\n const {\n classes,\n className,\n configuration,\n imageSupport,\n model,\n uploadSoundSupport,\n onConfigurationChanged,\n } = this.props;\n const {\n allowMultiplePlacements = {},\n allowAlternate = {},\n categoriesPerRow = {},\n choicesPosition = {},\n feedback = {},\n lockChoiceOrder = {},\n maxImageHeight = {},\n maxImageWidth = {},\n minCategoriesPerRow = 1,\n partialScoring = {},\n prompt = {},\n rationale = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n } = configuration || {};\n const {\n allowAlternateEnabled,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const config = model.config || {};\n config.choices = config.choices || { label: '', columns: 2 };\n\n const categories = buildCategories(model.categories || [], model.choices || [], model.correctResponse || []);\n\n const alternateResponses = buildAlternateResponses(\n model.categories || [],\n model.choices || [],\n model.correctResponse || [],\n );\n\n const choices = model.choices.map((c) => {\n c.correctResponseCount = this.countChoiceInCorrectResponse(c);\n\n return c;\n });\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n categoriesPerRow:\n categoriesPerRow.settings &&\n numberField(categoriesPerRow.label, {\n label: categoriesPerRow.label,\n min: minCategoriesPerRow,\n max: 6,\n }),\n choicesPosition: choicesPosition.settings && radio(choicesPosition.label, ['below', 'above', 'left', 'right']),\n allowMultiplePlacementsEnabled:\n allowMultiplePlacements.settings &&\n dropdown(allowMultiplePlacements.label, [\n multiplePlacements.enabled,\n multiplePlacements.disabled,\n multiplePlacements.perChoice,\n ]),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n allowAlternateEnabled: allowAlternate.settings && toggle(allowAlternate.label),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <IdProvider value={this.uid}>\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={this.updateModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n <div className={classNames(classes.design, className)}>\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.inputHolder}>\n <EditableHtml\n className={classes.input}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.inputHolder}>\n <EditableHtml\n className={classes.input}\n markup={model.rationale || ''}\n onChange={this.changeRationale}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <Categories\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n model={model}\n categories={categories || []}\n onModelChanged={this.updateModel}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n configuration={configuration}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n <Choices\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n choices={choices}\n model={model}\n onModelChanged={this.updateModel}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n configuration={configuration}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n {allowAlternateEnabled && (\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Responses\"\n buttonLabel=\"ADD AN ALTERNATE RESPONSE\"\n onAdd={this.onAddAlternateResponse}\n />\n )}\n {allowAlternateEnabled &&\n alternateResponses.map((categoriesList, index) => {\n return (\n <React.Fragment key={index}>\n <Header\n className={classes.alternatesHeader}\n variant={'subtitle1'}\n label=\"Alternate Response\"\n buttonLabel=\"REMOVE ALTERNATE RESPONSE\"\n onAdd={() => this.onRemoveAlternateResponse(index)}\n />\n <AlternateResponses\n altIndex={index}\n imageSupport={imageSupport}\n model={model}\n configuration={configuration}\n categories={categoriesList}\n onModelChanged={this.updateModel}\n uploadSoundSupport={uploadSoundSupport}\n toolbarOpts={toolbarOpts}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n </React.Fragment>\n );\n })}\n {allowAlternateEnabled &&\n <Divider/>\n }\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.changeFeedback} toolbarOpts={toolbarOpts} />\n )}\n </div>\n </layout.ConfigLayout>\n </IdProvider>\n );\n }\n}\n\nconst styles = (theme) => ({\n alternatesHeader: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n text: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n design: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n },\n inputHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n input: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n maxWidth: '600px',\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n title: {\n marginBottom: theme.spacing.unit * 4,\n },\n});\n\nexport default withDragContext(withStyles(styles)(Design));\n"],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.InputHeader = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _react = _interopRequireDefault(require("react"));
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _styles = require("@material-ui/core/styles");
17
+ var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
19
+ 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); }; }
20
+ 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; } }
21
+ var InputHeader = /*#__PURE__*/function (_React$Component) {
22
+ (0, _inherits2["default"])(InputHeader, _React$Component);
23
+ var _super = _createSuper(InputHeader);
24
+ function InputHeader(props) {
25
+ (0, _classCallCheck2["default"])(this, InputHeader);
26
+ return _super.call(this, props);
27
+ }
28
+ (0, _createClass2["default"])(InputHeader, [{
29
+ key: "componentDidMount",
30
+ value: function componentDidMount() {
31
+ var _this$props = this.props,
32
+ focusedEl = _this$props.focusedEl,
33
+ index = _this$props.index;
34
+ if (focusedEl && index && focusedEl === index) {
35
+ this.inputRef.focus('end', null, true);
36
+ }
37
+ }
38
+ }, {
39
+ key: "render",
40
+ value: function render() {
41
+ var _this = this;
42
+ var _this$props2 = this.props,
43
+ onChange = _this$props2.onChange,
44
+ label = _this$props2.label,
45
+ classes = _this$props2.classes,
46
+ className = _this$props2.className,
47
+ deleteFocusedEl = _this$props2.deleteFocusedEl,
48
+ disabled = _this$props2.disabled,
49
+ imageSupport = _this$props2.imageSupport,
50
+ toolbarOpts = _this$props2.toolbarOpts,
51
+ spellCheck = _this$props2.spellCheck,
52
+ error = _this$props2.error,
53
+ maxImageWidth = _this$props2.maxImageWidth,
54
+ maxImageHeight = _this$props2.maxImageHeight,
55
+ uploadSoundSupport = _this$props2.uploadSoundSupport;
56
+ var choicePlugins = {
57
+ audio: {
58
+ disabled: true
59
+ },
60
+ video: {
61
+ disabled: true
62
+ }
63
+ };
64
+ return /*#__PURE__*/_react["default"].createElement("div", {
65
+ className: (0, _classnames["default"])(classes.inputHeader, className)
66
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
67
+ imageSupport: imageSupport,
68
+ disabled: disabled,
69
+ ref: function ref(_ref) {
70
+ return _this.inputRef = _ref;
71
+ },
72
+ autoWidthToolbar: true,
73
+ label: 'label',
74
+ markup: label,
75
+ onChange: onChange,
76
+ className: classes.editor,
77
+ pluginProps: choicePlugins,
78
+ toolbarOpts: toolbarOpts,
79
+ spellCheck: spellCheck,
80
+ error: error,
81
+ maxImageWidth: maxImageWidth,
82
+ maxImageHeight: maxImageHeight,
83
+ uploadSoundSupport: uploadSoundSupport,
84
+ languageCharactersProps: [{
85
+ language: 'spanish'
86
+ }, {
87
+ language: 'special'
88
+ }],
89
+ onDone: function onDone() {
90
+ deleteFocusedEl && deleteFocusedEl();
91
+ }
92
+ }));
93
+ }
94
+ }]);
95
+ return InputHeader;
96
+ }(_react["default"].Component);
97
+ exports.InputHeader = InputHeader;
98
+ (0, _defineProperty2["default"])(InputHeader, "propTypes", {
99
+ classes: _propTypes["default"].object.isRequired,
100
+ className: _propTypes["default"].string,
101
+ deleteFocusedEl: _propTypes["default"].func,
102
+ disabled: _propTypes["default"].bool,
103
+ focusedEl: _propTypes["default"].number,
104
+ index: _propTypes["default"].number,
105
+ label: _propTypes["default"].string,
106
+ onChange: _propTypes["default"].func,
107
+ onDelete: _propTypes["default"].func,
108
+ imageSupport: _propTypes["default"].shape({
109
+ add: _propTypes["default"].func.isRequired,
110
+ "delete": _propTypes["default"].func.isRequired
111
+ }),
112
+ uploadSoundSupport: _propTypes["default"].shape({
113
+ add: _propTypes["default"].func.isRequired,
114
+ "delete": _propTypes["default"].func.isRequired
115
+ }),
116
+ toolbarOpts: _propTypes["default"].object,
117
+ error: _propTypes["default"].string
118
+ });
119
+ (0, _defineProperty2["default"])(InputHeader, "defaultProps", {});
120
+ var styles = function styles(theme) {
121
+ return {
122
+ editor: {
123
+ flex: '1',
124
+ paddingBottom: theme.spacing.unit
125
+ },
126
+ iconButtonRoot: {
127
+ width: 'auto',
128
+ height: 'auto'
129
+ },
130
+ inputHeader: {
131
+ display: 'flex',
132
+ justifyContent: 'space-between'
133
+ }
134
+ };
135
+ };
136
+ var _default = (0, _styles.withStyles)(styles)(InputHeader);
137
+ exports["default"] = _default;
138
+ //# sourceMappingURL=input-header.js.map