@pie-element/multiple-choice 7.6.1-beta.1 → 7.6.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +1 -1
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/main.js +119 -7
- package/configure/lib/main.js.map +1 -0
- package/configure/lib/utils.js +1 -1
- package/configure/lib/utils.js.map +1 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +1 -1
- package/controller/lib/index.js.map +1 -0
- package/controller/lib/utils.js +1 -1
- package/controller/lib/utils.js.map +1 -0
- package/lib/choice-input.js +1 -1
- package/lib/choice-input.js.map +1 -0
- package/lib/choice.js +1 -1
- package/lib/choice.js.map +1 -0
- package/lib/feedback-tick.js +1 -1
- package/lib/feedback-tick.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -0
- package/lib/main.js +1 -1
- package/lib/main.js.map +1 -0
- package/lib/multiple-choice.js +1 -1
- package/lib/multiple-choice.js.map +1 -0
- package/lib/print.js +1 -1
- package/lib/print.js.map +1 -0
- package/lib/session-updater.js +1 -1
- package/lib/session-updater.js.map +1 -0
- package/package.json +2 -2
|
@@ -117,4 +117,4 @@ var _default = {
|
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
119
|
exports["default"] = _default;
|
|
120
|
-
//# sourceMappingURL=
|
|
120
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","choiceMode","choicePrefix","choices","prompt","lockChoiceOrder","partialScoring","scoringType","feedbackEnabled","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","choicesLayout","gridColumns","configuration","spellCheck","label","settings","enabled","answerChoiceCount","addChoiceButton","deleteChoice","feedback","rationale","accessibility","studentInstructions","teacherInstructions","minAnswerChoices","maxAnswerChoices","maxImageWidth","maxImageHeight","withRubric"],"mappings":"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","sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\nexport default {\n model: {\n choiceMode: 'checkbox',\n choicePrefix: 'letters',\n choices: [],\n prompt: 'Question Prompt goes here',\n lockChoiceOrder: true,\n partialScoring: true,\n scoringType: 'auto',\n feedbackEnabled: true,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n choicesLayout: 'vertical',\n gridColumns: '2',\n },\n configuration: {\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n choicesLayout: {\n settings: false,\n label: 'Choices Layout',\n },\n gridColumns: {\n label: 'Grid columns',\n },\n answerChoiceCount: 0,\n addChoiceButton: {\n settings: true,\n label: 'Add a Choice',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n choicePrefix: {\n settings: true,\n label: 'Choice Labels',\n },\n deleteChoice: {\n settings: true,\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n accessibility: {\n settings: false,\n label: 'Accessibility Label',\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n toolbarEditorPosition: {\n settings: false,\n label: 'Toolbar Editor Position',\n },\n minAnswerChoices: 2,\n maxAnswerChoices: 5,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 636,\n choices: 636,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n choices: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n },\n};\n"],"file":"defaults.js"}
|
package/configure/lib/index.js
CHANGED
|
@@ -209,4 +209,4 @@ exports["default"] = MultipleChoice;
|
|
|
209
209
|
normalizedModel.choicesLayout = model.choicesLayout || model.verticalMode === false && 'horizontal' || _defaults2["default"].model.choicesLayout;
|
|
210
210
|
return normalizedModel;
|
|
211
211
|
});
|
|
212
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJnZW5lcmF0ZUZvcm1hdHRlZENob2ljZXMiLCJjaG9pY2VzIiwiY2hvaWNlQ291bnQiLCJsZW5ndGgiLCJmb3JtYXR0ZWRDaG9pY2VzIiwiaSIsInB1c2giLCJ2YWx1ZSIsImxhYmVsIiwiZmVlZGJhY2siLCJ0eXBlIiwicHJlcGFyZUN1c3RvbWl6YXRpb25PYmplY3QiLCJjb25maWciLCJtb2RlbCIsImNvbmZpZ3VyYXRpb24iLCJzZW5zaWJsZURlZmF1bHRzIiwiYW5zd2VyQ2hvaWNlQ291bnQiLCJNdWx0aXBsZUNob2ljZSIsIl9tb2RlbCIsImNyZWF0ZURlZmF1bHRNb2RlbCIsIl9jb25maWd1cmF0aW9uIiwib25Nb2RlbENoYW5nZWQiLCJiaW5kIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsInMiLCJfcmVuZGVyIiwiYyIsImluZm8iLCJfZGlzYWJsZVNpZGVQYW5lbCIsInJlc2V0IiwicmVzZXRWYWx1ZSIsImRpc3BhdGNoRXZlbnQiLCJNb2RlbFVwZGF0ZWRFdmVudCIsIm0iLCJkaXNwYXRjaE1vZGVsVXBkYXRlZCIsImhhbmRsZXIiLCJJbnNlcnRJbWFnZUV2ZW50Iiwic3JjIiwiZG9uZSIsIkRlbGV0ZUltYWdlRXZlbnQiLCJJbnNlcnRTb3VuZEV2ZW50IiwiRGVsZXRlU291bmRFdmVudCIsImVsZW1lbnQiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJNYWluIiwiZGlzYWJsZVNpZGVQYW5lbCIsImltYWdlU3VwcG9ydCIsImFkZCIsImluc2VydEltYWdlIiwib25EZWxldGVJbWFnZSIsInVwbG9hZFNvdW5kU3VwcG9ydCIsImluc2VydFNvdW5kIiwib25EZWxldGVTb3VuZCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiSFRNTEVsZW1lbnQiLCJub3JtYWxpemVkTW9kZWwiLCJ1dGlscyIsIm5vcm1hbGl6ZUNob2ljZXMiLCJjaG9pY2VzTGF5b3V0IiwidmVydGljYWxNb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBUUE7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sMkJBQU4sQ0FBWjs7QUFFQSxJQUFNQyx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQTJCLENBQUNDLE9BQUQsRUFBOEI7QUFBQSxNQUFwQkMsV0FBb0IsdUVBQU4sQ0FBTTs7QUFDN0QsTUFBSSxDQUFDRCxPQUFELElBQVlBLE9BQU8sQ0FBQ0UsTUFBUixLQUFtQixDQUFuQyxFQUFzQztBQUNwQyxRQUFJQyxnQkFBZ0IsR0FBRyxFQUF2Qjs7QUFFQSxTQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdILFdBQXBCLEVBQWlDRyxDQUFDLEVBQWxDLEVBQXNDO0FBQ3BDRCxNQUFBQSxnQkFBZ0IsQ0FBQ0UsSUFBakIsQ0FBc0I7QUFDcEJDLFFBQUFBLEtBQUssWUFBS0YsQ0FBTCxDQURlO0FBRXBCRyxRQUFBQSxLQUFLLEVBQUUsRUFGYTtBQUdwQkMsUUFBQUEsUUFBUSxFQUFFO0FBQ1JDLFVBQUFBLElBQUksRUFBRSxNQURFO0FBRVJILFVBQUFBLEtBQUssRUFBRTtBQUZDO0FBSFUsT0FBdEI7QUFRRDs7QUFFRCxXQUFPSCxnQkFBUDtBQUNEOztBQUVELFNBQU9ILE9BQVA7QUFDRCxDQW5CRDs7QUFxQkEsSUFBTVUsMEJBQTBCLEdBQUcsU0FBN0JBLDBCQUE2QixDQUFDQyxNQUFELEVBQVNDLEtBQVQsRUFBbUI7QUFDcEQsTUFBTUMsYUFBYSxHQUFHLDBCQUFTRixNQUFULEVBQWlCRyxzQkFBaUJELGFBQWxDLENBQXRCO0FBRUEsU0FBTztBQUNMQSxJQUFBQSxhQUFhLEVBQWJBLGFBREs7QUFFTEQsSUFBQUEsS0FBSyxrQ0FDQUEsS0FEQTtBQUVIWixNQUFBQSxPQUFPLEVBQUVELHdCQUF3QixDQUM5QmEsS0FBSyxJQUFJQSxLQUFLLENBQUNaLE9BQWhCLElBQTRCLEVBREcsRUFFL0JhLGFBQWEsSUFBSUEsYUFBYSxDQUFDRSxpQkFGQTtBQUY5QjtBQUZBLEdBQVA7QUFVRCxDQWJEOztJQWVxQkMsYzs7Ozs7QUFlbkIsNEJBQWM7QUFBQTs7QUFBQTtBQUNaO0FBQ0EsVUFBS0MsTUFBTCxHQUFjRCxjQUFjLENBQUNFLGtCQUFmLEVBQWQ7QUFDQSxVQUFLQyxjQUFMLEdBQXNCTCxzQkFBaUJELGFBQXZDO0FBQ0EsVUFBS08sY0FBTCxHQUFzQixNQUFLQSxjQUFMLENBQW9CQyxJQUFwQixnREFBdEI7QUFDQSxVQUFLQyxzQkFBTCxHQUE4QixNQUFLQSxzQkFBTCxDQUE0QkQsSUFBNUIsZ0RBQTlCO0FBTFk7QUFNYjs7OztTQUVELGFBQVVFLENBQVYsRUFBYTtBQUNYLFdBQUtOLE1BQUwsR0FBY0QsY0FBYyxDQUFDRSxrQkFBZixDQUFrQ0ssQ0FBbEMsQ0FBZDs7QUFFQSxXQUFLQyxPQUFMO0FBQ0Q7OztTQUVELGFBQWtCQyxDQUFsQixFQUFxQjtBQUNuQixVQUFNQyxJQUFJLEdBQUdoQiwwQkFBMEIsQ0FBQ2UsQ0FBRCxFQUFJLEtBQUtSLE1BQVQsQ0FBdkM7QUFFQSxXQUFLRyxjQUFMLENBQW9CTSxJQUFJLENBQUNkLEtBQXpCO0FBQ0EsV0FBS08sY0FBTCxHQUFzQk8sSUFBSSxDQUFDYixhQUEzQjs7QUFDQSxXQUFLVyxPQUFMO0FBQ0Q7OztTQUVELGFBQXFCRCxDQUFyQixFQUF3QjtBQUN0QixXQUFLSSxpQkFBTCxHQUF5QkosQ0FBekI7O0FBQ0EsV0FBS0MsT0FBTDtBQUNEOzs7V0FFRCw4QkFBcUJJLEtBQXJCLEVBQTRCO0FBQzFCLFVBQU1DLFVBQVUsR0FBRyxDQUFDLENBQUNELEtBQXJCO0FBRUEsV0FBS0UsYUFBTCxDQUFtQixJQUFJQyxxQ0FBSixDQUFzQixLQUFLZCxNQUEzQixFQUFtQ1ksVUFBbkMsQ0FBbkI7QUFDRDs7O1dBRUQsd0JBQWVHLENBQWYsRUFBa0JKLEtBQWxCLEVBQXlCO0FBQ3ZCLFdBQUtYLE1BQUwsR0FBY2UsQ0FBZDs7QUFDQSxXQUFLUixPQUFMOztBQUVBLFdBQUtTLG9CQUFMLENBQTBCTCxLQUExQjtBQUNEOzs7V0FFRCxnQ0FBdUJILENBQXZCLEVBQTBCO0FBQ3hCLFdBQUtOLGNBQUwsR0FBc0JULDBCQUEwQixDQUFDZSxDQUFELEVBQUksS0FBS1IsTUFBVCxDQUExQixDQUEyQ0osYUFBakU7O0FBRUEsVUFBSSxLQUFLSSxNQUFULEVBQWlCO0FBQ2YsYUFBS0csY0FBTCxDQUFvQixLQUFLSCxNQUF6QjtBQUNEOztBQUVELFdBQUtPLE9BQUw7QUFDRDtBQUVEOzs7O1dBQ0EscUJBQVlVLE9BQVosRUFBcUI7QUFDbkIsV0FBS0osYUFBTCxDQUFtQixJQUFJSyxvQ0FBSixDQUFxQkQsT0FBckIsQ0FBbkI7QUFDRDs7O1dBRUQsdUJBQWNFLEdBQWQsRUFBbUJDLElBQW5CLEVBQXlCO0FBQ3ZCLFdBQUtQLGFBQUwsQ0FBbUIsSUFBSVEsb0NBQUosQ0FBcUJGLEdBQXJCLEVBQTBCQyxJQUExQixDQUFuQjtBQUNEOzs7V0FFRCxxQkFBWUgsT0FBWixFQUFxQjtBQUNuQixXQUFLSixhQUFMLENBQW1CLElBQUlTLG9DQUFKLENBQXFCTCxPQUFyQixDQUFuQjtBQUNEOzs7V0FFRCx1QkFBY0UsR0FBZCxFQUFtQkMsSUFBbkIsRUFBeUI7QUFDdkIsV0FBS1AsYUFBTCxDQUFtQixJQUFJVSxvQ0FBSixDQUFxQkosR0FBckIsRUFBMEJDLElBQTFCLENBQW5CO0FBQ0Q7OztXQUVELG1CQUFVO0FBQ1J2QyxNQUFBQSxHQUFHLENBQUMsU0FBRCxDQUFIOztBQUNBLFVBQUkyQyxPQUFPLGdCQUFHQyxrQkFBTUMsYUFBTixDQUFvQkMsZ0JBQXBCLEVBQTBCO0FBQ3RDaEMsUUFBQUEsS0FBSyxFQUFFLEtBQUtLLE1BRDBCO0FBRXRDSixRQUFBQSxhQUFhLEVBQUUsS0FBS00sY0FGa0I7QUFHdENDLFFBQUFBLGNBQWMsRUFBRSxLQUFLQSxjQUhpQjtBQUl0Q0UsUUFBQUEsc0JBQXNCLEVBQUUsS0FBS0Esc0JBSlM7QUFLdEN1QixRQUFBQSxnQkFBZ0IsRUFBRSxLQUFLbEIsaUJBTGU7QUFNdENtQixRQUFBQSxZQUFZLEVBQUU7QUFDWkMsVUFBQUEsR0FBRyxFQUFFLEtBQUtDLFdBQUwsQ0FBaUIzQixJQUFqQixDQUFzQixJQUF0QixDQURPO0FBRVosb0JBQVEsS0FBSzRCLGFBQUwsQ0FBbUI1QixJQUFuQixDQUF3QixJQUF4QjtBQUZJLFNBTndCO0FBVXRDNkIsUUFBQUEsa0JBQWtCLEVBQUU7QUFDbEJILFVBQUFBLEdBQUcsRUFBRSxLQUFLSSxXQUFMLENBQWlCOUIsSUFBakIsQ0FBc0IsSUFBdEIsQ0FEYTtBQUVsQixvQkFBUSxLQUFLK0IsYUFBTCxDQUFtQi9CLElBQW5CLENBQXdCLElBQXhCO0FBRlU7QUFWa0IsT0FBMUIsQ0FBZDs7QUFnQkFnQywyQkFBU0MsTUFBVCxDQUFnQmIsT0FBaEIsRUFBeUIsSUFBekI7QUFDRDs7O2tEQXJHeUNjLFc7OztpQ0FBdkJ2QyxjLHdCQUNTLFlBQWdCO0FBQUEsTUFBZkosS0FBZSx1RUFBUCxFQUFPOztBQUMxQyxNQUFNNEMsZUFBZSxHQUFHQyxzQkFBTUMsZ0JBQU4sK0NBQ25CNUMsc0JBQWlCRixLQURFLEdBRW5CQSxLQUZtQjtBQUd0QlosSUFBQUEsT0FBTyxFQUFFRCx3QkFBd0IsQ0FBRWEsS0FBSyxJQUFJQSxLQUFLLENBQUNaLE9BQWhCLElBQTRCLEVBQTdCO0FBSFgsS0FBeEIsQ0FEMEMsQ0FPMUM7OztBQUNBd0QsRUFBQUEsZUFBZSxDQUFDRyxhQUFoQixHQUNFL0MsS0FBSyxDQUFDK0MsYUFBTixJQUF3Qi9DLEtBQUssQ0FBQ2dELFlBQU4sS0FBdUIsS0FBdkIsSUFBZ0MsWUFBeEQsSUFBeUU5QyxzQkFBaUJGLEtBQWpCLENBQXVCK0MsYUFEbEc7QUFHQSxTQUFPSCxlQUFQO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQge1xuICBEZWxldGVJbWFnZUV2ZW50LFxuICBJbnNlcnRJbWFnZUV2ZW50LFxuICBNb2RlbFVwZGF0ZWRFdmVudCxcbiAgSW5zZXJ0U291bmRFdmVudCxcbiAgRGVsZXRlU291bmRFdmVudCxcbn0gZnJvbSAnQHBpZS1mcmFtZXdvcmsvcGllLWNvbmZpZ3VyZS1ldmVudHMnO1xuXG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuaW1wb3J0IHsgY2hvaWNlVXRpbHMgYXMgdXRpbHMgfSBmcm9tICdAcGllLWxpYi9jb25maWctdWknO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJ2xvZGFzaC9kZWZhdWx0cyc7XG5cbmltcG9ydCBzZW5zaWJsZURlZmF1bHRzIGZyb20gJy4vZGVmYXVsdHMnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnbXVsdGlwbGUtY2hvaWNlOmNvbmZpZ3VyZScpO1xuXG5jb25zdCBnZW5lcmF0ZUZvcm1hdHRlZENob2ljZXMgPSAoY2hvaWNlcywgY2hvaWNlQ291bnQgPSAwKSA9PiB7XG4gIGlmICghY2hvaWNlcyB8fCBjaG9pY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgIGxldCBmb3JtYXR0ZWRDaG9pY2VzID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNob2ljZUNvdW50OyBpKyspIHtcbiAgICAgIGZvcm1hdHRlZENob2ljZXMucHVzaCh7XG4gICAgICAgIHZhbHVlOiBgJHtpfWAsXG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgZmVlZGJhY2s6IHtcbiAgICAgICAgICB0eXBlOiAnbm9uZScsXG4gICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1hdHRlZENob2ljZXM7XG4gIH1cblxuICByZXR1cm4gY2hvaWNlcztcbn07XG5cbmNvbnN0IHByZXBhcmVDdXN0b21pemF0aW9uT2JqZWN0ID0gKGNvbmZpZywgbW9kZWwpID0+IHtcbiAgY29uc3QgY29uZmlndXJhdGlvbiA9IGRlZmF1bHRzKGNvbmZpZywgc2Vuc2libGVEZWZhdWx0cy5jb25maWd1cmF0aW9uKTtcblxuICByZXR1cm4ge1xuICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgbW9kZWw6IHtcbiAgICAgIC4uLm1vZGVsLFxuICAgICAgY2hvaWNlczogZ2VuZXJhdGVGb3JtYXR0ZWRDaG9pY2VzKFxuICAgICAgICAobW9kZWwgJiYgbW9kZWwuY2hvaWNlcykgfHwgW10sXG4gICAgICAgIGNvbmZpZ3VyYXRpb24gJiYgY29uZmlndXJhdGlvbi5hbnN3ZXJDaG9pY2VDb3VudCxcbiAgICAgICksXG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE11bHRpcGxlQ2hvaWNlIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBzdGF0aWMgY3JlYXRlRGVmYXVsdE1vZGVsID0gKG1vZGVsID0ge30pID0+IHtcbiAgICBjb25zdCBub3JtYWxpemVkTW9kZWwgPSB1dGlscy5ub3JtYWxpemVDaG9pY2VzKHtcbiAgICAgIC4uLnNlbnNpYmxlRGVmYXVsdHMubW9kZWwsXG4gICAgICAuLi5tb2RlbCxcbiAgICAgIGNob2ljZXM6IGdlbmVyYXRlRm9ybWF0dGVkQ2hvaWNlcygobW9kZWwgJiYgbW9kZWwuY2hvaWNlcykgfHwgW10pLFxuICAgIH0pO1xuXG4gICAgLy8gVGhpcyBpcyB1c2VkIGZvciBvZmZlcmluZyBzdXBwb3J0IGZvciBvbGQgbW9kZWxzIHdoaWNoIGhhdmUgdGhlIHByb3BlcnR5IFwidmVydGljYWxNb2RlXCJcbiAgICBub3JtYWxpemVkTW9kZWwuY2hvaWNlc0xheW91dCA9XG4gICAgICBtb2RlbC5jaG9pY2VzTGF5b3V0IHx8IChtb2RlbC52ZXJ0aWNhbE1vZGUgPT09IGZhbHNlICYmICdob3Jpem9udGFsJykgfHwgc2Vuc2libGVEZWZhdWx0cy5tb2RlbC5jaG9pY2VzTGF5b3V0O1xuXG4gICAgcmV0dXJuIG5vcm1hbGl6ZWRNb2RlbDtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX21vZGVsID0gTXVsdGlwbGVDaG9pY2UuY3JlYXRlRGVmYXVsdE1vZGVsKCk7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IHNlbnNpYmxlRGVmYXVsdHMuY29uZmlndXJhdGlvbjtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2VkID0gdGhpcy5vbk1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlZCA9IHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgc2V0IG1vZGVsKHMpIHtcbiAgICB0aGlzLl9tb2RlbCA9IE11bHRpcGxlQ2hvaWNlLmNyZWF0ZURlZmF1bHRNb2RlbChzKTtcblxuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgc2V0IGNvbmZpZ3VyYXRpb24oYykge1xuICAgIGNvbnN0IGluZm8gPSBwcmVwYXJlQ3VzdG9taXphdGlvbk9iamVjdChjLCB0aGlzLl9tb2RlbCk7XG5cbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2VkKGluZm8ubW9kZWwpO1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBpbmZvLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBzZXQgZGlzYWJsZVNpZGVQYW5lbChzKSB7XG4gICAgdGhpcy5fZGlzYWJsZVNpZGVQYW5lbCA9IHM7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBkaXNwYXRjaE1vZGVsVXBkYXRlZChyZXNldCkge1xuICAgIGNvbnN0IHJlc2V0VmFsdWUgPSAhIXJlc2V0O1xuXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBNb2RlbFVwZGF0ZWRFdmVudCh0aGlzLl9tb2RlbCwgcmVzZXRWYWx1ZSkpO1xuICB9XG5cbiAgb25Nb2RlbENoYW5nZWQobSwgcmVzZXQpIHtcbiAgICB0aGlzLl9tb2RlbCA9IG07XG4gICAgdGhpcy5fcmVuZGVyKCk7XG5cbiAgICB0aGlzLmRpc3BhdGNoTW9kZWxVcGRhdGVkKHJlc2V0KTtcbiAgfVxuXG4gIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQoYykge1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBwcmVwYXJlQ3VzdG9taXphdGlvbk9iamVjdChjLCB0aGlzLl9tb2RlbCkuY29uZmlndXJhdGlvbjtcblxuICAgIGlmICh0aGlzLl9tb2RlbCkge1xuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlZCh0aGlzLl9tb2RlbCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICAvKiogQHBhcmFtIHtkb25lLCBwcm9ncmVzcywgZmlsZX0gaGFuZGxlciAqL1xuICBpbnNlcnRJbWFnZShoYW5kbGVyKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnNlcnRJbWFnZUV2ZW50KGhhbmRsZXIpKTtcbiAgfVxuXG4gIG9uRGVsZXRlSW1hZ2Uoc3JjLCBkb25lKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBEZWxldGVJbWFnZUV2ZW50KHNyYywgZG9uZSkpO1xuICB9XG5cbiAgaW5zZXJ0U291bmQoaGFuZGxlcikge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5zZXJ0U291bmRFdmVudChoYW5kbGVyKSk7XG4gIH1cblxuICBvbkRlbGV0ZVNvdW5kKHNyYywgZG9uZSkge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRGVsZXRlU291bmRFdmVudChzcmMsIGRvbmUpKTtcbiAgfVxuXG4gIF9yZW5kZXIoKSB7XG4gICAgbG9nKCdfcmVuZGVyJyk7XG4gICAgbGV0IGVsZW1lbnQgPSBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgIG1vZGVsOiB0aGlzLl9tb2RlbCxcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuX2NvbmZpZ3VyYXRpb24sXG4gICAgICBvbk1vZGVsQ2hhbmdlZDogdGhpcy5vbk1vZGVsQ2hhbmdlZCxcbiAgICAgIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQ6IHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlZCxcbiAgICAgIGRpc2FibGVTaWRlUGFuZWw6IHRoaXMuX2Rpc2FibGVTaWRlUGFuZWwsXG4gICAgICBpbWFnZVN1cHBvcnQ6IHtcbiAgICAgICAgYWRkOiB0aGlzLmluc2VydEltYWdlLmJpbmQodGhpcyksXG4gICAgICAgIGRlbGV0ZTogdGhpcy5vbkRlbGV0ZUltYWdlLmJpbmQodGhpcyksXG4gICAgICB9LFxuICAgICAgdXBsb2FkU291bmRTdXBwb3J0OiB7XG4gICAgICAgIGFkZDogdGhpcy5pbnNlcnRTb3VuZC5iaW5kKHRoaXMpLFxuICAgICAgICBkZWxldGU6IHRoaXMub25EZWxldGVTb3VuZC5iaW5kKHRoaXMpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIFJlYWN0RE9NLnJlbmRlcihlbGVtZW50LCB0aGlzKTtcbiAgfVxufVxuIl19
|
|
212
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","generateFormattedChoices","choices","choiceCount","length","formattedChoices","i","push","value","label","feedback","type","prepareCustomizationObject","config","model","configuration","sensibleDefaults","answerChoiceCount","MultipleChoice","_model","createDefaultModel","_configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","info","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Main","disableSidePanel","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel","utils","normalizeChoices","choicesLayout","verticalMode"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport {\n DeleteImageEvent,\n InsertImageEvent,\n ModelUpdatedEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport Main from './main';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('multiple-choice:configure');\n\nconst generateFormattedChoices = (choices, choiceCount = 0) => {\n if (!choices || choices.length === 0) {\n let formattedChoices = [];\n\n for (let i = 0; i < choiceCount; i++) {\n formattedChoices.push({\n value: `${i}`,\n label: '',\n feedback: {\n type: 'none',\n value: '',\n },\n });\n }\n\n return formattedChoices;\n }\n\n return choices;\n};\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model: {\n ...model,\n choices: generateFormattedChoices(\n (model && model.choices) || [],\n configuration && configuration.answerChoiceCount,\n ),\n },\n };\n};\n\nexport default class MultipleChoice extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = utils.normalizeChoices({\n ...sensibleDefaults.model,\n ...model,\n choices: generateFormattedChoices((model && model.choices) || []),\n });\n\n // This is used for offering support for old models which have the property \"verticalMode\"\n normalizedModel.choicesLayout =\n model.choicesLayout || (model.verticalMode === false && 'horizontal') || sensibleDefaults.model.choicesLayout;\n\n return normalizedModel;\n };\n\n constructor() {\n super();\n this._model = MultipleChoice.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = MultipleChoice.createDefaultModel(s);\n\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n this._configuration = info.configuration;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this._render();\n\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n /** @param {done, progress, file} handler */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
|
package/configure/lib/main.js
CHANGED
|
@@ -47,14 +47,14 @@ var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
|
47
47
|
|
|
48
48
|
var _utils = require("./utils");
|
|
49
49
|
|
|
50
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
51
|
-
|
|
52
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
53
|
-
|
|
54
50
|
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); }; }
|
|
55
51
|
|
|
56
52
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
57
53
|
|
|
54
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
55
|
+
|
|
56
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
57
|
+
|
|
58
58
|
var Panel = _configUi.settings.Panel,
|
|
59
59
|
toggle = _configUi.settings.toggle,
|
|
60
60
|
radio = _configUi.settings.radio,
|
|
@@ -270,7 +270,26 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
|
270
270
|
Properties: panelProperties
|
|
271
271
|
}
|
|
272
272
|
})
|
|
273
|
-
}, /*#__PURE__*/_react["default"].createElement("div", null,
|
|
273
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
274
|
+
label: teacherInstructions.label,
|
|
275
|
+
className: classes.promptHolder
|
|
276
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
277
|
+
className: classes.prompt,
|
|
278
|
+
markup: model.teacherInstructions || '',
|
|
279
|
+
onChange: onTeacherInstructionsChanged,
|
|
280
|
+
imageSupport: imageSupport,
|
|
281
|
+
nonEmpty: false,
|
|
282
|
+
toolbarOpts: toolbarOpts,
|
|
283
|
+
spellCheck: spellCheckEnabled,
|
|
284
|
+
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
285
|
+
maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
|
|
286
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
287
|
+
languageCharactersProps: [{
|
|
288
|
+
language: 'spanish'
|
|
289
|
+
}, {
|
|
290
|
+
language: 'special'
|
|
291
|
+
}]
|
|
292
|
+
})), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
274
293
|
label: prompt.label,
|
|
275
294
|
className: classes.promptHolder
|
|
276
295
|
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
@@ -290,7 +309,100 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
|
290
309
|
}, {
|
|
291
310
|
language: 'special'
|
|
292
311
|
}]
|
|
293
|
-
})),
|
|
312
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
313
|
+
className: classes.flexContainer
|
|
314
|
+
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
315
|
+
className: classes.titleText
|
|
316
|
+
}, "Choices"), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
317
|
+
classes: {
|
|
318
|
+
tooltip: classes.tooltip
|
|
319
|
+
},
|
|
320
|
+
disableFocusListener: true,
|
|
321
|
+
disableTouchListener: true,
|
|
322
|
+
placement: 'right',
|
|
323
|
+
title: validationMessage
|
|
324
|
+
}, /*#__PURE__*/_react["default"].createElement(_Info["default"], {
|
|
325
|
+
fontSize: 'small',
|
|
326
|
+
color: 'primary'
|
|
327
|
+
}))), choices.map(function (choice, index) {
|
|
328
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
329
|
+
key: "choice-".concat(index),
|
|
330
|
+
className: classes.choiceConfigurationHolder
|
|
331
|
+
}, /*#__PURE__*/_react["default"].createElement(_configUi.ChoiceConfiguration, {
|
|
332
|
+
key: index,
|
|
333
|
+
index: index + 1,
|
|
334
|
+
useLetterOrdering: model.choicePrefix === 'letters',
|
|
335
|
+
className: classes.choiceConfiguration,
|
|
336
|
+
mode: model.choiceMode,
|
|
337
|
+
data: choice,
|
|
338
|
+
defaultFeedback: {},
|
|
339
|
+
imageSupport: imageSupport,
|
|
340
|
+
disableImageAlignmentButtons: true,
|
|
341
|
+
onDelete: function onDelete() {
|
|
342
|
+
return onRemoveChoice(index);
|
|
343
|
+
},
|
|
344
|
+
onChange: function onChange(c) {
|
|
345
|
+
return onChoiceChanged(index, c);
|
|
346
|
+
},
|
|
347
|
+
allowFeedBack: feedbackEnabled,
|
|
348
|
+
allowDelete: deleteChoice.settings,
|
|
349
|
+
noLabels: true,
|
|
350
|
+
toolbarOpts: toolbarOpts,
|
|
351
|
+
spellCheck: spellCheckEnabled,
|
|
352
|
+
error: (choicesErrors === null || choicesErrors === void 0 ? void 0 : choicesErrors[choice.value]) || null,
|
|
353
|
+
noCorrectAnswerError: correctResponseError,
|
|
354
|
+
maxImageWidth: maxImageWidth && maxImageWidth.choices || defaultImageMaxWidth,
|
|
355
|
+
maxImageHeight: maxImageHeight && maxImageHeight.choices || defaultImageMaxHeight,
|
|
356
|
+
uploadSoundSupport: uploadSoundSupport
|
|
357
|
+
}), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
358
|
+
key: "rationale-".concat(index),
|
|
359
|
+
label: rationale.label,
|
|
360
|
+
className: classes.rationaleHolder
|
|
361
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
362
|
+
className: classes.rationale,
|
|
363
|
+
markup: choice.rationale || '',
|
|
364
|
+
onChange: function onChange(c) {
|
|
365
|
+
return onChoiceChanged(index, _objectSpread(_objectSpread({}, choice), {}, {
|
|
366
|
+
rationale: c
|
|
367
|
+
}));
|
|
368
|
+
},
|
|
369
|
+
imageSupport: imageSupport,
|
|
370
|
+
toolbarOpts: toolbarOpts,
|
|
371
|
+
pluginProps: labelPlugins,
|
|
372
|
+
spellCheck: spellCheckEnabled,
|
|
373
|
+
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
374
|
+
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
375
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
376
|
+
languageCharactersProps: [{
|
|
377
|
+
language: 'spanish'
|
|
378
|
+
}, {
|
|
379
|
+
language: 'special'
|
|
380
|
+
}]
|
|
381
|
+
})), accessibilityLabelsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
382
|
+
key: "accessibility-".concat(index),
|
|
383
|
+
label: accessibility.label,
|
|
384
|
+
className: classes.accessibilityHolder
|
|
385
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
386
|
+
className: classes.accessibility,
|
|
387
|
+
markup: choice.accessibility || '',
|
|
388
|
+
onChange: function onChange(c) {
|
|
389
|
+
return onChoiceChanged(index, _objectSpread(_objectSpread({}, choice), {}, {
|
|
390
|
+
accessibility: c
|
|
391
|
+
}));
|
|
392
|
+
},
|
|
393
|
+
imageSupport: imageSupport,
|
|
394
|
+
pluginProps: labelPlugins,
|
|
395
|
+
spellCheck: spellCheckEnabled,
|
|
396
|
+
maxImageWidth: maxImageWidth && maxImageWidth.choices || defaultImageMaxWidth,
|
|
397
|
+
maxImageHeight: maxImageHeight && maxImageHeight.choices || defaultImageMaxHeight,
|
|
398
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
399
|
+
languageCharactersProps: [{
|
|
400
|
+
language: 'spanish'
|
|
401
|
+
}, {
|
|
402
|
+
language: 'special'
|
|
403
|
+
}]
|
|
404
|
+
})));
|
|
405
|
+
}), correctResponseError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
294
406
|
className: classes.errorText
|
|
295
407
|
}, correctResponseError), answerChoicesError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
296
408
|
className: classes.errorText
|
|
@@ -489,4 +601,4 @@ exports.Main = Main;
|
|
|
489
601
|
var Styled = (0, _styles.withStyles)(styles)(Main);
|
|
490
602
|
var _default = Styled;
|
|
491
603
|
exports["default"] = _default;
|
|
492
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJQYW5lbCIsInNldHRpbmdzIiwidG9nZ2xlIiwicmFkaW8iLCJkcm9wZG93biIsIk1BWF9DSE9JQ0VTIiwic3R5bGVzIiwidGhlbWUiLCJwcm9tcHRIb2xkZXIiLCJ3aWR0aCIsInBhZGRpbmdCb3R0b20iLCJzcGFjaW5nIiwidW5pdCIsIm1hcmdpbkJvdHRvbSIsInByb21wdCIsInBhZGRpbmdUb3AiLCJyYXRpb25hbGVIb2xkZXIiLCJhY2Nlc3NpYmlsaXR5SG9sZGVyIiwicmF0aW9uYWxlIiwiYWNjZXNzaWJpbGl0eSIsImNob2ljZUNvbmZpZ3VyYXRpb25Ib2xkZXIiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJjaG9pY2VDb25maWd1cmF0aW9uIiwic3dpdGNoRWxlbWVudCIsImp1c3RpZnlDb250ZW50IiwibWFyZ2luIiwiYWRkQnV0dG9uIiwibWFyZ2luVG9wIiwiZGlzYWJsZUJ1dHRvbiIsImN1cnNvciIsInBvaW50ZXJFdmVudHMiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsImRpc2FibGVkIiwiZmxleENvbnRhaW5lciIsInRpdGxlVGV4dCIsImZvbnRGYW1pbHkiLCJmb250U2l6ZSIsInR5cG9ncmFwaHkiLCJsaW5lSGVpZ2h0IiwibWFyZ2luUmlnaHQiLCJ0b29sdGlwIiwid2hpdGVTcGFjZSIsIm1heFdpZHRoIiwiZXJyb3JUZXh0IiwiRGVzaWduIiwicHJvcHMiLCJjbGFzc2VzIiwibW9kZWwiLCJjb25maWd1cmF0aW9uIiwib25Qcm9tcHRDaGFuZ2VkIiwib25DaG9pY2VDaGFuZ2VkIiwib25SZW1vdmVDaG9pY2UiLCJvbkFkZENob2ljZSIsImltYWdlU3VwcG9ydCIsInVwbG9hZFNvdW5kU3VwcG9ydCIsIm9uQ2hhbmdlTW9kZWwiLCJvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkIiwib25UZWFjaGVySW5zdHJ1Y3Rpb25zQ2hhbmdlZCIsImFkZENob2ljZUJ1dHRvbiIsImZlZWRiYWNrIiwiZGVsZXRlQ2hvaWNlIiwiY2hvaWNlTW9kZSIsImNob2ljZVByZWZpeCIsInBhcnRpYWxTY29yaW5nIiwibG9ja0Nob2ljZU9yZGVyIiwidGVhY2hlckluc3RydWN0aW9ucyIsInN0dWRlbnRJbnN0cnVjdGlvbnMiLCJzY29yaW5nVHlwZSIsInNlcXVlbnRpYWxDaG9pY2VMYWJlbHMiLCJzZXR0aW5nc1BhbmVsRGlzYWJsZWQiLCJjaG9pY2VzTGF5b3V0Iiwic3BlbGxDaGVjayIsImdyaWRDb2x1bW5zIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0Iiwid2l0aFJ1YnJpYyIsIm1heEFuc3dlckNob2ljZXMiLCJsaW1pdENob2ljZXNOdW1iZXIiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInJhdGlvbmFsZUVuYWJsZWQiLCJhY2Nlc3NpYmlsaXR5TGFiZWxzRW5hYmxlZCIsImZlZWRiYWNrRW5hYmxlZCIsInByb21wdEVuYWJsZWQiLCJzcGVsbENoZWNrRW5hYmxlZCIsImNob2ljZXMiLCJlcnJvcnMiLCJ0b29sYmFyRWRpdG9yUG9zaXRpb24iLCJjaG9pY2VzRXJyb3JzIiwiY29ycmVjdFJlc3BvbnNlRXJyb3IiLCJhbnN3ZXJDaG9pY2VzRXJyb3IiLCJuck9mQ29sdW1uc0F2YWlsYWJsZSIsImxlbmd0aCIsIkFycmF5IiwiZnJvbSIsIl8iLCJpIiwibGFiZWxQbHVnaW5zIiwiYXVkaW8iLCJ2aWRlbyIsInRvb2xiYXJPcHRzIiwicG9zaXRpb24iLCJ2YWxpZGF0aW9uTWVzc2FnZSIsImRlZmF1bHRJbWFnZU1heFdpZHRoIiwiZGVmYXVsdEltYWdlTWF4SGVpZ2h0IiwiYWRkQ2hvaWNlQnV0dG9uVG9vbHRpcCIsInBhbmVsU2V0dGluZ3MiLCJsYWJlbCIsInBhbmVsUHJvcGVydGllcyIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwicnVicmljRW5hYmxlZCIsIlNldHRpbmdzIiwiUHJvcGVydGllcyIsImxhbmd1YWdlIiwicm9vdCIsIk1haW4iLCJzaG93V2FybmluZyIsImluZGV4Iiwib25Nb2RlbENoYW5nZWQiLCJtaW5BbnN3ZXJDaG9pY2VzIiwic2V0U3RhdGUiLCJzcGxpY2UiLCJwdXNoIiwidmFsdWUiLCJ1dGlscyIsImZpcnN0QXZhaWxhYmxlSW5kZXgiLCJtYXAiLCJjIiwidHlwZSIsImNob2ljZSIsImNvcnJlY3QiLCJrZXkiLCJjb3JyZWN0Rm91bmQiLCJzdGF0ZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsImRpc2FibGVTaWRlUGFuZWwiLCJib29sIiwiZnVuYyIsInNoYXBlIiwiYWRkIiwiU3R5bGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBUUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSxLQUFSLEdBQTJDQyxrQkFBM0MsQ0FBUUQsS0FBUjtBQUFBLElBQWVFLE1BQWYsR0FBMkNELGtCQUEzQyxDQUFlQyxNQUFmO0FBQUEsSUFBdUJDLEtBQXZCLEdBQTJDRixrQkFBM0MsQ0FBdUJFLEtBQXZCO0FBQUEsSUFBOEJDLFFBQTlCLEdBQTJDSCxrQkFBM0MsQ0FBOEJHLFFBQTlCO0FBRUEsSUFBTUMsV0FBVyxHQUFHLENBQXBCOztBQUVBLElBQU1DLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3pCQyxJQUFBQSxZQUFZLEVBQUU7QUFDWkMsTUFBQUEsS0FBSyxFQUFFLE1BREs7QUFFWkMsTUFBQUEsYUFBYSxFQUFFSCxLQUFLLENBQUNJLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQixDQUZ4QjtBQUdaQyxNQUFBQSxZQUFZLEVBQUVOLEtBQUssQ0FBQ0ksT0FBTixDQUFjQyxJQUFkLEdBQXFCO0FBSHZCLEtBRFc7QUFNekJFLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxVQUFVLEVBQUVSLEtB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NkIsTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sJztcbmltcG9ydCB7XG4gIEFsZXJ0RGlhbG9nLFxuICBJbnB1dENvbnRhaW5lcixcbiAgQ2hvaWNlQ29uZmlndXJhdGlvbixcbiAgc2V0dGluZ3MsXG4gIGxheW91dCxcbiAgY2hvaWNlVXRpbHMgYXMgdXRpbHMsXG59IGZyb20gJ0BwaWUtbGliL2NvbmZpZy11aSc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBCdXR0b24gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvQnV0dG9uJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1Rvb2x0aXAnO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvVHlwb2dyYXBoeSc7XG5pbXBvcnQgSW5mbyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSW5mbyc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnbG9kYXNoL21lcmdlJztcbmltcG9ydCB7IGdlbmVyYXRlVmFsaWRhdGlvbk1lc3NhZ2UgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgeyBQYW5lbCwgdG9nZ2xlLCByYWRpbywgZHJvcGRvd24gfSA9IHNldHRpbmdzO1xuXG5jb25zdCBNQVhfQ0hPSUNFUyA9IDk7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgcHJvbXB0SG9sZGVyOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgfSxcbiAgcHJvbXB0OiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9LFxuICByYXRpb25hbGVIb2xkZXI6IHtcbiAgICB3aWR0aDogJzcwJScsXG4gIH0sXG4gIGFjY2Vzc2liaWxpdHlIb2xkZXI6IHtcbiAgICB3aWR0aDogJzcwJScsXG4gIH0sXG4gIHJhdGlvbmFsZToge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gIH0sXG4gIGFjY2Vzc2liaWxpdHk6IHtcbiAgICBwYWRkaW5nVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICB9LFxuICBjaG9pY2VDb25maWd1cmF0aW9uSG9sZGVyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB9LFxuICBjaG9pY2VDb25maWd1cmF0aW9uOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBwYWRkaW5nVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICAgIHBhZGRpbmdCb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gIH0sXG4gIHN3aXRjaEVsZW1lbnQ6IHtcbiAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgIG1hcmdpbjogMCxcbiAgfSxcbiAgYWRkQnV0dG9uOiB7XG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAzLFxuICAgIGZsb2F0OiAncmlnaHQnLFxuICB9LFxuICBkaXNhYmxlQnV0dG9uOiB7XG4gICAgY3Vyc29yOiAnbm90LWFsbG93ZWQnLFxuICAgIHBvaW50ZXJFdmVudHM6ICdhbGwnLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuZGlzYWJsZWQoKSxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuZGlzYWJsZWQoKSxcbiAgICB9LFxuICAgICcmOmZvY3VzJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5kaXNhYmxlZCgpLFxuICAgIH0sXG4gIH0sXG4gIGZsZXhDb250YWluZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gIH0sXG4gIHRpdGxlVGV4dDoge1xuICAgIGZvbnRGYW1pbHk6ICdDZXJlYnJpIFNhbnMnLFxuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplICsgMixcbiAgICBsaW5lSGVpZ2h0OiAnMTlweCcsXG4gICAgY29sb3I6ICcjNDk1QjhGJyxcbiAgICBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2luZy51bml0LFxuICB9LFxuICB0b29sdGlwOiB7XG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLSAyLFxuICAgIHdoaXRlU3BhY2U6ICdwcmUnLFxuICAgIG1heFdpZHRoOiAnNTAwcHgnLFxuICB9LFxuICBlcnJvclRleHQ6IHtcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSAtIDIsXG4gICAgY29sb3I6ICdyZWQnLFxuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgfSxcbn0pO1xuXG5jb25zdCBEZXNpZ24gPSB3aXRoU3R5bGVzKHN0eWxlcykoKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc2VzLFxuICAgIG1vZGVsLFxuICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgb25Qcm9tcHRDaGFuZ2VkLFxuICAgIG9uQ2hvaWNlQ2hhbmdlZCxcbiAgICBvblJlbW92ZUNob2ljZSxcbiAgICBvbkFkZENob2ljZSxcbiAgICBpbWFnZVN1cHBvcnQsXG4gICAgdXBsb2FkU291bmRTdXBwb3J0LFxuICAgIG9uQ2hhbmdlTW9kZWwsXG4gICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZCxcbiAgICBvblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkLFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3Qge1xuICAgIHByb21wdCA9IHt9LFxuICAgIGFkZENob2ljZUJ1dHRvbiA9IHt9LFxuICAgIGZlZWRiYWNrID0ge30sXG4gICAgZGVsZXRlQ2hvaWNlID0ge30sXG4gICAgY2hvaWNlTW9kZSA9IHt9LFxuICAgIGNob2ljZVByZWZpeCA9IHt9LFxuICAgIHBhcnRpYWxTY29yaW5nID0ge30sXG4gICAgbG9ja0Nob2ljZU9yZGVyID0ge30sXG4gICAgdGVhY2hlckluc3RydWN0aW9ucyA9IHt9LFxuICAgIHN0dWRlbnRJbnN0cnVjdGlvbnMgPSB7fSxcbiAgICByYXRpb25hbGUgPSB7fSxcbiAgICBhY2Nlc3NpYmlsaXR5ID0ge30sXG4gICAgc2NvcmluZ1R5cGUgPSB7fSxcbiAgICBzZXF1ZW50aWFsQ2hvaWNlTGFiZWxzID0ge30sXG4gICAgc2V0dGluZ3NQYW5lbERpc2FibGVkLFxuICAgIGNob2ljZXNMYXlvdXQsXG4gICAgc3BlbGxDaGVjayA9IHt9LFxuICAgIGdyaWRDb2x1bW5zLFxuICAgIG1heEltYWdlV2lkdGggPSB7fSxcbiAgICBtYXhJbWFnZUhlaWdodCA9IHt9LFxuICAgIHdpdGhSdWJyaWMgPSB7fSxcbiAgfSA9IGNvbmZpZ3VyYXRpb24gfHwge307XG4gIGxldCB7IG1heEFuc3dlckNob2ljZXMgfSA9IGNvbmZpZ3VyYXRpb24gfHwge307XG4gIGNvbnN0IHtcbiAgICBsaW1pdENob2ljZXNOdW1iZXIsXG4gICAgdGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQsXG4gICAgcmF0aW9uYWxlRW5hYmxlZCxcbiAgICBhY2Nlc3NpYmlsaXR5TGFiZWxzRW5hYmxlZCxcbiAgICBmZWVkYmFja0VuYWJsZWQsXG4gICAgcHJvbXB0RW5hYmxlZCxcbiAgICBzcGVsbENoZWNrRW5hYmxlZCxcbiAgICBjaG9pY2VzLFxuICAgIGVycm9ycyxcbiAgICB0b29sYmFyRWRpdG9yUG9zaXRpb24sXG4gIH0gPSBtb2RlbCB8fCB7fTtcblxuICBjb25zdCB7IGNob2ljZXNFcnJvcnMsIGNvcnJlY3RSZXNwb25zZUVycm9yLCBhbnN3ZXJDaG9pY2VzRXJyb3IgfSA9IGVycm9ycyB8fCB7fTtcbiAgY29uc3QgbnJPZkNvbHVtbnNBdmFpbGFibGUgPSBjaG9pY2VzPy5sZW5ndGggPyBBcnJheS5mcm9tKHsgbGVuZ3RoOiBjaG9pY2VzLmxlbmd0aCB9LCAoXywgaSkgPT4gYCR7aSArIDF9YCkgOiBbXTtcblxuICBjb25zdCBsYWJlbFBsdWdpbnMgPSB7XG4gICAgYXVkaW86IHsgZGlzYWJsZWQ6IHRydWUgfSxcbiAgICB2aWRlbzogeyBkaXNhYmxlZDogdHJ1ZSB9LFxuICB9O1xuXG4gIGNvbnN0IHRvb2xiYXJPcHRzID0ge1xuICAgIHBvc2l0aW9uOiB0b29sYmFyRWRpdG9yUG9zaXRpb24gPT09ICd0b3AnID8gJ3RvcCcgOiAnYm90dG9tJyxcbiAgfTtcblxuICAvLyBpZiBvbGQgcHJvcGVydHkgaXMgdXNlZCwgc2V0IG1heEFuc3dlckNob2ljZXMgdG8gOVxuICBpZiAobGltaXRDaG9pY2VzTnVtYmVyKSB7XG4gICAgbWF4QW5zd2VyQ2hvaWNlcyA9IE1BWF9DSE9JQ0VTO1xuICB9XG5cbiAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2UgPSBnZW5lcmF0ZVZhbGlkYXRpb25NZXNzYWdlKGNvbmZpZ3VyYXRpb24pO1xuICBjb25zdCBkZWZhdWx0SW1hZ2VNYXhXaWR0aCA9IG1heEltYWdlV2lkdGggJiYgbWF4SW1hZ2VXaWR0aC5wcm9tcHQ7XG4gIGNvbnN0IGRlZmF1bHRJbWFnZU1heEhlaWdodCA9IG1heEltYWdlSGVpZ2h0ICYmIG1heEltYWdlSGVpZ2h0LnByb21wdDtcbiAgY29uc3QgYWRkQ2hvaWNlQnV0dG9uVG9vbHRpcCA9XG4gICAgbWF4QW5zd2VyQ2hvaWNlcyAmJiBjaG9pY2VzPy5sZW5ndGggPj0gbWF4QW5zd2VyQ2hvaWNlcyA/IGBPbmx5ICR7bWF4QW5zd2VyQ2hvaWNlc30gYWxsb3dlZCBtYXhpbXVtYCA6ICcnO1xuXG4gIGNvbnN0IHBhbmVsU2V0dGluZ3MgPSB7XG4gICAgY2hvaWNlTW9kZTogY2hvaWNlTW9kZS5zZXR0aW5ncyAmJiByYWRpbyhjaG9pY2VNb2RlLmxhYmVsLCBbJ2NoZWNrYm94JywgJ3JhZGlvJ10pLFxuICAgICdzZXF1ZW50aWFsQ2hvaWNlTGFiZWxzLmVuYWJsZWQnOiBzZXF1ZW50aWFsQ2hvaWNlTGFiZWxzLnNldHRpbmdzICYmIHRvZ2dsZShzZXF1ZW50aWFsQ2hvaWNlTGFiZWxzLmxhYmVsLCB0cnVlKSxcbiAgICBjaG9pY2VQcmVmaXg6IGNob2ljZVByZWZpeC5zZXR0aW5ncyAmJiByYWRpbyhjaG9pY2VQcmVmaXgubGFiZWwsIFsnbnVtYmVycycsICdsZXR0ZXJzJ10pLFxuICAgIHBhcnRpYWxTY29yaW5nOiBwYXJ0aWFsU2NvcmluZy5zZXR0aW5ncyAmJiB0b2dnbGUocGFydGlhbFNjb3JpbmcubGFiZWwpLFxuICAgIGxvY2tDaG9pY2VPcmRlcjogbG9ja0Nob2ljZU9yZGVyLnNldHRpbmdzICYmIHRvZ2dsZShsb2NrQ2hvaWNlT3JkZXIubGFiZWwpLFxuICAgIGZlZWRiYWNrRW5hYmxlZDogZmVlZGJhY2suc2V0dGluZ3MgJiYgdG9nZ2xlKGZlZWRiYWNrLmxhYmVsKSxcbiAgICBjaG9pY2VzTGF5b3V0OiBjaG9pY2VzTGF5b3V0LnNldHRpbmdzICYmIGRyb3Bkb3duKGNob2ljZXNMYXlvdXQubGFiZWwsIFsndmVydGljYWwnLCAnZ3JpZCcsICdob3Jpem9udGFsJ10pLFxuICAgIGdyaWRDb2x1bW5zOlxuICAgICAgY2hvaWNlc0xheW91dC5zZXR0aW5ncyAmJlxuICAgICAgbW9kZWwuY2hvaWNlc0xheW91dCA9PT0gJ2dyaWQnICYmXG4gICAgICBuck9mQ29sdW1uc0F2YWlsYWJsZS5sZW5ndGggPiAwICYmXG4gICAgICBkcm9wZG93bihncmlkQ29sdW1ucy5sYWJlbCwgbnJPZkNvbHVtbnNBdmFpbGFibGUpLFxuICB9O1xuXG4gIGNvbnN0IHBhbmVsUHJvcGVydGllcyA9IHtcbiAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdGVhY2hlckluc3RydWN0aW9ucy5zZXR0aW5ncyAmJiB0b2dnbGUodGVhY2hlckluc3RydWN0aW9ucy5sYWJlbCksXG4gICAgc3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQ6IHN0dWRlbnRJbnN0cnVjdGlvbnMuc2V0dGluZ3MgJiYgdG9nZ2xlKHN0dWRlbnRJbnN0cnVjdGlvbnMubGFiZWwpLFxuICAgIHByb21wdEVuYWJsZWQ6IHByb21wdC5zZXR0aW5ncyAmJiB0b2dnbGUocHJvbXB0LmxhYmVsKSxcbiAgICByYXRpb25hbGVFbmFibGVkOiByYXRpb25hbGUuc2V0dGluZ3MgJiYgdG9nZ2xlKHJhdGlvbmFsZS5sYWJlbCksXG4gICAgc3BlbGxDaGVja0VuYWJsZWQ6IHNwZWxsQ2hlY2suc2V0dGluZ3MgJiYgdG9nZ2xlKHNwZWxsQ2hlY2subGFiZWwpLFxuICAgIGFjY2Vzc2liaWxpdHlMYWJlbHNFbmFibGVkOiBhY2Nlc3NpYmlsaXR5LnNldHRpbmdzICYmIHRvZ2dsZShhY2Nlc3NpYmlsaXR5LmxhYmVsKSxcbiAgICBzY29yaW5nVHlwZTogc2NvcmluZ1R5cGUuc2V0dGluZ3MgJiYgcmFkaW8oc2NvcmluZ1R5cGUubGFiZWwsIFsnYXV0bycsICdydWJyaWMnXSksXG4gICAgcnVicmljRW5hYmxlZDogd2l0aFJ1YnJpYz8uc2V0dGluZ3MgJiYgdG9nZ2xlKHdpdGhSdWJyaWM/LmxhYmVsKSxcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxsYXlvdXQuQ29uZmlnTGF5b3V0XG4gICAgICBoaWRlU2V0dGluZ3M9e3NldHRpbmdzUGFuZWxEaXNhYmxlZH1cbiAgICAgIHNldHRpbmdzPXtcbiAgICAgICAgPFBhbmVsXG4gICAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgICAgIG9uQ2hhbmdlTW9kZWw9e29uQ2hhbmdlTW9kZWx9XG4gICAgICAgICAgY29uZmlndXJhdGlvbj17Y29uZmlndXJhdGlvbn1cbiAgICAgICAgICBvbkNoYW5nZUNvbmZpZ3VyYXRpb249e29uQ29uZmlndXJhdGlvbkNoYW5nZWR9XG4gICAgICAgICAgZ3JvdXBzPXt7XG4gICAgICAgICAgICBTZXR0aW5nczogcGFuZWxTZXR0aW5ncyxcbiAgICAgICAgICAgIFByb3BlcnRpZXM6IHBhbmVsUHJvcGVydGllcyxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgfVxuICAgID5cbiAgICAgIDxkaXY+XG4gICAgICAgIHtwcm9tcHRFbmFibGVkICYmIChcbiAgICAgICAgICA8SW5wdXRDb250YWluZXIgbGFiZWw9e3Byb21wdC5sYWJlbH0gY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdEhvbGRlcn0+XG4gICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwucHJvbXB0fVxuICAgICAgICAgICAgICBvbkNoYW5nZT17b25Qcm9tcHRDaGFuZ2VkfVxuICAgICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgICAgbm9uRW1wdHk9e2ZhbHNlfVxuICAgICAgICAgICAgICBkaXNhYmxlVW5kZXJsaW5lXG4gICAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAgIG1heEltYWdlV2lkdGg9e21heEltYWdlV2lkdGggJiYgbWF4SW1hZ2VXaWR0aC5wcm9tcHR9XG4gICAgICAgICAgICAgIG1heEltYWdlSGVpZ2h0PXttYXhJbWFnZUhlaWdodCAmJiBtYXhJbWFnZUhlaWdodC5wcm9tcHR9XG4gICAgICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgICAgICBsYW5ndWFnZUNoYXJhY3RlcnNQcm9wcz17W3sgbGFuZ3VhZ2U6ICdzcGFuaXNoJyB9LCB7IGxhbmd1YWdlOiAnc3BlY2lhbCcgfV19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICl9XG5cbiAgICAgICAge2NvcnJlY3RSZXNwb25zZUVycm9yICYmIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmVycm9yVGV4dH0+e2NvcnJlY3RSZXNwb25zZUVycm9yfTwvZGl2Pn1cbiAgICAgICAge2Fuc3dlckNob2ljZXNFcnJvciAmJiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5lcnJvclRleHR9PnthbnN3ZXJDaG9pY2VzRXJyb3J9PC9kaXY+fVxuXG4gICAgICAgIHthZGRDaG9pY2VCdXR0b24uc2V0dGluZ3MgJiYgKFxuICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXthZGRDaG9pY2VCdXR0b25Ub29sdGlwfSBjbGFzc2VzPXt7IHRvb2x0aXA6IGNsYXNzZXMudG9vbHRpcCB9fT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgY2xhc3Nlcz17eyByb290OiBtYXhBbnN3ZXJDaG9pY2VzICYmIGNob2ljZXM/Lmxlbmd0aCA+PSBtYXhBbnN3ZXJDaG9pY2VzICYmIGNsYXNzZXMuZGlzYWJsZUJ1dHRvbiB9fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYWRkQnV0dG9ufVxuICAgICAgICAgICAgICB2YXJpYW50PVwiY29udGFpbmVkXCJcbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25BZGRDaG9pY2V9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHthZGRDaG9pY2VCdXR0b24ubGFiZWx9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xheW91dC5Db25maWdMYXlvdXQ+XG4gICk7XG59KTtcblxuZXhwb3J0IGNsYXNzIE1haW4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgY29uZmlndXJhdGlvbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGRpc2FibGVTaWRlUGFuZWw6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uTW9kZWxDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGltYWdlU3VwcG9ydDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGFkZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9KSxcbiAgfTtcblxuICBzdGF0ZSA9IHsgc2hvd1dhcm5pbmc6IGZhbHNlIH07XG5cbiAgb25SZW1vdmVDaG9pY2UgPSAoaW5kZXgpID0+IHtcbiAgICBjb25zdCB7IG1vZGVsLCBjb25maWd1cmF0aW9uLCBvbk1vZGVsQ2hhbmdlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IG1pbkFuc3dlckNob2ljZXMgfSA9IGNvbmZpZ3VyYXRpb24gfHwge307XG5cbiAgICBpZiAobWluQW5zd2VyQ2hvaWNlcyAmJiBtb2RlbC5jaG9pY2VzLmxlbmd0aCA9PT0gbWluQW5zd2VyQ2hvaWNlcykge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dXYXJuaW5nOiB0cnVlIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbW9kZWwuY2hvaWNlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIG9uTW9kZWxDaGFuZ2VkKG1vZGVsKTtcbiAgfTtcblxuICBvbkFkZENob2ljZSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG1vZGVsLCBjb25maWd1cmF0aW9uLCBvbk1vZGVsQ2hhbmdlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBsZXQgeyBtYXhBbnN3ZXJDaG9pY2VzIH0gPSBjb25maWd1cmF0aW9uIHx8IHt9O1xuICAgIGNvbnN0IHsgbGltaXRDaG9pY2VzTnVtYmVyIH0gPSBtb2RlbCB8fCB7fTtcblxuICAgIC8vIGlmIG9sZCBwcm9wZXJ0eSBpcyB1c2VkLCBzZXQgbWF4QW5zd2VyQ2hvaWNlcyB0byA5XG4gICAgaWYgKGxpbWl0Q2hvaWNlc051bWJlcikge1xuICAgICAgbWF4QW5zd2VyQ2hvaWNlcyA9IE1BWF9DSE9JQ0VTO1xuICAgIH1cblxuICAgIGlmIChtYXhBbnN3ZXJDaG9pY2VzICYmIG1vZGVsLmNob2ljZXMubGVuZ3RoID49IG1heEFuc3dlckNob2ljZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBtb2RlbC5jaG9pY2VzLnB1c2goe1xuICAgICAgbGFiZWw6ICcnLFxuICAgICAgdmFsdWU6IHV0aWxzLmZpcnN0QXZhaWxhYmxlSW5kZXgoXG4gICAgICAgIG1vZGVsLmNob2ljZXMubWFwKChjKSA9PiBjLnZhbHVlKSxcbiAgICAgICAgMCxcbiAgICAgICksXG4gICAgICBmZWVkYmFjazogeyB0eXBlOiAnbm9uZScgfSxcbiAgICB9KTtcblxuICAgIG9uTW9kZWxDaGFuZ2VkKG1vZGVsKTtcbiAgfTtcblxuICBvbkNob2ljZUNoYW5nZWQgPSAoaW5kZXgsIGNob2ljZSkgPT4ge1xuICAgIGNvbnN0IHsgbW9kZWwsIG9uTW9kZWxDaGFuZ2VkIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGNob2ljZS5jb3JyZWN0ICYmIG1vZGVsLmNob2ljZU1vZGUgPT09ICdyYWRpbycpIHtcbiAgICAgIG1vZGVsLmNob2ljZXMgPSBtb2RlbC5jaG9pY2VzLm1hcCgoYykgPT4gbWVyZ2Uoe30sIGMsIHsgY29ycmVjdDogZmFsc2UgfSkpO1xuICAgIH1cblxuICAgIG1vZGVsLmNob2ljZXMuc3BsaWNlKGluZGV4LCAxLCBjaG9pY2UpO1xuICAgIG9uTW9kZWxDaGFuZ2VkKG1vZGVsKTtcbiAgfTtcblxuICBvblByb21wdENoYW5nZWQgPSAocHJvbXB0KSA9PiB7XG4gICAgdGhpcy5wcm9wcy5vbk1vZGVsQ2hhbmdlZCh7XG4gICAgICAuLi50aGlzLnByb3BzLm1vZGVsLFxuICAgICAgcHJvbXB0LFxuICAgIH0pO1xuICB9O1xuXG4gIG9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWQgPSAodGVhY2hlckluc3RydWN0aW9ucykgPT4ge1xuICAgIHRoaXMucHJvcHMub25Nb2RlbENoYW5nZWQoe1xuICAgICAgLi4udGhpcy5wcm9wcy5tb2RlbCxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMsXG4gICAgfSk7XG4gIH07XG5cbiAgb25Nb2RlbENoYW5nZWQgPSAobW9kZWwsIGtleSkgPT4ge1xuICAgIGNvbnN0IHsgb25Nb2RlbENoYW5nZWQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnY2hvaWNlTW9kZSc6IHtcbiAgICAgICAgbGV0IHZhbHVlID0gbW9kZWwuY2hvaWNlTW9kZTtcblxuICAgICAgICBpZiAodmFsdWUgPT09ICdyYWRpbycpIHtcbiAgICAgICAgICBsZXQgY29ycmVjdEZvdW5kID0gZmFsc2U7XG5cbiAgICAgICAgICBtb2RlbC5jaG9pY2VzID0gbW9kZWwuY2hvaWNlcy5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgIGlmIChjb3JyZWN0Rm91bmQpIHtcbiAgICAgICAgICAgICAgYy5jb3JyZWN0ID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChjLmNvcnJlY3QpIHtcbiAgICAgICAgICAgICAgY29ycmVjdEZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGM7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBvbk1vZGVsQ2hhbmdlZChtb2RlbCwgdHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBvbk1vZGVsQ2hhbmdlZChtb2RlbCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjb25maWd1cmF0aW9uOiB7IG1pbkFuc3dlckNob2ljZXMgfSA9IHt9IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgc2hvd1dhcm5pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICA8QWxlcnREaWFsb2dcbiAgICAgICAgICBvcGVuPXtzaG93V2FybmluZ31cbiAgICAgICAgICB0aXRsZT1cIldhcm5pbmdcIlxuICAgICAgICAgIHRleHQ9e2BUaGVyZSBjYW4ndCBiZSBsZXNzIHRoYW4gJHttaW5BbnN3ZXJDaG9pY2VzIHx8IDB9IGNob2ljZXMuYH1cbiAgICAgICAgICBvbkNvbmZpcm09eygpID0+IHRoaXMuc2V0U3RhdGUoeyBzaG93V2FybmluZzogZmFsc2UgfSl9XG4gICAgICAgIC8+XG4gICAgICAgIDxEZXNpZ25cbiAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICBvbkNoYW5nZU1vZGVsPXt0aGlzLm9uTW9kZWxDaGFuZ2VkfVxuICAgICAgICAgIG9uUmVtb3ZlQ2hvaWNlPXt0aGlzLm9uUmVtb3ZlQ2hvaWNlfVxuICAgICAgICAgIG9uQ2hvaWNlQ2hhbmdlZD17dGhpcy5vbkNob2ljZUNoYW5nZWR9XG4gICAgICAgICAgb25BZGRDaG9pY2U9e3RoaXMub25BZGRDaG9pY2V9XG4gICAgICAgICAgb25Qcm9tcHRDaGFuZ2VkPXt0aGlzLm9uUHJvbXB0Q2hhbmdlZH1cbiAgICAgICAgICBvblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkPXt0aGlzLm9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgU3R5bGVkID0gd2l0aFN0eWxlcyhzdHlsZXMpKE1haW4pO1xuXG5leHBvcnQgZGVmYXVsdCBTdHlsZWQ7XG4iXX0=
|
|
604
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","radio","dropdown","MAX_CHOICES","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","rationaleHolder","accessibilityHolder","rationale","accessibility","choiceConfigurationHolder","display","flexDirection","alignItems","choiceConfiguration","switchElement","justifyContent","margin","addButton","marginTop","disableButton","cursor","pointerEvents","backgroundColor","color","disabled","flexContainer","titleText","fontFamily","fontSize","typography","lineHeight","marginRight","tooltip","whiteSpace","maxWidth","errorText","Design","props","classes","model","configuration","onPromptChanged","onChoiceChanged","onRemoveChoice","onAddChoice","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","addChoiceButton","feedback","deleteChoice","choiceMode","choicePrefix","partialScoring","lockChoiceOrder","teacherInstructions","studentInstructions","scoringType","sequentialChoiceLabels","settingsPanelDisabled","choicesLayout","spellCheck","gridColumns","maxImageWidth","maxImageHeight","withRubric","maxAnswerChoices","limitChoicesNumber","teacherInstructionsEnabled","rationaleEnabled","accessibilityLabelsEnabled","feedbackEnabled","promptEnabled","spellCheckEnabled","choices","errors","toolbarEditorPosition","choicesErrors","correctResponseError","answerChoicesError","nrOfColumnsAvailable","length","Array","from","_","i","labelPlugins","audio","video","toolbarOpts","position","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","addChoiceButtonTooltip","panelSettings","label","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","language","map","choice","index","c","value","root","Main","showWarning","onModelChanged","minAnswerChoices","setState","splice","push","utils","firstAvailableIndex","type","correct","key","correctFound","state","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport {\n AlertDialog,\n InputContainer,\n ChoiceConfiguration,\n settings,\n layout,\n choiceUtils as utils,\n} from '@pie-lib/config-ui';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport merge from 'lodash/merge';\nimport { generateValidationMessage } from './utils';\n\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst MAX_CHOICES = 9;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n rationaleHolder: {\n width: '70%',\n },\n accessibilityHolder: {\n width: '70%',\n },\n rationale: {\n paddingTop: theme.spacing.unit * 2,\n },\n accessibility: {\n paddingTop: theme.spacing.unit * 2,\n },\n choiceConfigurationHolder: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n choiceConfiguration: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0,\n },\n addButton: {\n marginTop: theme.spacing.unit * 3,\n float: 'right',\n },\n disableButton: {\n cursor: 'not-allowed',\n pointerEvents: 'all',\n backgroundColor: color.disabled(),\n '&:hover': {\n backgroundColor: color.disabled(),\n },\n '&:focus': {\n backgroundColor: color.disabled(),\n },\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: theme.spacing.unit,\n },\n titleText: {\n fontFamily: 'Cerebri Sans',\n fontSize: theme.typography.fontSize + 2,\n lineHeight: '19px',\n color: '#495B8F',\n marginRight: theme.spacing.unit,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: 'red',\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n onChoiceChanged,\n onRemoveChoice,\n onAddChoice,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged,\n } = props;\n\n const {\n prompt = {},\n addChoiceButton = {},\n feedback = {},\n deleteChoice = {},\n choiceMode = {},\n choicePrefix = {},\n partialScoring = {},\n lockChoiceOrder = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n accessibility = {},\n scoringType = {},\n sequentialChoiceLabels = {},\n settingsPanelDisabled,\n choicesLayout,\n spellCheck = {},\n gridColumns,\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {},\n } = configuration || {};\n let { maxAnswerChoices } = configuration || {};\n const {\n limitChoicesNumber,\n teacherInstructionsEnabled,\n rationaleEnabled,\n accessibilityLabelsEnabled,\n feedbackEnabled,\n promptEnabled,\n spellCheckEnabled,\n choices,\n errors,\n toolbarEditorPosition,\n } = model || {};\n\n const { choicesErrors, correctResponseError, answerChoicesError } = errors || {};\n const nrOfColumnsAvailable = choices?.length ? Array.from({ length: choices.length }, (_, i) => `${i + 1}`) : [];\n\n const labelPlugins = {\n audio: { disabled: true },\n video: { disabled: true },\n };\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n // if old property is used, set maxAnswerChoices to 9\n if (limitChoicesNumber) {\n maxAnswerChoices = MAX_CHOICES;\n }\n\n const validationMessage = generateValidationMessage(configuration);\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n const addChoiceButtonTooltip =\n maxAnswerChoices && choices?.length >= maxAnswerChoices ? `Only ${maxAnswerChoices} allowed maximum` : '';\n\n const panelSettings = {\n choiceMode: choiceMode.settings && radio(choiceMode.label, ['checkbox', 'radio']),\n 'sequentialChoiceLabels.enabled': sequentialChoiceLabels.settings && toggle(sequentialChoiceLabels.label, true),\n choicePrefix: choicePrefix.settings && radio(choicePrefix.label, ['numbers', 'letters']),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n choicesLayout: choicesLayout.settings && dropdown(choicesLayout.label, ['vertical', 'grid', 'horizontal']),\n gridColumns:\n choicesLayout.settings &&\n model.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.length > 0 &&\n dropdown(gridColumns.label, nrOfColumnsAvailable),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n accessibilityLabelsEnabled: accessibility.settings && toggle(accessibility.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.titleText}>Choices</Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} />\n </Tooltip>\n </div>\n\n {choices.map((choice, index) => (\n <div key={`choice-${index}`} className={classes.choiceConfigurationHolder}>\n <ChoiceConfiguration\n key={index}\n index={index + 1}\n useLetterOrdering={model.choicePrefix === 'letters'}\n className={classes.choiceConfiguration}\n mode={model.choiceMode}\n data={choice}\n defaultFeedback={{}}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={true}\n onDelete={() => onRemoveChoice(index)}\n onChange={(c) => onChoiceChanged(index, c)}\n allowFeedBack={feedbackEnabled}\n allowDelete={deleteChoice.settings}\n noLabels\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n error={choicesErrors?.[choice.value] || null}\n noCorrectAnswerError={correctResponseError}\n maxImageWidth={(maxImageWidth && maxImageWidth.choices) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.choices) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n\n {rationaleEnabled && (\n <InputContainer key={`rationale-${index}`} label={rationale.label} className={classes.rationaleHolder}>\n <EditableHtml\n className={classes.rationale}\n markup={choice.rationale || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, rationale: c })}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n pluginProps={labelPlugins}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {accessibilityLabelsEnabled && (\n <InputContainer\n key={`accessibility-${index}`}\n label={accessibility.label}\n className={classes.accessibilityHolder}\n >\n <EditableHtml\n className={classes.accessibility}\n markup={choice.accessibility || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, accessibility: c })}\n imageSupport={imageSupport}\n pluginProps={labelPlugins}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.choices) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.choices) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n </div>\n ))}\n\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n {answerChoicesError && <div className={classes.errorText}>{answerChoicesError}</div>}\n\n {addChoiceButton.settings && (\n <Tooltip title={addChoiceButtonTooltip} classes={{ tooltip: classes.tooltip }}>\n <Button\n classes={{ root: maxAnswerChoices && choices?.length >= maxAnswerChoices && classes.disableButton }}\n className={classes.addButton}\n variant=\"contained\"\n color=\"primary\"\n onClick={onAddChoice}\n >\n {addChoiceButton.label}\n </Button>\n </Tooltip>\n )}\n </div>\n </layout.ConfigLayout>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n state = { showWarning: false };\n\n onRemoveChoice = (index) => {\n const { model, configuration, onModelChanged } = this.props;\n const { minAnswerChoices } = configuration || {};\n\n if (minAnswerChoices && model.choices.length === minAnswerChoices) {\n this.setState({ showWarning: true });\n\n return;\n }\n\n model.choices.splice(index, 1);\n onModelChanged(model);\n };\n\n onAddChoice = () => {\n const { model, configuration, onModelChanged } = this.props;\n let { maxAnswerChoices } = configuration || {};\n const { limitChoicesNumber } = model || {};\n\n // if old property is used, set maxAnswerChoices to 9\n if (limitChoicesNumber) {\n maxAnswerChoices = MAX_CHOICES;\n }\n\n if (maxAnswerChoices && model.choices.length >= maxAnswerChoices) {\n return;\n }\n\n model.choices.push({\n label: '',\n value: utils.firstAvailableIndex(\n model.choices.map((c) => c.value),\n 0,\n ),\n feedback: { type: 'none' },\n });\n\n onModelChanged(model);\n };\n\n onChoiceChanged = (index, choice) => {\n const { model, onModelChanged } = this.props;\n\n if (choice.correct && model.choiceMode === 'radio') {\n model.choices = model.choices.map((c) => merge({}, c, { correct: false }));\n }\n\n model.choices.splice(index, 1, choice);\n onModelChanged(model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt,\n });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions,\n });\n };\n\n onModelChanged = (model, key) => {\n const { onModelChanged } = this.props;\n\n switch (key) {\n case 'choiceMode': {\n let value = model.choiceMode;\n\n if (value === 'radio') {\n let correctFound = false;\n\n model.choices = model.choices.map((c) => {\n if (correctFound) {\n c.correct = false;\n\n return c;\n }\n\n if (c.correct) {\n correctFound = true;\n }\n\n return c;\n });\n }\n\n onModelChanged(model, true);\n break;\n }\n\n default:\n onModelChanged(model);\n break;\n }\n };\n\n render() {\n const { configuration: { minAnswerChoices } = {} } = this.props;\n const { showWarning } = this.state;\n\n return (\n <React.Fragment>\n <AlertDialog\n open={showWarning}\n title=\"Warning\"\n text={`There can't be less than ${minAnswerChoices || 0} choices.`}\n onConfirm={() => this.setState({ showWarning: false })}\n />\n <Design\n {...this.props}\n onChangeModel={this.onModelChanged}\n onRemoveChoice={this.onRemoveChoice}\n onChoiceChanged={this.onChoiceChanged}\n onAddChoice={this.onAddChoice}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n </React.Fragment>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
|
package/configure/lib/utils.js
CHANGED
|
@@ -15,4 +15,4 @@ var generateValidationMessage = function generateValidationMessage(config) {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
exports.generateValidationMessage = generateValidationMessage;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils.js"],"names":["generateValidationMessage","config","minAnswerChoices","maxAnswerChoices","answerChoicesMessage","correctAnswerMessage","message"],"mappings":";;;;;;;AAAO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,MAAD,EAAY;AACnD,MAAQC,gBAAR,GAA+CD,MAA/C,CAAQC,gBAAR;AAAA,MAA0BC,gBAA1B,GAA+CF,MAA/C,CAA0BE,gBAA1B;AAEA,MAAMC,oBAAoB,GACxB,qCAA8BF,gBAA9B,UACCC,gBAAgB,yBAAkBA,gBAAlB,SAAwC,EADzD,IAEA,yBAFA,GAGA,uDAJF;AAMA,MAAME,oBAAoB,GAAG,qCAA7B;AAEA,MAAMC,OAAO,GAAG,6BAA6BF,oBAA7B,GAAoDC,oBAApE;AAEA,SAAOC,OAAP;AACD,CAdM","sourcesContent":["export const generateValidationMessage = (config) => {\n const { minAnswerChoices, maxAnswerChoices } = config;\n\n const answerChoicesMessage =\n `\\nThere should be at least ${minAnswerChoices} ` +\n (maxAnswerChoices ? `and at most ${maxAnswerChoices} ` : '') +\n 'answer choices defined.' +\n '\\nEvery answer choice should be non-blank and unique.';\n\n const correctAnswerMessage = '\\nA correct answer must be defined.';\n\n const message = 'Validation requirements:' + answerChoicesMessage + correctAnswerMessage;\n\n return message;\n};\n"],"file":"utils.js"}
|
|
@@ -15,4 +15,4 @@ var _default = {
|
|
|
15
15
|
gridColumns: '2'
|
|
16
16
|
};
|
|
17
17
|
exports["default"] = _default;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["promptEnabled","rationaleEnabled","accessibilityLabelsEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","choicePrefix","choicesLayout","gridColumns"],"mappings":";;;;;;eAAe;AACbA,EAAAA,aAAa,EAAE,IADF;AAEbC,EAAAA,gBAAgB,EAAE,IAFL;AAGbC,EAAAA,0BAA0B,EAAE,KAHf;AAIbC,EAAAA,0BAA0B,EAAE,IAJf;AAKbC,EAAAA,0BAA0B,EAAE,IALf;AAMbC,EAAAA,YAAY,EAAE,SAND;AAObC,EAAAA,aAAa,EAAE,UAPF;AAQbC,EAAAA,WAAW,EAAE;AARA,C","sourcesContent":["export default {\n promptEnabled: true,\n rationaleEnabled: true,\n accessibilityLabelsEnabled: false,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n choicePrefix: 'letters',\n choicesLayout: 'vertical',\n gridColumns: '2',\n};\n"],"file":"defaults.js"}
|
package/controller/lib/index.js
CHANGED
|
@@ -302,4 +302,4 @@ var validate = function validate() {
|
|
|
302
302
|
};
|
|
303
303
|
|
|
304
304
|
exports.validate = validate;
|
|
305
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJwcmVwYXJlQ2hvaWNlIiwibW9kZWwiLCJlbnYiLCJkZWZhdWx0RmVlZGJhY2siLCJjaG9pY2UiLCJyb2xlIiwibW9kZSIsIm91dCIsImxhYmVsIiwidmFsdWUiLCJhY2Nlc3NpYmlsaXR5TGFiZWxzRW5hYmxlZCIsImFjY2Vzc2liaWxpdHkiLCJ0ZXh0Q29udGVudCIsInJhdGlvbmFsZSIsInJhdGlvbmFsZUVuYWJsZWQiLCJjb3JyZWN0IiwiZmVlZGJhY2tFbmFibGVkIiwiZmVlZGJhY2tUeXBlIiwiZmVlZGJhY2siLCJ0eXBlIiwiY3JlYXRlRGVmYXVsdE1vZGVsIiwiUHJvbWlzZSIsInJlc29sdmUiLCJkZWZhdWx0cyIsIm5vcm1hbGl6ZSIsInF1ZXN0aW9uIiwidmVydGljYWxNb2RlIiwiY2hvaWNlc0xheW91dCIsInF1ZXN0aW9uUHJvcHMiLCJzZXNzaW9uIiwidXBkYXRlU2Vzc2lvbiIsIm5vcm1hbGl6ZWRRdWVzdGlvbiIsIk9iamVjdCIsImFzc2lnbiIsImluY29ycmVjdCIsImNob2ljZXMiLCJtYXAiLCJsb2NrQ2hvaWNlT3JkZXIiLCJkaXNhYmxlZCIsInByb21wdCIsInByb21wdEVuYWJsZWQiLCJncmlkQ29sdW1ucyIsImNob2ljZU1vZGUiLCJrZXlNb2RlIiwiY2hvaWNlUHJlZml4IiwicmVzcG9uc2VDb3JyZWN0IiwidW5kZWZpbmVkIiwidGVhY2hlckluc3RydWN0aW9ucyIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwiZ2V0U2NvcmUiLCJjb25maWciLCJzZWxlY3RlZENob2ljZXMiLCJjb3JyZWN0Q2hvaWNlcyIsImZpbHRlciIsImNoIiwic2NvcmUiLCJyZWR1Y2UiLCJhY2MiLCJzZWxlY3RlZENob2ljZSIsImZpbmQiLCJsZW5ndGgiLCJzdHIiLCJwYXJzZUZsb2F0IiwidG9GaXhlZCIsIm91dGNvbWUiLCJlbXB0eSIsInBhcnRpYWxTY29yaW5nRW5hYmxlZCIsInBhcnRpYWxTY29yaW5nIiwiZW5hYmxlZCIsImNyZWF0ZUNvcnJlY3RSZXNwb25zZVNlc3Npb24iLCJpZCIsImMiLCJ2YWxpZGF0ZSIsIm1pbkFuc3dlckNob2ljZXMiLCJtYXhBbnN3ZXJDaG9pY2VzIiwicmV2ZXJzZWRDaG9pY2VzIiwicmV2ZXJzZSIsImNob2ljZXNFcnJvcnMiLCJoYXNDb3JyZWN0UmVzcG9uc2UiLCJmb3JFYWNoIiwiaW5kZXgiLCJpZGVudGljYWxBbnN3ZXIiLCJzbGljZSIsInNvbWUiLCJlcnJvcnMiLCJuYk9mQ2hvaWNlcyIsImFuc3dlckNob2ljZXNFcnJvciIsImNvcnJlY3RSZXNwb25zZUVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRUEsSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxLQUFELEVBQVFDLEdBQVIsRUFBYUMsZUFBYjtBQUFBLFNBQWlDLFVBQUNDLE1BQUQsRUFBWTtBQUNqRSxlQUF1QkYsR0FBRyxJQUFJLEVBQTlCO0FBQUEsUUFBUUcsSUFBUixRQUFRQSxJQUFSO0FBQUEsUUFBY0MsSUFBZCxRQUFjQSxJQUFkOztBQUNBLFFBQU1DLEdBQUcsR0FBRztBQUNWQyxNQUFBQSxLQUFLLEVBQUVKLE1BQU0sQ0FBQ0ksS0FESjtBQUVWQyxNQUFBQSxLQUFLLEVBQUVMLE1BQU0sQ0FBQ0s7QUFGSixLQUFaOztBQUtBLFFBQUlSLEtBQUssQ0FBQ1MsMEJBQVYsRUFBc0M7QUFDcENILE1BQUFBLEdBQUcsQ0FBQ0ksYUFBSixHQUFvQixzQkFBVVAsTUFBTSxDQUFDTyxhQUFqQixFQUFnQ0MsV0FBaEMsSUFBK0NSLE1BQU0sQ0FBQ0ssS0FBMUU7QUFDRDs7QUFFRCxRQUFJSixJQUFJLEtBQUssWUFBVCxLQUEwQkMsSUFBSSxLQUFLLE1BQVQsSUFBbUJBLElBQUksS0FBSyxVQUF0RCxDQUFKLEVBQXVFO0FBQ3JFQyxNQUFBQSxHQUFHLENBQUNNLFNBQUosR0FBZ0JaLEtB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SyxFQUFWLElBQWdCQSxLQUFLLEtBQUssYUFBOUIsRUFBNkM7QUFDM0NxRSxNQUFBQSxhQUFhLENBQUNwRSxLQUFELENBQWIsR0FBdUIsOEJBQXZCO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsVUFBTXdFLGVBQWUsR0FBR04sZUFBZSxDQUFDTyxLQUFoQixDQUFzQkYsS0FBSyxHQUFHLENBQTlCLEVBQWlDRyxJQUFqQyxDQUFzQyxVQUFDWixDQUFEO0FBQUEsZUFBT0EsQ0FBQyxDQUFDL0QsS0FBRixLQUFZQSxLQUFuQjtBQUFBLE9BQXRDLENBQXhCOztBQUVBLFVBQUl5RSxlQUFKLEVBQXFCO0FBQ25CSixRQUFBQSxhQUFhLENBQUNwRSxLQUFELENBQWIsR0FBdUIsMkJBQXZCO0FBQ0Q7QUFDRjtBQUNGLEdBaEJEO0FBa0JBLE1BQU0yRSxNQUFNLEdBQUcsRUFBZjtBQUNBLE1BQU1DLFdBQVcsR0FBRyxDQUFDbEQsT0FBTyxJQUFJLEVBQVosRUFBZ0J5QixNQUFwQzs7QUFFQSxNQUFJeUIsV0FBVyxHQUFHWixnQkFBbEIsRUFBb0M7QUFDbENXLElBQUFBLE1BQU0sQ0FBQ0Usa0JBQVAsc0NBQXdEYixnQkFBeEQ7QUFDRCxHQUZELE1BRU8sSUFBSVksV0FBVyxHQUFHWCxnQkFBbEIsRUFBb0M7QUFDekNVLElBQUFBLE1BQU0sQ0FBQ0Usa0JBQVAsMEJBQTRDWixnQkFBNUM7QUFDRDs7QUFFRCxNQUFJLENBQUNJLGtCQUFMLEVBQXlCO0FBQ3ZCTSxJQUFBQSxNQUFNLENBQUNHLG9CQUFQLEdBQThCLDhCQUE5QjtBQUNEOztBQUVELE1BQUksQ0FBQyx5QkFBUVYsYUFBUixDQUFMLEVBQTZCO0FBQzNCTyxJQUFBQSxNQUFNLENBQUNQLGFBQVAsR0FBdUJBLGFBQXZCO0FBQ0Q7O0FBRUQsU0FBT08sTUFBUDtBQUNELENBM0NNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IHsgaXNSZXNwb25zZUNvcnJlY3QsIHBhcnNlSFRNTCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJy4vZGVmYXVsdHMnO1xuaW1wb3J0IHsgbG9ja0Nob2ljZXMsIHBhcnRpYWxTY29yaW5nLCBnZXRTaHVmZmxlZENob2ljZXMgfSBmcm9tICdAcGllLWxpYi9jb250cm9sbGVyLXV0aWxzJztcblxuY29uc3QgcHJlcGFyZUNob2ljZSA9IChtb2RlbCwgZW52LCBkZWZhdWx0RmVlZGJhY2spID0+IChjaG9pY2UpID0+IHtcbiAgY29uc3QgeyByb2xlLCBtb2RlIH0gPSBlbnYgfHwge307XG4gIGNvbnN0IG91dCA9IHtcbiAgICBsYWJlbDogY2hvaWNlLmxhYmVsLFxuICAgIHZhbHVlOiBjaG9pY2UudmFsdWUsXG4gIH07XG5cbiAgaWYgKG1vZGVsLmFjY2Vzc2liaWxpdHlMYWJlbHNFbmFibGVkKSB7XG4gICAgb3V0LmFjY2Vzc2liaWxpdHkgPSBwYXJzZUhUTUwoY2hvaWNlLmFjY2Vzc2liaWxpdHkpLnRleHRDb250ZW50IHx8IGNob2ljZS52YWx1ZTtcbiAgfVxuXG4gIGlmIChyb2xlID09PSAnaW5zdHJ1Y3RvcicgJiYgKG1vZGUgPT09ICd2aWV3JyB8fCBtb2RlID09PSAnZXZhbHVhdGUnKSkge1xuICAgIG91dC5yYXRpb25hbGUgPSBtb2RlbC5yYXRpb25hbGVFbmFibGVkID8gY2hvaWNlLnJhdGlvbmFsZSA6IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgb3V0LnJhdGlvbmFsZSA9IG51bGw7XG4gIH1cblxuICBpZiAobW9kZSA9PT0gJ2V2YWx1YXRlJykge1xuICAgIG91dC5jb3JyZWN0ID0gISFjaG9pY2UuY29ycmVjdDtcblxuICAgIGlmIChtb2RlbC5mZWVkYmFja0VuYWJsZWQpIHtcbiAgICAgIGNvbnN0IGZlZWRiYWNrVHlwZSA9IChjaG9pY2UuZmVlZGJhY2sgJiYgY2hvaWNlLmZlZWRiYWNrLnR5cGUpIHx8ICdub25lJztcblxuICAgICAgaWYgKGZlZWRiYWNrVHlwZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgIG91dC5mZWVkYmFjayA9IGRlZmF1bHRGZWVkYmFja1tjaG9pY2UuY29ycmVjdCA/ICdjb3JyZWN0JyA6ICdpbmNvcnJlY3QnXTtcbiAgICAgIH0gZWxzZSBpZiAoZmVlZGJhY2tUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgICBvdXQuZmVlZGJhY2sgPSBjaG9pY2UuZmVlZGJhY2sudmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEZWZhdWx0TW9kZWwobW9kZWwgPSB7fSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHJlc29sdmUoeyAuLi5kZWZhdWx0cywgLi4ubW9kZWwgfSkpO1xufVxuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplID0gKHF1ZXN0aW9uKSA9PiB7XG4gIGNvbnN0IHsgdmVydGljYWxNb2RlLCBjaG9pY2VzTGF5b3V0LCAuLi5xdWVzdGlvblByb3BzIH0gPSBxdWVzdGlvbiB8fCB7fTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRlZmF1bHRzLFxuICAgIC4uLnF1ZXN0aW9uUHJvcHMsXG4gICAgLy8gVGhpcyBpcyB1c2VkIGZvciBvZmZlcmluZyBzdXBwb3J0IGZvciBvbGQgbW9kZWxzIHdoaWNoIGhhdmUgdGhlIHByb3BlcnR5IHZlcnRpY2FsTW9kZVxuICAgIC8vIFNhbWUgdGhpbmcgaXMgc2V0IGluIGF1dGhvcmluZyA6IHBhY2thZ2VzL211bHRpcGxlLWNob2ljZS9jb25maWd1cmUvc3JjL2luZGV4LmpzeCAtIGNyZWF0ZURlZmF1bHRNb2RlbFxuICAgIGNob2ljZXNMYXlvdXQ6IGNob2ljZXNMYXlvdXQgfHwgKHZlcnRpY2FsTW9kZSA9PT0gZmFsc2UgJiYgJ2hvcml6b250YWwnKSB8fCBkZWZhdWx0cy5jaG9pY2VzTGF5b3V0LFxuICB9O1xufTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBxdWVzdGlvblxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0geyp9IGVudlxuICogQHBhcmFtIHsqfSB1cGRhdGVTZXNzaW9uIC0gb3B0aW9uYWwgLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBzZXQgdGhlIHByb3BlcnRpZXMgcGFzc2VkIGludG8gaXQgb24gdGhlIHNlc3Npb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCB1cGRhdGVTZXNzaW9uKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRRdWVzdGlvbiA9IG5vcm1hbGl6ZShxdWVzdGlvbik7XG5cbiAgY29uc3QgZGVmYXVsdEZlZWRiYWNrID0gT2JqZWN0LmFzc2lnbihcbiAgICB7IGNvcnJlY3Q6ICdDb3JyZWN0JywgaW5jb3JyZWN0OiAnSW5jb3JyZWN0JyB9LFxuICAgIG5vcm1hbGl6ZWRRdWVzdGlvbi5kZWZhdWx0RmVlZGJhY2ssXG4gICk7XG5cbiAgbGV0IGNob2ljZXMgPSBub3JtYWxpemVkUXVlc3Rpb24uY2hvaWNlcy5tYXAocHJlcGFyZUNob2ljZShub3JtYWxpemVkUXVlc3Rpb24sIGVudiwgZGVmYXVsdEZlZWRiYWNrKSk7XG5cbiAgY29uc3QgbG9ja0Nob2ljZU9yZGVyID0gbG9ja0Nob2ljZXMobm9ybWFsaXplZFF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpO1xuXG4gIGlmICghbG9ja0Nob2ljZU9yZGVyKSB7XG4gICAgY2hvaWNlcyA9IGF3YWl0IGdldFNodWZmbGVkQ2hvaWNlcyhjaG9pY2VzLCBzZXNzaW9uLCB1cGRhdGVTZXNzaW9uLCAndmFsdWUnKTtcbiAgfVxuXG4gIGNvbnN0IG91dCA9IHtcbiAgICBkaXNhYmxlZDogZW52Lm1vZGUgIT09ICdnYXRoZXInLFxuICAgIG1vZGU6IGVudi5tb2RlLFxuICAgIHByb21wdDogbm9ybWFsaXplZFF1ZXN0aW9uLnByb21wdEVuYWJsZWQgPyBub3JtYWxpemVkUXVlc3Rpb24ucHJvbXB0IDogbnVsbCxcbiAgICBjaG9pY2VzTGF5b3V0OiBub3JtYWxpemVkUXVlc3Rpb24uY2hvaWNlc0xheW91dCxcbiAgICBncmlkQ29sdW1uczogbm9ybWFsaXplZFF1ZXN0aW9uLmdyaWRDb2x1bW5zLFxuICAgIGNob2ljZU1vZGU6IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VNb2RlLFxuICAgIGtleU1vZGU6IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VQcmVmaXgsXG4gICAgY2hvaWNlcyxcbiAgICByZXNwb25zZUNvcnJlY3Q6IGVudi5tb2RlID09PSAnZXZhbHVhdGUnID8gaXNSZXNwb25zZUNvcnJlY3Qobm9ybWFsaXplZFF1ZXN0aW9uLCBzZXNzaW9uKSA6IHVuZGVmaW5lZCxcbiAgfTtcblxuICBjb25zdCB7IHJvbGUsIG1vZGUgfSA9IGVudiB8fCB7fTtcblxuICBpZiAocm9sZSA9PT0gJ2luc3RydWN0b3InICYmIChtb2RlID09PSAndmlldycgfHwgbW9kZSA9PT0gJ2V2YWx1YXRlJykpIHtcbiAgICBvdXQudGVhY2hlckluc3RydWN0aW9ucyA9IG5vcm1hbGl6ZWRRdWVzdGlvbi50ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZFxuICAgICAgPyBub3JtYWxpemVkUXVlc3Rpb24udGVhY2hlckluc3RydWN0aW9uc1xuICAgICAgOiBudWxsO1xuICB9IGVsc2Uge1xuICAgIG91dC50ZWFjaGVySW5zdHJ1Y3Rpb25zID0gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBvdXQ7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRTY29yZSA9IChjb25maWcsIHNlc3Npb24pID0+IHtcbiAgaWYgKCFzZXNzaW9uIHx8IGlzRW1wdHkoc2Vzc2lvbikpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkQ2hvaWNlcyA9IHNlc3Npb24udmFsdWUgfHwgW107XG4gIGNvbnN0IGNvcnJlY3RDaG9pY2VzID0gKGNvbmZpZy5jaG9pY2VzIHx8IFtdKS5maWx0ZXIoKGNoKSA9PiBjaC5jb3JyZWN0KTtcblxuICBsZXQgc2NvcmUgPSBzZWxlY3RlZENob2ljZXMucmVkdWNlKFxuICAgIChhY2MsIHNlbGVjdGVkQ2hvaWNlKSA9PiBhY2MgKyAoY29ycmVjdENob2ljZXMuZmluZCgoY2gpID0+IGNoLnZhbHVlID09PSBzZWxlY3RlZENob2ljZSkgPyAxIDogMCksXG4gICAgMCxcbiAgKTtcblxuICBpZiAoY29ycmVjdENob2ljZXMubGVuZ3RoIDwgc2VsZWN0ZWRDaG9pY2VzLmxlbmd0aCkge1xuICAgIHNjb3JlIC09IHNlbGVjdGVkQ2hvaWNlcy5sZW5ndGggLSBjb3JyZWN0Q2hvaWNlcy5sZW5ndGg7XG5cbiAgICBpZiAoc2NvcmUgPCAwKSB7XG4gICAgICBzY29yZSA9IDA7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RyID0gY29ycmVjdENob2ljZXMubGVuZ3RoID8gc2NvcmUgLyBjb3JyZWN0Q2hvaWNlcy5sZW5ndGggOiAwO1xuXG4gIHJldHVybiBwYXJzZUZsb2F0KHN0ci50b0ZpeGVkKDIpKTtcbn07XG5cbi8qKlxuICpcbiAqIFRoZSBzY29yZSBpcyBwYXJ0aWFsIGJ5IGRlZmF1bHQgZm9yIGNoZWNrYm94IG1vZGUsIGFsbE9yTm90aGluZyBmb3IgcmFkaW8gbW9kZS5cbiAqIFRvIGRpc2FibGUgcGFydGlhbCBzY29yaW5nIGZvciBjaGVja2JveCBtb2RlIHlvdSBlaXRoZXIgc2V0IG1vZGVsLnBhcnRpYWxTY29yaW5nID0gZmFsc2Ugb3IgZW52LnBhcnRpYWxTY29yaW5nID0gZmFsc2UuIHRoZSB2YWx1ZSBpbiBgZW52YCB3aWxsXG4gKiBvdmVycmlkZSB0aGUgdmFsdWUgaW4gYG1vZGVsYC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBtb2RlbCAtIHRoZSBtYWluIG1vZGVsXG4gKiBAcGFyYW0geyp9IHNlc3Npb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBlbnZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG91dGNvbWUobW9kZWwsIHNlc3Npb24sIGVudikge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBpZiAoIXNlc3Npb24gfHwgaXNFbXB0eShzZXNzaW9uKSkge1xuICAgICAgcmVzb2x2ZSh7IHNjb3JlOiAwLCBlbXB0eTogdHJ1ZSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGFydGlhbFNjb3JpbmdFbmFibGVkID0gcGFydGlhbFNjb3JpbmcuZW5hYmxlZChtb2RlbCwgZW52KSAmJiBtb2RlbC5jaG9pY2VNb2RlICE9PSAncmFkaW8nO1xuICAgICAgY29uc3Qgc2NvcmUgPSBnZXRTY29yZShtb2RlbCwgc2Vzc2lvbik7XG5cbiAgICAgIHJlc29sdmUoeyBzY29yZTogcGFydGlhbFNjb3JpbmdFbmFibGVkID8gc2NvcmUgOiBzY29yZSA9PT0gMSA/IDEgOiAwLCBlbXB0eTogZmFsc2UgfSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvcnJlY3RSZXNwb25zZVNlc3Npb24gPSAocXVlc3Rpb24sIGVudikgPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBpZiAoZW52Lm1vZGUgIT09ICdldmFsdWF0ZScgJiYgZW52LnJvbGUgPT09ICdpbnN0cnVjdG9yJykge1xuICAgICAgY29uc3QgeyBjaG9pY2VzIH0gPSBxdWVzdGlvbiB8fCB7IGNob2ljZXM6IFtdIH07XG5cbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBpZDogJzEnLFxuICAgICAgICB2YWx1ZTogY2hvaWNlcy5maWx0ZXIoKGMpID0+IGMuY29ycmVjdCkubWFwKChjKSA9PiBjLnZhbHVlKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGUgPSAobW9kZWwgPSB7fSwgY29uZmlnID0ge30pID0+IHtcbiAgY29uc3QgeyBjaG9pY2VzIH0gPSBtb2RlbDtcbiAgY29uc3QgeyBtaW5BbnN3ZXJDaG9pY2VzID0gMiwgbWF4QW5zd2VyQ2hvaWNlcyB9ID0gY29uZmlnO1xuICBjb25zdCByZXZlcnNlZENob2ljZXMgPSBbLi4uKGNob2ljZXMgfHwgW10pXS5yZXZlcnNlKCk7XG4gIGNvbnN0IGNob2ljZXNFcnJvcnMgPSB7fTtcbiAgbGV0IGhhc0NvcnJlY3RSZXNwb25zZSA9IGZhbHNlO1xuXG4gIHJldmVyc2VkQ2hvaWNlcy5mb3JFYWNoKChjaG9pY2UsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBjb3JyZWN0LCB2YWx1ZSwgbGFiZWwgfSA9IGNob2ljZTtcblxuICAgIGlmIChjb3JyZWN0KSB7XG4gICAgICBoYXNDb3JyZWN0UmVzcG9uc2UgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsYWJlbCA9PT0gJycgfHwgbGFiZWwgPT09ICc8ZGl2PjwvZGl2PicpIHtcbiAgICAgIGNob2ljZXNFcnJvcnNbdmFsdWVdID0gJ0NvbnRlbnQgc2hvdWxkIG5vdCBiZSBlbXB0eS4nO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpZGVudGljYWxBbnN3ZXIgPSByZXZlcnNlZENob2ljZXMuc2xpY2UoaW5kZXggKyAxKS5zb21lKChjKSA9PiBjLmxhYmVsID09PSBsYWJlbCk7XG5cbiAgICAgIGlmIChpZGVudGljYWxBbnN3ZXIpIHtcbiAgICAgICAgY2hvaWNlc0Vycm9yc1t2YWx1ZV0gPSAnQ29udGVudCBzaG91bGQgYmUgdW5pcXVlLic7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBlcnJvcnMgPSB7fTtcbiAgY29uc3QgbmJPZkNob2ljZXMgPSAoY2hvaWNlcyB8fCBbXSkubGVuZ3RoO1xuXG4gIGlmIChuYk9mQ2hvaWNlcyA8IG1pbkFuc3dlckNob2ljZXMpIHtcbiAgICBlcnJvcnMuYW5zd2VyQ2hvaWNlc0Vycm9yID0gYFRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCAke21pbkFuc3dlckNob2ljZXN9IGNob2ljZXMgZGVmaW5lZC5gO1xuICB9IGVsc2UgaWYgKG5iT2ZDaG9pY2VzID4gbWF4QW5zd2VyQ2hvaWNlcykge1xuICAgIGVycm9ycy5hbnN3ZXJDaG9pY2VzRXJyb3IgPSBgTm8gbW9yZSB0aGFuICR7bWF4QW5zd2VyQ2hvaWNlc30gY2hvaWNlcyBzaG91bGQgYmUgZGVmaW5lZC5gO1xuICB9XG5cbiAgaWYgKCFoYXNDb3JyZWN0UmVzcG9uc2UpIHtcbiAgICBlcnJvcnMuY29ycmVjdFJlc3BvbnNlRXJyb3IgPSAnTm8gY29ycmVjdCByZXNwb25zZSBkZWZpbmVkLic7XG4gIH1cblxuICBpZiAoIWlzRW1wdHkoY2hvaWNlc0Vycm9ycykpIHtcbiAgICBlcnJvcnMuY2hvaWNlc0Vycm9ycyA9IGNob2ljZXNFcnJvcnM7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufTtcbiJdfQ==
|
|
305
|
+
//# 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","accessibilityLabelsEnabled","accessibility","textContent","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","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","validate","minAnswerChoices","maxAnswerChoices","reversedChoices","reverse","choicesErrors","hasCorrectResponse","forEach","index","identicalAnswer","slice","some","errors","nbOfChoices","answerChoicesError","correctResponseError"],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport isEmpty from 'lodash/isEmpty';\nimport { isResponseCorrect, parseHTML } from './utils';\nimport defaults from './defaults';\nimport { lockChoices, partialScoring, getShuffledChoices } from '@pie-lib/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 (model.accessibilityLabelsEnabled) {\n out.accessibility = parseHTML(choice.accessibility).textContent || 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 };\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\nexport const validate = (model = {}, config = {}) => {\n const { choices } = model;\n const { minAnswerChoices = 2, maxAnswerChoices } = config;\n const reversedChoices = [...(choices || [])].reverse();\n const choicesErrors = {};\n let hasCorrectResponse = false;\n\n reversedChoices.forEach((choice, index) => {\n const { correct, value, label } = choice;\n\n if (correct) {\n hasCorrectResponse = true;\n }\n\n if (label === '' || label === '<div></div>') {\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\n const errors = {};\n const nbOfChoices = (choices || []).length;\n\n if (nbOfChoices < minAnswerChoices) {\n errors.answerChoicesError = `There should be at least ${minAnswerChoices} choices defined.`;\n } else if (nbOfChoices > maxAnswerChoices) {\n errors.answerChoicesError = `No more than ${maxAnswerChoices} choices should be defined.`;\n }\n\n if (!hasCorrectResponse) {\n errors.correctResponseError = 'No correct response defined.';\n }\n\n if (!isEmpty(choicesErrors)) {\n errors.choicesErrors = choicesErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
|
package/controller/lib/utils.js
CHANGED
|
@@ -33,4 +33,4 @@ var parseHTML = function parseHTML(html) {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
exports.parseHTML = parseHTML;
|
|
36
|
-
//# sourceMappingURL=
|
|
36
|
+
//# 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","parseHTML","html","template","document","createElement","innerHTML","content"],"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;;;;AAKA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAAU;AACjC,MAAMC,QAAQ,GAAGC,QAAQ,CAACC,aAAT,CAAuB,UAAvB,CAAjB;AACAF,EAAAA,QAAQ,CAACG,SAAT,GAAqBJ,IAArB;AACA,SAAOC,QAAQ,CAACI,OAAhB;AACD,CAJM","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\nexport const parseHTML = (html) => {\n const template = document.createElement('template');\n template.innerHTML = html;\n return template.content;\n};\n"],"file":"utils.js"}
|
package/lib/choice-input.js
CHANGED
|
@@ -295,4 +295,4 @@ exports.ChoiceInput = ChoiceInput;
|
|
|
295
295
|
var _default = (0, _styles.withStyles)(styleSheet)(ChoiceInput);
|
|
296
296
|
|
|
297
297
|
exports["default"] = _default;
|
|
298
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaG9pY2UtaW5wdXQuanN4Il0sIm5hbWVzIjpbIkNMQVNTX05BTUUiLCJzdHlsZVNoZWV0Iiwicm93IiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsImJhY2tncm91bmQiLCJjaGVja2JveEhvbGRlciIsImZsZXgiLCJ0ZXh0IiwiaG9yaXpvbnRhbExheW91dCIsInBhZGRpbmdSaWdodCIsImZvcm1TdHlsZVNoZWV0IiwibGFiZWwiLCJTdHlsZWRGb3JtQ29udHJvbExhYmVsIiwibmFtZSIsInByb3BzIiwiY2xhc3NlcyIsImNvbG9yU3R5bGUiLCJ2YXJOYW1lIiwiZmFsbGJhY2siLCJpbnB1dFN0eWxlcyIsImNvcnJlY3QiLCJkaXNhYmxlZCIsImluY29ycmVjdCIsInJvb3QiLCJwcmltYXJ5TGlnaHQiLCJjaGVja2VkIiwicHJpbWFyeSIsIm9wYWNpdHkiLCJjdXJzb3IiLCJwb2ludGVyRXZlbnRzIiwiU3R5bGVkQ2hlY2tib3giLCJjb3JyZWN0bmVzcyIsIm9uQ2hhbmdlIiwiYWNjZXNzaWJpbGl0eSIsImtleSIsImsiLCJyZXNvbHZlZCIsIm1pbmlQcm9wcyIsIlN0eWxlZFJhZGlvIiwiQ2hvaWNlSW5wdXQiLCJvblRvZ2dsZUNob2ljZSIsImJpbmQiLCJ2YWx1ZSIsInNlbGVjdGVkIiwiY2hvaWNlTW9kZSIsImRpc3BsYXlLZXkiLCJmZWVkYmFjayIsImNsYXNzTmFtZSIsInJhdGlvbmFsZSIsImhpZGVUaWNrIiwiaXNFdmFsdWF0ZU1vZGUiLCJjaG9pY2VzTGF5b3V0IiwiVGFnIiwiY2xhc3NTdWZmaXgiLCJob2xkZXJDbGFzc05hbWVzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvbmVPZiIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJib29sIiwiZnVuYyIsIm9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsVUFBVSxHQUFHLDJCQUFuQjs7QUFFQSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYTtBQUFBLFNBQU87QUFDeEJDLElBQUFBLEdBQUcsRUFBRTtBQUNIQyxNQUFBQSxPQUFPLEVBQUUsTUFETjtBQUVIQyxNQUFBQSxVQUFVLEVBQUUsUUFGVDtBQUdIQyxNQUFBQSxlQUFlLEVBQUVDLGdCQUFNQyxVQUFOO0FBSGQsS0FEbUI7QUFNeEJDLElBQUFBLGNBQWMsRUFBRTtBQUNkTCxNQUFBQSxPQUFPLEVBQUUsTUFESztBQUVkQyxNQUFBQSxVQUFVLEVBQUUsUUFGRTtBQUdkQyxNQUFBQSxlQUFlLEVBQUVDLGdCQUFNQyxVQUFOLEVBSEg7QUFJZEUsTUFBQUEsSUFBSSxFQUFFLENBSlE7QUFLZCxpQkFBVztBQUNUSCxRQUFBQSxLQUFLLEVBQUVBLGdCQUFNSSxJQUFOO0FBREU7QUFMRyxLQU5RO0FBZXhCQyxJQUFBQSxnQkFBZ0Isb0RBQ1BYLFVBRE8sR0FDUTtBQUNwQlksTUFBQUEsWUFBWSxFQUFFO0FBRE0sS0FEUjtBQWZRLEdBQVA7QUFBQSxDQUFuQjs7QUFzQkEsSUFBTUMsY0FBYyxHQUFHO0FBQ3JCQyxFQUFBQSxLQUFLLEVBQUU7QUFDTFIsSUFBQUEsS0FBSyxZQUFLQSxnQkFBTUksSUFBTixFQUFMLGdCQURBO0FBQ2dDO0FBQ3JDTCxJQUFBQSxlQUFlLEVBQUVDLGdCQUFNQyxVQUFOO0FBRlo7QUFEYyxDQUF2QjtBQU9PLElBQU1RLHNCQUFzQixHQUFHLHdCQUFXRixjQUFYLEVBQTJCO0FBQy9ERyxFQUFBQSxJQUFJLEVBQUU7QUFEeUQsQ0FBM0IsRUFFbkMsVUFBQ0MsS0FBRDtBQUFBLHNCQUFXLGdDQUFDLDRCQUFELGdDQUFzQkEsS0FBdEI7QUFBNkIsSUFBQSxPQUFPLEVBQUU7QUFBRUgsTUFBQUEsS0FBSyxFQUFFRyxLQUFLLENBQUNDLE9BQU4sQ0FBY0o7QUFBdkI7QUFBdEMsS0FBWDtBQUFBLENBRm1DLENBQS9COzs7QUFJUCxJQUFNSyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxPQUFELEVBQVVDLFFBQVY7QUFBQSwwREFDWHJCLFVBRFcsR0FDSTtBQUNuQk0sSUFBQUEsS0FBSywrQkFBd0JjLE9BQXhCLGVBQW9DQyxRQUFwQztBQURjLEdBREo7QUFBQSxDQUFuQjs7QUFNQSxJQUFNQyxXQUFXLEdBQUc7QUFDbEIsa0JBQWdCSCxVQUFVLENBQUMsZUFBRCxFQUFrQmIsZ0JBQU1JLElBQU4sRUFBbEIsQ0FEUjtBQUVsQixxQkFBbUJTLFVBQVUsQ0FBQyx3QkFBRCxFQUEyQmIsZ0JBQU1pQixPQUFOLEVBQTNCLENBRlg7QUFFd0Q7QUFDMUUsc0JBQW9CSixVQUFVLENBQUMsd0JBQUQsRUFBMkJiLGdCQUFNa0IsUUFBTixFQUEzQixDQUhaO0FBRzBEO0FBQzVFLG9CQUFrQkwsVUFBVSxDQUFDLGlCQUFELEVBQW9CYixnQkFBTW1CLFNBQU4sRUFBcEIsQ0FKVjtBQUtsQix1QkFBcUJOLFVBQVUsQ0FBQyxtQkFBRCxFQUFzQmIsZ0JBQU1tQixTQUFOLEVBQXRCLENBTGI7QUFLdUQ7QUFDekUsd0JBQXNCTixVQUFVLENBQUMsMEJBQUQsRUFBNkJiLGdCQUFNa0IsUUFBTixFQUE3QixDQU5kO0FBT2xCRSxFQUFBQSxJQUFJLGtDQUNDUCxVQUFVLENBQUMsT0FBRCxFQUFVYixnQkFBTUksSUFBTixFQUFWLENBRFg7QUFFRixlQUFXO0FBQUVKLE1BQUFBLEtBQUssWUFBS0EsZ0JBQU1xQixZQUFOLEVBQUw7QUFBUDtBQUZULElBUGM7QUFXbEJDLEVBQUFBLE9BQU8sRUFBRVQsVUFBVSxDQUFDLGdCQUFELEVBQW1CYixnQkFBTXVCLE9BQU4sRUFBbkIsQ0FYRDtBQVlsQkwsRUFBQUEsUUFBUSxrQ0FDSEwsVUFBVSxDQUFDLGdCQUFELEVBQW1CYixnQkFBTUksSUFBTixFQUFuQixDQURQO0FBRU5vQixJQUFBQSxPQUFPLEVBQUUsR0FGSDtBQUdOQyxJQUFBQSxNQUFNLEVBQUUsd0JBSEY7QUFJTkMsSUFBQUEsYUFBYSxFQUFFO0FBSlQ7QUFaVSxDQUFwQjtBQW9CTyxJQUFNQyxjQUFjLEdBQUcsd0JBQVdYLFdBQVgsRUFBd0IsVUFBQ0wsS0FBRCxFQUFXO0FBQy9ELE1BQVFpQixXQUFSLEdBQTZFakIsS0FBN0UsQ0FBUWlCLFdBQVI7QUFBQSxNQUFxQmhCLE9BQXJCLEdBQTZFRCxLQUE3RSxDQUFxQkMsT0FBckI7QUFBQSxNQUE4QlUsT0FBOUIsR0FBNkVYLEtBQTdFLENBQThCVyxPQUE5QjtBQUFBLE1BQXVDTyxRQUF2QyxHQUE2RWxCLEtBQTdFLENBQXVDa0IsUUFBdkM7QUFBQSxNQUFpRFgsUUFBakQsR0FBNkVQLEtBQTdFLENBQWlETyxRQUFqRDtBQUFBLE1BQTJEWSxhQUEzRCxHQUE2RW5CLEtBQTdFLENBQTJEbUIsYUFBM0Q7O0FBQ0EsTUFBTUMsR0FBRyxHQUFHLFNBQU5BLEdBQU0sQ0FBQ0MsQ0FBRDtBQUFBLFdBQVFKLFdBQVcsYUFBTUEsV0FBTixjQUFxQkksQ0FBckIsSUFBMkJBLENBQTlDO0FBQUEsR0FBWjs7QUFFQSxNQUFNQyxRQUFRLEdBQUc7QUFDZmIsSUFBQUEsSUFBSSxFQUFFUixPQUFPLENBQUNtQixHQUFHLENBQUMsTUFBRCxDQUFKLENBREU7QUFFZlQsSUFBQUEsT0FBTyxFQUFFVixPQUFPLENBQUNtQixHQUFHLENBQUMsU0FBRCxDQUFKLENBRkQ7QUFHZmIsSUFBQUEsUUFBUSxFQUFFTixPQUFPLENBQUNtQixHQUFHLENBQUMsVUFBRCxDQUFKO0FBSEYsR0FBakI7QUFNQSxNQUFNRyxTQUFTLEdBQUc7QUFBRVosSUFBQUEsT0FBTyxFQUFQQSxPQUFGO0FBQVdPLElBQUFBLFFBQVEsRUFBUkEsUUFBWDtBQUFxQlgsSUFBQUEsUUFBUSxFQUFSQTtBQUFyQixHQUFsQjtBQUNBLHNCQUNFLGdDQUFDLG9CQUFEO0FBQ0Usa0JBQVlZO0FBRGQsS0FFTUksU0FGTjtBQUdFLElBQUEsU0FBUyxFQUFFeEMsVUFIYjtBQUlFLElBQUEsT0FBTyxFQUFFO0FBQ1AwQixNQUFBQSxJQUFJLEVBQUVhLFFBQVEsQ0FBQ2IsSUFEUjtBQUVQRSxNQUFBQSxPQUFPLEVBQUVXLFFBQVEsQ0FBQ1gsT0FGWDtBQUdQSixNQUFBQSxRQUFRLFlBQUtVLFdBQVcsR0FBRyxFQUFILEdBQVFLLFFBQVEsQ0FBQ2YsUUFBakM7QUFIRDtBQUpYLEtBREY7QUFZRCxDQXZCNkIsQ0FBdkI7O0FBeUJBLElBQU1pQixXQUFXLEdBQUcsd0JBQVduQixXQUFYLEVBQXdCLFVBQUNMLEtBQUQsRUFBVztBQUM1RCxNQUFRaUIsV0FBUixHQUE2RWpCLEtBQTdFLENBQVFpQixXQUFSO0FBQUEsTUFBcUJoQixPQUFyQixHQUE2RUQsS0FBN0UsQ0FBcUJDLE9BQXJCO0FBQUEsTUFBOEJVLE9BQTlCLEdBQTZFWCxLQUE3RSxDQUE4QlcsT0FBOUI7QUFBQSxNQUF1Q08sUUFBdkMsR0FBNkVsQixLQUE3RSxDQUF1Q2tCLFFBQXZDO0FBQUEsTUFBaURYLFFBQWpELEdBQTZFUCxLQUE3RSxDQUFpRE8sUUFBakQ7QUFBQSxNQUEyRFksYUFBM0QsR0FBNkVuQixLQUE3RSxDQUEyRG1CLGFBQTNEOztBQUNBLE1BQU1DLEdBQUcsR0FBRyxTQUFOQSxHQUFNLENBQUNDLENBQUQ7QUFBQSxXQUFRSixXQUFXLGFBQU1BLFdBQU4sY0FBcUJJLENBQXJCLElBQTJCQSxDQUE5QztBQUFBLEdBQVo7O0FBRUEsTUFBTUMsUUFBUSxHQUFHO0FBQ2ZiLElBQUFBLElBQUksRUFBRVIsT0FBTyxDQUFDbUIsR0FBRyxDQUFDLE1BQUQsQ0FBSixDQURFO0FBRWZULElBQUFBLE9BQU8sRUFBRVYsT0FBTyxDQUFDbUIsR0FBRyxDQUFDLFNBQUQsQ0FBSixDQUZEO0FBR2ZiLElBQUFBLFFBQVEsRUFBRU4sT0FBTyxDQUFDbUIsR0FBRyxDQUFDLFVBQUQsQ0FBSjtBQUhGLEdBQWpCO0FBTUEsTUFBTUcsU0FBUyxHQUFHO0FBQUVaLElBQUFBLE9BQU8sRUFBUEEsT0FBRjtBQUFXTyxJQUFBQSxRQUFRLEVBQVJBLFFBQVg7QUFBcUJYLElBQUFBLFFBQVEsRUFBUkE7QUFBckIsR0FBbEI7QUFFQSxzQkFDRSxnQ0FBQyxpQkFBRDtBQUNFLGtCQUFZWTtBQURkLEtBRU1JLFNBRk47QUFHRSxJQUFBLFNBQVMsRUFBRXhDLFVBSGI7QUFJRSxJQUFBLE9BQU8sRUFBRTtBQUNQMEIsTUFBQUEsSUFBSSxFQUFFYSxRQUFRLENBQUNiLElBRFI7QUFFUEUsTUFBQUEsT0FBTyxFQUFFVyxRQUFRLENBQUNYLE9BRlg7QUFHUEosTUFBQUEsUUFBUSxZQUFLVSxXQUFXLEdBQUcsRUFBSCxHQUFRSyxRQUFRLENBQUNmLFFBQWpDO0FBSEQ7QUFKWCxLQURGO0FBWUQsQ0F4QjBCLENBQXBCOzs7SUEwQk1rQixXOzs7OztBQTJCWCx1QkFBWXpCLEtBQVosRUFBbUI7QUFBQTs7QUFBQTtBQUNqQiw4QkFBTUEsS0FBTjtBQUNBLFVBQUswQixjQUFMLEdBQXNCLE1BQUtBLGNBQUwsQ0FBb0JDLElBQXBCLGdEQUF0QjtBQUZpQjtBQUdsQjs7OztXQUVELDBCQUFpQjtBQUNmLFdBQUszQixLQUFMLENBQVdrQixRQUFYLENBQW9CO0FBQ2xCVSxRQUFBQSxLQUFLLEVBQUUsS0FBSzVCLEtBQUwsQ0FBVzRCLEtBREE7QUFFbEJDLFFBQUFBLFFBQVEsRUFBRSxDQUFDLEtBQUs3QixLQUFMLENBQVdXO0FBRkosT0FBcEI7QUFJRDs7O1dBRUQsa0JBQVM7QUFDUCx3QkFlSSxLQUFLWCxLQWZUO0FBQUEsVUFDRThCLFVBREYsZUFDRUEsVUFERjtBQUFBLFVBRUV2QixRQUZGLGVBRUVBLFFBRkY7QUFBQSxVQUdFd0IsVUFIRixlQUdFQSxVQUhGO0FBQUEsVUFJRUMsUUFKRixlQUlFQSxRQUpGO0FBQUEsVUFLRW5DLEtBTEYsZUFLRUEsS0FMRjtBQUFBLFVBTUVjLE9BTkYsZUFNRUEsT0FORjtBQUFBLFVBT0VNLFdBUEYsZUFPRUEsV0FQRjtBQUFBLFVBUUVoQixPQVJGLGVBUUVBLE9BUkY7QUFBQSxVQVNFZ0MsU0FURixlQVNFQSxTQVRGO0FBQUEsVUFVRUMsU0FWRixlQVVFQSxTQVZGO0FBQUEsVUFXRWYsYUFYRixlQVdFQSxhQVhGO0FBQUEsVUFZRWdCLFFBWkYsZUFZRUEsUUFaRjtBQUFBLFVBYUVDLGNBYkYsZUFhRUEsY0FiRjtBQUFBLFVBY0VDLGFBZEYsZUFjRUEsYUFkRjtBQWlCQSxVQUFNQyxHQUFHLEdBQUdSLFVBQVUsS0FBSyxVQUFmLEdBQTRCZCxjQUE1QixHQUE2Q1EsV0FBekQ7QUFDQSxVQUFNZSxXQUFXLEdBQUdULFVBQVUsS0FBSyxVQUFmLEdBQTRCLFVBQTVCLEdBQXlDLGNBQTdEO0FBRUEsVUFBTVUsZ0JBQWdCLEdBQUcsNEJBQVd2QyxPQUFPLENBQUNWLGNBQW5CLHVDQUN0QlUsT0FBTyxDQUFDUCxnQkFEYyxFQUNLMkMsYUFBYSxLQUFLLFlBRHZCLEVBQXpCO0FBSUEsMEJBQ0U7QUFBSyxRQUFBLFNBQVMsRUFBRSw0QkFBV0osU0FBWCxFQUFzQixnQkFBZ0JNLFdBQXRDLEVBQW1ELGNBQW5EO0FBQWhCLHNCQUNFO0FBQUssUUFBQSxTQUFTLEVBQUV0QyxPQUFPLENBQUNoQjtBQUF4QixTQUNHLENBQUNrRCxRQUFELElBQWFDLGNBQWIsaUJBQStCLGdDQUFDLHdCQUFEO0FBQWMsUUFBQSxXQUFXLEVBQUVuQjtBQUEzQixRQURsQyxlQUVFO0FBQUssUUFBQSxTQUFTLEVBQUUsNEJBQVd1QixnQkFBWCxFQUE2QixpQkFBN0I7QUFBaEIsc0JBQ0UsZ0NBQUMsc0JBQUQ7QUFDRSxRQUFBLFFBQVEsRUFBRWpDLFFBRFo7QUFFRSxRQUFBLEtBQUssRUFBRXdCLFVBQVUsR0FBR0EsVUFBVSxHQUFHLElBQWhCLEdBQXVCLEVBRjFDO0FBR0UsUUFBQSxPQUFPLGVBQ0wsZ0NBQUMsR0FBRDtBQUNFLFVBQUEsYUFBYSxFQUFFWixhQURqQjtBQUVFLFVBQUEsT0FBTyxFQUFFUixPQUZYO0FBR0UsVUFBQSxXQUFXLEVBQUVNLFdBSGY7QUFJRSxVQUFBLFFBQVEsRUFBRSxLQUFLUztBQUpqQjtBQUpKLFFBREYsZUFhRSxnQ0FBQyx1QkFBRDtBQUFlLFFBQUEsU0FBUyxFQUFDLE9BQXpCO0FBQWlDLFFBQUEsT0FBTyxFQUFFLEtBQUtBLGNBQS9DO0FBQStELFFBQUEsTUFBTSxFQUFFN0IsS0FBdkU7QUFBOEUsUUFBQSxPQUFPLEVBQUM7QUFBdEYsUUFiRixDQUZGLENBREYsRUFtQkdxQyxTQUFTLGlCQUFJLGdDQUFDLHVCQUFEO0FBQWUsUUFBQSxTQUFTLEVBQUMsV0FBekI7QUFBcUMsUUFBQSxnQkFBZ0IsRUFBQyxXQUF0RDtBQUFrRSxRQUFBLE1BQU0sRUFBRUE7QUFBMUUsUUFuQmhCLGVBb0JFLGdDQUFDLGtCQUFEO0FBQVUsUUFBQSxRQUFRLEVBQUVGLFFBQXBCO0FBQThCLFFBQUEsV0FBVyxFQUFFZjtBQUEzQyxRQXBCRixDQURGO0FBd0JEOzs7RUF4RjhCd0Isa0JBQU1DLFM7OztpQ0FBMUJqQixXLGVBQ1E7QUFDakJLLEVBQUFBLFVBQVUsRUFBRWEsc0JBQVVDLEtBQVYsQ0FBZ0IsQ0FBQyxPQUFELEVBQVUsVUFBVixDQUFoQixDQURLO0FBRWpCYixFQUFBQSxVQUFVLEVBQUVZLHNCQUFVRSxNQUFWLENBQWlCQyxVQUZaO0FBR2pCbkMsRUFBQUEsT0FBTyxFQUFFZ0Msc0JBQVVJLElBQVYsQ0FBZUQsVUFIUDtBQUlqQjdCLEVBQUFBLFdBQVcsRUFBRTBCLHNCQUFVRSxNQUpOO0FBS2pCdEMsRUFBQUEsUUFBUSxFQUFFb0Msc0JBQVVJLElBQVYsQ0FBZUQsVUFMUjtBQU1qQmQsRUFBQUEsUUFBUSxFQUFFVyxzQkFBVUUsTUFOSDtBQU9qQmhELEVBQUFBLEtBQUssRUFBRThDLHNCQUFVRSxNQUFWLENBQWlCQyxVQVBQO0FBUWpCWixFQUFBQSxTQUFTLEVBQUVTLHNCQUFVRSxNQVJKO0FBU2pCMUIsRUFBQUEsYUFBYSxFQUFFd0Isc0JBQVVFLE1BVFI7QUFVakIzQixFQUFBQSxRQUFRLEVBQUV5QixzQkFBVUssSUFBVixDQUFlRixVQVZSO0FBV2pCbEIsRUFBQUEsS0FBSyxFQUFFZSxzQkFBVUUsTUFBVixDQUFpQkMsVUFYUDtBQVlqQjdDLEVBQUFBLE9BQU8sRUFBRTBDLHNCQUFVTSxNQVpGO0FBYWpCaEIsRUFBQUEsU0FBUyxFQUFFVSxzQkFBVUUsTUFiSjtBQWNqQlYsRUFBQUEsUUFBUSxFQUFFUSxzQkFBVUksSUFkSDtBQWVqQlgsRUFBQUEsY0FBYyxFQUFFTyxzQkFBVUksSUFmVDtBQWdCakJWLEVBQUFBLGFBQWEsRUFBRU0sc0JBQVVDLEtBQVYsQ0FBZ0IsQ0FBQyxVQUFELEVBQWEsTUFBYixFQUFxQixZQUFyQixDQUFoQjtBQWhCRSxDO2lDQURSbkIsVyxrQkFvQlc7QUFDcEJTLEVBQUFBLFNBQVMsRUFBRSxJQURTO0FBRXBCZixFQUFBQSxhQUFhLEVBQUUsSUFGSztBQUdwQlIsRUFBQUEsT0FBTyxFQUFFLEtBSFc7QUFJcEJ5QixFQUFBQSxjQUFjLEVBQUU7QUFKSSxDOztlQXVFVCx3QkFBV3BELFVBQVgsRUFBdUJ5QyxXQUF2QixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZvcm1Db250cm9sTGFiZWwgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRm9ybUNvbnRyb2xMYWJlbCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvQ2hlY2tib3gnO1xuaW1wb3J0IHsgRmVlZGJhY2ssIGNvbG9yLCBQcmV2aWV3UHJvbXB0IH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBGZWVkYmFja1RpY2sgZnJvbSAnLi9mZWVkYmFjay10aWNrJztcbmltcG9ydCBSYWRpbyBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9SYWRpbyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuY29uc3QgQ0xBU1NfTkFNRSA9ICdtdWx0aXBsZS1jaG9pY2UtY29tcG9uZW50JztcblxuY29uc3Qgc3R5bGVTaGVldCA9ICgpID0+ICh7XG4gIHJvdzoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgfSxcbiAgY2hlY2tib3hIb2xkZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgZmxleDogMSxcbiAgICAnJiBsYWJlbCc6IHtcbiAgICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgfSxcbiAgfSxcbiAgaG9yaXpvbnRhbExheW91dDoge1xuICAgIFtgJiAuJHtDTEFTU19OQU1FfWBdOiB7XG4gICAgICBwYWRkaW5nUmlnaHQ6ICc4cHgnLFxuICAgIH0sXG4gIH0sXG59KTtcblxuY29uc3QgZm9ybVN0eWxlU2hlZXQgPSB7XG4gIGxhYmVsOiB7XG4gICAgY29sb3I6IGAke2NvbG9yLnRleHQoKX0gIWltcG9ydGFudGAsIC8vJ3ZhcigtLWNob2ljZS1pbnB1dC1jb2xvciwgYmxhY2spJ1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZvcm1Db250cm9sTGFiZWwgPSB3aXRoU3R5bGVzKGZvcm1TdHlsZVNoZWV0LCB7XG4gIG5hbWU6ICdGb3JtQ29udHJvbExhYmVsJyxcbn0pKChwcm9wcykgPT4gPEZvcm1Db250cm9sTGFiZWwgey4uLnByb3BzfSBjbGFzc2VzPXt7IGxhYmVsOiBwcm9wcy5jbGFzc2VzLmxhYmVsIH19IC8+KTtcblxuY29uc3QgY29sb3JTdHlsZSA9ICh2YXJOYW1lLCBmYWxsYmFjaykgPT4gKHtcbiAgW2AmLiR7Q0xBU1NfTkFNRX1gXToge1xuICAgIGNvbG9yOiBgdmFyKC0tY2hvaWNlLWlucHV0LSR7dmFyTmFtZX0sICR7ZmFsbGJhY2t9KSAhaW1wb3J0YW50YCxcbiAgfSxcbn0pO1xuXG5jb25zdCBpbnB1dFN0eWxlcyA9IHtcbiAgJ2NvcnJlY3Qtcm9vdCc6IGNvbG9yU3R5bGUoJ2NvcnJlY3QtY29sb3InLCBjb2xvci50ZXh0KCkpLFxuICAnY29ycmVjdC1jaGVja2VkJzogY29sb3JTdHlsZSgnY29ycmVjdC1zZWxlY3RlZC1jb2xvcicsIGNvbG9yLmNvcnJlY3QoKSksIC8vZ3JlZW5bNTAwXSksXG4gICdjb3JyZWN0LWRpc2FibGVkJzogY29sb3JTdHlsZSgnY29ycmVjdC1kaXNhYmxlZC1jb2xvcicsIGNvbG9yLmRpc2FibGVkKCkpLCAvLydncmV5JyksXG4gICdpbmNvcnJlY3Qtcm9vdCc6IGNvbG9yU3R5bGUoJ2luY29ycmVjdC1jb2xvcicsIGNvbG9yLmluY29ycmVjdCgpKSxcbiAgJ2luY29ycmVjdC1jaGVja2VkJzogY29sb3JTdHlsZSgnaW5jb3JyZWN0LWNoZWNrZWQnLCBjb2xvci5pbmNvcnJlY3QoKSksIC8vb3JhbmdlWzUwMF0pLFxuICAnaW5jb3JyZWN0LWRpc2FibGVkJzogY29sb3JTdHlsZSgnaW5jb3JyZWN0LWRpc2FibGVkLWNvbG9yJywgY29sb3IuZGlzYWJsZWQoKSksXG4gIHJvb3Q6IHtcbiAgICAuLi5jb2xvclN0eWxlKCdjb2xvcicsIGNvbG9yLnRleHQoKSksXG4gICAgJyY6aG92ZXInOiB7IGNvbG9yOiBgJHtjb2xvci5wcmltYXJ5TGlnaHQoKX0gIWltcG9ydGFudGAgfSxcbiAgfSxcbiAgY2hlY2tlZDogY29sb3JTdHlsZSgnc2VsZWN0ZWQtY29sb3InLCBjb2xvci5wcmltYXJ5KCkpLFxuICBkaXNhYmxlZDoge1xuICAgIC4uLmNvbG9yU3R5bGUoJ2Rpc2FibGVkLWNvbG9yJywgY29sb3IudGV4dCgpKSxcbiAgICBvcGFjaXR5OiAwLjYsXG4gICAgY3Vyc29yOiAnbm90LWFsbG93ZWQgIWltcG9ydGFudCcsXG4gICAgcG9pbnRlckV2ZW50czogJ2luaXRpYWwgIWltcG9ydGFudCcsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3ggPSB3aXRoU3R5bGVzKGlucHV0U3R5bGVzKSgocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb3JyZWN0bmVzcywgY2xhc3NlcywgY2hlY2tlZCwgb25DaGFuZ2UsIGRpc2FibGVkLCBhY2Nlc3NpYmlsaXR5IH0gPSBwcm9wcztcbiAgY29uc3Qga2V5ID0gKGspID0+IChjb3JyZWN0bmVzcyA/IGAke2NvcnJlY3RuZXNzfS0ke2t9YCA6IGspO1xuXG4gIGNvbnN0IHJlc29sdmVkID0ge1xuICAgIHJvb3Q6IGNsYXNzZXNba2V5KCdyb290JyldLFxuICAgIGNoZWNrZWQ6IGNsYXNzZXNba2V5KCdjaGVja2VkJyldLFxuICAgIGRpc2FibGVkOiBjbGFzc2VzW2tleSgnZGlzYWJsZWQnKV0sXG4gIH07XG5cbiAgY29uc3QgbWluaVByb3BzID0geyBjaGVja2VkLCBvbkNoYW5nZSwgZGlzYWJsZWQgfTtcbiAgcmV0dXJuIChcbiAgICA8Q2hlY2tib3hcbiAgICAgIGFyaWEtbGFiZWw9e2FjY2Vzc2liaWxpdHl9XG4gICAgICB7Li4ubWluaVByb3BzfVxuICAgICAgY2xhc3NOYW1lPXtDTEFTU19OQU1FfVxuICAgICAgY2xhc3Nlcz17e1xuICAgICAgICByb290OiByZXNvbHZlZC5yb290LFxuICAgICAgICBjaGVja2VkOiByZXNvbHZlZC5jaGVja2VkLFxuICAgICAgICBkaXNhYmxlZDogYCR7Y29ycmVjdG5lc3MgPyAnJyA6IHJlc29sdmVkLmRpc2FibGVkfWAsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59KTtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvID0gd2l0aFN0eWxlcyhpbnB1dFN0eWxlcykoKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29ycmVjdG5lc3MsIGNsYXNzZXMsIGNoZWNrZWQsIG9uQ2hhbmdlLCBkaXNhYmxlZCwgYWNjZXNzaWJpbGl0eSB9ID0gcHJvcHM7XG4gIGNvbnN0IGtleSA9IChrKSA9PiAoY29ycmVjdG5lc3MgPyBgJHtjb3JyZWN0bmVzc30tJHtrfWAgOiBrKTtcblxuICBjb25zdCByZXNvbHZlZCA9IHtcbiAgICByb290OiBjbGFzc2VzW2tleSgncm9vdCcpXSxcbiAgICBjaGVja2VkOiBjbGFzc2VzW2tleSgnY2hlY2tlZCcpXSxcbiAgICBkaXNhYmxlZDogY2xhc3Nlc1trZXkoJ2Rpc2FibGVkJyldLFxuICB9O1xuXG4gIGNvbnN0IG1pbmlQcm9wcyA9IHsgY2hlY2tlZCwgb25DaGFuZ2UsIGRpc2FibGVkIH07XG5cbiAgcmV0dXJuIChcbiAgICA8UmFkaW9cbiAgICAgIGFyaWEtbGFiZWw9e2FjY2Vzc2liaWxpdHl9XG4gICAgICB7Li4ubWluaVByb3BzfVxuICAgICAgY2xhc3NOYW1lPXtDTEFTU19OQU1FfVxuICAgICAgY2xhc3Nlcz17e1xuICAgICAgICByb290OiByZXNvbHZlZC5yb290LFxuICAgICAgICBjaGVja2VkOiByZXNvbHZlZC5jaGVja2VkLFxuICAgICAgICBkaXNhYmxlZDogYCR7Y29ycmVjdG5lc3MgPyAnJyA6IHJlc29sdmVkLmRpc2FibGVkfWAsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59KTtcblxuZXhwb3J0IGNsYXNzIENob2ljZUlucHV0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaG9pY2VNb2RlOiBQcm9wVHlwZXMub25lT2YoWydyYWRpbycsICdjaGVja2JveCddKSxcbiAgICBkaXNwbGF5S2V5OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgY2hlY2tlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBjb3JyZWN0bmVzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBmZWVkYmFjazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHJhdGlvbmFsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhY2Nlc3NpYmlsaXR5OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGlkZVRpY2s6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRXZhbHVhdGVNb2RlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjaG9pY2VzTGF5b3V0OiBQcm9wVHlwZXMub25lT2YoWyd2ZXJ0aWNhbCcsICdncmlkJywgJ2hvcml6b250YWwnXSksXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICByYXRpb25hbGU6IG51bGwsXG4gICAgYWNjZXNzaWJpbGl0eTogbnVsbCxcbiAgICBjaGVja2VkOiBmYWxzZSxcbiAgICBpc0V2YWx1YXRlTW9kZTogZmFsc2UsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5vblRvZ2dsZUNob2ljZSA9IHRoaXMub25Ub2dnbGVDaG9pY2UuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG9uVG9nZ2xlQ2hvaWNlKCkge1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2Uoe1xuICAgICAgdmFsdWU6IHRoaXMucHJvcHMudmFsdWUsXG4gICAgICBzZWxlY3RlZDogIXRoaXMucHJvcHMuY2hlY2tlZCxcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjaG9pY2VNb2RlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBkaXNwbGF5S2V5LFxuICAgICAgZmVlZGJhY2ssXG4gICAgICBsYWJlbCxcbiAgICAgIGNoZWNrZWQsXG4gICAgICBjb3JyZWN0bmVzcyxcbiAgICAgIGNsYXNzZXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICByYXRpb25hbGUsXG4gICAgICBhY2Nlc3NpYmlsaXR5LFxuICAgICAgaGlkZVRpY2ssXG4gICAgICBpc0V2YWx1YXRlTW9kZSxcbiAgICAgIGNob2ljZXNMYXlvdXQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBUYWcgPSBjaG9pY2VNb2RlID09PSAnY2hlY2tib3gnID8gU3R5bGVkQ2hlY2tib3ggOiBTdHlsZWRSYWRpbztcbiAgICBjb25zdCBjbGFzc1N1ZmZpeCA9IGNob2ljZU1vZGUgPT09ICdjaGVja2JveCcgPyAnY2hlY2tib3gnIDogJ3JhZGlvLWJ1dHRvbic7XG5cbiAgICBjb25zdCBob2xkZXJDbGFzc05hbWVzID0gY2xhc3NOYW1lcyhjbGFzc2VzLmNoZWNrYm94SG9sZGVyLCB7XG4gICAgICBbY2xhc3Nlcy5ob3Jpem9udGFsTGF5b3V0XTogY2hvaWNlc0xheW91dCA9PT0gJ2hvcml6b250YWwnLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgJ2NvcmVzcHJpbmctJyArIGNsYXNzU3VmZml4LCAnY2hvaWNlLWlucHV0Jyl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yb3d9PlxuICAgICAgICAgIHshaGlkZVRpY2sgJiYgaXNFdmFsdWF0ZU1vZGUgJiYgPEZlZWRiYWNrVGljayBjb3JyZWN0bmVzcz17Y29ycmVjdG5lc3N9IC8+fVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGhvbGRlckNsYXNzTmFtZXMsICdjaGVja2JveC1ob2xkZXInKX0+XG4gICAgICAgICAgICA8U3R5bGVkRm9ybUNvbnRyb2xMYWJlbFxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIGxhYmVsPXtkaXNwbGF5S2V5ID8gZGlzcGxheUtleSArICcuICcgOiAnJ31cbiAgICAgICAgICAgICAgY29udHJvbD17XG4gICAgICAgICAgICAgICAgPFRhZ1xuICAgICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eT17YWNjZXNzaWJpbGl0eX1cbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgICAgICAgICAgICBjb3JyZWN0bmVzcz17Y29ycmVjdG5lc3N9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblRvZ2dsZUNob2ljZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFByZXZpZXdQcm9tcHQgY2xhc3NOYW1lPVwibGFiZWxcIiBvbkNsaWNrPXt0aGlzLm9uVG9nZ2xlQ2hvaWNlfSBwcm9tcHQ9e2xhYmVsfSB0YWdOYW1lPVwic3BhblwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7cmF0aW9uYWxlICYmIDxQcmV2aWV3UHJvbXB0IGNsYXNzTmFtZT1cInJhdGlvbmFsZVwiIGRlZmF1bHRDbGFzc05hbWU9XCJyYXRpb25hbGVcIiBwcm9tcHQ9e3JhdGlvbmFsZX0gLz59XG4gICAgICAgIDxGZWVkYmFjayBmZWVkYmFjaz17ZmVlZGJhY2t9IGNvcnJlY3RuZXNzPXtjb3JyZWN0bmVzc30gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZVNoZWV0KShDaG9pY2VJbnB1dCk7XG4iXX0=
|
|
298
|
+
//# sourceMappingURL=choice-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/choice-input.jsx"],"names":["CLASS_NAME","styleSheet","row","display","alignItems","backgroundColor","color","background","checkboxHolder","flex","text","horizontalLayout","paddingRight","formStyleSheet","label","StyledFormControlLabel","name","props","classes","colorStyle","varName","fallback","inputStyles","correct","disabled","incorrect","root","primaryLight","checked","primary","opacity","cursor","pointerEvents","StyledCheckbox","correctness","onChange","accessibility","key","k","resolved","miniProps","StyledRadio","ChoiceInput","onToggleChoice","bind","value","selected","choiceMode","displayKey","feedback","className","rationale","hideTick","isEvaluateMode","choicesLayout","Tag","classSuffix","holderClassNames","React","Component","PropTypes","oneOf","string","isRequired","bool","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';\n\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { Feedback, color, PreviewPrompt } from '@pie-lib/render-ui';\nimport FeedbackTick from './feedback-tick';\nimport Radio from '@material-ui/core/Radio';\nimport classNames from 'classnames';\n\nconst CLASS_NAME = 'multiple-choice-component';\n\nconst styleSheet = () => ({\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 },\n },\n horizontalLayout: {\n [`& .${CLASS_NAME}`]: {\n paddingRight: '8px',\n },\n },\n});\n\nconst formStyleSheet = {\n label: {\n color: `${color.text()} !important`, //'var(--choice-input-color, black)'\n backgroundColor: color.background(),\n },\n};\n\nexport const StyledFormControlLabel = withStyles(formStyleSheet, {\n name: 'FormControlLabel',\n})((props) => <FormControlLabel {...props} classes={{ label: props.classes.label }} />);\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};\n\nexport const StyledCheckbox = withStyles(inputStyles)((props) => {\n const { correctness, classes, checked, onChange, disabled, accessibility } = 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 };\n return (\n <Checkbox\n aria-label={accessibility}\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, accessibility } = 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 };\n\n return (\n <Radio\n aria-label={accessibility}\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 class ChoiceInput extends React.Component {\n static propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n displayKey: PropTypes.string.isRequired,\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 accessibility: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object,\n className: PropTypes.string,\n hideTick: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n };\n\n static defaultProps = {\n rationale: null,\n accessibility: null,\n checked: false,\n isEvaluateMode: false,\n };\n\n constructor(props) {\n super(props);\n this.onToggleChoice = this.onToggleChoice.bind(this);\n }\n\n onToggleChoice() {\n this.props.onChange({\n value: this.props.value,\n selected: !this.props.checked,\n });\n }\n\n render() {\n const {\n choiceMode,\n disabled,\n displayKey,\n feedback,\n label,\n checked,\n correctness,\n classes,\n className,\n rationale,\n accessibility,\n hideTick,\n isEvaluateMode,\n choicesLayout,\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 });\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 disabled={disabled}\n label={displayKey ? displayKey + '. ' : ''}\n control={\n <Tag\n accessibility={accessibility}\n checked={checked}\n correctness={correctness}\n onChange={this.onToggleChoice}\n />\n }\n />\n <PreviewPrompt className=\"label\" onClick={this.onToggleChoice} prompt={label} tagName=\"span\" />\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
|
@@ -154,4 +154,4 @@ var _default = (0, _styles.withStyles)({
|
|
|
154
154
|
})(Choice);
|
|
155
155
|
|
|
156
156
|
exports["default"] = _default;
|
|
157
|
-
//# sourceMappingURL=
|
|
157
|
+
//# 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","choiceClass","feedback","choiceProps","onChange","names","noBorder","horizontalLayout","React","Component","propTypes","PropTypes","oneOf","object","bool","isRequired","func","number","string","paddingTop","paddingBottom","borderBottom","paddingRight","marginRight"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport ChoiceInput from './choice-input';\n\nexport class Choice extends React.Component {\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 } = 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 choicesLayout,\n gridColumns,\n onChange: this.onChange,\n isEvaluateMode,\n };\n\n const names = classNames(classes.choice, {\n [classes.noBorder]: index === choicesLength - 1 || choicesLayout !== 'vertical',\n [classes.horizontalLayout]: choicesLayout === 'horizontal',\n });\n\n return (\n <div className={choiceClass} key={index}>\n <ChoiceInput {...choiceProps} className={names} />\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};\n\nexport default withStyles({\n choice: {\n paddingTop: '20px',\n paddingBottom: '10px',\n borderBottom: '1px solid #E0DEE0',\n },\n noBorder: {\n borderBottom: 'none',\n },\n horizontalLayout: {\n paddingRight: '20px',\n '& label': {\n marginRight: '8px',\n // '& span:first-child': {\n // paddingRight: 0\n // }\n },\n },\n})(Choice);\n"],"file":"choice.js"}
|
package/lib/feedback-tick.js
CHANGED
|
@@ -171,4 +171,4 @@ var _default = (0, _styles.withStyles)(stylesheet, {
|
|
|
171
171
|
})(FeedbackTick);
|
|
172
172
|
|
|
173
173
|
exports["default"] = _default;
|
|
174
|
-
//# sourceMappingURL=
|
|
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":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,UAAU,GAAG;AACjBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,+CAAwCC,gBAAMF,SAAN,EAAxC;AADK,GADM;AAIjBG,EAAAA,OAAO,EAAE;AACPF,IAAAA,IAAI,6CAAsCC,gBAAMC,OAAN,EAAtC;AADG,GAJQ;AAOjBC,EAAAA,YAAY,EAAE;AACZC,IAAAA,KAAK,EAAE,MADK;AAEZC,IAAAA,MAAM,EAAE,MAFI;AAGZ,aAAS;AACPC,MAAAA,QAAQ,EAAE,UADH;AAEPC,MAAAA,OAAO,EAAE,cAFF;AAGPH,MAAAA,KAAK,EAAE,MAHA;AAIPC,MAAAA,MAAM,EAAE,MAJD;AAKPG,MAAAA,aAAa,EAAE,QALR;AAMP,gBAAU;AACRD,QAAAA,OAAO,EAAE;AADD;AANH;AAHG,GAPG;AAqBjBE,EAAAA,iBAAiB,EAAE;AACjBC,IAAAA,OAAO,EAAE,GADQ;AAEjBC,IAAAA,IAAI,EAAE;AAFW,GArBF;AAyBjBC,EAAAA,uBAAuB,EAAE;AACvBF,IAAAA,OAAO,EAAE,GADc;AAEvBC,IAAAA,IAAI,EAAE,KAFiB;AAGvBE,IAAAA,UAAU,EAAE;AAHW,GAzBR;AA8BjBC,EAAAA,iBAAiB,EAAE;AACjBJ,IAAAA,OAAO,EAAE,GADQ;AAEjBC,IAAAA,IAAI,EAAE;AAFW,GA9BF;AAkCjBI,EAAAA,uBAAuB,EAAE;AACvBL,IAAAA,OAAO,EAAE,GADc;AAEvBC,IAAAA,IAAI,EAAE,OAFiB;AAGvBE,IAAAA,UAAU,EAAE;AAHW;AAlCR,CAAnB;;IAyCMG,Y;;;;;AAKJ,wBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AACA,UAAKC,aAAL,gBACE;AACE,MAAA,GAAG,EAAC,GADN;AAEE,MAAA,mBAAmB,EAAC,eAFtB;AAGE,MAAA,CAAC,EAAC,KAHJ;AAIE,MAAA,CAAC,EAAC,KAJJ;AAKE,MAAA,OAAO,EAAC,WALV;AAME,MAAA,KAAK,EAAE;AAAEC,QAAAA,gBAAgB,EAAE;AAApB;AANT,oBAQE,wDACE;AACE,MAAA,CAAC,EAAC,IADJ;AAEE,MAAA,CAAC,EAAC,MAFJ;AAGE,MAAA,SAAS,EAAC,qDAHZ;AAIE,MAAA,SAAS,EAAE,MAAKF,KAAL,CAAWG,OAAX,CAAmBrB,SAJhC;AAKE,MAAA,KAAK,EAAC,MALR;AAME,MAAA,MAAM,EAAC;AANT,MADF,eASE;AACE,MAAA,CAAC,EAAC,MADJ;AAEE,MAAA,CAAC,EAAC,MAFJ;AAGE,MAAA,SAAS,EAAC,qDAHZ;AAIE,MAAA,SAAS,EAAE,MAAKkB,KAAL,CAAWG,OAAX,CAAmBrB,SAJhC;AAKE,MAAA,KAAK,EAAC,KALR;AAME,MAAA,MAAM,EAAC;AANT,MATF,CARF,CADF;AA8BA,UAAKsB,WAAL,gBACE;AACE,MAAA,GAAG,EAAC,GADN;AAEE,MAAA,mBAAmB,EAAC,eAFtB;AAGE,MAAA,OAAO,EAAC,KAHV;AAIE,MAAA,CAAC,EAAC,KAJJ;AAKE,MAAA,CAAC,EAAC,KALJ;AAME,MAAA,OAAO,EAAC,WANV;AAOE,MAAA,KAAK,EAAE;AAAEF,QAAAA,gBAAgB,EAAE;AAApB;AAPT,oBASE;AACE,MAAA,SAAS,EAAE,MAAKF,KAAL,CAAWG,OAAX,CAAmBlB,OADhC;AAEE,MAAA,MAAM,EAAC;AAFT,MATF,CADF;AAhCiB;AAgDlB;;;;WAED,kBAAS;AAAA;;AACP,wBAAiC,KAAKe,KAAtC;AAAA,UAAQK,WAAR,eAAQA,WAAR;AAAA,UAAqBF,OAArB,eAAqBA,OAArB;;AAEA,UAAMG,IAAI,GAAI,YAAM;AAClB,YAAID,WAAW,KAAK,WAApB,EAAiC;AAC/B,iBAAO,MAAI,CAACJ,aAAZ;AACD,SAFD,MAEO,IAAII,WAAW,KAAK,SAApB,EAA+B;AACpC,iBAAO,MAAI,CAACD,WAAZ;AACD;AACF,OANY,EAAb;;AAQA,0BACE;AAAK,QAAA,SAAS,EAAED,OAAO,CAACjB;AAAxB,sBACE,gCAAC,qCAAD,QACGmB,WAAW,iBACV,gCAAC,mCAAD;AACE,QAAA,UAAU,EAAE;AACVE,UAAAA,KAAK,EAAEJ,OAAO,CAACX,iBADL;AAEVgB,UAAAA,WAAW,EAAEL,OAAO,CAACR,uBAFX;AAGVc,UAAAA,IAAI,EAAEN,OAAO,CAACN,iBAHJ;AAIVa,UAAAA,UAAU,EAAEP,OAAO,CAACL;AAJV,SADd;AAOE,QAAA,OAAO,EAAE;AAAES,UAAAA,KAAK,EAAE,GAAT;AAAcE,UAAAA,IAAI,EAAE;AAApB;AAPX,SASGH,IATH,CAFJ,CADF,CADF;AAmBD;;;EArFwBK,kBAAMC,S;;iCAA3Bb,Y,eACe;AACjBI,EAAAA,OAAO,EAAEU,sBAAUC,MAAV,CAAiBC,UADT;AAEjBV,EAAAA,WAAW,EAAEQ,sBAAUG;AAFN,C;;eAuFN,wBAAWnC,UAAX,EAAuB;AAAEoC,EAAAA,IAAI,EAAE;AAAR,CAAvB,EAAiDlB,YAAjD,C","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/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"}
|
package/lib/index.js
CHANGED
|
@@ -148,4 +148,4 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
148
148
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
149
149
|
|
|
150
150
|
exports["default"] = MultipleChoice;
|
|
151
|
-
//# sourceMappingURL=
|
|
151
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","isComplete","session","value","length","MultipleChoice","_model","_session","_rerender","element","React","createElement","Main","model","onChoiceChanged","_onChange","bind","ReactDOM","render","leading","trailing","_dispatchResponseChanged","event","CustomEvent","bubbles","composed","detail","complete","component","tagName","toLowerCase","dispatchEvent","_dispatchModelSet","hasModel","undefined","s","data","choiceMode","HTMLElement"],"mappings":"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","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { updateSessionValue } from './session-updater';\n\nconst log = debug('pie-ui:multiple-choice');\n\nexport const isComplete = (session) => !!(session && session.value && session.value.length);\n\nexport default class MultipleChoice extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n var element = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChoiceChanged: this._onChange.bind(this),\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n\n this._dispatchResponseChanged = debounce(() => {\n var event = new CustomEvent('session-changed', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session),\n component: this.tagName.toLowerCase(),\n },\n });\n\n this.dispatchEvent(event);\n });\n\n this._dispatchModelSet = debounce(\n () => {\n this.dispatchEvent(\n new CustomEvent('model-set', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session),\n component: this.tagName.toLowerCase(),\n hasModel: this._model !== undefined,\n },\n }),\n );\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n this._dispatchModelSet();\n }\n\n get session() {\n return this._session;\n }\n\n set session(s) {\n this._session = s;\n this._rerender();\n //TODO: remove this session-changed should only be emit on user change\n this._dispatchResponseChanged();\n }\n\n _onChange(data) {\n updateSessionValue(this._session, this._model.choiceMode, data);\n this._dispatchResponseChanged();\n this._rerender();\n }\n\n connectedCallback() {\n this._rerender();\n }\n}\n"],"file":"index.js"}
|
package/lib/main.js
CHANGED
|
@@ -97,4 +97,4 @@ var Root = function Root(props) {
|
|
|
97
97
|
|
|
98
98
|
var _default = Root;
|
|
99
99
|
exports["default"] = _default;
|
|
100
|
-
//# sourceMappingURL=
|
|
100
|
+
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","model","onChoiceChanged","session","classes","choiceMode","partLabel","root","className","React","Component","PropTypes","object","func","isRequired","Styled","name","theme","typography","useNextVariants","Root"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;IAEMA,I;;;;;AAYJ,gBAAYC,KAAZ,EAAmB;AAAA;AAAA,6BACXA,KADW;AAElB;;;;WAED,kBAAS;AACP,wBAAqD,KAAKA,KAA1D;AAAA,UAAQC,KAAR,eAAQA,KAAR;AAAA,UAAeC,eAAf,eAAeA,eAAf;AAAA,UAAgCC,OAAhC,eAAgCA,OAAhC;AAAA,UAAyCC,OAAzC,eAAyCA,OAAzC,CADO,CAGP;;AACA,0BACE,gCAAC,uBAAD;AACE,QAAA,SAAS,EAAGH,KAAK,CAACI,UAAN,IAAoB,OAApB,GAA8B,0BAA9B,GAA2D,kCADzE;AAEE,QAAA,IAAI,EAAC;AAFP,SAIGJ,KAAK,CAACK,SAAN,iBAAmB,2CAAIL,KAAK,CAACK,SAAV,CAJtB,eAKE;AAAK,QAAA,SAAS,EAAE,4BAAWF,OAAO,CAACG,IAAnB,EAAyBH,OAAO,CAACH,KAAK,CAACO,SAAP,CAAhC;AAAhB,sBACE,gCAAC,0BAAD,gCAAoBP,KAApB;AAA2B,QAAA,OAAO,EAAEE,OAApC;AAA6C,QAAA,eAAe,EAAED;AAA9D,SADF,CALF,CADF;AAWD;;;EA/BgBO,kBAAMC,S;;iCAAnBX,I,eACe;AACjBE,EAAAA,KAAK,EAAEU,sBAAUC,MADA;AAEjBT,EAAAA,OAAO,EAAEQ,sBAAUC,MAFF;AAGjBV,EAAAA,eAAe,EAAES,sBAAUE,IAHV;AAIjBT,EAAAA,OAAO,EAAEO,sBAAUC,MAAV,CAAiBE;AAJT,C;iCADff,I,kBAQkB;AACpBE,EAAAA,KAAK,EAAE,EADa;AAEpBE,EAAAA,OAAO,EAAE;AAFW,C;AA0BxB,IAAMY,MAAM,GAAG,wBAAW,EAAX,EAAe;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAf,EAAiCjB,IAAjC,CAAf;AAEA,IAAMkB,KAAK,GAAG,4BAAe;AAC3BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,eAAe,EAAE;AADP;AADe,CAAf,CAAd;;AAMA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAACpB,KAAD;AAAA,sBACX,gCAAC,wBAAD;AAAkB,IAAA,KAAK,EAAEiB;AAAzB,kBACE,gCAAC,MAAD,EAAYjB,KAAZ,CADF,CADW;AAAA,CAAb;;eAMeoB,I","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport MultipleChoice from './multiple-choice';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onChoiceChanged: PropTypes.func,\n classes: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n constructor(props) {\n super(props);\n }\n\n render() {\n const { model, onChoiceChanged, session, classes } = this.props;\n\n // model.partLabel is a property used for ebsr\n return (\n <PreviewLayout\n ariaLabel={(model.choiceMode == 'radio' ? 'Multiple Choice Question' : 'Multiple Correct Answer Question')}\n role=\"region\"\n > \n {model.partLabel && <p>{model.partLabel}</p>}\n <div className={classNames(classes.root, classes[model.className])}>\n <MultipleChoice {...model} session={session} onChoiceChanged={onChoiceChanged} />\n </div>\n </PreviewLayout>\n );\n }\n}\n\nconst Styled = withStyles({}, { name: 'Main' })(Main);\n\nconst theme = createMuiTheme({\n typography: {\n useNextVariants: true,\n },\n});\n\nconst Root = (props) => (\n <MuiThemeProvider theme={theme}>\n <Styled {...props} />\n </MuiThemeProvider>\n);\n\nexport default Root;\n"],"file":"main.js"}
|
package/lib/multiple-choice.js
CHANGED
|
@@ -260,4 +260,4 @@ MultipleChoice.defaultProps = {
|
|
|
260
260
|
var _default = (0, _styles.withStyles)(styles)(MultipleChoice);
|
|
261
261
|
|
|
262
262
|
exports["default"] = _default;
|
|
263
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdWx0aXBsZS1jaG9pY2UuanN4Il0sIm5hbWVzIjpbInN0eWxlcyIsImNvcmVzcHJpbmdDaG9pY2UiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsImJhY2tncm91bmQiLCJwYWRkaW5nIiwiaG9yaXpvbnRhbExheW91dCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZmxleFdyYXAiLCJncmlkTGF5b3V0IiwiZ2V0Q29sdW1ucyIsImNvbHVtbnMiLCJncmlkVGVtcGxhdGVDb2x1bW5zIiwidW5kZWZpbmVkIiwiZmllbGRzZXQiLCJib3JkZXIiLCJtYXJnaW4iLCJtaW5XaWR0aCIsIk11bHRpcGxlQ2hvaWNlIiwicHJvcHMiLCJjaG9pY2UiLCJpc0NvcnJlY3QiLCJjb3JyZWN0IiwiaXNDaGVja2VkIiwiaXNTZWxlY3RlZCIsInZhbHVlIiwic3RhdGUiLCJzaG93Q29ycmVjdCIsImFsd2F5c1Nob3dDb3JyZWN0Iiwib25Ub2dnbGUiLCJiaW5kIiwibW9kZSIsInNldFN0YXRlIiwibmV4dFByb3BzIiwiY29ycmVjdFJlc3BvbnNlIiwic2Vzc2lvblZhbHVlIiwic2Vzc2lvbiIsImluZGV4T2YiLCJpbmRleCIsImtleU1vZGUiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJ0b1VwcGVyQ2FzZSIsImRpc2FibGVkIiwiY2hvaWNlcyIsImNob2ljZU1vZGUiLCJwcm9tcHQiLCJvbkNob2ljZUNoYW5nZWQiLCJyZXNwb25zZUNvcnJlY3QiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiY2xhc3NlcyIsImFuaW1hdGlvbnNEaXNhYmxlZCIsImlzRXZhbHVhdGVNb2RlIiwic2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUiLCJoaWRkZW4iLCJ2aXNpYmxlIiwiY2hvaWNlc0xheW91dCIsImdyaWRDb2x1bW5zIiwibWFwIiwibGVuZ3RoIiwiaGlkZVRpY2siLCJnZXRDb3JyZWN0bmVzcyIsImluZGV4VG9TeW1ib2wiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9uZU9mIiwiYXJyYXkiLCJzdHJpbmciLCJvYmplY3QiLCJib29sIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBRUEsSUFBTUEsTUFBTSxHQUFHO0FBQ2JDLEVBQUFBLGdCQUFnQixFQUFFO0FBQ2hCQyxJQUFBQSxlQUFlLEVBQUVDLGdCQUFNQyxVQUFOLEVBREQ7QUFFaEJDLElBQUFBLE9BQU8sRUFBRSxLQUZPO0FBR2hCLFdBQU87QUFDTCxnQ0FBMEI7QUFEckI7QUFIUyxHQURMO0FBUWJDLEVBQUFBLGdCQUFnQixFQUFFO0FBQ2hCQyxJQUFBQSxPQUFPLEVBQUUsTUFETztBQUVoQkMsSUFBQUEsYUFBYSxFQUFFLEtBRkM7QUFHaEJDLElBQUFBLFFBQVEsRUFBRTtBQUhNLEdBUkw7QUFhYkMsRUFBQUEsVUFBVSxFQUFFO0FBQ1ZILElBQUFBLE9BQU8sRUFBRTtBQURDLEdBYkM7QUFnQmJJLEVBQUFBLFVBQVUsRUFBRSxvQkFBVUMsT0FBVixFQUFtQjtBQUM3QixXQUFPQSxPQUFPLEdBQUcsQ0FBVixHQUFjO0FBQUVDLE1BQUFBLG1CQUFtQixtQkFBWUQsT0FBWjtBQUFyQixLQUFkLEdBQW1FRSxTQUExRTtBQUNELEdBbEJZO0FBbUJiQyxFQUFBQSxRQUFRLEVBQUU7QUFDUkMsSUFBQUEsTUFBTSxFQUFFLEtBREE7QUFFUlgsSUFBQUEsT0FBTyxFQUFFLGNBRkQ7QUFHUlksSUFBQUEsTUFBTSxFQUFFLEtBSEE7QUFJUkMsSUFBQUEsUUFBUSxFQUFFO0FBSkY7QUFuQkcsQ0FBZjs7SUEyQmFDLGM7Ozs7O0FBb0JYLDBCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7QUFDakIsOEJBQU1BLEtBQU47QUFEaUIsdUdBNENGLFlBQWlCO0FBQUEsVUFBaEJDLE1BQWdCLHVFQUFQLEVBQU87QUFDaEMsVUFBTUMs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QUEsaUJBQWlCLEVBQUVxQyxzQkFBVUssSUFmWjtBQWdCakJuQixFQUFBQSxrQkFBa0IsRUFBRWMsc0JBQVVLO0FBaEJiLEM7QUFpTHJCcEQsY0FBYyxDQUFDdUQsWUFBZixHQUE4QjtBQUM1QnJDLEVBQUFBLE9BQU8sRUFBRTtBQUNQWCxJQUFBQSxLQUFLLEVBQUU7QUFEQTtBQURtQixDQUE5Qjs7ZUFNZSx3QkFBVzFCLE1BQVgsRUFBbUJtQixjQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQ29ycmVjdEFuc3dlclRvZ2dsZSBmcm9tICdAcGllLWxpYi9jb3JyZWN0LWFuc3dlci10b2dnbGUnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IGNvbG9yLCBDb2xsYXBzaWJsZSwgUHJldmlld1Byb21wdCB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgU3R5bGVkQ2hvaWNlIGZyb20gJy4vY2hvaWNlJztcblxuLy8gTXVsdGlwbGVDaG9pY2VcblxuY29uc3Qgc3R5bGVzID0ge1xuICBjb3Jlc3ByaW5nQ2hvaWNlOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgcGFkZGluZzogJzVweCcsXG4gICAgJyYgKic6IHtcbiAgICAgICctd2Via2l0LWZvbnQtc21vb3RoaW5nJzogJ2FudGlhbGlhc2VkJyxcbiAgICB9LFxuICB9LFxuICBob3Jpem9udGFsTGF5b3V0OiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gIH0sXG4gIGdyaWRMYXlvdXQ6IHtcbiAgICBkaXNwbGF5OiAnZ3JpZCcsXG4gIH0sXG4gIGdldENvbHVtbnM6IGZ1bmN0aW9uIChjb2x1bW5zKSB7XG4gICAgcmV0dXJuIGNvbHVtbnMgPiAxID8geyBncmlkVGVtcGxhdGVDb2x1bW5zOiBgcmVwZWF0KCR7Y29sdW1uc30sIDFmcilgIH0gOiB1bmRlZmluZWQ7XG4gIH0sXG4gIGZpZWxkc2V0OiB7XG4gICAgYm9yZGVyOiAnMHB4JyxcbiAgICBwYWRkaW5nOiAnMC4wMWVtIDAgMCAwJyxcbiAgICBtYXJnaW46ICcwcHgnLFxuICAgIG1pbldpZHRoOiAnMHB4J1xuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIE11bHRpcGxlQ2hvaWNlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtb2RlOiBQcm9wVHlwZXMub25lT2YoWydnYXRoZXInLCAndmlldycsICdldmFsdWF0ZSddKSxcbiAgICBjaG9pY2VNb2RlOiBQcm9wVHlwZXMub25lT2YoWydyYWRpbycsICdjaGVja2JveCddKSxcbiAgICBrZXlNb2RlOiBQcm9wVHlwZXMub25lT2YoWydudW1iZXJzJywgJ2xldHRlcnMnLCAnbm9uZSddKSxcbiAgICBjaG9pY2VzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgcHJvbXB0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2Vzc2lvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25DaG9pY2VDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICByZXNwb25zZUNvcnJlY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb3JyZWN0UmVzcG9uc2U6IFByb3BUeXBlcy5hcnJheSxcbiAgICBjaG9pY2VzTGF5b3V0OiBQcm9wVHlwZXMub25lT2YoWyd2ZXJ0aWNhbCcsICdncmlkJywgJ2hvcml6b250YWwnXSksXG4gICAgZ3JpZENvbHVtbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgYWx3YXlzU2hvd0NvcnJlY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIGFuaW1hdGlvbnNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2hvd0NvcnJlY3Q6IHRoaXMucHJvcHMuYWx3YXlzU2hvd0NvcnJlY3QgfHwgZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMub25Ub2dnbGUgPSB0aGlzLm9uVG9nZ2xlLmJpbmQodGhpcyk7XG4gIH1cblxuICBvblRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5tb2RlID09PSAnZXZhbHVhdGUnKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3Q6ICF0aGlzLnN0YXRlLnNob3dDb3JyZWN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIGlmICghbmV4dFByb3BzLmNvcnJlY3RSZXNwb25zZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb3JyZWN0OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBpZiAobmV4dFByb3BzLmFsd2F5c1Nob3dDb3JyZWN0KSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3Q6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgaXNTZWxlY3RlZCh2YWx1ZSkge1xuICAgIGNvbnN0IHNlc3Npb25WYWx1ZSA9IHRoaXMucHJvcHMuc2Vzc2lvbiAmJiB0aGlzLnByb3BzLnNlc3Npb24udmFsdWU7XG5cbiAgICByZXR1cm4gc2Vzc2lvblZhbHVlICYmIHNlc3Npb25WYWx1ZS5pbmRleE9mICYmIHNlc3Npb25WYWx1ZS5pbmRleE9mKHZhbHVlKSA+PSAwO1xuICB9XG5cbiAgaW5kZXhUb1N5bWJvbChpbmRleCkge1xuICAgIGlmICh0aGlzLnByb3BzLmtleU1vZGUgPT09ICdudW1iZXJzJykge1xuICAgICAgcmV0dXJuIGAke2luZGV4ICsgMX1gO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmtleU1vZGUgPT09ICdsZXR0ZXJzJykge1xuICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoOTcgKyBpbmRleCkudG9VcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRDb3JyZWN0bmVzcyA9IChjaG9pY2UgPSB7fSkgPT4ge1xuICAgIGNvbnN0IGlzQ29ycmVjdCA9IGNob2ljZS5jb3JyZWN0O1xuICAgIGNvbnN0IGlzQ2hlY2tlZCA9IHRoaXMuaXNTZWxlY3RlZChjaG9pY2UudmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuc3RhdGUuc2hvd0NvcnJlY3QpIHtcbiAgICAgIHJldHVybiBpc0NvcnJlY3QgPyAnY29ycmVjdCcgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGlzQ29ycmVjdCkge1xuICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAvLyBBIGNvcnJlY3QgYW5zd2VyIGlzIHNlbGVjdGVkOiBtYXJrZWQgd2l0aCBhIGdyZWVuIGNoZWNrbWFya1xuICAgICAgICByZXR1cm4gJ2NvcnJlY3QnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQSBjb3JyZWN0IGFuc3dlciBpcyBOT1Qgc2VsZWN0ZWQ6IG1hcmtlZCB3aXRoIGFuIG9yYW5nZSBYXG4gICAgICAgIHJldHVybiAnaW5jb3JyZWN0JztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAvLyBBbiBpbmNvcnJlY3QgYW5zd2VyIGlzIHNlbGVjdGVkOiBtYXJrZWQgd2l0aCBhbiBvcmFuZ2UgWFxuICAgICAgICByZXR1cm4gJ2luY29ycmVjdCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBbiBpbmNvcnJlY3QgYW5zd2VyIGlzIE5PVCBzZWxlY3RlZDogbm90IG1hcmtlZFxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgbW9kZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY2hvaWNlcyA9IFtdLFxuICAgICAgY2hvaWNlTW9kZSxcbiAgICAgIHByb21wdCxcbiAgICAgIG9uQ2hvaWNlQ2hhbmdlZCxcbiAgICAgIHJlc3BvbnNlQ29ycmVjdCxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMsXG4gICAgICBjbGFzc2VzLFxuICAgICAgYWx3YXlzU2hvd0NvcnJlY3QsXG4gICAgICBhbmltYXRpb25zRGlzYWJsZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBzaG93Q29ycmVjdCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBpc0V2YWx1YXRlTW9kZSA9IG1vZGUgPT09ICdldmFsdWF0ZSc7XG4gICAgY29uc3Qgc2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUgPSBpc0V2YWx1YXRlTW9kZSAmJiAhcmVzcG9uc2VDb3JyZWN0O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuY29yZXNwcmluZ0Nob2ljZSwgJ211bHRpcGxlLWNob2ljZScpfT5cbiAgICAgICAge3RlYWNoZXJJbnN0cnVjdGlvbnMgJiYgKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIHshYW5pbWF0aW9uc0Rpc2FibGVkID8gKFxuICAgICAgICAgICAgICA8Q29sbGFwc2libGVcbiAgICAgICAgICAgICAgICBsYWJlbHM9e3tcbiAgICAgICAgICAgICAgICAgIGhpZGRlbjogJ1Nob3cgVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgdmlzaWJsZTogJ0hpZGUgVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UHJldmlld1Byb21wdCB0YWdOYW1lPVwiZGl2XCIgY2xhc3NOYW1lPVwicHJvbXB0XCIgcHJvbXB0PXt0ZWFjaGVySW5zdHJ1Y3Rpb25zfSAvPlxuICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFByZXZpZXdQcm9tcHRcbiAgICAgICAgICAgICAgICB0YWdOYW1lPVwiZGl2XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwcm9tcHRcIlxuICAgICAgICAgICAgICAgIGRlZmF1bHRDbGFzc05hbWU9XCJ0ZWFjaGVyLWluc3RydWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgcHJvbXB0PXt0ZWFjaGVySW5zdHJ1Y3Rpb25zfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICl9XG4gICAgICAgIHshYWx3YXlzU2hvd0NvcnJlY3QgJiYgKFxuICAgICAgICAgIDxDb3JyZWN0QW5zd2VyVG9nZ2xlXG4gICAgICAgICAgICBzaG93PXtzaG93Q29ycmVjdEFuc3dlclRvZ2dsZX1cbiAgICAgICAgICAgIHRvZ2dsZWQ9e3Nob3dDb3JyZWN0fVxuICAgICAgICAgICAgb25Ub2dnbGU9e3RoaXMub25Ub2dnbGUuYmluZCh0aGlzKX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7c2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUgJiYgPGJyIC8+fVxuICAgICAgICA8ZmllbGRzZXQgY2xhc3NOYW1lPXtjbGFzc2VzLmZpZWxkc2V0fT5cbiAgICAgICAgICA8UHJldmlld1Byb21wdCBjbGFzc05hbWU9XCJwcm9tcHRcIiBkZWZhdWx0Q2xhc3NOYW1lPVwicHJvbXB0XCIgcHJvbXB0PXtwcm9tcHR9IHRhZ05hbWU9e1wibGVnZW5kXCJ9IC8+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgICAgICB7IFtjbGFzc2VzLmdyaWRMYXlvdXRdOiB0aGlzLnByb3BzLmNob2ljZXNMYXlvdXQgPT09ICdncmlkJyB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgW2NsYXNzZXMuaG9yaXpvbnRhbExheW91dF06IHRoaXMucHJvcHMuY2hvaWNlc0xheW91dCA9PT0gJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuZ2V0Q29sdW1ucyh0aGlzLnByb3BzLmdyaWRDb2x1bW5zKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hvaWNlcy5tYXAoKGNob2ljZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPFN0eWxlZENob2ljZVxuICAgICAgICAgICAgICAgIGNob2ljZXNMYXlvdXQ9e3RoaXMucHJvcHMuY2hvaWNlc0xheW91dH1cbiAgICAgICAgICAgICAgICBncmlkQ29sdW1ucz17dGhpcy5wcm9wcy5ncmlkQ29sdW1uc31cbiAgICAgICAgICAgICAgICBrZXk9e2BjaG9pY2UtJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIGNob2ljZT17Y2hvaWNlfVxuICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICBjaG9pY2VzTGVuZ3RoPXtjaG9pY2VzLmxlbmd0aH1cbiAgICAgICAgICAgICAgICBzaG93Q29ycmVjdD17c2hvd0NvcnJlY3R9XG4gICAgICAgICAgICAgICAgaXNFdmFsdWF0ZU1vZGU9e2lzRXZhbHVhdGVNb2RlfVxuICAgICAgICAgICAgICAgIGNob2ljZU1vZGU9e2Nob2ljZU1vZGV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIG9uQ2hvaWNlQ2hhbmdlZD17b25DaG9pY2VDaGFuZ2VkfVxuICAgICAgICAgICAgICAgIGhpZGVUaWNrPXtjaG9pY2UuaGlkZVRpY2t9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17c2hvd0NvcnJlY3QgPyBjaG9pY2UuY29ycmVjdCB8fCBmYWxzZSA6IHRoaXMuaXNTZWxlY3RlZChjaG9pY2UudmFsdWUpfVxuICAgICAgICAgICAgICAgIGNvcnJlY3RuZXNzPXtpc0V2YWx1YXRlTW9kZSA/IHRoaXMuZ2V0Q29ycmVjdG5lc3MoY2hvaWNlKSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBkaXNwbGF5S2V5PXt0aGlzLmluZGV4VG9TeW1ib2woaW5kZXgpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbk11bHRpcGxlQ2hvaWNlLmRlZmF1bHRQcm9wcyA9IHtcbiAgc2Vzc2lvbjoge1xuICAgIHZhbHVlOiBbXSxcbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShNdWx0aXBsZUNob2ljZSk7XG4iXX0=
|
|
263
|
+
//# sourceMappingURL=multiple-choice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/multiple-choice.jsx"],"names":["styles","corespringChoice","backgroundColor","color","background","padding","horizontalLayout","display","flexDirection","flexWrap","gridLayout","getColumns","columns","gridTemplateColumns","undefined","fieldset","border","margin","minWidth","MultipleChoice","props","choice","isCorrect","correct","isChecked","isSelected","value","state","showCorrect","alwaysShowCorrect","onToggle","bind","mode","setState","nextProps","correctResponse","sessionValue","session","indexOf","index","keyMode","String","fromCharCode","toUpperCase","disabled","choices","choiceMode","prompt","onChoiceChanged","responseCorrect","teacherInstructions","classes","animationsDisabled","isEvaluateMode","showCorrectAnswerToggle","hidden","visible","choicesLayout","gridColumns","map","length","hideTick","getCorrectness","indexToSymbol","React","Component","PropTypes","oneOf","array","string","object","bool","func","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\nimport StyledChoice from './choice';\n\n// MultipleChoice\n\nconst styles = {\n corespringChoice: {\n backgroundColor: color.background(),\n padding: '5px',\n '& *': {\n '-webkit-font-smoothing': 'antialiased',\n },\n },\n horizontalLayout: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n gridLayout: {\n display: 'grid',\n },\n getColumns: function (columns) {\n return columns > 1 ? { gridTemplateColumns: `repeat(${columns}, 1fr)` } : undefined;\n },\n fieldset: {\n border: '0px',\n padding: '0.01em 0 0 0',\n margin: '0px',\n minWidth: '0px'\n },\n};\n\nexport class MultipleChoice extends React.Component {\n static propTypes = {\n mode: PropTypes.oneOf(['gather', 'view', 'evaluate']),\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n keyMode: PropTypes.oneOf(['numbers', 'letters', 'none']),\n choices: PropTypes.array,\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n disabled: PropTypes.bool,\n onChoiceChanged: PropTypes.func,\n responseCorrect: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n correctResponse: PropTypes.array,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string,\n alwaysShowCorrect: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrect: this.props.alwaysShowCorrect || false,\n };\n\n this.onToggle = this.onToggle.bind(this);\n }\n\n onToggle() {\n if (this.props.mode === 'evaluate') {\n this.setState({ showCorrect: !this.state.showCorrect });\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!nextProps.correctResponse) {\n this.setState({ showCorrect: false });\n }\n\n if (nextProps.alwaysShowCorrect) {\n this.setState({ showCorrect: true });\n }\n }\n\n isSelected(value) {\n const sessionValue = this.props.session && this.props.session.value;\n\n return sessionValue && sessionValue.indexOf && sessionValue.indexOf(value) >= 0;\n }\n\n indexToSymbol(index) {\n if (this.props.keyMode === 'numbers') {\n return `${index + 1}`;\n }\n\n if (this.props.keyMode === 'letters') {\n return String.fromCharCode(97 + index).toUpperCase();\n }\n\n return '';\n }\n\n getCorrectness = (choice = {}) => {\n const isCorrect = choice.correct;\n const isChecked = this.isSelected(choice.value);\n\n if (this.state.showCorrect) {\n return isCorrect ? 'correct' : undefined;\n }\n\n if (isCorrect) {\n if (isChecked) {\n // A correct answer is selected: marked with a green checkmark\n return 'correct';\n } else {\n // A correct answer is NOT selected: marked with an orange X\n return 'incorrect';\n }\n } else {\n if (isChecked) {\n // An incorrect answer is selected: marked with an orange X\n return 'incorrect';\n } else {\n // An incorrect answer is NOT selected: not marked\n return undefined;\n }\n }\n };\n\n render() {\n const {\n mode,\n disabled,\n choices = [],\n choiceMode,\n prompt,\n onChoiceChanged,\n responseCorrect,\n teacherInstructions,\n classes,\n alwaysShowCorrect,\n animationsDisabled,\n } = this.props;\n const { showCorrect } = this.state;\n const isEvaluateMode = mode === 'evaluate';\n const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;\n\n return (\n <div className={classNames(classes.corespringChoice, 'multiple-choice')}>\n {teacherInstructions && (\n <React.Fragment>\n {!animationsDisabled ? (\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt tagName=\"div\" className=\"prompt\" prompt={teacherInstructions} />\n </Collapsible>\n ) : (\n <PreviewPrompt\n tagName=\"div\"\n className=\"prompt\"\n defaultClassName=\"teacher-instructions\"\n prompt={teacherInstructions}\n />\n )}\n <br />\n </React.Fragment>\n )}\n {!alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.onToggle.bind(this)}\n />\n )}\n {showCorrectAnswerToggle && <br />}\n <fieldset className={classes.fieldset}>\n <PreviewPrompt className=\"prompt\" defaultClassName=\"prompt\" prompt={prompt} tagName={\"legend\"} />\n <div\n className={classNames(\n { [classes.gridLayout]: this.props.choicesLayout === 'grid' },\n {\n [classes.horizontalLayout]: this.props.choicesLayout === 'horizontal',\n },\n )}\n style={styles.getColumns(this.props.gridColumns)}\n >\n {choices.map((choice, index) => (\n <StyledChoice\n choicesLayout={this.props.choicesLayout}\n gridColumns={this.props.gridColumns}\n key={`choice-${index}`}\n choice={choice}\n index={index}\n choicesLength={choices.length}\n showCorrect={showCorrect}\n isEvaluateMode={isEvaluateMode}\n choiceMode={choiceMode}\n disabled={disabled}\n onChoiceChanged={onChoiceChanged}\n hideTick={choice.hideTick}\n checked={showCorrect ? choice.correct || false : this.isSelected(choice.value)}\n correctness={isEvaluateMode ? this.getCorrectness(choice) : undefined}\n displayKey={this.indexToSymbol(index)}\n />\n ))}\n </div>\n </fieldset>\n </div>\n );\n }\n}\n\nMultipleChoice.defaultProps = {\n session: {\n value: [],\n },\n};\n\nexport default withStyles(styles)(MultipleChoice);\n"],"file":"multiple-choice.js"}
|
package/lib/print.js
CHANGED
|
@@ -126,4 +126,4 @@ var MultipleChoicePrint = /*#__PURE__*/function (_HTMLElement) {
|
|
|
126
126
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
127
127
|
|
|
128
128
|
exports["default"] = MultipleChoicePrint;
|
|
129
|
-
//# sourceMappingURL=
|
|
129
|
+
//# sourceMappingURL=print.js.map
|
package/lib/print.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","showTeacherInstructions","alwaysShowCorrect","mode","disabled","animationsDisabled","lockChoiceOrder","choicesLayout","choices","map","c","rationale","rationaleEnabled","hideTick","feedback","keyMode","choicePrefix","MultipleChoicePrint","_options","_model","_session","_rerender","printModel","element","React","createElement","Main","session","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport cloneDeep from 'lodash/cloneDeep';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:multiple-choice:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions =\n instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.showTeacherInstructions = instr;\n model.alwaysShowCorrect = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n model.disabled = true;\n model.animationsDisabled = true;\n model.lockChoiceOrder = true;\n model.choicesLayout = model.choicesLayout || 'vertical';\n\n const choices = cloneDeep(model.choices);\n\n model.choices = choices.map((c) => {\n c.rationale = instr && model.rationaleEnabled !== false ? c.rationale : undefined;\n c.hideTick = instr;\n c.feedback = undefined;\n return c;\n });\n\n model.keyMode = model.choicePrefix || 'letters';\n\n return model;\n};\n\nexport default class MultipleChoicePrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: {},\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
|
package/lib/session-updater.js
CHANGED
|
@@ -32,4 +32,4 @@ function updateSessionValue(session, choiceMode, data) {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=session-updater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/session-updater.js"],"names":["updateSessionValue","session","choiceMode","data","value","selected"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,SAASA,kBAAT,CAA4BC,OAA5B,EAAqCC,UAArC,EAAiDC,IAAjD,EAAuD;AAC5DF,EAAAA,OAAO,CAACG,KAAR,GAAgBH,OAAO,CAACG,KAAR,IAAiB,EAAjC;;AACA,MAAIF,UAAU,KAAK,UAAnB,EAA+B;AAC7B,QAAIC,IAAI,CAACE,QAAT,EAAmB;AACjBJ,MAAAA,OAAO,CAACG,KAAR,GAAgB,sBAAK,wBAAOH,OAAO,CAACG,KAAf,EAAsB,CAACD,IAAI,CAACC,KAAN,CAAtB,CAAL,CAAhB;AACD,KAFD,MAEO;AACLH,MAAAA,OAAO,CAACG,KAAR,GAAgB,yBAAQH,OAAO,CAACG,KAAhB,EAAuBD,IAAI,CAACC,KAA5B,CAAhB;AACD;AACF;;AAED,MAAIF,UAAU,KAAK,OAAnB,EAA4B;AAC1B,QAAIC,IAAI,CAACE,QAAT,EAAmB;AACjBJ,MAAAA,OAAO,CAACG,KAAR,GAAgB,CAACD,IAAI,CAACC,KAAN,CAAhB;AACD,KAFD,MAEO;AACLH,MAAAA,OAAO,CAACG,KAAR,GAAgB,EAAhB;AACD;AACF;AACF","sourcesContent":["import concat from 'lodash/concat';\nimport uniq from 'lodash/uniq';\nimport without from 'lodash/without';\n\nexport function updateSessionValue(session, choiceMode, data) {\n session.value = session.value || [];\n if (choiceMode === 'checkbox') {\n if (data.selected) {\n session.value = uniq(concat(session.value, [data.value]));\n } else {\n session.value = without(session.value, data.value);\n }\n }\n\n if (choiceMode === 'radio') {\n if (data.selected) {\n session.value = [data.value];\n } else {\n session.value = [];\n }\n }\n}\n"],"file":"session-updater.js"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/multiple-choice",
|
|
3
3
|
"repository": "pie-framework/pie-elements",
|
|
4
|
-
"version": "7.6.1-beta.
|
|
4
|
+
"version": "7.6.1-beta.2+ceec5d217",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"react-test-renderer": "^16.3.2",
|
|
23
23
|
"react-transition-group": "^2.3.1"
|
|
24
24
|
},
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "ceec5d217c6c708df55724831078abae7c33756f",
|
|
26
26
|
"scripts": {
|
|
27
27
|
"postpublish": "../../scripts/postpublish"
|
|
28
28
|
},
|