@pie-element/multiple-choice 9.19.0-beta.0 → 9.19.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +68 -2
  2. package/configure/CHANGELOG.md +61 -2
  3. package/configure/lib/defaults.js +1 -1
  4. package/configure/lib/defaults.js.map +1 -0
  5. package/configure/lib/index.js +2 -2
  6. package/configure/lib/index.js.map +1 -0
  7. package/configure/lib/main.js +7 -7
  8. package/configure/lib/main.js.map +1 -0
  9. package/configure/lib/utils.js +1 -1
  10. package/configure/lib/utils.js.map +1 -0
  11. package/configure/package.json +2 -4
  12. package/controller/CHANGELOG.md +61 -2
  13. package/controller/lib/defaults.js +1 -1
  14. package/controller/lib/defaults.js.map +1 -0
  15. package/controller/lib/index.js +2 -2
  16. package/controller/lib/index.js.map +1 -0
  17. package/controller/lib/utils.js +1 -1
  18. package/controller/lib/utils.js.map +1 -0
  19. package/controller/package.json +2 -2
  20. package/lib/choice-input.js +2 -2
  21. package/lib/choice-input.js.map +1 -0
  22. package/lib/choice.js +1 -1
  23. package/lib/choice.js.map +1 -0
  24. package/lib/feedback-tick.js +2 -2
  25. package/lib/feedback-tick.js.map +1 -0
  26. package/lib/index.js +22 -8
  27. package/lib/index.js.map +1 -0
  28. package/lib/main.js +2 -2
  29. package/lib/main.js.map +1 -0
  30. package/lib/multiple-choice.js +9 -6
  31. package/lib/multiple-choice.js.map +1 -0
  32. package/lib/print.js +2 -2
  33. package/lib/print.js.map +1 -0
  34. package/lib/session-updater.js +1 -1
  35. package/lib/session-updater.js.map +1 -0
  36. package/module/configure.js +11070 -0
  37. package/module/controller.js +3601 -0
  38. package/module/demo.js +86 -0
  39. package/module/element.js +13461 -0
  40. package/module/index.html +21 -0
  41. package/module/manifest.json +14 -0
  42. package/module/print-demo.js +124 -0
  43. package/module/print.html +18 -0
  44. package/module/print.js +13207 -0
  45. package/package.json +3 -6
  46. package/configure/lib/__tests__/root.test.js +0 -271
  47. package/controller/lib/__tests__/index.test.js +0 -867
  48. package/controller/lib/__tests__/utils.test.js +0 -8
  49. package/docs/demo/pie.manifest.json +0 -11
  50. package/lib/__tests__/choice-input-test.js +0 -131
  51. package/lib/__tests__/index-test.js +0 -183
  52. package/lib/__tests__/key-events-test.js +0 -98
  53. package/lib/__tests__/multiple-choice-test.js +0 -235
  54. package/lib/__tests__/session-updater-test.js +0 -72
@@ -3,9 +3,68 @@
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
- # [5.11.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/multiple-choice-controller@5.10.0...@pie-element/multiple-choice-controller@5.11.0-beta.0) (2025-07-19)
6
+ ## [5.10.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/multiple-choice-controller@5.10.5...@pie-element/multiple-choice-controller@5.10.6) (2025-09-02)
7
7
 
