@pie-element/multiple-choice 8.1.0-next.1 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +5 -0
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/main.js +6 -6
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/utils.js +1 -1
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +1 -1
- package/controller/lib/utils.js +1 -1
- package/lib/choice-input.js +1 -1
- package/lib/choice.js +1 -1
- package/lib/feedback-tick.js +1 -1
- package/lib/index.js +1 -1
- package/lib/main.js +1 -1
- package/lib/multiple-choice.js +3 -3
- package/lib/multiple-choice.js.map +1 -1
- package/lib/print.js +1 -1
- package/lib/session-updater.js +1 -1
- package/package.json +2 -2
- package/configure/lib/__tests__/root.test.js +0 -271
- package/controller/lib/__tests__/index.test.js +0 -864
- package/controller/lib/__tests__/utils.test.js +0 -8
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/choice-input-test.js +0 -124
- package/lib/__tests__/index-test.js +0 -22
- package/lib/__tests__/multiple-choice-test.js +0 -237
- package/lib/__tests__/session-updater-test.js +0 -72
- package/module/demo.js +0 -78
- package/module/element.js +0 -2130
- package/module/index.html +0 -21
- package/module/manifest.json +0 -10
- package/module/print-demo.js +0 -116
- package/module/print.html +0 -18
- package/module/print.js +0 -2092
package/LICENSE.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Copyright 2019 CoreSpring Inc
|
|
2
|
+
|
|
3
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
4
|
+
|
|
5
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@@ -130,4 +130,4 @@ var _default = {
|
|
|
130
130
|
}
|
|
131
131
|
};
|
|
132
132
|
exports["default"] = _default;
|
|
133
|
-
//# sourceMappingURL=
|
|
133
|
+
//# sourceMappingURL=defaults.js.map
|
package/configure/lib/index.js
CHANGED
|
@@ -245,4 +245,4 @@ exports["default"] = MultipleChoice;
|
|
|
245
245
|
normalizedModel.choicesLayout = model.choicesLayout || model.verticalMode === false && 'horizontal' || _defaults2["default"].model.choicesLayout;
|
|
246
246
|
return normalizedModel;
|
|
247
247
|
});
|
|
248
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJnZW5lcmF0ZUZvcm1hdHRlZENob2ljZXMiLCJjaG9pY2VzIiwiY2hvaWNlQ291bnQiLCJsZW5ndGgiLCJmb3JtYXR0ZWRDaG9pY2VzIiwiaSIsInB1c2giLCJ2YWx1ZSIsImxhYmVsIiwiZmVlZGJhY2siLCJ0eXBlIiwicHJlcGFyZUN1c3RvbWl6YXRpb25PYmplY3QiLCJjb25maWciLCJtb2RlbCIsImNvbmZpZ3VyYXRpb24iLCJzZW5zaWJsZURlZmF1bHRzIiwiYW5zd2VyQ2hvaWNlQ291bnQiLCJNdWx0aXBsZUNob2ljZSIsIl9tb2RlbCIsImNyZWF0ZURlZmF1bHRNb2RlbCIsIl9jb25maWd1cmF0aW9uIiwib25Nb2RlbENoYW5nZWQiLCJiaW5kIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsInMiLCJfcmVuZGVyIiwiYyIsImluZm8iLCJuZXdDb25maWd1cmF0aW9uIiwibGFuZ3VhZ2UiLCJlbmFibGVkIiwibGFuZ3VhZ2VDaG9pY2VzIiwib3B0aW9ucyIsInNldHRpbmdzIiwiZmluZCIsIm9wdGlvbiIsIl9kaXNhYmxlU2lkZVBhbmVsIiwicmVzZXQiLCJyZXNldFZhbHVlIiwiZGlzcGF0Y2hFdmVudCIsIk1vZGVsVXBkYXRlZEV2ZW50IiwibSIsImRpc3BhdGNoTW9kZWxVcGRhdGVkIiwiaGFuZGxlciIsIkluc2VydEltYWdlRXZlbnQiLCJzcmMiLCJkb25lIiwiRGVsZXRlSW1hZ2VFdmVudCIsIkluc2VydFNvdW5kRXZlbnQiLCJEZWxldGVTb3VuZEV2ZW50IiwiZWxlbWVudCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIk1haW4iLCJkaXNhYmxlU2lkZVBhbmVsIiwiaW1hZ2VTdXBwb3J0IiwiYWRkIiwiaW5zZXJ0SW1hZ2UiLCJvbkRlbGV0ZUltYWdlIiwidXBsb2FkU291bmRTdXBwb3J0IiwiaW5zZXJ0U291bmQiLCJvbkRlbGV0ZVNvdW5kIiwiUmVhY3RET00iLCJyZW5kZXIiLCJIVE1MRWxlbWVudCIsIm5vcm1hbGl6ZWRNb2RlbCIsInV0aWxzIiwibm9ybWFsaXplQ2hvaWNlcyIsImNob2ljZXNMYXlvdXQiLCJ2ZXJ0aWNhbE1vZGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSwyQkFBTixDQUFaOztBQUVBLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBMkIsQ0FBQ0MsT0FBRCxFQUE4QjtBQUFBLE1BQXBCQyxXQUFvQix1RUFBTixDQUFNOztBQUM3RCxNQUFJLENBQUNELE9BQUQsSUFBWUEsT0FBTyxDQUFDRSxNQUFSLEtBQW1CLENBQW5DLEVBQXNDO0FBQ3BDLFFBQUlDLGdCQUFnQixHQUFHLEVBQXZCOztBQUVBLFNBQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0gsV0FBcEIsRUFBaUNHLENBQUMsRUFBbEMsRUFBc0M7QUFDcENELE1BQUFBLGdCQUFnQixDQUFDRSxJQUFqQixDQUFzQjtBQUNwQkMsUUFBQUEsS0FBSyxZQUFLRixDQUFMLENBRGU7QUFFcEJHLFFBQUFBLEtBQUssRUFBRSxFQUZhO0FBR3BCQyxRQUFBQSxRQUFRLEVBQUU7QUFDUkMsVUFBQUEsSUFBSSxFQUFFLE1BREU7QUFFUkgsVUFBQUEsS0FBSyxFQUFFO0FBRkM7QUFIVSxPQUF0QjtBQVFEOztBQUVELFdBQU9ILGdCQUFQO0FBQ0Q7O0FBRUQsU0FBT0gsT0FBUDtBQUNELENBbkJEOztBQXFCQSxJQUFNVSwwQkFBMEIsR0FBRyxTQUE3QkEsMEJBQTZCLENBQUNDLE1BQUQsRUFBU0MsS0FBVCxFQUFtQjtBQUNwRCxNQUFNQyxhQUFhLEdBQUcsMEJBQVNGLE1BQVQsRUFBaUJHLHNCQUFpQkQsYUFBbEMsQ0FBdEI7QUFFQSxTQUFPO0FBQ0xBLElBQUFBLGFBQWEsRUFBYkEsYUFESztBQUVMRCxJQUFB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LElBQUlBLEtBQUssQ0FBQ1osT0FBaEIsSUFBNEIsRUFBN0I7QUFIWCxLQUF4QixDQUQwQyxDQU8xQzs7O0FBQ0FnRSxFQUFBQSxlQUFlLENBQUNHLGFBQWhCLEdBQ0V2RCxLQUFLLENBQUN1RCxhQUFOLElBQXdCdkQsS0FBSyxDQUFDd0QsWUFBTixLQUF1QixLQUF2QixJQUFnQyxZQUF4RCxJQUF5RXRELHNCQUFpQkYsS0FBakIsQ0FBdUJ1RCxhQURsRztBQUdBLFNBQU9ILGVBQVA7QUFDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7XG4gIERlbGV0ZUltYWdlRXZlbnQsXG4gIEluc2VydEltYWdlRXZlbnQsXG4gIE1vZGVsVXBkYXRlZEV2ZW50LFxuICBJbnNlcnRTb3VuZEV2ZW50LFxuICBEZWxldGVTb3VuZEV2ZW50LFxufSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtY29uZmlndXJlLWV2ZW50cyc7XG5cbmltcG9ydCBNYWluIGZyb20gJy4vbWFpbic7XG5pbXBvcnQgeyBjaG9pY2VVdGlscyBhcyB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L2NvbmZpZy11aSc7XG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnbG9kYXNoL2RlZmF1bHRzJztcblxuaW1wb3J0IHNlbnNpYmxlRGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdtdWx0aXBsZS1jaG9pY2U6Y29uZmlndXJlJyk7XG5cbmNvbnN0IGdlbmVyYXRlRm9ybWF0dGVkQ2hvaWNlcyA9IChjaG9pY2VzLCBjaG9pY2VDb3VudCA9IDApID0+IHtcbiAgaWYgKCFjaG9pY2VzIHx8IGNob2ljZXMubGVuZ3RoID09PSAwKSB7XG4gICAgbGV0IGZvcm1hdHRlZENob2ljZXMgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hvaWNlQ291bnQ7IGkrKykge1xuICAgICAgZm9ybWF0dGVkQ2hvaWNlcy5wdXNoKHtcbiAgICAgICAgdmFsdWU6IGAke2l9YCxcbiAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICBmZWVkYmFjazoge1xuICAgICAgICAgIHR5cGU6ICdub25lJyxcbiAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkQ2hvaWNlcztcbiAgfVxuXG4gIHJldHVybiBjaG9pY2VzO1xufTtcblxuY29uc3QgcHJlcGFyZUN1c3RvbWl6YXRpb25PYmplY3QgPSAoY29uZmlnLCBtb2RlbCkgPT4ge1xuICBjb25zdCBjb25maWd1cmF0aW9uID0gZGVmYXVsdHMoY29uZmlnLCBzZW5zaWJsZURlZmF1bHRzLmNvbmZpZ3VyYXRpb24pO1xuXG4gIHJldHVybiB7XG4gICAgY29uZmlndXJhdGlvbixcbiAgICBtb2RlbDoge1xuICAgICAgLi4ubW9kZWwsXG4gICAgICBjaG9pY2VzOiBnZW5lcmF0ZUZvcm1hdHRlZENob2ljZXMoXG4gICAgICAgIChtb2RlbCAmJiBtb2RlbC5jaG9pY2VzKSB8fCBbXSxcbiAgICAgICAgY29uZmlndXJhdGlvbiAmJiBjb25maWd1cmF0aW9uLmFuc3dlckNob2ljZUNvdW50LFxuICAgICAgKSxcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTXVsdGlwbGVDaG9pY2UgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHN0YXRpYyBjcmVhdGVEZWZhdWx0TW9kZWwgPSAobW9kZWwgPSB7fSkgPT4ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRNb2RlbCA9IHV0aWxzLm5vcm1hbGl6ZUNob2ljZXMoe1xuICAgICAgLi4uc2Vuc2libGVEZWZhdWx0cy5tb2RlbCxcbiAgICAgIC4uLm1vZGVsLFxuICAgICAgY2hvaWNlczogZ2VuZXJhdGVGb3JtYXR0ZWRDaG9pY2VzKChtb2RlbCAmJiBtb2RlbC5jaG9pY2VzKSB8fCBbXSksXG4gICAgfSk7XG5cbiAgICAvLyBUaGlzIGlzIHVzZWQgZm9yIG9mZmVyaW5nIHN1cHBvcnQgZm9yIG9sZCBtb2RlbHMgd2hpY2ggaGF2ZSB0aGUgcHJvcGVydHkgXCJ2ZXJ0aWNhbE1vZGVcIlxuICAgIG5vcm1hbGl6ZWRNb2RlbC5jaG9pY2VzTGF5b3V0ID1cbiAgICAgIG1vZGVsLmNob2ljZXNMYXlvdXQgfHwgKG1vZGVsLnZlcnRpY2FsTW9kZSA9PT0gZmFsc2UgJiYgJ2hvcml6b250YWwnKSB8fCBzZW5zaWJsZURlZmF1bHRzLm1vZGVsLmNob2ljZXNMYXlvdXQ7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZE1vZGVsO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fbW9kZWwgPSBNdWx0aXBsZUNob2ljZS5jcmVhdGVEZWZhdWx0TW9kZWwoKTtcbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0gc2Vuc2libGVEZWZhdWx0cy5jb25maWd1cmF0aW9uO1xuICAgIHRoaXMub25Nb2RlbENoYW5nZWQgPSB0aGlzLm9uTW9kZWxDaGFuZ2VkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkID0gdGhpcy5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkLmJpbmQodGhpcyk7XG4gIH1cblxuICBzZXQgbW9kZWwocykge1xuICAgIHRoaXMuX21vZGVsID0gTXVsdGlwbGVDaG9pY2UuY3JlYXRlRGVmYXVsdE1vZGVsKHMpO1xuXG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBzZXQgY29uZmlndXJhdGlvbihjKSB7XG4gICAgY29uc3QgaW5mbyA9IHByZXBhcmVDdXN0b21pemF0aW9uT2JqZWN0KGMsIHRoaXMuX21vZGVsKTtcblxuICAgIHRoaXMub25Nb2RlbENoYW5nZWQoaW5mby5tb2RlbCk7XG5cbiAgICBjb25zdCBuZXdDb25maWd1cmF0aW9uID0ge1xuICAgICAgLi4uc2Vuc2libGVEZWZhdWx0cy5jb25maWd1cmF0aW9uLFxuICAgICAgLi4uaW5mby5jb25maWd1cmF0aW9uLFxuICAgIH07XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IG5ld0NvbmZpZ3VyYXRpb247XG5cbiAgICAvLyBpZiBsYW5ndWFnZTplbmFibGVkIGlzIHRydWUsIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgZGVmYXVsdCBpdGVtIG1vZGVsIHNob3VsZCBpbmNsdWRlIGEgbGFuZ3VhZ2UgdmFsdWU7XG4gICAgLy8gaWYgaXQgaXMgZmFsc2UsIHRoZW4gdGhlIGxhbmd1YWdlIGZpZWxkIHNob3VsZCBiZSBvbWl0dGVkIGZyb20gdGhlIGl0ZW0gbW9kZWwuXG4gICAgLy8gaWYgYSBkZWZhdWx0IGl0ZW0gbW9kZWwgaW5jbHVkZXMgYSBsYW5ndWFnZSB2YWx1ZSAoZS5nLiwgZW5fVVMpIGFuZCB0aGUgY29ycmVzcG9uZGluZyBhdXRob3JpbmcgdmlldyBzZXR0aW5ncyBoYXZlIGxhbmd1YWdlOnNldHRpbmdzID0gdHJ1ZSxcbiAgICAvLyB0aGVuIChhKSBsYW5ndWFnZTplbmFibGVkIHNob3VsZCBhbHNvIGJlIHRydWUsIGFuZCAoYikgdGhhdCBkZWZhdWx0IGxhbmd1YWdlIHZhbHVlIHNob3VsZCBiZSByZXByZXNlbnRlZCBpbiBsYW5ndWFnZUNob2ljZXNbXSAoYXMgYSBrZXkpLlxuICAgIGlmIChuZXdDb25maWd1cmF0aW9uPy5sYW5ndWFnZT8uZW5hYmxlZCkge1xuICAgICAgaWYgKG5ld0NvbmZpZ3VyYXRpb24/Lmxhbmd1YWdlQ2hvaWNlcz8ub3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX21vZGVsLmxhbmd1YWdlID0gbmV3Q29uZmlndXJhdGlvbj8ubGFuZ3VhZ2VDaG9pY2VzLm9wdGlvbnNbMF0udmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChuZXdDb25maWd1cmF0aW9uLmxhbmd1YWdlLnNldHRpbmdzICYmIHRoaXMuX21vZGVsLmxhbmd1YWdlKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlLmVuYWJsZWQgPSB0cnVlO1xuXG4gICAgICBpZiAoIXRoaXMuX2NvbmZpZ3VyYXRpb24ubGFuZ3VhZ2VDaG9pY2VzLm9wdGlvbnMgfHwgIXRoaXMuX2NvbmZpZ3VyYXRpb24ubGFuZ3VhZ2VDaG9pY2VzLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24ubGFuZ3VhZ2VDaG9pY2VzLm9wdGlvbnMgPSBbXTtcbiAgICAgIH1cblxuICAgICAgLy8gY2hlY2sgaWYgdGhlIGxhbmd1YWdlIGlzIGFscmVhZHkgaW5jbHVkZWQgaW4gdGhlIGxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zIGFycmF5XG4gICAgICAvLyBhbmQgaWYgbm90LCB0aGVuIGFkZCBpdC5cbiAgICAgIGlmICghdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZUNob2ljZXMub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuX21vZGVsLmxhbmd1YWdlKSkge1xuICAgICAgICB0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zLnB1c2goe1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl9tb2RlbC5sYW5ndWFnZSxcbiAgICAgICAgICBsYWJlbDogdGhpcy5fbW9kZWwubGFuZ3VhZ2UsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdGhpcy5fbW9kZWwubGFuZ3VhZ2U7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBzZXQgZGlzYWJsZVNpZGVQYW5lbChzKSB7XG4gICAgdGhpcy5fZGlzYWJsZVNpZGVQYW5lbCA9IHM7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBkaXNwYXRjaE1vZGVsVXBkYXRlZChyZXNldCkge1xuICAgIGNvbnN0IHJlc2V0VmFsdWUgPSAhIXJlc2V0O1xuXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBNb2RlbFVwZGF0ZWRFdmVudCh0aGlzLl9tb2RlbCwgcmVzZXRWYWx1ZSkpO1xuICB9XG5cbiAgb25Nb2RlbENoYW5nZWQobSwgcmVzZXQpIHtcbiAgICB0aGlzLl9tb2RlbCA9IG07XG4gICAgdGhpcy5fcmVuZGVyKCk7XG5cbiAgICB0aGlzLmRpc3BhdGNoTW9kZWxVcGRhdGVkKHJlc2V0KTtcbiAgfVxuXG4gIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQoYykge1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBwcmVwYXJlQ3VzdG9taXphdGlvbk9iamVjdChjLCB0aGlzLl9tb2RlbCkuY29uZmlndXJhdGlvbjtcblxuICAgIGlmICh0aGlzLl9tb2RlbCkge1xuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlZCh0aGlzLl9tb2RlbCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICAvKiogQHBhcmFtIHtkb25lLCBwcm9ncmVzcywgZmlsZX0gaGFuZGxlciAqL1xuICBpbnNlcnRJbWFnZShoYW5kbGVyKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnNlcnRJbWFnZUV2ZW50KGhhbmRsZXIpKTtcbiAgfVxuXG4gIG9uRGVsZXRlSW1hZ2Uoc3JjLCBkb25lKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBEZWxldGVJbWFnZUV2ZW50KHNyYywgZG9uZSkpO1xuICB9XG5cbiAgaW5zZXJ0U291bmQoaGFuZGxlcikge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5zZXJ0U291bmRFdmVudChoYW5kbGVyKSk7XG4gIH1cblxuICBvbkRlbGV0ZVNvdW5kKHNyYywgZG9uZSkge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRGVsZXRlU291bmRFdmVudChzcmMsIGRvbmUpKTtcbiAgfVxuXG4gIF9yZW5kZXIoKSB7XG4gICAgbG9nKCdfcmVuZGVyJyk7XG4gICAgbGV0IGVsZW1lbnQgPSBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgIG1vZGVsOiB0aGlzLl9tb2RlbCxcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuX2NvbmZpZ3VyYXRpb24sXG4gICAgICBvbk1vZGVsQ2hhbmdlZDogdGhpcy5vbk1vZGVsQ2hhbmdlZCxcbiAgICAgIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQ6IHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlZCxcbiAgICAgIGRpc2FibGVTaWRlUGFuZWw6IHRoaXMuX2Rpc2FibGVTaWRlUGFuZWwsXG4gICAgICBpbWFnZVN1cHBvcnQ6IHtcbiAgICAgICAgYWRkOiB0aGlzLmluc2VydEltYWdlLmJpbmQodGhpcyksXG4gICAgICAgIGRlbGV0ZTogdGhpcy5vbkRlbGV0ZUltYWdlLmJpbmQodGhpcyksXG4gICAgICB9LFxuICAgICAgdXBsb2FkU291bmRTdXBwb3J0OiB7XG4gICAgICAgIGFkZDogdGhpcy5pbnNlcnRTb3VuZC5iaW5kKHRoaXMpLFxuICAgICAgICBkZWxldGU6IHRoaXMub25EZWxldGVTb3VuZC5iaW5kKHRoaXMpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIFJlYWN0RE9NLnJlbmRlcihlbGVtZW50LCB0aGlzKTtcbiAgfVxufVxuIl19
|
|
248
|
+
//# sourceMappingURL=index.js.map
|
package/configure/lib/main.js
CHANGED
|
@@ -27,7 +27,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
27
27
|
|
|
28
28
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
29
|
|
|
30
|
-
var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
|
|
30
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/pie-toolbox/editable-html"));
|
|
31
31
|
|
|
32
32
|
var _configUi = require("@pie-lib/pie-toolbox/config-ui");
|
|
33
33
|
|
|
@@ -274,7 +274,7 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
|
274
274
|
}, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
275
275
|
label: teacherInstructions.label,
|
|
276
276
|
className: classes.promptHolder
|
|
277
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
277
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
278
278
|
className: classes.prompt,
|
|
279
279
|
markup: model.teacherInstructions || '',
|
|
280
280
|
onChange: onTeacherInstructionsChanged,
|
|
@@ -294,7 +294,7 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
|
294
294
|
})), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
295
295
|
label: prompt.label,
|
|
296
296
|
className: classes.promptHolder
|
|
297
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
297
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
298
298
|
className: classes.prompt,
|
|
299
299
|
markup: model.prompt,
|
|
300
300
|
onChange: onPromptChanged,
|
|
@@ -362,7 +362,7 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
|
362
362
|
key: "rationale-".concat(index),
|
|
363
363
|
label: rationale.label,
|
|
364
364
|
className: classes.rationaleHolder
|
|
365
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
365
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
366
366
|
className: classes.rationale,
|
|
367
367
|
markup: choice.rationale || '',
|
|
368
368
|
onChange: function onChange(c) {
|
|
@@ -387,7 +387,7 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
|
387
387
|
key: "accessibility-".concat(index),
|
|
388
388
|
label: accessibility.label,
|
|
389
389
|
className: classes.accessibilityHolder
|
|
390
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
390
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
391
391
|
className: classes.accessibility,
|
|
392
392
|
markup: choice.accessibility || '',
|
|
393
393
|
onChange: function onChange(c) {
|
|
@@ -607,4 +607,4 @@ exports.Main = Main;
|
|
|
607
607
|
var Styled = (0, _styles.withStyles)(styles)(Main);
|
|
608
608
|
var _default = Styled;
|
|
609
609
|
exports["default"] = _default;
|
|
610
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJQYW5lbCIsInNldHRpbmdzIiwidG9nZ2xlIiwicmFkaW8iLCJkcm9wZG93biIsIk1BWF9DSE9JQ0VTIiwic3R5bGVzIiwidGhlbWUiLCJwcm9tcHRIb2xkZXIiLCJ3aWR0aCIsInBhZGRpbmdUb3AiLCJzcGFjaW5nIiwidW5pdCIsIm1hcmdpbkJvdHRvbSIsInJhdGlvbmFsZUhvbGRlciIsImZsZXgiLCJtYXJnaW5Ub3AiLCJtYXJnaW5MZWZ0IiwiYWNjZXNzaWJpbGl0eUhvbGRlciIsImNob2ljZUNvbmZpZ3VyYXRpb25Ib2xkZXIiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImNob2ljZUNvbmZpZ3VyYXRpb24iLCJzd2l0Y2hFbGVtZW50IiwianVzdGlmeUNvbnRlbnQiLCJtYXJnaW4iLCJhZGRCdXR0b24iLCJkaXNhYmxlQnV0dG9uIiwiY3Vyc29yIiwicG9pbnRlckV2ZW50cyIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwiZGlzYWJsZWQiLCJmbGV4Q29udGFpbmVyIiwiYWxpZ25JdGVtcyIsInRpdGxlVGV4dCIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsIm1hcmdpblJpZ2h0IiwidG9vbHRpcCIsIndoaXRlU3BhY2UiLCJtYXhXaWR0aCIsImVycm9yVGV4dCIsInBhbGV0dGUiLCJlcnJvciIsIm1haW4iLCJEZXNpZ24iLCJwcm9wcyIsImNsYXNzZXMiLCJtb2RlbCIsImNvbmZpZ3VyYXRpb24iLCJvblByb21wdENoYW5nZWQiLCJvbkNob2ljZUNoYW5nZWQiLCJvblJlbW92ZUNob2ljZSIsIm9uQWRkQ2hvaWNlIiwiaW1hZ2VTdXBwb3J0IiwidXBsb2FkU291bmRTdXBwb3J0Iiwib25DaGFuZ2VNb2RlbCIsIm9uQ29uZmlndXJhdGlvbkNoYW5nZWQiLCJvblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkIiwiYWRkQ2hvaWNlQnV0dG9uIiwiY29udGVudERpbWVuc2lvbnMiLCJmZWVkYmFjayIsImRlbGV0ZUNob2ljZSIsImNob2ljZU1vZGUiLCJjaG9pY2VQcmVmaXgiLCJwYXJ0aWFsU2NvcmluZyIsImxvY2tDaG9pY2VPcmRlciIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJzdHVkZW50SW5zdHJ1Y3Rpb25zIiwicmF0aW9uYWxlIiwiYWNjZXNzaWJpbGl0eSIsInNjb3JpbmdUeXBlIiwic2VxdWVudGlhbENob2ljZUxhYmVscyIsInNldHRpbmdzUGFuZWxEaXNhYmxlZCIsImNob2ljZXNMYXlvdXQiLCJzcGVsbENoZWNrIiwiZ3JpZENvbHVtbnMiLCJtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VIZWlnaHQiLCJwcm9tcHQiLCJ3aXRoUnVicmljIiwibWF0aE1sT3B0aW9ucyIsImxhbmd1YWdlIiwibGFuZ3VhZ2VDaG9pY2VzIiwibWF4QW5zd2VyQ2hvaWNlcyIsImxpbWl0Q2hvaWNlc051bWJlciIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwicmF0aW9uYWxlRW5hYmxlZCIsImFjY2Vzc2liaWxpdHlMYWJlbHNFbmFibGVkIiwiZmVlZGJhY2tFbmFibGVkIiwicHJvbXB0RW5hYmxlZCIsInNwZWxsQ2hlY2tFbmFibGVkIiwiY2hvaWNlcyIsImVycm9ycyIsInRvb2xiYXJFZGl0b3JQb3NpdGlvbiIsImNob2ljZXNFcnJvcnMiLCJjb3JyZWN0UmVzcG9uc2VFcnJvciIsImFuc3dlckNob2ljZXNFcnJvciIsIm5yT2ZDb2x1bW5zQXZhaWxhYmxlIiwibGVuZ3RoIiwiQXJyYXkiLCJmcm9tIiwiXyIsImkiLCJsYWJlbFBsdWdpbnMiLCJhdWRpbyIsInZpZGVvIiwidG9vbGJhck9wdHMiLCJwb3NpdGlvbiIsInZhbGlkYXRpb25NZXNzYWdlIiwiZGVmYXVsdEltYWdlTWF4V2lkdGgiLCJkZWZhdWx0SW1hZ2VNYXhIZWlnaHQiLCJhZGRDaG9pY2VCdXR0b25Ub29sdGlwIiwicGFuZWxTZXR0aW5ncyIsImxhYmVsIiwiZW5hYmxlZCIsIm9wdGlvbnMiLCJwYW5lbFByb3BlcnRpZXMiLCJzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInJ1YnJpY0VuYWJsZWQiLCJTZXR0aW5ncyIsIlByb3BlcnRpZXMiLCJtYXAiLCJjaG9pY2UiLCJpbmRleCIsImMiLCJ2YWx1ZSIsInJvb3QiLCJNYWluIiwic2hvd1dhcm5pbmciLCJvbk1vZGVsQ2hhbmdlZCIsIm1pbkFuc3dlckNob2ljZXMiLCJzZXRTdGF0ZSIsInNwbGljZSIsInB1c2giLCJ1dGlscyIsImZpcnN0QXZhaWxhYmxlSW5kZXgiLCJ0eXBlIiwiY29ycmVjdCIsImtleSIsImNvcnJlY3RGb3VuZCIsInN0YXRlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiZGlzYWJsZVNpZGVQYW5lbCIsImJvb2wiLCJmdW5jIiwic2hhcGUiLCJhZGQiLCJTdHlsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQVFBLEtBQVIsR0FBMkNDLGtCQUEzQyxDQUFRRCxLQUFSO0FBQUEsSUFBZUUsTUFBZixHQUEyQ0Qsa0JBQTNDLENBQWVDLE1BQWY7QUFBQSxJQUF1QkMsS0FBdkIsR0FBMkNGLGtCQUEzQyxDQUF1QkUsS0FBdkI7QUFBQSxJQUE4QkMsUUFBOUIsR0FBMkNILGtCQUEzQyxDQUE4QkcsUUFBOUI7QUFFQSxJQUFNQyxXQUFXLEdBQUcsQ0FBcEI7O0FBRUEsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQVMsQ0FBQ0MsS0FBRDtBQUFBLFNBQVk7QUFDekJDLElBQUFBLFlBQVksRUFBRTtBQUNaQyxNQUFBQSxLQUFLLEVBQUUsTUFESztBQUVaQyxNQUFBQSxVQUFVLEVBQUVILEtBQUssQ0FBQ0ksT0FBTixDQUFjQyxJQUFkLEdBQXFCLENBRnJCO0FBR1pDLE1BQUFBLFlBQVksRUFBRU4sS0FBSyxDQUFDSSxPQUFO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a0JBQU1DLFM7OztpQ0FBbkJmLEksZUFDUTtBQUNqQmhGLEVBQUFBLEtBQUssRUFBRWdHLHNCQUFVQyxNQUFWLENBQWlCQyxVQURQO0FBRWpCakcsRUFBQUEsYUFBYSxFQUFFK0Ysc0JBQVVDLE1BQVYsQ0FBaUJDLFVBRmY7QUFHakJDLEVBQUFBLGdCQUFnQixFQUFFSCxzQkFBVUksSUFIWDtBQUlqQmxCLEVBQUFBLGNBQWMsRUFBRWMsc0JBQVVLLElBQVYsQ0FBZUgsVUFKZDtBQUtqQnpGLEVBQUFBLHNCQUFzQixFQUFFdUYsc0JBQVVLLElBQVYsQ0FBZUgsVUFMdEI7QUFNakJuRyxFQUFBQSxPQUFPLEVBQUVpRyxzQkFBVUMsTUFBVixDQUFpQkMsVUFOVDtBQU9qQjVGLEVBQUFBLFlBQVksRUFBRTBGLHNCQUFVTSxLQUFWLENBQWdCO0FBQzVCQyxJQUFBQSxHQUFHLEVBQUVQLHNCQUFVSyxJQUFWLENBQWVILFVBRFE7QUFFNUIsY0FBUUYsc0JBQVVLLElBQVYsQ0FBZUg7QUFGSyxHQUFoQjtBQVBHLEM7QUE2SXJCLElBQU1NLE1BQU0sR0FBRyx3QkFBV25KLE1BQVgsRUFBbUIySCxJQUFuQixDQUFmO2VBRWV3QixNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge0VkaXRhYmxlSHRtbH0gZnJvbSAnQHBpZS1saWIvcGllLXRvb2xib3gvZWRpdGFibGUtaHRtbCc7XG5pbXBvcnQge1xuICBBbGVydERpYWxvZyxcbiAgSW5wdXRDb250YWluZXIsXG4gIENob2ljZUNvbmZpZ3VyYXRpb24sXG4gIHNldHRpbmdzLFxuICBsYXlvdXQsXG4gIGNob2ljZVV0aWxzIGFzIHV0aWxzLFxufSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC9jb25maWctdWknO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC9yZW5kZXItdWknO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbic7XG5pbXBvcnQgVG9vbHRpcCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9Ub29sdGlwJztcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1R5cG9ncmFwaHknO1xuaW1wb3J0IEluZm8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0luZm8nO1xuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC9tZXJnZSc7XG5pbXBvcnQgeyBnZW5lcmF0ZVZhbGlkYXRpb25NZXNzYWdlIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IHsgUGFuZWwsIHRvZ2dsZSwgcmFkaW8sIGRyb3Bkb3duIH0gPSBzZXR0aW5ncztcblxuY29uc3QgTUFYX0NIT0lDRVMgPSA5O1xuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIHByb21wdEhvbGRlcjoge1xuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gIH0sXG4gIHJhdGlvbmFsZUhvbGRlcjoge1xuICAgIGZsZXg6IDEsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAxLjUsXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgICBtYXJnaW5MZWZ0OiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAzLjUsXG4gIH0sXG4gIGFjY2Vzc2liaWxpdHlIb2xkZXI6IHtcbiAgICBmbGV4OiAxLFxuICAgIG1hcmdpblRvcDogdGhlbWUuc3BhY2luZy51bml0ICogMS41LFxuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgbWFyZ2luTGVmdDogdGhlbWUuc3BhY2luZy51bml0ICogMy41LFxuICB9LFxuICBjaG9pY2VDb25maWd1cmF0aW9uSG9sZGVyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0LFxuICB9LFxuICBjaG9pY2VDb25maWd1cmF0aW9uOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgfSxcbiAgc3dpdGNoRWxlbWVudDoge1xuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgbWFyZ2luOiAwLFxuICB9LFxuICBhZGRCdXR0b246IHtcbiAgICBtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgICBmbG9hdDogJ3JpZ2h0JyxcbiAgfSxcbiAgZGlzYWJsZUJ1dHRvbjoge1xuICAgIGN1cnNvcjogJ25vdC1hbGxvd2VkJyxcbiAgICBwb2ludGVyRXZlbnRzOiAnYWxsJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmRpc2FibGVkKCksXG4gICAgJyY6aG92ZXInOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmRpc2FibGVkKCksXG4gICAgfSxcbiAgICAnJjpmb2N1cyc6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuZGlzYWJsZWQoKSxcbiAgICB9LFxuICB9LFxuICBmbGV4Q29udGFpbmVyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB9LFxuICB0aXRsZVRleHQ6IHtcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSArIDIsXG4gICAgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgfSxcbiAgdG9vbHRpcDoge1xuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplIC0gMixcbiAgICB3aGl0ZVNwYWNlOiAncHJlJyxcbiAgICBtYXhXaWR0aDogJzUwMHB4JyxcbiAgfSxcbiAgZXJyb3JUZXh0OiB7XG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLSAyLFxuICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmVycm9yLm1haW4sXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0LFxuICB9LFxufSk7XG5cbmNvbnN0IERlc2lnbiA9IHdpdGhTdHlsZXMoc3R5bGVzKSgocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGNsYXNzZXMsXG4gICAgbW9kZWwsXG4gICAgY29uZmlndXJhdGlvbixcbiAgICBvblByb21wdENoYW5nZWQsXG4gICAgb25DaG9pY2VDaGFuZ2VkLFxuICAgIG9uUmVtb3ZlQ2hvaWNlLFxuICAgIG9uQWRkQ2hvaWNlLFxuICAgIGltYWdlU3VwcG9ydCxcbiAgICB1cGxvYWRTb3VuZFN1cHBvcnQsXG4gICAgb25DaGFuZ2VNb2RlbCxcbiAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkLFxuICAgIG9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWQsXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCB7XG4gICAgYWRkQ2hvaWNlQnV0dG9uID0ge30sXG4gICAgY29udGVudERpbWVuc2lvbnMgPSB7fSxcbiAgICBmZWVkYmFjayA9IHt9LFxuICAgIGRlbGV0ZUNob2ljZSA9IHt9LFxuICAgIGNob2ljZU1vZGUgPSB7fSxcbiAgICBjaG9pY2VQcmVmaXggPSB7fSxcbiAgICBwYXJ0aWFsU2NvcmluZyA9IHt9LFxuICAgIGxvY2tDaG9pY2VPcmRlciA9IHt9LFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMgPSB7fSxcbiAgICBzdHVkZW50SW5zdHJ1Y3Rpb25zID0ge30sXG4gICAgcmF0aW9uYWxlID0ge30sXG4gICAgYWNjZXNzaWJpbGl0eSA9IHt9LFxuICAgIHNjb3JpbmdUeXBlID0ge30sXG4gICAgc2VxdWVudGlhbENob2ljZUxhYmVscyA9IHt9LFxuICAgIHNldHRpbmdzUGFuZWxEaXNhYmxlZCxcbiAgICBjaG9pY2VzTGF5b3V0LFxuICAgIHNwZWxsQ2hlY2sgPSB7fSxcbiAgICBncmlkQ29sdW1ucyxcbiAgICBtYXhJbWFnZVdpZHRoID0ge30sXG4gICAgbWF4SW1hZ2VIZWlnaHQgPSB7fSxcbiAgICBwcm9tcHQgPSB7fSxcbiAgICB3aXRoUnVicmljID0ge30sXG4gICAgbWF0aE1sT3B0aW9ucyA9IHt9LFxuICAgIGxhbmd1YWdlID0ge30sXG4gICAgbGFuZ3VhZ2VDaG9pY2VzID0ge30sXG4gIH0gPSBjb25maWd1cmF0aW9uIHx8IHt9O1xuICBsZXQgeyBtYXhBbnN3ZXJDaG9pY2VzIH0gPSBjb25maWd1cmF0aW9uIHx8IHt9O1xuICBjb25zdCB7XG4gICAgbGltaXRDaG9pY2VzTnVtYmVyLFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkLFxuICAgIHJhdGlvbmFsZUVuYWJsZWQsXG4gICAgYWNjZXNzaWJpbGl0eUxhYmVsc0VuYWJsZWQsXG4gICAgZmVlZGJhY2tFbmFibGVkLFxuICAgIHByb21wdEVuYWJsZWQsXG4gICAgc3BlbGxDaGVja0VuYWJsZWQsXG4gICAgY2hvaWNlcyxcbiAgICBlcnJvcnMsXG4gICAgdG9vbGJhckVkaXRvclBvc2l0aW9uLFxuICB9ID0gbW9kZWwgfHwge307XG5cbiAgY29uc3QgeyBjaG9pY2VzRXJyb3JzLCBjb3JyZWN0UmVzcG9uc2VFcnJvciwgYW5zd2VyQ2hvaWNlc0Vycm9yIH0gPSBlcnJvcnMgfHwge307XG4gIGNvbnN0IG5yT2ZDb2x1bW5zQXZhaWxhYmxlID0gY2hvaWNlcz8ubGVuZ3RoID8gQXJyYXkuZnJvbSh7IGxlbmd0aDogY2hvaWNlcy5sZW5ndGggfSwgKF8sIGkpID0+IGAke2kgKyAxfWApIDogW107XG5cbiAgY29uc3QgbGFiZWxQbHVnaW5zID0ge1xuICAgIGF1ZGlvOiB7IGRpc2FibGVkOiB0cnVlIH0sXG4gICAgdmlkZW86IHsgZGlzYWJsZWQ6IHRydWUgfSxcbiAgfTtcblxuICBjb25zdCB0b29sYmFyT3B0cyA9IHtcbiAgICBwb3NpdGlvbjogdG9vbGJhckVkaXRvclBvc2l0aW9uID09PSAndG9wJyA/ICd0b3AnIDogJ2JvdHRvbScsXG4gIH07XG5cbiAgLy8gaWYgb2xkIHByb3BlcnR5IGlzIHVzZWQsIHNldCBtYXhBbnN3ZXJDaG9pY2VzIHRvIDlcbiAgaWYgKGxpbWl0Q2hvaWNlc051bWJlcikge1xuICAgIG1heEFuc3dlckNob2ljZXMgPSBNQVhfQ0hPSUNFUztcbiAgfVxuXG4gIGNvbnN0IHZhbGlkYXRpb25NZXNzYWdlID0gZ2VuZXJhdGVWYWxpZGF0aW9uTWVzc2FnZShjb25maWd1cmF0aW9uKTtcbiAgY29uc3QgZGVmYXVsdEltYWdlTWF4V2lkdGggPSBtYXhJbWFnZVdpZHRoICYmIG1heEltYWdlV2lkdGgucHJvbXB0O1xuICBjb25zdCBkZWZhdWx0SW1hZ2VNYXhIZWlnaHQgPSBtYXhJbWFnZUhlaWdodCAmJiBtYXhJbWFnZUhlaWdodC5wcm9tcHQ7XG4gIGNvbnN0IGFkZENob2ljZUJ1dHRvblRvb2x0aXAgPVxuICAgIG1heEFuc3dlckNob2ljZXMgJiYgY2hvaWNlcz8ubGVuZ3RoID49IG1heEFuc3dlckNob2ljZXMgPyBgT25seSAke21heEFuc3dlckNob2ljZXN9IGFsbG93ZWQgbWF4aW11bWAgOiAnJztcblxuICBjb25zdCBwYW5lbFNldHRpbmdzID0ge1xuICAgIGNob2ljZU1vZGU6IGNob2ljZU1vZGUuc2V0dGluZ3MgJiYgcmFkaW8oY2hvaWNlTW9kZS5sYWJlbCwgWydjaGVja2JveCcsICdyYWRpbyddKSxcbiAgICAnc2VxdWVudGlhbENob2ljZUxhYmVscy5lbmFibGVkJzogc2VxdWVudGlhbENob2ljZUxhYmVscy5zZXR0aW5ncyAmJiB0b2dnbGUoc2VxdWVudGlhbENob2ljZUxhYmVscy5sYWJlbCwgdHJ1ZSksXG4gICAgY2hvaWNlUHJlZml4OiBjaG9pY2VQcmVmaXguc2V0dGluZ3MgJiYgcmFkaW8oY2hvaWNlUHJlZml4LmxhYmVsLCBbJ251bWJlcnMnLCAnbGV0dGVycyddKSxcbiAgICBwYXJ0aWFsU2NvcmluZzogcGFydGlhbFNjb3Jpbmcuc2V0dGluZ3MgJiYgdG9nZ2xlKHBhcnRpYWxTY29yaW5nLmxhYmVsKSxcbiAgICBsb2NrQ2hvaWNlT3JkZXI6IGxvY2tDaG9pY2VPcmRlci5zZXR0aW5ncyAmJiB0b2dnbGUobG9ja0Nob2ljZU9yZGVyLmxhYmVsKSxcbiAgICBmZWVkYmFja0VuYWJsZWQ6IGZlZWRiYWNrLnNldHRpbmdzICYmIHRvZ2dsZShmZWVkYmFjay5sYWJlbCksXG4gICAgY2hvaWNlc0xheW91dDogY2hvaWNlc0xheW91dC5zZXR0aW5ncyAmJiBkcm9wZG93bihjaG9pY2VzTGF5b3V0LmxhYmVsLCBbJ3ZlcnRpY2FsJywgJ2dyaWQnLCAnaG9yaXpvbnRhbCddKSxcbiAgICBncmlkQ29sdW1uczpcbiAgICAgIGNob2ljZXNMYXlvdXQuc2V0dGluZ3MgJiZcbiAgICAgIG1vZGVsLmNob2ljZXNMYXlvdXQgPT09ICdncmlkJyAmJlxuICAgICAgbnJPZkNvbHVtbnNBdmFpbGFibGUubGVuZ3RoID4gMCAmJlxuICAgICAgZHJvcGRvd24oZ3JpZENvbHVtbnMubGFiZWwsIG5yT2ZDb2x1bW5zQXZhaWxhYmxlKSxcbiAgICAnbGFuZ3VhZ2UuZW5hYmxlZCc6IGxhbmd1YWdlLnNldHRpbmdzICYmIHRvZ2dsZShsYW5ndWFnZS5sYWJlbCwgdHJ1ZSksXG4gICAgbGFuZ3VhZ2U6IGxhbmd1YWdlLnNldHRpbmdzICYmIGxhbmd1YWdlLmVuYWJsZWQgJiYgZHJvcGRvd24obGFuZ3VhZ2VDaG9pY2VzLmxhYmVsLCBsYW5ndWFnZUNob2ljZXMub3B0aW9ucyksXG4gIH07XG5cbiAgY29uc3QgcGFuZWxQcm9wZXJ0aWVzID0ge1xuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOiB0ZWFjaGVySW5zdHJ1Y3Rpb25zLnNldHRpbmdzICYmIHRvZ2dsZSh0ZWFjaGVySW5zdHJ1Y3Rpb25zLmxhYmVsKSxcbiAgICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogc3R1ZGVudEluc3RydWN0aW9ucy5zZXR0aW5ncyAmJiB0b2dnbGUoc3R1ZGVudEluc3RydWN0aW9ucy5sYWJlbCksXG4gICAgcHJvbXB0RW5hYmxlZDogcHJvbXB0LnNldHRpbmdzICYmIHRvZ2dsZShwcm9tcHQubGFiZWwpLFxuICAgIHJhdGlvbmFsZUVuYWJsZWQ6IHJhdGlvbmFsZS5zZXR0aW5ncyAmJiB0b2dnbGUocmF0aW9uYWxlLmxhYmVsKSxcbiAgICBzcGVsbENoZWNrRW5hYmxlZDogc3BlbGxDaGVjay5zZXR0aW5ncyAmJiB0b2dnbGUoc3BlbGxDaGVjay5sYWJlbCksXG4gICAgYWNjZXNzaWJpbGl0eUxhYmVsc0VuYWJsZWQ6IGFjY2Vzc2liaWxpdHkuc2V0dGluZ3MgJiYgdG9nZ2xlKGFjY2Vzc2liaWxpdHkubGFiZWwpLFxuICAgIHNjb3JpbmdUeXBlOiBzY29yaW5nVHlwZS5zZXR0aW5ncyAmJiByYWRpbyhzY29yaW5nVHlwZS5sYWJlbCwgWydhdXRvJywgJ3J1YnJpYyddKSxcbiAgICBydWJyaWNFbmFibGVkOiB3aXRoUnVicmljPy5zZXR0aW5ncyAmJiB0b2dnbGUod2l0aFJ1YnJpYz8ubGFiZWwpLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGxheW91dC5Db25maWdMYXlvdXRcbiAgICAgIGRpbWVuc2lvbnM9e2NvbnRlbnREaW1lbnNpb25zfVxuICAgICAgaGlkZVNldHRpbmdzPXtzZXR0aW5nc1BhbmVsRGlzYWJsZWR9XG4gICAgICBzZXR0aW5ncz17XG4gICAgICAgIDxQYW5lbFxuICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICBvbkNoYW5nZU1vZGVsPXtvbkNoYW5nZU1vZGVsfVxuICAgICAgICAgIGNvbmZpZ3VyYXRpb249e2NvbmZpZ3VyYXRpb259XG4gICAgICAgICAgb25DaGFuZ2VDb25maWd1cmF0aW9uPXtvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkfVxuICAgICAgICAgIGdyb3Vwcz17e1xuICAgICAgICAgICAgU2V0dGluZ3M6IHBhbmVsU2V0dGluZ3MsXG4gICAgICAgICAgICBQcm9wZXJ0aWVzOiBwYW5lbFByb3BlcnRpZXMsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICA+XG4gICAgICB7dGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQgJiYgKFxuICAgICAgICA8SW5wdXRDb250YWluZXIgbGFiZWw9e3RlYWNoZXJJbnN0cnVjdGlvbnMubGFiZWx9IGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHRIb2xkZXJ9PlxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICBtYXJrdXA9e21vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnMgfHwgJyd9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25UZWFjaGVySW5zdHJ1Y3Rpb25zQ2hhbmdlZH1cbiAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgbm9uRW1wdHk9e2ZhbHNlfVxuICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICBtYXhJbWFnZVdpZHRoPXsobWF4SW1hZ2VXaWR0aCAmJiBtYXhJbWFnZVdpZHRoLnRlYWNoZXJJbnN0cnVjdGlvbnMpIHx8IGRlZmF1bHRJbWFnZU1heFdpZHRofVxuICAgICAgICAgICAgbWF4SW1hZ2VIZWlnaHQ9eyhtYXhJbWFnZUhlaWdodCAmJiBtYXhJbWFnZUhlaWdodC50ZWFjaGVySW5zdHJ1Y3Rpb25zKSB8fCBkZWZhdWx0SW1hZ2VNYXhIZWlnaHR9XG4gICAgICAgICAgICB1cGxvYWRTb3VuZFN1cHBvcnQ9e3VwbG9hZFNvdW5kU3VwcG9ydH1cbiAgICAgICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH0sIHsgbGFuZ3VhZ2U6ICdzcGVjaWFsJyB9XX1cbiAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICl9XG5cbiAgICAgIHtwcm9tcHRFbmFibGVkICYmIChcbiAgICAgICAgPElucHV0Q29udGFpbmVyIGxhYmVsPXtwcm9tcHQubGFiZWx9IGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHRIb2xkZXJ9PlxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICBtYXJrdXA9e21vZGVsLnByb21wdH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvblByb21wdENoYW5nZWR9XG4gICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgIG5vbkVtcHR5PXtmYWxzZX1cbiAgICAgICAgICAgIGRpc2FibGVVbmRlcmxpbmVcbiAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgbWF4SW1hZ2VXaWR0aD17bWF4SW1hZ2VXaWR0aCAmJiBtYXhJbWFnZVdpZHRoLnByb21wdH1cbiAgICAgICAgICAgIG1heEltYWdlSGVpZ2h0PXttYXhJbWFnZUhlaWdodCAmJiBtYXhJbWFnZUhlaWdodC5wcm9tcHR9XG4gICAgICAgICAgICB1cGxvYWRTb3VuZFN1cHBvcnQ9e3VwbG9hZFNvdW5kU3VwcG9ydH1cbiAgICAgICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH0sIHsgbGFuZ3VhZ2U6ICdzcGVjaWFsJyB9XX1cbiAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICl9XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmZsZXhDb250YWluZXJ9PlxuICAgICAgICA8VHlwb2dyYXBoeSBjbGFzc05hbWU9e2NsYXNzZXMudGl0bGVUZXh0fT5DaG9pY2VzPC9UeXBvZ3JhcGh5PlxuICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgIGNsYXNzZXM9e3sgdG9vbHRpcDogY2xhc3Nlcy50b29sdGlwIH19XG4gICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXJcbiAgICAgICAgICBkaXNhYmxlVG91Y2hMaXN0ZW5lclxuICAgICAgICAgIHBsYWNlbWVudD17J3JpZ2h0J31cbiAgICAgICAgICB0aXRsZT17dmFsaWRhdGlvbk1lc3NhZ2V9XG4gICAgICAgID5cbiAgICAgICAgICA8SW5mbyBmb250U2l6ZT17J3NtYWxsJ30gY29sb3I9eydwcmltYXJ5J30gLz5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtjaG9pY2VzLm1hcCgoY2hvaWNlLCBpbmRleCkgPT4gKFxuICAgICAgICA8ZGl2IGtleT17YGNob2ljZS0ke2luZGV4fWB9IGNsYXNzTmFtZT17Y2xhc3Nlcy5jaG9pY2VDb25maWd1cmF0aW9uSG9sZGVyfT5cbiAgICAgICAgICA8Q2hvaWNlQ29uZmlndXJhdGlvblxuICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIGluZGV4PXtpbmRleCArIDF9XG4gICAgICAgICAgICB1c2VMZXR0ZXJPcmRlcmluZz17bW9kZWwuY2hvaWNlUHJlZml4ID09PSAnbGV0dGVycyd9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuY2hvaWNlQ29uZmlndXJhdGlvbn1cbiAgICAgICAgICAgIG1vZGU9e21vZGVsLmNob2ljZU1vZGV9XG4gICAgICAgICAgICBkYXRhPXtjaG9pY2V9XG4gICAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e3t9fVxuICAgICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zPXt0cnVlfVxuICAgICAgICAgICAgb25EZWxldGU9eygpID0+IG9uUmVtb3ZlQ2hvaWNlKGluZGV4KX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoYykgPT4gb25DaG9pY2VDaGFuZ2VkKGluZGV4LCBjKX1cbiAgICAgICAgICAgIGFsbG93RmVlZEJhY2s9e2ZlZWRiYWNrRW5hYmxlZH1cbiAgICAgICAgICAgIGFsbG93RGVsZXRlPXtkZWxldGVDaG9pY2Uuc2V0dGluZ3N9XG4gICAgICAgICAgICBub0xhYmVsc1xuICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17Y2hvaWNlc0Vycm9ycz8uW2Nob2ljZS52YWx1ZV0gfHwgbnVsbH1cbiAgICAgICAgICAgIG5vQ29ycmVjdEFuc3dlckVycm9yPXtjb3JyZWN0UmVzcG9uc2VFcnJvcn1cbiAgICAgICAgICAgIG1heEltYWdlV2lkdGg9eyhtYXhJbWFnZVdpZHRoICYmIG1heEltYWdlV2lkdGguY2hvaWNlcykgfHwgZGVmYXVsdEltYWdlTWF4V2lkdGh9XG4gICAgICAgICAgICBtYXhJbWFnZUhlaWdodD17KG1heEltYWdlSGVpZ2h0ICYmIG1heEltYWdlSGVpZ2h0LmNob2ljZXMpIHx8IGRlZmF1bHRJbWFnZU1heEhlaWdodH1cbiAgICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAge3JhdGlvbmFsZUVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIGtleT17YHJhdGlvbmFsZS0ke2luZGV4fWB9IGxhYmVsPXtyYXRpb25hbGUubGFiZWx9IGNsYXNzTmFtZT17Y2xhc3Nlcy5yYXRpb25hbGVIb2xkZXJ9PlxuICAgICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnJhdGlvbmFsZX1cbiAgICAgICAgICAgICAgICBtYXJrdXA9e2Nob2ljZS5yYXRpb25hbGUgfHwgJyd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhjKSA9PiBvbkNob2ljZUNoYW5nZWQoaW5kZXgsIHsgLi4uY2hvaWNlLCByYXRpb25hbGU6IGMgfSl9XG4gICAgICAgICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgICAgIHBsdWdpblByb3BzPXtsYWJlbFBsdWdpbnN9XG4gICAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgbWF4SW1hZ2VXaWR0aD17KG1heEltYWdlV2lkdGggJiYgbWF4SW1hZ2VXaWR0aC5yYXRpb25hbGUpIHx8IGRlZmF1bHRJbWFnZU1heFdpZHRofVxuICAgICAgICAgICAgICAgIG1heEltYWdlSGVpZ2h0PXsobWF4SW1hZ2VIZWlnaHQgJiYgbWF4SW1hZ2VIZWlnaHQucmF0aW9uYWxlKSB8fCBkZWZhdWx0SW1hZ2VNYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgdXBsb2FkU291bmRTdXBwb3J0PXt1cGxvYWRTb3VuZFN1cHBvcnR9XG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHM9e1t7IGxhbmd1YWdlOiAnc3BhbmlzaCcgfSwgeyBsYW5ndWFnZTogJ3NwZWNpYWwnIH1dfVxuICAgICAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7YWNjZXNzaWJpbGl0eUxhYmVsc0VuYWJsZWQgJiYgKFxuICAgICAgICAgICAgPElucHV0Q29udGFpbmVyXG4gICAgICAgICAgICAgIGtleT17YGFjY2Vzc2liaWxpdHktJHtpbmRleH1gfVxuICAgICAgICAgICAgICBsYWJlbD17YWNjZXNzaWJpbGl0eS5sYWJlbH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmFjY2Vzc2liaWxpdHlIb2xkZXJ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYWNjZXNzaWJpbGl0eX1cbiAgICAgICAgICAgICAgICBtYXJrdXA9e2Nob2ljZS5hY2Nlc3NpYmlsaXR5IHx8ICcnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoYykgPT4gb25DaG9pY2VDaGFuZ2VkKGluZGV4LCB7IC4uLmNob2ljZSwgYWNjZXNzaWJpbGl0eTogYyB9KX1cbiAgICAgICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgICAgICBwbHVnaW5Qcm9wcz17bGFiZWxQbHVnaW5zfVxuICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1heEltYWdlV2lkdGg9eyhtYXhJbWFnZVdpZHRoICYmIG1heEltYWdlV2lkdGguY2hvaWNlcykgfHwgZGVmYXVsdEltYWdlTWF4V2lkdGh9XG4gICAgICAgICAgICAgICAgbWF4SW1hZ2VIZWlnaHQ9eyhtYXhJbWFnZUhlaWdodCAmJiBtYXhJbWFnZUhlaWdodC5jaG9pY2VzKSB8fCBkZWZhdWx0SW1hZ2VNYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgdXBsb2FkU291bmRTdXBwb3J0PXt1cGxvYWRTb3VuZFN1cHBvcnR9XG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHM9e1t7IGxhbmd1YWdlOiAnc3BhbmlzaCcgfSwgeyBsYW5ndWFnZTogJ3NwZWNpYWwnIH1dfVxuICAgICAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSl9XG5cbiAgICAgIHtjb3JyZWN0UmVzcG9uc2VFcnJvciAmJiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5lcnJvclRleHR9Pntjb3JyZWN0UmVzcG9uc2VFcnJvcn08L2Rpdj59XG4gICAgICB7YW5zd2VyQ2hvaWNlc0Vycm9yICYmIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmVycm9yVGV4dH0+e2Fuc3dlckNob2ljZXNFcnJvcn08L2Rpdj59XG5cbiAgICAgIHthZGRDaG9pY2VCdXR0b24uc2V0dGluZ3MgJiYgKFxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17YWRkQ2hvaWNlQnV0dG9uVG9vbHRpcH0gY2xhc3Nlcz17eyB0b29sdGlwOiBjbGFzc2VzLnRvb2x0aXAgfX0+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgY2xhc3Nlcz17eyByb290OiBtYXhBbnN3ZXJDaG9pY2VzICYmIGNob2ljZXM/Lmxlbmd0aCA+PSBtYXhBbnN3ZXJDaG9pY2VzICYmIGNsYXNzZXMuZGlzYWJsZUJ1dHRvbiB9fVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmFkZEJ1dHRvbn1cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJjb250YWluZWRcIlxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQWRkQ2hvaWNlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHthZGRDaG9pY2VCdXR0b24ubGFiZWx9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICl9XG4gICAgPC9sYXlvdXQuQ29uZmlnTGF5b3V0PlxuICApO1xufSk7XG5cbmV4cG9ydCBjbGFzcyBNYWluIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNvbmZpZ3VyYXRpb246IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBkaXNhYmxlU2lkZVBhbmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbk1vZGVsQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBpbWFnZVN1cHBvcnQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBhZGQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBkZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfSksXG4gIH07XG5cbiAgc3RhdGUgPSB7IHNob3dXYXJuaW5nOiBmYWxzZSB9O1xuXG4gIG9uUmVtb3ZlQ2hvaWNlID0gKGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBtb2RlbCwgY29uZmlndXJhdGlvbiwgb25Nb2RlbENoYW5nZWQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBtaW5BbnN3ZXJDaG9pY2VzIH0gPSBjb25maWd1cmF0aW9uIHx8IHt9O1xuXG4gICAgaWYgKG1pbkFuc3dlckNob2ljZXMgJiYgbW9kZWwuY2hvaWNlcy5sZW5ndGggPT09IG1pbkFuc3dlckNob2ljZXMpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93V2FybmluZzogdHJ1ZSB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1vZGVsLmNob2ljZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICBvbk1vZGVsQ2hhbmdlZChtb2RlbCk7XG4gIH07XG5cbiAgb25BZGRDaG9pY2UgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBtb2RlbCwgY29uZmlndXJhdGlvbiwgb25Nb2RlbENoYW5nZWQgfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IHsgbWF4QW5zd2VyQ2hvaWNlcyB9ID0gY29uZmlndXJhdGlvbiB8fCB7fTtcbiAgICBjb25zdCB7IGxpbWl0Q2hvaWNlc051bWJlciB9ID0gbW9kZWwgfHwge307XG5cbiAgICAvLyBpZiBvbGQgcHJvcGVydHkgaXMgdXNlZCwgc2V0IG1heEFuc3dlckNob2ljZXMgdG8gOVxuICAgIGlmIChsaW1pdENob2ljZXNOdW1iZXIpIHtcbiAgICAgIG1heEFuc3dlckNob2ljZXMgPSBNQVhfQ0hPSUNFUztcbiAgICB9XG5cbiAgICBpZiAobWF4QW5zd2VyQ2hvaWNlcyAmJiBtb2RlbC5jaG9pY2VzLmxlbmd0aCA+PSBtYXhBbnN3ZXJDaG9pY2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbW9kZWwuY2hvaWNlcy5wdXNoKHtcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHZhbHVlOiB1dGlscy5maXJzdEF2YWlsYWJsZUluZGV4KFxuICAgICAgICBtb2RlbC5jaG9pY2VzLm1hcCgoYykgPT4gYy52YWx1ZSksXG4gICAgICAgIDAsXG4gICAgICApLFxuICAgICAgZmVlZGJhY2s6IHsgdHlwZTogJ25vbmUnIH0sXG4gICAgfSk7XG5cbiAgICBvbk1vZGVsQ2hhbmdlZChtb2RlbCk7XG4gIH07XG5cbiAgb25DaG9pY2VDaGFuZ2VkID0gKGluZGV4LCBjaG9pY2UpID0+IHtcbiAgICBjb25zdCB7IG1vZGVsLCBvbk1vZGVsQ2hhbmdlZCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjaG9pY2UuY29ycmVjdCAmJiBtb2RlbC5jaG9pY2VNb2RlID09PSAncmFkaW8nKSB7XG4gICAgICBtb2RlbC5jaG9pY2VzID0gbW9kZWwuY2hvaWNlcy5tYXAoKGMpID0+IG1lcmdlKHt9LCBjLCB7IGNvcnJlY3Q6IGZhbHNlIH0pKTtcbiAgICB9XG5cbiAgICBtb2RlbC5jaG9pY2VzLnNwbGljZShpbmRleCwgMSwgY2hvaWNlKTtcbiAgICBvbk1vZGVsQ2hhbmdlZChtb2RlbCk7XG4gIH07XG5cbiAgb25Qcm9tcHRDaGFuZ2VkID0gKHByb21wdCkgPT4ge1xuICAgIHRoaXMucHJvcHMub25Nb2RlbENoYW5nZWQoe1xuICAgICAgLi4udGhpcy5wcm9wcy5tb2RlbCxcbiAgICAgIHByb21wdCxcbiAgICB9KTtcbiAgfTtcblxuICBvblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkID0gKHRlYWNoZXJJbnN0cnVjdGlvbnMpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uTW9kZWxDaGFuZ2VkKHtcbiAgICAgIC4uLnRoaXMucHJvcHMubW9kZWwsXG4gICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zLFxuICAgIH0pO1xuICB9O1xuXG4gIG9uTW9kZWxDaGFuZ2VkID0gKG1vZGVsLCBrZXkpID0+IHtcbiAgICBjb25zdCB7IG9uTW9kZWxDaGFuZ2VkIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgJ2Nob2ljZU1vZGUnOiB7XG4gICAgICAgIGxldCB2YWx1ZSA9IG1vZGVsLmNob2ljZU1vZGU7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSAncmFkaW8nKSB7XG4gICAgICAgICAgbGV0IGNvcnJlY3RGb3VuZCA9IGZhbHNlO1xuXG4gICAgICAgICAgbW9kZWwuY2hvaWNlcyA9IG1vZGVsLmNob2ljZXMubWFwKChjKSA9PiB7XG4gICAgICAgICAgICBpZiAoY29ycmVjdEZvdW5kKSB7XG4gICAgICAgICAgICAgIGMuY29ycmVjdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYy5jb3JyZWN0KSB7XG4gICAgICAgICAgICAgIGNvcnJlY3RGb3VuZCA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgb25Nb2RlbENoYW5nZWQobW9kZWwsIHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgb25Nb2RlbENoYW5nZWQobW9kZWwpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY29uZmlndXJhdGlvbjogeyBtaW5BbnN3ZXJDaG9pY2VzIH0gPSB7fSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNob3dXYXJuaW5nIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgPEFsZXJ0RGlhbG9nXG4gICAgICAgICAgb3Blbj17c2hvd1dhcm5pbmd9XG4gICAgICAgICAgdGl0bGU9XCJXYXJuaW5nXCJcbiAgICAgICAgICB0ZXh0PXtgVGhlcmUgY2FuJ3QgYmUgbGVzcyB0aGFuICR7bWluQW5zd2VyQ2hvaWNlcyB8fCAwfSBjaG9pY2VzLmB9XG4gICAgICAgICAgb25Db25maXJtPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc2hvd1dhcm5pbmc6IGZhbHNlIH0pfVxuICAgICAgICAvPlxuICAgICAgICA8RGVzaWduXG4gICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgb25DaGFuZ2VNb2RlbD17dGhpcy5vbk1vZGVsQ2hhbmdlZH1cbiAgICAgICAgICBvblJlbW92ZUNob2ljZT17dGhpcy5vblJlbW92ZUNob2ljZX1cbiAgICAgICAgICBvbkNob2ljZUNoYW5nZWQ9e3RoaXMub25DaG9pY2VDaGFuZ2VkfVxuICAgICAgICAgIG9uQWRkQ2hvaWNlPXt0aGlzLm9uQWRkQ2hvaWNlfVxuICAgICAgICAgIG9uUHJvbXB0Q2hhbmdlZD17dGhpcy5vblByb21wdENoYW5nZWR9XG4gICAgICAgICAgb25UZWFjaGVySW5zdHJ1Y3Rpb25zQ2hhbmdlZD17dGhpcy5vblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkfVxuICAgICAgICAvPlxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFN0eWxlZCA9IHdpdGhTdHlsZXMoc3R5bGVzKShNYWluKTtcblxuZXhwb3J0IGRlZmF1bHQgU3R5bGVkO1xuIl19
|
|
610
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","radio","dropdown","MAX_CHOICES","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","rationaleHolder","flex","marginTop","marginLeft","accessibilityHolder","choiceConfigurationHolder","display","flexDirection","choiceConfiguration","switchElement","justifyContent","margin","addButton","disableButton","cursor","pointerEvents","backgroundColor","color","disabled","flexContainer","alignItems","titleText","fontSize","typography","marginRight","tooltip","whiteSpace","maxWidth","errorText","palette","error","main","Design","props","classes","model","configuration","onPromptChanged","onChoiceChanged","onRemoveChoice","onAddChoice","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","addChoiceButton","contentDimensions","feedback","deleteChoice","choiceMode","choicePrefix","partialScoring","lockChoiceOrder","teacherInstructions","studentInstructions","rationale","accessibility","scoringType","sequentialChoiceLabels","settingsPanelDisabled","choicesLayout","spellCheck","gridColumns","maxImageWidth","maxImageHeight","prompt","withRubric","mathMlOptions","language","languageChoices","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","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","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/pie-toolbox/editable-html';\nimport {\n AlertDialog,\n InputContainer,\n ChoiceConfiguration,\n settings,\n layout,\n choiceUtils as utils,\n} from '@pie-lib/pie-toolbox/config-ui';\nimport { color } from '@pie-lib/pie-toolbox/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 paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n rationaleHolder: {\n flex: 1,\n marginTop: theme.spacing.unit * 1.5,\n paddingTop: theme.spacing.unit * 2,\n marginLeft: theme.spacing.unit * 3.5,\n },\n accessibilityHolder: {\n flex: 1,\n marginTop: theme.spacing.unit * 1.5,\n paddingTop: theme.spacing.unit * 2,\n marginLeft: theme.spacing.unit * 3.5,\n },\n choiceConfigurationHolder: {\n display: 'flex',\n flexDirection: 'column',\n marginBottom: theme.spacing.unit,\n },\n choiceConfiguration: {\n width: '100%',\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0,\n },\n addButton: {\n marginTop: theme.spacing.unit,\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 },\n titleText: {\n fontSize: theme.typography.fontSize + 2,\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: theme.palette.error.main,\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 addChoiceButton = {},\n contentDimensions = {},\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 prompt = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\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 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\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 dimensions={contentDimensions}\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 {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 mathMlOptions={mathMlOptions}\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 mathMlOptions={mathMlOptions}\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 mathMlOptions={mathMlOptions}\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 mathMlOptions={mathMlOptions}\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 mathMlOptions={mathMlOptions}\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 </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"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","radio","dropdown","MAX_CHOICES","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","rationaleHolder","flex","marginTop","marginLeft","accessibilityHolder","choiceConfigurationHolder","display","flexDirection","choiceConfiguration","switchElement","justifyContent","margin","addButton","disableButton","cursor","pointerEvents","backgroundColor","color","disabled","flexContainer","alignItems","titleText","fontSize","typography","marginRight","tooltip","whiteSpace","maxWidth","errorText","palette","error","main","Design","props","classes","model","configuration","onPromptChanged","onChoiceChanged","onRemoveChoice","onAddChoice","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","addChoiceButton","contentDimensions","feedback","deleteChoice","choiceMode","choicePrefix","partialScoring","lockChoiceOrder","teacherInstructions","studentInstructions","rationale","accessibility","scoringType","sequentialChoiceLabels","settingsPanelDisabled","choicesLayout","spellCheck","gridColumns","maxImageWidth","maxImageHeight","prompt","withRubric","mathMlOptions","language","languageChoices","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","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","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/pie-toolbox/editable-html';\nimport {\n AlertDialog,\n InputContainer,\n ChoiceConfiguration,\n settings,\n layout,\n choiceUtils as utils,\n} from '@pie-lib/pie-toolbox/config-ui';\nimport { color } from '@pie-lib/pie-toolbox/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 paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n rationaleHolder: {\n flex: 1,\n marginTop: theme.spacing.unit * 1.5,\n paddingTop: theme.spacing.unit * 2,\n marginLeft: theme.spacing.unit * 3.5,\n },\n accessibilityHolder: {\n flex: 1,\n marginTop: theme.spacing.unit * 1.5,\n paddingTop: theme.spacing.unit * 2,\n marginLeft: theme.spacing.unit * 3.5,\n },\n choiceConfigurationHolder: {\n display: 'flex',\n flexDirection: 'column',\n marginBottom: theme.spacing.unit,\n },\n choiceConfiguration: {\n width: '100%',\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0,\n },\n addButton: {\n marginTop: theme.spacing.unit,\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 },\n titleText: {\n fontSize: theme.typography.fontSize + 2,\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: theme.palette.error.main,\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 addChoiceButton = {},\n contentDimensions = {},\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 prompt = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\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 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\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 dimensions={contentDimensions}\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 {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 mathMlOptions={mathMlOptions}\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 mathMlOptions={mathMlOptions}\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 mathMlOptions={mathMlOptions}\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 mathMlOptions={mathMlOptions}\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 mathMlOptions={mathMlOptions}\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 </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
|
|
@@ -15,4 +15,4 @@ var _default = {
|
|
|
15
15
|
gridColumns: '2'
|
|
16
16
|
};
|
|
17
17
|
exports["default"] = _default;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=defaults.js.map
|
package/controller/lib/index.js
CHANGED
|
@@ -303,4 +303,4 @@ var validate = function validate() {
|
|
|
303
303
|
};
|
|
304
304
|
|
|
305
305
|
exports.validate = validate;
|
|
306
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJwcmVwYXJlQ2hvaWNlIiwibW9kZWwiLCJlbnYiLCJkZWZhdWx0RmVlZGJhY2siLCJjaG9pY2UiLCJyb2xlIiwibW9kZSIsIm91dCIsImxhYmVsIiwidmFsdWUiLCJhY2Nlc3NpYmlsaXR5TGFiZWxzRW5hYmxlZCIsImFjY2Vzc2liaWxpdHkiLCJ0ZXh0Q29udGVudCIsInJhdGlvbmFsZSIsInJhdGlvbmFsZUVuYWJsZWQiLCJjb3JyZWN0IiwiZmVlZGJhY2tFbmFibGVkIiwiZmVlZGJhY2tUeXBlIiwiZmVlZGJhY2siLCJ0eXBlIiwiY3JlYXRlRGVmYXVsdE1vZGVsIiwiUHJvbWlzZSIsInJlc29sdmUiLCJkZWZhdWx0cyIsIm5vcm1hbGl6ZSIsInF1ZXN0aW9uIiwidmVydGljYWxNb2RlIiwiY2hvaWNlc0xheW91dCIsInF1ZXN0aW9uUHJvcHMiLCJzZXNzaW9uIiwidXBkYXRlU2Vzc2lvbiIsIm5vcm1hbGl6ZWRRdWVzdGlvbiIsIk9iamVjdCIsImFzc2lnbiIsImluY29ycmVjdCIsImNob2ljZXMiLCJtYXAiLCJsb2NrQ2hvaWNlT3JkZXIiLCJkaXNhYmxlZCIsInByb21wdCIsInByb21wdEVuYWJsZWQiLCJncmlkQ29sdW1ucyIsImNob2ljZU1vZGUiLCJrZXlNb2RlIiwiY2hvaWNlUHJlZml4IiwicmVzcG9uc2VDb3JyZWN0IiwidW5kZWZpbmVkIiwibGFuZ3VhZ2UiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJnZXRTY29yZSIsImNvbmZpZyIsInNlbGVjdGVkQ2hvaWNlcyIsImNvcnJlY3RDaG9pY2VzIiwiZmlsdGVyIiwiY2giLCJzY29yZSIsInJlZHVjZSIsImFjYyIsInNlbGVjdGVkQ2hvaWNlIiwiZmluZCIsImxlbmd0aCIsInN0ciIsInBhcnNlRmxvYXQiLCJ0b0ZpeGVkIiwib3V0Y29tZSIsImVtcHR5IiwicGFydGlhbFNjb3JpbmdFbmFibGVkIiwicGFydGlhbFNjb3JpbmciLCJlbmFibGVkIiwiY3JlYXRlQ29ycmVjdFJlc3BvbnNlU2Vzc2lvbiIsImlkIiwiYyIsInZhbGlkYXRlIiwibWluQW5zd2VyQ2hvaWNlcyIsIm1heEFuc3dlckNob2ljZXMiLCJyZXZlcnNlZENob2ljZXMiLCJyZXZlcnNlIiwiY2hvaWNlc0Vycm9ycyIsImhhc0NvcnJlY3RSZXNwb25zZSIsImZvckVhY2giLCJpbmRleCIsImlkZW50aWNhbEFuc3dlciIsInNsaWNlIiwic29tZSIsImVycm9ycyIsIm5iT2ZDaG9pY2VzIiwiYW5zd2VyQ2hvaWNlc0Vycm9yIiwiY29ycmVjdFJlc3BvbnNlRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLEtBQUQsRUFBUUMsR0FBUixFQUFhQyxlQUFiO0FBQUEsU0FBaUMsVUFBQ0MsTUFBRCxFQUFZO0FBQ2pFLGVBQXVCRixHQUFHLElBQUksRUFBOUI7QUFBQSxRQUFRRyxJQUFSLFFBQVFBLElBQVI7QUFBQSxRQUFjQyxJQUFkLFFBQWNBLElBQWQ7O0FBQ0EsUUFBTUMsR0FBRyxHQUFHO0FBQ1ZDLE1BQUFBLEtBQUssRUFBRUosTUFBTSxDQUFDSSxLQURKO0FBRVZDLE1BQUFBLEtBQUssRUFBRUwsTUFBTSxDQUFDSztBQUZKLEtBQVo7O0FBS0EsUUFBSVIsS0FBSyxDQUFDUywwQkFBVixFQUFzQztBQUNwQ0gsTUFBQUEsR0FBRyxDQUFDSSxhQUFKLEdBQW9CLHNCQUFVUCxNQUFNLENBQUNPLGFBQWpCLEVBQWdDQyxXQUFoQyxJQUErQ1IsTUFBTSxDQUFDSyxLQUExRTtBQUNEOztBQUVELFFBQUlKLElBQUksS0FBSyxZQUFULEtBQTBCQyxJQUFJLEtBQUssTUFBVCxJQUFtQkEsSUFBSSxLQUFLLFVBQXRELENBQUosRUFBdUU7QUFDckVDLE1BQUFBLEdBQUcsQ0FBQ00sU0FB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LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IHsgaXNSZXNwb25zZUNvcnJlY3QsIHBhcnNlSFRNTCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJy4vZGVmYXVsdHMnO1xuaW1wb3J0IHsgbG9ja0Nob2ljZXMsIHBhcnRpYWxTY29yaW5nLCBnZXRTaHVmZmxlZENob2ljZXMgfSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC9jb250cm9sbGVyLXV0aWxzJztcblxuY29uc3QgcHJlcGFyZUNob2ljZSA9IChtb2RlbCwgZW52LCBkZWZhdWx0RmVlZGJhY2spID0+IChjaG9pY2UpID0+IHtcbiAgY29uc3QgeyByb2xlLCBtb2RlIH0gPSBlbnYgfHwge307XG4gIGNvbnN0IG91dCA9IHtcbiAgICBsYWJlbDogY2hvaWNlLmxhYmVsLFxuICAgIHZhbHVlOiBjaG9pY2UudmFsdWUsXG4gIH07XG5cbiAgaWYgKG1vZGVsLmFjY2Vzc2liaWxpdHlMYWJlbHNFbmFibGVkKSB7XG4gICAgb3V0LmFjY2Vzc2liaWxpdHkgPSBwYXJzZUhUTUwoY2hvaWNlLmFjY2Vzc2liaWxpdHkpLnRleHRDb250ZW50IHx8IGNob2ljZS52YWx1ZTtcbiAgfVxuXG4gIGlmIChyb2xlID09PSAnaW5zdHJ1Y3RvcicgJiYgKG1vZGUgPT09ICd2aWV3JyB8fCBtb2RlID09PSAnZXZhbHVhdGUnKSkge1xuICAgIG91dC5yYXRpb25hbGUgPSBtb2RlbC5yYXRpb25hbGVFbmFibGVkID8gY2hvaWNlLnJhdGlvbmFsZSA6IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgb3V0LnJhdGlvbmFsZSA9IG51bGw7XG4gIH1cblxuICBpZiAobW9kZSA9PT0gJ2V2YWx1YXRlJykge1xuICAgIG91dC5jb3JyZWN0ID0gISFjaG9pY2UuY29ycmVjdDtcblxuICAgIGlmIChtb2RlbC5mZWVkYmFja0VuYWJsZWQpIHtcbiAgICAgIGNvbnN0IGZlZWRiYWNrVHlwZSA9IChjaG9pY2UuZmVlZGJhY2sgJiYgY2hvaWNlLmZlZWRiYWNrLnR5cGUpIHx8ICdub25lJztcblxuICAgICAgaWYgKGZlZWRiYWNrVHlwZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgIG91dC5mZWVkYmFjayA9IGRlZmF1bHRGZWVkYmFja1tjaG9pY2UuY29ycmVjdCA/ICdjb3JyZWN0JyA6ICdpbmNvcnJlY3QnXTtcbiAgICAgIH0gZWxzZSBpZiAoZmVlZGJhY2tUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgICBvdXQuZmVlZGJhY2sgPSBjaG9pY2UuZmVlZGJhY2sudmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEZWZhdWx0TW9kZWwobW9kZWwgPSB7fSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHJlc29sdmUoeyAuLi5kZWZhdWx0cywgLi4ubW9kZWwgfSkpO1xufVxuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplID0gKHF1ZXN0aW9uKSA9PiB7XG4gIGNvbnN0IHsgdmVydGljYWxNb2RlLCBjaG9pY2VzTGF5b3V0LCAuLi5xdWVzdGlvblByb3BzIH0gPSBxdWVzdGlvbiB8fCB7fTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRlZmF1bHRzLFxuICAgIC4uLnF1ZXN0aW9uUHJvcHMsXG4gICAgLy8gVGhpcyBpcyB1c2VkIGZvciBvZmZlcmluZyBzdXBwb3J0IGZvciBvbGQgbW9kZWxzIHdoaWNoIGhhdmUgdGhlIHByb3BlcnR5IHZlcnRpY2FsTW9kZVxuICAgIC8vIFNhbWUgdGhpbmcgaXMgc2V0IGluIGF1dGhvcmluZyA6IHBhY2thZ2VzL211bHRpcGxlLWNob2ljZS9jb25maWd1cmUvc3JjL2luZGV4LmpzeCAtIGNyZWF0ZURlZmF1bHRNb2RlbFxuICAgIGNob2ljZXNMYXlvdXQ6IGNob2ljZXNMYXlvdXQgfHwgKHZlcnRpY2FsTW9kZSA9PT0gZmFsc2UgJiYgJ2hvcml6b250YWwnKSB8fCBkZWZhdWx0cy5jaG9pY2VzTGF5b3V0LFxuICB9O1xufTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBxdWVzdGlvblxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0geyp9IGVudlxuICogQHBhcmFtIHsqfSB1cGRhdGVTZXNzaW9uIC0gb3B0aW9uYWwgLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBzZXQgdGhlIHByb3BlcnRpZXMgcGFzc2VkIGludG8gaXQgb24gdGhlIHNlc3Npb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCB1cGRhdGVTZXNzaW9uKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRRdWVzdGlvbiA9IG5vcm1hbGl6ZShxdWVzdGlvbik7XG5cbiAgY29uc3QgZGVmYXVsdEZlZWRiYWNrID0gT2JqZWN0LmFzc2lnbihcbiAgICB7IGNvcnJlY3Q6ICdDb3JyZWN0JywgaW5jb3JyZWN0OiAnSW5jb3JyZWN0JyB9LFxuICAgIG5vcm1hbGl6ZWRRdWVzdGlvbi5kZWZhdWx0RmVlZGJhY2ssXG4gICk7XG5cbiAgbGV0IGNob2ljZXMgPSAobm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZXMgfHwgW10pLm1hcChwcmVwYXJlQ2hvaWNlKG5vcm1hbGl6ZWRRdWVzdGlvbiwgZW52LCBkZWZhdWx0RmVlZGJhY2spKTtcblxuICBjb25zdCBsb2NrQ2hvaWNlT3JkZXIgPSBsb2NrQ2hvaWNlcyhub3JtYWxpemVkUXVlc3Rpb24sIHNlc3Npb24sIGVudik7XG5cbiAgaWYgKCFsb2NrQ2hvaWNlT3JkZXIpIHtcbiAgICBjaG9pY2VzID0gYXdhaXQgZ2V0U2h1ZmZsZWRDaG9pY2VzKGNob2ljZXMsIHNlc3Npb24sIHVwZGF0ZVNlc3Npb24sICd2YWx1ZScpO1xuICB9XG5cbiAgY29uc3Qgb3V0ID0ge1xuICAgIGRpc2FibGVkOiBlbnYubW9kZSAhPT0gJ2dhdGhlcicsXG4gICAgbW9kZTogZW52Lm1vZGUsXG4gICAgcHJvbXB0OiBub3JtYWxpemVkUXVlc3Rpb24ucHJvbXB0RW5hYmxlZCA/IG5vcm1hbGl6ZWRRdWVzdGlvbi5wcm9tcHQgOiBudWxsLFxuICAgIGNob2ljZXNMYXlvdXQ6IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VzTGF5b3V0LFxuICAgIGdyaWRDb2x1bW5zOiBub3JtYWxpemVkUXVlc3Rpb24uZ3JpZENvbHVtbnMsXG4gICAgY2hvaWNlTW9kZTogbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZU1vZGUsXG4gICAga2V5TW9kZTogbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZVByZWZpeCxcbiAgICBjaG9pY2VzLFxuICAgIHJlc3BvbnNlQ29ycmVjdDogZW52Lm1vZGUgPT09ICdldmFsdWF0ZScgPyBpc1Jlc3BvbnNlQ29ycmVjdChub3JtYWxpemVkUXVlc3Rpb24sIHNlc3Npb24pIDogdW5kZWZpbmVkLFxuICAgIGxhbmd1YWdlOiBub3JtYWxpemVkUXVlc3Rpb24ubGFuZ3VhZ2UsXG4gIH07XG5cbiAgY29uc3QgeyByb2xlLCBtb2RlIH0gPSBlbnYgfHwge307XG5cbiAgaWYgKHJvbGUgPT09ICdpbnN0cnVjdG9yJyAmJiAobW9kZSA9PT0gJ3ZpZXcnIHx8IG1vZGUgPT09ICdldmFsdWF0ZScpKSB7XG4gICAgb3V0LnRlYWNoZXJJbnN0cnVjdGlvbnMgPSBub3JtYWxpemVkUXVlc3Rpb24udGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWRcbiAgICAgID8gbm9ybWFsaXplZFF1ZXN0aW9uLnRlYWNoZXJJbnN0cnVjdGlvbnNcbiAgICAgIDogbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBvdXQudGVhY2hlckluc3RydWN0aW9ucyA9IG51bGw7XG4gIH1cblxuICByZXR1cm4gb3V0O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0U2NvcmUgPSAoY29uZmlnLCBzZXNzaW9uKSA9PiB7XG4gIGlmICghc2Vzc2lvbiB8fCBpc0VtcHR5KHNlc3Npb24pKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBjb25zdCBzZWxlY3RlZENob2ljZXMgPSBzZXNzaW9uLnZhbHVlIHx8IFtdO1xuICBjb25zdCBjb3JyZWN0Q2hvaWNlcyA9IChjb25maWcuY2hvaWNlcyB8fCBbXSkuZmlsdGVyKChjaCkgPT4gY2guY29ycmVjdCk7XG5cbiAgbGV0IHNjb3JlID0gc2VsZWN0ZWRDaG9pY2VzLnJlZHVjZShcbiAgICAoYWNjLCBzZWxlY3RlZENob2ljZSkgPT4gYWNjICsgKGNvcnJlY3RDaG9pY2VzLmZpbmQoKGNoKSA9PiBjaC52YWx1ZSA9PT0gc2VsZWN0ZWRDaG9pY2UpID8gMSA6IDApLFxuICAgIDAsXG4gICk7XG5cbiAgaWYgKGNvcnJlY3RDaG9pY2VzLmxlbmd0aCA8IHNlbGVjdGVkQ2hvaWNlcy5sZW5ndGgpIHtcbiAgICBzY29yZSAtPSBzZWxlY3RlZENob2ljZXMubGVuZ3RoIC0gY29ycmVjdENob2ljZXMubGVuZ3RoO1xuXG4gICAgaWYgKHNjb3JlIDwgMCkge1xuICAgICAgc2NvcmUgPSAwO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN0ciA9IGNvcnJlY3RDaG9pY2VzLmxlbmd0aCA/IHNjb3JlIC8gY29ycmVjdENob2ljZXMubGVuZ3RoIDogMDtcblxuICByZXR1cm4gcGFyc2VGbG9hdChzdHIudG9GaXhlZCgyKSk7XG59O1xuXG4vKipcbiAqXG4gKiBUaGUgc2NvcmUgaXMgcGFydGlhbCBieSBkZWZhdWx0IGZvciBjaGVja2JveCBtb2RlLCBhbGxPck5vdGhpbmcgZm9yIHJhZGlvIG1vZGUuXG4gKiBUbyBkaXNhYmxlIHBhcnRpYWwgc2NvcmluZyBmb3IgY2hlY2tib3ggbW9kZSB5b3UgZWl0aGVyIHNldCBtb2RlbC5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlIG9yIGVudi5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlLiB0aGUgdmFsdWUgaW4gYGVudmAgd2lsbFxuICogb3ZlcnJpZGUgdGhlIHZhbHVlIGluIGBtb2RlbGAuXG4gKiBAcGFyYW0ge09iamVjdH0gbW9kZWwgLSB0aGUgbWFpbiBtb2RlbFxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0ge09iamVjdH0gZW52XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRjb21lKG1vZGVsLCBzZXNzaW9uLCBlbnYpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKCFzZXNzaW9uIHx8IGlzRW1wdHkoc2Vzc2lvbikpIHtcbiAgICAgIHJlc29sdmUoeyBzY29yZTogMCwgZW1wdHk6IHRydWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBhcnRpYWxTY29yaW5nRW5hYmxlZCA9IHBhcnRpYWxTY29yaW5nLmVuYWJsZWQobW9kZWwsIGVudikgJiYgbW9kZWwuY2hvaWNlTW9kZSAhPT0gJ3JhZGlvJztcbiAgICAgIGNvbnN0IHNjb3JlID0gZ2V0U2NvcmUobW9kZWwsIHNlc3Npb24pO1xuXG4gICAgICByZXNvbHZlKHsgc2NvcmU6IHBhcnRpYWxTY29yaW5nRW5hYmxlZCA/IHNjb3JlIDogc2NvcmUgPT09IDEgPyAxIDogMCwgZW1wdHk6IGZhbHNlIH0pO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb3JyZWN0UmVzcG9uc2VTZXNzaW9uID0gKHF1ZXN0aW9uLCBlbnYpID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKGVudi5tb2RlICE9PSAnZXZhbHVhdGUnICYmIGVudi5yb2xlID09PSAnaW5zdHJ1Y3RvcicpIHtcbiAgICAgIGNvbnN0IHsgY2hvaWNlcyB9ID0gcXVlc3Rpb24gfHwgeyBjaG9pY2VzOiBbXSB9O1xuXG4gICAgICByZXNvbHZlKHtcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgdmFsdWU6IGNob2ljZXMuZmlsdGVyKChjKSA9PiBjLmNvcnJlY3QpLm1hcCgoYykgPT4gYy52YWx1ZSksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlID0gKG1vZGVsID0ge30sIGNvbmZpZyA9IHt9KSA9PiB7XG4gIGNvbnN0IHsgY2hvaWNlcyB9ID0gbW9kZWw7XG4gIGNvbnN0IHsgbWluQW5zd2VyQ2hvaWNlcyA9IDIsIG1heEFuc3dlckNob2ljZXMgfSA9IGNvbmZpZztcbiAgY29uc3QgcmV2ZXJzZWRDaG9pY2VzID0gWy4uLihjaG9pY2VzIHx8IFtdKV0ucmV2ZXJzZSgpO1xuICBjb25zdCBjaG9pY2VzRXJyb3JzID0ge307XG4gIGxldCBoYXNDb3JyZWN0UmVzcG9uc2UgPSBmYWxzZTtcblxuICByZXZlcnNlZENob2ljZXMuZm9yRWFjaCgoY2hvaWNlLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHsgY29ycmVjdCwgdmFsdWUsIGxhYmVsIH0gPSBjaG9pY2U7XG5cbiAgICBpZiAoY29ycmVjdCkge1xuICAgICAgaGFzQ29ycmVjdFJlc3BvbnNlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobGFiZWwgPT09ICcnIHx8IGxhYmVsID09PSAnPGRpdj48L2Rpdj4nKSB7XG4gICAgICBjaG9pY2VzRXJyb3JzW3ZhbHVlXSA9ICdDb250ZW50IHNob3VsZCBub3QgYmUgZW1wdHkuJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaWRlbnRpY2FsQW5zd2VyID0gcmV2ZXJzZWRDaG9pY2VzLnNsaWNlKGluZGV4ICsgMSkuc29tZSgoYykgPT4gYy5sYWJlbCA9PT0gbGFiZWwpO1xuXG4gICAgICBpZiAoaWRlbnRpY2FsQW5zd2VyKSB7XG4gICAgICAgIGNob2ljZXNFcnJvcnNbdmFsdWVdID0gJ0NvbnRlbnQgc2hvdWxkIGJlIHVuaXF1ZS4nO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgZXJyb3JzID0ge307XG4gIGNvbnN0IG5iT2ZDaG9pY2VzID0gKGNob2ljZXMgfHwgW10pLmxlbmd0aDtcblxuICBpZiAobmJPZkNob2ljZXMgPCBtaW5BbnN3ZXJDaG9pY2VzKSB7XG4gICAgZXJyb3JzLmFuc3dlckNob2ljZXNFcnJvciA9IGBUaGVyZSBzaG91bGQgYmUgYXQgbGVhc3QgJHttaW5BbnN3ZXJDaG9pY2VzfSBjaG9pY2VzIGRlZmluZWQuYDtcbiAgfSBlbHNlIGlmIChuYk9mQ2hvaWNlcyA+IG1heEFuc3dlckNob2ljZXMpIHtcbiAgICBlcnJvcnMuYW5zd2VyQ2hvaWNlc0Vycm9yID0gYE5vIG1vcmUgdGhhbiAke21heEFuc3dlckNob2ljZXN9IGNob2ljZXMgc2hvdWxkIGJlIGRlZmluZWQuYDtcbiAgfVxuXG4gIGlmICghaGFzQ29ycmVjdFJlc3BvbnNlKSB7XG4gICAgZXJyb3JzLmNvcnJlY3RSZXNwb25zZUVycm9yID0gJ05vIGNvcnJlY3QgcmVzcG9uc2UgZGVmaW5lZC4nO1xuICB9XG5cbiAgaWYgKCFpc0VtcHR5KGNob2ljZXNFcnJvcnMpKSB7XG4gICAgZXJyb3JzLmNob2ljZXNFcnJvcnMgPSBjaG9pY2VzRXJyb3JzO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn07XG4iXX0=
|
|
306
|
+
//# sourceMappingURL=index.js.map
|
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
|
package/lib/choice-input.js
CHANGED
|
@@ -329,4 +329,4 @@ exports.ChoiceInput = ChoiceInput;
|
|
|
329
329
|
var _default = (0, _styles.withStyles)(styleSheet)(ChoiceInput);
|
|
330
330
|
|
|
331
331
|
exports["default"] = _default;
|
|
332
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaG9pY2UtaW5wdXQuanN4Il0sIm5hbWVzIjpbIkNMQVNTX05BTUUiLCJzdHlsZVNoZWV0IiwidGhlbWUiLCJyb3ciLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwiYmFja2dyb3VuZCIsImNoZWNrYm94SG9sZGVyIiwiZmxleCIsInRleHQiLCJmb250U2l6ZSIsImhvcml6b250YWxMYXlvdXQiLCJwYWRkaW5nUmlnaHQiLCJzcGFjaW5nIiwidW5pdCIsImZvcm1TdHlsZVNoZWV0IiwibGFiZWwiLCJTdHlsZWRGb3JtQ29udHJvbExhYmVsIiwibmFtZSIsInByb3BzIiwiY2xhc3NlcyIsImNvbG9yU3R5bGUiLCJ2YXJOYW1lIiwiZmFsbGJhY2siLCJpbnB1dFN0eWxlcyIsImNvcnJlY3QiLCJkaXNhYmxlZCIsImluY29ycmVjdCIsInJvb3QiLCJwcmltYXJ5TGlnaHQiLCJjaGVja2VkIiwicHJpbWFyeSIsIm9wYWNpdHkiLCJjdXJzb3IiLCJwb2ludGVyRXZlbnRzIiwiU3R5bGVkQ2hlY2tib3giLCJjb3JyZWN0bmVzcyIsIm9uQ2hhbmdlIiwiYWNjZXNzaWJpbGl0eSIsInZhbHVlIiwiaWQiLCJrZXkiLCJrIiwicmVzb2x2ZWQiLCJtaW5pUHJvcHMiLCJTdHlsZWRSYWRpbyIsIkNob2ljZUlucHV0Iiwib25Ub2dnbGVDaG9pY2UiLCJiaW5kIiwiY2hvaWNlSWQiLCJnZW5lcmF0ZUNob2ljZUlkIiwiZXZlbnQiLCJ1cGRhdGVTZXNzaW9uIiwic2VsZWN0ZWQiLCJNYXRoIiwicmFuZG9tIiwidG9GaXhlZCIsImNob2ljZU1vZGUiLCJkaXNwbGF5S2V5IiwiZmVlZGJhY2siLCJjbGFzc05hbWUiLCJyYXRpb25hbGUiLCJoaWRlVGljayIsImlzRXZhbHVhdGVNb2RlIiwiY2hvaWNlc0xheW91dCIsIlRhZyIsImNsYXNzU3VmZml4IiwiaG9sZGVyQ2xhc3NOYW1lcyIsImNob2ljZWxhYmVsIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvbmVPZiIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJib29sIiwiZnVuYyIsIm9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsVUFBVSxHQUFHLDJCQUFuQjs7QUFFQSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUM3QkMsSUFBQUEsR0FBRyxFQUFFO0FBQ0hDLE1BQUFBLE9BQU8sRUFBRSxNQUROO0FBRUhDLE1BQUFBLFVBQVUsRUFBRSxRQUZUO0FBR0hDLE1BQUFBLGVBQWUsRUFBRUMsZ0JBQU1DLFVBQU47QUFIZCxLQUR3QjtBQU03QkMsSUFBQUEsY0FBYyxFQUFFO0FBQ2RMLE1BQUFBLE9BQU8sRUFBRSxNQURLO0FBRWRDLE1BQUFBLFVBQVUsRUFBRSxRQUZFO0FBR2RDLE1BQUFBLGVBQWUsRUFBRUMsZ0JBQU1DLFVBQU4sRUFISDtBQUlkRSxNQUFBQSxJQUFJLEVBQUUsQ0FKUTtBQUtkLGlCQUFXO0FBQ1RILFFBQUFBLEtBQUssRUFBRUEsZ0JBQU1JLElBQU4sRUFERTtBQUVULG9CQUFXO0FBQ1RDLFVBQUFBLFFBQVEsRUFBRTtBQUREO0FBRkY7QUFMRyxLQU5hO0FBa0I3QkMsSUFBQUEsZ0JBQWdCLG9EQUNQYixVQURPLEdBQ1E7QUFDcEJjLE1BQUFBLFlBQVksRUFBRVosS0FBSyxDQUFDYSxPQUFOLENBQWNDO0FBRFIsS0FEUjtBQWxCYSxHQUFaO0FBQUEsQ0FBbkI7O0FBeUJBLElBQU1DLGNBQWMsR0FBRztBQUNyQkMsRUFBQUEsS0FBSyxFQUFFO0FBQ0xYLElBQUFBLEtBQUssWUFBS0EsZ0JBQU1JLElBQU4sRUFBTCxnQkFEQTtBQUNnQztBQUNyQ0wsSUFBQUEsZUFBZSxFQUFFQyxnQkFBTUMsVUFBTjtBQUZaO0FBRGMsQ0FBdkI7QUFP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RSxNQVRSO0FBVWpCcEMsRUFBQUEsUUFBUSxFQUFFa0Msc0JBQVVLLElBQVYsQ0FBZUYsVUFWUjtBQVdqQm5DLEVBQUFBLEtBQUssRUFBRWdDLHNCQUFVRSxNQUFWLENBQWlCQyxVQVhQO0FBWWpCdEQsRUFBQUEsT0FBTyxFQUFFbUQsc0JBQVVNLE1BWkY7QUFhakJqQixFQUFBQSxTQUFTLEVBQUVXLHNCQUFVRSxNQWJKO0FBY2pCWCxFQUFBQSxRQUFRLEVBQUVTLHNCQUFVSSxJQWRIO0FBZWpCWixFQUFBQSxjQUFjLEVBQUVRLHNCQUFVSSxJQWZUO0FBZ0JqQlgsRUFBQUEsYUFBYSxFQUFFTyxzQkFBVUMsS0FBVixDQUFnQixDQUFDLFVBQUQsRUFBYSxNQUFiLEVBQXFCLFlBQXJCLENBQWhCLENBaEJFO0FBaUJqQnBCLEVBQUFBLGFBQWEsRUFBRW1CLHNCQUFVSztBQWpCUixDO2lDQURSOUIsVyxrQkFxQlc7QUFDcEJlLEVBQUFBLFNBQVMsRUFBRSxJQURTO0FBRXBCdkIsRUFBQUEsYUFBYSxFQUFFLElBRks7QUFHcEJSLEVBQUFBLE9BQU8sRUFBRSxLQUhXO0FBSXBCaUMsRUFBQUEsY0FBYyxFQUFFO0FBSkksQzs7ZUE4RlQsd0JBQVdoRSxVQUFYLEVBQXVCK0MsV0FBdkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGb3JtQ29udHJvbExhYmVsIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0Zvcm1Db250cm9sTGFiZWwnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcblxuaW1wb3J0IENoZWNrYm94IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0NoZWNrYm94JztcbmltcG9ydCB7IEZlZWRiYWNrLCBjb2xvciwgUHJldmlld1Byb21wdCB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L3JlbmRlci11aSc7XG5pbXBvcnQgRmVlZGJhY2tUaWNrIGZyb20gJy4vZmVlZGJhY2stdGljayc7XG5pbXBvcnQgUmFkaW8gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvUmFkaW8nO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmNvbnN0IENMQVNTX05BTUUgPSAnbXVsdGlwbGUtY2hvaWNlLWNvbXBvbmVudCc7XG5cbmNvbnN0IHN0eWxlU2hlZXQgPSAodGhlbWUpID0+ICh7XG4gIHJvdzoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgfSxcbiAgY2hlY2tib3hIb2xkZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgZmxleDogMSxcbiAgICAnJiBsYWJlbCc6IHtcbiAgICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgICAnJiA+IHNwYW4nOntcbiAgICAgICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICAgIH1cbiAgICB9LFxuICB9LFxuICBob3Jpem9udGFsTGF5b3V0OiB7XG4gICAgW2AmIC4ke0NMQVNTX05BTUV9YF06IHtcbiAgICAgIHBhZGRpbmdSaWdodDogdGhlbWUuc3BhY2luZy51bml0LFxuICAgIH0sXG4gIH0sXG59KTtcblxuY29uc3QgZm9ybVN0eWxlU2hlZXQgPSB7XG4gIGxhYmVsOiB7XG4gICAgY29sb3I6IGAke2NvbG9yLnRleHQoKX0gIWltcG9ydGFudGAsIC8vJ3ZhcigtLWNob2ljZS1pbnB1dC1jb2xvciwgYmxhY2spJ1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZvcm1Db250cm9sTGFiZWwgPSB3aXRoU3R5bGVzKGZvcm1TdHlsZVNoZWV0LCB7XG4gIG5hbWU6ICdGb3JtQ29udHJvbExhYmVsJyxcbn0pKChwcm9wcykgPT4gPEZvcm1Db250cm9sTGFiZWwgey4uLnByb3BzfSBjbGFzc2VzPXt7IGxhYmVsOiBwcm9wcy5jbGFzc2VzLmxhYmVsIH19IC8+KTtcblxuY29uc3QgY29sb3JTdHlsZSA9ICh2YXJOYW1lLCBmYWxsYmFjaykgPT4gKHtcbiAgW2AmLiR7Q0xBU1NfTkFNRX1gXToge1xuICAgIGNvbG9yOiBgdmFyKC0tY2hvaWNlLWlucHV0LSR7dmFyTmFtZX0sICR7ZmFsbGJhY2t9KSAhaW1wb3J0YW50YCxcbiAgfSxcbn0pO1xuXG5jb25zdCBpbnB1dFN0eWxlcyA9IHtcbiAgJ2NvcnJlY3Qtcm9vdCc6IGNvbG9yU3R5bGUoJ2NvcnJlY3QtY29sb3InLCBjb2xvci50ZXh0KCkpLFxuICAnY29ycmVjdC1jaGVja2VkJzogY29sb3JTdHlsZSgnY29ycmVjdC1zZWxlY3RlZC1jb2xvcicsIGNvbG9yLmNvcnJlY3QoKSksIC8vZ3JlZW5bNTAwXSksXG4gICdjb3JyZWN0LWRpc2FibGVkJzogY29sb3JTdHlsZSgnY29ycmVjdC1kaXNhYmxlZC1jb2xvcicsIGNvbG9yLmRpc2FibGVkKCkpLCAvLydncmV5JyksXG4gICdpbmNvcnJlY3Qtcm9vdCc6IGNvbG9yU3R5bGUoJ2luY29ycmVjdC1jb2xvcicsIGNvbG9yLmluY29ycmVjdCgpKSxcbiAgJ2luY29ycmVjdC1jaGVja2VkJzogY29sb3JTdHlsZSgnaW5jb3JyZWN0LWNoZWNrZWQnLCBjb2xvci5pbmNvcnJlY3QoKSksIC8vb3JhbmdlWzUwMF0pLFxuICAnaW5jb3JyZWN0LWRpc2FibGVkJzogY29sb3JTdHlsZSgnaW5jb3JyZWN0LWRpc2FibGVkLWNvbG9yJywgY29sb3IuZGlzYWJsZWQoKSksXG4gIHJvb3Q6IHtcbiAgICAuLi5jb2xvclN0eWxlKCdjb2xvcicsIGNvbG9yLnRleHQoKSksXG4gICAgJyY6aG92ZXInOiB7IGNvbG9yOiBgJHtjb2xvci5wcmltYXJ5TGlnaHQoKX0gIWltcG9ydGFudGAgfSxcbiAgfSxcbiAgY2hlY2tlZDogY29sb3JTdHlsZSgnc2VsZWN0ZWQtY29sb3InLCBjb2xvci5wcmltYXJ5KCkpLFxuICBkaXNhYmxlZDoge1xuICAgIC4uLmNvbG9yU3R5bGUoJ2Rpc2FibGVkLWNvbG9yJywgY29sb3IudGV4dCgpKSxcbiAgICBvcGFjaXR5OiAwLjYsXG4gICAgY3Vyc29yOiAnbm90LWFsbG93ZWQgIWltcG9ydGFudCcsXG4gICAgcG9pbnRlckV2ZW50czogJ2luaXRpYWwgIWltcG9ydGFudCcsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3ggPSB3aXRoU3R5bGVzKGlucHV0U3R5bGVzKSgocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb3JyZWN0bmVzcywgY2xhc3NlcywgY2hlY2tlZCwgb25DaGFuZ2UsIGRpc2FibGVkLCBhY2Nlc3NpYmlsaXR5LCB2YWx1ZSwgaWQgfSA9IHByb3BzO1xuICBjb25zdCBrZXkgPSAoaykgPT4gKGNvcnJlY3RuZXNzID8gYCR7Y29ycmVjdG5lc3N9LSR7a31gIDogayk7XG5cbiAgY29uc3QgcmVzb2x2ZWQgPSB7XG4gICAgcm9vdDogY2xhc3Nlc1trZXkoJ3Jvb3QnKV0sXG4gICAgY2hlY2tlZDogY2xhc3Nlc1trZXkoJ2NoZWNrZWQnKV0sXG4gICAgZGlzYWJsZWQ6IGNsYXNzZXNba2V5KCdkaXNhYmxlZCcpXSxcbiAgfTtcblxuICBjb25zdCBtaW5pUHJvcHMgPSB7IGNoZWNrZWQsIG9uQ2hhbmdlLCBkaXNhYmxlZCwgdmFsdWUgfTtcblxuICByZXR1cm4gKFxuICAgIDxDaGVja2JveFxuICAgICAgaWQ9e2lkfVxuICAgICAgYXJpYS1sYWJlbD17YWNjZXNzaWJpbGl0eX1cbiAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgIHsuLi5taW5pUHJvcHN9XG4gICAgICBjbGFzc05hbWU9e0NMQVNTX05BTUV9XG4gICAgICBjbGFzc2VzPXt7XG4gICAgICAgIHJvb3Q6IHJlc29sdmVkLnJvb3QsXG4gICAgICAgIGNoZWNrZWQ6IHJlc29sdmVkLmNoZWNrZWQsXG4gICAgICAgIGRpc2FibGVkOiBgJHtjb3JyZWN0bmVzcyA/ICcnIDogcmVzb2x2ZWQuZGlzYWJsZWR9YCxcbiAgICAgIH19XG4gICAgLz5cbiAgKTtcbn0pO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW8gPSB3aXRoU3R5bGVzKGlucHV0U3R5bGVzKSgocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb3JyZWN0bmVzcywgY2xhc3NlcywgY2hlY2tlZCwgb25DaGFuZ2UsIGRpc2FibGVkLCBhY2Nlc3NpYmlsaXR5LCB2YWx1ZSwgaWQgfSA9IHByb3BzO1xuICBjb25zdCBrZXkgPSAoaykgPT4gKGNvcnJlY3RuZXNzID8gYCR7Y29ycmVjdG5lc3N9LSR7a31gIDogayk7XG5cbiAgY29uc3QgcmVzb2x2ZWQgPSB7XG4gICAgcm9vdDogY2xhc3Nlc1trZXkoJ3Jvb3QnKV0sXG4gICAgY2hlY2tlZDogY2xhc3Nlc1trZXkoJ2NoZWNrZWQnKV0sXG4gICAgZGlzYWJsZWQ6IGNsYXNzZXNba2V5KCdkaXNhYmxlZCcpXSxcbiAgfTtcblxuICBjb25zdCBtaW5pUHJvcHMgPSB7IGNoZWNrZWQsIG9uQ2hhbmdlLCBkaXNhYmxlZCwgdmFsdWUgfTtcblxuICByZXR1cm4gKFxuICAgIDxSYWRpb1xuICAgICAgaWQ9e2lkfVxuICAgICAgYXJpYS1sYWJlbD17YWNjZXNzaWJpbGl0eX1cbiAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgIHsuLi5taW5pUHJvcHN9XG4gICAgICBjbGFzc05hbWU9e0NMQVNTX05BTUV9XG4gICAgICBjbGFzc2VzPXt7XG4gICAgICAgIHJvb3Q6IHJlc29sdmVkLnJvb3QsXG4gICAgICAgIGNoZWNrZWQ6IHJlc29sdmVkLmNoZWNrZWQsXG4gICAgICAgIGRpc2FibGVkOiBgJHtjb3JyZWN0bmVzcyA/ICcnIDogcmVzb2x2ZWQuZGlzYWJsZWR9YCxcbiAgICAgIH19XG4gICAgLz5cbiAgKTtcbn0pO1xuXG5leHBvcnQgY2xhc3MgQ2hvaWNlSW5wdXQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNob2ljZU1vZGU6IFByb3BUeXBlcy5vbmVPZihbJ3JhZGlvJywgJ2NoZWNrYm94J10pLFxuICAgIGRpc3BsYXlLZXk6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBjaGVja2VkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGNvcnJlY3RuZXNzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGZlZWRiYWNrOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgcmF0aW9uYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGFjY2Vzc2liaWxpdHk6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoaWRlVGljazogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNFdmFsdWF0ZU1vZGU6IFByb3BUeXBlcy5ib29sLFxuICAgIGNob2ljZXNMYXlvdXQ6IFByb3BUeXBlcy5vbmVPZihbJ3ZlcnRpY2FsJywgJ2dyaWQnLCAnaG9yaXpvbnRhbCddKSxcbiAgICB1cGRhdGVTZXNzaW9uOiBQcm9wVHlwZXMuZnVuYyxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHJhdGlvbmFsZTogbnVsbCxcbiAgICBhY2Nlc3NpYmlsaXR5OiBudWxsLFxuICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIGlzRXZhbHVhdGVNb2RlOiBmYWxzZSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLm9uVG9nZ2xlQ2hvaWNlID0gdGhpcy5vblRvZ2dsZUNob2ljZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2hvaWNlSWQgPSB0aGlzLmdlbmVyYXRlQ2hvaWNlSWQoKTtcbiAgfVxuXG4gIG9uVG9nZ2xlQ2hvaWNlKGV2ZW50KSB7XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShldmVudCk7XG4gICAgdGhpcy5wcm9wcy51cGRhdGVTZXNzaW9uKHtcbiAgICAgIHZhbHVlOiB0aGlzLnByb3BzLnZhbHVlLFxuICAgICAgc2VsZWN0ZWQ6ICF0aGlzLnByb3BzLmNoZWNrZWQsXG4gICAgfSk7XG4gIH1cblxuICBnZW5lcmF0ZUNob2ljZUlkKCkge1xuICAgIHJldHVybiAnY2hvaWNlLScgKyAoTWF0aC5yYW5kb20oKSAqIDEwMDAwKS50b0ZpeGVkKCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2hvaWNlTW9kZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZGlzcGxheUtleSxcbiAgICAgIGZlZWRiYWNrLFxuICAgICAgbGFiZWwsXG4gICAgICBjb3JyZWN0bmVzcyxcbiAgICAgIGNsYXNzZXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICByYXRpb25hbGUsXG4gICAgICBhY2Nlc3NpYmlsaXR5LFxuICAgICAgaGlkZVRpY2ssXG4gICAgICBpc0V2YWx1YXRlTW9kZSxcbiAgICAgIGNob2ljZXNMYXlvdXQsXG4gICAgICB2YWx1ZSxcbiAgICAgIGNoZWNrZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBUYWcgPSBjaG9pY2VNb2RlID09PSAnY2hlY2tib3gnID8gU3R5bGVkQ2hlY2tib3ggOiBTdHlsZWRSYWRpbztcbiAgICBjb25zdCBjbGFzc1N1ZmZpeCA9IGNob2ljZU1vZGUgPT09ICdjaGVja2JveCcgPyAnY2hlY2tib3gnIDogJ3JhZGlvLWJ1dHRvbic7XG5cbiAgICBjb25zdCBob2xkZXJDbGFzc05hbWVzID0gY2xhc3NOYW1lcyhjbGFzc2VzLmNoZWNrYm94SG9sZGVyLCB7XG4gICAgICBbY2xhc3Nlcy5ob3Jpem9udGFsTGF5b3V0XTogY2hvaWNlc0xheW91dCA9PT0gJ2hvcml6b250YWwnLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY2hvaWNlbGFiZWwgPSAoXG4gICAgICA8PlxuICAgICAgICB7ZGlzcGxheUtleSA/IChcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMucm93fT5cbiAgICAgICAgICAgIHtkaXNwbGF5S2V5fS57J1xcdTAwQTAnfVxuICAgICAgICAgICAgPFByZXZpZXdQcm9tcHQgY2xhc3NOYW1lPVwibGFiZWxcIiBwcm9tcHQ9e2xhYmVsfSB0YWdOYW1lPVwic3BhblwiIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxQcmV2aWV3UHJvbXB0IGNsYXNzTmFtZT1cImxhYmVsXCIgcHJvbXB0PXtsYWJlbH0gdGFnTmFtZT1cInNwYW5cIiAvPlxuICAgICAgICApfVxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc05hbWUsICdjb3Jlc3ByaW5nLScgKyBjbGFzc1N1ZmZpeCwgJ2Nob2ljZS1pbnB1dCcpfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucm93fT5cbiAgICAgICAgICB7IWhpZGVUaWNrICYmIGlzRXZhbHVhdGVNb2RlICYmIDxGZWVkYmFja1RpY2sgY29ycmVjdG5lc3M9e2NvcnJlY3RuZXNzfSAvPn1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhob2xkZXJDbGFzc05hbWVzLCAnY2hlY2tib3gtaG9sZGVyJyl9PlxuICAgICAgICAgICAgPFN0eWxlZEZvcm1Db250cm9sTGFiZWxcbiAgICAgICAgICAgICAgbGFiZWw9e2Nob2ljZWxhYmVsfVxuICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgIGh0bWxGb3I9e3RoaXMuY2hvaWNlSWR9XG4gICAgICAgICAgICAgIGNvbnRyb2w9e1xuICAgICAgICAgICAgICAgIDxUYWdcbiAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk9e2FjY2Vzc2liaWxpdHl9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICAgICAgICAgICAgY29ycmVjdG5lc3M9e2NvcnJlY3RuZXNzfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgaWQ9e3RoaXMuY2hvaWNlSWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblRvZ2dsZUNob2ljZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge3JhdGlvbmFsZSAmJiA8UHJldmlld1Byb21wdCBjbGFzc05hbWU9XCJyYXRpb25hbGVcIiBkZWZhdWx0Q2xhc3NOYW1lPVwicmF0aW9uYWxlXCIgcHJvbXB0PXtyYXRpb25hbGV9IC8+fVxuICAgICAgICA8RmVlZGJhY2sgZmVlZGJhY2s9e2ZlZWRiYWNrfSBjb3JyZWN0bmVzcz17Y29ycmVjdG5lc3N9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVTaGVldCkoQ2hvaWNlSW5wdXQpO1xuIl19
|
|
332
|
+
//# sourceMappingURL=choice-input.js.map
|
package/lib/choice.js
CHANGED
|
@@ -162,4 +162,4 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
162
162
|
})(Choice);
|
|
163
163
|
|
|
164
164
|
exports["default"] = _default;
|
|
165
|
-
//# sourceMappingURL=
|
|
165
|
+
//# sourceMappingURL=choice.js.map
|