@pie-element/explicit-constructed-response 3.13.3 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,52 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/explicit-constructed-response@4.0.0...@pie-element/explicit-constructed-response@4.1.0) (2022-06-28)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **explicit-constructed-response:** change validation messsage ([dff4964](https://github.com/pie-framework/pie-elements/commit/dff49645a4b814686bfaba18298b064e174c717a))
12
+ * clean up ([53cea01](https://github.com/pie-framework/pie-elements/commit/53cea01bd199a2f000035e9dad455fae5a6be452))
13
+ * error fucntion ([9b4a145](https://github.com/pie-framework/pie-elements/commit/9b4a145874ad19c14f558dad8bf505d3ae8a3857))
14
+
15
+
16
+ ### Features
17
+
18
+ * **inline-dropdown, drag-in-the-blank, explicit-constructed-response:** set config default for maxRespponseAreas ([a9e9dc5](https://github.com/pie-framework/pie-elements/commit/a9e9dc5ff43199c946f4226790d924ab5d8674ed))
19
+ * PD-1706 validation ui/ux ([265c248](https://github.com/pie-framework/pie-elements/commit/265c248ecd10d7a108f8d4abddd40824e4b2f0f4))
20
+ * update documentation for items that have validation with settings configurable by client systems PD-1789 ([8ef69cc](https://github.com/pie-framework/pie-elements/commit/8ef69cc0c7439a5803dc95f570efc7cd24c8e334))
21
+ * **explicit-constructed-response:** added configurable validation PD-1706 ([327af4a](https://github.com/pie-framework/pie-elements/commit/327af4abe87af52389232c56afdd6e0dfd6c77f7))
22
+
23
+
24
+
25
+
26
+
27
+ # [4.0.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/explicit-constructed-response@3.13.4...@pie-element/explicit-constructed-response@4.0.0) (2022-06-28)
28
+
29
+
30
+ ### chore
31
+
32
+ * Merge master with develop. ([cdca48a](https://github.com/pie-framework/pie-elements/commit/cdca48abaa1d4179e4a961e13d171e14b7ed2444))
33
+
34
+
35
+ ### BREAKING CHANGES
36
+
37
+ * Image percent buttons were removed from toolbar.
38
+ New properties maxImageWidth and maxImageHeight were added.
39
+
40
+
41
+
42
+
43
+
44
+ ## [3.13.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/explicit-constructed-response@3.13.3...@pie-element/explicit-constructed-response@3.13.4) (2022-06-13)
45
+
46
+ **Note:** Version bump only for package @pie-element/explicit-constructed-response
47
+
48
+
49
+
50
+
51
+
6
52
  ## [3.13.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/explicit-constructed-response@3.13.2...@pie-element/explicit-constructed-response@3.13.3) (2022-05-30)
7
53
 
8
54
  **Note:** Version bump only for package @pie-element/explicit-constructed-response
@@ -3,6 +3,50 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/explicit-constructed-response-configure@4.0.0...@pie-element/explicit-constructed-response-configure@4.1.0) (2022-06-28)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **explicit-constructed-response:** change validation messsage ([dff4964](https://github.com/pie-framework/pie-elements/commit/dff49645a4b814686bfaba18298b064e174c717a))
12
+ * clean up ([53cea01](https://github.com/pie-framework/pie-elements/commit/53cea01bd199a2f000035e9dad455fae5a6be452))
13
+ * error fucntion ([9b4a145](https://github.com/pie-framework/pie-elements/commit/9b4a145874ad19c14f558dad8bf505d3ae8a3857))
14
+
15
+
16
+ ### Features
17
+
18
+ * **inline-dropdown, drag-in-the-blank, explicit-constructed-response:** set config default for maxRespponseAreas ([a9e9dc5](https://github.com/pie-framework/pie-elements/commit/a9e9dc5ff43199c946f4226790d924ab5d8674ed))
19
+ * PD-1706 validation ui/ux ([265c248](https://github.com/pie-framework/pie-elements/commit/265c248ecd10d7a108f8d4abddd40824e4b2f0f4))
20
+
21
+
22
+
23
+
24
+
25
+ # [4.0.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/explicit-constructed-response-configure@3.8.4...@pie-element/explicit-constructed-response-configure@4.0.0) (2022-06-28)
26
+
27
+
28
+ ### chore
29
+
30
+ * Merge master with develop. ([cdca48a](https://github.com/pie-framework/pie-elements/commit/cdca48abaa1d4179e4a961e13d171e14b7ed2444))
31
+
32
+
33
+ ### BREAKING CHANGES
34
+
35
+ * Image percent buttons were removed from toolbar.
36
+ New properties maxImageWidth and maxImageHeight were added.
37
+
38
+
39
+
40
+
41
+
42
+ ## [3.8.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/explicit-constructed-response-configure@3.8.3...@pie-element/explicit-constructed-response-configure@3.8.4) (2022-06-13)
43
+
44
+ **Note:** Version bump only for package @pie-element/explicit-constructed-response-configure
45
+
46
+
47
+
48
+
49
+
6
50
  ## [3.8.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/explicit-constructed-response-configure@3.8.2...@pie-element/explicit-constructed-response-configure@3.8.3) (2022-05-30)
7
51
 
8
52
  **Note:** Version bump only for package @pie-element/explicit-constructed-response-configure
@@ -85,7 +85,17 @@ var _default = {
85
85
  settings: true,
86
86
  label: 'Maximum Length Per Choice'
87
87
  },
88
- maxResponseAreas: 10
88
+ maxResponseAreas: 10,
89
+ maxImageWidth: {
90
+ teacherInstructions: 300,
91
+ prompt: 300,
92
+ rationale: 300
93
+ },
94
+ maxImageHeight: {
95
+ teacherInstructions: 300,
96
+ prompt: 300,
97
+ rationale: 300
98
+ }
89
99
  }
90
100
  };
91
101
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","disabled","mode","prompt","shuffle","markup","toolbarEditorPosition","displayType","spellCheckEnabled","playerSpellCheckEnabled","choices","label","value","correct","maxLengthPerChoiceEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","settings","partialScoring","rationale","spellCheck","enabled","playerSpellCheck","teacherInstructions","maxLengthPerChoice","maxResponseAreas"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE,KADL;AAELC,IAAAA,IAAI,EAAE,QAFD;AAGLC,IAAAA,MAAM,EAAE,yCAHH;AAILC,IAAAA,OAAO,EAAE,IAJJ;AAKLC,IAAAA,MAAM,EAAE,yCALH;AAMLC,IAAAA,qBAAqB,EAAE,QANlB;AAOLC,IAAAA,WAAW,EAAE,OAPR;AAQLC,IAAAA,iBAAiB,EAAC,IARb;AASLC,IAAAA,uBAAuB,EAAC,IATnB;AAULC,IAAAA,OAAO,EAAE;AACP,SAAG,CACD;AACEC,QAAAA,KAAK,EAAE,KADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE,GAFT;AAGEC,QAAAA,OAAO,EAAE;AAHX,OATC,CADI;AAgBP,SAAG,CACD;AACEF,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OATC,CAhBI;AA8BP,SAAG,CACD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,WADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OATC;AA9BI,KAVJ;AAuDLE,IAAAA,yBAAyB,EAAE,IAvDtB;AAwDLC,IAAAA,gBAAgB,EAAE,IAxDb;AAyDLC,IAAAA,aAAa,EAAE,IAzDV;AA0DLC,IAAAA,0BAA0B,EAAE,IA1DvB;AA2DLC,IAAAA,0BAA0B,EAAE;AA3DvB,GADM;AA8DbC,EAAAA,aAAa,EAAE;AACbhB,IAAAA,MAAM,EAAE;AACNiB,MAAAA,QAAQ,EAAE,IADJ;AAENT,MAAAA,KAAK,EAAE;AAFD,KADK;AAKbU,IAAAA,cAAc,EAAE;AACdD,MAAAA,QAAQ,EAAE,KADI;AAEdT,MAAAA,KAAK,EAAE;AAFO,KALH;AASbW,IAAAA,SAAS,EAAE;AACTF,MAAAA,QAAQ,EAAE,IADD;AAETT,MAAAA,KAAK,EAAE;AAFE,KATE;AAabY,IAAAA,UAAU,EAAE;AACVZ,MAAAA,KAAK,EAAE,YADG;AAEVS,MAAAA,QAAQ,EAAC,KAFC;AAGVI,MAAAA,OAAO,EAAC;AAHE,KAbC;AAkBbC,IAAAA,gBAAgB,EAAE;AAChBd,MAAAA,KAAK,EAAE,oBADS;AAEhBS,MAAAA,QAAQ,EAAC,IAFO;AAGhBI,MAAAA,OAAO,EAAC;AAHQ,KAlBL;AAuBbE,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBT,MAAAA,KAAK,EAAE;AAFY,KAvBR;AA2BbgB,IAAAA,kBAAkB,EAAE;AAClBP,MAAAA,QAAQ,EAAE,IADQ;AAElBT,MAAAA,KAAK,EAAE;AAFW,KA3BP;AA+BbiB,IAAAA,gBAAgB,EAAE;AA/BL;AA9DF,C","sourcesContent":["export default {\n model: {\n disabled: false,\n mode: 'gather',\n prompt: 'Use the inputs to complete the sentence',\n shuffle: true,\n markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',\n toolbarEditorPosition: 'bottom',\n displayType: 'block',\n spellCheckEnabled:true,\n playerSpellCheckEnabled:true,\n choices: {\n 0: [\n {\n label: 'cow',\n value: '0'\n },\n {\n label: 'cattle',\n value: '1'\n },\n {\n label: 'calf',\n value: '2',\n correct: false\n }\n ],\n 1: [\n {\n label: 'over',\n value: '0'\n },\n {\n label: 'past',\n value: '1'\n },\n {\n label: 'beyond',\n value: '2'\n }\n ],\n 2: [\n {\n label: 'moon',\n value: '0'\n },\n {\n label: 'satellite',\n value: '2'\n },\n {\n label: 'house ',\n value: '3'\n }\n ]\n },\n maxLengthPerChoiceEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true\n },\n configuration: {\n prompt: {\n settings: true,\n label: 'Prompt'\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n playerSpellCheck: {\n label: 'Student Spellcheck',\n settings:true,\n enabled:true\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n maxLengthPerChoice: {\n settings: true,\n label: 'Maximum Length Per Choice'\n },\n maxResponseAreas: 10\n }\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","disabled","mode","prompt","shuffle","markup","toolbarEditorPosition","displayType","spellCheckEnabled","playerSpellCheckEnabled","choices","label","value","correct","maxLengthPerChoiceEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","settings","partialScoring","rationale","spellCheck","enabled","playerSpellCheck","teacherInstructions","maxLengthPerChoice","maxResponseAreas","maxImageWidth","maxImageHeight"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE,KADL;AAELC,IAAAA,IAAI,EAAE,QAFD;AAGLC,IAAAA,MAAM,EAAE,yCAHH;AAILC,IAAAA,OAAO,EAAE,IAJJ;AAKLC,IAAAA,MAAM,EAAE,yCALH;AAMLC,IAAAA,qBAAqB,EAAE,QANlB;AAOLC,IAAAA,WAAW,EAAE,OAPR;AAQLC,IAAAA,iBAAiB,EAAC,IARb;AASLC,IAAAA,uBAAuB,EAAC,IATnB;AAULC,IAAAA,OAAO,EAAE;AACP,SAAG,CACD;AACEC,QAAAA,KAAK,EAAE,KADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE,GAFT;AAGEC,QAAAA,OAAO,EAAE;AAHX,OATC,CADI;AAgBP,SAAG,CACD;AACEF,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OATC,CAhBI;AA8BP,SAAG,CACD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,WADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OATC;AA9BI,KAVJ;AAuDLE,IAAAA,yBAAyB,EAAE,IAvDtB;AAwDLC,IAAAA,gBAAgB,EAAE,IAxDb;AAyDLC,IAAAA,aAAa,EAAE,IAzDV;AA0DLC,IAAAA,0BAA0B,EAAE,IA1DvB;AA2DLC,IAAAA,0BAA0B,EAAE;AA3DvB,GADM;AA8DbC,EAAAA,aAAa,EAAE;AACbhB,IAAAA,MAAM,EAAE;AACNiB,MAAAA,QAAQ,EAAE,IADJ;AAENT,MAAAA,KAAK,EAAE;AAFD,KADK;AAKbU,IAAAA,cAAc,EAAE;AACdD,MAAAA,QAAQ,EAAE,KADI;AAEdT,MAAAA,KAAK,EAAE;AAFO,KALH;AASbW,IAAAA,SAAS,EAAE;AACTF,MAAAA,QAAQ,EAAE,IADD;AAETT,MAAAA,KAAK,EAAE;AAFE,KATE;AAabY,IAAAA,UAAU,EAAE;AACVZ,MAAAA,KAAK,EAAE,YADG;AAEVS,MAAAA,QAAQ,EAAC,KAFC;AAGVI,MAAAA,OAAO,EAAC;AAHE,KAbC;AAkBbC,IAAAA,gBAAgB,EAAE;AAChBd,MAAAA,KAAK,EAAE,oBADS;AAEhBS,MAAAA,QAAQ,EAAC,IAFO;AAGhBI,MAAAA,OAAO,EAAC;AAHQ,KAlBL;AAuBbE,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBT,MAAAA,KAAK,EAAE;AAFY,KAvBR;AA2BbgB,IAAAA,kBAAkB,EAAE;AAClBP,MAAAA,QAAQ,EAAE,IADQ;AAElBT,MAAAA,KAAK,EAAE;AAFW,KA3BP;AA+BbiB,IAAAA,gBAAgB,EAAE,EA/BL;AAgCbC,IAAAA,aAAa,EAAE;AACbH,MAAAA,mBAAmB,EAAE,GADR;AAEbvB,MAAAA,MAAM,EAAE,GAFK;AAGbmB,MAAAA,SAAS,EAAE;AAHE,KAhCF;AAqCbQ,IAAAA,cAAc,EAAE;AACdJ,MAAAA,mBAAmB,EAAE,GADP;AAEdvB,MAAAA,MAAM,EAAE,GAFM;AAGdmB,MAAAA,SAAS,EAAE;AAHG;AArCH;AA9DF,C","sourcesContent":["export default {\n model: {\n disabled: false,\n mode: 'gather',\n prompt: 'Use the inputs to complete the sentence',\n shuffle: true,\n markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',\n toolbarEditorPosition: 'bottom',\n displayType: 'block',\n spellCheckEnabled:true,\n playerSpellCheckEnabled:true,\n choices: {\n 0: [\n {\n label: 'cow',\n value: '0'\n },\n {\n label: 'cattle',\n value: '1'\n },\n {\n label: 'calf',\n value: '2',\n correct: false\n }\n ],\n 1: [\n {\n label: 'over',\n value: '0'\n },\n {\n label: 'past',\n value: '1'\n },\n {\n label: 'beyond',\n value: '2'\n }\n ],\n 2: [\n {\n label: 'moon',\n value: '0'\n },\n {\n label: 'satellite',\n value: '2'\n },\n {\n label: 'house ',\n value: '3'\n }\n ]\n },\n maxLengthPerChoiceEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true\n },\n configuration: {\n prompt: {\n settings: true,\n label: 'Prompt'\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n playerSpellCheck: {\n label: 'Student Spellcheck',\n settings:true,\n enabled:true\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n maxLengthPerChoice: {\n settings: true,\n label: 'Maximum Length Per Choice'\n },\n maxResponseAreas: 10,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n }\n }\n};\n"],"file":"defaults.js"}
@@ -359,7 +359,11 @@ var Main = /*#__PURE__*/function (_React$Component) {
359
359
  spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
360
360
  _ref$playerSpellCheck = _ref.playerSpellCheck,
361
361
  playerSpellCheck = _ref$playerSpellCheck === void 0 ? {} : _ref$playerSpellCheck,
362
- maxResponseAreas = _ref.maxResponseAreas;
362
+ maxResponseAreas = _ref.maxResponseAreas,
363
+ _ref$maxImageWidth = _ref.maxImageWidth,
364
+ maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
365
+ _ref$maxImageHeight = _ref.maxImageHeight,
366
+ maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight;
363
367
 
364
368
  var _ref2 = model || {},
365
369
  teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
@@ -377,6 +381,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
377
381
  choicesErrors = _ref3$choicesErrors === void 0 ? {} : _ref3$choicesErrors;
378
382
 
379
383
  var validationMessage = (0, _utils.generateValidationMessage)(configuration);
384
+ var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
385
+ var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
380
386
 
381
387
  switch (model.toolbarEditorPosition) {
382
388
  case 'top':
@@ -424,7 +430,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
424
430
  imageSupport: imageSupport,
425
431
  nonEmpty: false,
426
432
  toolbarOpts: toolbarOpts,
427
- spellCheck: spellCheckEnabled
433
+ spellCheck: spellCheckEnabled,
434
+ maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
435
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight
428
436
  })), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
429
437
  label: prompt.label,
430
438
  className: classes.promptHolder
@@ -436,7 +444,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
436
444
  nonEmpty: false,
437
445
  disableUnderline: true,
438
446
  toolbarOpts: toolbarOpts,
439
- spellCheck: spellCheckEnabled
447
+ spellCheck: spellCheckEnabled,
448
+ maxImageWidth: defaultImageMaxWidth,
449
+ maxImageHeight: defaultImageMaxHeight
440
450
  })), /*#__PURE__*/_react["default"].createElement("div", {
441
451
  className: classes.flexContainer
442
452
  }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
@@ -515,7 +525,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
515
525
  onChange: this.onRationaleChanged,
516
526
  imageSupport: imageSupport,
517
527
  toolbarOpts: toolbarOpts,
518
- spellCheck: spellCheckEnabled
528
+ spellCheck: spellCheckEnabled,
529
+ maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
530
+ maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight
519
531
  })))));
520
532
  }
521
533
  }]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["toggle","settings","Panel","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","markup","minHeight","design","choiceConfiguration","switchElement","justifyContent","margin","addButton","text","color","fontFamily","fontSize","lineHeight","marginTop","tooltip","whiteSpace","maxWidth","errorText","padding","flexContainer","display","alignItems","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","Main","newVal","props","onModelChanged","model","rationale","teacherInstructions","slateMarkup","choices","maxLengthPerChoice","index","newValLength","length","label","value","nbOfMissingChoices","Array","fill","splice","domMarkup","allRespAreas","querySelectorAll","allChoices","updatedMaxLengthPerChoice","forEach","el","newChoices","dataset","callback","setState","cachedChoices","undefined","nodes","state","newCachedChoices","node","keyForNode","data","get","Object","assign","hasOwnProperty","trailing","leading","undefinedLengths","values","choice","labelLengthsArr","map","Math","max","classes","configuration","onConfigurationChanged","imageSupport","partialScoring","spellCheck","playerSpellCheck","maxResponseAreas","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","maxLengthPerChoiceEnabled","spellCheckEnabled","errors","toolbarOpts","responseAreasError","choicesErrors","validationMessage","toolbarEditorPosition","position","onModelChange","Settings","Properties","playerSpellCheckEnabled","onTeacherInstructionsChanged","onPromptChanged","marginLeft","ALL_PLUGINS","type","options","duplicates","respAreaToolbar","onToolbarDone","correctChoice","onChangeResponse","error","onHandleAreaChange","onChange","onBlur","onResponsesChanged","onLengthChanged","onRationaleChanged","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,IAAQA,MAAR,GAA0BC,kBAA1B,CAAQD,MAAR;AAAA,IAAgBE,KAAhB,GAA0BD,kBAA1B,CAAgBC,KAAhB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,KAAK,EAAE,MADK;AAEZC,MAAAA,aAAa,EAAEH,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAFxB;AAGZC,MAAAA,YAAY,EAAEN,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAHvB,KADS;AAMvBE,IAAAA,MAAM,EAAE;AACNC,MAAAA,UAAU,EAAER,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAD3B;AAENH,MAAAA,KAAK,EAAE;AAFD,KANe;AAUvBO,IAAAA,MAAM,EAAE;AACNC,MAAAA,SAAS,EAAE,OADL;AAENF,MAAAA,UAAU,EAAER,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAF3B;AAGNH,MAAAA,KAAK,EAAE,MAHD;AAIN,sCAAgC;AAC9BQ,QAAAA,SAAS,EAAE;AADmB;AAJ1B,KAVe;AAkBvBC,IAAAA,MAAM,EAAE;AACNH,MAAAA,UAAU,EAAER,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAD3B,KAlBe;AAqBvBO,IAAAA,mBAAmB,EAAE;AACnBJ,MAAAA,UAAU,EAAER,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CADd;AAEnBF,MAAAA,aAAa,EAAEH,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAFjB,KArBE;AAyBvBQ,IAAAA,aAAa,EAAE;AACbC,MAAAA,cAAc,EAAE,eADH;AAEbC,MAAAA,MAAM,EAAE;AAFK,KAzBQ;AA6BvBC,IAAAA,SAAS,EAAE;AACT,eAAO;AADE,KA7BY;AAgCvBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE,SADH;AAEJC,MAAAA,UAAU,EAAE,cAFR;AAGJC,MAAAA,QAAQ,EAAE,MAHN;AAIJC,MAAAA,UAAU,EAAE,MAJR;AAKJC,MAAAA,SAAS,EAAEtB,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAL5B,KAhCiB;AAuCvBkB,IAAAA,OAAO,EAAE;AACPH,MAAAA,QAAQ,EAAE,MADH;AAEPI,MAAAA,UAAU,EAAE,KAFL;AAGPC,MAAAA,QAAQ,EAAE;AAHH,KAvCc;AA4CvBC,IAAAA,SAAS,EAAE;AACTN,MAAAA,QAAQ,EAAE,MADD;AAETF,MAAAA,KAAK,EAAE,KAFE;AAGTS,MAAAA,OAAO,EAAE;AAHA,KA5CY;AAiDvBC,IAAAA,aAAa,EAAE;AACbC,MAAAA,OAAO,EAAE,MADI;AAEbC,MAAAA,UAAU,EAAE;AAFC;AAjDQ,GAAL;AAAA,CAApB;;AAuDA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAAC,UAAU,EAAI;AAC1C,MAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ;AAEAF,EAAAA,GAAG,CAACG,SAAJ,GAAgBJ,UAAU,CAACK,IAAX,EAAhB;AAEA,SAAOJ,GAAP;AACD,CAND;;IAQaK,I;;;;;;;;;;;;;;;8FAcH,E;sGAgCQ,UAAAC,MAAM,EAAI;AACxB,YAAKC,KAAL,CAAWC,cAAX,iCACK,MAAKD,KAAL,CAAWE,KADhB,GAEKH,MAFL;AAID,K;wGAEiB,UAAAhC,MAAM,EAAI;AAC1B,YAAKiC,KAAL,CAAWC,cAAX,iCACK,MAAKD,KAAL,CAAWE,KADhB;AAEEnC,QAAAA,MAAM,EAANA;AAFF;AAID,K;2GAEoB,UAAAoC,SAAS,EAAI;AAChC,YAAKH,KAAL,CAAWC,cAAX,iCACK,MAAKD,KAAL,CAAWE,KADhB;AAEEC,QAAAA,SAAS,EAATA;AAFF;AAID,K;qHAE8B,UAAAC,mBAAmB,EAAI;AACpD,wBAAkC,MAAKJ,KAAvC;AAAA,UAAQE,KAAR,eAAQA,KAAR;AAAA,UAAeD,cAAf,eAAeA,cAAf;AAEAA,MAAAA,cAAc,iCACTC,KADS;AAEZE,QAAAA,mBAAmB,EAAnBA;AAFY,SAAd;AAID,K;wGAEiB,UAAAC,WAAW,EAAI;AAC/B,YAAKL,KAAL,CAAWC,cAAX,iCACK,MAAKD,KAAL,CAAWE,KADhB;AAEEG,QAAAA,WAAW,EAAXA;AAFF;AAID,K;2GAEoB,UAAAC,OAAO,EAAI;AAC9B,YAAKN,KAAL,CAAWC,cAAX,iCACK,MAAKD,KAAL,CAAWE,KADhB;AAEEI,QAAAA,OAAO,EAAPA;AAFF;AAID,K;wGAEiB,UAAAC,kBAAkB,EAAI;AACtC,yBAAkC,MAAKP,KAAvC;AAAA,UAAQE,KAAR,gBAAQA,KAAR;AAAA,UAAeD,cAAf,gBAAeA,cAAf;AAEAA,MAAAA,cAAc,iCACTC,KADS;AAEZK,QAAAA,kBAAkB,EAAlBA;AAFY,SAAd;AAID,K;yGAEkB,UAACC,KAAD,EAAQT,MAAR,EAAmB;AACpC,yBAAiC,MAAKC,KAAtC;AAAA,UAAQE,KAAR,gBAAQA,KAAR;AAAA,UAAeD,cAAf,gBAAeA,cAAf;AACA,UAAQK,OAAR,GAAoBJ,KAApB,CAAQI,OAAR;AACA,UAAMC,kBAAN,GAA6BL,KAA7B,CAAMK,kBAAN;AACA,UAAME,YAAY,GAAG,CAACV,MAAM,IAAI,EAAX,EAAeW,MAApC;;AAEA,UAAI,CAACJ,OAAO,CAACE,KAAD,CAAZ,EAAqB;AACnBF,QAAAA,OAAO,CAACE,KAAD,CAAP,GAAiB,CAAC;AAAEG,UAAAA,KAAK,EAAEZ,MAAM,IAAI,EAAnB;AAAuBa,UAAAA,KAAK,EAAE;AAA9B,SAAD,CAAjB,CADmB,CAGnB;;AACA,YAAMC,kBAAkB,GAAGL,KAAK,GAAGD,kBAAkB,CAACG,MAA3B,GAAoCF,KAAK,GAAGD,kBAAkB,CAACG,MAA/D,GAAwE,CAAnG;AAEAH,QAAAA,kBAAkB,iDAAQA,kBAAR,uCAA+BO,KAAK,CAACD,kBAAD,CAAL,CAA0BE,IAA1B,CAA+B,CAA/B,CAA/B,EAAlB;AAEAR,QAAAA,kBAAkB,CAACS,MAAnB,CAA0BR,KAA1B,EAAiC,CAAjC,EAAoC,oCAAkBC,YAAlB,CAApC;AACD,OATD,MASO;AACLH,QAAAA,OAAO,CAACE,KAAD,CAAP,CAAe,CAAf,EAAkBG,KAAlB,GAA0BZ,MAAM,IAAI,EAApC;;AAEA,YACEQ,kBAAkB,KACdA,kBAAkB,CAACC,KAAD,CAAlB,GAA4BC,YAA5B,IAA4CF,kBAAkB,CAACC,KAAD,CAAlB,GAA4BC,YAAY,GAAG,EADzE,CADpB,EAGE;AACAF,UAAAA,kBAAkB,CAACC,KAAD,CAAlB,GAA4B,oCAAkBC,YAAlB,CAA5B;AACD;AACF;;AAEDR,MAAAA,cAAc,iCACTC,KADS;AAEZI,QAAAA,OAAO,EAAPA,OAFY;AAGZC,QAAAA,kBAAkB,EAAlBA;AAHY,SAAd;AAKD,K;iGAEU,UAAAtC,MAAM,EAAI;AACnB,yBAGI,MAAK+B,KAHT;AAAA,4CACEE,KADF;AAAA,UACWI,OADX,sBACWA,OADX;AAAA,UACoBC,kBADpB,sBACoBA,kBADpB;AAAA,UAEEN,cAFF,gBAEEA,cAFF;AAIA,UAAMgB,SAAS,GAAG1B,qBAAqB,CAACtB,MAAD,CAAvC;AACA,UAAMiD,YAAY,GAAGD,SAAS,CAACE,gBAAV,CACnB,6CADmB,CAArB;AAIA,UAAMC,UAAU,GAAG,EAAnB;AACA,UAAMC,yBAAyB,GAAG,EAAlC;AAEAH,MAAAA,YAAY,CAACI,OAAb,CAAqB,UAACC,EAAD,EAAKf,KAAL,EAAe;AAClC,YAAMgB,UAAU,GAAG,2BAAUlB,OAAO,CAACiB,EAAE,CAACE,OAAH,CAAWjB,KAAZ,CAAjB,CAAnB;;AAEA,YAAIgB,UAAJ,EAAgB;AACdA,UAAAA,UAAU,CAAC,CAAD,CAAV,GAAgB;AACdb,YAAAA,KAAK,EAAEY,EAAE,CAACE,OAAH,CAAWb,KAAX,IAAoB,EADb;AAEdA,YAAAA,KAAK,EAAE;AAFO,WAAhB;AAKAS,UAAAA,yBAAyB,CAACb,KAAD,CAAzB,GAAmCD,kBAAkB,CAACgB,EAAE,CAACE,OAAH,CAAWjB,KAAZ,CAArD;AACD;;AAEDY,QAAAA,UAAU,CAACZ,KAAD,CAAV,GAAoBgB,UAApB;AACAD,QAAAA,EAAE,CAACE,OAAH,CAAWjB,KAAX,GAAmBA,KAAnB;AACD,OAdD;;AAgBA,UAAMkB,QAAQ,GAAG,SAAXA,QAAW;AAAA,eAAMzB,cAAc,iCAChC,MAAKD,KAAL,CAAWE,KADqB;AAEnCI,UAAAA,OAAO,EAAEc,UAF0B;AAGnCf,UAAAA,WAAW,EAAEY,SAAS,CAACrB,SAHY;AAInCW,UAAAA,kBAAkB,EAAEc;AAJe,WAApB;AAAA,OAAjB;;AAOA,YAAKM,QAAL,CAAc;AACZC,QAAAA,aAAa,EAAEC;AADH,OAAd,EAEGH,QAFH;AAGD,K;2GAEoB,0BAAS,UAACI,KAAD,EAAW;AACvC,yBAGI,MAAK9B,KAHT;AAAA,UACWM,OADX,gBACEJ,KADF,CACWI,OADX;AAAA,UAEEL,cAFF,gBAEEA,cAFF;AAIA,UAAQ2B,aAAR,GAA0B,MAAKG,KAA/B,CAAQH,aAAR;;AAEA,UAAI,CAACE,KAAL,EAAY;AACV;AACD;;AAED,UAAMN,UAAU,GAAGlB,OAAO,GAAG,2BAAUA,OAAV,CAAH,GAAwB,EAAlD;AACA,UAAM0B,gBAAgB,GAAGJ,aAAa,GAAG,2BAAUA,aAAV,CAAH,GAA8B,EAApE;AAEAE,MAAAA,KAAK,CAACR,OAAN,CAAc,UAACW,IAAD,EAAU;AACtB,YAAMC,UAAU,GAAGD,IAAI,CAACE,IAAL,CAAUC,GAAV,CAAc,OAAd,CAAnB;;AAEA,YAAI,CAACZ,UAAU,CAACU,UAAD,CAAX,IAA2BF,gBAAgB,CAACE,UAAD,CAA/C,EAA6D;AAC3DG,UAAAA,MAAM,CAACC,MAAP,CAAcd,UAAd,EAA0B,sBAAKQ,gBAAL,EAAuBE,UAAvB,CAA1B;;AAEA,cAAIF,gBAAgB,CAACO,cAAjB,CAAgCL,UAAhC,CAAJ,EAAiD;AAC/C,mBAAOF,gBAAgB,CAACE,UAAD,CAAvB;AACD;AACF,SAND,MAMO;AACLG,UAAAA,MAAM,CAACC,MAAP,CAAcN,gBAAd,EAAgC,sBAAKR,UAAL,EAAiBU,UAAjB,CAAhC;;AAEA,cAAIV,UAAU,CAACe,cAAX,CAA0BL,UAA1B,CAAJ,EAA2C;AACzC,mBAAOV,UAAU,CAACU,UAAD,CAAjB;AACD;AACF;AACF,OAhBD;;AAkBA,UAAMR,QAAQ,GAAG,SAAXA,QAAW;AAAA,eAAMzB,cAAc,iCAChC,MAAKD,KAAL,CAAWE,KADqB;AAEnCI,UAAAA,OAAO,EAAEkB;AAF0B,WAApB;AAAA,OAAjB;;AAKA,YAAKG,QAAL,CAAc;AACZC,QAAAA,aAAa,EAAEI;AADH,OAAd,EAEGN,QAFH;AAGD,KAxCoB,EAwClB,GAxCkB,EAwCb;AAAEc,MAAAA,QAAQ,EAAE,KAAZ;AAAmBC,MAAAA,OAAO,EAAE;AAA5B,KAxCa,C;;;;;;WA7JrB,6BAAoB;AAClB,yBAGI,KAAKzC,KAHT;AAAA,4CACEE,KADF;AAAA,UACWG,WADX,sBACWA,WADX;AAAA,UACwBC,OADxB,sBACwBA,OADxB;AAAA,qDACiCC,kBADjC;AAAA,UACiCA,kBADjC,sCACsD,EADtD;AAAA,UAEEN,cAFF,gBAEEA,cAFF;AAIA,UAAMyC,gBAAgB,GAAG,CAACnC,kBAAkB,CAACG,MAA7C;AAEA,WAAKiB,QAAL,CAAc;AAAE1D,QAAAA,MAAM,EAAEoC;AAAV,OAAd,EAPkB,CASlB;;AACAgC,MAAAA,MAAM,CAACM,MAAP,CAAcrC,OAAd,EAAuBgB,OAAvB,CAA+B,UAACsB,MAAD,EAASpC,KAAT,EAAmB;AAChD,YAAMqC,eAAe,GAAG,CAACD,MAAM,IAAI,EAAX,EAAeE,GAAf,CAAmB,UAAAF,MAAM;AAAA,iBAAI,CAACA,MAAM,CAACjC,KAAP,IAAgB,EAAjB,EAAqBD,MAAzB;AAAA,SAAzB,CAAxB;AACA,YAAMA,MAAM,GAAGqC,IAAI,CAACC,GAAL,OAAAD,IAAI,sCAAQF,eAAR,EAAnB;;AAEA,YACEH,gBAAgB,IACb,CAACnC,kBAAkB,CAACC,KAAD,CADtB,IAEGD,kBAAkB,CAACC,KAAD,CAAlB,GAA4BE,MAF/B,IAGGH,kBAAkB,CAACC,KAAD,CAAlB,GAA4BE,MAAM,GAAG,EAJ1C,EAKE;AACAH,UAAAA,kBAAkB,CAACC,KAAD,CAAlB,GAA4B,oCAAkBE,MAAlB,CAA5B;AACD;AACF,OAZD;AAcAT,MAAAA,cAAc,iCACT,KAAKD,KAAL,CAAWE,KADF;AAEZK,QAAAA,kBAAkB,EAAlBA;AAFY,SAAd;AAID;;;WA2KD,kBAAS;AAAA;;AACP,yBAMI,KAAKP,KANT;AAAA,UACEiD,OADF,gBACEA,OADF;AAAA,UAEE/C,KAFF,gBAEEA,KAFF;AAAA,UAGEgD,aAHF,gBAGEA,aAHF;AAAA,UAIEC,sBAJF,gBAIEA,sBAJF;AAAA,UAKEC,YALF,gBAKEA,YALF;;AAOA,iBASIF,aAAa,IAAI,EATrB;AAAA,6BACEnF,MADF;AAAA,UACEA,MADF,4BACW,EADX;AAAA,qCAEEsF,cAFF;AAAA,UAEEA,cAFF,oCAEmB,EAFnB;AAAA,gCAGElD,SAHF;AAAA,UAGEA,SAHF,+BAGc,EAHd;AAAA,uCAIEC,mBAJF;AAAA,UAIEA,mBAJF,sCAIwB,EAJxB;AAAA,uCAKEG,kBALF;AAAA,UAKEA,kBALF,sCAKuB,EALvB;AAAA,iCAME+C,UANF;AAAA,UAMEA,UANF,gCAMe,EANf;AAAA,uCAOEC,gBAPF;AAAA,UAOEA,gBAPF,sCAOqB,EAPrB;AAAA,UAQEC,gBARF,QAQEA,gBARF;;AAUA,kBAOItD,KAAK,IAAI,EAPb;AAAA,UACEuD,0BADF,SACEA,0BADF;AAAA,UAEEC,aAFF,SAEEA,aAFF;AAAA,UAGEC,gBAHF,SAGEA,gBAHF;AAAA,UAIEC,yBAJF,SAIEA,yBAJF;AAAA,UAKEC,iBALF,SAKEA,iBALF;AAAA,UAMEC,MANF,SAMEA,MANF;;AAQA,UAAMC,WAAW,GAAG,EAApB;;AAEA,kBAAmDD,MAAM,IAAI,EAA7D;AAAA,UAAQE,kBAAR,SAAQA,kBAAR;AAAA,sCAA4BC,aAA5B;AAAA,UAA4BA,aAA5B,oCAA4C,EAA5C;;AACA,UAAMC,iBAAiB,GAAG,sCAA0BhB,aAA1B,CAA1B;;AAEA,cAAQhD,KAAK,CAACiE,qBAAd;AACE,aAAK,KAAL;AACEJ,UAAAA,WAAW,CAACK,QAAZ,GAAuB,KAAvB;AACA;;AACF;AACEL,UAAAA,WAAW,CAACK,QAAZ,GAAuB,QAAvB;AACA;AANJ;;AAQA,0BACE;AAAK,QAAA,SAAS,EAAEnB,OAAO,CAAC9E;AAAxB,sBACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAE+B,KADT;AAEE,UAAA,aAAa,EAAEgD,aAFjB;AAGE,UAAA,aAAa,EAAE,uBAAAhD,KAAK;AAAA,mBAAI,MAAI,CAACmE,aAAL,CAAmBnE,KAAnB,CAAJ;AAAA,WAHtB;AAIE,UAAA,qBAAqB,EAAE,+BAAAgD,aAAa;AAAA,mBAClCC,sBAAsB,CAACD,aAAD,EAAgB,IAAhB,CADY;AAAA,WAJtC;AAOE,UAAA,MAAM,EAAE;AACNoB,YAAAA,QAAQ,EAAE;AACRjB,cAAAA,cAAc,EACZA,cAAc,CAAChG,QAAf,IAA2BD,MAAM,CAACiG,cAAc,CAAC1C,KAAhB,CAF3B;AAGRiD,cAAAA,yBAAyB,EACvBrD,kBAAkB,CAAClD,QAAnB,IAA+BD,MAAM,CAACmD,kBAAkB,CAACI,KAApB;AAJ/B,aADJ;AAON4D,YAAAA,UAAU,EAAE;AACVd,cAAAA,0BAA0B,EACxBrD,mBAAmB,CAAC/C,QAApB,IACAD,MAAM,CAACgD,mBAAmB,CAACO,KAArB,CAHE;AAIVgD,cAAAA,gBAAgB,EACdxD,SAAS,CAAC9C,QAAV,IAAsBD,MAAM,CAAC+C,SAAS,CAACQ,KAAX,CALpB;AAMV+C,cAAAA,aAAa,EAAE3F,MAAM,CAACV,QAAP,IAAmBD,MAAM,CAACW,MAAM,CAAC4C,KAAR,CAN9B;AAOVkD,cAAAA,iBAAiB,EACjBP,UAAU,CAACjG,QAAX,IAAuBD,MAAM,CAACkG,UAAU,CAAC3C,KAAZ,CARnB;AASV6D,cAAAA,uBAAuB,EACvBjB,gBAAgB,CAAClG,QAAjB,IAA6BD,MAAM,CAACmG,gBAAgB,CAAC5C,KAAlB;AAVzB;AAPN;AAPV;AAFJ,sBAgCE,6CACG8C,0BAA0B,iBACzB,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAErD,mBAAmB,CAACO,KAD7B;AAEE,QAAA,SAAS,EAAEsC,OAAO,CAACxF;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEwF,OAAO,CAAClF,MADrB;AAEE,QAAA,MAAM,EAAEmC,KAAK,CAACE,mBAAN,IAA6B,EAFvC;AAGE,QAAA,QAAQ,EAAE,KAAKqE,4BAHjB;AAIE,QAAA,YAAY,EAAErB,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,WAAW,EAAEW,WANf;AAOE,QAAA,UAAU,EAAEF;AAPd,QAJF,CAFJ,EAiBGH,aAAa,iBACZ,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAE3F,MAAM,CAAC4C,KADhB;AAEE,QAAA,SAAS,EAAEsC,OAAO,CAACxF;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEwF,OAAO,CAAClF,MADrB;AAEE,QAAA,MAAM,EAAEmC,KAAK,CAACnC,MAFhB;AAGE,QAAA,QAAQ,EAAE,KAAK2G,eAHjB;AAIE,QAAA,YAAY,EAAEtB,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,gBAAgB,MANlB;AAOE,QAAA,WAAW,EAAEW,WAPf;AAQE,QAAA,UAAU,EAAEF;AARd,QAJF,CAlBJ,eA4CE;AAAK,QAAA,SAAS,EAAEZ,OAAO,CAAC7D;AAAxB,sBACE,gCAAC,sBAAD;AAAY,QAAA,SAAS,EAAE6D,OAAO,CAACxE;AAA/B,2DADF,eAIE,gCAAC,mBAAD;AACE,QAAA,OAAO,EAAE;AAACM,UAAAA,OAAO,EAAEkE,OAAO,CAAClE;AAAlB,SADX;AAEE,QAAA,oBAAoB,MAFtB;AAGE,QAAA,oBAAoB,MAHtB;AAIE,QAAA,SAAS,EAAE,OAJb;AAKE,QAAA,KAAK,EAAEmF;AALT,sBAOE,gCAAC,gBAAD;AAAM,QAAA,QAAQ,EAAE,OAAhB;AAAyB,QAAA,KAAK,EAAE,SAAhC;AAA2C,QAAA,KAAK,EAAE;AAAES,UAAAA,UAAU,EAAE;AAAd;AAAlD,QAPF,CAJF,CA5CF,EA0DGX,kBAAkB,iBAAI;AAAK,QAAA,SAAS,EAAEf,OAAO,CAAC/D;AAAxB,SAAoC8E,kBAApC,CA1DzB,eA4DE,gCAAC,wBAAD;AACE,QAAA,aAAa,EAAEY,yBADjB;AAEE,QAAA,WAAW,EAAE;AAAER,UAAAA,QAAQ,EAAE;AAAZ,SAFf;AAGE,QAAA,UAAU,EAAEP,iBAHd;AAIE,QAAA,iBAAiB,EAAE;AACjBgB,UAAAA,IAAI,EAAE,+BADW;AAEjBC,UAAAA,OAAO,EAAE;AACPC,YAAAA,UAAU,EAAE;AADL,WAFQ;AAKjBvB,UAAAA,gBAAgB,EAAEA,gBALD;AAMjBwB,UAAAA,eAAe,EAAE,yBAAC/C,IAAD,EAAOrB,KAAP,EAAcqE,aAAd,EAAgC;AAC/C,gBAAQ/E,KAAR,GAAkB,MAAI,CAACF,KAAvB,CAAQE,KAAR;AACA,gBAAMgF,aAAa,GAAG,CAAChF,KAAK,CAACI,OAAN,CACrB2B,IAAI,CAACE,IAAL,CAAUC,GAAV,CAAc,OAAd,CADqB,KAElB,EAFiB,EAEb,CAFa,CAAtB;AAIA,mBAAO;AAAA,kCACL,gCAAC,sBAAD;AACE,gBAAA,gBAAgB,EAAE,0BAAArC,MAAM;AAAA,yBACtB,MAAI,CAACoF,gBAAL,CAAsBlD,IAAI,CAACE,IAAL,CAAUC,GAAV,CAAc,OAAd,CAAtB,EAA8CrC,MAA9C,CADsB;AAAA,iBAD1B;AAIE,gBAAA,IAAI,EAAEkC,IAJR;AAKE,gBAAA,KAAK,EAAErB,KALT;AAME,gBAAA,aAAa,EAAEqE,aANjB;AAOE,gBAAA,aAAa,EAAEC;AAPjB,gBADK;AAAA,aAAP;AAWD,WAvBgB;AAwBjBE,UAAAA,KAAK,EAAE;AAAA,mBAAMnB,aAAN;AAAA,WAxBU;AAyBjBoB,UAAAA,kBAAkB,EAAE,KAAKA;AAzBR,SAJrB;AA+BE,QAAA,SAAS,EAAEpC,OAAO,CAAChF,MA/BrB;AAgCE,QAAA,MAAM,EAAEiC,KAAK,CAACG,WAhChB;AAiCE,QAAA,QAAQ,EAAE,KAAKiF,QAjCjB;AAkCE,QAAA,YAAY,EAAElC,YAlChB;AAmCE,QAAA,MAAM,EAAE,KAAKmC,MAnCf;AAoCE,QAAA,QAAQ,EAAE,KApCZ;AAqCE,QAAA,cAAc,EAAE,KArClB;AAsCE,QAAA,KAAK,EAAEvB;AAtCT,QA5DF,EAoGG,CAAC,yBAAQ9D,KAAK,CAACI,OAAd,CAAD,iBACC,gCAAC,sBAAD;AAAY,QAAA,SAAS,EAAE2C,OAAO,CAACxE;AAA/B,qCACwBmF,yBAAyB,GAAG,sBAAH,GAA4B,EAD7E,EArGJ,eAyGE,gCAAC,8BAAD;AACE,QAAA,KAAK,EAAE1D,KADT;AAEE,QAAA,QAAQ,EAAE,KAAKsF,kBAFjB;AAGE,QAAA,cAAc,EAAE,KAAKC,eAHvB;AAIE,QAAA,yBAAyB,EAAE7B,yBAJ7B;AAKE,QAAA,UAAU,EAAEC,iBALd;AAME,QAAA,aAAa,EAAEI;AANjB,QAzGF,EAiHGN,gBAAgB,iBACf,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAExD,SAAS,CAACQ,KADnB;AAEE,QAAA,SAAS,EAAEsC,OAAO,CAACxF;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEwF,OAAO,CAAClF,MADrB;AAEE,QAAA,MAAM,EAAEmC,KAAK,CAACC,SAAN,IAAmB,EAF7B;AAGE,QAAA,QAAQ,EAAE,KAAKuF,kBAHjB;AAIE,QAAA,YAAY,EAAEtC,YAJhB;AAKE,QAAA,WAAW,EAAEW,WALf;AAME,QAAA,UAAU,EAAEF;AANd,QAJF,CAlHJ,CAhCF,CADF,CADF;AAsKD;;;EApauB8B,kBAAMC,S;;;iCAAnB9F,I,eACQ;AACjBoD,EAAAA,aAAa,EAAE2C,sBAAUC,MAAV,CAAiBC,UADf;AAEjB7F,EAAAA,KAAK,EAAE2F,sBAAUC,MAAV,CAAiBC,UAFP;AAGjBC,EAAAA,gBAAgB,EAAEH,sBAAUI,IAHX;AAIjBhG,EAAAA,cAAc,EAAE4F,sBAAUK,IAAV,CAAeH,UAJd;AAKjB5C,EAAAA,sBAAsB,EAAE0C,sBAAUK,IAAV,CAAeH,UALtB;AAMjB9C,EAAAA,OAAO,EAAE4C,sBAAUC,MAAV,CAAiBC,UANT;AAOjB3C,EAAAA,YAAY,EAAEyC,sBAAUM,KAAV,CAAgB;AAC5BC,IAAAA,GAAG,EAAEP,sBAAUK,IAAV,CAAeH,UADQ;AAE5B,cAAQF,sBAAUK,IAAV,CAAeH;AAFK,GAAhB;AAPG,C;AAsarB,IAAMM,MAAM,GAAG,wBAAW9I,MAAX,EAAmBuC,IAAnB,CAAf;eAEeuG,M","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport pick from 'lodash/pick';\nimport throttle from 'lodash/throttle';\nimport EditableHtml, {ALL_PLUGINS} from '@pie-lib/editable-html';\n// import EditableHtmlNew from 'editable-html';\nimport {InputContainer, layout, settings} from '@pie-lib/config-ui';\nimport {withStyles} from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport ECRToolbar from './ecr-toolbar';\nimport AlternateResponses from './alternateResponses';\nimport { getAdjustedLength } from './markupUtils';\nimport {generateValidationMessage} from './utils';\n\nconst { toggle, Panel } = settings;\n\nconst styles = theme => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n markup: {\n minHeight: '100px',\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n '& [data-slate-editor=\"true\"]': {\n minHeight: '100px'\n }\n },\n design: {\n paddingTop: theme.spacing.unit * 3\n },\n choiceConfiguration: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0\n },\n addButton: {\n float: 'right'\n },\n text: {\n color: '#495B8F',\n fontFamily: 'Cerebri Sans',\n fontSize: '16px',\n lineHeight: '19px',\n marginTop: theme.spacing.unit * 4\n },\n tooltip: {\n fontSize: '12px',\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0'\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'end'\n }\n});\n\nconst createElementFromHTML = htmlString => {\n const div = document.createElement('div');\n\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n state = {};\n\n componentDidMount() {\n const {\n model: { slateMarkup, choices, maxLengthPerChoice = []},\n onModelChanged\n } = this.props;\n const undefinedLengths = !maxLengthPerChoice.length;\n\n this.setState({ markup: slateMarkup });\n\n // calculate maxLengthPerChoice array if it is not defined or defined incorrectly\n Object.values(choices).forEach((choice, index) => {\n const labelLengthsArr = (choice || []).map(choice => (choice.label || '').length);\n const length = Math.max(...labelLengthsArr);\n\n if (\n undefinedLengths\n || !maxLengthPerChoice[index]\n || maxLengthPerChoice[index] < length\n || maxLengthPerChoice[index] > length + 10\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(length);\n }\n });\n\n onModelChanged({\n ...this.props.model,\n maxLengthPerChoice\n });\n }\n\n onModelChange = newVal => {\n this.props.onModelChanged({\n ...this.props.model,\n ...newVal\n });\n };\n\n onPromptChanged = prompt => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt\n });\n };\n\n onRationaleChanged = rationale => {\n this.props.onModelChanged({\n ...this.props.model,\n rationale\n });\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n teacherInstructions\n });\n };\n\n onMarkupChanged = slateMarkup => {\n this.props.onModelChanged({\n ...this.props.model,\n slateMarkup\n });\n };\n\n onResponsesChanged = choices => {\n this.props.onModelChanged({\n ...this.props.model,\n choices\n });\n };\n\n onLengthChanged = maxLengthPerChoice => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n maxLengthPerChoice\n });\n };\n\n onChangeResponse = (index, newVal) => {\n const { model, onModelChanged} = this.props;\n const { choices } = model;\n let { maxLengthPerChoice } = model;\n const newValLength = (newVal || '').length;\n\n if (!choices[index]) {\n choices[index] = [{ label: newVal || '', value: '0' }];\n\n // add default values for missing choices up to the new index position\n const nbOfMissingChoices = index > maxLengthPerChoice.length ? index - maxLengthPerChoice.length : 0;\n\n maxLengthPerChoice = [ ...maxLengthPerChoice, ...Array(nbOfMissingChoices).fill(1) ];\n\n maxLengthPerChoice.splice(index, 0, getAdjustedLength(newValLength));\n } else {\n choices[index][0].label = newVal || '';\n\n if (\n maxLengthPerChoice\n && (maxLengthPerChoice[index] < newValLength || maxLengthPerChoice[index] > newValLength + 10)\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(newValLength);\n }\n }\n\n onModelChanged({\n ...model,\n choices,\n maxLengthPerChoice\n });\n };\n\n onChange = markup => {\n const {\n model: { choices, maxLengthPerChoice },\n onModelChanged\n } = this.props;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll(\n '[data-type=\"explicit_constructed_response\"]'\n );\n\n const allChoices = {};\n const updatedMaxLengthPerChoice = [];\n\n allRespAreas.forEach((el, index) => {\n const newChoices = cloneDeep(choices[el.dataset.index]);\n\n if (newChoices) {\n newChoices[0] = {\n label: el.dataset.value || '',\n value: '0'\n };\n\n updatedMaxLengthPerChoice[index] = maxLengthPerChoice[el.dataset.index];\n }\n\n allChoices[index] = newChoices;\n el.dataset.index = index;\n });\n\n const callback = () => onModelChanged({\n ...this.props.model,\n choices: allChoices,\n slateMarkup: domMarkup.innerHTML,\n maxLengthPerChoice: updatedMaxLengthPerChoice\n });\n\n this.setState({\n cachedChoices: undefined\n }, callback);\n };\n\n onHandleAreaChange = throttle((nodes) => {\n const {\n model: { choices },\n onModelChanged\n } = this.props;\n const { cachedChoices } = this.state;\n\n if (!nodes) {\n return;\n }\n\n const newChoices = choices ? cloneDeep(choices) : {};\n const newCachedChoices = cachedChoices ? cloneDeep(cachedChoices) : {};\n\n nodes.forEach((node) => {\n const keyForNode = node.data.get('index');\n\n if (!newChoices[keyForNode] && newCachedChoices[keyForNode]) {\n Object.assign(newChoices, pick(newCachedChoices, keyForNode));\n\n if (newCachedChoices.hasOwnProperty(keyForNode)) {\n delete newCachedChoices[keyForNode];\n }\n } else {\n Object.assign(newCachedChoices, pick(newChoices, keyForNode));\n\n if (newChoices.hasOwnProperty(keyForNode)) {\n delete newChoices[keyForNode];\n }\n }\n });\n\n const callback = () => onModelChanged({\n ...this.props.model,\n choices: newChoices\n });\n\n this.setState({\n cachedChoices: newCachedChoices\n }, callback);\n }, 500, { trailing: false, leading: true });\n\n render() {\n const {\n classes,\n model,\n configuration,\n onConfigurationChanged,\n imageSupport\n } = this.props;\n const {\n prompt = {},\n partialScoring = {},\n rationale = {},\n teacherInstructions = {},\n maxLengthPerChoice = {},\n spellCheck = {},\n playerSpellCheck = {},\n maxResponseAreas\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n rationaleEnabled,\n maxLengthPerChoiceEnabled,\n spellCheckEnabled,\n errors\n } = model || {};\n const toolbarOpts = {};\n\n const { responseAreasError, choicesErrors = {} } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => this.onModelChange(model)}\n onChangeConfiguration={configuration =>\n onConfigurationChanged(configuration, true)\n }\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n maxLengthPerChoiceEnabled:\n maxLengthPerChoice.settings && toggle(maxLengthPerChoice.label),\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n rationaleEnabled:\n rationale.settings && toggle(rationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckEnabled:\n playerSpellCheck.settings && toggle(playerSpellCheck.label),\n }\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\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 />\n {/*<EditableHtmlNew*/}\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 {/*/>*/}\n </InputContainer>\n )}\n <div className={classes.flexContainer}>\n <Typography className={classes.text}>\n Define Template, Choices, and Correct Responses\n </Typography>\n <Tooltip\n classes={{tooltip: classes.tooltip}}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }}/>\n </Tooltip>\n </div>\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n toolbarOpts={{ position: 'top' }}\n spellCheck={spellCheckEnabled}\n responseAreaProps={{\n type: 'explicit-constructed-response',\n options: {\n duplicates: true\n },\n maxResponseAreas: maxResponseAreas,\n respAreaToolbar: (node, value, onToolbarDone) => {\n const { model } = this.props;\n const correctChoice = (model.choices[\n node.data.get('index')\n ] || [])[0];\n\n return () => (\n <ECRToolbar\n onChangeResponse={newVal =>\n this.onChangeResponse(node.data.get('index'), newVal)\n }\n node={node}\n value={value}\n onToolbarDone={onToolbarDone}\n correctChoice={correctChoice}\n />\n );\n },\n error: () => choicesErrors,\n onHandleAreaChange: this.onHandleAreaChange\n }}\n className={classes.markup}\n markup={model.slateMarkup}\n onChange={this.onChange}\n imageSupport={imageSupport}\n onBlur={this.onBlur}\n disabled={false}\n highlightShape={false}\n error={responseAreasError}\n />\n {!isEmpty(model.choices) && (\n <Typography className={classes.text}>\n {`Define Alternates ${maxLengthPerChoiceEnabled ? 'and Character Limits' : ''}`}\n </Typography>\n )}\n <AlternateResponses\n model={model}\n onChange={this.onResponsesChanged}\n onLengthChange={this.onLengthChanged}\n maxLengthPerChoiceEnabled={maxLengthPerChoiceEnabled}\n spellCheck={spellCheckEnabled}\n choicesErrors={choicesErrors}\n />\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n </div>\n </layout.ConfigLayout>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["toggle","settings","Panel","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","markup","minHeight","design","choiceConfiguration","switchElement","justifyContent","margin","addButton","text","color","fontFamily","fontSize","lineHeight","marginTop","tooltip","whiteSpace","maxWidth","errorText","padding","flexContainer","display","alignItems","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","Main","newVal","props","onModelChanged","model","rationale","teacherInstructions","slateMarkup","choices","maxLengthPerChoice","index","newValLength","length","label","value","nbOfMissingChoices","Array","fill","splice","domMarkup","allRespAreas","querySelectorAll","allChoices","updatedMaxLengthPerChoice","forEach","el","newChoices","dataset","callback","setState","cachedChoices","undefined","nodes","state","newCachedChoices","node","keyForNode","data","get","Object","assign","hasOwnProperty","trailing","leading","undefinedLengths","values","choice","labelLengthsArr","map","Math","max","classes","configuration","onConfigurationChanged","imageSupport","partialScoring","spellCheck","playerSpellCheck","maxResponseAreas","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","maxLengthPerChoiceEnabled","spellCheckEnabled","errors","toolbarOpts","responseAreasError","choicesErrors","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","toolbarEditorPosition","position","onModelChange","Settings","Properties","playerSpellCheckEnabled","onTeacherInstructionsChanged","onPromptChanged","marginLeft","ALL_PLUGINS","type","options","duplicates","respAreaToolbar","onToolbarDone","correctChoice","onChangeResponse","error","onHandleAreaChange","onChange","onBlur","onResponsesChanged","onLengthChanged","onRationaleChanged","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport pick from 'lodash/pick';\nimport throttle from 'lodash/throttle';\nimport EditableHtml, {ALL_PLUGINS} from '@pie-lib/editable-html';\n// import EditableHtmlNew from 'editable-html';\nimport {InputContainer, layout, settings} from '@pie-lib/config-ui';\nimport {withStyles} from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport ECRToolbar from './ecr-toolbar';\nimport AlternateResponses from './alternateResponses';\nimport { getAdjustedLength } from './markupUtils';\nimport {generateValidationMessage} from './utils';\n\nconst { toggle, Panel } = settings;\n\nconst styles = theme => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n markup: {\n minHeight: '100px',\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n '& [data-slate-editor=\"true\"]': {\n minHeight: '100px'\n }\n },\n design: {\n paddingTop: theme.spacing.unit * 3\n },\n choiceConfiguration: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0\n },\n addButton: {\n float: 'right'\n },\n text: {\n color: '#495B8F',\n fontFamily: 'Cerebri Sans',\n fontSize: '16px',\n lineHeight: '19px',\n marginTop: theme.spacing.unit * 4\n },\n tooltip: {\n fontSize: '12px',\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0'\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'end'\n }\n});\n\nconst createElementFromHTML = htmlString => {\n const div = document.createElement('div');\n\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n state = {};\n\n componentDidMount() {\n const {\n model: { slateMarkup, choices, maxLengthPerChoice = []},\n onModelChanged\n } = this.props;\n const undefinedLengths = !maxLengthPerChoice.length;\n\n this.setState({ markup: slateMarkup });\n\n // calculate maxLengthPerChoice array if it is not defined or defined incorrectly\n Object.values(choices).forEach((choice, index) => {\n const labelLengthsArr = (choice || []).map(choice => (choice.label || '').length);\n const length = Math.max(...labelLengthsArr);\n\n if (\n undefinedLengths\n || !maxLengthPerChoice[index]\n || maxLengthPerChoice[index] < length\n || maxLengthPerChoice[index] > length + 10\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(length);\n }\n });\n\n onModelChanged({\n ...this.props.model,\n maxLengthPerChoice\n });\n }\n\n onModelChange = newVal => {\n this.props.onModelChanged({\n ...this.props.model,\n ...newVal\n });\n };\n\n onPromptChanged = prompt => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt\n });\n };\n\n onRationaleChanged = rationale => {\n this.props.onModelChanged({\n ...this.props.model,\n rationale\n });\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n teacherInstructions\n });\n };\n\n onMarkupChanged = slateMarkup => {\n this.props.onModelChanged({\n ...this.props.model,\n slateMarkup\n });\n };\n\n onResponsesChanged = choices => {\n this.props.onModelChanged({\n ...this.props.model,\n choices\n });\n };\n\n onLengthChanged = maxLengthPerChoice => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n maxLengthPerChoice\n });\n };\n\n onChangeResponse = (index, newVal) => {\n const { model, onModelChanged} = this.props;\n const { choices } = model;\n let { maxLengthPerChoice } = model;\n const newValLength = (newVal || '').length;\n\n if (!choices[index]) {\n choices[index] = [{ label: newVal || '', value: '0' }];\n\n // add default values for missing choices up to the new index position\n const nbOfMissingChoices = index > maxLengthPerChoice.length ? index - maxLengthPerChoice.length : 0;\n\n maxLengthPerChoice = [ ...maxLengthPerChoice, ...Array(nbOfMissingChoices).fill(1) ];\n\n maxLengthPerChoice.splice(index, 0, getAdjustedLength(newValLength));\n } else {\n choices[index][0].label = newVal || '';\n\n if (\n maxLengthPerChoice\n && (maxLengthPerChoice[index] < newValLength || maxLengthPerChoice[index] > newValLength + 10)\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(newValLength);\n }\n }\n\n onModelChanged({\n ...model,\n choices,\n maxLengthPerChoice\n });\n };\n\n onChange = markup => {\n const {\n model: { choices, maxLengthPerChoice },\n onModelChanged\n } = this.props;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll(\n '[data-type=\"explicit_constructed_response\"]'\n );\n\n const allChoices = {};\n const updatedMaxLengthPerChoice = [];\n\n allRespAreas.forEach((el, index) => {\n const newChoices = cloneDeep(choices[el.dataset.index]);\n\n if (newChoices) {\n newChoices[0] = {\n label: el.dataset.value || '',\n value: '0'\n };\n\n updatedMaxLengthPerChoice[index] = maxLengthPerChoice[el.dataset.index];\n }\n\n allChoices[index] = newChoices;\n el.dataset.index = index;\n });\n\n const callback = () => onModelChanged({\n ...this.props.model,\n choices: allChoices,\n slateMarkup: domMarkup.innerHTML,\n maxLengthPerChoice: updatedMaxLengthPerChoice\n });\n\n this.setState({\n cachedChoices: undefined\n }, callback);\n };\n\n onHandleAreaChange = throttle((nodes) => {\n const {\n model: { choices },\n onModelChanged\n } = this.props;\n const { cachedChoices } = this.state;\n\n if (!nodes) {\n return;\n }\n\n const newChoices = choices ? cloneDeep(choices) : {};\n const newCachedChoices = cachedChoices ? cloneDeep(cachedChoices) : {};\n\n nodes.forEach((node) => {\n const keyForNode = node.data.get('index');\n\n if (!newChoices[keyForNode] && newCachedChoices[keyForNode]) {\n Object.assign(newChoices, pick(newCachedChoices, keyForNode));\n\n if (newCachedChoices.hasOwnProperty(keyForNode)) {\n delete newCachedChoices[keyForNode];\n }\n } else {\n Object.assign(newCachedChoices, pick(newChoices, keyForNode));\n\n if (newChoices.hasOwnProperty(keyForNode)) {\n delete newChoices[keyForNode];\n }\n }\n });\n\n const callback = () => onModelChanged({\n ...this.props.model,\n choices: newChoices\n });\n\n this.setState({\n cachedChoices: newCachedChoices\n }, callback);\n }, 500, { trailing: false, leading: true });\n\n render() {\n const {\n classes,\n model,\n configuration,\n onConfigurationChanged,\n imageSupport\n } = this.props;\n const {\n prompt = {},\n partialScoring = {},\n rationale = {},\n teacherInstructions = {},\n maxLengthPerChoice = {},\n spellCheck = {},\n playerSpellCheck = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n rationaleEnabled,\n maxLengthPerChoiceEnabled,\n spellCheckEnabled,\n errors\n } = model || {};\n const toolbarOpts = {};\n\n const { responseAreasError, choicesErrors = {} } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => this.onModelChange(model)}\n onChangeConfiguration={configuration =>\n onConfigurationChanged(configuration, true)\n }\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n maxLengthPerChoiceEnabled:\n maxLengthPerChoice.settings && toggle(maxLengthPerChoice.label),\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n rationaleEnabled:\n rationale.settings && toggle(rationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckEnabled:\n playerSpellCheck.settings && toggle(playerSpellCheck.label),\n }\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\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 />\n </InputContainer>\n )}\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\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={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n />\n {/*<EditableHtmlNew*/}\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 {/*/>*/}\n </InputContainer>\n )}\n <div className={classes.flexContainer}>\n <Typography className={classes.text}>\n Define Template, Choices, and Correct Responses\n </Typography>\n <Tooltip\n classes={{tooltip: classes.tooltip}}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }}/>\n </Tooltip>\n </div>\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n toolbarOpts={{ position: 'top' }}\n spellCheck={spellCheckEnabled}\n responseAreaProps={{\n type: 'explicit-constructed-response',\n options: {\n duplicates: true\n },\n maxResponseAreas: maxResponseAreas,\n respAreaToolbar: (node, value, onToolbarDone) => {\n const { model } = this.props;\n const correctChoice = (model.choices[\n node.data.get('index')\n ] || [])[0];\n\n return () => (\n <ECRToolbar\n onChangeResponse={newVal =>\n this.onChangeResponse(node.data.get('index'), newVal)\n }\n node={node}\n value={value}\n onToolbarDone={onToolbarDone}\n correctChoice={correctChoice}\n />\n );\n },\n error: () => choicesErrors,\n onHandleAreaChange: this.onHandleAreaChange\n }}\n className={classes.markup}\n markup={model.slateMarkup}\n onChange={this.onChange}\n imageSupport={imageSupport}\n onBlur={this.onBlur}\n disabled={false}\n highlightShape={false}\n error={responseAreasError}\n />\n {!isEmpty(model.choices) && (\n <Typography className={classes.text}>\n {`Define Alternates ${maxLengthPerChoiceEnabled ? 'and Character Limits' : ''}`}\n </Typography>\n )}\n <AlternateResponses\n model={model}\n onChange={this.onResponsesChanged}\n onLengthChange={this.onLengthChanged}\n maxLengthPerChoiceEnabled={maxLengthPerChoiceEnabled}\n spellCheck={spellCheckEnabled}\n choicesErrors={choicesErrors}\n />\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight}\n />\n </InputContainer>\n )}\n </div>\n </layout.ConfigLayout>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
@@ -7,7 +7,7 @@ exports.generateValidationMessage = void 0;
7
7
 
8
8
  var generateValidationMessage = function generateValidationMessage(config) {
9
9
  var maxResponseAreas = config.maxResponseAreas;
10
- var responseAreasMessage = '\nThe response area content should ' + 'not be empty and should be unique.\nThere should be at least 1 ' + (maxResponseAreas ? "and at most ".concat(maxResponseAreas, " ") : '') + 'response area' + (maxResponseAreas ? 's' : '') + ' defined.';
10
+ var responseAreasMessage = '\nCorrect answers should not be blank.' + '\nEach answer defined for a response area should be unique.' + '\nThere should be at least 1 ' + (maxResponseAreas ? "and at most ".concat(maxResponseAreas, " ") : '') + 'response area' + (maxResponseAreas ? 's' : '') + ' defined.';
11
11
  return 'Validation requirements:' + responseAreasMessage;
12
12
  };
13
13
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.js"],"names":["generateValidationMessage","config","maxResponseAreas","responseAreasMessage"],"mappings":";;;;;;;AAAO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAAC,MAAM,EAAI;AACjD,MAAQC,gBAAR,GAA6BD,MAA7B,CAAQC,gBAAR;AAEA,MAAMC,oBAAoB,GAAG,wCAC3B,iEAD2B,IAE1BD,gBAAgB,yBAAkBA,gBAAlB,SAAwC,EAF9B,IAG3B,eAH2B,IAGRA,gBAAgB,GAAG,GAAH,GAAS,EAHjB,IAGuB,WAHpD;AAKA,SAAO,6BAA6BC,oBAApC;AACD,CATM","sourcesContent":["export const generateValidationMessage = config => {\n const { maxResponseAreas } = config;\n\n const responseAreasMessage = '\\nThe response area content should ' +\n 'not be empty and should be unique.\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' + (maxResponseAreas ? 's' : '') + ' defined.';\n\n return 'Validation requirements:' + responseAreasMessage;\n};\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../src/utils.js"],"names":["generateValidationMessage","config","maxResponseAreas","responseAreasMessage"],"mappings":";;;;;;;AAAO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAAC,MAAM,EAAI;AACjD,MAAQC,gBAAR,GAA6BD,MAA7B,CAAQC,gBAAR;AAEA,MAAMC,oBAAoB,GAAG,2CAC3B,6DAD2B,GAE3B,+BAF2B,IAG1BD,gBAAgB,yBAAkBA,gBAAlB,SAAwC,EAH9B,IAI3B,eAJ2B,IAIRA,gBAAgB,GAAG,GAAH,GAAS,EAJjB,IAIuB,WAJpD;AAMA,SAAO,6BAA6BC,oBAApC;AACD,CAVM","sourcesContent":["export const generateValidationMessage = config => {\n const { maxResponseAreas } = config;\n\n const responseAreasMessage = '\\nCorrect answers should not be blank.' +\n '\\nEach answer defined for a response area should be unique.' +\n '\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' + (maxResponseAreas ? 's' : '') + ' defined.';\n\n return 'Validation requirements:' + responseAreasMessage;\n};\n"],"file":"utils.js"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/explicit-constructed-response-configure",
3
- "version": "3.8.3",
3
+ "version": "4.1.0",
4
4
  "private": true,
5
5
  "main": "lib/index.js",
6
6
  "modue": "src/index.js",
@@ -8,8 +8,8 @@
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@material-ui/icons": "^3.0.1",
10
10
  "@pie-framework/pie-configure-events": "^1.2.0",
11
- "@pie-lib/config-ui": "^10.13.2",
12
- "@pie-lib/editable-html": "^7.22.5",
11
+ "@pie-lib/config-ui": "^11.0.3",
12
+ "@pie-lib/editable-html": "^8.1.2",
13
13
  "classnames": "^2.2.6",
14
14
  "debug": "^3.1.0",
15
15
  "lodash": "^4.17.15",
@@ -184,6 +184,48 @@
184
184
  "type": "number",
185
185
  "title": "maxResponseAreas"
186
186
  },
187
+ "maxImageWidth": {
188
+ "title": "ConfigureMaxImageDimensionsProp",
189
+ "type": "object",
190
+ "properties": {
191
+ "teacherInstructions": {
192
+ "description": "Indicates the max dimension for images in teacher instructions",
193
+ "type": "number",
194
+ "title": "teacherInstructions"
195
+ },
196
+ "prompt": {
197
+ "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
198
+ "type": "number",
199
+ "title": "prompt"
200
+ },
201
+ "rationale": {
202
+ "description": "Indicates the max dimension for images in rationale",
203
+ "type": "number",
204
+ "title": "rationale"
205
+ }
206
+ }
207
+ },
208
+ "maxImageHeight": {
209
+ "title": "ConfigureMaxImageDimensionsProp",
210
+ "type": "object",
211
+ "properties": {
212
+ "teacherInstructions": {
213
+ "description": "Indicates the max dimension for images in teacher instructions",
214
+ "type": "number",
215
+ "title": "teacherInstructions"
216
+ },
217
+ "prompt": {
218
+ "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
219
+ "type": "number",
220
+ "title": "prompt"
221
+ },
222
+ "rationale": {
223
+ "description": "Indicates the max dimension for images in rationale",
224
+ "type": "number",
225
+ "title": "rationale"
226
+ }
227
+ }
228
+ },
187
229
  "showPrompt": {
188
230
  "description": "Determines whether prompt field will be displayed or not",
189
231
  "default": true,
@@ -219,6 +261,27 @@
219
261
  "title": "label"
220
262
  }
221
263
  }
264
+ },
265
+ "ConfigureMaxImageDimensionsProp": {
266
+ "title": "ConfigureMaxImageDimensionsProp",
267
+ "type": "object",
268
+ "properties": {
269
+ "teacherInstructions": {
270
+ "description": "Indicates the max dimension for images in teacher instructions",
271
+ "type": "number",
272
+ "title": "teacherInstructions"
273
+ },
274
+ "prompt": {
275
+ "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
276
+ "type": "number",
277
+ "title": "prompt"
278
+ },
279
+ "rationale": {
280
+ "description": "Indicates the max dimension for images in rationale",
281
+ "type": "number",
282
+ "title": "rationale"
283
+ }
284
+ }
222
285
  }
223
286
  },
224
287
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -138,6 +138,38 @@ Indicates the label for the item that has to be displayed in the Settings Panel
138
138
 
139
139
  Maximum number of response areas
140
140
 
141
+ # `maxImageWidth` (object)
142
+
143
+ Properties of the `maxImageWidth` object:
144
+
145
+ ## `teacherInstructions` (number)
146
+
147
+ Indicates the max dimension for images in teacher instructions
148
+
149
+ ## `prompt` (number)
150
+
151
+ Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
152
+
153
+ ## `rationale` (number)
154
+
155
+ Indicates the max dimension for images in rationale
156
+
157
+ # `maxImageHeight` (object)
158
+
159
+ Properties of the `maxImageHeight` object:
160
+
161
+ ## `teacherInstructions` (number)
162
+
163
+ Indicates the max dimension for images in teacher instructions
164
+
165
+ ## `prompt` (number)
166
+
167
+ Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
168
+
169
+ ## `rationale` (number)
170
+
171
+ Indicates the max dimension for images in rationale
172
+
141
173
  # `showPrompt` (boolean)
142
174
 
143
175
  Determines whether prompt field will be displayed or not
@@ -172,4 +204,20 @@ Indicates if the item has to be displayed in the Settings Panel
172
204
 
173
205
  ### `label` (string)
174
206
 
175
- Indicates the label for the item that has to be displayed in the Settings Panel
207
+ Indicates the label for the item that has to be displayed in the Settings Panel
208
+
209
+ ## `ConfigureMaxImageDimensionsProp` (object)
210
+
211
+ Properties of the `ConfigureMaxImageDimensionsProp` object:
212
+
213
+ ### `teacherInstructions` (number)
214
+
215
+ Indicates the max dimension for images in teacher instructions
216
+
217
+ ### `prompt` (number)
218
+
219
+ Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
220
+
221
+ ### `rationale` (number)
222
+
223
+ Indicates the max dimension for images in rationale
@@ -174,6 +174,27 @@
174
174
  }
175
175
  }
176
176
  },
177
+ "ConfigureMaxImageDimensionsProp": {
178
+ "title": "ConfigureMaxImageDimensionsProp",
179
+ "type": "object",
180
+ "properties": {
181
+ "teacherInstructions": {
182
+ "description": "Indicates the max dimension for images in teacher instructions",
183
+ "type": "number",
184
+ "title": "teacherInstructions"
185
+ },
186
+ "prompt": {
187
+ "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
188
+ "type": "number",
189
+ "title": "prompt"
190
+ },
191
+ "rationale": {
192
+ "description": "Indicates the max dimension for images in rationale",
193
+ "type": "number",
194
+ "title": "rationale"
195
+ }
196
+ }
197
+ },
177
198
  "Choice": {
178
199
  "title": "Choice",
179
200
  "type": "object",
@@ -115,6 +115,22 @@ Indicates if the item has to be displayed in the Settings Panel
115
115
 
116
116
  Indicates the label for the item that has to be displayed in the Settings Panel
117
117
 
118
+ ## `ConfigureMaxImageDimensionsProp` (object)
119
+
120
+ Properties of the `ConfigureMaxImageDimensionsProp` object:
121
+
122
+ ### `teacherInstructions` (number)
123
+
124
+ Indicates the max dimension for images in teacher instructions
125
+
126
+ ### `prompt` (number)
127
+
128
+ Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
129
+
130
+ ### `rationale` (number)
131
+
132
+ Indicates the max dimension for images in rationale
133
+
118
134
  ## `Choice` (object)
119
135
 
120
136
  Properties of the `Choice` object:
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "3.13.3",
7
+ "version": "4.1.0",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -13,10 +13,10 @@
13
13
  "dependencies": {
14
14
  "@material-ui/core": "^3.9.2",
15
15
  "@pie-framework/pie-player-events": "^0.1.0",
16
- "@pie-lib/correct-answer-toggle": "^2.3.38",
17
- "@pie-lib/mask-markup": "^1.12.6",
18
- "@pie-lib/math-rendering": "^2.4.2",
19
- "@pie-lib/render-ui": "^4.12.8",
16
+ "@pie-lib/correct-answer-toggle": "^2.3.39",
17
+ "@pie-lib/mask-markup": "^1.12.7",
18
+ "@pie-lib/math-rendering": "^2.4.3",
19
+ "@pie-lib/render-ui": "^4.12.9",
20
20
  "classnames": "^2.2.5",
21
21
  "lodash": "^4.17.10",
22
22
  "prop-types": "^15.6.1",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "author": "",
27
27
  "license": "ISC",
28
- "gitHead": "3f3d6edc68890098821978ebd5a8b90da31ab222",
28
+ "gitHead": "9b55e36b358084c7a96a08bad969f4856d6802da",
29
29
  "main": "lib/index.js",
30
30
  "module": "src/index.js",
31
31
  "exports": {