8
- **Note:** Version bump only for package @pie-element/multiple-choice-controller
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-lib/pie-toolbox PD-4579, PD-4430 ([277d2a6](https://github.com/pie-framework/pie-elements/commit/277d2a6bad2fc884ab9d980f71774ba9eca8dbb5))
12
+
13
+
14
+
15
+
16
+
17
+ ## [5.10.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/multiple-choice-controller@5.10.4...@pie-element/multiple-choice-controller@5.10.5) (2025-08-15)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * PD-5084 ([78bd9ca](https://github.com/pie-framework/pie-elements/commit/78bd9ca1540c3968ddd36e0ff5cc4ac095865250))
23
+
24
+
25
+
26
+
27
+
28
+ ## [5.10.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/multiple-choice-controller@5.10.3...@pie-element/multiple-choice-controller@5.10.4) (2025-08-14)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * update pie-lib/pie-toolboxPD-5147, PD-4579, PD-5084, PD-4918 ([ff9ec92](https://github.com/pie-framework/pie-elements/commit/ff9ec92eb659a1664729aaae54eedf3b87f6a96a))
34
+
35
+
36
+
37
+
38
+
39
+ ## [5.10.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/multiple-choice-controller@5.10.2...@pie-element/multiple-choice-controller@5.10.3) (2025-08-14)
40
+
41
+
42
+ ### Bug Fixes
43
+
44
+ * update pie-lib/pie-toolbox PD-5147 ([484432f](https://github.com/pie-framework/pie-elements/commit/484432fd824ebe403e8f4302f6b8cf4d026dacb5))
45
+
46
+
47
+
48
+
49
+
50
+ ## [5.10.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/multiple-choice-controller@5.10.1...@pie-element/multiple-choice-controller@5.10.2) (2025-07-25)
51
+
52
+
53
+ ### Bug Fixes
54
+
55
+ * refactor PD-5132, update pie-lib/pie-toolbox PD-3797 ([7434408](https://github.com/pie-framework/pie-elements/commit/7434408416a883fd680eec13fe1109711fd7e6b5))
56
+ * update pie-lib/pie-toolbox PD-4885, PD-5131 ([4b9859c](https://github.com/pie-framework/pie-elements/commit/4b9859c919a1a7cc8e29d6168a91cd1f7d1aafd1))
57
+
58
+
59
+
60
+
61
+
62
+ ## [5.10.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/multiple-choice-controller@5.10.0...@pie-element/multiple-choice-controller@5.10.1) (2025-07-22)
63
+
64
+
65
+ ### Bug Fixes
66
+
67
+ * update pie-toolbox PD-4885 ([a6d439e](https://github.com/pie-framework/pie-elements/commit/a6d439e49a0082f3d5e8bf46cc73c69d1d0ae311))
9
68
 
10
69
 
11
70
 
@@ -26,4 +26,4 @@ var _default = {
26
26
  keyboardEventsEnabled: false
27
27
  };
28
28
  exports["default"] = _default;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJjaG9pY2VNb2RlIiwiY2hvaWNlUHJlZml4IiwiY2hvaWNlcyIsImNob2ljZXNMYXlvdXQiLCJmZWVkYmFja0VuYWJsZWQiLCJncmlkQ29sdW1ucyIsImxvY2tDaG9pY2VPcmRlciIsInBhcnRpYWxTY29yaW5nIiwicHJvbXB0IiwicHJvbXB0RW5hYmxlZCIsInJhdGlvbmFsZSIsInJhdGlvbmFsZUVuYWJsZWQiLCJzY29yaW5nVHlwZSIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwidGVhY2hlckluc3RydWN0aW9ucyIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwidG9vbGJhckVkaXRvclBvc2l0aW9uIiwic2VsZWN0ZWRBbnN3ZXJCYWNrZ3JvdW5kQ29sb3IiLCJrZXlib2FyZEV2ZW50c0VuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7OztlQUFlO0FBQ2JBLEVBQUFBLFVBQVUsRUFBRSxVQURDO0FBRWJDLEVBQUFBLFlBQVksRUFBRSxTQUZEO0FBR2JDLEVBQUFBLE9BQU8sRUFBRSxFQUhJO0FBSWJDLEVBQUFBLGFBQWEsRUFBRSxVQUpGO0FBS2JDLEVBQUFBLGVBQWUsRUFBRSxLQUxKO0FBTWJDLEVBQUFBLFdBQVcsRUFBRSxDQU5BO0FBT2JDLEVBQUFBLGVBQWUsRUFBRSxJQVBKO0FBUWJDLEVBQUFBLGNBQWMsRUFBRSxJQVJIO0FBU2JDLEVBQUFBLE1BQU0sRUFBRSxFQVRLO0FBVWJDLEVBQUFBLGFBQWEsRUFBRSxJQVZGO0FBV2JDLEVBQUFBLFNBQVMsRUFBRSxFQVhFO0FBWWJDLEVBQUFBLGdCQUFnQixFQUFFLElBWkw7QUFhYkMsRUFBQUEsV0FBVyxFQUFFLE1BYkE7QUFjYkMsRUFBQUEsMEJBQTBCLEVBQUUsSUFkZjtBQWViQyxFQUFBQSxtQkFBbUIsRUFBRSxFQWZSO0FBZ0JiQyxFQUFBQSwwQkFBMEIsRUFBRSxJQWhCZjtBQWlCYkMsRUFBQUEscUJBQXFCLEVBQUUsUUFqQlY7QUFrQmJDLEVBQUFBLDZCQUE2QixFQUFFLFNBbEJsQjtBQW1CYkMsRUFBQUEscUJBQXFCLEVBQUU7QUFuQlYsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcbiAgY2hvaWNlTW9kZTogJ2NoZWNrYm94JyxcbiAgY2hvaWNlUHJlZml4OiAnbGV0dGVycycsXG4gIGNob2ljZXM6IFtdLFxuICBjaG9pY2VzTGF5b3V0OiAndmVydGljYWwnLFxuICBmZWVkYmFja0VuYWJsZWQ6IGZhbHNlLFxuICBncmlkQ29sdW1uczogMixcbiAgbG9ja0Nob2ljZU9yZGVyOiB0cnVlLFxuICBwYXJ0aWFsU2NvcmluZzogdHJ1ZSxcbiAgcHJvbXB0OiAnJyxcbiAgcHJvbXB0RW5hYmxlZDogdHJ1ZSxcbiAgcmF0aW9uYWxlOiAnJyxcbiAgcmF0aW9uYWxlRW5hYmxlZDogdHJ1ZSxcbiAgc2NvcmluZ1R5cGU6ICdhdXRvJyxcbiAgc3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICcnLFxuICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgdG9vbGJhckVkaXRvclBvc2l0aW9uOiAnYm90dG9tJyxcbiAgc2VsZWN0ZWRBbnN3ZXJCYWNrZ3JvdW5kQ29sb3I6ICdpbml0aWFsJyxcbiAga2V5Ym9hcmRFdmVudHNFbmFibGVkOiBmYWxzZSxcbn07XG4iXX0=
29
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["choiceMode","choicePrefix","choices","choicesLayout","feedbackEnabled","gridColumns","lockChoiceOrder","partialScoring","prompt","promptEnabled","rationale","rationaleEnabled","scoringType","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","selectedAnswerBackgroundColor","keyboardEventsEnabled"],"mappings":";;;;;;eAAe;AACbA,EAAAA,UAAU,EAAE,UADC;AAEbC,EAAAA,YAAY,EAAE,SAFD;AAGbC,EAAAA,OAAO,EAAE,EAHI;AAIbC,EAAAA,aAAa,EAAE,UAJF;AAKbC,EAAAA,eAAe,EAAE,KALJ;AAMbC,EAAAA,WAAW,EAAE,CANA;AAObC,EAAAA,eAAe,EAAE,IAPJ;AAQbC,EAAAA,cAAc,EAAE,IARH;AASbC,EAAAA,MAAM,EAAE,EATK;AAUbC,EAAAA,aAAa,EAAE,IAVF;AAWbC,EAAAA,SAAS,EAAE,EAXE;AAYbC,EAAAA,gBAAgB,EAAE,IAZL;AAabC,EAAAA,WAAW,EAAE,MAbA;AAcbC,EAAAA,0BAA0B,EAAE,IAdf;AAebC,EAAAA,mBAAmB,EAAE,EAfR;AAgBbC,EAAAA,0BAA0B,EAAE,IAhBf;AAiBbC,EAAAA,qBAAqB,EAAE,QAjBV;AAkBbC,EAAAA,6BAA6B,EAAE,SAlBlB;AAmBbC,EAAAA,qBAAqB,EAAE;AAnBV,C","sourcesContent":["export default {\n choiceMode: 'checkbox',\n choicePrefix: 'letters',\n choices: [],\n choicesLayout: 'vertical',\n feedbackEnabled: false,\n gridColumns: 2,\n lockChoiceOrder: true,\n partialScoring: true,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n scoringType: 'auto',\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n selectedAnswerBackgroundColor: 'initial',\n keyboardEventsEnabled: false,\n};\n"],"file":"defaults.js"}
@@ -29,7 +29,7 @@ var _utils = require("./utils");
29
29
 
30
30
  var _defaults = _interopRequireDefault(require("./defaults"));
31
31
 
32
- var _controllerUtils = require("@pie-lib/controller-utils");
32
+ var _controllerUtils = require("@pie-lib/pie-toolbox/controller-utils");
33
33
 
34
34
  var _excluded = ["verticalMode", "choicesLayout"];
35
35
 
@@ -338,4 +338,4 @@ var validate = function validate() {
338
338
  };
339
339
 
340
340
  exports.validate = validate;
341
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJwcmVwYXJlQ2hvaWNlIiwibW9kZWwiLCJlbnYiLCJkZWZhdWx0RmVlZGJhY2siLCJjaG9pY2UiLCJyb2xlIiwibW9kZSIsIm91dCIsImxhYmVsIiwidmFsdWUiLCJyYXRpb25hbGUiLCJyYXRpb25hbGVFbmFibGVkIiwiY29ycmVjdCIsImZlZWRiYWNrRW5hYmxlZCIsImZlZWRiYWNrVHlwZSIsImZlZWRiYWNrIiwidHlwZSIsImNyZWF0ZURlZmF1bHRNb2RlbCIsIlByb21pc2UiLCJyZXNvbHZlIiwiZGVmYXVsdHMiLCJub3JtYWxpemUiLCJxdWVzdGlvbiIsInZlcnRpY2FsTW9kZSIsImNob2ljZXNMYXlvdXQiLCJxdWVzdGlvblByb3BzIiwic2Vzc2lvbiIsInVwZGF0ZVNlc3Npb24iLCJub3JtYWxpemVkUXVlc3Rpb24iLCJPYmplY3QiLCJhc3NpZ24iLCJpbmNvcnJlY3QiLCJjaG9pY2VzIiwibWFwIiwibG9ja0Nob2ljZU9yZGVyIiwiZGlzYWJsZWQiLCJwcm9tcHQiLCJwcm9tcHRFbmFibGVkIiwiZ3JpZENvbHVtbnMiLCJjaG9pY2VNb2RlIiwia2V5TW9kZSIsImNob2ljZVByZWZpeCIsInJlc3BvbnNlQ29ycmVjdCIsInVuZGVmaW5lZCIsImxhbmd1YWdlIiwiZXh0cmFDU1NSdWxlcyIsImZvbnRTaXplRmFjdG9yIiwiaXNTZWxlY3Rpb25CdXR0b25CZWxvdyIsInNlbGVjdGVkQW5zd2VyQmFja2dyb3VuZENvbG9yIiwibWluU2VsZWN0aW9ucyIsIm1heFNlbGVjdGlvbnMiLCJrZXlib2FyZEV2ZW50c0VuYWJsZWQiLCJhdXRvcGxheUF1ZGlvRW5hYmxlZCIsImNvbXBsZXRlQXVkaW9FbmFibGVkIiwiY3VzdG9tQXVkaW9CdXR0b24iLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJnZXRTY29yZSIsImNvbmZpZyIsInNlbGVjdGVkQ2hvaWNlcyIsImNvcnJlY3RDaG9pY2VzIiwiZmlsdGVyIiwiY2giLCJzY29yZSIsInJlZHVjZSIsImFjYyIsInNlbGVjdGVkQ2hvaWNlIiwiZmluZCIsImxlbmd0aCIsInN0ciIsInBhcnNlRmxvYXQiLCJ0b0ZpeGVkIiwib3V0Y29tZSIsImVtcHR5IiwicGFydGlhbFNjb3JpbmdFbmFibGVkIiwicGFydGlhbFNjb3JpbmciLCJlbmFibGVkIiwiY3JlYXRlQ29ycmVjdFJlc3BvbnNlU2Vzc2lvbiIsImlkIiwiYyIsImdldElubmVyVGV4dCIsImh0bWwiLCJyZXBsYWNlQWxsIiwiZ2V0Q29udGVudCIsInJlcGxhY2UiLCJ2YWxpZGF0ZSIsIm1pbkFuc3dlckNob2ljZXMiLCJtYXhBbnN3ZXJDaG9pY2VzIiwicmV2ZXJzZWRDaG9pY2VzIiwicmV2ZXJzZSIsImNob2ljZXNFcnJvcnMiLCJyYXRpb25hbGVFcnJvcnMiLCJlcnJvcnMiLCJmb3JFYWNoIiwiZmllbGQiLCJyZXF1aXJlZCIsImhhc0NvcnJlY3RSZXNwb25zZSIsImluZGV4IiwiaWRlbnRpY2FsQW5zd2VyIiwic2xpY2UiLCJzb21lIiwibmJPZkNob2ljZXMiLCJhbnN3ZXJDaG9pY2VzIiwiY29ycmVjdFJlc3BvbnNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRUEsSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxLQUFELEVBQVFDLEdBQVIsRUFBYUMsZUFBYjtBQUFBLFNBQWlDLFVBQUNDLE1BQUQsRUFBWTtBQUNqRSxlQUF1QkYsR0FBRyxJQUFJLEVBQTlCO0FBQUEsUUFBUUcsSUFBUixRQUFRQSxJQUFSO0FBQUEsUUFBY0MsSUFBZCxRQUFjQSxJQUFkOztBQUNBLFFBQU1DLEdBQUcsR0FBRztBQUNWQyxNQUFBQSxLQUFLLEVBQUVKLE1BQU0sQ0FBQ0ksS0FESjtBQUVWQyxNQUFBQSxLQUFLLEVBQUVMLE1BQU0sQ0FBQ0s7QUFGSixLQUFaOztBQUtBLFFB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QyxNQUFwQzs7QUFFQSxNQUFJaUMsV0FBVyxHQUFHZixnQkFBbEIsRUFBb0M7QUFDbENNLElBQUFBLE1BQU0sQ0FBQ1UsYUFBUCxzQ0FBbURoQixnQkFBbkQ7QUFDRCxHQUZELE1BRU8sSUFBSWUsV0FBVyxHQUFHZCxnQkFBbEIsRUFBb0M7QUFDekNLLElBQUFBLE1BQU0sQ0FBQ1UsYUFBUCwwQkFBdUNmLGdCQUF2QztBQUNEOztBQUVELE1BQUksQ0FBQ1Msa0JBQUwsRUFBeUI7QUFDdkJKLElBQUFBLE1BQU0sQ0FBQ1csZUFBUCxHQUF5Qiw4QkFBekI7QUFDRDs7QUFFRCxNQUFJLENBQUMseUJBQVFiLGFBQVIsQ0FBTCxFQUE2QjtBQUMzQkUsSUFBQUEsTUFBTSxDQUFDNUQsT0FBUCxHQUFpQjBELGFBQWpCO0FBQ0Q7O0FBRUQsTUFBSSxDQUFDLHlCQUFRQyxlQUFSLENBQUwsRUFBK0I7QUFDN0JDLElBQUFBLE1BQU0sQ0FBQ2xGLFNBQVAsR0FBbUJpRixlQUFuQjtBQUNEOztBQUVELFNBQU9DLE1BQVA7QUFDRCxDQTNETSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCB7IGlzUmVzcG9uc2VDb3JyZWN0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5pbXBvcnQgeyBsb2NrQ2hvaWNlcywgcGFydGlhbFNjb3JpbmcsIGdldFNodWZmbGVkQ2hvaWNlcyB9IGZyb20gJ0BwaWUtbGliL2NvbnRyb2xsZXItdXRpbHMnO1xuXG5jb25zdCBwcmVwYXJlQ2hvaWNlID0gKG1vZGVsLCBlbnYsIGRlZmF1bHRGZWVkYmFjaykgPT4gKGNob2ljZSkgPT4ge1xuICBjb25zdCB7IHJvbGUsIG1vZGUgfSA9IGVudiB8fCB7fTtcbiAgY29uc3Qgb3V0ID0ge1xuICAgIGxhYmVsOiBjaG9pY2UubGFiZWwsXG4gICAgdmFsdWU6IGNob2ljZS52YWx1ZSxcbiAgfTtcblxuICBpZiAocm9sZSA9PT0gJ2luc3RydWN0b3InICYmIChtb2RlID09PSAndmlldycgfHwgbW9kZSA9PT0gJ2V2YWx1YXRlJykpIHtcbiAgICBvdXQucmF0aW9uYWxlID0gbW9kZWwucmF0aW9uYWxlRW5hYmxlZCA/IGNob2ljZS5yYXRpb25hbGUgOiBudWxsO1xuICB9IGVsc2Uge1xuICAgIG91dC5yYXRpb25hbGUgPSBudWxsO1xuICB9XG5cbiAgaWYgKG1vZGUgPT09ICdldmFsdWF0ZScpIHtcbiAgICBvdXQuY29ycmVjdCA9ICEhY2hvaWNlLmNvcnJlY3Q7XG5cbiAgICBpZiAobW9kZWwuZmVlZGJhY2tFbmFibGVkKSB7XG4gICAgICBjb25zdCBmZWVkYmFja1R5cGUgPSAoY2hvaWNlLmZlZWRiYWNrICYmIGNob2ljZS5mZWVkYmFjay50eXBlKSB8fCAnbm9uZSc7XG5cbiAgICAgIGlmIChmZWVkYmFja1R5cGUgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICBvdXQuZmVlZGJhY2sgPSBkZWZhdWx0RmVlZGJhY2tbY2hvaWNlLmNvcnJlY3QgPyAnY29ycmVjdCcgOiAnaW5jb3JyZWN0J107XG4gICAgICB9IGVsc2UgaWYgKGZlZWRiYWNrVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgICAgb3V0LmZlZWRiYWNrID0gY2hvaWNlLmZlZWRiYWNrLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvdXQ7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVmYXVsdE1vZGVsKG1vZGVsID0ge30pIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiByZXNvbHZlKHsgLi4uZGVmYXVsdHMsIC4uLm1vZGVsIH0pKTtcbn1cblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZSA9IChxdWVzdGlvbikgPT4ge1xuICBjb25zdCB7IHZlcnRpY2FsTW9kZSwgY2hvaWNlc0xheW91dCwgLi4ucXVlc3Rpb25Qcm9wcyB9ID0gcXVlc3Rpb24gfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZhdWx0cyxcbiAgICAuLi5xdWVzdGlvblByb3BzLFxuICAgIC8vIFRoaXMgaXMgdXNlZCBmb3Igb2ZmZXJpbmcgc3VwcG9ydCBmb3Igb2xkIG1vZGVscyB3aGljaCBoYXZlIHRoZSBwcm9wZXJ0eSB2ZXJ0aWNhbE1vZGVcbiAgICAvLyBTYW1lIHRoaW5nIGlzIHNldCBpbiBhdXRob3JpbmcgOiBwYWNrYWdlcy9tdWx0aXBsZS1jaG9pY2UvY29uZmlndXJlL3NyYy9pbmRleC5qc3ggLSBjcmVhdGVEZWZhdWx0TW9kZWxcbiAgICBjaG9pY2VzTGF5b3V0OiBjaG9pY2VzTGF5b3V0IHx8ICh2ZXJ0aWNhbE1vZGUgPT09IGZhbHNlICYmICdob3Jpem9udGFsJykgfHwgZGVmYXVsdHMuY2hvaWNlc0xheW91dCxcbiAgfTtcbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7Kn0gcXVlc3Rpb25cbiAqIEBwYXJhbSB7Kn0gc2Vzc2lvblxuICogQHBhcmFtIHsqfSBlbnZcbiAqIEBwYXJhbSB7Kn0gdXBkYXRlU2Vzc2lvbiAtIG9wdGlvbmFsIC0gYSBmdW5jdGlvbiB0aGF0IHdpbGwgc2V0IHRoZSBwcm9wZXJ0aWVzIHBhc3NlZCBpbnRvIGl0IG9uIHRoZSBzZXNzaW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbW9kZWwocXVlc3Rpb24sIHNlc3Npb24sIGVudiwgdXBkYXRlU2Vzc2lvbikge1xuICBjb25zdCBub3JtYWxpemVkUXVlc3Rpb24gPSBub3JtYWxpemUocXVlc3Rpb24pO1xuXG4gIGNvbnN0IGRlZmF1bHRGZWVkYmFjayA9IE9iamVjdC5hc3NpZ24oXG4gICAgeyBjb3JyZWN0OiAnQ29ycmVjdCcsIGluY29ycmVjdDogJ0luY29ycmVjdCcgfSxcbiAgICBub3JtYWxpemVkUXVlc3Rpb24uZGVmYXVsdEZlZWRiYWNrLFxuICApO1xuXG4gIGxldCBjaG9pY2VzID0gKG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VzIHx8IFtdKS5tYXAocHJlcGFyZUNob2ljZShub3JtYWxpemVkUXVlc3Rpb24sIGVudiwgZGVmYXVsdEZlZWRiYWNrKSk7XG5cbiAgY29uc3QgbG9ja0Nob2ljZU9yZGVyID0gbG9ja0Nob2ljZXMobm9ybWFsaXplZFF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpO1xuXG4gIGlmICghbG9ja0Nob2ljZU9yZGVyKSB7XG4gICAgY2hvaWNlcyA9IGF3YWl0IGdldFNodWZmbGVkQ2hvaWNlcyhjaG9pY2VzLCBzZXNzaW9uLCB1cGRhdGVTZXNzaW9uLCAndmFsdWUnKTtcbiAgfVxuXG4gIGNvbnN0IG91dCA9IHtcbiAgICBkaXNhYmxlZDogZW52Lm1vZGUgIT09ICdnYXRoZXInLFxuICAgIG1vZGU6IGVudi5tb2RlLFxuICAgIHByb21wdDogbm9ybWFsaXplZFF1ZXN0aW9uLnByb21wdEVuYWJsZWQgPyBub3JtYWxpemVkUXVlc3Rpb24ucHJvbXB0IDogbnVsbCxcbiAgICBjaG9pY2VzTGF5b3V0OiBub3JtYWxpemVkUXVlc3Rpb24uY2hvaWNlc0xheW91dCxcbiAgICBncmlkQ29sdW1uczogbm9ybWFsaXplZFF1ZXN0aW9uLmdyaWRDb2x1bW5zLFxuICAgIGNob2ljZU1vZGU6IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VNb2RlLFxuICAgIGtleU1vZGU6IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VQcmVmaXgsXG4gICAgY2hvaWNlcyxcbiAgICByZXNwb25zZUNvcnJlY3Q6IGVudi5tb2RlID09PSAnZXZhbHVhdGUnID8gaXNSZXNwb25zZUNvcnJlY3Qobm9ybWFsaXplZFF1ZXN0aW9uLCBzZXNzaW9uKSA6IHVuZGVmaW5lZCxcbiAgICBsYW5ndWFnZTogbm9ybWFsaXplZFF1ZXN0aW9uLmxhbmd1YWdlLFxuICAgIGV4dHJhQ1NTUnVsZXM6IG5vcm1hbGl6ZWRRdWVzdGlvbi5leHRyYUNTU1J1bGVzLFxuICAgIGZvbnRTaXplRmFjdG9yOiBub3JtYWxpemVkUXVlc3Rpb24uZm9udFNpemVGYWN0b3IsXG4gICAgaXNTZWxlY3Rpb25CdXR0b25CZWxvdzogbm9ybWFsaXplZFF1ZXN0aW9uLmlzU2VsZWN0aW9uQnV0dG9uQmVsb3csXG4gICAgc2VsZWN0ZWRBbnN3ZXJCYWNrZ3JvdW5kQ29sb3I6IG5vcm1hbGl6ZWRRdWVzdGlvbi5zZWxlY3RlZEFuc3dlckJhY2tncm91bmRDb2xvciB8fCAnaW5pdGlhbCcsXG4gICAgbWluU2VsZWN0aW9uczogbm9ybWFsaXplZFF1ZXN0aW9uLm1pblNlbGVjdGlvbnMsXG4gICAgbWF4U2VsZWN0aW9uczogbm9ybWFsaXplZFF1ZXN0aW9uLm1heFNlbGVjdGlvbnMsXG4gICAga2V5Ym9hcmRFdmVudHNFbmFibGVkOiBub3JtYWxpemVkUXVlc3Rpb24ua2V5Ym9hcmRFdmVudHNFbmFibGVkLFxuICAgIGF1dG9wbGF5QXVkaW9FbmFibGVkOiBub3JtYWxpemVkUXVlc3Rpb24uYXV0b3BsYXlBdWRpb0VuYWJsZWQsXG4gICAgY29tcGxldGVBdWRpb0VuYWJsZWQ6IG5vcm1hbGl6ZWRRdWVzdGlvbi5jb21wbGV0ZUF1ZGlvRW5hYmxlZCxcbiAgICBjdXN0b21BdWRpb0J1dHRvbjogbm9ybWFsaXplZFF1ZXN0aW9uLmN1c3RvbUF1ZGlvQnV0dG9uLFxuICB9O1xuXG4gIGNvbnN0IHsgcm9sZSwgbW9kZSB9ID0gZW52IHx8IHt9O1xuXG4gIGlmIChyb2xlID09PSAnaW5zdHJ1Y3RvcicgJiYgKG1vZGUgPT09ICd2aWV3JyB8fCBtb2RlID09PSAnZXZhbHVhdGUnKSkge1xuICAgIG91dC50ZWFjaGVySW5zdHJ1Y3Rpb25zID0gbm9ybWFsaXplZFF1ZXN0aW9uLnRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkXG4gICAgICA/IG5vcm1hbGl6ZWRRdWVzdGlvbi50ZWFjaGVySW5zdHJ1Y3Rpb25zXG4gICAgICA6IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgb3V0LnRlYWNoZXJJbnN0cnVjdGlvbnMgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFNjb3JlID0gKGNvbmZpZywgc2Vzc2lvbikgPT4ge1xuICBpZiAoIXNlc3Npb24gfHwgaXNFbXB0eShzZXNzaW9uKSkge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWRDaG9pY2VzID0gc2Vzc2lvbi52YWx1ZSB8fCBbXTtcbiAgY29uc3QgY29ycmVjdENob2ljZXMgPSAoY29uZmlnLmNob2ljZXMgfHwgW10pLmZpbHRlcigoY2gpID0+IGNoLmNvcnJlY3QpO1xuXG4gIGxldCBzY29yZSA9IHNlbGVjdGVkQ2hvaWNlcy5yZWR1Y2UoXG4gICAgKGFjYywgc2VsZWN0ZWRDaG9pY2UpID0+IGFjYyArIChjb3JyZWN0Q2hvaWNlcy5maW5kKChjaCkgPT4gY2gudmFsdWUgPT09IHNlbGVjdGVkQ2hvaWNlKSA/IDEgOiAwKSxcbiAgICAwLFxuICApO1xuXG4gIGlmIChjb3JyZWN0Q2hvaWNlcy5sZW5ndGggPCBzZWxlY3RlZENob2ljZXMubGVuZ3RoKSB7XG4gICAgc2NvcmUgLT0gc2VsZWN0ZWRDaG9pY2VzLmxlbmd0aCAtIGNvcnJlY3RDaG9pY2VzLmxlbmd0aDtcblxuICAgIGlmIChzY29yZSA8IDApIHtcbiAgICAgIHNjb3JlID0gMDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBzdHIgPSBjb3JyZWN0Q2hvaWNlcy5sZW5ndGggPyBzY29yZSAvIGNvcnJlY3RDaG9pY2VzLmxlbmd0aCA6IDA7XG5cbiAgcmV0dXJuIHBhcnNlRmxvYXQoc3RyLnRvRml4ZWQoMikpO1xufTtcblxuLyoqXG4gKlxuICogVGhlIHNjb3JlIGlzIHBhcnRpYWwgYnkgZGVmYXVsdCBmb3IgY2hlY2tib3ggbW9kZSwgYWxsT3JOb3RoaW5nIGZvciByYWRpbyBtb2RlLlxuICogVG8gZGlzYWJsZSBwYXJ0aWFsIHNjb3JpbmcgZm9yIGNoZWNrYm94IG1vZGUgeW91IGVpdGhlciBzZXQgbW9kZWwucGFydGlhbFNjb3JpbmcgPSBmYWxzZSBvciBlbnYucGFydGlhbFNjb3JpbmcgPSBmYWxzZS4gdGhlIHZhbHVlIGluIGBlbnZgIHdpbGxcbiAqIG92ZXJyaWRlIHRoZSB2YWx1ZSBpbiBgbW9kZWxgLlxuICogQHBhcmFtIHtPYmplY3R9IG1vZGVsIC0gdGhlIG1haW4gbW9kZWxcbiAqIEBwYXJhbSB7Kn0gc2Vzc2lvblxuICogQHBhcmFtIHtPYmplY3R9IGVudlxuICovXG5leHBvcnQgZnVuY3Rpb24gb3V0Y29tZShtb2RlbCwgc2Vzc2lvbiwgZW52KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmICghc2Vzc2lvbiB8fCBpc0VtcHR5KHNlc3Npb24pKSB7XG4gICAgICByZXNvbHZlKHsgc2NvcmU6IDAsIGVtcHR5OiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPSBwYXJ0aWFsU2NvcmluZy5lbmFibGVkKG1vZGVsLCBlbnYpICYmIG1vZGVsLmNob2ljZU1vZGUgIT09ICdyYWRpbyc7XG4gICAgICBjb25zdCBzY29yZSA9IGdldFNjb3JlKG1vZGVsLCBzZXNzaW9uKTtcblxuICAgICAgcmVzb2x2ZSh7IHNjb3JlOiBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPyBzY29yZSA6IHNjb3JlID09PSAxID8gMSA6IDAsIGVtcHR5OiBmYWxzZSB9KTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29ycmVjdFJlc3BvbnNlU2Vzc2lvbiA9IChxdWVzdGlvbiwgZW52KSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmIChlbnYubW9kZSAhPT0gJ2V2YWx1YXRlJyAmJiBlbnYucm9sZSA9PT0gJ2luc3RydWN0b3InKSB7XG4gICAgICBjb25zdCB7IGNob2ljZXMgfSA9IHF1ZXN0aW9uIHx8IHsgY2hvaWNlczogW10gfTtcblxuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIGlkOiAnMScsXG4gICAgICAgIHZhbHVlOiBjaG9pY2VzLmZpbHRlcigoYykgPT4gYy5jb3JyZWN0KS5tYXAoKGMpID0+IGMudmFsdWUpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8vIHJlbW92ZSBhbGwgaHRtbCB0YWdzXG5jb25zdCBnZXRJbm5lclRleHQgPSAoaHRtbCkgPT4gKGh0bWwgfHwgJycpLnJlcGxhY2VBbGwoLzxbXj5dKj4vZywgJycpO1xuXG4vLyByZW1vdmUgYWxsIGh0bWwgdGFncyBleGNlcHQgaW1nLCBpZnJhbWUgYW5kIHNvdXJjZSB0YWcgZm9yIGF1ZGlvXG5jb25zdCBnZXRDb250ZW50ID0gKGh0bWwpID0+IChodG1sIHx8ICcnKS5yZXBsYWNlKC8oPCg/IWltZ3xpZnJhbWV8c291cmNlKShbXj5dKyk+KS9naSwgJycpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGUgPSAobW9kZWwgPSB7fSwgY29uZmlnID0ge30pID0+IHtcbiAgY29uc3QgeyBjaG9pY2VzIH0gPSBtb2RlbDtcbiAgY29uc3QgeyBtaW5BbnN3ZXJDaG9pY2VzID0gMiwgbWF4QW5zd2VyQ2hvaWNlcyB9ID0gY29uZmlnO1xuICBjb25zdCByZXZlcnNlZENob2ljZXMgPSBbLi4uKGNob2ljZXMgfHwgW10pXS5yZXZlcnNlKCk7XG4gIGNvbnN0IGNob2ljZXNFcnJvcnMgPSB7fTtcbiAgY29uc3QgcmF0aW9uYWxlRXJyb3JzID0ge307XG4gIGNvbnN0IGVycm9ycyA9IHt9O1xuXG4gIFsndGVhY2hlckluc3RydWN0aW9ucycsICdwcm9tcHQnXS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmIChjb25maWdbZmllbGRdPy5yZXF1aXJlZCAmJiAhZ2V0Q29udGVudChtb2RlbFtmaWVsZF0pKSB7XG4gICAgICBlcnJvcnNbZmllbGRdID0gJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQuJztcbiAgICB9XG4gIH0pO1xuXG4gIGxldCBoYXNDb3JyZWN0UmVzcG9uc2UgPSBmYWxzZTtcblxuICByZXZlcnNlZENob2ljZXMuZm9yRWFjaCgoY2hvaWNlLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHsgY29ycmVjdCwgdmFsdWUsIGxhYmVsLCByYXRpb25hbGUgfSA9IGNob2ljZTtcblxuICAgIGlmIChjb3JyZWN0KSB7XG4gICAgICBoYXNDb3JyZWN0UmVzcG9uc2UgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghZ2V0Q29udGVudChsYWJlbCkpIHtcbiAgICAgIGNob2ljZXNFcnJvcnNbdmFsdWVdID0gJ0NvbnRlbnQgc2hvdWxkIG5vdCBiZSBlbXB0eS4nO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpZGVudGljYWxBbnN3ZXIgPSByZXZlcnNlZENob2ljZXMuc2xpY2UoaW5kZXggKyAxKS5zb21lKChjKSA9PiBjLmxhYmVsID09PSBsYWJlbCk7XG5cbiAgICAgIGlmIChpZGVudGljYWxBbnN3ZXIpIHtcbiAgICAgICAgY2hvaWNlc0Vycm9yc1t2YWx1ZV0gPSAnQ29udGVudCBzaG91bGQgYmUgdW5pcXVlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5yYXRpb25hbGU/LnJlcXVpcmVkICYmICFnZXRDb250ZW50KHJhdGlvbmFsZSkpIHtcbiAgICAgIHJhdGlvbmFsZUVycm9yc1t2YWx1ZV0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nO1xuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgbmJPZkNob2ljZXMgPSAoY2hvaWNlcyB8fCBbXSkubGVuZ3RoO1xuXG4gIGlmIChuYk9mQ2hvaWNlcyA8IG1pbkFuc3dlckNob2ljZXMpIHtcbiAgICBlcnJvcnMuYW5zd2VyQ2hvaWNlcyA9IGBUaGVyZSBzaG91bGQgYmUgYXQgbGVhc3QgJHttaW5BbnN3ZXJDaG9pY2VzfSBjaG9pY2VzIGRlZmluZWQuYDtcbiAgfSBlbHNlIGlmIChuYk9mQ2hvaWNlcyA+IG1heEFuc3dlckNob2ljZXMpIHtcbiAgICBlcnJvcnMuYW5zd2VyQ2hvaWNlcyA9IGBObyBtb3JlIHRoYW4gJHttYXhBbnN3ZXJDaG9pY2VzfSBjaG9pY2VzIHNob3VsZCBiZSBkZWZpbmVkLmA7XG4gIH1cblxuICBpZiAoIWhhc0NvcnJlY3RSZXNwb25zZSkge1xuICAgIGVycm9ycy5jb3JyZWN0UmVzcG9uc2UgPSAnTm8gY29ycmVjdCByZXNwb25zZSBkZWZpbmVkLic7XG4gIH1cblxuICBpZiAoIWlzRW1wdHkoY2hvaWNlc0Vycm9ycykpIHtcbiAgICBlcnJvcnMuY2hvaWNlcyA9IGNob2ljZXNFcnJvcnM7XG4gIH1cblxuICBpZiAoIWlzRW1wdHkocmF0aW9uYWxlRXJyb3JzKSkge1xuICAgIGVycm9ycy5yYXRpb25hbGUgPSByYXRpb25hbGVFcnJvcnM7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufTtcbiJdfQ==
341
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":["prepareChoice","model","env","defaultFeedback","choice","role","mode","out","label","value","rationale","rationaleEnabled","correct","feedbackEnabled","feedbackType","feedback","type","createDefaultModel","Promise","resolve","defaults","normalize","question","verticalMode","choicesLayout","questionProps","session","updateSession","normalizedQuestion","Object","assign","incorrect","choices","map","lockChoiceOrder","disabled","prompt","promptEnabled","gridColumns","choiceMode","keyMode","choicePrefix","responseCorrect","undefined","language","extraCSSRules","fontSizeFactor","isSelectionButtonBelow","selectedAnswerBackgroundColor","minSelections","maxSelections","keyboardEventsEnabled","autoplayAudioEnabled","completeAudioEnabled","customAudioButton","teacherInstructions","teacherInstructionsEnabled","getScore","config","selectedChoices","correctChoices","filter","ch","score","reduce","acc","selectedChoice","find","length","str","parseFloat","toFixed","outcome","empty","partialScoringEnabled","partialScoring","enabled","createCorrectResponseSession","id","c","getInnerText","html","replaceAll","getContent","replace","validate","minAnswerChoices","maxAnswerChoices","reversedChoices","reverse","choicesErrors","rationaleErrors","errors","forEach","field","required","hasCorrectResponse","index","identicalAnswer","slice","some","nbOfChoices","answerChoices","correctResponse"],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport isEmpty from 'lodash/isEmpty';\nimport { isResponseCorrect } from './utils';\nimport defaults from './defaults';\nimport { lockChoices, partialScoring, getShuffledChoices } from '@pie-lib/pie-toolbox/controller-utils';\n\nconst prepareChoice = (model, env, defaultFeedback) => (choice) => {\n const { role, mode } = env || {};\n const out = {\n label: choice.label,\n value: choice.value,\n };\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.rationale = model.rationaleEnabled ? choice.rationale : null;\n } else {\n out.rationale = null;\n }\n\n if (mode === 'evaluate') {\n out.correct = !!choice.correct;\n\n if (model.feedbackEnabled) {\n const feedbackType = (choice.feedback && choice.feedback.type) || 'none';\n\n if (feedbackType === 'default') {\n out.feedback = defaultFeedback[choice.correct ? 'correct' : 'incorrect'];\n } else if (feedbackType === 'custom') {\n out.feedback = choice.feedback.value;\n }\n }\n }\n\n return out;\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = (question) => {\n const { verticalMode, choicesLayout, ...questionProps } = question || {};\n\n return {\n ...defaults,\n ...questionProps,\n // This is used for offering support for old models which have the property verticalMode\n // Same thing is set in authoring : packages/multiple-choice/configure/src/index.jsx - createDefaultModel\n choicesLayout: choicesLayout || (verticalMode === false && 'horizontal') || defaults.choicesLayout,\n };\n};\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport async function model(question, session, env, updateSession) {\n const normalizedQuestion = normalize(question);\n\n const defaultFeedback = Object.assign(\n { correct: 'Correct', incorrect: 'Incorrect' },\n normalizedQuestion.defaultFeedback,\n );\n\n let choices = (normalizedQuestion.choices || []).map(prepareChoice(normalizedQuestion, env, defaultFeedback));\n\n const lockChoiceOrder = lockChoices(normalizedQuestion, session, env);\n\n if (!lockChoiceOrder) {\n choices = await getShuffledChoices(choices, session, updateSession, 'value');\n }\n\n const out = {\n disabled: env.mode !== 'gather',\n mode: env.mode,\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n choicesLayout: normalizedQuestion.choicesLayout,\n gridColumns: normalizedQuestion.gridColumns,\n choiceMode: normalizedQuestion.choiceMode,\n keyMode: normalizedQuestion.choicePrefix,\n choices,\n responseCorrect: env.mode === 'evaluate' ? isResponseCorrect(normalizedQuestion, session) : undefined,\n language: normalizedQuestion.language,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n fontSizeFactor: normalizedQuestion.fontSizeFactor,\n isSelectionButtonBelow: normalizedQuestion.isSelectionButtonBelow,\n selectedAnswerBackgroundColor: normalizedQuestion.selectedAnswerBackgroundColor || 'initial',\n minSelections: normalizedQuestion.minSelections,\n maxSelections: normalizedQuestion.maxSelections,\n keyboardEventsEnabled: normalizedQuestion.keyboardEventsEnabled,\n autoplayAudioEnabled: normalizedQuestion.autoplayAudioEnabled,\n completeAudioEnabled: normalizedQuestion.completeAudioEnabled,\n customAudioButton: normalizedQuestion.customAudioButton,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport const getScore = (config, session) => {\n if (!session || isEmpty(session)) {\n return 0;\n }\n\n const selectedChoices = session.value || [];\n const correctChoices = (config.choices || []).filter((ch) => ch.correct);\n\n let score = selectedChoices.reduce(\n (acc, selectedChoice) => acc + (correctChoices.find((ch) => ch.value === selectedChoice) ? 1 : 0),\n 0,\n );\n\n if (correctChoices.length < selectedChoices.length) {\n score -= selectedChoices.length - correctChoices.length;\n\n if (score < 0) {\n score = 0;\n }\n }\n\n const str = correctChoices.length ? score / correctChoices.length : 0;\n\n return parseFloat(str.toFixed(2));\n};\n\n/**\n *\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring = false. the value in `env` will\n * override the value in `model`.\n * @param {Object} model - the main model\n * @param {*} session\n * @param {Object} env\n */\nexport function outcome(model, session, env) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n } else {\n const partialScoringEnabled = partialScoring.enabled(model, env) && model.choiceMode !== 'radio';\n const score = getScore(model, session);\n\n resolve({ score: partialScoringEnabled ? score : score === 1 ? 1 : 0, empty: false });\n }\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question || { choices: [] };\n\n resolve({\n id: '1',\n value: choices.filter((c) => c.correct).map((c) => c.value),\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { choices } = model;\n const { minAnswerChoices = 2, maxAnswerChoices } = config;\n const reversedChoices = [...(choices || [])].reverse();\n const choicesErrors = {};\n const rationaleErrors = {};\n const errors = {};\n\n ['teacherInstructions', 'prompt'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n let hasCorrectResponse = false;\n\n reversedChoices.forEach((choice, index) => {\n const { correct, value, label, rationale } = choice;\n\n if (correct) {\n hasCorrectResponse = true;\n }\n\n if (!getContent(label)) {\n choicesErrors[value] = 'Content should not be empty.';\n } else {\n const identicalAnswer = reversedChoices.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n choicesErrors[value] = 'Content should be unique.';\n }\n }\n\n if (config.rationale?.required && !getContent(rationale)) {\n rationaleErrors[value] = 'This field is required.';\n }\n });\n\n const nbOfChoices = (choices || []).length;\n\n if (nbOfChoices < minAnswerChoices) {\n errors.answerChoices = `There should be at least ${minAnswerChoices} choices defined.`;\n } else if (nbOfChoices > maxAnswerChoices) {\n errors.answerChoices = `No more than ${maxAnswerChoices} choices should be defined.`;\n }\n\n if (!hasCorrectResponse) {\n errors.correctResponse = 'No correct response defined.';\n }\n\n if (!isEmpty(choicesErrors)) {\n errors.choices = choicesErrors;\n }\n\n if (!isEmpty(rationaleErrors)) {\n errors.rationale = rationaleErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
@@ -25,4 +25,4 @@ var isResponseCorrect = function isResponseCorrect(question, session) {
25
25
  };
26
26
 
27
27
  exports.isResponseCorrect = isResponseCorrect;
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRDb3JyZWN0UmVzcG9uc2UiLCJjaG9pY2VzIiwiZmlsdGVyIiwiYyIsImNvcnJlY3QiLCJtYXAiLCJ2YWx1ZSIsInNvcnQiLCJpc1Jlc3BvbnNlQ29ycmVjdCIsInF1ZXN0aW9uIiwic2Vzc2lvbiIsImNvcnJlY3RSZXNwb25zZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRU8sSUFBTUEsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixDQUFDQyxPQUFEO0FBQUEsU0FDaENBLE9BQU8sQ0FDSkMsTUFESCxDQUNVLFVBQUNDLENBQUQ7QUFBQSxXQUFPQSxDQUFDLENBQUNDLE9BQVQ7QUFBQSxHQURWLEVBRUdDLEdBRkgsQ0FFTyxVQUFDRixDQUFEO0FBQUEsV0FBT0EsQ0FBQyxDQUFDRyxLQUFUO0FBQUEsR0FGUCxFQUdHQyxJQUhILEVBRGdDO0FBQUEsQ0FBM0I7Ozs7QUFNQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNDLFFBQUQsRUFBV0MsT0FBWCxFQUF1QjtBQUN0RCxNQUFJQyxlQUFlLEdBQUdYLGtCQUFrQixDQUFDUyxRQUFRLENBQUNSLE9BQVYsQ0FBeEM7QUFDQSxTQUFPUyxPQUFPLElBQUkseUJBQVEsQ0FBQ0EsT0FBTyxDQUFDSixLQUFSLElBQWlCLEVBQWxCLEVBQXNCQyxJQUF0QixFQUFSLEVBQXNDSSxlQUF0QyxDQUFsQjtBQUNELENBSE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5cbmV4cG9ydCBjb25zdCBnZXRDb3JyZWN0UmVzcG9uc2UgPSAoY2hvaWNlcykgPT5cbiAgY2hvaWNlc1xuICAgIC5maWx0ZXIoKGMpID0+IGMuY29ycmVjdClcbiAgICAubWFwKChjKSA9PiBjLnZhbHVlKVxuICAgIC5zb3J0KCk7XG5cbmV4cG9ydCBjb25zdCBpc1Jlc3BvbnNlQ29ycmVjdCA9IChxdWVzdGlvbiwgc2Vzc2lvbikgPT4ge1xuICBsZXQgY29ycmVjdFJlc3BvbnNlID0gZ2V0Q29ycmVjdFJlc3BvbnNlKHF1ZXN0aW9uLmNob2ljZXMpO1xuICByZXR1cm4gc2Vzc2lvbiAmJiBpc0VxdWFsKChzZXNzaW9uLnZhbHVlIHx8IFtdKS5zb3J0KCksIGNvcnJlY3RSZXNwb25zZSk7XG59O1xuIl19
28
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.js"],"names":["getCorrectResponse","choices","filter","c","correct","map","value","sort","isResponseCorrect","question","session","correctResponse"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,OAAD;AAAA,SAChCA,OAAO,CACJC,MADH,CACU,UAACC,CAAD;AAAA,WAAOA,CAAC,CAACC,OAAT;AAAA,GADV,EAEGC,GAFH,CAEO,UAACF,CAAD;AAAA,WAAOA,CAAC,CAACG,KAAT;AAAA,GAFP,EAGGC,IAHH,EADgC;AAAA,CAA3B;;;;AAMA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,QAAD,EAAWC,OAAX,EAAuB;AACtD,MAAIC,eAAe,GAAGX,kBAAkB,CAACS,QAAQ,CAACR,OAAV,CAAxC;AACA,SAAOS,OAAO,IAAI,yBAAQ,CAACA,OAAO,CAACJ,KAAR,IAAiB,EAAlB,EAAsBC,IAAtB,EAAR,EAAsCI,eAAtC,CAAlB;AACD,CAHM","sourcesContent":["import isEqual from 'lodash/isEqual';\n\nexport const getCorrectResponse = (choices) =>\n choices\n .filter((c) => c.correct)\n .map((c) => c.value)\n .sort();\n\nexport const isResponseCorrect = (question, session) => {\n let correctResponse = getCorrectResponse(question.choices);\n return session && isEqual((session.value || []).sort(), correctResponse);\n};\n"],"file":"utils.js"}
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/multiple-choice-controller",
3
3
  "private": true,
4
- "version": "5.11.0-beta.0",
4
+ "version": "5.10.6",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@pie-lib/controller-utils": "^0.4.0-beta.0",
11
+ "@pie-lib/pie-toolbox": "2.23.3",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15"
14
14
  }
@@ -33,7 +33,7 @@ var _styles = require("@material-ui/core/styles");
33
33
 
34
34
  var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
35
35
 
36
- var _renderUi = require("@pie-lib/render-ui");
36
+ var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
37
37
 
38
38
  var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
39
39
 
@@ -424,4 +424,4 @@ exports.ChoiceInput = ChoiceInput;
424
424
  var _default = (0, _styles.withStyles)(styleSheet)(ChoiceInput);
425
425
 
426
426
  exports["default"] = _default;
427
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaG9pY2UtaW5wdXQuanN4Il0sIm5hbWVzIjpbIkNMQVNTX05BTUUiLCJzdHlsZVNoZWV0IiwidGhlbWUiLCJyb3ciLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwiYmFja2dyb3VuZCIsImNoZWNrYm94SG9sZGVyIiwiZmxleCIsInRleHQiLCJmb250U2l6ZSIsImhvcml6b250YWxMYXlvdXQiLCJwYWRkaW5nIiwic3BhY2luZyIsInVuaXQiLCJtYXJnaW4iLCJiZWxvd0xheW91dCIsImJlbG93TGF5b3V0Q2VudGVyIiwianVzdGlmeUNvbnRlbnQiLCJiZWxvd1NlbGVjdGlvbkNvbXBvbmVudCIsIm1hcmdpbkxlZnQiLCJzck9ubHkiLCJwb3NpdGlvbiIsImxlZnQiLCJ0b3AiLCJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93IiwiZm9ybVN0eWxlU2hlZXQiLCJsYWJlbCIsImxldHRlclNwYWNpbmciLCJkaXNhYmxlZCIsImN1cnNvciIsIlN0eWxlZEZvcm1Db250cm9sTGFiZWwiLCJuYW1lIiwicHJvcHMiLCJjbGFzc2VzIiwiY29sb3JTdHlsZSIsInZhck5hbWUiLCJmYWxsYmFjayIsImlucHV0U3R5bGVzIiwiY29ycmVjdCIsImluY29ycmVjdCIsInJvb3QiLCJwcmltYXJ5TGlnaHQiLCJjaGVja2VkIiwicHJpbWFyeSIsIm9wYWNpdHkiLCJwb2ludGVyRXZlbnRzIiwiZm9jdXNWaXNpYmxlVW5jaGVja2VkIiwib3V0bGluZSIsImZvY3VzVW5jaGVja2VkQm9yZGVyIiwiZm9jdXNVbmNoZWNrZWQiLCJmb2N1c1Zpc2libGVDaGVja2VkIiwiZm9jdXNDaGVja2VkQm9yZGVyIiwiZm9jdXNDaGVja2VkIiwiU3R5bGVkQ2hlY2tib3giLCJjb3JyZWN0bmVzcyIsIm9uQ2hhbmdlIiwidmFsdWUiLCJpZCIsIm9uS2V5RG93biIsImlucHV0UmVmIiwia2V5IiwiayIsInJlc29sdmVkIiwibWluaVByb3BzIiwiU3R5bGVkUmFkaW8iLCJ0YWdOYW1lIiwiQ2hvaWNlSW5wdXQiLCJldmVudCIsImNob2ljZU1vZGUiLCJpc0Fycm93RG93biIsImlzQXJyb3dVcCIsInByZXZlbnREZWZhdWx0IiwiY3VycmVudEVsIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImNob2ljZUlkIiwiZmllbGRzZXQiLCJjbG9zZXN0IiwiZ3JvdXBDaGVja2JveGVzIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsImN1cnJlbnRJbmRleCIsImZpbmRJbmRleCIsImVsIiwibmV4dEluZGV4IiwibmV4dEVsIiwiZm9jdXMiLCJvblRvZ2dsZUNob2ljZSIsImJpbmQiLCJnZW5lcmF0ZUNob2ljZUlkIiwiZGVzY0lkIiwiTWF0aCIsInJhbmRvbSIsInRvRml4ZWQiLCJkaXNwbGF5S2V5IiwiZmVlZGJhY2siLCJjbGFzc05hbWUiLCJyYXRpb25hbGUiLCJoaWRlVGljayIsImlzRXZhbHVhdGVNb2RlIiwiY2hvaWNlc0xheW91dCIsImlzU2VsZWN0aW9uQnV0dG9uQmVsb3ciLCJUYWciLCJjbGFzc1N1ZmZpeCIsImhvbGRlckNsYXNzTmFtZXMiLCJjaG9pY2VsYWJlbCIsInNjcmVlblJlYWRlckxhYmVsIiwidGFnUHJvcHMiLCJoYW5kbGVLZXlEb3duIiwiaGFzTWF0aE9ySW1hZ2UiLCJpbmNsdWRlcyIsImNvbnRyb2wiLCJhdXRvRm9jdXNSZWYiLCJ1bmRlZmluZWQiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9uZU9mIiwic3RyaW5nIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJmdW5jIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxVQUFVLEdBQUcsMkJBQW5COztBQUVBLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUND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QUUsSUFEUztBQUVwQnhELEVBQUFBLE9BQU8sRUFBRSxLQUZXO0FBR3BCMEQsRUFBQUEsY0FBYyxFQUFFO0FBSEksQzs7ZUE0SlQsd0JBQVd4RyxVQUFYLEVBQXVCc0UsV0FBdkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGb3JtQ29udHJvbExhYmVsIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0Zvcm1Db250cm9sTGFiZWwnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBDaGVja2JveCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9DaGVja2JveCc7XG5pbXBvcnQgeyBGZWVkYmFjaywgY29sb3IsIFByZXZpZXdQcm9tcHQgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IFJhZGlvIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1JhZGlvJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQgRmVlZGJhY2tUaWNrIGZyb20gJy4vZmVlZGJhY2stdGljayc7XG5cbmNvbnN0IENMQVNTX05BTUUgPSAnbXVsdGlwbGUtY2hvaWNlLWNvbXBvbmVudCc7XG5cbmNvbnN0IHN0eWxlU2hlZXQgPSAodGhlbWUpID0+ICh7XG4gIHJvdzoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgfSxcbiAgY2hlY2tib3hIb2xkZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgZmxleDogMSxcbiAgICAnJiBsYWJlbCc6IHtcbiAgICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgICAnJiA+IHNwYW4nOiB7XG4gICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIGhvcml6b250YWxMYXlvdXQ6IHtcbiAgICBbYCYgLiR7Q0xBU1NfTkFNRX1gXToge1xuICAgICAgLy8gdmlzdWFsbHkgcmVkdWNlIHJpZ2h0IHBhZGRpbmcsIGJ1dCBtYWludGFpbiBhY2Nlc3NpYmlsaXR5IHBhZGRpbmcgZm9yIGNoZWNrYm94IGluZGljYXRvcnMgdG8gYmUgY2lyY2xlc1xuICAgICAgLy8gYWRkIG1hcmdpbiB0byB0aGUgdG9wLCBsZWZ0IGFuZCBib3R0b20gb2YgdGhlIGNoZWNrYm94IHRvIGtlZXAgdGhlIHNhbWUgc3BhY2luZyBhcyBiZWZvcmVcbiAgICAgIHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgICAgIG1hcmdpbjogYCR7dGhlbWUuc3BhY2luZy51bml0IC8gMn1weCAwICR7dGhlbWUuc3BhY2luZy51bml0IC8gMn1weCAke3RoZW1lLnNwYWNpbmcudW5pdCAvIDJ9cHhgLFxuICAgIH0sXG4gIH0sXG4gIGJlbG93TGF5b3V0OiB7XG4gICAgJyYgPiBsYWJlbCc6IHtcbiAgICAgIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyxcbiAgICB9LFxuICB9LFxuICBiZWxvd0xheW91dENlbnRlcjoge1xuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAnJiA+IGxhYmVsJzoge1xuICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgfSxcbiAgfSxcbiAgYmVsb3dTZWxlY3Rpb25Db21wb25lbnQ6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgJyYgPiBzcGFuJzoge1xuICAgICAgLy8gdmlzdWFsbHkgcmVkdWNlIHJpZ2h0IHBhZGRpbmcsIGJ1dCBtYWludGFpbiBhY2Nlc3NpYmlsaXR5IHBhZGRpbmcgZm9yIGNoZWNrYm94IGluZGljYXRvcnMgdG8gYmUgY2lyY2xlc1xuICAgICAgbWFyZ2luTGVmdDogYC0ke3RoZW1lLnNwYWNpbmcudW5pdH1weGAsXG4gICAgfSxcbiAgfSxcbiAgc3JPbmx5OiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJy0xMDAwMHB4JyxcbiAgICB0b3A6ICdhdXRvJyxcbiAgICB3aWR0aDogJzFweCcsXG4gICAgaGVpZ2h0OiAnMXB4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gIH0sXG59KTtcblxuY29uc3QgZm9ybVN0eWxlU2hlZXQgPSB7XG4gIGxhYmVsOiB7XG4gICAgY29sb3I6IGAke2NvbG9yLnRleHQoKX0gIWltcG9ydGFudGAsIC8vJ3ZhcigtLWNob2ljZS1pbnB1dC1jb2xvciwgYmxhY2spJ1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgIGxldHRlclNwYWNpbmc6ICdub3JtYWwnLFxuICB9LFxuICBkaXNhYmxlZDoge1xuICAgIC8vIGFwcGx5IHRvIGFsbCBjaGlsZHJlblxuICAgICcmIConOiB7XG4gICAgICBjdXJzb3I6ICdub3QtYWxsb3dlZCAhaW1wb3J0YW50JyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZvcm1Db250cm9sTGFiZWwgPSB3aXRoU3R5bGVzKGZvcm1TdHlsZVNoZWV0LCB7XG4gIG5hbWU6ICdGb3JtQ29udHJvbExhYmVsJyxcbn0pKChwcm9wcykgPT4gKFxuICA8Rm9ybUNvbnRyb2xMYWJlbCB7Li4ucHJvcHN9IGNsYXNzZXM9e3sgbGFiZWw6IHByb3BzLmNsYXNzZXMubGFiZWwsIGRpc2FibGVkOiBwcm9wcy5jbGFzc2VzLmRpc2FibGVkIH19IC8+XG4pKTtcblxuY29uc3QgY29sb3JTdHlsZSA9ICh2YXJOYW1lLCBmYWxsYmFjaykgPT4gKHtcbiAgW2AmLiR7Q0xBU1NfTkFNRX1gXToge1xuICAgIGNvbG9yOiBgdmFyKC0tY2hvaWNlLWlucHV0LSR7dmFyTmFtZX0sICR7ZmFsbGJhY2t9KSAhaW1wb3J0YW50YCxcbiAgfSxcbn0pO1xuXG5jb25zdCBpbnB1dFN0eWxlcyA9IHtcbiAgJ2NvcnJlY3Qtcm9vdCc6IGNvbG9yU3R5bGUoJ2NvcnJlY3QtY29sb3InLCBjb2xvci50ZXh0KCkpLFxuICAnY29ycmVjdC1jaGVja2VkJzogY29sb3JTdHlsZSgnY29ycmVjdC1zZWxlY3RlZC1jb2xvcicsIGNvbG9yLmNvcnJlY3QoKSksIC8vZ3JlZW5bNTAwXSksXG4gICdjb3JyZWN0LWRpc2FibGVkJzogY29sb3JTdHlsZSgnY29ycmVjdC1kaXNhYmxlZC1jb2xvcicsIGNvbG9yLmRpc2FibGVkKCkpLCAvLydncmV5JyksXG4gICdpbmNvcnJlY3Qtcm9vdCc6IGNvbG9yU3R5bGUoJ2luY29ycmVjdC1jb2xvcicsIGNvbG9yLmluY29ycmVjdCgpKSxcbiAgJ2luY29ycmVjdC1jaGVja2VkJzogY29sb3JTdHlsZSgnaW5jb3JyZWN0LWNoZWNrZWQnLCBjb2xvci5pbmNvcnJlY3QoKSksIC8vb3JhbmdlWzUwMF0pLFxuICAnaW5jb3JyZWN0LWRpc2FibGVkJzogY29sb3JTdHlsZSgnaW5jb3JyZWN0LWRpc2FibGVkLWNvbG9yJywgY29sb3IuZGlzYWJsZWQoKSksXG4gIHJvb3Q6IHtcbiAgICAuLi5jb2xvclN0eWxlKCdjb2xvcicsIGNvbG9yLnRleHQoKSksXG4gICAgJyY6aG92ZXInOiB7IGNvbG9yOiBgJHtjb2xvci5wcmltYXJ5TGlnaHQoKX0gIWltcG9ydGFudGAgfSxcbiAgfSxcbiAgY2hlY2tlZDogY29sb3JTdHlsZSgnc2VsZWN0ZWQtY29sb3InLCBjb2xvci5wcmltYXJ5KCkpLFxuICBkaXNhYmxlZDoge1xuICAgIC4uLmNvbG9yU3R5bGUoJ2Rpc2FibGVkLWNvbG9yJywgY29sb3IudGV4dCgpKSxcbiAgICBvcGFjaXR5OiAwLjYsXG4gICAgY3Vyc29yOiAnbm90LWFsbG93ZWQgIWltcG9ydGFudCcsXG4gICAgcG9pbnRlckV2ZW50czogJ2luaXRpYWwgIWltcG9ydGFudCcsXG4gIH0sXG4gIGZvY3VzVmlzaWJsZVVuY2hlY2tlZDoge1xuICAgIG91dGxpbmU6IGAycHggc29saWQgJHtjb2xvci5mb2N1c1VuY2hlY2tlZEJvcmRlcigpfWAsXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5mb2N1c1VuY2hlY2tlZCgpLFxuICB9LFxuICBmb2N1c1Zpc2libGVDaGVja2VkOiB7XG4gICAgb3V0bGluZTogYDJweCBzb2xpZCAke2NvbG9yLmZvY3VzQ2hlY2tlZEJvcmRlcigpfWAsXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5mb2N1c0NoZWNrZWQoKSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaGVja2JveCA9IHdpdGhTdHlsZXMoaW5wdXRTdHlsZXMpKChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvcnJlY3RuZXNzLCBjbGFzc2VzLCBjaGVja2VkLCBvbkNoYW5nZSwgZGlzYWJsZWQsIHZhbHVlLCBpZCwgb25LZXlEb3duLCBpbnB1dFJlZiB9ID0gcHJvcHM7XG4gIGNvbnN0IGtleSA9IChrKSA9PiAoY29ycmVjdG5lc3MgPyBgJHtjb3JyZWN0bmVzc30tJHtrfWAgOiBrKTtcblxuICBjb25zdCByZXNvbHZlZCA9IHtcbiAgICByb290OiBjbGFzc2VzW2tleSgncm9vdCcpXSxcbiAgICBjaGVja2VkOiBjbGFzc2VzW2tleSgnY2hlY2tlZCcpXSxcbiAgICBkaXNhYmxlZDogY2xhc3Nlc1trZXkoJ2Rpc2FibGVkJyldLFxuICB9O1xuXG4gIGNvbnN0IG1pbmlQcm9wcyA9IHsgY2hlY2tlZCwgb25DaGFuZ2UsIGRpc2FibGVkLCB2YWx1ZSB9O1xuXG4gIHJldHVybiAoXG4gICAgPENoZWNrYm94XG4gICAgICBpZD17aWR9XG4gICAgICBpbnB1dFJlZj17aW5wdXRSZWZ9XG4gICAgICBhcmlhLWNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgIGZvY3VzVmlzaWJsZUNsYXNzTmFtZT17Y2hlY2tlZCA/IGNsYXNzZXMuZm9jdXNWaXNpYmxlQ2hlY2tlZCA6IGNsYXNzZXMuZm9jdXNWaXNpYmxlVW5jaGVja2VkfVxuICAgICAgZGlzYWJsZVJpcHBsZVxuICAgICAgey4uLm1pbmlQcm9wc31cbiAgICAgIGNsYXNzTmFtZT17Q0xBU1NfTkFNRX1cbiAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgcm9vdDogcmVzb2x2ZWQucm9vdCxcbiAgICAgICAgY2hlY2tlZDogcmVzb2x2ZWQuY2hlY2tlZCxcbiAgICAgICAgZGlzYWJsZWQ6IGAke2NvcnJlY3RuZXNzID8gJycgOiByZXNvbHZlZC5kaXNhYmxlZH1gLFxuICAgICAgfX1cbiAgICAvPlxuICApO1xufSk7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpbyA9IHdpdGhTdHlsZXMoaW5wdXRTdHlsZXMpKChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvcnJlY3RuZXNzLCBjbGFzc2VzLCBjaGVja2VkLCBvbkNoYW5nZSwgZGlzYWJsZWQsIHZhbHVlLCBpZCwgdGFnTmFtZSwgaW5wdXRSZWYgfSA9IHByb3BzO1xuICBjb25zdCBrZXkgPSAoaykgPT4gKGNvcnJlY3RuZXNzID8gYCR7Y29ycmVjdG5lc3N9LSR7a31gIDogayk7XG5cbiAgY29uc3QgcmVzb2x2ZWQgPSB7XG4gICAgcm9vdDogY2xhc3Nlc1trZXkoJ3Jvb3QnKV0sXG4gICAgY2hlY2tlZDogY2xhc3Nlc1trZXkoJ2NoZWNrZWQnKV0sXG4gICAgZGlzYWJsZWQ6IGNsYXNzZXNba2V5KCdkaXNhYmxlZCcpXSxcbiAgfTtcblxuICBjb25zdCBtaW5pUHJvcHMgPSB7IGNoZWNrZWQsIG9uQ2hhbmdlLCBkaXNhYmxlZCwgdmFsdWUgfTtcblxuICByZXR1cm4gKFxuICAgIDxSYWRpb1xuICAgICAgaWQ9e2lkfVxuICAgICAgaW5wdXRSZWY9e2lucHV0UmVmfVxuICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgZm9jdXNWaXNpYmxlQ2xhc3NOYW1lPXtjaGVja2VkID8gY2xhc3Nlcy5mb2N1c1Zpc2libGVDaGVja2VkIDogY2xhc3Nlcy5mb2N1c1Zpc2libGVVbmNoZWNrZWR9XG4gICAgICBkaXNhYmxlUmlwcGxlXG4gICAgICB7Li4ubWluaVByb3BzfVxuICAgICAgY2xhc3NOYW1lPXtDTEFTU19OQU1FfVxuICAgICAgbmFtZT17dGFnTmFtZX1cbiAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgcm9vdDogcmVzb2x2ZWQucm9vdCxcbiAgICAgICAgY2hlY2tlZDogcmVzb2x2ZWQuY2hlY2tlZCxcbiAgICAgICAgZGlzYWJsZWQ6IGAke2NvcnJlY3RuZXNzID8gJycgOiByZXNvbHZlZC5kaXNhYmxlZH1gLFxuICAgICAgfX1cbiAgICAvPlxuICApO1xufSk7XG5cbmV4cG9ydCBjbGFzcyBDaG9pY2VJbnB1dCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2hvaWNlTW9kZTogUHJvcFR5cGVzLm9uZU9mKFsncmFkaW8nLCAnY2hlY2tib3gnXSksXG4gICAgZGlzcGxheUtleTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaGVja2VkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGNvcnJlY3RuZXNzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGZlZWRiYWNrOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgcmF0aW9uYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGFnTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoaWRlVGljazogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNFdmFsdWF0ZU1vZGU6IFByb3BUeXBlcy5ib29sLFxuICAgIGNob2ljZXNMYXlvdXQ6IFByb3BUeXBlcy5vbmVPZihbJ3ZlcnRpY2FsJywgJ2dyaWQnLCAnaG9yaXpvbnRhbCddKSxcbiAgICBpc1NlbGVjdGlvbkJ1dHRvbkJlbG93OiBQcm9wVHlwZXMuYm9vbCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHJhdGlvbmFsZTogbnVsbCxcbiAgICBjaGVja2VkOiBmYWxzZSxcbiAgICBpc0V2YWx1YXRlTW9kZTogZmFsc2UsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5vblRvZ2dsZUNob2ljZSA9IHRoaXMub25Ub2dnbGVDaG9pY2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNob2ljZUlkID0gdGhpcy5nZW5lcmF0ZUNob2ljZUlkKCk7XG4gICAgdGhpcy5kZXNjSWQgPSBgJHt0aGlzLmNob2ljZUlkfS1kZXNjYDtcbiAgfVxuXG4gIG9uVG9nZ2xlQ2hvaWNlKGV2ZW50KSB7XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShldmVudCk7XG4gIH1cblxuICBnZW5lcmF0ZUNob2ljZUlkKCkge1xuICAgIHJldHVybiAnY2hvaWNlLScgKyAoTWF0aC5yYW5kb20oKSAqIDEwMDAwKS50b0ZpeGVkKCk7XG4gIH1cblxuICBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBjaG9pY2VNb2RlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGNob2ljZU1vZGUgIT09ICdjaGVja2JveCcpIHJldHVybjtcblxuICAgIGNvbnN0IGlzQXJyb3dEb3duID0gZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJztcbiAgICBjb25zdCBpc0Fycm93VXAgPSBldmVudC5rZXkgPT09ICdBcnJvd1VwJztcblxuICAgIGlmICghaXNBcnJvd0Rvd24gJiYgIWlzQXJyb3dVcCkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGN1cnJlbnRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY2hvaWNlSWQpO1xuICAgIGlmICghY3VycmVudEVsKSByZXR1cm47XG5cbiAgICBjb25zdCBmaWVsZHNldCA9IGN1cnJlbnRFbC5jbG9zZXN0KCdmaWVsZHNldCcpO1xuICAgIGlmICghZmllbGRzZXQpIHJldHVybjtcblxuICAgIGNvbnN0IGdyb3VwQ2hlY2tib3hlcyA9IEFycmF5LmZyb20oZmllbGRzZXQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykpO1xuXG4gICAgY29uc3QgY3VycmVudEluZGV4ID0gZ3JvdXBDaGVja2JveGVzLmZpbmRJbmRleCgoZWwpID0+IGVsID09PSBjdXJyZW50RWwpO1xuICAgIGlmIChjdXJyZW50SW5kZXggPT09IC0xKSByZXR1cm47XG5cbiAgICBjb25zdCBuZXh0SW5kZXggPSBpc0Fycm93RG93biA/IGN1cnJlbnRJbmRleCArIDEgOiBjdXJyZW50SW5kZXggLSAxO1xuICAgIGNvbnN0IG5leHRFbCA9IGdyb3VwQ2hlY2tib3hlc1tuZXh0SW5kZXhdO1xuXG4gICAgaWYgKG5leHRFbCkge1xuICAgICAgbmV4dEVsLmZvY3VzKCk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjaG9pY2VNb2RlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBkaXNwbGF5S2V5LFxuICAgICAgZmVlZGJhY2ssXG4gICAgICBsYWJlbCxcbiAgICAgIGNvcnJlY3RuZXNzLFxuICAgICAgY2xhc3NlcyxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIHJhdGlvbmFsZSxcbiAgICAgIGhpZGVUaWNrLFxuICAgICAgaXNFdmFsdWF0ZU1vZGUsXG4gICAgICBjaG9pY2VzTGF5b3V0LFxuICAgICAgdmFsdWUsXG4gICAgICBjaGVja2VkLFxuICAgICAgdGFnTmFtZSxcbiAgICAgIGlzU2VsZWN0aW9uQnV0dG9uQmVsb3csXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBUYWcgPSBjaG9pY2VNb2RlID09PSAnY2hlY2tib3gnID8gU3R5bGVkQ2hlY2tib3ggOiBTdHlsZWRSYWRpbztcbiAgICBjb25zdCBjbGFzc1N1ZmZpeCA9IGNob2ljZU1vZGUgPT09ICdjaGVja2JveCcgPyAnY2hlY2tib3gnIDogJ3JhZGlvLWJ1dHRvbic7XG5cbiAgICBjb25zdCBob2xkZXJDbGFzc05hbWVzID0gY2xhc3NOYW1lcyhjbGFzc2VzLmNoZWNrYm94SG9sZGVyLCB7XG4gICAgICBbY2xhc3Nlcy5ob3Jpem9udGFsTGF5b3V0XTogY2hvaWNlc0xheW91dCA9PT0gJ2hvcml6b250YWwnLFxuICAgICAgW2NsYXNzZXMuYmVsb3dMYXlvdXRdOiBpc1NlbGVjdGlvbkJ1dHRvbkJlbG93ICYmIGNob2ljZXNMYXlvdXQgIT09ICdncmlkJyxcbiAgICAgIFtjbGFzc2VzLmJlbG93TGF5b3V0Q2VudGVyXTogaXNTZWxlY3Rpb25CdXR0b25CZWxvdyAmJiBjaG9pY2VzTGF5b3V0ID09PSAnZ3JpZCcsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjaG9pY2VsYWJlbCA9IChcbiAgICAgIDw+XG4gICAgICAgIHtkaXNwbGF5S2V5ICYmICFpc1NlbGVjdGlvbkJ1dHRvbkJlbG93ID8gKFxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y2xhc3Nlcy5yb3d9PlxuICAgICAgICAgICAge2Rpc3BsYXlLZXl9LnsnXFx1MDBBMCd9XG4gICAgICAgICAgICA8UHJldmlld1Byb21wdCBjbGFzc05hbWU9XCJsYWJlbFwiIHByb21wdD17bGFiZWx9IHRhZ05hbWU9XCJzcGFuXCIgLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFByZXZpZXdQcm9tcHQgY2xhc3NOYW1lPVwibGFiZWxcIiBwcm9tcHQ9e2xhYmVsfSB0YWdOYW1lPVwic3BhblwiIC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgY29uc3Qgc2NyZWVuUmVhZGVyTGFiZWwgPSAoXG4gICAgICA8c3BhbiBpZD17dGhpcy5kZXNjSWR9IGNsYXNzTmFtZT17Y2xhc3Nlcy5zck9ubHl9PlxuICAgICAgICB7Y2hvaWNlTW9kZSA9PT0gJ2NoZWNrYm94JyA/ICdDaGVja2JveCB0byBzZWxlY3QgdGhlIGFuc3dlciBiZWxvdycgOiAnUmFkaW8gYnV0dG9uIHRvIHNlbGVjdCB0aGUgYW5zd2VyIGJlbG93J31cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuXG4gICAgY29uc3QgdGFnUHJvcHMgPSB7XG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGNoZWNrZWQsXG4gICAgICBjb3JyZWN0bmVzcyxcbiAgICAgIHRhZ05hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlkOiB0aGlzLmNob2ljZUlkLFxuICAgICAgb25DaGFuZ2U6IHRoaXMub25Ub2dnbGVDaG9pY2UsXG4gICAgICBvbktleURvd246IHRoaXMuaGFuZGxlS2V5RG93bixcbiAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogdGhpcy5kZXNjSWQsXG4gICAgfTtcblxuICAgIGNvbnN0IGhhc01hdGhPckltYWdlID1cbiAgICAgIHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycgJiZcbiAgICAgIChsYWJlbC5pbmNsdWRlcygnPG1hdGgnKSB8fFxuICAgICAgICBsYWJlbC5pbmNsdWRlcygnXFxcXCgnKSB8fFxuICAgICAgICBsYWJlbC5pbmNsdWRlcygnXFxcXFsnKSB8fFxuICAgICAgICBsYWJlbC5pbmNsdWRlcygnPGltZycpIHx8XG4gICAgICAgIGxhYmVsLmluY2x1ZGVzKCdkYXRhLWxhdGV4JykgfHxcbiAgICAgICAgbGFiZWwuaW5jbHVkZXMoJ2RhdGEtcmF3JykgfHxcbiAgICAgICAgbGFiZWwuaW5jbHVkZXMoJzxtangtY29udGFpbmVyJykpO1xuXG4gICAgY29uc3QgY29udHJvbCA9IGlzU2VsZWN0aW9uQnV0dG9uQmVsb3cgPyAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMuYmVsb3dTZWxlY3Rpb25Db21wb25lbnR9PlxuICAgICAgICB7aGFzTWF0aE9ySW1hZ2UgJiYgc2NyZWVuUmVhZGVyTGFiZWx9XG4gICAgICAgIDxUYWcgey4uLnRhZ1Byb3BzfSBzdHlsZT17eyBwYWRkaW5nOiAwIH19IC8+XG4gICAgICAgIHtkaXNwbGF5S2V5ID8gYCR7ZGlzcGxheUtleX0uYCA6ICcnfVxuICAgICAgPC9zcGFuPlxuICAgICkgOiAoXG4gICAgICA8PlxuICAgICAgICB7aGFzTWF0aE9ySW1hZ2UgJiYgc2NyZWVuUmVhZGVyTGFiZWx9XG4gICAgICAgIDxUYWcgey4uLnRhZ1Byb3BzfSBpbnB1dFJlZj17dGhpcy5wcm9wcy5hdXRvRm9jdXNSZWZ9IC8+XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgJ2NvcmVzcHJpbmctJyArIGNsYXNzU3VmZml4LCAnY2hvaWNlLWlucHV0Jyl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yb3d9PlxuICAgICAgICAgIHshaGlkZVRpY2sgJiYgaXNFdmFsdWF0ZU1vZGUgJiYgPEZlZWRiYWNrVGljayBjb3JyZWN0bmVzcz17Y29ycmVjdG5lc3N9IC8+fVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGhvbGRlckNsYXNzTmFtZXMsICdjaGVja2JveC1ob2xkZXInKX0+XG4gICAgICAgICAgICA8U3R5bGVkRm9ybUNvbnRyb2xMYWJlbFxuICAgICAgICAgICAgICBsYWJlbD17Y2hvaWNlbGFiZWx9XG4gICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgaHRtbEZvcj17dGhpcy5jaG9pY2VJZH1cbiAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQ9e2lzU2VsZWN0aW9uQnV0dG9uQmVsb3cgPyAndG9wJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgY29udHJvbD17Y29udHJvbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7cmF0aW9uYWxlICYmIDxQcmV2aWV3UHJvbXB0IGNsYXNzTmFtZT1cInJhdGlvbmFsZVwiIGRlZmF1bHRDbGFzc05hbWU9XCJyYXRpb25hbGVcIiBwcm9tcHQ9e3JhdGlvbmFsZX0gLz59XG4gICAgICAgIDxGZWVkYmFjayBmZWVkYmFjaz17ZmVlZGJhY2t9IGNvcnJlY3RuZXNzPXtjb3JyZWN0bmVzc30gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZVNoZWV0KShDaG9pY2VJbnB1dCk7XG4iXX0=
427
+ //# sourceMappingURL=choice-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/choice-input.jsx"],"names":["CLASS_NAME","styleSheet","theme","row","display","alignItems","backgroundColor","color","background","checkboxHolder","flex","text","fontSize","horizontalLayout","padding","spacing","unit","margin","belowLayout","belowLayoutCenter","justifyContent","belowSelectionComponent","marginLeft","srOnly","position","left","top","width","height","overflow","formStyleSheet","label","letterSpacing","disabled","cursor","StyledFormControlLabel","name","props","classes","colorStyle","varName","fallback","inputStyles","correct","incorrect","root","primaryLight","checked","primary","opacity","pointerEvents","focusVisibleUnchecked","outline","focusUncheckedBorder","focusUnchecked","focusVisibleChecked","focusCheckedBorder","focusChecked","StyledCheckbox","correctness","onChange","value","id","onKeyDown","inputRef","key","k","resolved","miniProps","StyledRadio","tagName","ChoiceInput","event","choiceMode","isArrowDown","isArrowUp","preventDefault","currentEl","document","getElementById","choiceId","fieldset","closest","groupCheckboxes","Array","from","querySelectorAll","currentIndex","findIndex","el","nextIndex","nextEl","focus","onToggleChoice","bind","generateChoiceId","descId","Math","random","toFixed","displayKey","feedback","className","rationale","hideTick","isEvaluateMode","choicesLayout","isSelectionButtonBelow","Tag","classSuffix","holderClassNames","choicelabel","screenReaderLabel","tagProps","handleKeyDown","hasMathOrImage","includes","control","autoFocusRef","undefined","React","Component","PropTypes","oneOf","string","bool","isRequired","func","object"],"mappings":"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","sourcesContent":["import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { Feedback, color, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport Radio from '@material-ui/core/Radio';\nimport classNames from 'classnames';\n\nimport FeedbackTick from './feedback-tick';\n\nconst CLASS_NAME = 'multiple-choice-component';\n\nconst styleSheet = (theme) => ({\n row: {\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n },\n checkboxHolder: {\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n flex: 1,\n '& label': {\n color: color.text(),\n '& > span': {\n fontSize: 'inherit',\n },\n },\n },\n horizontalLayout: {\n [`& .${CLASS_NAME}`]: {\n // visually reduce right padding, but maintain accessibility padding for checkbox indicators to be circles\n // add margin to the top, left and bottom of the checkbox to keep the same spacing as before\n padding: theme.spacing.unit,\n margin: `${theme.spacing.unit / 2}px 0 ${theme.spacing.unit / 2}px ${theme.spacing.unit / 2}px`,\n },\n },\n belowLayout: {\n '& > label': {\n alignItems: 'flex-start',\n },\n },\n belowLayoutCenter: {\n justifyContent: 'center',\n '& > label': {\n alignItems: 'center',\n },\n },\n belowSelectionComponent: {\n display: 'flex',\n alignItems: 'center',\n '& > span': {\n // visually reduce right padding, but maintain accessibility padding for checkbox indicators to be circles\n marginLeft: `-${theme.spacing.unit}px`,\n },\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n});\n\nconst formStyleSheet = {\n label: {\n color: `${color.text()} !important`, //'var(--choice-input-color, black)'\n backgroundColor: color.background(),\n letterSpacing: 'normal',\n },\n disabled: {\n // apply to all children\n '& *': {\n cursor: 'not-allowed !important',\n },\n },\n};\n\nexport const StyledFormControlLabel = withStyles(formStyleSheet, {\n name: 'FormControlLabel',\n})((props) => (\n <FormControlLabel {...props} classes={{ label: props.classes.label, disabled: props.classes.disabled }} />\n));\n\nconst colorStyle = (varName, fallback) => ({\n [`&.${CLASS_NAME}`]: {\n color: `var(--choice-input-${varName}, ${fallback}) !important`,\n },\n});\n\nconst inputStyles = {\n 'correct-root': colorStyle('correct-color', color.text()),\n 'correct-checked': colorStyle('correct-selected-color', color.correct()), //green[500]),\n 'correct-disabled': colorStyle('correct-disabled-color', color.disabled()), //'grey'),\n 'incorrect-root': colorStyle('incorrect-color', color.incorrect()),\n 'incorrect-checked': colorStyle('incorrect-checked', color.incorrect()), //orange[500]),\n 'incorrect-disabled': colorStyle('incorrect-disabled-color', color.disabled()),\n root: {\n ...colorStyle('color', color.text()),\n '&:hover': { color: `${color.primaryLight()} !important` },\n },\n checked: colorStyle('selected-color', color.primary()),\n disabled: {\n ...colorStyle('disabled-color', color.text()),\n opacity: 0.6,\n cursor: 'not-allowed !important',\n pointerEvents: 'initial !important',\n },\n focusVisibleUnchecked: {\n outline: `2px solid ${color.focusUncheckedBorder()}`,\n backgroundColor: color.focusUnchecked(),\n },\n focusVisibleChecked: {\n outline: `2px solid ${color.focusCheckedBorder()}`,\n backgroundColor: color.focusChecked(),\n },\n};\n\nexport const StyledCheckbox = withStyles(inputStyles)((props) => {\n const { correctness, classes, checked, onChange, disabled, value, id, onKeyDown, inputRef } = props;\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n const resolved = {\n root: classes[key('root')],\n checked: classes[key('checked')],\n disabled: classes[key('disabled')],\n };\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <Checkbox\n id={id}\n inputRef={inputRef}\n aria-checked={checked}\n onKeyDown={onKeyDown}\n focusVisibleClassName={checked ? classes.focusVisibleChecked : classes.focusVisibleUnchecked}\n disableRipple\n {...miniProps}\n className={CLASS_NAME}\n classes={{\n root: resolved.root,\n checked: resolved.checked,\n disabled: `${correctness ? '' : resolved.disabled}`,\n }}\n />\n );\n});\n\nexport const StyledRadio = withStyles(inputStyles)((props) => {\n const { correctness, classes, checked, onChange, disabled, value, id, tagName, inputRef } = props;\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n const resolved = {\n root: classes[key('root')],\n checked: classes[key('checked')],\n disabled: classes[key('disabled')],\n };\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <Radio\n id={id}\n inputRef={inputRef}\n aria-checked={checked}\n focusVisibleClassName={checked ? classes.focusVisibleChecked : classes.focusVisibleUnchecked}\n disableRipple\n {...miniProps}\n className={CLASS_NAME}\n name={tagName}\n classes={{\n root: resolved.root,\n checked: resolved.checked,\n disabled: `${correctness ? '' : resolved.disabled}`,\n }}\n />\n );\n});\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n displayKey: PropTypes.string,\n checked: PropTypes.bool.isRequired,\n correctness: PropTypes.string,\n disabled: PropTypes.bool.isRequired,\n feedback: PropTypes.string,\n label: PropTypes.string.isRequired,\n rationale: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object,\n className: PropTypes.string,\n tagName: PropTypes.string,\n hideTick: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n isSelectionButtonBelow: PropTypes.bool,\n };\n\n static defaultProps = {\n rationale: null,\n checked: false,\n isEvaluateMode: false,\n };\n\n constructor(props) {\n super(props);\n this.onToggleChoice = this.onToggleChoice.bind(this);\n this.choiceId = this.generateChoiceId();\n this.descId = `${this.choiceId}-desc`;\n }\n\n onToggleChoice(event) {\n this.props.onChange(event);\n }\n\n generateChoiceId() {\n return 'choice-' + (Math.random() * 10000).toFixed();\n }\n\n handleKeyDown = (event) => {\n const { choiceMode } = this.props;\n\n if (choiceMode !== 'checkbox') return;\n\n const isArrowDown = event.key === 'ArrowDown';\n const isArrowUp = event.key === 'ArrowUp';\n\n if (!isArrowDown && !isArrowUp) return;\n\n event.preventDefault();\n\n const currentEl = document.getElementById(this.choiceId);\n if (!currentEl) return;\n\n const fieldset = currentEl.closest('fieldset');\n if (!fieldset) return;\n\n const groupCheckboxes = Array.from(fieldset.querySelectorAll('input[type=\"checkbox\"]'));\n\n const currentIndex = groupCheckboxes.findIndex((el) => el === currentEl);\n if (currentIndex === -1) return;\n\n const nextIndex = isArrowDown ? currentIndex + 1 : currentIndex - 1;\n const nextEl = groupCheckboxes[nextIndex];\n\n if (nextEl) {\n nextEl.focus();\n }\n };\n\n render() {\n const {\n choiceMode,\n disabled,\n displayKey,\n feedback,\n label,\n correctness,\n classes,\n className,\n rationale,\n hideTick,\n isEvaluateMode,\n choicesLayout,\n value,\n checked,\n tagName,\n isSelectionButtonBelow,\n } = this.props;\n\n const Tag = choiceMode === 'checkbox' ? StyledCheckbox : StyledRadio;\n const classSuffix = choiceMode === 'checkbox' ? 'checkbox' : 'radio-button';\n\n const holderClassNames = classNames(classes.checkboxHolder, {\n [classes.horizontalLayout]: choicesLayout === 'horizontal',\n [classes.belowLayout]: isSelectionButtonBelow && choicesLayout !== 'grid',\n [classes.belowLayoutCenter]: isSelectionButtonBelow && choicesLayout === 'grid',\n });\n\n const choicelabel = (\n <>\n {displayKey && !isSelectionButtonBelow ? (\n <span className={classes.row}>\n {displayKey}.{'\\u00A0'}\n <PreviewPrompt className=\"label\" prompt={label} tagName=\"span\" />\n </span>\n ) : (\n <PreviewPrompt className=\"label\" prompt={label} tagName=\"span\" />\n )}\n </>\n );\n\n const screenReaderLabel = (\n <span id={this.descId} className={classes.srOnly}>\n {choiceMode === 'checkbox' ? 'Checkbox to select the answer below' : 'Radio button to select the answer below'}\n </span>\n );\n\n const tagProps = {\n disabled,\n checked,\n correctness,\n tagName,\n value,\n id: this.choiceId,\n onChange: this.onToggleChoice,\n onKeyDown: this.handleKeyDown,\n 'aria-describedby': this.descId,\n };\n\n const hasMathOrImage =\n typeof label === 'string' &&\n (label.includes('<math') ||\n label.includes('\\\\(') ||\n label.includes('\\\\[') ||\n label.includes('<img') ||\n label.includes('data-latex') ||\n label.includes('data-raw') ||\n label.includes('<mjx-container'));\n\n const control = isSelectionButtonBelow ? (\n <span className={classes.belowSelectionComponent}>\n {hasMathOrImage && screenReaderLabel}\n <Tag {...tagProps} style={{ padding: 0 }} />\n {displayKey ? `${displayKey}.` : ''}\n </span>\n ) : (\n <>\n {hasMathOrImage && screenReaderLabel}\n <Tag {...tagProps} inputRef={this.props.autoFocusRef} />\n </>\n );\n\n return (\n <div className={classNames(className, 'corespring-' + classSuffix, 'choice-input')}>\n <div className={classes.row}>\n {!hideTick && isEvaluateMode && <FeedbackTick correctness={correctness} />}\n <div className={classNames(holderClassNames, 'checkbox-holder')}>\n <StyledFormControlLabel\n label={choicelabel}\n value={value}\n htmlFor={this.choiceId}\n labelPlacement={isSelectionButtonBelow ? 'top' : undefined}\n control={control}\n />\n </div>\n </div>\n {rationale && <PreviewPrompt className=\"rationale\" defaultClassName=\"rationale\" prompt={rationale} />}\n <Feedback feedback={feedback} correctness={correctness} />\n </div>\n );\n }\n}\n\nexport default withStyles(styleSheet)(ChoiceInput);\n"],"file":"choice-input.js"}
package/lib/choice.js CHANGED
@@ -175,4 +175,4 @@ var _default = (0, _styles.withStyles)(function (theme) {
175
175
  })(Choice);
176
176
 
177
177
  exports["default"] = _default;
178
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaG9pY2UuanN4Il0sIm5hbWVzIjpbIkNob2ljZSIsImNob2ljZSIsInByb3BzIiwiZGlzYWJsZWQiLCJvbkNob2ljZUNoYW5nZWQiLCJpbmRleCIsImNob2ljZXNMZW5ndGgiLCJzaG93Q29ycmVjdCIsImlzRXZhbHVhdGVNb2RlIiwiY2hvaWNlTW9kZSIsImNoZWNrZWQiLCJjb3JyZWN0bmVzcyIsImRpc3BsYXlLZXkiLCJjbGFzc2VzIiwiY2hvaWNlc0xheW91dCIsImdyaWRDb2x1bW5zIiwiaXNTZWxlY3Rpb25CdXR0b25CZWxvdyIsInNlbGVjdGVkQW5zd2VyQmFja2dyb3VuZENvbG9yIiwiYXV0b0ZvY3VzUmVmIiwidGFnTmFtZSIsImNob2ljZUNsYXNzIiwiZmVlZGJhY2siLCJjaG9pY2VQcm9wcyIsIm9uQ2hhbmdlIiwibmFtZXMiLCJub0JvcmRlciIsImhvcml6b250YWxMYXlvdXQiLCJjaG9pY2VCYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENvbG9yIiwiUmVhY3QiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvbmVPZiIsIm9iamVjdCIsImJvb2wiLCJpc1JlcXVpcmVkIiwiZnVuYyIsIm51bWJlciIsInN0cmluZyIsInRoZW1lIiwicGFkZGluZ1RvcCIsInNwYWNpbmciLCJ1bml0IiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0IiwiYm9yZGVyQm90dG9tIiwicGFsZXR0ZSIsImdyZXkiLCJtYXJnaW5SaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7Ozs7O0lBRWFBLE07Ozs7Ozs7Ozs7Ozs7OztpR0FHQSxVQUFDQyxNQUFELEVBQVk7QUFDckIsd0JBQXNDLE1BQUtDLEtBQTNDO0FBQUEsVUFBUUMsUUFBUixlQUFRQSxRQUFSO0FBQUEsVUFBa0JDLGVBQWxCLGVBQWtCQSxlQUFsQjs7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LElBQWQsR0FBcUIsQ0FGOUI7QUFHTkUsTUFBQUEsV0FBVyxFQUFFTCxLQUFLLENBQUNFLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQixDQUg1QjtBQUlORyxNQUFBQSxZQUFZLEVBQUVOLEtBQUssQ0FBQ0UsT0FBTixDQUFjQyxJQUFkLEdBQXFCLENBSjdCO0FBS05JLE1BQUFBLFlBQVksc0JBQWVQLEtBQUssQ0FBQ1EsT0FBTixDQUFjQyxJQUFkLENBQW1CLEdBQW5CLENBQWY7QUFMTixLQUQ0QjtBQVFwQ3hCLElBQUFBLFFBQVEsRUFBRTtBQUNSc0IsTUFBQUEsWUFBWSxFQUFFO0FBRE4sS0FSMEI7QUFXcENyQixJQUFBQSxnQkFBZ0IsRUFBRTtBQUNoQm9CLE1BQUFBLFlBQVksRUFBRU4sS0FBSyxDQUFDRSxPQUFOLENBQWNDLElBQWQsR0FBcUIsR0FEbkI7QUFFaEIsaUJBQVc7QUFDVE8sUUFBQUEsV0FBVyxFQUFFVixLQUFLLENBQUNFLE9BQU4sQ0FBY0MsSUFEbEIsQ0FFVDtBQUNBO0FBQ0E7O0FBSlM7QUFGSztBQVhrQixHQUFaO0FBQUEsQ0FBWCxFQW9CWDNDLE1BcEJXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCBDaG9pY2VJbnB1dCBmcm9tICcuL2Nob2ljZS1pbnB1dCc7XG5cbmV4cG9ydCBjbGFzcyBDaG9pY2UgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge307XG5cbiAgb25DaGFuZ2UgPSAoY2hvaWNlKSA9PiB7XG4gICAgY29uc3QgeyBkaXNhYmxlZCwgb25DaG9pY2VDaGFuZ2VkIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgb25DaG9pY2VDaGFuZ2VkKGNob2ljZSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjaG9pY2UsXG4gICAgICBpbmRleCxcbiAgICAgIGNob2ljZXNMZW5ndGgsXG4gICAgICBzaG93Q29ycmVjdCxcbiAgICAgIGlzRXZhbHVhdGVNb2RlLFxuICAgICAgY2hvaWNlTW9kZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY2hlY2tlZCxcbiAgICAgIGNvcnJlY3RuZXNzLFxuICAgICAgZGlzcGxheUtleSxcbiAgICAgIGNsYXNzZXMsXG4gICAgICBjaG9pY2VzTGF5b3V0LFxuICAgICAgZ3JpZENvbHVtbnMsXG4gICAgICBpc1NlbGVjdGlvbkJ1dHRvbkJlbG93LFxuICAgICAgc2VsZWN0ZWRBbnN3ZXJCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICBhdXRvRm9jdXNSZWYsXG4gICAgICB0YWdOYW1lXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgY2hvaWNlQ2xhc3MgPSAnY2hvaWNlJyArIChpbmRleCA9PT0gY2hvaWNlc0xlbmd0aCAtIDEgPyAnIGxhc3QnIDogJycpO1xuXG4gICAgY29uc3QgZmVlZGJhY2sgPSAhaXNFdmFsdWF0ZU1vZGUgfHwgc2hvd0NvcnJlY3QgPyAnJyA6IGNob2ljZS5mZWVkYmFjaztcblxuICAgIGNvbnN0IGNob2ljZVByb3BzID0ge1xuICAgICAgLi4uY2hvaWNlLFxuICAgICAgY2hlY2tlZCxcbiAgICAgIGNob2ljZU1vZGUsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGZlZWRiYWNrLFxuICAgICAgY29ycmVjdG5lc3MsXG4gICAgICBkaXNwbGF5S2V5LFxuICAgICAgaW5kZXgsXG4gICAgICBjaG9pY2VzTGF5b3V0LFxuICAgICAgZ3JpZENvbHVtbnMsXG4gICAgICBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZSxcbiAgICAgIGlzRXZhbHVhdGVNb2RlLFxuICAgICAgaXNTZWxlY3Rpb25CdXR0b25CZWxvdyxcbiAgICAgIHRhZ05hbWUsXG4gICAgfTtcblxuICAgIGNvbnN0IG5hbWVzID0gY2xhc3NOYW1lcyhjbGFzc2VzLmNob2ljZSwge1xuICAgICAgW2NsYXNzZXMubm9Cb3JkZXJdOiBpbmRleCA9PT0gY2hvaWNlc0xlbmd0aCAtIDEgfHwgY2hvaWNlc0xheW91dCAhPT0gJ3ZlcnRpY2FsJyxcbiAgICAgIFtjbGFzc2VzLmhvcml6b250YWxMYXlvdXRdOiBjaG9pY2VzTGF5b3V0ID09PSAnaG9yaXpvbnRhbCcsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjaG9pY2VCYWNrZ3JvdW5kID0gc2VsZWN0ZWRBbnN3ZXJCYWNrZ3JvdW5kQ29sb3IgJiYgY2hlY2tlZCA/IHNlbGVjdGVkQW5zd2VyQmFja2dyb3VuZENvbG9yIDogJ2luaXRpYWwnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjaG9pY2VDbGFzc30ga2V5PXtpbmRleH0gc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBjaG9pY2VCYWNrZ3JvdW5kIH19PlxuICAgICAgICA8Q2hvaWNlSW5wdXQgey4uLmNob2ljZVByb3BzfSBjbGFzc05hbWU9e25hbWVzfSBhdXRvRm9jdXNSZWY9e2F1dG9Gb2N1c1JlZn0gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuQ2hvaWNlLnByb3BUeXBlcyA9IHtcbiAgY2hvaWNlTW9kZTogUHJvcFR5cGVzLm9uZU9mKFsncmFkaW8nLCAnY2hlY2tib3gnXSksXG4gIGNob2ljZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIG9uQ2hvaWNlQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMsXG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG4gIGNob2ljZXNMZW5ndGg6IFByb3BUeXBlcy5udW1iZXIsXG4gIHNob3dDb3JyZWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNFdmFsdWF0ZU1vZGU6IFByb3BUeXBlcy5ib29sLFxuICBjaGVja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgY29ycmVjdG5lc3M6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGRpc3BsYXlLZXk6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNob2ljZXNMYXlvdXQ6IFByb3BUeXBlcy5vbmVPZihbJ3ZlcnRpY2FsJywgJ2dyaWQnLCAnaG9yaXpvbnRhbCddKSxcbiAgZ3JpZENvbHVtbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHNlbGVjdGVkQW5zd2VyQmFja2dyb3VuZENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0YWdOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBpc1NlbGVjdGlvbkJ1dHRvbkJlbG93OiBQcm9wVHlwZXMuYm9vbCxcbiAgYXV0b0ZvY3VzUmVmOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcygodGhlbWUpID0+ICh7XG4gIGNob2ljZToge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIuNSxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQgKyAyLFxuICAgIHBhZGRpbmdMZWZ0OiB0aGVtZS5zcGFjaW5nLnVuaXQgKyAyLFxuICAgIHBhZGRpbmdSaWdodDogdGhlbWUuc3BhY2luZy51bml0ICsgMixcbiAgICBib3JkZXJCb3R0b206IGAxcHggc29saWQgJHt0aGVtZS5wYWxldHRlLmdyZXlbMzAwXX1gLFxuICB9LFxuICBub0JvcmRlcjoge1xuICAgIGJvcmRlckJvdHRvbTogJ25vbmUnLFxuICB9LFxuICBob3Jpem9udGFsTGF5b3V0OiB7XG4gICAgcGFkZGluZ1JpZ2h0OiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLjUsXG4gICAgJyYgbGFiZWwnOiB7XG4gICAgICBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2luZy51bml0LFxuICAgICAgLy8gJyYgc3BhbjpmaXJzdC1jaGlsZCc6IHtcbiAgICAgIC8vICAgcGFkZGluZ1JpZ2h0OiAwXG4gICAgICAvLyB9XG4gICAgfSxcbiAgfSxcbn0pKShDaG9pY2UpO1xuIl19
178
+ //# sourceMappingURL=choice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/choice.jsx"],"names":["Choice","choice","props","disabled","onChoiceChanged","index","choicesLength","showCorrect","isEvaluateMode","choiceMode","checked","correctness","displayKey","classes","choicesLayout","gridColumns","isSelectionButtonBelow","selectedAnswerBackgroundColor","autoFocusRef","tagName","choiceClass","feedback","choiceProps","onChange","names","noBorder","horizontalLayout","choiceBackground","backgroundColor","React","Component","propTypes","PropTypes","oneOf","object","bool","isRequired","func","number","string","theme","paddingTop","spacing","unit","paddingBottom","paddingLeft","paddingRight","borderBottom","palette","grey","marginRight"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;IAEaA,M;;;;;;;;;;;;;;;iGAGA,UAACC,MAAD,EAAY;AACrB,wBAAsC,MAAKC,KAA3C;AAAA,UAAQC,QAAR,eAAQA,QAAR;AAAA,UAAkBC,eAAlB,eAAkBA,eAAlB;;AAEA,UAAI,CAACD,QAAL,EAAe;AACbC,QAAAA,eAAe,CAACH,MAAD,CAAf;AACD;AACF,K;;;;;;WAED,kBAAS;AAAA;;AACP,yBAkBI,KAAKC,KAlBT;AAAA,UACED,MADF,gBACEA,MADF;AAAA,UAEEI,KAFF,gBAEEA,KAFF;AAAA,UAGEC,aAHF,gBAGEA,aAHF;AAAA,UAIEC,WAJF,gBAIEA,WAJF;AAAA,UAKEC,cALF,gBAKEA,cALF;AAAA,UAMEC,UANF,gBAMEA,UANF;AAAA,UAOEN,QAPF,gBAOEA,QAPF;AAAA,UAQEO,OARF,gBAQEA,OARF;AAAA,UASEC,WATF,gBASEA,WATF;AAAA,UAUEC,UAVF,gBAUEA,UAVF;AAAA,UAWEC,OAXF,gBAWEA,OAXF;AAAA,UAYEC,aAZF,gBAYEA,aAZF;AAAA,UAaEC,WAbF,gBAaEA,WAbF;AAAA,UAcEC,sBAdF,gBAcEA,sBAdF;AAAA,UAeEC,6BAfF,gBAeEA,6BAfF;AAAA,UAgBEC,YAhBF,gBAgBEA,YAhBF;AAAA,UAiBEC,OAjBF,gBAiBEA,OAjBF;AAmBA,UAAMC,WAAW,GAAG,YAAYf,KAAK,KAAKC,aAAa,GAAG,CAA1B,GAA8B,OAA9B,GAAwC,EAApD,CAApB;AAEA,UAAMe,QAAQ,GAAG,CAACb,cAAD,IAAmBD,WAAnB,GAAiC,EAAjC,GAAsCN,MAAM,CAACoB,QAA9D;;AAEA,UAAMC,WAAW,mCACZrB,MADY;AAEfS,QAAAA,OAAO,EAAPA,OAFe;AAGfD,QAAAA,UAAU,EAAVA,UAHe;AAIfN,QAAAA,QAAQ,EAARA,QAJe;AAKfkB,QAAAA,QAAQ,EAARA,QALe;AAMfV,QAAAA,WAAW,EAAXA,WANe;AAOfC,QAAAA,UAAU,EAAVA,UAPe;AAQfP,QAAAA,KAAK,EAALA,KARe;AASfS,QAAAA,aAAa,EAAbA,aATe;AAUfC,QAAAA,WAAW,EAAXA,WAVe;AAWfQ,QAAAA,QAAQ,EAAE,KAAKA,QAXA;AAYff,QAAAA,cAAc,EAAdA,cAZe;AAafQ,QAAAA,sBAAsB,EAAtBA,sBAbe;AAcfG,QAAAA,OAAO,EAAPA;AAde,QAAjB;;AAiBA,UAAMK,KAAK,GAAG,4BAAWX,OAAO,CAACZ,MAAnB,mEACXY,OAAO,CAACY,QADG,EACQpB,KAAK,KAAKC,aAAa,GAAG,CAA1B,IAA+BQ,aAAa,KAAK,UADzD,iDAEXD,OAAO,CAACa,gBAFG,EAEgBZ,aAAa,KAAK,YAFlC,gBAAd;AAKA,UAAMa,gBAAgB,GAAGV,6BAA6B,IAAIP,OAAjC,GAA2CO,6BAA3C,GAA2E,SAApG;AAEA,0BACE;AAAK,QAAA,SAAS,EAAEG,WAAhB;AAA6B,QAAA,GAAG,EAAEf,KAAlC;AAAyC,QAAA,KAAK,EAAE;AAAEuB,UAAAA,eAAe,EAAED;AAAnB;AAAhD,sBACE,gCAAC,uBAAD,gCAAiBL,WAAjB;AAA8B,QAAA,SAAS,EAAEE,KAAzC;AAAgD,QAAA,YAAY,EAAEN;AAA9D,SADF,CADF;AAKD;;;EAhEyBW,kBAAMC,S;;;iCAArB9B,M,eACQ,E;AAkErBA,MAAM,CAAC+B,SAAP,GAAmB;AACjBtB,EAAAA,UAAU,EAAEuB,sBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,UAAV,CAAhB,CADK;AAEjBhC,EAAAA,MAAM,EAAE+B,sBAAUE,MAFD;AAGjB/B,EAAAA,QAAQ,EAAE6B,sBAAUG,IAAV,CAAeC,UAHR;AAIjBhC,EAAAA,eAAe,EAAE4B,sBAAUK,IAJV;AAKjBxB,EAAAA,OAAO,EAAEmB,sBAAUE,MAAV,CAAiBE,UALT;AAMjB/B,EAAAA,KAAK,EAAE2B,sBAAUM,MANA;AAOjBhC,EAAAA,aAAa,EAAE0B,sBAAUM,MAPR;AAQjB/B,EAAAA,WAAW,EAAEyB,sBAAUG,IARN;AASjB3B,EAAAA,cAAc,EAAEwB,sBAAUG,IATT;AAUjBzB,EAAAA,OAAO,EAAEsB,sBAAUG,IAVF;AAWjBxB,EAAAA,WAAW,EAAEqB,sBAAUO,MAXN;AAYjB3B,EAAAA,UAAU,EAAEoB,sBAAUO,MAZL;AAajBzB,EAAAA,aAAa,EAAEkB,sBAAUC,KAAV,CAAgB,CAAC,UAAD,EAAa,MAAb,EAAqB,YAArB,CAAhB,CAbE;AAcjBlB,EAAAA,WAAW,EAAEiB,sBAAUO,MAdN;AAejBtB,EAAAA,6BAA6B,EAAEe,sBAAUO,MAfxB;AAgBjBpB,EAAAA,OAAO,EAAEa,sBAAUO,MAhBF;AAiBjBvB,EAAAA,sBAAsB,EAAEgB,sBAAUG,IAjBjB;AAkBjBjB,EAAAA,YAAY,EAAEc,sBAAUE;AAlBP,CAAnB;;eAqBe,wBAAW,UAACM,KAAD;AAAA,SAAY;AACpCvC,IAAAA,MAAM,EAAE;AACNwC,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,GAD3B;AAENC,MAAAA,aAAa,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAF9B;AAGNE,MAAAA,WAAW,EAAEL,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAH5B;AAING,MAAAA,YAAY,EAAEN,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAJ7B;AAKNI,MAAAA,YAAY,sBAAeP,KAAK,CAACQ,OAAN,CAAcC,IAAd,CAAmB,GAAnB,CAAf;AALN,KAD4B;AAQpCxB,IAAAA,QAAQ,EAAE;AACRsB,MAAAA,YAAY,EAAE;AADN,KAR0B;AAWpCrB,IAAAA,gBAAgB,EAAE;AAChBoB,MAAAA,YAAY,EAAEN,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,GADnB;AAEhB,iBAAW;AACTO,QAAAA,WAAW,EAAEV,KAAK,CAACE,OAAN,CAAcC,IADlB,CAET;AACA;AACA;;AAJS;AAFK;AAXkB,GAAZ;AAAA,CAAX,EAoBX3C,MApBW,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport ChoiceInput from './choice-input';\n\nexport class Choice extends React.Component {\n static propTypes = {};\n\n onChange = (choice) => {\n const { disabled, onChoiceChanged } = this.props;\n\n if (!disabled) {\n onChoiceChanged(choice);\n }\n };\n\n render() {\n const {\n choice,\n index,\n choicesLength,\n showCorrect,\n isEvaluateMode,\n choiceMode,\n disabled,\n checked,\n correctness,\n displayKey,\n classes,\n choicesLayout,\n gridColumns,\n isSelectionButtonBelow,\n selectedAnswerBackgroundColor,\n autoFocusRef,\n tagName\n } = this.props;\n const choiceClass = 'choice' + (index === choicesLength - 1 ? ' last' : '');\n\n const feedback = !isEvaluateMode || showCorrect ? '' : choice.feedback;\n\n const choiceProps = {\n ...choice,\n checked,\n choiceMode,\n disabled,\n feedback,\n correctness,\n displayKey,\n index,\n choicesLayout,\n gridColumns,\n onChange: this.onChange,\n isEvaluateMode,\n isSelectionButtonBelow,\n tagName,\n };\n\n const names = classNames(classes.choice, {\n [classes.noBorder]: index === choicesLength - 1 || choicesLayout !== 'vertical',\n [classes.horizontalLayout]: choicesLayout === 'horizontal',\n });\n\n const choiceBackground = selectedAnswerBackgroundColor && checked ? selectedAnswerBackgroundColor : 'initial';\n\n return (\n <div className={choiceClass} key={index} style={{ backgroundColor: choiceBackground }}>\n <ChoiceInput {...choiceProps} className={names} autoFocusRef={autoFocusRef} />\n </div>\n );\n }\n}\n\nChoice.propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n choice: PropTypes.object,\n disabled: PropTypes.bool.isRequired,\n onChoiceChanged: PropTypes.func,\n classes: PropTypes.object.isRequired,\n index: PropTypes.number,\n choicesLength: PropTypes.number,\n showCorrect: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n checked: PropTypes.bool,\n correctness: PropTypes.string,\n displayKey: PropTypes.string,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string,\n selectedAnswerBackgroundColor: PropTypes.string,\n tagName: PropTypes.string,\n isSelectionButtonBelow: PropTypes.bool,\n autoFocusRef: PropTypes.object,\n};\n\nexport default withStyles((theme) => ({\n choice: {\n paddingTop: theme.spacing.unit * 2.5,\n paddingBottom: theme.spacing.unit + 2,\n paddingLeft: theme.spacing.unit + 2,\n paddingRight: theme.spacing.unit + 2,\n borderBottom: `1px solid ${theme.palette.grey[300]}`,\n },\n noBorder: {\n borderBottom: 'none',\n },\n horizontalLayout: {\n paddingRight: theme.spacing.unit * 2.5,\n '& label': {\n marginRight: theme.spacing.unit,\n // '& span:first-child': {\n // paddingRight: 0\n // }\n },\n },\n}))(Choice);\n"],"file":"choice.js"}
@@ -27,7 +27,7 @@ var _styles = require("@material-ui/core/styles");
27
27
 
28
28
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
29
 
30
- var _renderUi = require("@pie-lib/render-ui");
30
+ var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
31
31
 
32
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
33
 
@@ -171,4 +171,4 @@ var _default = (0, _styles.withStyles)(stylesheet, {
171
171
  })(FeedbackTick);
172
172
 
173
173
  exports["default"] = _default;
174
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mZWVkYmFjay10aWNrLmpzeCJdLCJuYW1lcyI6WyJzdHlsZXNoZWV0IiwiaW5jb3JyZWN0IiwiZmlsbCIsImNvbG9yIiwiY29ycmVjdCIsImZlZWRiYWNrVGljayIsIndpZHRoIiwiaGVpZ2h0IiwicG9zaXRpb24iLCJkaXNwbGF5IiwidmVydGljYWxBbGlnbiIsImZlZWRiYWNrVGlja0VudGVyIiwib3BhY2l0eSIsImxlZnQiLCJmZWVkYmFja1RpY2tFbnRlckFjdGl2ZSIsInRyYW5zaXRpb24iLCJmZWVkYmFja1RpY2tMZWF2ZSIsImZlZWRiYWNrVGlja0xlYXZlQWN0aXZlIiwiRmVlZGJhY2tUaWNrIiwicHJvcHMiLCJpbmNvcnJlY3RJY29uIiwiZW5hYmxlQmFja2dyb3VuZCIsImNsYXNzZXMiLCJjb3JyZWN0SWNvbiIsImNvcnJlY3RuZXNzIiwiaWNvbiIsImVudGVyIiwiZW50ZXJBY3RpdmUiLCJleGl0IiwiZXhpdEFjdGl2ZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsInN0cmluZyIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxVQUFVLEdBQUc7QUFDakJDLEVBQUFBLFNBQVMsRUFBRTtBQUNUQyxJQUFBQSxJQUFJLCtDQUF3Q0MsZ0JBQU1GLFNBQU4sRUFBeEM7QUFESyxHQURNO0FBSWpCRyxFQUFBQSxPQUFPLEVBQUU7QUFDUEYsSUFBQUEsSUFBSSw2Q0FBc0NDLGdCQUFNQyxPQUFOLEVBQXRDO0FBREcsR0FKUTtBQU9qQkMsRUFBQUEsWUFBWSxFQUFFO0FBQ1pDLElBQUFBLEtBQUssRUFBRSxNQURLO0FBRVpDLElBQUFBLE1BQU0sRUFBRSxNQUZJO0FBR1osYUFBUztBQUNQQyxNQUFBQSxRQUFRLEVBQUUsVUFESDtBQUVQQyxNQUFBQSxPQUFPLEVBQUUsY0FGRjtBQUdQSCxNQUFBQSxLQUFLLEVBQUUsTUFIQTtBQUlQQyxNQUFBQSxNQUFNLEVBQUUsTUFKRDtBQUtQRyxNQUFBQSxhQUFhLEVBQUUsUUFMUjtBQU1QLGdCQUFVO0FBQ1JELFFBQUFBLE9BQU8sRUFBRTtBQUREO0FBTkg7QUFIRyxHQVBHO0FBcUJqQkUsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakJDLElBQUFBLE9BQU8sRUFBRSxHQURRO0FBRWpCQyxJQUFBQSxJQUFJLEVBQUU7QUFGVyxHQXJCRjtBQXlCakJDLEVBQUFBLHVCQUF1QixFQUFFO0FBQ3ZCRixJQUFBQSxPQUFPLEVBQUUsR0FEYztBQUV2QkMsSUFBQUEsSUFBSSxFQUFFLEtBRmlCO0FBR3ZCRSxJQUFBQSxVQUFVLEVBQUU7QUFIVyxHQXpCUjtBQThCakJDLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCSixJQUFBQSxPQUFPLEVBQUUsR0FEUTtBQUVqQkMsSUFBQUEsSUFBSSxFQUFFO0FBRlcsR0E5QkY7QUFrQ2pCSSxFQUFBQSx1QkFBdUIsRUFBRTtBQUN2QkwsSUFBQUEsT0FBTyxFQUFFLEdBRGM7QUFFdkJDLElBQUFBLElBQUksRUFBRSxPQUZpQjtBQUd2QkUsSUFBQUEsVUFBVSxFQUFFO0FBSFc7QUFsQ1IsQ0FBbkI7O0lBeUNNRyxZOzs7OztBQUtKLHdCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7QUFDakIsOEJBQU1BLEtBQU47QUFDQSxVQUFLQyxhQUFMLGdCQUNFO0FBQ0UsTUFBQSxHQUFHLEVBQUMsR0FETjtBQUVFLE1BQUEsbUJBQW1CLEVBQUMsZUFGdEI7QUFHRSxNQUFBLENBQUMsRUFBQyxLQUhKO0FBSUUsTUFBQSxDQUFDLEVBQUMsS0FKSjtBQUtFLE1BQUEsT0FBTyxFQUFDLFdBTFY7QUFNRSxNQUFBLEtBQUssRUFBRTtBQUFFQyxRQUFBQSxnQkFBZ0IsRUFBRTtBQUFwQjtBQU5ULG9CQVFFLHdEQUNFO0FBQ0UsTUFBQSxDQUFDLEVBQUMsSUFESjtBQUVFLE1BQUEsQ0FBQyxFQUFDLE1BRko7QUFHRSxNQUFBLFNBQVMsRUFBQyxxREFIWjtBQUlFLE1BQUEsU0FBUyxFQUFFLE1BQUtGLEtBQUwsQ0FBV0csT0FBWCxDQUFtQnJCLFNBSmhDO0FBS0UsTUFBQSxLQUFLLEVBQUMsTUFMUjtBQU1FLE1BQUEsTUFBTSxFQUFDO0FBTlQsTUFERixlQVNFO0FBQ0UsTUFBQSxDQUFDLEVBQUMsTUFESjtBQUVFLE1BQUEsQ0FBQyxFQUFDLE1BRko7QUFHRSxNQUFBLFNBQVMsRUFBQyxxREFIWjtBQUlFLE1BQUEsU0FBUyxFQUFFLE1BQUtrQixLQUFMLENBQVdHLE9BQVgsQ0FBbUJyQixTQUpoQztBQUtFLE1BQUEsS0FBSyxFQUFDLEtBTFI7QUFNRSxNQUFBLE1BQU0sRUFBQztBQU5ULE1BVEYsQ0FSRixDQURGO0FBOEJBLFVBQUtzQixXQUFMLGdCQUNFO0FBQ0UsTUFBQSxHQUFHLEVBQUMsR0FETjtBQUVFLE1BQUEsbUJBQW1CLEVBQUMsZUFGdEI7QUFHRSxNQUFBLE9BQU8sRUFBQyxLQUhWO0FBSUUsTUFBQSxDQUFDLEVBQUMsS0FKSjtBQUtFLE1BQUEsQ0FBQyxFQUFDLEtBTEo7QUFNRSxNQUFBLE9BQU8sRUFBQyxXQU5WO0FBT0UsTUFBQSxLQUFLLEVBQUU7QUFBRUYsUUFBQUEsZ0JBQWdCLEVBQUU7QUFBcEI7QUFQVCxvQkFTRTtBQUNFLE1BQUEsU0FBUyxFQUFFLE1BQUtGLEtBQUwsQ0FBV0csT0FBWCxDQUFtQmxCLE9BRGhDO0FBRUUsTUFBQSxNQUFNLEVBQUM7QUFGVCxNQVRGLENBREY7QUFoQ2lCO0FBZ0RsQjs7OztXQUVELGtCQUFTO0FBQUE7O0FBQ1Asd0JBQWlDLEtBQUtlLEtBQXRDO0FBQUEsVUFBUUssV0FBUixlQUFRQSxXQUFSO0FBQUEsVUFBcUJGLE9BQXJCLGVBQXFCQSxPQUFyQjs7QUFFQSxVQUFNRyxJQUFJLEdBQUksWUFBTTtBQUNsQixZQUFJRCxXQUFXLEtBQUssV0FBcEIsRUFBaUM7QUFDL0IsaUJBQU8sTUFBSSxDQUFDSixhQUFaO0FBQ0QsU0FGRCxNQUVPLElBQUlJLFdBQVcsS0FBSyxTQUFwQixFQUErQjtBQUNwQyxpQkFBTyxNQUFJLENBQUNELFdBQVo7QUFDRDtBQUNGLE9BTlksRUFBYjs7QUFRQSwwQkFDRTtBQUFLLFFBQUEsU0FBUyxFQUFFRCxPQUFPLENBQUNqQjtBQUF4QixzQkFDRSxnQ0FBQyxxQ0FBRCxRQUNHbUIsV0FBVyxpQkFDVixnQ0FBQyxtQ0FBRDtBQUNFLFFBQUEsVUFBVSxFQUFFO0FBQ1ZFLFVBQUFBLEtBQUssRUFBRUosT0FBTyxDQUFDWCxpQkFETDtBQUVWZ0IsVUFBQUEsV0FBVyxFQUFFTCxPQUFPLENBQUNSLHVCQUZYO0FBR1ZjLFVBQUFBLElBQUksRUFBRU4sT0FBTyxDQUFDTixpQkFISjtBQUlWYSxVQUFBQSxVQUFVLEVBQUVQLE9BQU8sQ0FBQ0w7QUFKVixTQURkO0FBT0UsUUFBQSxPQUFPLEVBQUU7QUFBRVMsVUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0UsVUFBQUEsSUFBSSxFQUFFO0FBQXBCO0FBUFgsU0FTR0gsSUFUSCxDQUZKLENBREYsQ0FERjtBQW1CRDs7O0VBckZ3Qkssa0JBQU1DLFM7O2lDQUEzQmIsWSxlQUNlO0FBQ2pCSSxFQUFBQSxPQUFPLEVBQUVVLHNCQUFVQyxNQUFWLENBQWlCQyxVQURUO0FBRWpCVixFQUFBQSxXQUFXLEVBQUVRLHNCQUFVRztBQUZOLEM7O2VBdUZOLHdCQUFXbkMsVUFBWCxFQUF1QjtBQUFFb0MsRUFBQUEsSUFBSSxFQUFFO0FBQVIsQ0FBdkIsRUFBaURsQixZQUFqRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRyYW5zaXRpb25Hcm91cCwgQ1NTVHJhbnNpdGlvbiB9IGZyb20gJ3JlYWN0LXRyYW5zaXRpb24tZ3JvdXAnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuXG5jb25zdCBzdHlsZXNoZWV0ID0ge1xuICBpbmNvcnJlY3Q6IHtcbiAgICBmaWxsOiBgdmFyKC0tZmVlZGJhY2staW5jb3JyZWN0LWJnLWNvbG9yLCAke2NvbG9yLmluY29ycmVjdCgpfSlgLFxuICB9LFxuICBjb3JyZWN0OiB7XG4gICAgZmlsbDogYHZhcigtLWZlZWRiYWNrLWNvcnJlY3QtYmctY29sb3IsICR7Y29sb3IuY29ycmVjdCgpfSlgLFxuICB9LFxuICBmZWVkYmFja1RpY2s6IHtcbiAgICB3aWR0aDogJzMzcHgnLFxuICAgIGhlaWdodDogJzMzcHgnLFxuICAgICcmIHN2Zyc6IHtcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICB3aWR0aDogJzMzcHgnLFxuICAgICAgaGVpZ2h0OiAnMzNweCcsXG4gICAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICAgICcmIGhpZGUnOiB7XG4gICAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgZmVlZGJhY2tUaWNrRW50ZXI6IHtcbiAgICBvcGFjaXR5OiAnMCcsXG4gICAgbGVmdDogJy01MHB4JyxcbiAgfSxcbiAgZmVlZGJhY2tUaWNrRW50ZXJBY3RpdmU6IHtcbiAgICBvcGFjaXR5OiAnMScsXG4gICAgbGVmdDogJzBweCcsXG4gICAgdHJhbnNpdGlvbjogJ2xlZnQgNTAwbXMgZWFzZS1pbiAyMDBtcywgb3BhY2l0eSA1MDBtcyBsaW5lYXIgMjAwbXMnLFxuICB9LFxuICBmZWVkYmFja1RpY2tMZWF2ZToge1xuICAgIG9wYWNpdHk6ICcxJyxcbiAgICBsZWZ0OiAnMHB4JyxcbiAgfSxcbiAgZmVlZGJhY2tUaWNrTGVhdmVBY3RpdmU6IHtcbiAgICBvcGFjaXR5OiAnMCcsXG4gICAgbGVmdDogJy01MHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnbGVmdCAzMDBtcyBlYXNlLWluLCBvcGFjaXR5IDMwMG1zJyxcbiAgfSxcbn07XG5cbmNsYXNzIEZlZWRiYWNrVGljayBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNvcnJlY3RuZXNzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9O1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLmluY29ycmVjdEljb24gPSAoXG4gICAgICA8c3ZnXG4gICAgICAgIGtleT1cIjFcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaW4gbWVldFwiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA0NCA0MFwiXG4gICAgICAgIHN0eWxlPXt7IGVuYWJsZUJhY2tncm91bmQ6ICduZXcgMCAwIDQ0IDQwJyB9fVxuICAgICAgPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgeD1cIjExXCJcbiAgICAgICAgICAgIHk9XCIxNy4zXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjcwNzEgLTAuNzA3MSAwLjcwNzEgMC43MDcxIC03Ljg1MiAxOS4yNTA3KVwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e3RoaXMucHJvcHMuY2xhc3Nlcy5pbmNvcnJlY3R9XG4gICAgICAgICAgICB3aWR0aD1cIjE2LjZcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMy43XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICB4PVwiMTcuNFwiXG4gICAgICAgICAgICB5PVwiMTAuN1wiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC43MDcxIC0wLjcwNzEgMC43MDcxIDAuNzA3MSAtNy44MTc1IDE5LjIwOSlcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLnByb3BzLmNsYXNzZXMuaW5jb3JyZWN0fVxuICAgICAgICAgICAgd2lkdGg9XCIzLjdcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMTYuNlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9zdmc+XG4gICAgKTtcblxuICAgIHRoaXMuY29ycmVjdEljb24gPSAoXG4gICAgICA8c3ZnXG4gICAgICAgIGtleT1cIjJcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaW4gbWVldFwiXG4gICAgICAgIHZlcnNpb249XCIxLjFcIlxuICAgICAgICB4PVwiMHB4XCJcbiAgICAgICAgeT1cIjBweFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgNDQgNDBcIlxuICAgICAgICBzdHlsZT17eyBlbmFibGVCYWNrZ3JvdW5kOiAnbmV3IDAgMCA0NCA0MCcgfX1cbiAgICAgID5cbiAgICAgICAgPHBvbHlnb25cbiAgICAgICAgICBjbGFzc05hbWU9e3RoaXMucHJvcHMuY2xhc3Nlcy5jb3JyZWN0fVxuICAgICAgICAgIHBvaW50cz1cIjE5LjEsMjguNiAxMS44LDIyLjMgMTQuNCwxOS4yIDE3LjksMjIuMSAyMy45LDExLjQgMjcuNSwxMy40XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjb3JyZWN0bmVzcywgY2xhc3NlcyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGljb24gPSAoKCkgPT4ge1xuICAgICAgaWYgKGNvcnJlY3RuZXNzID09PSAnaW5jb3JyZWN0Jykge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmNvcnJlY3RJY29uO1xuICAgICAgfSBlbHNlIGlmIChjb3JyZWN0bmVzcyA9PT0gJ2NvcnJlY3QnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvcnJlY3RJY29uO1xuICAgICAgfVxuICAgIH0pKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZmVlZGJhY2tUaWNrfT5cbiAgICAgICAgPFRyYW5zaXRpb25Hcm91cD5cbiAgICAgICAgICB7Y29ycmVjdG5lc3MgJiYgKFxuICAgICAgICAgICAgPENTU1RyYW5zaXRpb25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lcz17e1xuICAgICAgICAgICAgICAgIGVudGVyOiBjbGFzc2VzLmZlZWRiYWNrVGlja0VudGVyLFxuICAgICAgICAgICAgICAgIGVudGVyQWN0aXZlOiBjbGFzc2VzLmZlZWRiYWNrVGlja0VudGVyQWN0aXZlLFxuICAgICAgICAgICAgICAgIGV4aXQ6IGNsYXNzZXMuZmVlZGJhY2tUaWNrTGVhdmUsXG4gICAgICAgICAgICAgICAgZXhpdEFjdGl2ZTogY2xhc3Nlcy5mZWVkYmFja1RpY2tMZWF2ZUFjdGl2ZSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgdGltZW91dD17eyBlbnRlcjogNzAwLCBleGl0OiAzMDAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2ljb259XG4gICAgICAgICAgICA8L0NTU1RyYW5zaXRpb24+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9UcmFuc2l0aW9uR3JvdXA+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzaGVldCwgeyBuYW1lOiAnRmVlZGJhY2tUaWNrJyB9KShGZWVkYmFja1RpY2spO1xuIl19
174
+ //# sourceMappingURL=feedback-tick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/feedback-tick.jsx"],"names":["stylesheet","incorrect","fill","color","correct","feedbackTick","width","height","position","display","verticalAlign","feedbackTickEnter","opacity","left","feedbackTickEnterActive","transition","feedbackTickLeave","feedbackTickLeaveActive","FeedbackTick","props","incorrectIcon","enableBackground","classes","correctIcon","correctness","icon","enter","enterActive","exit","exitActive","React","Component","PropTypes","object","isRequired","string","name"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { TransitionGroup, CSSTransition } from 'react-transition-group';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nconst stylesheet = {\n incorrect: {\n fill: `var(--feedback-incorrect-bg-color, ${color.incorrect()})`,\n },\n correct: {\n fill: `var(--feedback-correct-bg-color, ${color.correct()})`,\n },\n feedbackTick: {\n width: '33px',\n height: '33px',\n '& svg': {\n position: 'absolute',\n display: 'inline-block',\n width: '33px',\n height: '33px',\n verticalAlign: 'middle',\n '& hide': {\n display: 'none',\n },\n },\n },\n feedbackTickEnter: {\n opacity: '0',\n left: '-50px',\n },\n feedbackTickEnterActive: {\n opacity: '1',\n left: '0px',\n transition: 'left 500ms ease-in 200ms, opacity 500ms linear 200ms',\n },\n feedbackTickLeave: {\n opacity: '1',\n left: '0px',\n },\n feedbackTickLeaveActive: {\n opacity: '0',\n left: '-50px',\n transition: 'left 300ms ease-in, opacity 300ms',\n },\n};\n\nclass FeedbackTick extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correctness: PropTypes.string,\n };\n constructor(props) {\n super(props);\n this.incorrectIcon = (\n <svg\n key=\"1\"\n preserveAspectRatio=\"xMinYMin meet\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 44 40\"\n style={{ enableBackground: 'new 0 0 44 40' }}\n >\n <g>\n <rect\n x=\"11\"\n y=\"17.3\"\n transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -7.852 19.2507)\"\n className={this.props.classes.incorrect}\n width=\"16.6\"\n height=\"3.7\"\n />\n <rect\n x=\"17.4\"\n y=\"10.7\"\n transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -7.8175 19.209)\"\n className={this.props.classes.incorrect}\n width=\"3.7\"\n height=\"16.6\"\n />\n </g>\n </svg>\n );\n\n this.correctIcon = (\n <svg\n key=\"2\"\n preserveAspectRatio=\"xMinYMin meet\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 44 40\"\n style={{ enableBackground: 'new 0 0 44 40' }}\n >\n <polygon\n className={this.props.classes.correct}\n points=\"19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4\"\n />\n </svg>\n );\n }\n\n render() {\n const { correctness, classes } = this.props;\n\n const icon = (() => {\n if (correctness === 'incorrect') {\n return this.incorrectIcon;\n } else if (correctness === 'correct') {\n return this.correctIcon;\n }\n })();\n\n return (\n <div className={classes.feedbackTick}>\n <TransitionGroup>\n {correctness && (\n <CSSTransition\n classNames={{\n enter: classes.feedbackTickEnter,\n enterActive: classes.feedbackTickEnterActive,\n exit: classes.feedbackTickLeave,\n exitActive: classes.feedbackTickLeaveActive,\n }}\n timeout={{ enter: 700, exit: 300 }}\n >\n {icon}\n </CSSTransition>\n )}\n </TransitionGroup>\n </div>\n );\n }\n}\n\nexport default withStyles(stylesheet, { name: 'FeedbackTick' })(FeedbackTick);\n"],"file":"feedback-tick.js"}