@pie-element/explicit-constructed-response 3.11.7 → 3.11.8

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.
@@ -0,0 +1,1953 @@
1
+ import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_material_ui__icons, _dll_react_dom, _dll_debug} from "../../../@pie-lib/shared-module@^1.2.15/module/index.js";
2
+ import {_dll_pie_lib__editable_html} from "../../../@pie-lib/editable-html-module@^1.0.16/module/index.js";
3
+ import {_dll_pie_lib__config_ui} from "../../../@pie-lib/config-module@^1.0.16/module/index.js";
4
+ function getDefaultExportFromCjs(x) {
5
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
6
+ }
7
+ var lib$1 = {};
8
+ var interopRequireDefault = {
9
+ exports: {}
10
+ };
11
+ (function (module) {
12
+ function _interopRequireDefault(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ "default": obj
15
+ };
16
+ }
17
+ module.exports = _interopRequireDefault;
18
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
19
+ })(interopRequireDefault);
20
+ getDefaultExportFromCjs(interopRequireDefault.exports);
21
+ var classCallCheck = {
22
+ exports: {}
23
+ };
24
+ (function (module) {
25
+ function _classCallCheck(instance, Constructor) {
26
+ if (!(instance instanceof Constructor)) {
27
+ throw new TypeError("Cannot call a class as a function");
28
+ }
29
+ }
30
+ module.exports = _classCallCheck;
31
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
32
+ })(classCallCheck);
33
+ getDefaultExportFromCjs(classCallCheck.exports);
34
+ var createClass = {
35
+ exports: {}
36
+ };
37
+ (function (module) {
38
+ function _defineProperties(target, props) {
39
+ for (var i = 0; i < props.length; i++) {
40
+ var descriptor = props[i];
41
+ descriptor.enumerable = descriptor.enumerable || false;
42
+ descriptor.configurable = true;
43
+ if (("value" in descriptor)) descriptor.writable = true;
44
+ Object.defineProperty(target, descriptor.key, descriptor);
45
+ }
46
+ }
47
+ function _createClass(Constructor, protoProps, staticProps) {
48
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
49
+ if (staticProps) _defineProperties(Constructor, staticProps);
50
+ return Constructor;
51
+ }
52
+ module.exports = _createClass;
53
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
54
+ })(createClass);
55
+ getDefaultExportFromCjs(createClass.exports);
56
+ var assertThisInitialized = {
57
+ exports: {}
58
+ };
59
+ (function (module) {
60
+ function _assertThisInitialized(self) {
61
+ if (self === void 0) {
62
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
63
+ }
64
+ return self;
65
+ }
66
+ module.exports = _assertThisInitialized;
67
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
68
+ })(assertThisInitialized);
69
+ getDefaultExportFromCjs(assertThisInitialized.exports);
70
+ var inherits = {
71
+ exports: {}
72
+ };
73
+ var setPrototypeOf = {
74
+ exports: {}
75
+ };
76
+ (function (module) {
77
+ function _setPrototypeOf(o, p) {
78
+ module.exports = _setPrototypeOf = Object.setPrototypeOf || (function _setPrototypeOf(o, p) {
79
+ o.__proto__ = p;
80
+ return o;
81
+ });
82
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
83
+ return _setPrototypeOf(o, p);
84
+ }
85
+ module.exports = _setPrototypeOf;
86
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
87
+ })(setPrototypeOf);
88
+ getDefaultExportFromCjs(setPrototypeOf.exports);
89
+ (function (module) {
90
+ var setPrototypeOf$1 = setPrototypeOf.exports;
91
+ function _inherits(subClass, superClass) {
92
+ if (typeof superClass !== "function" && superClass !== null) {
93
+ throw new TypeError("Super expression must either be null or a function");
94
+ }
95
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
96
+ constructor: {
97
+ value: subClass,
98
+ writable: true,
99
+ configurable: true
100
+ }
101
+ });
102
+ if (superClass) setPrototypeOf$1(subClass, superClass);
103
+ }
104
+ module.exports = _inherits;
105
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
106
+ })(inherits);
107
+ getDefaultExportFromCjs(inherits.exports);
108
+ var possibleConstructorReturn = {
109
+ exports: {}
110
+ };
111
+ var _typeof = {
112
+ exports: {}
113
+ };
114
+ (function (module) {
115
+ function _typeof(obj) {
116
+ "@babel/helpers - typeof";
117
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
118
+ module.exports = _typeof = function _typeof(obj) {
119
+ return typeof obj;
120
+ };
121
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
122
+ } else {
123
+ module.exports = _typeof = function _typeof(obj) {
124
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
125
+ };
126
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
127
+ }
128
+ return _typeof(obj);
129
+ }
130
+ module.exports = _typeof;
131
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
132
+ })(_typeof);
133
+ getDefaultExportFromCjs(_typeof.exports);
134
+ (function (module) {
135
+ var _typeof$1 = _typeof.exports["default"];
136
+ var assertThisInitialized$1 = assertThisInitialized.exports;
137
+ function _possibleConstructorReturn(self, call) {
138
+ if (call && (_typeof$1(call) === "object" || typeof call === "function")) {
139
+ return call;
140
+ } else if (call !== void 0) {
141
+ throw new TypeError("Derived constructors may only return object or undefined");
142
+ }
143
+ return assertThisInitialized$1(self);
144
+ }
145
+ module.exports = _possibleConstructorReturn;
146
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
147
+ })(possibleConstructorReturn);
148
+ getDefaultExportFromCjs(possibleConstructorReturn.exports);
149
+ var getPrototypeOf = {
150
+ exports: {}
151
+ };
152
+ (function (module) {
153
+ function _getPrototypeOf(o) {
154
+ module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
155
+ return o.__proto__ || Object.getPrototypeOf(o);
156
+ };
157
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
158
+ return _getPrototypeOf(o);
159
+ }
160
+ module.exports = _getPrototypeOf;
161
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
162
+ })(getPrototypeOf);
163
+ getDefaultExportFromCjs(getPrototypeOf.exports);
164
+ var wrapNativeSuper = {
165
+ exports: {}
166
+ };
167
+ var isNativeFunction = {
168
+ exports: {}
169
+ };
170
+ (function (module) {
171
+ function _isNativeFunction(fn) {
172
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
173
+ }
174
+ module.exports = _isNativeFunction;
175
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
176
+ })(isNativeFunction);
177
+ getDefaultExportFromCjs(isNativeFunction.exports);
178
+ var construct = {
179
+ exports: {}
180
+ };
181
+ var isNativeReflectConstruct = {
182
+ exports: {}
183
+ };
184
+ (function (module) {
185
+ function _isNativeReflectConstruct() {
186
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
187
+ if (Reflect.construct.sham) return false;
188
+ if (typeof Proxy === "function") return true;
189
+ try {
190
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
191
+ return true;
192
+ } catch (e) {
193
+ return false;
194
+ }
195
+ }
196
+ module.exports = _isNativeReflectConstruct;
197
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
198
+ })(isNativeReflectConstruct);
199
+ getDefaultExportFromCjs(isNativeReflectConstruct.exports);
200
+ (function (module) {
201
+ var setPrototypeOf$1 = setPrototypeOf.exports;
202
+ var isNativeReflectConstruct$1 = isNativeReflectConstruct.exports;
203
+ function _construct(Parent, args, Class) {
204
+ if (isNativeReflectConstruct$1()) {
205
+ module.exports = _construct = Reflect.construct;
206
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
207
+ } else {
208
+ module.exports = _construct = function _construct(Parent, args, Class) {
209
+ var a = [null];
210
+ a.push.apply(a, args);
211
+ var Constructor = Function.bind.apply(Parent, a);
212
+ var instance = new Constructor();
213
+ if (Class) setPrototypeOf$1(instance, Class.prototype);
214
+ return instance;
215
+ };
216
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
217
+ }
218
+ return _construct.apply(null, arguments);
219
+ }
220
+ module.exports = _construct;
221
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
222
+ })(construct);
223
+ getDefaultExportFromCjs(construct.exports);
224
+ (function (module) {
225
+ var getPrototypeOf$1 = getPrototypeOf.exports;
226
+ var setPrototypeOf$1 = setPrototypeOf.exports;
227
+ var isNativeFunction$1 = isNativeFunction.exports;
228
+ var construct$1 = construct.exports;
229
+ function _wrapNativeSuper(Class) {
230
+ var _cache = typeof Map === "function" ? new Map() : undefined;
231
+ module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {
232
+ if (Class === null || !isNativeFunction$1(Class)) return Class;
233
+ if (typeof Class !== "function") {
234
+ throw new TypeError("Super expression must either be null or a function");
235
+ }
236
+ if (typeof _cache !== "undefined") {
237
+ if (_cache.has(Class)) return _cache.get(Class);
238
+ _cache.set(Class, Wrapper);
239
+ }
240
+ function Wrapper() {
241
+ return construct$1(Class, arguments, getPrototypeOf$1(this).constructor);
242
+ }
243
+ Wrapper.prototype = Object.create(Class.prototype, {
244
+ constructor: {
245
+ value: Wrapper,
246
+ enumerable: false,
247
+ writable: true,
248
+ configurable: true
249
+ }
250
+ });
251
+ return setPrototypeOf$1(Wrapper, Class);
252
+ };
253
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
254
+ return _wrapNativeSuper(Class);
255
+ }
256
+ module.exports = _wrapNativeSuper;
257
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
258
+ })(wrapNativeSuper);
259
+ getDefaultExportFromCjs(wrapNativeSuper.exports);
260
+ var defineProperty = {
261
+ exports: {}
262
+ };
263
+ (function (module) {
264
+ function _defineProperty(obj, key, value) {
265
+ if ((key in obj)) {
266
+ Object.defineProperty(obj, key, {
267
+ value: value,
268
+ enumerable: true,
269
+ configurable: true,
270
+ writable: true
271
+ });
272
+ } else {
273
+ obj[key] = value;
274
+ }
275
+ return obj;
276
+ }
277
+ module.exports = _defineProperty;
278
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
279
+ })(defineProperty);
280
+ getDefaultExportFromCjs(defineProperty.exports);
281
+ var lib = {};
282
+ Object.defineProperty(lib, "__esModule", {
283
+ value: true
284
+ });
285
+ class ModelUpdatedEvent extends CustomEvent {
286
+ constructor(update, reset = false) {
287
+ super(ModelUpdatedEvent.TYPE, {
288
+ bubbles: true,
289
+ detail: {
290
+ update,
291
+ reset
292
+ }
293
+ });
294
+ this.update = update;
295
+ this.reset = reset;
296
+ }
297
+ }
298
+ ModelUpdatedEvent.TYPE = 'model.updated';
299
+ lib.ModelUpdatedEvent = ModelUpdatedEvent;
300
+ class DeleteImageEvent extends CustomEvent {
301
+ constructor(src, done) {
302
+ super(DeleteImageEvent.TYPE, {
303
+ bubbles: true,
304
+ detail: {
305
+ src,
306
+ done
307
+ }
308
+ });
309
+ this.src = src;
310
+ this.done = done;
311
+ }
312
+ }
313
+ DeleteImageEvent.TYPE = 'delete.image';
314
+ lib.DeleteImageEvent = DeleteImageEvent;
315
+ class InsertImageEvent extends CustomEvent {
316
+ constructor(handler) {
317
+ super(InsertImageEvent.TYPE, {
318
+ bubbles: true,
319
+ detail: handler
320
+ });
321
+ this.handler = handler;
322
+ }
323
+ }
324
+ InsertImageEvent.TYPE = 'insert.image';
325
+ lib.InsertImageEvent = InsertImageEvent;
326
+ var main = {};
327
+ var toConsumableArray = {
328
+ exports: {}
329
+ };
330
+ var arrayWithoutHoles = {
331
+ exports: {}
332
+ };
333
+ var arrayLikeToArray = {
334
+ exports: {}
335
+ };
336
+ (function (module) {
337
+ function _arrayLikeToArray(arr, len) {
338
+ if (len == null || len > arr.length) len = arr.length;
339
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
340
+ arr2[i] = arr[i];
341
+ }
342
+ return arr2;
343
+ }
344
+ module.exports = _arrayLikeToArray;
345
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
346
+ })(arrayLikeToArray);
347
+ getDefaultExportFromCjs(arrayLikeToArray.exports);
348
+ (function (module) {
349
+ var arrayLikeToArray$1 = arrayLikeToArray.exports;
350
+ function _arrayWithoutHoles(arr) {
351
+ if (Array.isArray(arr)) return arrayLikeToArray$1(arr);
352
+ }
353
+ module.exports = _arrayWithoutHoles;
354
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
355
+ })(arrayWithoutHoles);
356
+ getDefaultExportFromCjs(arrayWithoutHoles.exports);
357
+ var iterableToArray = {
358
+ exports: {}
359
+ };
360
+ (function (module) {
361
+ function _iterableToArray(iter) {
362
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
363
+ }
364
+ module.exports = _iterableToArray;
365
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
366
+ })(iterableToArray);
367
+ getDefaultExportFromCjs(iterableToArray.exports);
368
+ var unsupportedIterableToArray = {
369
+ exports: {}
370
+ };
371
+ (function (module) {
372
+ var arrayLikeToArray$1 = arrayLikeToArray.exports;
373
+ function _unsupportedIterableToArray(o, minLen) {
374
+ if (!o) return;
375
+ if (typeof o === "string") return arrayLikeToArray$1(o, minLen);
376
+ var n = Object.prototype.toString.call(o).slice(8, -1);
377
+ if (n === "Object" && o.constructor) n = o.constructor.name;
378
+ if (n === "Map" || n === "Set") return Array.from(o);
379
+ if (n === "Arguments" || (/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/).test(n)) return arrayLikeToArray$1(o, minLen);
380
+ }
381
+ module.exports = _unsupportedIterableToArray;
382
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
383
+ })(unsupportedIterableToArray);
384
+ getDefaultExportFromCjs(unsupportedIterableToArray.exports);
385
+ var nonIterableSpread = {
386
+ exports: {}
387
+ };
388
+ (function (module) {
389
+ function _nonIterableSpread() {
390
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
391
+ }
392
+ module.exports = _nonIterableSpread;
393
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
394
+ })(nonIterableSpread);
395
+ getDefaultExportFromCjs(nonIterableSpread.exports);
396
+ (function (module) {
397
+ var arrayWithoutHoles$1 = arrayWithoutHoles.exports;
398
+ var iterableToArray$1 = iterableToArray.exports;
399
+ var unsupportedIterableToArray$1 = unsupportedIterableToArray.exports;
400
+ var nonIterableSpread$1 = nonIterableSpread.exports;
401
+ function _toConsumableArray(arr) {
402
+ return arrayWithoutHoles$1(arr) || iterableToArray$1(arr) || unsupportedIterableToArray$1(arr) || nonIterableSpread$1();
403
+ }
404
+ module.exports = _toConsumableArray;
405
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
406
+ })(toConsumableArray);
407
+ getDefaultExportFromCjs(toConsumableArray.exports);
408
+ var ecrToolbar = {};
409
+ const require$$8 = _dll_react;
410
+ const require$$9$3 = _dll_prop_types;
411
+ const require$$10$4 = _dll_material_ui__core_styles;
412
+ const {OutlinedInput: require$$11$4} = _dll_material_ui__core;
413
+ (function (exports) {
414
+ var _interopRequireDefault = interopRequireDefault.exports;
415
+ Object.defineProperty(exports, "__esModule", {
416
+ value: true
417
+ });
418
+ exports["default"] = exports.ECRToolbar = void 0;
419
+ var _classCallCheck2 = _interopRequireDefault(classCallCheck.exports);
420
+ var _createClass2 = _interopRequireDefault(createClass.exports);
421
+ var _assertThisInitialized2 = _interopRequireDefault(assertThisInitialized.exports);
422
+ var _inherits2 = _interopRequireDefault(inherits.exports);
423
+ var _possibleConstructorReturn2 = _interopRequireDefault(possibleConstructorReturn.exports);
424
+ var _getPrototypeOf2 = _interopRequireDefault(getPrototypeOf.exports);
425
+ var _defineProperty2 = _interopRequireDefault(defineProperty.exports);
426
+ var _react = _interopRequireDefault(require$$8);
427
+ var _propTypes = _interopRequireDefault(require$$9$3);
428
+ var _styles = require$$10$4;
429
+ var _OutlinedInput = _interopRequireDefault(require$$11$4);
430
+ function ownKeys(object, enumerableOnly) {
431
+ var keys = Object.keys(object);
432
+ if (Object.getOwnPropertySymbols) {
433
+ var symbols = Object.getOwnPropertySymbols(object);
434
+ if (enumerableOnly) {
435
+ symbols = symbols.filter(function (sym) {
436
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
437
+ });
438
+ }
439
+ keys.push.apply(keys, symbols);
440
+ }
441
+ return keys;
442
+ }
443
+ function _objectSpread(target) {
444
+ for (var i = 1; i < arguments.length; i++) {
445
+ var source = arguments[i] != null ? arguments[i] : {};
446
+ if (i % 2) {
447
+ ownKeys(Object(source), true).forEach(function (key) {
448
+ (0, _defineProperty2["default"])(target, key, source[key]);
449
+ });
450
+ } else if (Object.getOwnPropertyDescriptors) {
451
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
452
+ } else {
453
+ ownKeys(Object(source)).forEach(function (key) {
454
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
455
+ });
456
+ }
457
+ }
458
+ return target;
459
+ }
460
+ function _createSuper(Derived) {
461
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
462
+ return function _createSuperInternal() {
463
+ var Super = (0, _getPrototypeOf2["default"])(Derived), result;
464
+ if (hasNativeReflectConstruct) {
465
+ var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
466
+ result = Reflect.construct(Super, arguments, NewTarget);
467
+ } else {
468
+ result = Super.apply(this, arguments);
469
+ }
470
+ return (0, _possibleConstructorReturn2["default"])(this, result);
471
+ };
472
+ }
473
+ function _isNativeReflectConstruct() {
474
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
475
+ if (Reflect.construct.sham) return false;
476
+ if (typeof Proxy === "function") return true;
477
+ try {
478
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
479
+ return true;
480
+ } catch (e) {
481
+ return false;
482
+ }
483
+ }
484
+ var findSlateNode = function findSlateNode(key) {
485
+ return window.document.querySelector('[data-key="' + key + '"]');
486
+ };
487
+ var ECRToolbar = (function (_React$Component) {
488
+ (0, _inherits2["default"])(ECRToolbar, _React$Component);
489
+ var _super = _createSuper(ECRToolbar);
490
+ function ECRToolbar() {
491
+ var _this;
492
+ (0, _classCallCheck2["default"])(this, ECRToolbar);
493
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
494
+ args[_key] = arguments[_key];
495
+ }
496
+ _this = _super.call.apply(_super, [this].concat(args));
497
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {});
498
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
499
+ var newValue = _this.state.markup;
500
+ var _this$props = _this.props, node = _this$props.node, value = _this$props.value, onToolbarDone = _this$props.onToolbarDone, onChangeResponse = _this$props.onChangeResponse;
501
+ var update = _objectSpread(_objectSpread({}, node.data.toJSON()), {}, {
502
+ value: newValue
503
+ });
504
+ var change = value.change().setNodeByKey(node.key, {
505
+ data: update
506
+ });
507
+ var nextText = value.document.getNextText(node.key);
508
+ change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);
509
+ onToolbarDone(change, false);
510
+ onChangeResponse(newValue);
511
+ });
512
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (e) {
513
+ return _this.setState({
514
+ markup: e.target.value
515
+ });
516
+ });
517
+ return _this;
518
+ }
519
+ (0, _createClass2["default"])(ECRToolbar, [{
520
+ key: "componentDidMount",
521
+ value: function componentDidMount() {
522
+ var _this$props2 = this.props, correctChoice = _this$props2.correctChoice, node = _this$props2.node;
523
+ var choice = correctChoice || ({});
524
+ var domNode = findSlateNode(node.key);
525
+ if (domNode) {
526
+ var domNodeRect = domNode.getBoundingClientRect();
527
+ var editor = domNode.closest('[data-slate-editor]');
528
+ var editorRect = editor.getBoundingClientRect();
529
+ var top = domNodeRect.top - editorRect.top;
530
+ var left = domNodeRect.left - editorRect.left;
531
+ this.setState({
532
+ markup: choice.label,
533
+ toolbarStyle: {
534
+ position: 'absolute',
535
+ top: ("").concat(top + domNodeRect.height + 20, "px"),
536
+ left: ("").concat(left + 20, "px"),
537
+ width: domNodeRect.width
538
+ }
539
+ });
540
+ }
541
+ }
542
+ }, {
543
+ key: "render",
544
+ value: function render() {
545
+ var classes = this.props.classes;
546
+ var _this$state = this.state, markup = _this$state.markup, toolbarStyle = _this$state.toolbarStyle;
547
+ return _react["default"].createElement("div", {
548
+ style: _objectSpread(_objectSpread({}, toolbarStyle), {}, {
549
+ backgroundColor: '#E0E1E6'
550
+ })
551
+ }, _react["default"].createElement(_OutlinedInput["default"], {
552
+ style: {
553
+ width: '100%'
554
+ },
555
+ autoFocus: true,
556
+ labelWidth: 0,
557
+ classes: {
558
+ input: classes.input
559
+ },
560
+ onChange: this.onChange,
561
+ onBlur: this.onDone,
562
+ value: markup
563
+ }));
564
+ }
565
+ }]);
566
+ return ECRToolbar;
567
+ })(_react["default"].Component);
568
+ exports.ECRToolbar = ECRToolbar;
569
+ (0, _defineProperty2["default"])(ECRToolbar, "propTypes", {
570
+ correctChoice: _propTypes["default"].object,
571
+ classes: _propTypes["default"].object,
572
+ node: _propTypes["default"].object,
573
+ onDone: _propTypes["default"].func,
574
+ onChangeResponse: _propTypes["default"].func.isRequired,
575
+ onToolbarDone: _propTypes["default"].func.isRequired,
576
+ value: _propTypes["default"].shape({
577
+ change: _propTypes["default"].func.isRequired,
578
+ document: _propTypes["default"].shape({
579
+ getNextText: _propTypes["default"].func.isRequired
580
+ })
581
+ })
582
+ });
583
+ var StyledECRToolbar = (0, _styles.withStyles)({
584
+ respArea: {
585
+ backgroundColor: '#fff'
586
+ },
587
+ input: {
588
+ backgroundColor: '#fff',
589
+ padding: '10px 20px 10px 10px'
590
+ }
591
+ })(ECRToolbar);
592
+ var _default = StyledECRToolbar;
593
+ exports["default"] = _default;
594
+ })(ecrToolbar);
595
+ getDefaultExportFromCjs(ecrToolbar);
596
+ var alternateResponses = {};
597
+ var alternateSection = {};
598
+ var markupUtils = {};
599
+ const {escape: require$$1} = _dll_lodash;
600
+ var _interopRequireDefault = interopRequireDefault.exports;
601
+ Object.defineProperty(markupUtils, "__esModule", {
602
+ value: true
603
+ });
604
+ markupUtils.getAdjustedLength = markupUtils.createSlateMarkup = markupUtils.processMarkup = markupUtils.removeUnwantedCharacters = void 0;
605
+ var _escape = _interopRequireDefault(require$$1);
606
+ var removeUnwantedCharacters = function removeUnwantedCharacters(markup) {
607
+ return markup.replace(/(\t+(?!imes))|(\n)|(\\t+(?!imes))|(\\n)/g, '').replace(/\\"/g, '"').replace(/\\\//g, '/');
608
+ };
609
+ markupUtils.removeUnwantedCharacters = removeUnwantedCharacters;
610
+ var createElementFromHTML = function createElementFromHTML() {
611
+ var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
612
+ var div = document.createElement('div');
613
+ div.innerHTML = htmlString.trim();
614
+ return div;
615
+ };
616
+ var processMarkup = function processMarkup(markup) {
617
+ var newMarkup = removeUnwantedCharacters(markup || '');
618
+ var slateMarkup = createElementFromHTML(newMarkup || '');
619
+ var index = 0;
620
+ slateMarkup.querySelectorAll('[data-type="explicit_constructed_response"]').forEach(function (s) {
621
+ s.replaceWith(("{{").concat(index++, "}}"));
622
+ });
623
+ return slateMarkup.innerHTML;
624
+ };
625
+ markupUtils.processMarkup = processMarkup;
626
+ var REGEX = /\{\{(\d+)\}\}/g;
627
+ var createSlateMarkup = function createSlateMarkup(markup, choices) {
628
+ if (!markup) {
629
+ return '';
630
+ }
631
+ var newMarkup = removeUnwantedCharacters(markup);
632
+ return newMarkup.replace(REGEX, function (match, g) {
633
+ var label = choices[g][0].label || '';
634
+ return ("<span data-type=\"explicit_constructed_response\" data-index=\"").concat(g, "\" data-value=\"").concat((0, _escape["default"])(label), "\"></span>");
635
+ });
636
+ };
637
+ markupUtils.createSlateMarkup = createSlateMarkup;
638
+ var getAdjustedLength = function getAdjustedLength(length) {
639
+ if (length <= 2) {
640
+ return length + 2;
641
+ }
642
+ if (length <= 4) {
643
+ return length + 3;
644
+ }
645
+ if (length <= 6) {
646
+ return length + 4;
647
+ }
648
+ return length + 5;
649
+ };
650
+ markupUtils.getAdjustedLength = getAdjustedLength;
651
+ const require$$9$2 = _dll_react;
652
+ const require$$10$3 = _dll_prop_types;
653
+ const {debounce: require$$11$3} = _dll_lodash;
654
+ const {isEqual: require$$12$3} = _dll_lodash;
655
+ const {max: require$$22} = _dll_lodash;
656
+ const {OutlinedInput: require$$13$3} = _dll_material_ui__core;
657
+ const {Button: require$$14$2} = _dll_material_ui__core;
658
+ const {IconButton: require$$16$1} = _dll_material_ui__core;
659
+ const {MenuItem: require$$17$1} = _dll_material_ui__core;
660
+ const {Select: require$$18} = _dll_material_ui__core;
661
+ const {TextField: require$$19} = _dll_material_ui__core;
662
+ const {Delete: require$$15$1} = _dll_material_ui__icons;
663
+ const require$$20 = _dll_material_ui__core_styles;
664
+ (function (exports) {
665
+ var _interopRequireDefault = interopRequireDefault.exports;
666
+ Object.defineProperty(exports, "__esModule", {
667
+ value: true
668
+ });
669
+ exports["default"] = exports.AlternateSection = exports.Choice = void 0;
670
+ var _toConsumableArray2 = _interopRequireDefault(toConsumableArray.exports);
671
+ var _classCallCheck2 = _interopRequireDefault(classCallCheck.exports);
672
+ var _createClass2 = _interopRequireDefault(createClass.exports);
673
+ var _assertThisInitialized2 = _interopRequireDefault(assertThisInitialized.exports);
674
+ var _inherits2 = _interopRequireDefault(inherits.exports);
675
+ var _possibleConstructorReturn2 = _interopRequireDefault(possibleConstructorReturn.exports);
676
+ var _getPrototypeOf2 = _interopRequireDefault(getPrototypeOf.exports);
677
+ var _defineProperty2 = _interopRequireDefault(defineProperty.exports);
678
+ var _react = _interopRequireDefault(require$$9$2);
679
+ var _propTypes = _interopRequireDefault(require$$10$3);
680
+ var _debounce = _interopRequireDefault(require$$11$3);
681
+ var _isEqual = _interopRequireDefault(require$$12$3);
682
+ var _OutlinedInput = _interopRequireDefault(require$$13$3);
683
+ var _Button = _interopRequireDefault(require$$14$2);
684
+ var _Delete = _interopRequireDefault(require$$15$1);
685
+ var _IconButton = _interopRequireDefault(require$$16$1);
686
+ var _MenuItem = _interopRequireDefault(require$$17$1);
687
+ var _Select = _interopRequireDefault(require$$18);
688
+ var _TextField = _interopRequireDefault(require$$19);
689
+ var _styles = require$$20;
690
+ var _markupUtils = markupUtils;
691
+ var _max = _interopRequireDefault(require$$22);
692
+ function ownKeys(object, enumerableOnly) {
693
+ var keys = Object.keys(object);
694
+ if (Object.getOwnPropertySymbols) {
695
+ var symbols = Object.getOwnPropertySymbols(object);
696
+ if (enumerableOnly) {
697
+ symbols = symbols.filter(function (sym) {
698
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
699
+ });
700
+ }
701
+ keys.push.apply(keys, symbols);
702
+ }
703
+ return keys;
704
+ }
705
+ function _objectSpread(target) {
706
+ for (var i = 1; i < arguments.length; i++) {
707
+ var source = arguments[i] != null ? arguments[i] : {};
708
+ if (i % 2) {
709
+ ownKeys(Object(source), true).forEach(function (key) {
710
+ (0, _defineProperty2["default"])(target, key, source[key]);
711
+ });
712
+ } else if (Object.getOwnPropertyDescriptors) {
713
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
714
+ } else {
715
+ ownKeys(Object(source)).forEach(function (key) {
716
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
717
+ });
718
+ }
719
+ }
720
+ return target;
721
+ }
722
+ function _createSuper(Derived) {
723
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
724
+ return function _createSuperInternal() {
725
+ var Super = (0, _getPrototypeOf2["default"])(Derived), result;
726
+ if (hasNativeReflectConstruct) {
727
+ var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
728
+ result = Reflect.construct(Super, arguments, NewTarget);
729
+ } else {
730
+ result = Super.apply(this, arguments);
731
+ }
732
+ return (0, _possibleConstructorReturn2["default"])(this, result);
733
+ };
734
+ }
735
+ function _isNativeReflectConstruct() {
736
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
737
+ if (Reflect.construct.sham) return false;
738
+ if (typeof Proxy === "function") return true;
739
+ try {
740
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
741
+ return true;
742
+ } catch (e) {
743
+ return false;
744
+ }
745
+ }
746
+ var styles = function styles() {
747
+ return {
748
+ altChoices: {
749
+ alignItems: 'flex-start',
750
+ flexDirection: 'column',
751
+ display: 'flex',
752
+ padding: '20px 0 0 0',
753
+ '& > *': {
754
+ marginBottom: '20px',
755
+ width: '100%'
756
+ }
757
+ },
758
+ choice: {
759
+ flex: '1',
760
+ marginRight: '20px'
761
+ },
762
+ deleteBtn: {
763
+ fill: 'gray'
764
+ },
765
+ selectContainer: {
766
+ alignItems: 'flex-end',
767
+ display: 'flex',
768
+ justifyContent: 'space-between',
769
+ width: '100%'
770
+ },
771
+ rightContainer: {
772
+ alignItems: 'center',
773
+ display: 'flex'
774
+ },
775
+ lengthField: {
776
+ width: '230px',
777
+ marginRight: '20px'
778
+ }
779
+ };
780
+ };
781
+ var Choice = (function (_React$Component) {
782
+ (0, _inherits2["default"])(Choice, _React$Component);
783
+ var _super = _createSuper(Choice);
784
+ function Choice() {
785
+ var _this;
786
+ (0, _classCallCheck2["default"])(this, Choice);
787
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
788
+ args[_key] = arguments[_key];
789
+ }
790
+ _this = _super.call.apply(_super, [this].concat(args));
791
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
792
+ value: _this.props.markup
793
+ });
794
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateText", (0, _debounce["default"])(_this.props.onChange, 300));
795
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (e) {
796
+ var value = e.target.value;
797
+ _this.setState({
798
+ value: value
799
+ });
800
+ _this.updateText(value);
801
+ });
802
+ return _this;
803
+ }
804
+ (0, _createClass2["default"])(Choice, [{
805
+ key: "UNSAFE_componentWillReceiveProps",
806
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
807
+ if (nextProps.markup) {
808
+ this.setState({
809
+ value: nextProps.markup
810
+ });
811
+ }
812
+ }
813
+ }, {
814
+ key: "render",
815
+ value: function render() {
816
+ var value = this.state.value;
817
+ var _this$props = this.props, classes = _this$props.classes, onDelete = _this$props.onDelete;
818
+ return _react["default"].createElement("div", {
819
+ style: {
820
+ alignItems: 'center',
821
+ display: 'flex',
822
+ justifyContent: 'space-between'
823
+ }
824
+ }, _react["default"].createElement(_OutlinedInput["default"], {
825
+ className: classes.choice,
826
+ value: value,
827
+ onChange: this.onChange,
828
+ labelWidth: 0,
829
+ disableUnderline: true
830
+ }), _react["default"].createElement(_IconButton["default"], {
831
+ "aria-label": "delete",
832
+ className: classes.deleteBtn,
833
+ onClick: onDelete
834
+ }, _react["default"].createElement(_Delete["default"], null)));
835
+ }
836
+ }]);
837
+ return Choice;
838
+ })(_react["default"].Component);
839
+ exports.Choice = Choice;
840
+ (0, _defineProperty2["default"])(Choice, "propTypes", {
841
+ classes: _propTypes["default"].object,
842
+ markup: _propTypes["default"].string,
843
+ onChange: _propTypes["default"].func.isRequired,
844
+ onDelete: _propTypes["default"].func.isRequired,
845
+ value: _propTypes["default"].string
846
+ });
847
+ var AlternateSection = (function (_React$Component2) {
848
+ (0, _inherits2["default"])(AlternateSection, _React$Component2);
849
+ var _super2 = _createSuper(AlternateSection);
850
+ function AlternateSection() {
851
+ var _this2;
852
+ (0, _classCallCheck2["default"])(this, AlternateSection);
853
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
854
+ args[_key2] = arguments[_key2];
855
+ }
856
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
857
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "state", {});
858
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "updateChoicesIfNeeded", function (props) {
859
+ if (!_this2.state.choices || !(0, _isEqual["default"])(props.choices, _this2.state.choices) || !(0, _isEqual["default"])(props.choices, _this2.props.choices)) {
860
+ _this2.setState({
861
+ choices: props.choices
862
+ });
863
+ }
864
+ });
865
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleSelect", function (e) {
866
+ var _this2$props = _this2.props, onSelect = _this2$props.onSelect, selectChoices = _this2$props.selectChoices;
867
+ var value = e.target.value;
868
+ onSelect(selectChoices.find(function (c) {
869
+ return c.value === value;
870
+ }));
871
+ });
872
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onAddChoice", function () {
873
+ var choices = _this2.state.choices;
874
+ if (choices.length && choices[choices.length - 1].label !== '') {
875
+ var value = (0, _max["default"])(choices.map(function (c) {
876
+ return parseInt(c.value);
877
+ }).filter(function (id) {
878
+ return !isNaN(id);
879
+ })) || 0;
880
+ _this2.setState({
881
+ choices: [].concat((0, _toConsumableArray2["default"])(choices), [{
882
+ value: ("").concat(value + 1),
883
+ label: ''
884
+ }])
885
+ });
886
+ }
887
+ });
888
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onChoiceChanged", function (choice, value, index) {
889
+ var _this2$props2 = _this2.props, choiceChanged = _this2$props2.choiceChanged, lengthChanged = _this2$props2.lengthChanged, maxLength = _this2$props2.maxLength, choices = _this2$props2.choices;
890
+ var labelLengthsArr = choices.map(function (choice) {
891
+ return (choice.label || '').length;
892
+ });
893
+ labelLengthsArr[index] = value.length;
894
+ var newLength = (0, _markupUtils.getAdjustedLength)(Math.max.apply(Math, (0, _toConsumableArray2["default"])(labelLengthsArr)));
895
+ choiceChanged(_objectSpread(_objectSpread({}, choice), {}, {
896
+ label: value
897
+ }));
898
+ if (newLength > maxLength || newLength + 10 < maxLength) {
899
+ lengthChanged(newLength);
900
+ }
901
+ });
902
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onRemoveChoice", function (choice) {
903
+ var choiceRemoved = _this2.props.choiceRemoved;
904
+ choiceRemoved(choice.value);
905
+ });
906
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "getChoicesMaxLength", function () {
907
+ var choices = _this2.state.choices;
908
+ if (!choices) {
909
+ return 1;
910
+ }
911
+ var labelLengthsArr = choices.map(function (choice) {
912
+ return (choice.label || '').length;
913
+ });
914
+ return (0, _markupUtils.getAdjustedLength)(Math.max.apply(Math, (0, _toConsumableArray2["default"])(labelLengthsArr)));
915
+ });
916
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "changeLength", function (event) {
917
+ var lengthChanged = _this2.props.lengthChanged;
918
+ var numberValue = parseInt(event.target.value, 10);
919
+ var minLength = _this2.getChoicesMaxLength();
920
+ if (numberValue && numberValue >= minLength && numberValue <= minLength + 10) {
921
+ lengthChanged(numberValue);
922
+ }
923
+ });
924
+ return _this2;
925
+ }
926
+ (0, _createClass2["default"])(AlternateSection, [{
927
+ key: "UNSAFE_componentWillReceiveProps",
928
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
929
+ this.updateChoicesIfNeeded(nextProps);
930
+ }
931
+ }, {
932
+ key: "componentDidMount",
933
+ value: function componentDidMount() {
934
+ this.updateChoicesIfNeeded(this.props);
935
+ }
936
+ }, {
937
+ key: "render",
938
+ value: function render() {
939
+ var _this3 = this;
940
+ var _this$props2 = this.props, classes = _this$props2.classes, selectChoices = _this$props2.selectChoices, maxLength = _this$props2.maxLength, showMaxLength = _this$props2.showMaxLength, value = _this$props2.value;
941
+ var choices = this.state.choices;
942
+ var minLength = this.getChoicesMaxLength();
943
+ return _react["default"].createElement("div", {
944
+ className: classes.design
945
+ }, _react["default"].createElement("div", {
946
+ className: classes.selectContainer
947
+ }, _react["default"].createElement(_Select["default"], {
948
+ className: classes.select,
949
+ displayEmpty: true,
950
+ onChange: this.handleSelect,
951
+ value: value || '',
952
+ readOnly: showMaxLength
953
+ }, _react["default"].createElement(_MenuItem["default"], {
954
+ value: ""
955
+ }, _react["default"].createElement("em", null, value ? 'Remove selection' : 'Select a response')), selectChoices.map(function (c, index) {
956
+ return _react["default"].createElement(_MenuItem["default"], {
957
+ key: index,
958
+ value: c.value
959
+ }, c.label);
960
+ })), choices && choices.length > 0 && _react["default"].createElement("div", {
961
+ className: classes.rightContainer
962
+ }, maxLength && showMaxLength && _react["default"].createElement(_TextField["default"], {
963
+ className: classes.lengthField,
964
+ label: "Maximum length (characters)",
965
+ type: "number",
966
+ inputProps: {
967
+ min: minLength,
968
+ max: minLength + 10
969
+ },
970
+ value: maxLength,
971
+ onChange: this.changeLength
972
+ }), _react["default"].createElement(_Button["default"], {
973
+ className: classes.addButton,
974
+ variant: "contained",
975
+ color: "primary",
976
+ onClick: this.onAddChoice
977
+ }, "Add"))), _react["default"].createElement("div", {
978
+ className: classes.altChoices
979
+ }, choices && choices.map(function (c, index) {
980
+ return index > 0 && _react["default"].createElement(Choice, {
981
+ key: index,
982
+ classes: classes,
983
+ markup: c.label,
984
+ onChange: function onChange(val) {
985
+ return _this3.onChoiceChanged(c, val, index);
986
+ },
987
+ onDelete: function onDelete() {
988
+ return _this3.onRemoveChoice(c);
989
+ }
990
+ });
991
+ })));
992
+ }
993
+ }]);
994
+ return AlternateSection;
995
+ })(_react["default"].Component);
996
+ exports.AlternateSection = AlternateSection;
997
+ (0, _defineProperty2["default"])(AlternateSection, "propTypes", {
998
+ choices: _propTypes["default"].array,
999
+ selectChoices: _propTypes["default"].array.isRequired,
1000
+ classes: _propTypes["default"].object.isRequired,
1001
+ onSelect: _propTypes["default"].func.isRequired,
1002
+ choiceChanged: _propTypes["default"].func.isRequired,
1003
+ lengthChanged: _propTypes["default"].func,
1004
+ choiceRemoved: _propTypes["default"].func.isRequired,
1005
+ value: _propTypes["default"].string,
1006
+ maxLength: _propTypes["default"].number,
1007
+ showMaxLength: _propTypes["default"].bool
1008
+ });
1009
+ var Styled = (0, _styles.withStyles)(styles)(AlternateSection);
1010
+ var _default = Styled;
1011
+ exports["default"] = _default;
1012
+ })(alternateSection);
1013
+ getDefaultExportFromCjs(alternateSection);
1014
+ const require$$9$1 = _dll_react;
1015
+ const require$$10$2 = _dll_prop_types;
1016
+ const {isEqual: require$$11$2} = _dll_lodash;
1017
+ const {map: require$$12$2} = _dll_lodash;
1018
+ const {reduce: require$$13$2} = _dll_lodash;
1019
+ const {cloneDeep: require$$14$1} = _dll_lodash;
1020
+ (function (exports) {
1021
+ var _interopRequireDefault = interopRequireDefault.exports;
1022
+ Object.defineProperty(exports, "__esModule", {
1023
+ value: true
1024
+ });
1025
+ exports["default"] = exports.AlternateResponses = void 0;
1026
+ var _toConsumableArray2 = _interopRequireDefault(toConsumableArray.exports);
1027
+ var _classCallCheck2 = _interopRequireDefault(classCallCheck.exports);
1028
+ var _createClass2 = _interopRequireDefault(createClass.exports);
1029
+ var _assertThisInitialized2 = _interopRequireDefault(assertThisInitialized.exports);
1030
+ var _inherits2 = _interopRequireDefault(inherits.exports);
1031
+ var _possibleConstructorReturn2 = _interopRequireDefault(possibleConstructorReturn.exports);
1032
+ var _getPrototypeOf2 = _interopRequireDefault(getPrototypeOf.exports);
1033
+ var _defineProperty2 = _interopRequireDefault(defineProperty.exports);
1034
+ var _react = _interopRequireDefault(require$$9$1);
1035
+ var _propTypes = _interopRequireDefault(require$$10$2);
1036
+ var _isEqual = _interopRequireDefault(require$$11$2);
1037
+ var _map = _interopRequireDefault(require$$12$2);
1038
+ var _reduce = _interopRequireDefault(require$$13$2);
1039
+ var _cloneDeep = _interopRequireDefault(require$$14$1);
1040
+ var _alternateSection = _interopRequireDefault(alternateSection);
1041
+ function ownKeys(object, enumerableOnly) {
1042
+ var keys = Object.keys(object);
1043
+ if (Object.getOwnPropertySymbols) {
1044
+ var symbols = Object.getOwnPropertySymbols(object);
1045
+ if (enumerableOnly) {
1046
+ symbols = symbols.filter(function (sym) {
1047
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1048
+ });
1049
+ }
1050
+ keys.push.apply(keys, symbols);
1051
+ }
1052
+ return keys;
1053
+ }
1054
+ function _objectSpread(target) {
1055
+ for (var i = 1; i < arguments.length; i++) {
1056
+ var source = arguments[i] != null ? arguments[i] : {};
1057
+ if (i % 2) {
1058
+ ownKeys(Object(source), true).forEach(function (key) {
1059
+ (0, _defineProperty2["default"])(target, key, source[key]);
1060
+ });
1061
+ } else if (Object.getOwnPropertyDescriptors) {
1062
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1063
+ } else {
1064
+ ownKeys(Object(source)).forEach(function (key) {
1065
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1066
+ });
1067
+ }
1068
+ }
1069
+ return target;
1070
+ }
1071
+ function _createSuper(Derived) {
1072
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
1073
+ return function _createSuperInternal() {
1074
+ var Super = (0, _getPrototypeOf2["default"])(Derived), result;
1075
+ if (hasNativeReflectConstruct) {
1076
+ var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
1077
+ result = Reflect.construct(Super, arguments, NewTarget);
1078
+ } else {
1079
+ result = Super.apply(this, arguments);
1080
+ }
1081
+ return (0, _possibleConstructorReturn2["default"])(this, result);
1082
+ };
1083
+ }
1084
+ function _isNativeReflectConstruct() {
1085
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
1086
+ if (Reflect.construct.sham) return false;
1087
+ if (typeof Proxy === "function") return true;
1088
+ try {
1089
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
1090
+ return true;
1091
+ } catch (e) {
1092
+ return false;
1093
+ }
1094
+ }
1095
+ var AlternateResponses = (function (_React$Component) {
1096
+ (0, _inherits2["default"])(AlternateResponses, _React$Component);
1097
+ var _super = _createSuper(AlternateResponses);
1098
+ function AlternateResponses() {
1099
+ var _this;
1100
+ (0, _classCallCheck2["default"])(this, AlternateResponses);
1101
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1102
+ args[_key] = arguments[_key];
1103
+ }
1104
+ _this = _super.call.apply(_super, [this].concat(args));
1105
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
1106
+ maxLengthPerChoice: (0, _cloneDeep["default"])(_this.props.model.maxLengthPerChoice)
1107
+ });
1108
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateChoicesIfNeeded", function (props) {
1109
+ if (!_this.state.choices || !(0, _isEqual["default"])(_this.state.choices, props.model.choices) || !(0, _isEqual["default"])(props.model.choices, _this.props.model.choices) || _this.state.values && Object.keys(_this.state.values).length !== Object.keys(_this.props.model.choices).length || props.maxLengthPerChoiceEnabled !== _this.props.maxLengthPerChoiceEnabled) {
1110
+ var _props$model = props.model, choices = _props$model.choices, maxLengthPerChoice = _props$model.maxLengthPerChoice;
1111
+ var selectedValues = (0, _reduce["default"])(choices, function (obj, c, key) {
1112
+ if (c && (props.maxLengthPerChoiceEnabled || c.length > 1)) {
1113
+ obj[key] = c[0];
1114
+ }
1115
+ return obj;
1116
+ }, {});
1117
+ _this.setState({
1118
+ choices: props.model.choices,
1119
+ values: selectedValues,
1120
+ maxLengthPerChoice: (0, _cloneDeep["default"])(maxLengthPerChoice)
1121
+ });
1122
+ }
1123
+ });
1124
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getRemainingChoices", function (valueKey) {
1125
+ var choices = _this.state.choices;
1126
+ return (0, _reduce["default"])(choices, function (arr, c, key) {
1127
+ if (c && c.length === 1 && !valueKey) {
1128
+ arr.push({
1129
+ label: c[0].label,
1130
+ value: key
1131
+ });
1132
+ }
1133
+ return arr;
1134
+ }, []);
1135
+ });
1136
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChoiceChanged", function (choice, key) {
1137
+ var onChange = _this.props.onChange;
1138
+ var choices = _this.state.choices;
1139
+ var sectionChoices = choices[key] || [];
1140
+ var isNew = !sectionChoices.find(function (c) {
1141
+ return c.value === choice.value;
1142
+ });
1143
+ var newChoices = sectionChoices.reduce(function (arr, c) {
1144
+ var newVal = c.value === choice.value ? choice : c;
1145
+ arr.push(newVal);
1146
+ return arr;
1147
+ }, []);
1148
+ if (isNew) {
1149
+ newChoices.push(choice);
1150
+ }
1151
+ onChange(_objectSpread(_objectSpread({}, choices), {}, (0, _defineProperty2["default"])({}, key, newChoices)));
1152
+ });
1153
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChoiceRemoved", function (value, section) {
1154
+ var onChange = _this.props.onChange;
1155
+ var choices = _this.state.choices;
1156
+ var sectionChoices = choices[section] || [];
1157
+ var newChoices = sectionChoices.reduce(function (arr, c) {
1158
+ if (c.value === value) {
1159
+ return arr;
1160
+ }
1161
+ arr.push(c);
1162
+ return arr;
1163
+ }, []);
1164
+ onChange(_objectSpread(_objectSpread({}, choices), {}, (0, _defineProperty2["default"])({}, section, newChoices)));
1165
+ });
1166
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onSectionSelect", function (choice, key) {
1167
+ var onChange = _this.props.onChange;
1168
+ var _this$state = _this.state, choices = _this$state.choices, values = _this$state.values;
1169
+ if (choices[key] && choices[key].length > 1) {
1170
+ if (!choice) {
1171
+ onChange(_objectSpread(_objectSpread({}, choices), {}, (0, _defineProperty2["default"])({}, key, [choices[key][0]])));
1172
+ }
1173
+ } else {
1174
+ _this.setState({
1175
+ choices: _objectSpread(_objectSpread({}, choices), {}, (0, _defineProperty2["default"])({}, key, [].concat((0, _toConsumableArray2["default"])(choices[key]), [{
1176
+ label: '',
1177
+ value: '1'
1178
+ }]))),
1179
+ values: _objectSpread(_objectSpread({}, values), {}, (0, _defineProperty2["default"])({}, key, choices[key][0]))
1180
+ });
1181
+ }
1182
+ });
1183
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLengthChanged", function (value, key) {
1184
+ var _this$props = _this.props, model = _this$props.model, onLengthChange = _this$props.onLengthChange;
1185
+ var maxLengthPerChoice = model.maxLengthPerChoice;
1186
+ maxLengthPerChoice[key] = value;
1187
+ onLengthChange(maxLengthPerChoice);
1188
+ });
1189
+ return _this;
1190
+ }
1191
+ (0, _createClass2["default"])(AlternateResponses, [{
1192
+ key: "UNSAFE_componentWillReceiveProps",
1193
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
1194
+ this.updateChoicesIfNeeded(nextProps);
1195
+ }
1196
+ }, {
1197
+ key: "componentDidMount",
1198
+ value: function componentDidMount() {
1199
+ this.updateChoicesIfNeeded(this.props);
1200
+ }
1201
+ }, {
1202
+ key: "render",
1203
+ value: function render() {
1204
+ var _this2 = this;
1205
+ var choices = this.state.choices;
1206
+ var _this$props$model = this.props.model, maxLengthPerChoice = _this$props$model.maxLengthPerChoice, maxLengthPerChoiceEnabled = _this$props$model.maxLengthPerChoiceEnabled;
1207
+ return _react["default"].createElement("div", null, (0, _map["default"])(choices, function (c, key) {
1208
+ if (c && (maxLengthPerChoiceEnabled || c.length > 1)) {
1209
+ var selected = _this2.state.values[key];
1210
+ return _react["default"].createElement(_alternateSection["default"], {
1211
+ key: key,
1212
+ value: selected && selected.value,
1213
+ onSelect: function onSelect(choice) {
1214
+ return _this2.onSectionSelect(choice, key);
1215
+ },
1216
+ choiceChanged: function choiceChanged(choice) {
1217
+ return _this2.onChoiceChanged(choice, key);
1218
+ },
1219
+ choiceRemoved: function choiceRemoved(value) {
1220
+ return _this2.onChoiceRemoved(value, key);
1221
+ },
1222
+ lengthChanged: function lengthChanged(value) {
1223
+ return _this2.onLengthChanged(value, key);
1224
+ },
1225
+ selectChoices: [selected],
1226
+ choices: c,
1227
+ maxLength: maxLengthPerChoice[key],
1228
+ showMaxLength: maxLengthPerChoiceEnabled
1229
+ });
1230
+ }
1231
+ }), choices && Object.keys(this.state.values).length !== Object.keys(choices).length && _react["default"].createElement(_alternateSection["default"], {
1232
+ value: "",
1233
+ onSelect: function onSelect(choice) {
1234
+ return _this2.onSectionSelect(choice, choice.value);
1235
+ },
1236
+ choiceChanged: function choiceChanged(choice) {
1237
+ return _this2.onChoiceChanged(choice);
1238
+ },
1239
+ choiceRemoved: function choiceRemoved(value) {
1240
+ return _this2.onChoiceRemoved(value);
1241
+ },
1242
+ selectChoices: this.getRemainingChoices()
1243
+ }));
1244
+ }
1245
+ }]);
1246
+ return AlternateResponses;
1247
+ })(_react["default"].Component);
1248
+ exports.AlternateResponses = AlternateResponses;
1249
+ (0, _defineProperty2["default"])(AlternateResponses, "propTypes", {
1250
+ model: _propTypes["default"].object.isRequired,
1251
+ onChange: _propTypes["default"].func.isRequired,
1252
+ onLengthChange: _propTypes["default"].func.isRequired,
1253
+ maxLengthPerChoiceEnabled: _propTypes["default"].bool.isRequired
1254
+ });
1255
+ var _default = AlternateResponses;
1256
+ exports["default"] = _default;
1257
+ })(alternateResponses);
1258
+ getDefaultExportFromCjs(alternateResponses);
1259
+ const require$$10$1 = _dll_react;
1260
+ const require$$11$1 = _dll_prop_types;
1261
+ const {cloneDeep: require$$12$1} = _dll_lodash;
1262
+ const {isEmpty: require$$13$1} = _dll_lodash;
1263
+ const require$$16 = _dll_material_ui__core_styles;
1264
+ const {Typography: require$$17} = _dll_material_ui__core;
1265
+ const require$$14 = _dll_pie_lib__editable_html;
1266
+ const require$$15 = _dll_pie_lib__config_ui;
1267
+ (function (exports) {
1268
+ var _interopRequireDefault = interopRequireDefault.exports;
1269
+ var _typeof$1 = _typeof.exports;
1270
+ Object.defineProperty(exports, "__esModule", {
1271
+ value: true
1272
+ });
1273
+ exports["default"] = exports.Main = void 0;
1274
+ var _toConsumableArray2 = _interopRequireDefault(toConsumableArray.exports);
1275
+ var _classCallCheck2 = _interopRequireDefault(classCallCheck.exports);
1276
+ var _createClass2 = _interopRequireDefault(createClass.exports);
1277
+ var _assertThisInitialized2 = _interopRequireDefault(assertThisInitialized.exports);
1278
+ var _inherits2 = _interopRequireDefault(inherits.exports);
1279
+ var _possibleConstructorReturn2 = _interopRequireDefault(possibleConstructorReturn.exports);
1280
+ var _getPrototypeOf2 = _interopRequireDefault(getPrototypeOf.exports);
1281
+ var _defineProperty2 = _interopRequireDefault(defineProperty.exports);
1282
+ var _react = _interopRequireDefault(require$$10$1);
1283
+ var _propTypes = _interopRequireDefault(require$$11$1);
1284
+ var _cloneDeep = _interopRequireDefault(require$$12$1);
1285
+ var _isEmpty = _interopRequireDefault(require$$13$1);
1286
+ var _editableHtml = _interopRequireWildcard(require$$14);
1287
+ var _configUi = require$$15;
1288
+ var _styles = require$$16;
1289
+ var _Typography = _interopRequireDefault(require$$17);
1290
+ var _ecrToolbar = _interopRequireDefault(ecrToolbar);
1291
+ var _alternateResponses = _interopRequireDefault(alternateResponses);
1292
+ var _markupUtils = markupUtils;
1293
+ function _getRequireWildcardCache(nodeInterop) {
1294
+ if (typeof WeakMap !== "function") return null;
1295
+ var cacheBabelInterop = new WeakMap();
1296
+ var cacheNodeInterop = new WeakMap();
1297
+ return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
1298
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
1299
+ })(nodeInterop);
1300
+ }
1301
+ function _interopRequireWildcard(obj, nodeInterop) {
1302
+ if (!nodeInterop && obj && obj.__esModule) {
1303
+ return obj;
1304
+ }
1305
+ if (obj === null || _typeof$1(obj) !== "object" && typeof obj !== "function") {
1306
+ return {
1307
+ "default": obj
1308
+ };
1309
+ }
1310
+ var cache = _getRequireWildcardCache(nodeInterop);
1311
+ if (cache && cache.has(obj)) {
1312
+ return cache.get(obj);
1313
+ }
1314
+ var newObj = {};
1315
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
1316
+ for (var key in obj) {
1317
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
1318
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
1319
+ if (desc && (desc.get || desc.set)) {
1320
+ Object.defineProperty(newObj, key, desc);
1321
+ } else {
1322
+ newObj[key] = obj[key];
1323
+ }
1324
+ }
1325
+ }
1326
+ newObj["default"] = obj;
1327
+ if (cache) {
1328
+ cache.set(obj, newObj);
1329
+ }
1330
+ return newObj;
1331
+ }
1332
+ function ownKeys(object, enumerableOnly) {
1333
+ var keys = Object.keys(object);
1334
+ if (Object.getOwnPropertySymbols) {
1335
+ var symbols = Object.getOwnPropertySymbols(object);
1336
+ if (enumerableOnly) {
1337
+ symbols = symbols.filter(function (sym) {
1338
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1339
+ });
1340
+ }
1341
+ keys.push.apply(keys, symbols);
1342
+ }
1343
+ return keys;
1344
+ }
1345
+ function _objectSpread(target) {
1346
+ for (var i = 1; i < arguments.length; i++) {
1347
+ var source = arguments[i] != null ? arguments[i] : {};
1348
+ if (i % 2) {
1349
+ ownKeys(Object(source), true).forEach(function (key) {
1350
+ (0, _defineProperty2["default"])(target, key, source[key]);
1351
+ });
1352
+ } else if (Object.getOwnPropertyDescriptors) {
1353
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1354
+ } else {
1355
+ ownKeys(Object(source)).forEach(function (key) {
1356
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1357
+ });
1358
+ }
1359
+ }
1360
+ return target;
1361
+ }
1362
+ function _createSuper(Derived) {
1363
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
1364
+ return function _createSuperInternal() {
1365
+ var Super = (0, _getPrototypeOf2["default"])(Derived), result;
1366
+ if (hasNativeReflectConstruct) {
1367
+ var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
1368
+ result = Reflect.construct(Super, arguments, NewTarget);
1369
+ } else {
1370
+ result = Super.apply(this, arguments);
1371
+ }
1372
+ return (0, _possibleConstructorReturn2["default"])(this, result);
1373
+ };
1374
+ }
1375
+ function _isNativeReflectConstruct() {
1376
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
1377
+ if (Reflect.construct.sham) return false;
1378
+ if (typeof Proxy === "function") return true;
1379
+ try {
1380
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
1381
+ return true;
1382
+ } catch (e) {
1383
+ return false;
1384
+ }
1385
+ }
1386
+ var toggle = _configUi.settings.toggle, Panel = _configUi.settings.Panel;
1387
+ var styles = function styles(theme) {
1388
+ return {
1389
+ promptHolder: {
1390
+ width: '100%',
1391
+ paddingBottom: theme.spacing.unit * 2,
1392
+ marginBottom: theme.spacing.unit * 2
1393
+ },
1394
+ prompt: {
1395
+ paddingTop: theme.spacing.unit * 2,
1396
+ width: '100%'
1397
+ },
1398
+ markup: {
1399
+ minHeight: '100px',
1400
+ paddingTop: theme.spacing.unit * 2,
1401
+ width: '100%',
1402
+ '& [data-slate-editor="true"]': {
1403
+ minHeight: '100px'
1404
+ }
1405
+ },
1406
+ design: {
1407
+ paddingTop: theme.spacing.unit * 3
1408
+ },
1409
+ choiceConfiguration: {
1410
+ paddingTop: theme.spacing.unit * 2,
1411
+ paddingBottom: theme.spacing.unit * 2
1412
+ },
1413
+ switchElement: {
1414
+ justifyContent: 'space-between',
1415
+ margin: 0
1416
+ },
1417
+ addButton: {
1418
+ "float": 'right'
1419
+ },
1420
+ text: {
1421
+ color: '#495B8F',
1422
+ fontFamily: 'Cerebri Sans',
1423
+ fontSize: '16px',
1424
+ lineHeight: '19px',
1425
+ marginTop: theme.spacing.unit * 4
1426
+ }
1427
+ };
1428
+ };
1429
+ var createElementFromHTML = function createElementFromHTML(htmlString) {
1430
+ var div = document.createElement('div');
1431
+ div.innerHTML = htmlString.trim();
1432
+ return div;
1433
+ };
1434
+ var Main = (function (_React$Component) {
1435
+ (0, _inherits2["default"])(Main, _React$Component);
1436
+ var _super = _createSuper(Main);
1437
+ function Main() {
1438
+ var _this;
1439
+ (0, _classCallCheck2["default"])(this, Main);
1440
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1441
+ args[_key] = arguments[_key];
1442
+ }
1443
+ _this = _super.call.apply(_super, [this].concat(args));
1444
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {});
1445
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChange", function (newVal) {
1446
+ _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), newVal));
1447
+ });
1448
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChanged", function (prompt) {
1449
+ _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
1450
+ prompt: prompt
1451
+ }));
1452
+ });
1453
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRationaleChanged", function (rationale) {
1454
+ _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
1455
+ rationale: rationale
1456
+ }));
1457
+ });
1458
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTeacherInstructionsChanged", function (teacherInstructions) {
1459
+ var _this$props = _this.props, model = _this$props.model, onModelChanged = _this$props.onModelChanged;
1460
+ onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
1461
+ teacherInstructions: teacherInstructions
1462
+ }));
1463
+ });
1464
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onMarkupChanged", function (slateMarkup) {
1465
+ _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
1466
+ slateMarkup: slateMarkup
1467
+ }));
1468
+ });
1469
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onResponsesChanged", function (choices) {
1470
+ _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
1471
+ choices: choices
1472
+ }));
1473
+ });
1474
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLengthChanged", function (maxLengthPerChoice) {
1475
+ var _this$props2 = _this.props, model = _this$props2.model, onModelChanged = _this$props2.onModelChanged;
1476
+ onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
1477
+ maxLengthPerChoice: maxLengthPerChoice
1478
+ }));
1479
+ });
1480
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeResponse", function (index, newVal) {
1481
+ var _this$props3 = _this.props, model = _this$props3.model, onModelChanged = _this$props3.onModelChanged;
1482
+ var choices = model.choices, maxLengthPerChoice = model.maxLengthPerChoice;
1483
+ var newValLength = (0, _markupUtils.getAdjustedLength)((newVal || '').length);
1484
+ if (!choices[index]) {
1485
+ choices[index] = [{
1486
+ label: '',
1487
+ value: '0'
1488
+ }];
1489
+ maxLengthPerChoice.splice(index, 0, newValLength);
1490
+ }
1491
+ choices[index][0].label = newVal || '';
1492
+ if (maxLengthPerChoice && newVal && maxLengthPerChoice[index] < newValLength) {
1493
+ maxLengthPerChoice[index] = newValLength;
1494
+ }
1495
+ onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
1496
+ choices: choices,
1497
+ maxLengthPerChoice: maxLengthPerChoice
1498
+ }));
1499
+ });
1500
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (markup) {
1501
+ var _this$props$model = _this.props.model, choices = _this$props$model.choices, maxLengthPerChoice = _this$props$model.maxLengthPerChoice;
1502
+ var domMarkup = createElementFromHTML(markup);
1503
+ var allRespAreas = domMarkup.querySelectorAll('[data-type="explicit_constructed_response"]');
1504
+ var allChoices = {};
1505
+ var updatedMaxLengthPerChoice = [];
1506
+ allRespAreas.forEach(function (el, index) {
1507
+ var newChoices = (0, _cloneDeep["default"])(choices[el.dataset.index]);
1508
+ if (newChoices) {
1509
+ newChoices[0] = {
1510
+ label: el.dataset.value || '',
1511
+ value: '0'
1512
+ };
1513
+ updatedMaxLengthPerChoice[index] = maxLengthPerChoice[el.dataset.index];
1514
+ }
1515
+ allChoices[index] = newChoices;
1516
+ el.dataset.index = index;
1517
+ });
1518
+ _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
1519
+ choices: allChoices,
1520
+ slateMarkup: domMarkup.innerHTML,
1521
+ maxLengthPerChoice: updatedMaxLengthPerChoice
1522
+ }));
1523
+ });
1524
+ return _this;
1525
+ }
1526
+ (0, _createClass2["default"])(Main, [{
1527
+ key: "componentDidMount",
1528
+ value: function componentDidMount() {
1529
+ var _this$props4 = this.props, _this$props4$model = _this$props4.model, slateMarkup = _this$props4$model.slateMarkup, choices = _this$props4$model.choices, _this$props4$model$ma = _this$props4$model.maxLengthPerChoice, maxLengthPerChoice = _this$props4$model$ma === void 0 ? [] : _this$props4$model$ma, onModelChanged = _this$props4.onModelChanged;
1530
+ var undefinedLengths = !maxLengthPerChoice.length;
1531
+ this.setState({
1532
+ markup: slateMarkup
1533
+ });
1534
+ Object.values(choices).forEach(function (choice, index) {
1535
+ var labelLengthsArr = (choice || []).map(function (choice) {
1536
+ return (choice.label || '').length;
1537
+ });
1538
+ var length = (0, _markupUtils.getAdjustedLength)(Math.max.apply(Math, (0, _toConsumableArray2["default"])(labelLengthsArr)));
1539
+ if (undefinedLengths || !maxLengthPerChoice[index] || maxLengthPerChoice[index] < length) {
1540
+ maxLengthPerChoice[index] = length;
1541
+ }
1542
+ });
1543
+ onModelChanged(_objectSpread(_objectSpread({}, this.props.model), {}, {
1544
+ maxLengthPerChoice: maxLengthPerChoice
1545
+ }));
1546
+ }
1547
+ }, {
1548
+ key: "render",
1549
+ value: function render() {
1550
+ var _this2 = this;
1551
+ var _this$props5 = this.props, classes = _this$props5.classes, model = _this$props5.model, configuration = _this$props5.configuration, onConfigurationChanged = _this$props5.onConfigurationChanged, imageSupport = _this$props5.imageSupport;
1552
+ var _ref = configuration || ({}), _ref$prompt = _ref.prompt, prompt = _ref$prompt === void 0 ? {} : _ref$prompt, _ref$partialScoring = _ref.partialScoring, partialScoring = _ref$partialScoring === void 0 ? {} : _ref$partialScoring, _ref$rationale = _ref.rationale, rationale = _ref$rationale === void 0 ? {} : _ref$rationale, _ref$teacherInstructi = _ref.teacherInstructions, teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi, _ref$maxLengthPerChoi = _ref.maxLengthPerChoice, maxLengthPerChoice = _ref$maxLengthPerChoi === void 0 ? {} : _ref$maxLengthPerChoi;
1553
+ var _ref2 = model || ({}), teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled, promptEnabled = _ref2.promptEnabled, rationaleEnabled = _ref2.rationaleEnabled, maxLengthPerChoiceEnabled = _ref2.maxLengthPerChoiceEnabled;
1554
+ var toolbarOpts = {};
1555
+ switch (model.toolbarEditorPosition) {
1556
+ case 'top':
1557
+ toolbarOpts.position = 'top';
1558
+ break;
1559
+ default:
1560
+ toolbarOpts.position = 'bottom';
1561
+ break;
1562
+ }
1563
+ return _react["default"].createElement("div", {
1564
+ className: classes.design
1565
+ }, _react["default"].createElement(_configUi.layout.ConfigLayout, {
1566
+ settings: _react["default"].createElement(Panel, {
1567
+ model: model,
1568
+ configuration: configuration,
1569
+ onChangeModel: function onChangeModel(model) {
1570
+ return _this2.onModelChange(model);
1571
+ },
1572
+ onChangeConfiguration: function onChangeConfiguration(configuration) {
1573
+ return onConfigurationChanged(configuration, true);
1574
+ },
1575
+ groups: {
1576
+ Settings: {
1577
+ partialScoring: partialScoring.settings && toggle(partialScoring.label),
1578
+ maxLengthPerChoiceEnabled: maxLengthPerChoice.settings && toggle(maxLengthPerChoice.label)
1579
+ },
1580
+ Properties: {
1581
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
1582
+ rationaleEnabled: rationale.settings && toggle(rationale.label),
1583
+ promptEnabled: prompt.settings && toggle(prompt.label)
1584
+ }
1585
+ }
1586
+ })
1587
+ }, _react["default"].createElement("div", null, teacherInstructionsEnabled && _react["default"].createElement(_configUi.InputContainer, {
1588
+ label: teacherInstructions.label,
1589
+ className: classes.promptHolder
1590
+ }, _react["default"].createElement(_editableHtml["default"], {
1591
+ className: classes.prompt,
1592
+ markup: model.teacherInstructions || '',
1593
+ onChange: this.onTeacherInstructionsChanged,
1594
+ imageSupport: imageSupport,
1595
+ nonEmpty: false,
1596
+ toolbarOpts: toolbarOpts
1597
+ })), promptEnabled && _react["default"].createElement(_configUi.InputContainer, {
1598
+ label: prompt.label,
1599
+ className: classes.promptHolder
1600
+ }, _react["default"].createElement(_editableHtml["default"], {
1601
+ className: classes.prompt,
1602
+ markup: model.prompt,
1603
+ onChange: this.onPromptChanged,
1604
+ imageSupport: imageSupport,
1605
+ nonEmpty: false,
1606
+ disableUnderline: true,
1607
+ toolbarOpts: toolbarOpts
1608
+ })), _react["default"].createElement(_Typography["default"], {
1609
+ className: classes.text
1610
+ }, "Define Template, Choices, and Correct Responses"), _react["default"].createElement(_editableHtml["default"], {
1611
+ activePlugins: _editableHtml.ALL_PLUGINS,
1612
+ toolbarOpts: {
1613
+ position: 'top'
1614
+ },
1615
+ responseAreaProps: {
1616
+ type: 'explicit-constructed-response',
1617
+ options: {
1618
+ duplicates: true
1619
+ },
1620
+ respAreaToolbar: function respAreaToolbar(node, value, onToolbarDone) {
1621
+ var model = _this2.props.model;
1622
+ var correctChoice = (model.choices[node.data.get('index')] || [])[0];
1623
+ return function () {
1624
+ return _react["default"].createElement(_ecrToolbar["default"], {
1625
+ onChangeResponse: function onChangeResponse(newVal) {
1626
+ return _this2.onChangeResponse(node.data.get('index'), newVal);
1627
+ },
1628
+ node: node,
1629
+ value: value,
1630
+ onToolbarDone: onToolbarDone,
1631
+ correctChoice: correctChoice
1632
+ });
1633
+ };
1634
+ }
1635
+ },
1636
+ className: classes.markup,
1637
+ markup: model.slateMarkup,
1638
+ onChange: this.onChange,
1639
+ imageSupport: imageSupport,
1640
+ onBlur: this.onBlur,
1641
+ disabled: false,
1642
+ highlightShape: false
1643
+ }), !(0, _isEmpty["default"])(model.choices) && _react["default"].createElement(_Typography["default"], {
1644
+ className: classes.text
1645
+ }, ("Define Alternates ").concat(maxLengthPerChoiceEnabled ? 'and Character Limits' : '')), _react["default"].createElement(_alternateResponses["default"], {
1646
+ model: model,
1647
+ onChange: this.onResponsesChanged,
1648
+ onLengthChange: this.onLengthChanged,
1649
+ maxLengthPerChoiceEnabled: maxLengthPerChoiceEnabled
1650
+ }), rationaleEnabled && _react["default"].createElement(_configUi.InputContainer, {
1651
+ label: rationale.label,
1652
+ className: classes.promptHolder
1653
+ }, _react["default"].createElement(_editableHtml["default"], {
1654
+ className: classes.prompt,
1655
+ markup: model.rationale || '',
1656
+ onChange: this.onRationaleChanged,
1657
+ imageSupport: imageSupport,
1658
+ toolbarOpts: toolbarOpts
1659
+ })))));
1660
+ }
1661
+ }]);
1662
+ return Main;
1663
+ })(_react["default"].Component);
1664
+ exports.Main = Main;
1665
+ (0, _defineProperty2["default"])(Main, "propTypes", {
1666
+ configuration: _propTypes["default"].object.isRequired,
1667
+ model: _propTypes["default"].object.isRequired,
1668
+ disableSidePanel: _propTypes["default"].bool,
1669
+ onModelChanged: _propTypes["default"].func.isRequired,
1670
+ onConfigurationChanged: _propTypes["default"].func.isRequired,
1671
+ classes: _propTypes["default"].object.isRequired,
1672
+ imageSupport: _propTypes["default"].shape({
1673
+ add: _propTypes["default"].func.isRequired,
1674
+ "delete": _propTypes["default"].func.isRequired
1675
+ })
1676
+ });
1677
+ var Styled = (0, _styles.withStyles)(styles)(Main);
1678
+ var _default = Styled;
1679
+ exports["default"] = _default;
1680
+ })(main);
1681
+ getDefaultExportFromCjs(main);
1682
+ var defaults = {};
1683
+ (function (exports) {
1684
+ Object.defineProperty(exports, "__esModule", {
1685
+ value: true
1686
+ });
1687
+ exports["default"] = void 0;
1688
+ var _default = {
1689
+ model: {
1690
+ disabled: false,
1691
+ mode: 'gather',
1692
+ prompt: 'Use the inputs to complete the sentence',
1693
+ shuffle: true,
1694
+ markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',
1695
+ toolbarEditorPosition: 'bottom',
1696
+ displayType: 'block',
1697
+ choices: {
1698
+ 0: [{
1699
+ label: 'cow',
1700
+ value: '0'
1701
+ }, {
1702
+ label: 'cattle',
1703
+ value: '1'
1704
+ }, {
1705
+ label: 'calf',
1706
+ value: '2',
1707
+ correct: false
1708
+ }],
1709
+ 1: [{
1710
+ label: 'over',
1711
+ value: '0'
1712
+ }, {
1713
+ label: 'past',
1714
+ value: '1'
1715
+ }, {
1716
+ label: 'beyond',
1717
+ value: '2'
1718
+ }],
1719
+ 2: [{
1720
+ label: 'moon',
1721
+ value: '0'
1722
+ }, {
1723
+ label: 'satellite',
1724
+ value: '2'
1725
+ }, {
1726
+ label: 'house ',
1727
+ value: '3'
1728
+ }]
1729
+ },
1730
+ maxLengthPerChoiceEnabled: true,
1731
+ rationaleEnabled: true,
1732
+ promptEnabled: true,
1733
+ teacherInstructionsEnabled: true,
1734
+ studentInstructionsEnabled: true
1735
+ },
1736
+ configuration: {
1737
+ prompt: {
1738
+ settings: true,
1739
+ label: 'Prompt'
1740
+ },
1741
+ partialScoring: {
1742
+ settings: false,
1743
+ label: 'Allow Partial Scoring'
1744
+ },
1745
+ rationale: {
1746
+ settings: true,
1747
+ label: 'Rationale'
1748
+ },
1749
+ teacherInstructions: {
1750
+ settings: true,
1751
+ label: 'Teacher Instructions'
1752
+ },
1753
+ maxLengthPerChoice: {
1754
+ settings: true,
1755
+ label: 'Maximum Length Per Choice'
1756
+ }
1757
+ }
1758
+ };
1759
+ exports["default"] = _default;
1760
+ })(defaults);
1761
+ getDefaultExportFromCjs(defaults);
1762
+ const require$$9 = _dll_react;
1763
+ const require$$10 = _dll_react_dom;
1764
+ const require$$11 = _dll_debug;
1765
+ const {defaults: require$$12} = _dll_lodash;
1766
+ const {isArray: require$$13} = _dll_lodash;
1767
+ (function (exports) {
1768
+ var _interopRequireDefault = interopRequireDefault.exports;
1769
+ Object.defineProperty(exports, "__esModule", {
1770
+ value: true
1771
+ });
1772
+ exports["default"] = void 0;
1773
+ var _classCallCheck2 = _interopRequireDefault(classCallCheck.exports);
1774
+ var _createClass2 = _interopRequireDefault(createClass.exports);
1775
+ var _assertThisInitialized2 = _interopRequireDefault(assertThisInitialized.exports);
1776
+ var _inherits2 = _interopRequireDefault(inherits.exports);
1777
+ var _possibleConstructorReturn2 = _interopRequireDefault(possibleConstructorReturn.exports);
1778
+ var _getPrototypeOf2 = _interopRequireDefault(getPrototypeOf.exports);
1779
+ var _wrapNativeSuper2 = _interopRequireDefault(wrapNativeSuper.exports);
1780
+ var _defineProperty2 = _interopRequireDefault(defineProperty.exports);
1781
+ var _react = _interopRequireDefault(require$$9);
1782
+ var _reactDom = _interopRequireDefault(require$$10);
1783
+ var _debug = _interopRequireDefault(require$$11);
1784
+ var _defaults = _interopRequireDefault(require$$12);
1785
+ var _isArray = _interopRequireDefault(require$$13);
1786
+ var _pieConfigureEvents = lib;
1787
+ var _main = _interopRequireDefault(main);
1788
+ var _defaults2 = _interopRequireDefault(defaults);
1789
+ var _markupUtils = markupUtils;
1790
+ function ownKeys(object, enumerableOnly) {
1791
+ var keys = Object.keys(object);
1792
+ if (Object.getOwnPropertySymbols) {
1793
+ var symbols = Object.getOwnPropertySymbols(object);
1794
+ if (enumerableOnly) {
1795
+ symbols = symbols.filter(function (sym) {
1796
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1797
+ });
1798
+ }
1799
+ keys.push.apply(keys, symbols);
1800
+ }
1801
+ return keys;
1802
+ }
1803
+ function _objectSpread(target) {
1804
+ for (var i = 1; i < arguments.length; i++) {
1805
+ var source = arguments[i] != null ? arguments[i] : {};
1806
+ if (i % 2) {
1807
+ ownKeys(Object(source), true).forEach(function (key) {
1808
+ (0, _defineProperty2["default"])(target, key, source[key]);
1809
+ });
1810
+ } else if (Object.getOwnPropertyDescriptors) {
1811
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1812
+ } else {
1813
+ ownKeys(Object(source)).forEach(function (key) {
1814
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1815
+ });
1816
+ }
1817
+ }
1818
+ return target;
1819
+ }
1820
+ function _createSuper(Derived) {
1821
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
1822
+ return function _createSuperInternal() {
1823
+ var Super = (0, _getPrototypeOf2["default"])(Derived), result;
1824
+ if (hasNativeReflectConstruct) {
1825
+ var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
1826
+ result = Reflect.construct(Super, arguments, NewTarget);
1827
+ } else {
1828
+ result = Super.apply(this, arguments);
1829
+ }
1830
+ return (0, _possibleConstructorReturn2["default"])(this, result);
1831
+ };
1832
+ }
1833
+ function _isNativeReflectConstruct() {
1834
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
1835
+ if (Reflect.construct.sham) return false;
1836
+ if (typeof Proxy === "function") return true;
1837
+ try {
1838
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
1839
+ return true;
1840
+ } catch (e) {
1841
+ return false;
1842
+ }
1843
+ }
1844
+ var log = (0, _debug["default"])('explicit-constructed-response:configure');
1845
+ var ExplicitConstructedResponse = (function (_HTMLElement) {
1846
+ (0, _inherits2["default"])(ExplicitConstructedResponse, _HTMLElement);
1847
+ var _super = _createSuper(ExplicitConstructedResponse);
1848
+ function ExplicitConstructedResponse() {
1849
+ var _this;
1850
+ (0, _classCallCheck2["default"])(this, ExplicitConstructedResponse);
1851
+ _this = _super.call(this);
1852
+ _this._model = ExplicitConstructedResponse.prepareModel();
1853
+ _this._configuration = _defaults2["default"].configuration;
1854
+ _this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
1855
+ _this.onConfigurationChanged = _this.onConfigurationChanged.bind((0, _assertThisInitialized2["default"])(_this));
1856
+ return _this;
1857
+ }
1858
+ (0, _createClass2["default"])(ExplicitConstructedResponse, [{
1859
+ key: "model",
1860
+ set: function set(s) {
1861
+ this._model = ExplicitConstructedResponse.prepareModel(s);
1862
+ this._render();
1863
+ }
1864
+ }, {
1865
+ key: "configuration",
1866
+ set: function set(c) {
1867
+ this._configuration = (0, _defaults["default"])(c, _defaults2["default"].configuration);
1868
+ this._render();
1869
+ }
1870
+ }, {
1871
+ key: "disableSidePanel",
1872
+ set: function set(s) {
1873
+ this._disableSidePanel = s;
1874
+ this._render();
1875
+ }
1876
+ }, {
1877
+ key: "dispatchModelUpdated",
1878
+ value: function dispatchModelUpdated(reset) {
1879
+ var resetValue = !!reset;
1880
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
1881
+ }
1882
+ }, {
1883
+ key: "onModelChanged",
1884
+ value: function onModelChanged(m, reset) {
1885
+ this._model = ExplicitConstructedResponse.prepareModel(m);
1886
+ this._render();
1887
+ this.dispatchModelUpdated(reset);
1888
+ }
1889
+ }, {
1890
+ key: "onConfigurationChanged",
1891
+ value: function onConfigurationChanged(c) {
1892
+ this._configuration = c;
1893
+ this._render();
1894
+ }
1895
+ }, {
1896
+ key: "insertImage",
1897
+ value: function insertImage(handler) {
1898
+ this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
1899
+ }
1900
+ }, {
1901
+ key: "onDeleteImage",
1902
+ value: function onDeleteImage(src, done) {
1903
+ this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
1904
+ }
1905
+ }, {
1906
+ key: "_render",
1907
+ value: function _render() {
1908
+ log('_render');
1909
+ var element = _react["default"].createElement(_main["default"], {
1910
+ model: this._model,
1911
+ configuration: this._configuration,
1912
+ onModelChanged: this.onModelChanged,
1913
+ onConfigurationChanged: this.onConfigurationChanged,
1914
+ disableSidePanel: this._disableSidePanel,
1915
+ imageSupport: {
1916
+ add: this.insertImage.bind(this),
1917
+ "delete": this.onDeleteImage.bind(this)
1918
+ }
1919
+ });
1920
+ _reactDom["default"].render(element, this);
1921
+ }
1922
+ }]);
1923
+ return ExplicitConstructedResponse;
1924
+ })((0, _wrapNativeSuper2["default"])(HTMLElement));
1925
+ exports["default"] = ExplicitConstructedResponse;
1926
+ (0, _defineProperty2["default"])(ExplicitConstructedResponse, "prepareModel", function () {
1927
+ var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1928
+ var joinedObj = _objectSpread(_objectSpread({}, _defaults2["default"].model), model);
1929
+ var slateMarkup = joinedObj.slateMarkup || (0, _markupUtils.createSlateMarkup)(joinedObj.markup, joinedObj.choices);
1930
+ var processedMarkup = (0, _markupUtils.processMarkup)(slateMarkup);
1931
+ if (joinedObj.choices) {
1932
+ Object.keys(joinedObj.choices).forEach(function (key) {
1933
+ if ((0, _isArray["default"])(joinedObj.choices[key])) {
1934
+ joinedObj.choices[key] = (joinedObj.choices[key] || []).map(function (item, index) {
1935
+ if (!item.value) {
1936
+ log('Choice does not contain "value" property, which is required.', item);
1937
+ return _objectSpread({
1938
+ value: ("").concat(index)
1939
+ }, item);
1940
+ }
1941
+ return item;
1942
+ });
1943
+ }
1944
+ });
1945
+ }
1946
+ return _objectSpread(_objectSpread({}, joinedObj), {}, {
1947
+ slateMarkup: slateMarkup,
1948
+ markup: processedMarkup
1949
+ });
1950
+ });
1951
+ })(lib$1);
1952
+ var index = getDefaultExportFromCjs(lib$1);
1953
+ export {index as default};