@pie-element/inline-dropdown 3.10.6-next.1 → 3.10.6-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/__tests__/inline-dropdown-toolbar.test.js +124 -0
- package/configure/lib/__tests__/main.test.js +516 -0
- package/configure/lib/__tests__/markupUtils.test.js +108 -0
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/inline-dropdown-toolbar.js +1 -1
- package/configure/lib/main.js +1 -1
- package/configure/lib/markupUtils.js +1 -1
- package/configure/package.json +2 -2
- package/controller/lib/__tests__/index.test.js +942 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +2 -2
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +1 -1
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/inline-dropdown.test.js +121 -0
- package/lib/index.js +1 -1
- package/lib/inline-dropdown.js +1 -1
- package/package.json +1 -1
|
@@ -8,4 +8,4 @@ var _default = {
|
|
|
8
8
|
choices: {}
|
|
9
9
|
};
|
|
10
10
|
exports["default"] = _default;
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJjaG9pY2VzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7ZUFBZTtBQUNiQSxFQUFBQSxPQUFPLEVBQUU7QUFESSxDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBjaG9pY2VzOiB7fSxcbn07XG4iXX0=
|
package/controller/lib/index.js
CHANGED
|
@@ -328,11 +328,11 @@ var validate = function validate() {
|
|
|
328
328
|
if (nbOfResponseAreas > maxResponseAreas) {
|
|
329
329
|
errors.responseAreasError = "No more than ".concat(maxResponseAreas, " response areas should be defined.");
|
|
330
330
|
} else if (nbOfResponseAreas < 1) {
|
|
331
|
-
errors.responseAreasError = '
|
|
331
|
+
errors.responseAreasError = 'There should be defined at least 1 response area.';
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
return errors;
|
|
335
335
|
};
|
|
336
336
|
|
|
337
337
|
exports.validate = validate;
|
|
338
|
-
//# sourceMappingURL=index.js.map
|
|
338
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZXRGZWVkYmFjayIsImNvcnJlY3QiLCJub3JtYWxpemUiLCJxdWVzdGlvbiIsInByb21wdEVuYWJsZWQiLCJyYXRpb25hbGVFbmFibGVkIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZCIsImNob2ljZVJhdGlvbmFsZUVuYWJsZWQiLCJtb2RlbCIsInNlc3Npb24iLCJlbnYiLCJ1cGRhdGVTZXNzaW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJub3JtYWxpemVkUXVlc3Rpb24iLCJ2YWx1ZSIsImNob2ljZXMiLCJvYmoiLCJhcmVhIiwia2V5IiwiY2hvaWNlIiwiZmVlZGJhY2siLCJtb2RlIiwiYWxsQ29ycmVjdFJlc3BvbnNlcyIsInJlc3BBcmVhTGVuZ3RoIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNvcnJlY3RSZXNwb25zZXMiLCJpIiwicmVzdWx0IiwiYW5zd2VyIiwiY29ycmVjdENob2ljZSIsImlzQ29ycmVjdCIsImxvY2tDaG9pY2VPcmRlciIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJyYXRpb25hbGUiLCJjaG9pY2VzV2lsbE51bGxSYXRpb25hbGVzIiwicmVkdWNlIiwiYWNjIiwiY3VycmVudFZhbHVlIiwibWFwIiwicm9sZSIsIm91dCIsImRpc2FibGVkIiwicHJvbXB0IiwiZGlzcGxheVR5cGUiLCJtYXJrdXAiLCJyZXNwb25zZUNvcnJlY3QiLCJnZXRTY29yZSIsInVuZGVmaW5lZCIsImNvbmZpZyIsIm1heFNjb3JlIiwiY29ycmVjdENvdW50IiwidG90YWwiLCJzdHIiLCJ0b0ZpeGVkIiwicGFyc2VGbG9hdCIsIm91dGNvbWUiLCJzY29yZSIsImVtcHR5IiwicGFydGlhbFNjb3JpbmdFbmFibGVkIiwicGFydGlhbFNjb3JpbmciLCJlbmFibGVkIiwiTWF0aCIsImZsb29yIiwiY3JlYXRlQ29ycmVjdFJlc3BvbnNlU2Vzc2lvbiIsImZvckVhY2giLCJjb3JyZWN0Q2hvaWNlcyIsImZpbHRlciIsImMiLCJpZCIsInZhbGlkYXRlIiwibWF4UmVzcG9uc2VBcmVhcyIsImVycm9ycyIsIm5iT2ZSZXNwb25zZUFyZWFzIiwibWF0Y2giLCJyZXNwb25zZUFyZWFzRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFNQTs7Ozs7O0FBRUEsSUFBTUEsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ0MsT0FBRCxFQUFhO0FBQy9CLE1BQUlBLE9BQUosRUFBYTtBQUNYLFdBQU8sU0FBUDtBQUNEOztBQUVELFNBQU8sV0FBUDtBQUNELENBTkQ7O0FBUU8sSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVksQ0FBQ0MsUUFBRDtBQUFBO0FBQ3ZCQyxJQUFBQSxhQUFhLEVBQUUsSUFEUTtBQUV2QkMsSUFBQUEsZ0JBQWdCLEVBQUUsSUFGSztBQUd2QkMsSUFBQUEsMEJBQTBCLEVBQUUsSUFITDtBQUl2QkMsSUFBQUEsMEJBQTBCLEVBQUUsSUFKTDtBQUt2QkMsSUFBQUEsc0JBQXNCLEVBQUU7QUFMRCxLQU1wQkwsUUFOb0I7QUFBQSxDQUFsQjtBQVNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUNPLFNBQVNNLEtBQVQsQ0FBZU4sUUFBZixFQUF5Qk8sT0FBekIsRUFBa0NDLEdBQWxDLEVBQXVDQyxhQUF2QyxFQUFzRDtBQUMzRCxTQUFPLElBQUlDLE9BQUo7QUFBQSw2RkFBWSxpQkFBT0MsT0FBUDtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ1hDLGNBQUFBLGtCQURXLEdBQ1ViLFNBQVMsQ0FBQ0MsUUFBRCxDQURuQjtBQUFBLHNCQUVNTyxPQUFPLElBQUksRUFGakIsc0JBRVRNLEtBRlMsRUFFVEEsS0FGUyw0QkFFRCxFQUZDO0FBR2JDLGNBQUFBLE9BSGEsR0FHSCx3QkFDWkYsa0JBQWtCLENBQUNFLE9BRFAsRUFFWixVQUFDQyxHQUFELEVBQU1DLElB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QUNELENBZE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWFwIGZyb20gJ2xvZGFzaC9tYXAnO1xuaW1wb3J0IHJlZHVjZSBmcm9tICdsb2Rhc2gvcmVkdWNlJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCB7XG4gIGxvY2tDaG9pY2VzLFxuICBnZXRTaHVmZmxlZENob2ljZXMsXG4gIHBhcnRpYWxTY29yaW5nLFxufSBmcm9tICdAcGllLWxpYi9jb250cm9sbGVyLXV0aWxzJztcblxuaW1wb3J0IHsgZ2V0QWxsQ29ycmVjdFJlc3BvbnNlcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBnZXRGZWVkYmFjayA9IChjb3JyZWN0KSA9PiB7XG4gIGlmIChjb3JyZWN0KSB7XG4gICAgcmV0dXJuICdjb3JyZWN0JztcbiAgfVxuXG4gIHJldHVybiAnaW5jb3JyZWN0Jztcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemUgPSAocXVlc3Rpb24pID0+ICh7XG4gIHByb21wdEVuYWJsZWQ6IHRydWUsXG4gIHJhdGlvbmFsZUVuYWJsZWQ6IHRydWUsXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOiB0cnVlLFxuICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgY2hvaWNlUmF0aW9uYWxlRW5hYmxlZDogdHJ1ZSxcbiAgLi4ucXVlc3Rpb24sXG59KTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBxdWVzdGlvblxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0geyp9IGVudlxuICogQHBhcmFtIHsqfSB1cGRhdGVTZXNzaW9uIC0gb3B0aW9uYWwgLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBzZXQgdGhlIHByb3BlcnRpZXMgcGFzc2VkIGludG8gaXQgb24gdGhlIHNlc3Npb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCB1cGRhdGVTZXNzaW9uKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRRdWVzdGlvbiA9IG5vcm1hbGl6ZShxdWVzdGlvbik7XG4gICAgY29uc3QgeyB2YWx1ZSA9IHt9IH0gPSBzZXNzaW9uIHx8IHt9O1xuICAgIGxldCBjaG9pY2VzID0gcmVkdWNlKFxuICAgICAgbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZXMsXG4gICAgICAob2JqLCBhcmVhLCBrZXkpID0+IHtcbiAgICAgICAgb2JqW2tleV0gPSBtYXAoYXJlYSwgKGNob2ljZSkgPT4gY2hvaWNlKTtcblxuICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGxldCBmZWVkYmFjayA9IHt9O1xuXG4gICAgaWYgKGVudi5tb2RlID09PSAnZXZhbHVhdGUnKSB7XG4gICAgICBjb25zdCBhbGxDb3JyZWN0UmVzcG9uc2VzID0gZ2V0QWxsQ29ycmVjdFJlc3BvbnNlcyhub3JtYWxpemVkUXVlc3Rpb24pO1xuICAgICAgY29uc3QgcmVzcEFyZWFMZW5ndGggPSBPYmplY3Qua2V5cyhhbGxDb3JyZWN0UmVzcG9uc2VzKS5sZW5ndGg7XG4gICAgICBsZXQgY29ycmVjdFJlc3BvbnNlcyA9IDA7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcEFyZWFMZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSByZWR1Y2UoXG4gICAgICAgICAgYWxsQ29ycmVjdFJlc3BvbnNlcyxcbiAgICAgICAgICAob2JqLCBjaG9pY2VzLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuc3dlciA9ICh2YWx1ZSAmJiB2YWx1ZVtrZXldKSB8fCAnJztcbiAgICAgICAgICAgIGNvbnN0IGNvcnJlY3RDaG9pY2UgPSBjaG9pY2VzW2ldIHx8ICcnO1xuICAgICAgICAgICAgY29uc3QgaXNDb3JyZWN0ID1cbiAgICAgICAgICAgICAgYW5zd2VyICYmIGNvcnJlY3RDaG9pY2UgJiYgY29ycmVjdENob2ljZSA9PT0gYW5zd2VyO1xuXG4gICAgICAgICAgICBvYmouZmVlZGJhY2tba2V5XSA9IGdldEZlZWRiYWNrKGlzQ29ycmVjdCk7XG5cbiAgICAgICAgICAgIGlmIChpc0NvcnJlY3QpIHtcbiAgICAgICAgICAgICAgb2JqLmNvcnJlY3RSZXNwb25zZXMgKz0gMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgY29ycmVjdFJlc3BvbnNlczogMCwgZmVlZGJhY2s6IHt9IH1cbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocmVzdWx0LmNvcnJlY3RSZXNwb25zZXMgPj0gY29ycmVjdFJlc3BvbnNlcykge1xuICAgICAgICAgIGNvcnJlY3RSZXNwb25zZXMgPSByZXN1bHQuY29ycmVjdFJlc3BvbnNlcztcbiAgICAgICAgICBmZWVkYmFjayA9IHJlc3VsdC5mZWVkYmFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQuY29ycmVjdFJlc3BvbnNlcyA9PT0gcmVzcEFyZWFMZW5ndGgpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxvY2tDaG9pY2VPcmRlciA9IGxvY2tDaG9pY2VzKG5vcm1hbGl6ZWRRdWVzdGlvbiwgc2Vzc2lvbiwgZW52KTtcblxuICAgIGlmICghbG9ja0Nob2ljZU9yZGVyKSB7XG4gICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY2hvaWNlcyk7XG4gICAgICBsZXQgaTtcblxuICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qga2V5ID0ga2V5c1tpXTtcblxuICAgICAgICBjaG9pY2VzW2tleV0gPSBhd2FpdCBnZXRTaHVmZmxlZENob2ljZXMoXG4gICAgICAgICAgY2hvaWNlc1trZXldLFxuICAgICAgICAgIHNlc3Npb24sXG4gICAgICAgICAgdXBkYXRlU2Vzc2lvbixcbiAgICAgICAgICAndmFsdWUnXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IHRlYWNoZXJJbnN0cnVjdGlvbnMgPSBudWxsO1xuICAgIGxldCByYXRpb25hbGUgPSBudWxsO1xuXG4gICAgY29uc3QgY2hvaWNlc1dpbGxOdWxsUmF0aW9uYWxlcyA9IChPYmplY3Qua2V5cyhjaG9pY2VzKSB8fCBbXSkucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudFZhbHVlKSA9PiB7XG4gICAgICAgIGFjY1tjdXJyZW50VmFsdWVdID0gKGNob2ljZXNbY3VycmVudFZhbHVlXSB8fCBbXSkubWFwKChjaG9pY2UpID0+ICh7XG4gICAgICAgICAgLi4uY2hvaWNlLFxuICAgICAgICAgIHJhdGlvbmFsZTogbnVsbCxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgZW52LnJvbGUgPT09ICdpbnN0cnVjdG9yJyAmJlxuICAgICAgKGVudi5tb2RlID09PSAndmlldycgfHwgZW52Lm1vZGUgPT09ICdldmFsdWF0ZScpXG4gICAgKSB7XG4gICAgICByYXRpb25hbGUgPSBub3JtYWxpemVkUXVlc3Rpb24ucmF0aW9uYWxlRW5hYmxlZFxuICAgICAgICA/IG5vcm1hbGl6ZWRRdWVzdGlvbi5yYXRpb25hbGVcbiAgICAgICAgOiBudWxsO1xuICAgICAgdGVhY2hlckluc3RydWN0aW9ucyA9IG5vcm1hbGl6ZWRRdWVzdGlvbi50ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZFxuICAgICAgICA/IG5vcm1hbGl6ZWRRdWVzdGlvbi50ZWFjaGVySW5zdHJ1Y3Rpb25zXG4gICAgICAgIDogbnVsbDtcblxuICAgICAgY2hvaWNlcyA9IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VSYXRpb25hbGVFbmFibGVkXG4gICAgICAgID8gbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZXNcbiAgICAgICAgOiBjaG9pY2VzV2lsbE51bGxSYXRpb25hbGVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByYXRpb25hbGUgPSBudWxsO1xuICAgICAgdGVhY2hlckluc3RydWN0aW9ucyA9IG51bGw7XG4gICAgICBjaG9pY2VzID0gY2hvaWNlc1dpbGxOdWxsUmF0aW9uYWxlcztcbiAgICB9XG5cbiAgICBjb25zdCBvdXQgPSB7XG4gICAgICBkaXNhYmxlZDogZW52Lm1vZGUgIT09ICdnYXRoZXInLFxuICAgICAgbW9kZTogZW52Lm1vZGUsXG4gICAgICBwcm9tcHQ6IG5vcm1hbGl6ZWRRdWVzdGlvbi5wcm9tcHRFbmFibGVkXG4gICAgICAgID8gbm9ybWFsaXplZFF1ZXN0aW9uLnByb21wdFxuICAgICAgICA6IG51bGwsXG4gICAgICAgIGRpc3BsYXlUeXBlOiBub3JtYWxpemVkUXVlc3Rpb24uZGlzcGxheVR5cGUsXG4gICAgICBtYXJrdXA6IG5vcm1hbGl6ZWRRdWVzdGlvbi5tYXJrdXAsXG4gICAgICBjaG9pY2VzLFxuICAgICAgZmVlZGJhY2ssXG5cbiAgICAgIHJlc3BvbnNlQ29ycmVjdDpcbiAgICAgICAgZW52Lm1vZGUgPT09ICdldmFsdWF0ZSdcbiAgICAgICAgICA/IGdldFNjb3JlKG5vcm1hbGl6ZWRRdWVzdGlvbiwgc2Vzc2lvbikgPT09IDFcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHJhdGlvbmFsZSxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMsXG4gICAgfTtcblxuICAgIHJlc29sdmUob3V0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRTY29yZSA9IChjb25maWcsIHNlc3Npb24pID0+IHtcbiAgY29uc3QgeyB2YWx1ZSA9IHt9IH0gPSBzZXNzaW9uIHx8IHt9O1xuICBjb25zdCBtYXhTY29yZSA9XG4gICAgY29uZmlnICYmIGNvbmZpZy5jaG9pY2VzID8gT2JqZWN0LmtleXMoY29uZmlnLmNob2ljZXMpLmxlbmd0aCA6IDA7XG4gIGNvbnN0IGFsbENvcnJlY3RSZXNwb25zZXMgPSBnZXRBbGxDb3JyZWN0UmVzcG9uc2VzKGNvbmZpZyk7XG4gIGxldCBjb3JyZWN0Q291bnQgPSAwO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWF4U2NvcmU7IGkrKykge1xuICAgIGNvbnN0IHJlc3VsdCA9IHJlZHVjZShcbiAgICAgIGFsbENvcnJlY3RSZXNwb25zZXMsXG4gICAgICAodG90YWwsIGNob2ljZXMsIGtleSkgPT4ge1xuICAgICAgICBjb25zdCBhbnN3ZXIgPSAodmFsdWUgJiYgdmFsdWVba2V5XSkgfHwgJyc7XG4gICAgICAgIGNvbnN0IGNvcnJlY3RDaG9pY2UgPSBjaG9pY2VzW2ldIHx8ICcnO1xuXG4gICAgICAgIGlmIChjb3JyZWN0Q2hvaWNlICYmIGFuc3dlciAmJiBjb3JyZWN0Q2hvaWNlID09PSBhbnN3ZXIpIHtcbiAgICAgICAgICByZXR1cm4gdG90YWw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdG90YWwgLSAxO1xuICAgICAgfSxcbiAgICAgIG1heFNjb3JlXG4gICAgKTtcblxuICAgIGlmIChyZXN1bHQgPiBjb3JyZWN0Q291bnQpIHtcbiAgICAgIGNvcnJlY3RDb3VudCA9IHJlc3VsdDtcbiAgICB9XG5cbiAgICBpZiAocmVzdWx0ID09PSBtYXhTY29yZSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RyID0gKGNvcnJlY3RDb3VudCAvIG1heFNjb3JlKS50b0ZpeGVkKDIpO1xuXG4gIHJldHVybiBwYXJzZUZsb2F0KHN0cik7XG59O1xuXG4vKipcbiAqXG4gKiBUaGUgc2NvcmUgaXMgcGFydGlhbCBieSBkZWZhdWx0IGZvciBjaGVja2JveCBtb2RlLCBhbGxPck5vdGhpbmcgZm9yIHJhZGlvIG1vZGUuXG4gKiBUbyBkaXNhYmxlIHBhcnRpYWwgc2NvcmluZyBmb3IgY2hlY2tib3ggbW9kZSB5b3UgZWl0aGVyIHNldCBtb2RlbC5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlIG9yIGVudi5wYXJ0aWFsU2NvcmluZyA9XG4gKiBmYWxzZS4gdGhlIHZhbHVlIGluIGBlbnZgIHdpbGwgb3ZlcnJpZGUgdGhlIHZhbHVlIGluIGBtb2RlbGAuXG4gKiBAcGFyYW0ge09iamVjdH0gbW9kZWwgLSB0aGUgbWFpbiBtb2RlbFxuICogQHBhcmFtIHtib29sZWFufSBtb2RlbC5wYXJ0aWFsU2NvcmluZyAtIGlzIHBhcnRpYWwgc2NvcmluZyBlbmFibGVkIChpZiB1bmRlZmluZWQgc2V0IHRvIHRvIHRydWUpXG4gKiBAcGFyYW0geyp9IHNlc3Npb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBlbnZcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gZW52LnBhcnRpYWxTY29yaW5nIC0gaXMgcGFydGlhbCBzY29yaW5nIGVuYWJsZWQgKGlmIHVuZGVmaW5lZCBkZWZhdWx0IHRvIHRydWUpIFRoaXMgb3ZlcnJpZGVzXG4gKiAgIGBtb2RlbC5wYXJ0aWFsU2NvcmluZ2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRjb21lKG1vZGVsLCBzZXNzaW9uLCBlbnYgPSB7fSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBpZiAoIXNlc3Npb24gfHwgaXNFbXB0eShzZXNzaW9uKSkge1xuICAgICAgcmVzb2x2ZSh7IHNjb3JlOiAwLCBlbXB0eTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPSBwYXJ0aWFsU2NvcmluZy5lbmFibGVkKG1vZGVsLCBlbnYpO1xuICAgIGNvbnN0IHNjb3JlID0gZ2V0U2NvcmUobW9kZWwsIHNlc3Npb24pO1xuXG4gICAgcmVzb2x2ZSh7XG4gICAgICBzY29yZTogcGFydGlhbFNjb3JpbmdFbmFibGVkID8gc2NvcmUgOiBNYXRoLmZsb29yKHNjb3JlKSxcbiAgICAgIGVtcHR5OiBmYWxzZSxcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb3JyZWN0UmVzcG9uc2VTZXNzaW9uID0gKHF1ZXN0aW9uLCBlbnYpID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKGVudi5tb2RlICE9PSAnZXZhbHVhdGUnICYmIGVudi5yb2xlID09PSAnaW5zdHJ1Y3RvcicpIHtcbiAgICAgIGNvbnN0IHsgY2hvaWNlcyB9ID0gcXVlc3Rpb247XG4gICAgICBjb25zdCB2YWx1ZSA9IHt9O1xuXG4gICAgICBpZiAoY2hvaWNlcykge1xuICAgICAgICBPYmplY3Qua2V5cyhjaG9pY2VzKS5mb3JFYWNoKChrZXksIGkpID0+IHtcbiAgICAgICAgICBjb25zdCBjb3JyZWN0Q2hvaWNlcyA9XG4gICAgICAgICAgICBjaG9pY2VzW2tleV0gJiYgY2hvaWNlc1trZXldLmZpbHRlcigoYykgPT4gYy5jb3JyZWN0KTtcblxuICAgICAgICAgIHZhbHVlW2ldID0gY29ycmVjdENob2ljZXMgJiYgY29ycmVjdENob2ljZXNbMF0udmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXNvbHZlKHtcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgdmFsdWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlID0gKG1vZGVsID0ge30sIGNvbmZpZyA9IHt9KSA9PiB7XG4gIGNvbnN0IHsgbWFya3VwIH0gPSBtb2RlbDtcbiAgY29uc3QgeyBtYXhSZXNwb25zZUFyZWFzIH0gPSBjb25maWc7XG4gIGNvbnN0IGVycm9ycyA9IHt9O1xuXG4gIGNvbnN0IG5iT2ZSZXNwb25zZUFyZWFzID0gKG1hcmt1cC5tYXRjaCgvXFx7XFx7KFxcZCspXFx9XFx9L2cpIHx8IFtdKS5sZW5ndGg7XG5cbiAgaWYgKG5iT2ZSZXNwb25zZUFyZWFzID4gbWF4UmVzcG9uc2VBcmVhcykge1xuICAgIGVycm9ycy5yZXNwb25zZUFyZWFzRXJyb3IgPSBgTm8gbW9yZSB0aGFuICR7bWF4UmVzcG9uc2VBcmVhc30gcmVzcG9uc2UgYXJlYXMgc2hvdWxkIGJlIGRlZmluZWQuYDtcbiAgfSBlbHNlIGlmIChuYk9mUmVzcG9uc2VBcmVhcyA8IDEpIHtcbiAgICBlcnJvcnMucmVzcG9uc2VBcmVhc0Vycm9yID0gJ1RoZXJlIHNob3VsZCBiZSBkZWZpbmVkIGF0IGxlYXN0IDEgcmVzcG9uc2UgYXJlYS4nO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["getFeedback","correct","normalize","question","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","choiceRationaleEnabled","model","session","env","updateSession","Promise","resolve","normalizedQuestion","value","choices","obj","area","key","choice","feedback","mode","allCorrectResponses","respAreaLength","Object","keys","length","correctResponses","i","result","answer","correctChoice","isCorrect","lockChoiceOrder","teacherInstructions","rationale","choicesWillNullRationales","reduce","acc","currentValue","map","role","out","disabled","prompt","displayType","markup","responseCorrect","getScore","undefined","config","maxScore","correctCount","total","str","toFixed","parseFloat","outcome","score","empty","partialScoringEnabled","partialScoring","enabled","Math","floor","createCorrectResponseSession","forEach","correctChoices","filter","c","id","validate","maxResponseAreas","errors","nbOfResponseAreas","match","responseAreasError"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAMA;;;;;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,OAAD,EAAa;AAC/B,MAAIA,OAAJ,EAAa;AACX,WAAO,SAAP;AACD;;AAED,SAAO,WAAP;AACD,CAND;;AAQO,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,QAAD;AAAA;AACvBC,IAAAA,aAAa,EAAE,IADQ;AAEvBC,IAAAA,gBAAgB,EAAE,IAFK;AAGvBC,IAAAA,0BAA0B,EAAE,IAHL;AAIvBC,IAAAA,0BAA0B,EAAE,IAJL;AAKvBC,IAAAA,sBAAsB,EAAE;AALD,KAMpBL,QANoB;AAAA,CAAlB;AASP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,SAASM,KAAT,CAAeN,QAAf,EAAyBO,OAAzB,EAAkCC,GAAlC,EAAuCC,aAAvC,EAAsD;AAC3D,SAAO,IAAIC,OAAJ;AAAA,6FAAY,iBAAOC,OAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AACXC,cAAAA,kBADW,GACUb,SAAS,CAACC,QAAD,CADnB;AAAA,sBAEMO,OAAO,IAAI,EAFjB,sBAETM,KAFS,EAETA,KAFS,4BAED,EAFC;AAGbC,cAAAA,OAHa,GAGH,wBACZF,kBAAkB,CAACE,OADP,EAEZ,UAACC,GAAD,EAAMC,IAAN,EAAYC,GAAZ,EAAoB;AAClBF,gBAAAA,GAAG,CAACE,GAAD,CAAH,GAAW,qBAAID,IAAJ,EAAU,UAACE,MAAD;AAAA,yBAAYA,MAAZ;AAAA,iBAAV,CAAX;AAEA,uBAAOH,GAAP;AACD,eANW,EAOZ,EAPY,CAHG;AAabI,cAAAA,QAba,GAaF,EAbE;;AAAA,oBAebX,GAAG,CAACY,IAAJ,KAAa,UAfA;AAAA;AAAA;AAAA;;AAgBTC,cAAAA,mBAhBS,GAgBa,mCAAuBT,kBAAvB,CAhBb;AAiBTU,cAAAA,cAjBS,GAiBQC,MAAM,CAACC,IAAP,CAAYH,mBAAZ,EAAiCI,MAjBzC;AAkBXC,cAAAA,gBAlBW,GAkBQ,CAlBR;;AAAA,qCAoBNC,CApBM;AAqBb,oBAAMC,MAAM,GAAG,wBACbP,mBADa,EAEb,UAACN,GAAD,EAAMD,OAAN,EAAeG,GAAf,EAAuB;AACrB,sBAAMY,MAAM,GAAIhB,KAAK,IAAIA,KAAK,CAACI,GAAD,CAAf,IAAyB,EAAxC;AACA,sBAAMa,aAAa,GAAGhB,OAAO,CAACa,CAAD,CAAP,IAAc,EAApC;AACA,sBAAMI,SAAS,GACbF,MAAM,IAAIC,aAAV,IAA2BA,aAAa,KAAKD,MAD/C;AAGAd,kBAAAA,GAAG,CAACI,QAAJ,CAAaF,GAAb,IAAoBpB,WAAW,CAACkC,SAAD,CAA/B;;AAEA,sBAAIA,SAAJ,EAAe;AACbhB,oBAAAA,GAAG,CAACW,gBAAJ,IAAwB,CAAxB;AACD;;AAED,yBAAOX,GAAP;AACD,iBAfY,EAgBb;AAAEW,kBAAAA,gBAAgB,EAAE,CAApB;AAAuBP,kBAAAA,QAAQ,EAAE;AAAjC,iBAhBa,CAAf;;AAmBA,oBAAIS,MAAM,CAACF,gBAAP,IAA2BA,gBAA/B,EAAiD;AAC/CA,kBAAAA,gBAAgB,GAAGE,MAAM,CAACF,gBAA1B;AACAP,kBAAAA,QAAQ,GAAGS,MAAM,CAACT,QAAlB;AACD;;AAED,oBAAIS,MAAM,CAACF,gBAAP,KAA4BJ,cAAhC,EAAgD;AAC9C;AACD;AA/CY;;AAoBNK,cAAAA,CApBM,GAoBF,CApBE;;AAAA;AAAA,oBAoBCA,CAAC,GAAGL,cApBL;AAAA;AAAA;AAAA;;AAAA,2BAoBNK,CApBM;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAoBqBA,cAAAA,CAAC,EApBtB;AAAA;AAAA;;AAAA;AAmDXK,cAAAA,eAnDW,GAmDO,kCAAYpB,kBAAZ,EAAgCL,OAAhC,EAAyCC,GAAzC,CAnDP;;AAAA,kBAqDZwB,eArDY;AAAA;AAAA;AAAA;;AAsDTR,cAAAA,IAtDS,GAsDFD,MAAM,CAACC,IAAP,CAAYV,OAAZ,CAtDE;AAyDVa,cAAAA,EAAC,GAAG,CAzDM;;AAAA;AAAA,oBAyDHA,EAAC,GAAGH,IAAI,CAACC,MAzDN;AAAA;AAAA;AAAA;;AA0DPR,cAAAA,GA1DO,GA0DDO,IAAI,CAACG,EAAD,CA1DH;AAAA;AAAA,qBA4DQ,yCACnBb,OAAO,CAACG,GAAD,CADY,EAEnBV,OAFmB,EAGnBE,aAHmB,EAInB,OAJmB,CA5DR;;AAAA;AA4DbK,cAAAA,OAAO,CAACG,GAAD,CA5DM;;AAAA;AAyDcU,cAAAA,EAAC,EAzDf;AAAA;AAAA;;AAAA;AAqEbM,cAAAA,mBArEa,GAqES,IArET;AAsEbC,cAAAA,SAtEa,GAsED,IAtEC;AAwEXC,cAAAA,yBAxEW,GAwEiB,CAACZ,MAAM,CAACC,IAAP,CAAYV,OAAZ,KAAwB,EAAzB,EAA6BsB,MAA7B,CAChC,UAACC,GAAD,EAAMC,YAAN,EAAuB;AACrBD,gBAAAA,GAAG,CAACC,YAAD,CAAH,GAAoB,CAACxB,OAAO,CAACwB,YAAD,CAAP,IAAyB,EAA1B,EAA8BC,GAA9B,CAAkC,UAACrB,MAAD;AAAA,yDACjDA,MADiD;AAEpDgB,oBAAAA,SAAS,EAAE;AAFyC;AAAA,iBAAlC,CAApB;AAKA,uBAAOG,GAAP;AACD,eAR+B,EAShC,EATgC,CAxEjB;;AAoFjB,kBACE7B,GAAG,CAACgC,IAAJ,KAAa,YAAb,KACChC,GAAG,CAACY,IAAJ,KAAa,MAAb,IAAuBZ,GAAG,CAACY,IAAJ,KAAa,UADrC,CADF,EAGE;AACAc,gBAAAA,SAAS,GAAGtB,kBAAkB,CAACV,gBAAnB,GACRU,kBAAkB,CAACsB,SADX,GAER,IAFJ;AAGAD,gBAAAA,mBAAmB,GAAGrB,kBAAkB,CAACT,0BAAnB,GAClBS,kBAAkB,CAACqB,mBADD,GAElB,IAFJ;AAIAnB,gBAAAA,OAAO,GAAGF,kBAAkB,CAACP,sBAAnB,GACNO,kBAAkB,CAACE,OADb,GAENqB,yBAFJ;AAGD,eAdD,MAcO;AACLD,gBAAAA,SAAS,GAAG,IAAZ;AACAD,gBAAAA,mBAAmB,GAAG,IAAtB;AACAnB,gBAAAA,OAAO,GAAGqB,yBAAV;AACD;;AAEKM,cAAAA,GAxGW,GAwGL;AACVC,gBAAAA,QAAQ,EAAElC,GAAG,CAACY,IAAJ,KAAa,QADb;AAEVA,gBAAAA,IAAI,EAAEZ,GAAG,CAACY,IAFA;AAGVuB,gBAAAA,MAAM,EAAE/B,kBAAkB,CAACX,aAAnB,GACJW,kBAAkB,CAAC+B,MADf,GAEJ,IALM;AAMRC,gBAAAA,WAAW,EAAEhC,kBAAkB,CAACgC,WANxB;AAOVC,gBAAAA,MAAM,EAAEjC,kBAAkB,CAACiC,MAPjB;AAQV/B,gBAAAA,OAAO,EAAPA,OARU;AASVK,gBAAAA,QAAQ,EAARA,QATU;AAWV2B,gBAAAA,eAAe,EACbtC,GAAG,CAACY,IAAJ,KAAa,UAAb,GACI2B,QAAQ,CAACnC,kBAAD,EAAqBL,OAArB,CAAR,KAA0C,CAD9C,GAEIyC,SAdI;AAeVd,gBAAAA,SAAS,EAATA,SAfU;AAgBVD,gBAAAA,mBAAmB,EAAnBA;AAhBU,eAxGK;AA2HjBtB,cAAAA,OAAO,CAAC8B,GAAD,CAAP;;AA3HiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAAA;AAAA;AAAA;AAAA,MAAP;AA6HD;;AAEM,IAAMM,QAAQ,GAAG,SAAXA,QAAW,CAACE,MAAD,EAAS1C,OAAT,EAAqB;AAC3C,cAAuBA,OAAO,IAAI,EAAlC;AAAA,0BAAQM,KAAR;AAAA,MAAQA,KAAR,4BAAgB,EAAhB;;AACA,MAAMqC,QAAQ,GACZD,MAAM,IAAIA,MAAM,CAACnC,OAAjB,GAA2BS,MAAM,CAACC,IAAP,CAAYyB,MAAM,CAACnC,OAAnB,EAA4BW,MAAvD,GAAgE,CADlE;AAEA,MAAMJ,mBAAmB,GAAG,mCAAuB4B,MAAvB,CAA5B;AACA,MAAIE,YAAY,GAAG,CAAnB;;AAL2C,+BAOlCxB,CAPkC;AAQzC,QAAMC,MAAM,GAAG,wBACbP,mBADa,EAEb,UAAC+B,KAAD,EAAQtC,OAAR,EAAiBG,GAAjB,EAAyB;AACvB,UAAMY,MAAM,GAAIhB,KAAK,IAAIA,KAAK,CAACI,GAAD,CAAf,IAAyB,EAAxC;AACA,UAAMa,aAAa,GAAGhB,OAAO,CAACa,CAAD,CAAP,IAAc,EAApC;;AAEA,UAAIG,aAAa,IAAID,MAAjB,IAA2BC,aAAa,KAAKD,MAAjD,EAAyD;AACvD,eAAOuB,KAAP;AACD;;AAED,aAAOA,KAAK,GAAG,CAAf;AACD,KAXY,EAYbF,QAZa,CAAf;;AAeA,QAAItB,MAAM,GAAGuB,YAAb,EAA2B;AACzBA,MAAAA,YAAY,GAAGvB,MAAf;AACD;;AAED,QAAIA,MAAM,KAAKsB,QAAf,EAAyB;AACvB;AACD;AA7BwC;;AAO3C,OAAK,IAAIvB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuB,QAApB,EAA8BvB,CAAC,EAA/B,EAAmC;AAAA,uBAA1BA,CAA0B;;AAAA,2BAqB/B;AAEH;;AAED,MAAM0B,GAAG,GAAG,CAACF,YAAY,GAAGD,QAAhB,EAA0BI,OAA1B,CAAkC,CAAlC,CAAZ;AAEA,SAAOC,UAAU,CAACF,GAAD,CAAjB;AACD,CAnCM;AAqCP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,SAASG,OAAT,CAAiBlD,KAAjB,EAAwBC,OAAxB,EAA2C;AAAA,MAAVC,GAAU,uEAAJ,EAAI;AAChD,SAAO,IAAIE,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAI,CAACJ,OAAD,IAAY,yBAAQA,OAAR,CAAhB,EAAkC;AAChCI,MAAAA,OAAO,CAAC;AAAE8C,QAAAA,KAAK,EAAE,CAAT;AAAYC,QAAAA,KAAK,EAAE;AAAnB,OAAD,CAAP;AACD;;AAED,QAAMC,qBAAqB,GAAGC,gCAAeC,OAAf,CAAuBvD,KAAvB,EAA8BE,GAA9B,CAA9B;;AACA,QAAMiD,KAAK,GAAGV,QAAQ,CAACzC,KAAD,EAAQC,OAAR,CAAtB;AAEAI,IAAAA,OAAO,CAAC;AACN8C,MAAAA,KAAK,EAAEE,qBAAqB,GAAGF,KAAH,GAAWK,IAAI,CAACC,KAAL,CAAWN,KAAX,CADjC;AAENC,MAAAA,KAAK,EAAE;AAFD,KAAD,CAAP;AAID,GAZM,CAAP;AAaD;;AAEM,IAAMM,4BAA4B,GAAG,SAA/BA,4BAA+B,CAAChE,QAAD,EAAWQ,GAAX,EAAmB;AAC7D,SAAO,IAAIE,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAIH,GAAG,CAACY,IAAJ,KAAa,UAAb,IAA2BZ,GAAG,CAACgC,IAAJ,KAAa,YAA5C,EAA0D;AACxD,UAAQ1B,OAAR,GAAoBd,QAApB,CAAQc,OAAR;AACA,UAAMD,MAAK,GAAG,EAAd;;AAEA,UAAIC,OAAJ,EAAa;AACXS,QAAAA,MAAM,CAACC,IAAP,CAAYV,OAAZ,EAAqBmD,OAArB,CAA6B,UAAChD,GAAD,EAAMU,CAAN,EAAY;AACvC,cAAMuC,cAAc,GAClBpD,OAAO,CAACG,GAAD,CAAP,IAAgBH,OAAO,CAACG,GAAD,CAAP,CAAakD,MAAb,CAAoB,UAACC,CAAD;AAAA,mBAAOA,CAAC,CAACtE,OAAT;AAAA,WAApB,CADlB;AAGAe,UAAAA,MAAK,CAACc,CAAD,CAAL,GAAWuC,cAAc,IAAIA,cAAc,CAAC,CAAD,CAAd,CAAkBrD,KAA/C;AACD,SALD;AAMD;;AAEDF,MAAAA,OAAO,CAAC;AACN0D,QAAAA,EAAE,EAAE,GADE;AAENxD,QAAAA,KAAK,EAALA;AAFM,OAAD,CAAP;AAID,KAjBD,MAiBO;AACLF,MAAAA,OAAO,CAAC,IAAD,CAAP;AACD;AACF,GArBM,CAAP;AAsBD,CAvBM;;;;AAyBA,IAAM2D,QAAQ,GAAG,SAAXA,QAAW,GAA6B;AAAA,MAA5BhE,KAA4B,uEAApB,EAAoB;AAAA,MAAhB2C,MAAgB,uEAAP,EAAO;AACnD,MAAQJ,MAAR,GAAmBvC,KAAnB,CAAQuC,MAAR;AACA,MAAQ0B,gBAAR,GAA6BtB,MAA7B,CAAQsB,gBAAR;AACA,MAAMC,MAAM,GAAG,EAAf;AAEA,MAAMC,iBAAiB,GAAG,CAAC5B,MAAM,CAAC6B,KAAP,CAAa,gBAAb,KAAkC,EAAnC,EAAuCjD,MAAjE;;AAEA,MAAIgD,iBAAiB,GAAGF,gBAAxB,EAA0C;AACxCC,IAAAA,MAAM,CAACG,kBAAP,0BAA4CJ,gBAA5C;AACD,GAFD,MAEO,IAAIE,iBAAiB,GAAG,CAAxB,EAA2B;AAChCD,IAAAA,MAAM,CAACG,kBAAP,GAA4B,6CAA5B;AACD;;AAED,SAAOH,MAAP;AACD,CAdM","sourcesContent":["import map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n lockChoices,\n getShuffledChoices,\n partialScoring,\n} from '@pie-lib/controller-utils';\n\nimport { getAllCorrectResponses } from './utils';\n\nconst getFeedback = (correct) => {\n if (correct) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\nexport const normalize = (question) => ({\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n choiceRationaleEnabled: true,\n ...question,\n});\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport function model(question, session, env, updateSession) {\n return new Promise(async (resolve) => {\n const normalizedQuestion = normalize(question);\n const { value = {} } = session || {};\n let choices = reduce(\n normalizedQuestion.choices,\n (obj, area, key) => {\n obj[key] = map(area, (choice) => choice);\n\n return obj;\n },\n {}\n );\n\n let feedback = {};\n\n if (env.mode === 'evaluate') {\n const allCorrectResponses = getAllCorrectResponses(normalizedQuestion);\n const respAreaLength = Object.keys(allCorrectResponses).length;\n let correctResponses = 0;\n\n for (let i = 0; i < respAreaLength; i++) {\n const result = reduce(\n allCorrectResponses,\n (obj, choices, key) => {\n const answer = (value && value[key]) || '';\n const correctChoice = choices[i] || '';\n const isCorrect =\n answer && correctChoice && correctChoice === answer;\n\n obj.feedback[key] = getFeedback(isCorrect);\n\n if (isCorrect) {\n obj.correctResponses += 1;\n }\n\n return obj;\n },\n { correctResponses: 0, feedback: {} }\n );\n\n if (result.correctResponses >= correctResponses) {\n correctResponses = result.correctResponses;\n feedback = result.feedback;\n }\n\n if (result.correctResponses === respAreaLength) {\n break;\n }\n }\n }\n\n const lockChoiceOrder = lockChoices(normalizedQuestion, session, env);\n\n if (!lockChoiceOrder) {\n const keys = Object.keys(choices);\n let i;\n\n for (i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n choices[key] = await getShuffledChoices(\n choices[key],\n session,\n updateSession,\n 'value'\n );\n }\n }\n\n let teacherInstructions = null;\n let rationale = null;\n\n const choicesWillNullRationales = (Object.keys(choices) || []).reduce(\n (acc, currentValue) => {\n acc[currentValue] = (choices[currentValue] || []).map((choice) => ({\n ...choice,\n rationale: null,\n }));\n\n return acc;\n },\n {}\n );\n\n if (\n env.role === 'instructor' &&\n (env.mode === 'view' || env.mode === 'evaluate')\n ) {\n rationale = normalizedQuestion.rationaleEnabled\n ? normalizedQuestion.rationale\n : null;\n teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n\n choices = normalizedQuestion.choiceRationaleEnabled\n ? normalizedQuestion.choices\n : choicesWillNullRationales;\n } else {\n rationale = null;\n teacherInstructions = null;\n choices = choicesWillNullRationales;\n }\n\n const out = {\n disabled: env.mode !== 'gather',\n mode: env.mode,\n prompt: normalizedQuestion.promptEnabled\n ? normalizedQuestion.prompt\n : null,\n displayType: normalizedQuestion.displayType,\n markup: normalizedQuestion.markup,\n choices,\n feedback,\n\n responseCorrect:\n env.mode === 'evaluate'\n ? getScore(normalizedQuestion, session) === 1\n : undefined,\n rationale,\n teacherInstructions,\n };\n\n resolve(out);\n });\n}\n\nexport const getScore = (config, session) => {\n const { value = {} } = session || {};\n const maxScore =\n config && config.choices ? Object.keys(config.choices).length : 0;\n const allCorrectResponses = getAllCorrectResponses(config);\n let correctCount = 0;\n\n for (let i = 0; i < maxScore; i++) {\n const result = reduce(\n allCorrectResponses,\n (total, choices, key) => {\n const answer = (value && value[key]) || '';\n const correctChoice = choices[i] || '';\n\n if (correctChoice && answer && correctChoice === answer) {\n return total;\n }\n\n return total - 1;\n },\n maxScore\n );\n\n if (result > correctCount) {\n correctCount = result;\n }\n\n if (result === maxScore) {\n break;\n }\n }\n\n const str = (correctCount / maxScore).toFixed(2);\n\n return parseFloat(str);\n};\n\n/**\n *\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =\n * false. the value in `env` will override the value in `model`.\n * @param {Object} model - the main model\n * @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)\n * @param {*} session\n * @param {Object} env\n * @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides\n * `model.partialScoring`.\n */\nexport function outcome(model, session, env = {}) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n const partialScoringEnabled = partialScoring.enabled(model, env);\n const score = getScore(model, session);\n\n resolve({\n score: partialScoringEnabled ? score : Math.floor(score),\n empty: false,\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question;\n const value = {};\n\n if (choices) {\n Object.keys(choices).forEach((key, i) => {\n const correctChoices =\n choices[key] && choices[key].filter((c) => c.correct);\n\n value[i] = correctChoices && correctChoices[0].value;\n });\n }\n\n resolve({\n id: '1',\n value,\n });\n } else {\n resolve(null);\n }\n });\n};\n\nexport const validate = (model = {}, config = {}) => {\n const { markup } = model;\n const { maxResponseAreas } = config;\n const errors = {};\n\n const nbOfResponseAreas = (markup.match(/\\{\\{(\\d+)\\}\\}/g) || []).length;\n\n if (nbOfResponseAreas > maxResponseAreas) {\n errors.responseAreasError = `No more than ${maxResponseAreas} response areas should be defined.`;\n } else if (nbOfResponseAreas < 1) {\n errors.responseAreasError = 'Should be defined at least 1 response area.';\n }\n\n return errors;\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["getFeedback","correct","normalize","question","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","choiceRationaleEnabled","model","session","env","updateSession","Promise","resolve","normalizedQuestion","value","choices","obj","area","key","choice","feedback","mode","allCorrectResponses","respAreaLength","Object","keys","length","correctResponses","i","result","answer","correctChoice","isCorrect","lockChoiceOrder","teacherInstructions","rationale","choicesWillNullRationales","reduce","acc","currentValue","map","role","out","disabled","prompt","displayType","markup","responseCorrect","getScore","undefined","config","maxScore","correctCount","total","str","toFixed","parseFloat","outcome","score","empty","partialScoringEnabled","partialScoring","enabled","Math","floor","createCorrectResponseSession","forEach","correctChoices","filter","c","id","validate","maxResponseAreas","errors","nbOfResponseAreas","match","responseAreasError"],"mappings":"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","sourcesContent":["import map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n lockChoices,\n getShuffledChoices,\n partialScoring,\n} from '@pie-lib/controller-utils';\n\nimport { getAllCorrectResponses } from './utils';\n\nconst getFeedback = (correct) => {\n if (correct) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\nexport const normalize = (question) => ({\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n choiceRationaleEnabled: true,\n ...question,\n});\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport function model(question, session, env, updateSession) {\n return new Promise(async (resolve) => {\n const normalizedQuestion = normalize(question);\n const { value = {} } = session || {};\n let choices = reduce(\n normalizedQuestion.choices,\n (obj, area, key) => {\n obj[key] = map(area, (choice) => choice);\n\n return obj;\n },\n {}\n );\n\n let feedback = {};\n\n if (env.mode === 'evaluate') {\n const allCorrectResponses = getAllCorrectResponses(normalizedQuestion);\n const respAreaLength = Object.keys(allCorrectResponses).length;\n let correctResponses = 0;\n\n for (let i = 0; i < respAreaLength; i++) {\n const result = reduce(\n allCorrectResponses,\n (obj, choices, key) => {\n const answer = (value && value[key]) || '';\n const correctChoice = choices[i] || '';\n const isCorrect =\n answer && correctChoice && correctChoice === answer;\n\n obj.feedback[key] = getFeedback(isCorrect);\n\n if (isCorrect) {\n obj.correctResponses += 1;\n }\n\n return obj;\n },\n { correctResponses: 0, feedback: {} }\n );\n\n if (result.correctResponses >= correctResponses) {\n correctResponses = result.correctResponses;\n feedback = result.feedback;\n }\n\n if (result.correctResponses === respAreaLength) {\n break;\n }\n }\n }\n\n const lockChoiceOrder = lockChoices(normalizedQuestion, session, env);\n\n if (!lockChoiceOrder) {\n const keys = Object.keys(choices);\n let i;\n\n for (i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n choices[key] = await getShuffledChoices(\n choices[key],\n session,\n updateSession,\n 'value'\n );\n }\n }\n\n let teacherInstructions = null;\n let rationale = null;\n\n const choicesWillNullRationales = (Object.keys(choices) || []).reduce(\n (acc, currentValue) => {\n acc[currentValue] = (choices[currentValue] || []).map((choice) => ({\n ...choice,\n rationale: null,\n }));\n\n return acc;\n },\n {}\n );\n\n if (\n env.role === 'instructor' &&\n (env.mode === 'view' || env.mode === 'evaluate')\n ) {\n rationale = normalizedQuestion.rationaleEnabled\n ? normalizedQuestion.rationale\n : null;\n teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n\n choices = normalizedQuestion.choiceRationaleEnabled\n ? normalizedQuestion.choices\n : choicesWillNullRationales;\n } else {\n rationale = null;\n teacherInstructions = null;\n choices = choicesWillNullRationales;\n }\n\n const out = {\n disabled: env.mode !== 'gather',\n mode: env.mode,\n prompt: normalizedQuestion.promptEnabled\n ? normalizedQuestion.prompt\n : null,\n displayType: normalizedQuestion.displayType,\n markup: normalizedQuestion.markup,\n choices,\n feedback,\n\n responseCorrect:\n env.mode === 'evaluate'\n ? getScore(normalizedQuestion, session) === 1\n : undefined,\n rationale,\n teacherInstructions,\n };\n\n resolve(out);\n });\n}\n\nexport const getScore = (config, session) => {\n const { value = {} } = session || {};\n const maxScore =\n config && config.choices ? Object.keys(config.choices).length : 0;\n const allCorrectResponses = getAllCorrectResponses(config);\n let correctCount = 0;\n\n for (let i = 0; i < maxScore; i++) {\n const result = reduce(\n allCorrectResponses,\n (total, choices, key) => {\n const answer = (value && value[key]) || '';\n const correctChoice = choices[i] || '';\n\n if (correctChoice && answer && correctChoice === answer) {\n return total;\n }\n\n return total - 1;\n },\n maxScore\n );\n\n if (result > correctCount) {\n correctCount = result;\n }\n\n if (result === maxScore) {\n break;\n }\n }\n\n const str = (correctCount / maxScore).toFixed(2);\n\n return parseFloat(str);\n};\n\n/**\n *\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =\n * false. the value in `env` will override the value in `model`.\n * @param {Object} model - the main model\n * @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)\n * @param {*} session\n * @param {Object} env\n * @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides\n * `model.partialScoring`.\n */\nexport function outcome(model, session, env = {}) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n const partialScoringEnabled = partialScoring.enabled(model, env);\n const score = getScore(model, session);\n\n resolve({\n score: partialScoringEnabled ? score : Math.floor(score),\n empty: false,\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question;\n const value = {};\n\n if (choices) {\n Object.keys(choices).forEach((key, i) => {\n const correctChoices =\n choices[key] && choices[key].filter((c) => c.correct);\n\n value[i] = correctChoices && correctChoices[0].value;\n });\n }\n\n resolve({\n id: '1',\n value,\n });\n } else {\n resolve(null);\n }\n });\n};\n\nexport const validate = (model = {}, config = {}) => {\n const { markup } = model;\n const { maxResponseAreas } = config;\n const errors = {};\n\n const nbOfResponseAreas = (markup.match(/\\{\\{(\\d+)\\}\\}/g) || []).length;\n\n if (nbOfResponseAreas > maxResponseAreas) {\n errors.responseAreasError = `No more than ${maxResponseAreas} response areas should be defined.`;\n } else if (nbOfResponseAreas < 1) {\n errors.responseAreasError = 'There should be defined at least 1 response area.';\n }\n\n return errors;\n};\n"],"file":"index.js"}
|
package/controller/lib/utils.js
CHANGED
|
@@ -37,4 +37,4 @@ var getAllCorrectResponses = function getAllCorrectResponses(_ref) {
|
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
exports.getAllCorrectResponses = getAllCorrectResponses;
|
|
40
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRBbGxDb3JyZWN0UmVzcG9uc2VzIiwiY2hvaWNlcyIsImFsdGVybmF0ZVJlc3BvbnNlIiwiY29ycmVjdEFuc3dlcnMiLCJyZXNwQXJlYSIsImtleSIsImZvckVhY2giLCJjaG9pY2UiLCJjb3JyZWN0IiwicHVzaCIsInZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVPLElBQU1BLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBeUIsT0FBb0M7QUFBQSxNQUFqQ0MsT0FBaUMsUUFBakNBLE9BQWlDO0FBQUEsTUFBeEJDLGlCQUF3QixRQUF4QkEsaUJBQXdCO0FBQ3hFQSxFQUFBQSxpQkFBaUIsR0FBR0EsaUJBQWlCLElBQUksRUFBekM7QUFDQSxNQUFNQyxjQUFjLEdBQUcsRUFBdkI7QUFFQSwyQkFBUUYsT0FBUixFQUFpQixVQUFDRyxRQUFELEVBQVdDLEdBQVgsRUFBbUI7QUFDbEMsUUFBSSxDQUFDRixjQUFjLENBQUNFLEdBQUQsQ0FBbkIsRUFBMEI7QUFDeEJGLE1BQUFBLGNBQWMsQ0FBQ0UsR0FBRCxDQUFkLEdBQXNCLEVBQXRCO0FBQ0Q7O0FBRUQsUUFBSUQsUUFBSixFQUFjO0FBQ1pBLE1BQUFBLFFBQVEsQ0FBQ0UsT0FBVCxDQUFpQixVQUFBQyxNQUFNLEVBQUk7QUFDekIsWUFBSUEsTUFBTSxDQUFDQyxPQUFYLEVBQW9CO0FBQ2xCTCxVQUFBQSxjQUFjLENBQUNFLEdBQUQsQ0FBZCxDQUFvQkksSUFBcEIsQ0FBeUJGLE1BQU0sQ0FBQ0csS0FBaEM7O0FBRUEsY0FBSVIsaUJBQWlCLENBQUNHLEdBQUQsQ0FBckIsRUFBNEI7QUFDMUJGLFlBQUFBLGNBQWMsQ0FBQ0UsR0FBRCxDQUFkLGlEQUNLRixjQUFjLENBQUNFLEdBQUQsQ0FEbkIsdUNBRUtILGlCQUFpQixDQUFDRyxHQUFELENBRnRCO0FBSUQ7QUFDRjtBQUNGLE9BWEQ7QUFZRDtBQUNGLEdBbkJEO0FBcUJBLFNBQU9GLGNBQVA7QUFDRCxDQTFCTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmb3JFYWNoIGZyb20gJ2xvZGFzaC9mb3JFYWNoJztcblxuZXhwb3J0IGNvbnN0IGdldEFsbENvcnJlY3RSZXNwb25zZXMgPSAoeyBjaG9pY2VzLCBhbHRlcm5hdGVSZXNwb25zZSB9KSA9PiB7XG4gIGFsdGVybmF0ZVJlc3BvbnNlID0gYWx0ZXJuYXRlUmVzcG9uc2UgfHwge307XG4gIGNvbnN0IGNvcnJlY3RBbnN3ZXJzID0ge307XG5cbiAgZm9yRWFjaChjaG9pY2VzLCAocmVzcEFyZWEsIGtleSkgPT4ge1xuICAgIGlmICghY29ycmVjdEFuc3dlcnNba2V5XSkge1xuICAgICAgY29ycmVjdEFuc3dlcnNba2V5XSA9IFtdO1xuICAgIH1cblxuICAgIGlmIChyZXNwQXJlYSkge1xuICAgICAgcmVzcEFyZWEuZm9yRWFjaChjaG9pY2UgPT4ge1xuICAgICAgICBpZiAoY2hvaWNlLmNvcnJlY3QpIHtcbiAgICAgICAgICBjb3JyZWN0QW5zd2Vyc1trZXldLnB1c2goY2hvaWNlLnZhbHVlKTtcblxuICAgICAgICAgIGlmIChhbHRlcm5hdGVSZXNwb25zZVtrZXldKSB7XG4gICAgICAgICAgICBjb3JyZWN0QW5zd2Vyc1trZXldID0gW1xuICAgICAgICAgICAgICAuLi5jb3JyZWN0QW5zd2Vyc1trZXldLFxuICAgICAgICAgICAgICAuLi5hbHRlcm5hdGVSZXNwb25zZVtrZXldXG4gICAgICAgICAgICBdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gY29ycmVjdEFuc3dlcnM7XG59O1xuIl19
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _inlineDropdown = require("../inline-dropdown");
|
|
12
|
+
|
|
13
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
+
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
|
|
17
|
+
describe('InlineDropdown', function () {
|
|
18
|
+
var wrapper;
|
|
19
|
+
var onChange = jest.fn();
|
|
20
|
+
beforeAll(function () {
|
|
21
|
+
wrapper = function wrapper(extra) {
|
|
22
|
+
var props = _objectSpread({
|
|
23
|
+
classes: {},
|
|
24
|
+
prompt: 'Prompt',
|
|
25
|
+
rationale: 'Rationale',
|
|
26
|
+
teacherInstructions: 'Teacher Instructions',
|
|
27
|
+
disabled: false,
|
|
28
|
+
choices: {
|
|
29
|
+
'0': [{
|
|
30
|
+
label: 'cow ',
|
|
31
|
+
value: '0',
|
|
32
|
+
correct: true,
|
|
33
|
+
rationale: 'rationale cow'
|
|
34
|
+
}, {
|
|
35
|
+
label: 'dog ',
|
|
36
|
+
value: '1',
|
|
37
|
+
correct: false
|
|
38
|
+
}, {
|
|
39
|
+
label: 'cat ',
|
|
40
|
+
value: '2',
|
|
41
|
+
correct: false
|
|
42
|
+
}],
|
|
43
|
+
'1': [{
|
|
44
|
+
label: 'over ',
|
|
45
|
+
value: '0',
|
|
46
|
+
correct: true,
|
|
47
|
+
rationale: 'rationale over'
|
|
48
|
+
}, {
|
|
49
|
+
label: 'under ',
|
|
50
|
+
value: '1',
|
|
51
|
+
correct: false
|
|
52
|
+
}, {
|
|
53
|
+
label: 'across ',
|
|
54
|
+
value: '2',
|
|
55
|
+
correct: false
|
|
56
|
+
}],
|
|
57
|
+
'2': [{
|
|
58
|
+
label: 'moon ',
|
|
59
|
+
value: '0',
|
|
60
|
+
correct: true,
|
|
61
|
+
rationale: 'rationale moon'
|
|
62
|
+
}, {
|
|
63
|
+
label: 'sun',
|
|
64
|
+
value: '2',
|
|
65
|
+
correct: false
|
|
66
|
+
}, {
|
|
67
|
+
label: 'house ',
|
|
68
|
+
value: '3',
|
|
69
|
+
correct: false
|
|
70
|
+
}]
|
|
71
|
+
},
|
|
72
|
+
markup: '<div><p>The {{0}} jumped {{1}} the {{2}}</p></div>',
|
|
73
|
+
mode: 'gather',
|
|
74
|
+
feedback: {
|
|
75
|
+
0: 'correct',
|
|
76
|
+
1: 'correct',
|
|
77
|
+
2: 'correct'
|
|
78
|
+
},
|
|
79
|
+
value: {
|
|
80
|
+
0: '1',
|
|
81
|
+
1: '0',
|
|
82
|
+
2: '0'
|
|
83
|
+
},
|
|
84
|
+
onChange: onChange
|
|
85
|
+
}, extra);
|
|
86
|
+
|
|
87
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_inlineDropdown.InlineDropdown, props));
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
describe('render', function () {
|
|
91
|
+
it('should render in gather mode', function () {
|
|
92
|
+
expect(wrapper()).toMatchSnapshot();
|
|
93
|
+
});
|
|
94
|
+
it('should render in view mode', function () {
|
|
95
|
+
expect(wrapper({
|
|
96
|
+
mode: 'view'
|
|
97
|
+
})).toMatchSnapshot();
|
|
98
|
+
});
|
|
99
|
+
it('should render in evaluate mode', function () {
|
|
100
|
+
expect(wrapper({
|
|
101
|
+
mode: 'evaluate'
|
|
102
|
+
})).toMatchSnapshot();
|
|
103
|
+
});
|
|
104
|
+
it('should render without teacher instructions', function () {
|
|
105
|
+
expect(wrapper({
|
|
106
|
+
teacherInstructions: null
|
|
107
|
+
})).toMatchSnapshot();
|
|
108
|
+
});
|
|
109
|
+
it('should render without rationale', function () {
|
|
110
|
+
expect(wrapper({
|
|
111
|
+
rationale: null
|
|
112
|
+
})).toMatchSnapshot();
|
|
113
|
+
});
|
|
114
|
+
it('should render without prompt', function () {
|
|
115
|
+
expect(wrapper({
|
|
116
|
+
prompt: null
|
|
117
|
+
})).toMatchSnapshot();
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5saW5lLWRyb3Bkb3duLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwid3JhcHBlciIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwiYmVmb3JlQWxsIiwiZXh0cmEiLCJwcm9wcyIsImNsYXNzZXMiLCJwcm9tcHQiLCJyYXRpb25hbGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiZGlzYWJsZWQiLCJjaG9pY2VzIiwibGFiZWwiLCJ2YWx1ZSIsImNvcnJlY3QiLCJtYXJrdXAiLCJtb2RlIiwiZmVlZGJhY2siLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7Ozs7OztBQUVBQSxRQUFRLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMvQixNQUFJQyxPQUFKO0FBQ0EsTUFBSUMsUUFBUSxHQUFHQyxJQUFJLENBQUNDLEVBQUwsRUFBZjtBQUVBQyxFQUFBQSxTQUFTLENBQUMsWUFBTTtBQUNkSixJQUFBQSxPQUFPLEdBQUcsaUJBQUNLLEtBQUQsRUFBVztBQUNuQixVQUFNQyxLQUFLO0FBQ1RDLFFBQUFBLE9BQU8sRUFBRSxFQURBO0FBRVRDLFFBQUFBLE1BQU0sRUFBRSxRQUZDO0FBR1RDLFFBQUFBLFNBQVMsRUFBRSxXQUhGO0FBSVRDLFFBQUFBLG1CQUFtQixFQUFFLHNCQUpaO0FBS1RDLFFBQUFBLFFBQVEsRUFBRSxLQUxEO0FBTVRDLFFBQUFBLE9BQU8sRUFBRTtBQUNQLGVBQUssQ0FDSDtBQUNFQyxZQUFBQSxLQUFLLEVBQUUsTUFEVDtBQUVFQyxZQUFBQSxLQUFLLEVBQUUsR0FGVDtBQUdFQyxZQUFBQSxPQUFPLEVBQUUsSUFIWDtBQUlFTixZQUFBQSxTQUFTLEVBQUU7QUFKYixXQURHLEVBT0g7QUFDRUksWUFBQUEsS0FBSyxFQUFFLE1BRFQ7QUFFRUMsWUFBQUEsS0FBSyxFQUFFLEdBRlQ7QUFHRUMsWUFBQUEsT0FBTyxFQUFFO0FB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QUNELEtBRkMsQ0FBRjtBQUlBRixJQUFBQSxFQUFFLENBQUMsOEJBQUQsRUFBaUMsWUFBTTtBQUN2Q0MsTUFBQUEsTUFBTSxDQUFDcEIsT0FBTyxDQUFDO0FBQUVRLFFBQUFBLE1BQU0sRUFBRTtBQUFWLE9BQUQsQ0FBUixDQUFOLENBQWtDYSxlQUFsQztBQUNELEtBRkMsQ0FBRjtBQUdELEdBeEJPLENBQVI7QUF5QkQsQ0F6R08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgSW5saW5lRHJvcGRvd24gfSBmcm9tICcuLi9pbmxpbmUtZHJvcGRvd24nO1xuXG5kZXNjcmliZSgnSW5saW5lRHJvcGRvd24nLCAoKSA9PiB7XG4gIGxldCB3cmFwcGVyO1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICB3cmFwcGVyID0gKGV4dHJhKSA9PiB7XG4gICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgIHByb21wdDogJ1Byb21wdCcsXG4gICAgICAgIHJhdGlvbmFsZTogJ1JhdGlvbmFsZScsXG4gICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdUZWFjaGVyIEluc3RydWN0aW9ucycsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgY2hvaWNlczoge1xuICAgICAgICAgICcwJzogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogJ2NvdyAnLFxuICAgICAgICAgICAgICB2YWx1ZTogJzAnLFxuICAgICAgICAgICAgICBjb3JyZWN0OiB0cnVlLFxuICAgICAgICAgICAgICByYXRpb25hbGU6ICdyYXRpb25hbGUgY293J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdkb2cgJyxcbiAgICAgICAgICAgICAgdmFsdWU6ICcxJyxcbiAgICAgICAgICAgICAgY29ycmVjdDogZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnY2F0ICcsXG4gICAgICAgICAgICAgIHZhbHVlOiAnMicsXG4gICAgICAgICAgICAgIGNvcnJlY3Q6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICAnMSc6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdvdmVyICcsXG4gICAgICAgICAgICAgIHZhbHVlOiAnMCcsXG4gICAgICAgICAgICAgIGNvcnJlY3Q6IHRydWUsXG4gICAgICAgICAgICAgIHJhdGlvbmFsZTogJ3JhdGlvbmFsZSBvdmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICd1bmRlciAnLFxuICAgICAgICAgICAgICB2YWx1ZTogJzEnLFxuICAgICAgICAgICAgICBjb3JyZWN0OiBmYWxzZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdhY3Jvc3MgJyxcbiAgICAgICAgICAgICAgdmFsdWU6ICcyJyxcbiAgICAgICAgICAgICAgY29ycmVjdDogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgICcyJzogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogJ21vb24gJyxcbiAgICAgICAgICAgICAgdmFsdWU6ICcwJyxcbiAgICAgICAgICAgICAgY29ycmVjdDogdHJ1ZSxcbiAgICAgICAgICAgICAgcmF0aW9uYWxlOiAncmF0aW9uYWxlIG1vb24nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogJ3N1bicsXG4gICAgICAgICAgICAgIHZhbHVlOiAnMicsXG4gICAgICAgICAgICAgIGNvcnJlY3Q6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogJ2hvdXNlICcsXG4gICAgICAgICAgICAgIHZhbHVlOiAnMycsXG4gICAgICAgICAgICAgIGNvcnJlY3Q6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBtYXJrdXA6ICc8ZGl2PjxwPlRoZSB7ezB9fSBqdW1wZWQge3sxfX0gdGhlIHt7Mn19PC9wPjwvZGl2PicsXG4gICAgICAgIG1vZGU6ICdnYXRoZXInLFxuICAgICAgICBmZWVkYmFjazogeyAwOiAnY29ycmVjdCcsIDE6ICdjb3JyZWN0JywgMjogJ2NvcnJlY3QnIH0sXG4gICAgICAgIHZhbHVlOiB7IDA6ICcxJywgMTogJzAnLCAyOiAnMCcgfSxcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgIC4uLmV4dHJhXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gc2hhbGxvdyg8SW5saW5lRHJvcGRvd24gey4uLnByb3BzfS8+KTtcbiAgICB9O1xuICB9KTtcblxuICBkZXNjcmliZSgncmVuZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmVuZGVyIGluIGdhdGhlciBtb2RlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHdyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlbmRlciBpbiB2aWV3IG1vZGUnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qod3JhcHBlcih7IG1vZGU6ICd2aWV3JyB9KSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlbmRlciBpbiBldmFsdWF0ZSBtb2RlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHdyYXBwZXIoeyBtb2RlOiAnZXZhbHVhdGUnIH0pKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVuZGVyIHdpdGhvdXQgdGVhY2hlciBpbnN0cnVjdGlvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qod3JhcHBlcih7IHRlYWNoZXJJbnN0cnVjdGlvbnM6IG51bGwgfSkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZW5kZXIgd2l0aG91dCByYXRpb25hbGUnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qod3JhcHBlcih7IHJhdGlvbmFsZTogbnVsbCB9KSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlbmRlciB3aXRob3V0IHByb21wdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3cmFwcGVyKHsgcHJvbXB0OiBudWxsIH0pKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
package/lib/index.js
CHANGED
|
@@ -111,4 +111,4 @@ var RootInlineDropdown = /*#__PURE__*/function (_HTMLElement) {
|
|
|
111
111
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
112
112
|
|
|
113
113
|
exports["default"] = RootInlineDropdown;
|
|
114
|
-
//# sourceMappingURL=
|
|
114
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJSb290SW5saW5lRHJvcGRvd24iLCJfbW9kZWwiLCJfc2Vzc2lvbiIsImVsZW0iLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJJbmxpbmVEcm9wZG93biIsInByb21wdCIsInJhdGlvbmFsZSIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJkaXNhYmxlZCIsImRpc3BsYXlUeXBlIiwibWFya3VwIiwibW9kZSIsImNob2ljZXMiLCJ2YWx1ZSIsImZlZWRiYWNrIiwib25DaGFuZ2UiLCJjaGFuZ2VTZXNzaW9uIiwiUmVhY3RET00iLCJyZW5kZXIiLCJkaXNwYXRjaEV2ZW50IiwiU2Vzc2lvbkNoYW5nZWRFdmVudCIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsInNlc3Npb24iLCJkaXNwYXRjaENoYW5nZWRFdmVudCIsIl9yZW5kZXIiLCJtIiwiTW9kZWxTZXRFdmVudCIsInMiLCJIVE1MRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUlBOztBQUNBOzs7Ozs7SUFFcUJBLGtCOzs7OztBQUNuQixnQ0FBYztBQUFBOztBQUFBO0FBQ1o7QUFEWSxnR0E0QkosWUFBTTtBQUNkLFVBQUksTUFBS0MsTUFBTCxJQUFlLE1BQUtDLFFBQXhCLEVBQWtDO0FBQ2hDLFlBQUlDLElBQUksZ0JBQUdDLGtCQUFNQyxhQUFOLENBQW9CQywwQkFBcEIsRUFBb0M7QUFDN0NDLFVBQUFBLE1BQU0sRUFBRSxNQUFLTixNQUFMLENBQVlNLE1BRHlCO0FBRTdDQyxVQUFBQSxTQUFTLEVBQUUsTUFBS1AsTUFBTCxDQUFZTyxTQUZzQjtBQUc3Q0MsVUFBQUEsbUJBQW1CLEVBQUUsTUFBS1IsTUFBTCxDQUFZUSxtQkFIWTtBQUk3Q0MsVUFBQUEsUUFBUSxFQUFFLE1BQUtULE1BQUwsQ0FBWVMsUUFKdUI7QUFLN0NDLFVBQUFBLFdBQVcsRUFBRSxNQUFLVixNQUFMLENBQVlVLFdBTG9CO0FBTTdDQyxVQUFBQSxNQUFNLEVBQUUsTUFBS1gsTUFBTCxDQUFZVyxNQU55QjtBQU83Q0MsVUFBQUEsSUFBSSxFQUFFLE1BQUtaLE1BQUwsQ0FBWVksSUFQMkI7QUFRN0NDLFVBQUFBLE9BQU8sRUFBRSxNQUFLYixNQUFMLENBQVlhLE9BUndCO0FBUzdDQyxVQUFBQSxLQUFLLEVBQUUsTUFBS2IsUUFBTCxDQUFjYSxLQVR3QjtBQVU3Q0MsVUFBQUEsUUFBUSxFQUFFLE1BQUtmLE1BQUwsQ0FBWWUsUUFWdUI7QUFXN0NDLFVBQUFBLFFBQVEsRUFBRSxNQUFLQztBQVg4QixTQUFwQyxDQUFYOztBQWFBQyw2QkFBU0MsTUFBVCxDQUFnQmpCLElBQWhCLGtEQUE0QixZQUFNO0FBQ2hDO0FBQ0QsU0FGRDtBQUdEO0FBQ0YsS0EvQ2E7QUFBQSw2R0FpRFMsWUFBTTtBQUMzQixZQUFLa0IsYUFBTCxDQUNFLElBQUlDLG9DQUFKLENBQ0UsTUFBS0MsT0FBTCxDQUFhQyxXQUFiLEVBREYsRUFFRSxNQUFLQyxPQUFMLElBQWdCLENBQUMsQ0FBQyxNQUFLQSxPQUFMLENBQWFWLEtBRmpDLENBREY7QUFNRCxLQXhEYTtBQUFBLHNHQTBERSxVQUFBQSxLQUFLLEVBQUk7QUFDdkIsWUFBS1UsT0FBTCxDQUFhVixLQUFiLEdBQXFCQSxLQUFyQjs7QUFDQSxZQUFLVyxvQkFBTDs7QUFDQSxZQUFLQyxPQUFMO0FBQ0QsS0E5RGE7QUFFWixVQUFLMUIsTUFBTCxHQUFjLElBQWQ7QUFDQSxVQUFLQyxRQUFMLEdBQWdCLElBQWhCO0FBSFk7QUFJYjs7OztTQUVELGFBQVUwQixDQUFWLEVBQWE7QUFDWCxXQUFLM0IsTUFBTCxHQUFjMkIsQ0FBZDtBQUNBLFdBQUtQLGFBQUwsQ0FDRSxJQUFJUSw4QkFBSixDQUNFLEtBQUtOLE9BQUwsQ0FBYUMsV0FBYixFQURGLEVBRUUsS0FBS0MsT0FBTCxJQUFnQixDQUFDLENBQUMsS0FBS0EsT0FBTCxDQUFhVixLQUZqQyxFQUdFLENBQUMsQ0FBQyxLQUFLZCxNQUhULENBREY7O0FBUUEsV0FBSzBCLE9BQUw7QUFDRDs7O1NBT0QsZUFBYztBQUNaLGFBQU8sS0FBS3pCLFFBQVo7QUFDRCxLO1NBUEQsYUFBWTRCLENBQVosRUFBZTtBQUNiLFdBQUs1QixRQUFMLEdBQWdCNEIsQ0FBaEI7O0FBQ0EsV0FBS0gsT0FBTDtBQUNEOzs7V0EwQ0QsNkJBQW9CO0FBQ2xCLFdBQUtBLE9BQUw7QUFDRDs7O2tEQW5FNkNJLFciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQge1xuICBNb2RlbFNldEV2ZW50LFxuICBTZXNzaW9uQ2hhbmdlZEV2ZW50XG59IGZyb20gJ0BwaWUtZnJhbWV3b3JrL3BpZS1wbGF5ZXItZXZlbnRzJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgSW5saW5lRHJvcGRvd24gZnJvbSAnLi9pbmxpbmUtZHJvcGRvd24nOyBcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm9vdElubGluZURyb3Bkb3duIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX21vZGVsID0gbnVsbDtcbiAgICB0aGlzLl9zZXNzaW9uID0gbnVsbDtcbiAgfVxuXG4gIHNldCBtb2RlbChtKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBtO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBNb2RlbFNldEV2ZW50KFxuICAgICAgICB0aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgdGhpcy5zZXNzaW9uICYmICEhdGhpcy5zZXNzaW9uLnZhbHVlLFxuICAgICAgICAhIXRoaXMuX21vZGVsXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgc2V0IHNlc3Npb24ocykge1xuICAgIHRoaXMuX3Nlc3Npb24gPSBzO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgZ2V0IHNlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb247XG4gIH1cblxuICBfcmVuZGVyID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLl9tb2RlbCAmJiB0aGlzLl9zZXNzaW9uKSB7XG4gICAgICBsZXQgZWxlbSA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5saW5lRHJvcGRvd24sIHtcbiAgICAgICAgcHJvbXB0OiB0aGlzLl9tb2RlbC5wcm9tcHQsXG4gICAgICAgIHJhdGlvbmFsZTogdGhpcy5fbW9kZWwucmF0aW9uYWxlLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiB0aGlzLl9tb2RlbC50ZWFjaGVySW5zdHJ1Y3Rpb25zLFxuICAgICAgICBkaXNhYmxlZDogdGhpcy5fbW9kZWwuZGlzYWJsZWQsXG4gICAgICAgIGRpc3BsYXlUeXBlOiB0aGlzLl9tb2RlbC5kaXNwbGF5VHlwZSxcbiAgICAgICAgbWFya3VwOiB0aGlzLl9tb2RlbC5tYXJrdXAsXG4gICAgICAgIG1vZGU6IHRoaXMuX21vZGVsLm1vZGUsXG4gICAgICAgIGNob2ljZXM6IHRoaXMuX21vZGVsLmNob2ljZXMsXG4gICAgICAgIHZhbHVlOiB0aGlzLl9zZXNzaW9uLnZhbHVlLFxuICAgICAgICBmZWVkYmFjazogdGhpcy5fbW9kZWwuZmVlZGJhY2ssXG4gICAgICAgIG9uQ2hhbmdlOiB0aGlzLmNoYW5nZVNlc3Npb25cbiAgICAgIH0pO1xuICAgICAgUmVhY3RET00ucmVuZGVyKGVsZW0sIHRoaXMsICgpID0+IHtcbiAgICAgICAgcmVuZGVyTWF0aCh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBkaXNwYXRjaENoYW5nZWRFdmVudCA9ICgpID0+IHtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2Vzc2lvbkNoYW5nZWRFdmVudChcbiAgICAgICAgdGhpcy50YWdOYW1lLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIHRoaXMuc2Vzc2lvbiAmJiAhIXRoaXMuc2Vzc2lvbi52YWx1ZVxuICAgICAgKVxuICAgICk7XG4gIH07XG5cbiAgY2hhbmdlU2Vzc2lvbiA9IHZhbHVlID0+IHtcbiAgICB0aGlzLnNlc3Npb24udmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmRpc3BhdGNoQ2hhbmdlZEV2ZW50KCk7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH07XG5cbiAgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/inline-dropdown.js
CHANGED
|
@@ -213,4 +213,4 @@ var styles = function styles(theme) {
|
|
|
213
213
|
var _default = (0, _styles.withStyles)(styles)(InlineDropdown);
|
|
214
214
|
|
|
215
215
|
exports["default"] = _default;
|
|
216
|
-
//# sourceMappingURL=inline-dropdown.js.map
|
|
216
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmxpbmUtZHJvcGRvd24uanN4Il0sIm5hbWVzIjpbIklubGluZURyb3Bkb3duIiwic2hvd0NvcnJlY3RBbnN3ZXIiLCJzZXRTdGF0ZSIsInN0YXRlIiwibmV4dFByb3BzIiwiZmVlZGJhY2siLCJkb21Ob2RlIiwiUmVhY3RET00iLCJmaW5kRE9NTm9kZSIsInByb3BzIiwiY2xhc3NlcyIsInByb21wdCIsIm1vZGUiLCJyYXRpb25hbGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiY2hvaWNlcyIsImRpc3BsYXlUeXBlIiwic2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUiLCJjaG9pY2VSYXRpb25hbGVzSGF2ZVRleHQiLCJjaG9pY2VSYXRpb25hbGVzIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInJlZHVjZSIsImFjYyIsImN1cnJlbnRWYWx1ZSIsInB1c2giLCJtYWluQ29udGFpbmVyIiwiZGlzcGxheSIsImhpZGRlbiIsInZpc2libGUiLCJ0b2dnbGVTaG93Q29ycmVjdCIsImluZGV4IiwibGVuZ3RoIiwiY2hvaWNlIiwiY2hvaWNlUmF0aW9uYWxlIiwibGFiZWwiLCJjaG9pY2VSYXRpb25hbGVMYWJlbCIsImNvcnJlY3QiLCJfX2h0bWwiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsInN0cmluZyIsImRpc2FibGVkIiwiYm9vbCIsIm1hcmt1cCIsInZhbHVlIiwib25DaGFuZ2UiLCJmdW5jIiwic3R5bGVzIiwidGhlbWUiLCJjb2xvciIsInRleHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwicGFkZGluZyIsInNwYWNpbmciLCJ1bml0Iiwid2hpdGVTcGFjZSIsImluY29ycmVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7SUFFYUEsYzs7Ozs7Ozs7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LE9BQU8sRUFBRSxNQURNO0FBRWZnQyxNQUFBQSxVQUFVLEVBQUU7QUFGRyxLQU5RO0FBVXpCdkIsSUFBQUEsb0JBQW9CLEVBQUU7QUFDcEJULE1BQUFBLE9BQU8sRUFBRSxNQURXO0FBRXBCLG1CQUFhO0FBQ1h5QixRQUFBQSxLQUFLLEVBQUVBLGdCQUFNZixPQUFOO0FBREksT0FGTztBQUtwQixxQkFBZTtBQUNiZSxRQUFBQSxLQUFLLEVBQUVBLGdCQUFNUSxTQUFOO0FBRE07QUFMSztBQVZHLEdBQVo7QUFBQSxDQUFmOztlQXFCZSx3QkFBV1YsTUFBWCxFQUFtQnBELGNBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IENvcnJlY3RBbnN3ZXJUb2dnbGUgZnJvbSAnQHBpZS1saWIvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcbmltcG9ydCB7IElubGluZURyb3Bkb3duIGFzIERyb3BEb3duIH0gZnJvbSAnQHBpZS1saWIvbWFzay1tYXJrdXAnO1xuaW1wb3J0IHtjb2xvciwgQ29sbGFwc2libGUsIGhhc1RleHQsIFByZXZpZXdQcm9tcHR9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuZXhwb3J0IGNsYXNzIElubGluZURyb3Bkb3duIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHByb21wdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgbWFya3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGlzcGxheVR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcmF0aW9uYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hvaWNlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBmZWVkYmFjazogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmNcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHZhbHVlOiB7fVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIHNob3dDb3JyZWN0QW5zd2VyOiBmYWxzZVxuICB9O1xuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIGlmIChpc0VtcHR5KG5leHRQcm9wcy5mZWVkYmFjaykpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93Q29ycmVjdEFuc3dlcjogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIGNvbnN0IGRvbU5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzKTtcblxuICAgIHJlbmRlck1hdGgoZG9tTm9kZSk7XG4gIH1cblxuICB0b2dnbGVTaG93Q29ycmVjdCA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3RBbnN3ZXI6ICF0aGlzLnN0YXRlLnNob3dDb3JyZWN0QW5zd2VyIH0pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHNob3dDb3JyZWN0QW5zd2VyIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgY2xhc3NlcywgcHJvbXB0LCBtb2RlLCByYXRpb25hbGUsIHRlYWNoZXJJbnN0cnVjdGlvbnMsIGNob2ljZXMsIGRpc3BsYXlUeXBlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHNob3dDb3JyZWN0QW5zd2VyVG9nZ2xlID0gbW9kZSA9PT0gJ2V2YWx1YXRlJztcbiAgICBsZXQgY2hvaWNlUmF0aW9uYWxlc0hhdmVUZXh0ID0gZmFsc2U7XG5cbiAgICBjb25zdCBjaG9pY2VSYXRpb25hbGVzID0gKE9iamVjdC5rZXlzKGNob2ljZXMpIHx8IFtdKS5tYXAoa2V5ID0+IChjaG9pY2VzW2tleV0gfHwgW10pXG4gICAgICAucmVkdWNlKChhY2MsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICBpZiAoY3VycmVudFZhbHVlLnJhdGlvbmFsZSAmJiBoYXNUZXh0KGN1cnJlbnRWYWx1ZS5yYXRpb25hbGUpKSB7XG4gICAgICAgICAgY2hvaWNlUmF0aW9uYWxlc0hhdmVUZXh0ID0gdHJ1ZTtcblxuICAgICAgICAgIGFjYy5wdXNoKGN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMubWFpbkNvbnRhaW5lcn0gc3R5bGU9e3sgZGlzcGxheTogYCR7ZGlzcGxheVR5cGV9YCB9fT5cbiAgICAgICAge1xuICAgICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMgJiYgaGFzVGV4dCh0ZWFjaGVySW5zdHJ1Y3Rpb25zKSAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIDxDb2xsYXBzaWJsZVxuICAgICAgICAgICAgICAgIGxhYmVscz17eyBoaWRkZW46ICdTaG93IFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJywgdmlzaWJsZTogJ0hpZGUgVGVhY2hlciBJbnN0cnVjdGlvbnMnIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UHJldmlld1Byb21wdCBwcm9tcHQ9e3RlYWNoZXJJbnN0cnVjdGlvbnN9IC8+XG4gICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICA8Q29ycmVjdEFuc3dlclRvZ2dsZVxuICAgICAgICAgIHNob3c9e3Nob3dDb3JyZWN0QW5zd2VyVG9nZ2xlfVxuICAgICAgICAgIHRvZ2dsZWQ9e3Nob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICAgIG9uVG9nZ2xlPXt0aGlzLnRvZ2dsZVNob3dDb3JyZWN0fVxuICAgICAgICAvPlxuICAgICAgICB7c2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUgJiYgPGJyIC8+fVxuXG4gICAgICAgIHtwcm9tcHQgJiYgKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIDxQcmV2aWV3UHJvbXB0IHByb21wdD17cHJvbXB0fSAvPlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgKX1cbiAgICAgICAgPERyb3BEb3duXG4gICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgc2hvd0NvcnJlY3RBbnN3ZXI9e3Nob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICAvPlxuICAgICAgICB7cmF0aW9uYWxlICYmIGhhc1RleHQocmF0aW9uYWxlKSAmJiAoXG4gICAgICAgICAgICA8Q29sbGFwc2libGVcbiAgICAgICAgICAgICAgbGFiZWxzPXt7IGhpZGRlbjogJ1Nob3cgUmF0aW9uYWxlJywgdmlzaWJsZTogJ0hpZGUgUmF0aW9uYWxlJyB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8UHJldmlld1Byb21wdCBwcm9tcHQ9e3JhdGlvbmFsZX0gLz5cbiAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICl9XG4gICAgICAgIHtjaG9pY2VSYXRpb25hbGVzSGF2ZVRleHQgJiYgKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPENvbGxhcHNpYmxlIGxhYmVscz17e2hpZGRlbjogJ1Nob3cgUmF0aW9uYWxlIGZvciBjaG9pY2VzJywgdmlzaWJsZTogJ0hpZGUgUmF0aW9uYWxlIGZvciBjaG9pY2VzJ319PlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIHtjaG9pY2VSYXRpb25hbGVzLm1hcCgoY2hvaWNlcywgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICB7Y2hvaWNlcyAmJiBjaG9pY2VzLmxlbmd0aCA+IDAgJiYgY2hvaWNlcy5tYXAoIGNob2ljZSA9PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNob2ljZVJhdGlvbmFsZX0ga2V5PXtjaG9pY2UubGFiZWx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5jaG9pY2VSYXRpb25hbGVMYWJlbCwgY2hvaWNlLmNvcnJlY3QgPyAnY29ycmVjdCcgOiAnaW5jb3JyZWN0Jyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogYCR7Y2hvaWNlLmxhYmVsfTogYCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQcmV2aWV3UHJvbXB0IHByb21wdD17Y2hvaWNlLnJhdGlvbmFsZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2Nob2ljZXMgJiYgY2hvaWNlcy5sZW5ndGggPiAwICYmIDxiciAvPn1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIG1haW5Db250YWluZXI6IHtcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgIHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcudW5pdFxuICB9LFxuICBjaG9pY2VSYXRpb25hbGU6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgd2hpdGVTcGFjZTogJ2JyZWFrLXNwYWNlcydcbiAgfSxcbiAgY2hvaWNlUmF0aW9uYWxlTGFiZWw6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgJyYuY29ycmVjdCc6IHtcbiAgICAgIGNvbG9yOiBjb2xvci5jb3JyZWN0KClcbiAgICB9LFxuICAgICcmLmluY29ycmVjdCc6IHtcbiAgICAgIGNvbG9yOiBjb2xvci5pbmNvcnJlY3QoKVxuICAgIH1cbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShJbmxpbmVEcm9wZG93bik7XG4iXX0=
|