@pie-element/select-text 6.5.26-next.2 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/LICENSE.md +5 -0
- package/configure/CHANGELOG.md +28 -0
- package/configure/lib/defaultConfiguration.js +3 -2
- package/configure/lib/defaultConfiguration.js.map +1 -1
- package/configure/lib/design.js +45 -3
- package/configure/lib/design.js.map +1 -1
- package/configure/lib/index.js +3 -3
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/utils.js +16 -4
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +5 -5
- package/controller/CHANGELOG.md +18 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +33 -2
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +2 -2
- package/lib/index.js +1 -1
- package/lib/main.js +1 -1
- package/lib/print.js +1 -1
- package/lib/utils.js +1 -1
- package/module/configure.js +2797 -0
- package/module/controller.js +19165 -0
- package/module/demo.js +287 -0
- package/module/element.js +2521 -0
- package/module/index.html +21 -0
- package/module/manifest.json +14 -0
- package/module/print-demo.js +325 -0
- package/module/print.html +18 -0
- package/module/print.js +2481 -0
- package/package.json +6 -6
- package/configure/lib/__tests__/design.test.js +0 -219
- package/controller/lib/__tests__/index.test.js +0 -833
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/index.test.js +0 -91
- package/lib/__tests__/main.test.js +0 -83
|
@@ -29,4 +29,4 @@ var _default = {
|
|
|
29
29
|
tokens: tokens()
|
|
30
30
|
};
|
|
31
31
|
exports["default"] = _default;
|
|
32
|
-
//# sourceMappingURL=
|
|
32
|
+
//# sourceMappingURL=defaults.js.map
|
package/controller/lib/index.js
CHANGED
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.createCorrectResponseSession = void 0;
|
|
9
9
|
exports.createDefaultModel = createDefaultModel;
|
|
10
|
-
exports.outcome = exports.normalizeSession = exports.normalize = exports.model = exports.getPartialScore = exports.getCorrectness = void 0;
|
|
10
|
+
exports.validate = exports.outcome = exports.normalizeSession = exports.normalize = exports.model = exports.getPartialScore = exports.getCorrectness = void 0;
|
|
11
11
|
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
13
|
|
|
@@ -216,4 +216,35 @@ var createCorrectResponseSession = function createCorrectResponseSession(questio
|
|
|
216
216
|
};
|
|
217
217
|
|
|
218
218
|
exports.createCorrectResponseSession = createCorrectResponseSession;
|
|
219
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJidWlsZFRva2VucyIsInRva2VucyIsImV2YWx1YXRlTW9kZSIsIm1hcCIsInQiLCJPYmplY3QiLCJhc3NpZ24iLCJjb3JyZWN0IiwidW5kZWZpbmVkIiwiZ2V0Q29ycmVjdG5lc3MiLCJzZWxlY3RlZCIsImZpbHRlciIsImxlbmd0aCIsImNvcnJlY3RTZWxlY3RlZCIsImdldENvcnJlY3RTZWxlY3RlZCIsInMiLCJpbmRleCIsImZpbmRJbmRleCIsImMiLCJzdGFydCIsImVuZCIsIm9sZFN0YXJ0Iiwib2xkRW5kIiwiZ2V0Q29ycmVjdENvdW50IiwiZ2V0UGFydGlhbFNjb3JlIiwicXVlc3Rpb24iLCJzZXNzaW9uIiwidG90YWxDb3JyZWN0IiwiY29ycmVjdENvdW50Iiwic2VsZWN0ZWRUb2tlbnMiLCJjb3JyZWN0VG9rZW5zIiwiZXh0cmFTZWxlY3RlZCIsImluY29ycmVjdENvdW50IiwiY291bnQiLCJwb3NpdGl2ZUNvdW50IiwicGFyc2VGbG9hdCIsInRvRml4ZWQiLCJvdXRjb21lIiwiZW52IiwiUHJvbWlzZSIsInJlc29sdmUiLCJzY29yZSIsImVtcHR5Iiwibm9ybWFsaXplU2Vzc2lvbiIsIm1vZGUiLCJjb21wbGV0ZWQiLCJlbmFibGVkIiwicGFydGlhbFNjb3JpbmciLCJjcmVhdGVEZWZhdWx0TW9kZWwiLCJtb2RlbCIsImRlZmF1bHRzIiwibm9ybWFsaXplIiwiZmVlZGJhY2tFbmFibGVkIiwicmF0aW9uYWxlRW5hYmxlZCIsInByb21wdEVuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwic2VsZWN0ZWRUb2tlbiIsIm5vcm1hbGl6ZWRRdWVzdGlvbiIsImNvcnJlY3RuZXNzIiwiZmIiLCJmZWVkYmFjayIsInRoZW4iLCJvdXQiLCJoaWdobGlnaHRDaG9pY2VzIiwicHJvbXB0IiwidGV4dCIsImRpc2FibGVkIiwibWF4U2VsZWN0aW9ucyIsImluY29ycmVjdCIsInJvbGUiLCJyYXRpb25hbGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiY3JlYXRlQ29ycmVjdFJlc3BvbnNlU2Vzc2lvbiIsImlkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxxQ0FBTixDQUFaOztBQUVBLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUNDLE1BQUQsRUFBU0MsWUFBVCxFQUEwQjtBQUM1Q0QsRUFBQUEsTUFBTSxHQUFHQSxNQUFNLElBQUksRUFBbkI7QUFFQSxTQUFPQSxNQUFNLENBQUNFLEdBQVAsQ0FBVyxVQUFDQyxDQUFEO0FBQUEsV0FDaEJDLE1BQU0sQ0FBQ0MsTUFBUCxDQUNFLEVBREYsRUFFRUYsQ0FGRixFQUdFRixZQUFZLEdBQUc7QUFBRUssTUFBQUEsT0FBTyxFQUFFLENBQUMsQ0FBQ0gsQ0FBQyxDQUFDRztBQUFmLEtBQUgsR0FBOEI7QUFBRUEsTUFBQUEsT0FBTyxFQUFFQztBQUFYLEtBSDVDLENBRGdCO0FBQUEsR0FBWCxDQUFQO0FBT0QsQ0FWRDs7QUFZTyxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNSLE1BQUQsRUFBU1MsUUFBVCxFQUFzQjtBQUNsRCxNQUFNSCxPQUFPLEdBQUdOLE1BQU0sQ0FBQ1UsTUFBUCxDQUFjLFVBQUNQLENBQUQ7QUFBQSxXQUFPQSxDQUFDLENBQUNHLE9BQUYsS0FBYyxJQUFyQjtBQUFBLEdBQWQsQ0FBaEI7O0FBRUEsTUFBSUEsT0FBTyxDQUFDSyxNQUFSLEtBQW1CLENBQXZCLEVBQTBCO0FBQ3hCLFdBQU8sU0FBUDtBQUNEOztBQUVELE1BQU1DLGVBQWUsR0FBR0Msa0JBQWtCLENBQUNiLE1BQUQsRUFBU1MsUUFBVCxDQUExQzs7QUFFQSxNQUFJRyxlQUFlLENBQUNELE1BQWhCLEtBQTJCRixRQUFRLENBQUNFLE1BQXhDLEVBQWdEO0FBQzlDLFFB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QUFhRCxDQWRNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCB7IGdldEZlZWRiYWNrRm9yQ29ycmVjdG5lc3MgfSBmcm9tICdAcGllLWxpYi9mZWVkYmFjayc7XG5pbXBvcnQgeyBwYXJ0aWFsU2NvcmluZyB9IGZyb20gJ0BwaWUtbGliL2NvbnRyb2xsZXItdXRpbHMnO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJy4vZGVmYXVsdHMnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1lbGVtZW50OnNlbGVjdC10ZXh0OmNvbnRyb2xsZXInKTtcblxuY29uc3QgYnVpbGRUb2tlbnMgPSAodG9rZW5zLCBldmFsdWF0ZU1vZGUpID0+IHtcbiAgdG9rZW5zID0gdG9rZW5zIHx8IFtdO1xuXG4gIHJldHVybiB0b2tlbnMubWFwKCh0KSA9PlxuICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIHQsXG4gICAgICBldmFsdWF0ZU1vZGUgPyB7IGNvcnJlY3Q6ICEhdC5jb3JyZWN0IH0gOiB7IGNvcnJlY3Q6IHVuZGVmaW5lZCB9XG4gICAgKVxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvcnJlY3RuZXNzID0gKHRva2Vucywgc2VsZWN0ZWQpID0+IHtcbiAgY29uc3QgY29ycmVjdCA9IHRva2Vucy5maWx0ZXIoKHQpID0+IHQuY29ycmVjdCA9PT0gdHJ1ZSk7XG5cbiAgaWYgKGNvcnJlY3QubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICd1bmtub3duJztcbiAgfVxuXG4gIGNvbnN0IGNvcnJlY3RTZWxlY3RlZCA9IGdldENvcnJlY3RTZWxlY3RlZCh0b2tlbnMsIHNlbGVjdGVkKTtcblxuICBpZiAoY29ycmVjdFNlbGVjdGVkLmxlbmd0aCA9PT0gc2VsZWN0ZWQubGVuZ3RoKSB7XG4gICAgaWYgKGNvcnJlY3RTZWxlY3RlZC5sZW5ndGggPT09IGNvcnJlY3QubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gJ2NvcnJlY3QnO1xuICAgIH0gZWxzZSBpZiAoY29ycmVjdFNlbGVjdGVkLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAncGFydGlhbGx5LWNvcnJlY3QnO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb3JyZWN0U2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiAncGFydGlhbGx5LWNvcnJlY3QnO1xuICB9XG5cbiAgcmV0dXJuICdpbmNvcnJlY3QnO1xufTtcblxuY29uc3QgZ2V0Q29ycmVjdFNlbGVjdGVkID0gKHRva2Vucywgc2VsZWN0ZWQpID0+IHtcbiAgcmV0dXJuIChzZWxlY3RlZCB8fCBbXSkuZmlsdGVyKChzKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSB0b2tlbnMuZmluZEluZGV4KChjKSA9PiB7XG4gICAgICByZXR1cm4gYy5jb3JyZWN0ICYmXG4gICAgICAgIChcbiAgICAgICAgICAoYy5zdGFydCA9PT0gcy5zdGFydCAmJiBjLmVuZCA9PT0gcy5lbmQpIHx8XG4gICAgICAgICAgLy8gdGhpcyBjYXNlIGlzIHVzZWQgZm9yIHRoZSBjYXNlcyB3aGVuIHRoZSB0b2tlbidzIHN0YXJ0ICYgZW5kIHdlcmUgcmVjYWxjdWxhdGVkXG4gICAgICAgICAgKGMuc3RhcnQgPT09IHMub2xkU3RhcnQgJiYgYy5lbmQgPT09IHMub2xkRW5kKVxuICAgICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiBpbmRleCAhPT0gLTE7XG4gIH0pO1xufTtcblxuY29uc3QgZ2V0Q29ycmVjdENvdW50ID0gKHRva2Vucywgc2VsZWN0ZWQpID0+XG4gIGdldENvcnJlY3RTZWxlY3RlZCh0b2tlbnMsIHNlbGVjdGVkKS5sZW5ndGg7XG5cbmV4cG9ydCBjb25zdCBnZXRQYXJ0aWFsU2NvcmUgPSAocXVlc3Rpb24sIHNlc3Npb24sIHRvdGFsQ29ycmVjdCkgPT4ge1xuICBpZiAoIXNlc3Npb24gfHwgaXNFbXB0eShzZXNzaW9uKSkge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgY29uc3QgY29ycmVjdENvdW50ID0gZ2V0Q29ycmVjdENvdW50KHF1ZXN0aW9uLnRva2Vucywgc2Vzc2lvbi5zZWxlY3RlZFRva2Vucyk7XG4gIGNvbnN0IGNvcnJlY3RUb2tlbnMgPSAocXVlc3Rpb24udG9rZW5zIHx8IFtdKS5maWx0ZXIoKHQpID0+IHQuY29ycmVjdCA9PT0gdHJ1ZSk7XG4gIGNvbnN0IGV4dHJhU2VsZWN0ZWQgPSBzZXNzaW9uLnNlbGVjdGVkVG9rZW5zID8gc2Vzc2lvbi5zZWxlY3RlZFRva2Vucy5sZW5ndGggPiBjb3JyZWN0VG9rZW5zLmxlbmd0aCA6IDA7XG4gIGNvbnN0IGluY29ycmVjdENvdW50ID0gZXh0cmFTZWxlY3RlZCA/IHNlc3Npb24uc2VsZWN0ZWRUb2tlbnMgJiYgc2Vzc2lvbi5zZWxlY3RlZFRva2Vucy5sZW5ndGggLSBjb3JyZWN0Q291bnQgOiAwO1xuICBjb25zdCBjb3VudCA9IGNvcnJlY3RDb3VudCAtIGluY29ycmVjdENvdW50O1xuICBjb25zdCBwb3NpdGl2ZUNvdW50ID0gY291bnQgPCAwID8gMCA6IGNvdW50O1xuXG4gIHJldHVybiB0b3RhbENvcnJlY3QubGVuZ3RoXG4gICAgPyBwYXJzZUZsb2F0KChwb3NpdGl2ZUNvdW50IC8gdG90YWxDb3JyZWN0Lmxlbmd0aCkudG9GaXhlZCgyKSlcbiAgICA6IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgb3V0Y29tZSA9IChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52KSA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmICghc2Vzc2lvbiB8fCBpc0VtcHR5KHNlc3Npb24pKSB7XG4gICAgICByZXNvbHZlKHsgc2NvcmU6IDAsIGVtcHR5OiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHNlc3Npb24gPSBub3JtYWxpemVTZXNzaW9uKHNlc3Npb24pO1xuXG4gICAgaWYgKGVudi5tb2RlICE9PSAnZXZhbHVhdGUnKSB7XG4gICAgICByZXNvbHZlKHsgc2NvcmU6IHVuZGVmaW5lZCwgY29tcGxldGVkOiB1bmRlZmluZWQgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVuYWJsZWQgPSBwYXJ0aWFsU2NvcmluZy5lbmFibGVkKHF1ZXN0aW9uLCBlbnYsIHRydWUpO1xuICAgICAgY29uc3QgdG90YWxDb3JyZWN0ID0gcXVlc3Rpb24udG9rZW5zLmZpbHRlcigodCkgPT4gdC5jb3JyZWN0KTtcbiAgICAgIGNvbnN0IHNjb3JlID0gZ2V0UGFydGlhbFNjb3JlKHF1ZXN0aW9uLCBzZXNzaW9uLCB0b3RhbENvcnJlY3QpO1xuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIHNjb3JlOiBlbmFibGVkID8gc2NvcmUgOiBzY29yZSA9PT0gMSA/IDEgOiAwLFxuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRNb2RlbChtb2RlbCA9IHt9KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHJlc29sdmUoe1xuICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAuLi5tb2RlbCxcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVTZXNzaW9uID0gKHMpID0+ICh7XG4gIHNlbGVjdGVkVG9rZW5zOiBbXSxcbiAgLi4ucyxcbn0pO1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplID0gKHF1ZXN0aW9uKSA9PiAoe1xuICBmZWVkYmFja0VuYWJsZWQ6IHRydWUsXG4gIHJhdGlvbmFsZUVuYWJsZWQ6IHRydWUsXG4gIHByb21wdEVuYWJsZWQ6IHRydWUsXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOiB0cnVlLFxuICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgLi4ucXVlc3Rpb24sXG59KTtcblxuZXhwb3J0IGNvbnN0IG1vZGVsID0gKHF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpID0+IHtcbiAgc2Vzc2lvbiA9IHNlc3Npb24gfHwgeyBzZWxlY3RlZFRva2VuOiBbXSB9O1xuICBzZXNzaW9uLnNlbGVjdGVkVG9rZW5zID0gc2Vzc2lvbi5zZWxlY3RlZFRva2VucyB8fCBbXTtcbiAgY29uc3Qgbm9ybWFsaXplZFF1ZXN0aW9uID0gbm9ybWFsaXplKHF1ZXN0aW9uKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgbG9nKCdbbW9kZWxdJywgJ25vcm1hbGl6ZWRRdWVzdGlvbjogJywgbm9ybWFsaXplZFF1ZXN0aW9uKTtcbiAgICBsb2coJ1ttb2RlbF0nLCAnc2Vzc2lvbjogJywgc2Vzc2lvbik7XG4gICAgY29uc3QgdG9rZW5zID0gYnVpbGRUb2tlbnMoXG4gICAgICBub3JtYWxpemVkUXVlc3Rpb24udG9rZW5zLFxuICAgICAgZW52Lm1vZGUgPT09ICdldmFsdWF0ZSdcbiAgICApO1xuICAgIGxvZygndG9rZW5zOicsIHRva2Vucyk7XG4gICAgY29uc3QgY29ycmVjdG5lc3MgPVxuICAgICAgZW52Lm1vZGUgPT09ICdldmFsdWF0ZSdcbiAgICAgICAgPyBnZXRDb3JyZWN0bmVzcyhub3JtYWxpemVkUXVlc3Rpb24udG9rZW5zLCBzZXNzaW9uLnNlbGVjdGVkVG9rZW5zKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGZiID1cbiAgICAgIGVudi5tb2RlID09PSAnZXZhbHVhdGUnICYmIG5vcm1hbGl6ZWRRdWVzdGlvbi5mZWVkYmFja0VuYWJsZWRcbiAgICAgICAgPyBnZXRGZWVkYmFja0ZvckNvcnJlY3RuZXNzKGNvcnJlY3RuZXNzLCBub3JtYWxpemVkUXVlc3Rpb24uZmVlZGJhY2spXG4gICAgICAgIDogUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7XG5cbiAgICBmYi50aGVuKChmZWVkYmFjaykgPT4ge1xuICAgICAgY29uc3Qgb3V0ID0ge1xuICAgICAgICB0b2tlbnMsXG4gICAgICAgIGhpZ2hsaWdodENob2ljZXM6IG5vcm1hbGl6ZWRRdWVzdGlvbi5oaWdobGlnaHRDaG9pY2VzLFxuICAgICAgICBwcm9tcHQ6IG5vcm1hbGl6ZWRRdWVzdGlvbi5wcm9tcHRFbmFibGVkXG4gICAgICAgICAgPyBub3JtYWxpemVkUXVlc3Rpb24ucHJvbXB0XG4gICAgICAgICAgOiBudWxsLFxuICAgICAgICB0ZXh0OiBub3JtYWxpemVkUXVlc3Rpb24udGV4dCxcbiAgICAgICAgZGlzYWJsZWQ6IGVudi5tb2RlICE9PSAnZ2F0aGVyJyxcbiAgICAgICAgbWF4U2VsZWN0aW9uczogbm9ybWFsaXplZFF1ZXN0aW9uLm1heFNlbGVjdGlvbnMsXG4gICAgICAgIGNvcnJlY3RuZXNzLFxuICAgICAgICBmZWVkYmFjayxcbiAgICAgICAgaW5jb3JyZWN0OlxuICAgICAgICAgIGVudi5tb2RlID09PSAnZXZhbHVhdGUnID8gY29ycmVjdG5lc3MgIT09ICdjb3JyZWN0JyA6IHVuZGVmaW5lZCxcbiAgICAgIH07XG5cbiAgICAgIGlmIChcbiAgICAgICAgZW52LnJvbGUgPT09ICdpbnN0cnVjdG9yJyAmJlxuICAgICAgICAoZW52Lm1vZGUgPT09ICd2aWV3JyB8fCBlbnYubW9kZSA9PT0gJ2V2YWx1YXRlJylcbiAgICAgICkge1xuICAgICAgICBvdXQucmF0aW9uYWxlID0gbm9ybWFsaXplZFF1ZXN0aW9uLnJhdGlvbmFsZUVuYWJsZWRcbiAgICAgICAgICA/IG5vcm1hbGl6ZWRRdWVzdGlvbi5yYXRpb25hbGVcbiAgICAgICAgICA6IG51bGw7XG4gICAgICAgIG91dC50ZWFjaGVySW5zdHJ1Y3Rpb25zID0gbm9ybWFsaXplZFF1ZXN0aW9uLnRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkXG4gICAgICAgICAgPyBub3JtYWxpemVkUXVlc3Rpb24udGVhY2hlckluc3RydWN0aW9uc1xuICAgICAgICAgIDogbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dC5yYXRpb25hbGUgPSBudWxsO1xuICAgICAgICBvdXQudGVhY2hlckluc3RydWN0aW9ucyA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJlc29sdmUob3V0KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29ycmVjdFJlc3BvbnNlU2Vzc2lvbiA9IChxdWVzdGlvbiwgZW52KSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmIChlbnYubW9kZSAhPT0gJ2V2YWx1YXRlJyAmJiBlbnYucm9sZSA9PT0gJ2luc3RydWN0b3InKSB7XG4gICAgICBjb25zdCB7IHRva2VucyB9ID0gcXVlc3Rpb247XG4gICAgICBjb25zdCBzZWxlY3RlZFRva2VucyA9IHRva2Vucy5maWx0ZXIoKHQpID0+IHQuY29ycmVjdCk7XG5cbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBpZDogJzEnLFxuICAgICAgICBzZWxlY3RlZFRva2VucyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfSk7XG59O1xuIl19
|
|
219
|
+
|
|
220
|
+
var validate = function validate() {
|
|
221
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
222
|
+
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
223
|
+
var tokens = model.tokens;
|
|
224
|
+
var _config$minTokens = config.minTokens,
|
|
225
|
+
minTokens = _config$minTokens === void 0 ? 2 : _config$minTokens,
|
|
226
|
+
maxTokens = config.maxTokens,
|
|
227
|
+
maxSelections = config.maxSelections;
|
|
228
|
+
var errors = {};
|
|
229
|
+
var nbOfTokens = (tokens || []).length;
|
|
230
|
+
var nbOfSelections = (tokens || []).reduce(function (acc, token) {
|
|
231
|
+
return token.correct ? acc + 1 : acc;
|
|
232
|
+
}, 0);
|
|
233
|
+
|
|
234
|
+
if (nbOfTokens < minTokens) {
|
|
235
|
+
errors.tokensError = "There should be at least ".concat(minTokens, " tokens defined.");
|
|
236
|
+
} else if (nbOfTokens > maxTokens) {
|
|
237
|
+
errors.tokensError = "No more than ".concat(maxTokens, " tokens should be defined.");
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
if (nbOfSelections < 1) {
|
|
241
|
+
errors.selectionsError = 'There should be at least 1 token selected.';
|
|
242
|
+
} else if (nbOfSelections > maxSelections) {
|
|
243
|
+
errors.selectionsError = "No more than ".concat(maxSelections, " tokens should be selected.");
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
return errors;
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
exports.validate = validate;
|
|
250
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","buildTokens","tokens","evaluateMode","map","t","Object","assign","correct","undefined","getCorrectness","selected","filter","length","correctSelected","getCorrectSelected","s","index","findIndex","c","start","end","oldStart","oldEnd","getCorrectCount","getPartialScore","question","session","totalCorrect","correctCount","selectedTokens","correctTokens","extraSelected","incorrectCount","count","positiveCount","parseFloat","toFixed","outcome","env","Promise","resolve","score","empty","normalizeSession","mode","completed","enabled","partialScoring","createDefaultModel","model","defaults","normalize","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","selectedToken","normalizedQuestion","correctness","fb","feedback","then","out","highlightChoices","prompt","text","disabled","maxSelections","incorrect","role","rationale","teacherInstructions","createCorrectResponseSession","id"],"mappings":"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","sourcesContent":["import debug from 'debug';\nimport isEmpty from 'lodash/isEmpty';\nimport { getFeedbackForCorrectness } from '@pie-lib/feedback';\nimport { partialScoring } from '@pie-lib/controller-utils';\nimport defaults from './defaults';\n\nconst log = debug('@pie-element:select-text:controller');\n\nconst buildTokens = (tokens, evaluateMode) => {\n tokens = tokens || [];\n\n return tokens.map((t) =>\n Object.assign(\n {},\n t,\n evaluateMode ? { correct: !!t.correct } : { correct: undefined }\n )\n );\n};\n\nexport const getCorrectness = (tokens, selected) => {\n const correct = tokens.filter((t) => t.correct === true);\n\n if (correct.length === 0) {\n return 'unknown';\n }\n\n const correctSelected = getCorrectSelected(tokens, selected);\n\n if (correctSelected.length === selected.length) {\n if (correctSelected.length === correct.length) {\n return 'correct';\n } else if (correctSelected.length > 0) {\n return 'partially-correct';\n }\n }\n\n if (correctSelected.length > 0) {\n return 'partially-correct';\n }\n\n return 'incorrect';\n};\n\nconst getCorrectSelected = (tokens, selected) => {\n return (selected || []).filter((s) => {\n const index = tokens.findIndex((c) => {\n return c.correct &&\n (\n (c.start === s.start && c.end === s.end) ||\n // this case is used for the cases when the token's start & end were recalculated\n (c.start === s.oldStart && c.end === s.oldEnd)\n );\n });\n return index !== -1;\n });\n};\n\nconst getCorrectCount = (tokens, selected) =>\n getCorrectSelected(tokens, selected).length;\n\nexport const getPartialScore = (question, session, totalCorrect) => {\n if (!session || isEmpty(session)) {\n return 0;\n }\n\n const correctCount = getCorrectCount(question.tokens, session.selectedTokens);\n const correctTokens = (question.tokens || []).filter((t) => t.correct === true);\n const extraSelected = session.selectedTokens ? session.selectedTokens.length > correctTokens.length : 0;\n const incorrectCount = extraSelected ? session.selectedTokens && session.selectedTokens.length - correctCount : 0;\n const count = correctCount - incorrectCount;\n const positiveCount = count < 0 ? 0 : count;\n\n return totalCorrect.length\n ? parseFloat((positiveCount / totalCorrect.length).toFixed(2))\n : 0;\n};\n\nexport const outcome = (question, session, env) =>\n new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n session = normalizeSession(session);\n\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n const enabled = partialScoring.enabled(question, env, true);\n const totalCorrect = question.tokens.filter((t) => t.correct);\n const score = getPartialScore(question, session, totalCorrect);\n resolve({\n score: enabled ? score : score === 1 ? 1 : 0,\n });\n }\n });\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\nexport const normalizeSession = (s) => ({\n selectedTokens: [],\n ...s,\n});\n\nexport const normalize = (question) => ({\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\nexport const model = (question, session, env) => {\n session = session || { selectedToken: [] };\n session.selectedTokens = session.selectedTokens || [];\n const normalizedQuestion = normalize(question);\n return new Promise((resolve) => {\n log('[model]', 'normalizedQuestion: ', normalizedQuestion);\n log('[model]', 'session: ', session);\n const tokens = buildTokens(\n normalizedQuestion.tokens,\n env.mode === 'evaluate'\n );\n log('tokens:', tokens);\n const correctness =\n env.mode === 'evaluate'\n ? getCorrectness(normalizedQuestion.tokens, session.selectedTokens)\n : undefined;\n\n const fb =\n env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled\n ? getFeedbackForCorrectness(correctness, normalizedQuestion.feedback)\n : Promise.resolve(undefined);\n\n fb.then((feedback) => {\n const out = {\n tokens,\n highlightChoices: normalizedQuestion.highlightChoices,\n prompt: normalizedQuestion.promptEnabled\n ? normalizedQuestion.prompt\n : null,\n text: normalizedQuestion.text,\n disabled: env.mode !== 'gather',\n maxSelections: normalizedQuestion.maxSelections,\n correctness,\n feedback,\n incorrect:\n env.mode === 'evaluate' ? correctness !== 'correct' : undefined,\n };\n\n if (\n env.role === 'instructor' &&\n (env.mode === 'view' || env.mode === 'evaluate')\n ) {\n out.rationale = normalizedQuestion.rationaleEnabled\n ? normalizedQuestion.rationale\n : null;\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.rationale = null;\n out.teacherInstructions = null;\n }\n\n resolve(out);\n });\n });\n};\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { tokens } = question;\n const selectedTokens = tokens.filter((t) => t.correct);\n\n resolve({\n id: '1',\n selectedTokens,\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","buildTokens","tokens","evaluateMode","map","t","Object","assign","correct","undefined","getCorrectness","selected","filter","length","correctSelected","getCorrectSelected","s","index","findIndex","c","start","end","oldStart","oldEnd","getCorrectCount","getPartialScore","question","session","totalCorrect","correctCount","selectedTokens","correctTokens","extraSelected","incorrectCount","count","positiveCount","parseFloat","toFixed","outcome","env","Promise","resolve","score","empty","normalizeSession","mode","completed","enabled","partialScoring","createDefaultModel","model","defaults","normalize","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","selectedToken","normalizedQuestion","correctness","fb","feedback","then","out","highlightChoices","prompt","text","disabled","maxSelections","incorrect","role","rationale","teacherInstructions","createCorrectResponseSession","id","validate","config","minTokens","maxTokens","errors","nbOfTokens","nbOfSelections","reduce","acc","token","tokensError","selectionsError"],"mappings":"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","sourcesContent":["import debug from 'debug';\nimport isEmpty from 'lodash/isEmpty';\nimport { getFeedbackForCorrectness } from '@pie-lib/feedback';\nimport { partialScoring } from '@pie-lib/controller-utils';\nimport defaults from './defaults';\n\nconst log = debug('@pie-element:select-text:controller');\n\nconst buildTokens = (tokens, evaluateMode) => {\n tokens = tokens || [];\n\n return tokens.map((t) =>\n Object.assign(\n {},\n t,\n evaluateMode ? { correct: !!t.correct } : { correct: undefined }\n )\n );\n};\n\nexport const getCorrectness = (tokens, selected) => {\n const correct = tokens.filter((t) => t.correct === true);\n\n if (correct.length === 0) {\n return 'unknown';\n }\n\n const correctSelected = getCorrectSelected(tokens, selected);\n\n if (correctSelected.length === selected.length) {\n if (correctSelected.length === correct.length) {\n return 'correct';\n } else if (correctSelected.length > 0) {\n return 'partially-correct';\n }\n }\n\n if (correctSelected.length > 0) {\n return 'partially-correct';\n }\n\n return 'incorrect';\n};\n\nconst getCorrectSelected = (tokens, selected) => {\n return (selected || []).filter((s) => {\n const index = tokens.findIndex((c) => {\n return c.correct &&\n (\n (c.start === s.start && c.end === s.end) ||\n // this case is used for the cases when the token's start & end were recalculated\n (c.start === s.oldStart && c.end === s.oldEnd)\n );\n });\n return index !== -1;\n });\n};\n\nconst getCorrectCount = (tokens, selected) =>\n getCorrectSelected(tokens, selected).length;\n\nexport const getPartialScore = (question, session, totalCorrect) => {\n if (!session || isEmpty(session)) {\n return 0;\n }\n\n const correctCount = getCorrectCount(question.tokens, session.selectedTokens);\n const correctTokens = (question.tokens || []).filter((t) => t.correct === true);\n const extraSelected = session.selectedTokens ? session.selectedTokens.length > correctTokens.length : 0;\n const incorrectCount = extraSelected ? session.selectedTokens && session.selectedTokens.length - correctCount : 0;\n const count = correctCount - incorrectCount;\n const positiveCount = count < 0 ? 0 : count;\n\n return totalCorrect.length\n ? parseFloat((positiveCount / totalCorrect.length).toFixed(2))\n : 0;\n};\n\nexport const outcome = (question, session, env) =>\n new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n session = normalizeSession(session);\n\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n const enabled = partialScoring.enabled(question, env, true);\n const totalCorrect = question.tokens.filter((t) => t.correct);\n const score = getPartialScore(question, session, totalCorrect);\n resolve({\n score: enabled ? score : score === 1 ? 1 : 0,\n });\n }\n });\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\nexport const normalizeSession = (s) => ({\n selectedTokens: [],\n ...s,\n});\n\nexport const normalize = (question) => ({\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\nexport const model = (question, session, env) => {\n session = session || { selectedToken: [] };\n session.selectedTokens = session.selectedTokens || [];\n const normalizedQuestion = normalize(question);\n\n return new Promise((resolve) => {\n log('[model]', 'normalizedQuestion: ', normalizedQuestion);\n log('[model]', 'session: ', session);\n const tokens = buildTokens(\n normalizedQuestion.tokens,\n env.mode === 'evaluate'\n );\n log('tokens:', tokens);\n const correctness =\n env.mode === 'evaluate'\n ? getCorrectness(normalizedQuestion.tokens, session.selectedTokens)\n : undefined;\n\n const fb =\n env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled\n ? getFeedbackForCorrectness(correctness, normalizedQuestion.feedback)\n : Promise.resolve(undefined);\n\n fb.then((feedback) => {\n const out = {\n tokens,\n highlightChoices: normalizedQuestion.highlightChoices,\n prompt: normalizedQuestion.promptEnabled\n ? normalizedQuestion.prompt\n : null,\n text: normalizedQuestion.text,\n disabled: env.mode !== 'gather',\n maxSelections: normalizedQuestion.maxSelections,\n correctness,\n feedback,\n incorrect:\n env.mode === 'evaluate' ? correctness !== 'correct' : undefined,\n };\n\n if (\n env.role === 'instructor' &&\n (env.mode === 'view' || env.mode === 'evaluate')\n ) {\n out.rationale = normalizedQuestion.rationaleEnabled\n ? normalizedQuestion.rationale\n : null;\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.rationale = null;\n out.teacherInstructions = null;\n }\n\n resolve(out);\n });\n });\n};\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { tokens } = question;\n const selectedTokens = tokens.filter((t) => t.correct);\n\n resolve({\n id: '1',\n selectedTokens,\n });\n } else {\n resolve(null);\n }\n });\n};\n\nexport const validate = (model = {}, config = {}) => {\n const { tokens } = model;\n const { minTokens = 2, maxTokens, maxSelections } = config;\n const errors = {};\n const nbOfTokens = (tokens || []).length;\n\n const nbOfSelections = (tokens || []).reduce((acc, token) => token.correct ? acc + 1 : acc, 0);\n\n if (nbOfTokens < minTokens) {\n errors.tokensError = `There should be at least ${minTokens} tokens defined.`;\n } else if (nbOfTokens > maxTokens) {\n errors.tokensError = `No more than ${maxTokens} tokens should be defined.`;\n }\n\n if (nbOfSelections < 1) {\n errors.selectionsError = 'There should be at least 1 token selected.';\n } else if (nbOfSelections > maxSelections) {\n errors.selectionsError = `No more than ${maxSelections} tokens should be selected.`;\n }\n\n return errors;\n};\n"],"file":"index.js"}
|
package/controller/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/select-text-controller",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.2.0",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@pie-lib/controller-utils": "^0.2.26",
|
|
10
10
|
"@pie-lib/feedback": "^0.4.27",
|
|
11
|
-
"@pie-lib/text-select": "^1.8.
|
|
11
|
+
"@pie-lib/text-select": "^1.8.15",
|
|
12
12
|
"debug": "^3.1.0",
|
|
13
13
|
"lodash": "^4.17.15"
|
|
14
14
|
},
|
package/lib/index.js
CHANGED
|
@@ -141,4 +141,4 @@ var SelectText = /*#__PURE__*/function (_HTMLElement) {
|
|
|
141
141
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
142
142
|
|
|
143
143
|
exports["default"] = SelectText;
|
|
144
|
-
//# sourceMappingURL=
|
|
144
|
+
//# sourceMappingURL=index.js.map
|
package/lib/main.js
CHANGED
|
@@ -248,4 +248,4 @@ var Stateful = /*#__PURE__*/function (_React$Component2) {
|
|
|
248
248
|
|
|
249
249
|
exports["default"] = Stateful;
|
|
250
250
|
(0, _defineProperty2["default"])(Stateful, "propTypes", Types);
|
|
251
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJUeXBlcyIsIm1vZGVsIiwiUHJvcFR5cGVzIiwib2JqZWN0Iiwic2Vzc2lvbiIsIm9uU2VsZWN0aW9uQ2hhbmdlIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJNYWluIiwicHJvcHMiLCJzZXRTdGF0ZSIsInNob3dDb3JyZWN0QW5zd2VyIiwic3RhdGUiLCJ0b2tlbnMiLCJmaWx0ZXIiLCJ0IiwiY29ycmVjdCIsImFsd2F5c1Nob3dDb3JyZWN0IiwibmV4dFByb3BzIiwiY2xhc3NlcyIsInNlbGVjdGVkVG9rZW5zIiwiY29ycmVjdEFuc3dlciIsIm1haW5Db250YWluZXIiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiYW5pbWF0aW9uc0Rpc2FibGVkIiwiaGlkZGVuIiwidmlzaWJsZSIsImNvbGxhcHNpYmxlIiwicHJvbXB0IiwiZGlzYWJsZWQiLCJpbmNvcnJlY3QiLCJ0b2dnbGVTaG93Q29ycmVjdCIsInRleHRTZWxlY3QiLCJ0ZXh0Iiwic2VsZWN0aW9uIiwibmV3U2VsZWN0aW9ucyIsIm1hcCIsInNlbGVjdCIsInRva2VuIiwiZmluZCIsInN0YXJ0IiwiZW5kIiwiaGlnaGxpZ2h0Q2hvaWNlcyIsIm1heFNlbGVjdGlvbnMiLCJyYXRpb25hbGUiLCJjb3JyZWN0bmVzcyIsImZlZWRiYWNrIiwiUmVhY3QiLCJDb21wb25lbnQiLCJTdHlsZWRNYWluIiwidGhlbWUiLCJwYWRkaW5nTGVmdCIsInNwYWNpbmciLCJ1bml0IiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0JvdHRvbSIsImNvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZCIsIm1hcmdpbkJvdHRvbSIsIm1hcmdpblRvcCIsIndoaXRlU3BhY2UiLCJ2ZXJ0aWNhbEFsaWduIiwicGFkZGluZ1RvcCIsIlN0YXRlZnVsIiwiY2hhbmdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztB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QU8sRUFBUEE7QUFBRixPQUFkLEVBQTJCLFlBQU07QUFDL0IsZUFBS0ssS0FBTCxDQUFXSixpQkFBWCxDQUE2QixPQUFLTyxLQUFMLENBQVdSLE9BQVgsQ0FBbUJnQixjQUFoRDtBQUNELE9BRkQ7QUFHRCxLQWpCa0I7QUFFakIsV0FBS1IsS0FBTCxHQUFhO0FBQ1hYLE1BQUFBLEtBQUssRUFBRVEsS0FBSyxDQUFDUixLQURGO0FBRVhHLE1BQUFBLE9BQU8sRUFBRUssS0FBSyxDQUFDTDtBQUZKLEtBQWI7QUFGaUI7QUFNbEI7Ozs7V0FFRCwwQ0FBaUNjLFNBQWpDLEVBQTRDO0FBQzFDLFdBQUtSLFFBQUwsQ0FBYztBQUFFVCxRQUFBQSxLQUFLLEVBQUVpQixTQUFTLENBQUNqQixLQUFuQjtBQUEwQkcsUUFBQUEsT0FBTyxFQUFFYyxTQUFTLENBQUNkO0FBQTdDLE9BQWQ7QUFDRDs7O1dBU0Qsa0JBQVM7QUFDUCx5QkFBMkIsS0FBS1EsS0FBaEM7QUFBQSxVQUFRWCxLQUFSLGdCQUFRQSxLQUFSO0FBQUEsVUFBZUcsT0FBZixnQkFBZUEsT0FBZjtBQUNBLDBCQUNFLGdDQUFDLFVBQUQ7QUFDRSxRQUFBLEtBQUssRUFBRUgsS0FEVDtBQUVFLFFBQUEsT0FBTyxFQUFFRyxPQUZYO0FBR0UsUUFBQSxpQkFBaUIsRUFBRSxLQUFLNkQ7QUFIMUIsUUFERjtBQU9EOzs7RUEvQm1DbEIsa0JBQU1DLFM7OztpQ0FBdkJnQixRLGVBQ0FoRSxLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBUZXh0U2VsZWN0IH0gZnJvbSAnQHBpZS1saWIvdGV4dC1zZWxlY3QnO1xuaW1wb3J0IENvcnJlY3RBbnN3ZXJUb2dnbGUgZnJvbSAnQHBpZS1saWIvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcbmltcG9ydCB7IGNvbG9yLCBGZWVkYmFjaywgQ29sbGFwc2libGUsIGhhc1RleHQsIFByZXZpZXdQcm9tcHQgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgZ2VuZXJhdGVNb2RlbCBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtdWk6c2VsZWN0LXRleHQnKTtcblxuY29uc3QgVHlwZXMgPSB7XG4gIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICBzZXNzaW9uOiBQcm9wVHlwZXMub2JqZWN0LFxuICBvblNlbGVjdGlvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGNsYXNzIE1haW4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0geyAuLi5UeXBlcywgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHNob3dDb3JyZWN0QW5zd2VyOiB0aGlzLnByb3BzLm1vZGVsLmFsd2F5c1Nob3dDb3JyZWN0IHx8IGZhbHNlLFxuICAgICAgbW9kZWw6IGdlbmVyYXRlTW9kZWwocHJvcHMubW9kZWwpXG4gICAgfTtcbiAgfVxuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgc2hvd0NvcnJlY3RBbnN3ZXI6ICEhbmV4dFByb3BzLm1vZGVsLmFsd2F5c1Nob3dDb3JyZWN0LFxuICAgICAgbW9kZWw6IGdlbmVyYXRlTW9kZWwobmV4dFByb3BzLm1vZGVsKVxuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlU2hvd0NvcnJlY3QgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb3JyZWN0QW5zd2VyOiAhdGhpcy5zdGF0ZS5zaG93Q29ycmVjdEFuc3dlciB9KTtcbiAgfTtcblxuICBjb3JyZWN0QW5zd2VyID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gbW9kZWwudG9rZW5zLmZpbHRlcih0ID0+IHQuY29ycmVjdCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgc2Vzc2lvbiwgb25TZWxlY3Rpb25DaGFuZ2UsIGNsYXNzZXMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBzaG93Q29ycmVjdEFuc3dlciwgbW9kZWwgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBzZWxlY3RlZFRva2VucyA9IHNob3dDb3JyZWN0QW5zd2VyXG4gICAgICA/IHRoaXMuY29ycmVjdEFuc3dlcigpXG4gICAgICA6IHNlc3Npb24uc2VsZWN0ZWRUb2tlbnM7XG5cbiAgICBsb2coJ1tyZW5kZXJdIHNlbGVjdGVkVG9rZW5zOicsIHNlbGVjdGVkVG9rZW5zKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5tYWluQ29udGFpbmVyfT5cbiAgICAgICAge1xuICAgICAgICAgIG1vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnMgJiYgaGFzVGV4dChtb2RlbC50ZWFjaGVySW5zdHJ1Y3Rpb25zKSAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIHshbW9kZWwuYW5pbWF0aW9uc0Rpc2FibGVkID8gPENvbGxhcHNpYmxlXG4gICAgICAgICAgICAgICAgICBsYWJlbHM9e3sgaGlkZGVuOiAnU2hvdyBUZWFjaGVyIEluc3RydWN0aW9ucycsIHZpc2libGU6ICdIaWRlIFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJyB9fVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmNvbGxhcHNpYmxlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxQcmV2aWV3UHJvbXB0IHByb21wdD17bW9kZWwudGVhY2hlckluc3RydWN0aW9uc30vPlxuXG4gICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgICA6IDxQcmV2aWV3UHJvbXB0IHByb21wdD17bW9kZWwudGVhY2hlckluc3RydWN0aW9uc30vPn1cblxuICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0fT5cbiAgICAgICAgICA8UHJldmlld1Byb21wdCBwcm9tcHQ9e21vZGVsLnByb21wdH0vPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgeyFtb2RlbC5hbHdheXNTaG93Q29ycmVjdCAmJiAoXG4gICAgICAgICAgPENvcnJlY3RBbnN3ZXJUb2dnbGVcbiAgICAgICAgICAgIHNob3c9e21vZGVsLmRpc2FibGVkICYmIG1vZGVsLmluY29ycmVjdH1cbiAgICAgICAgICAgIHRvZ2dsZWQ9e3Nob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICAgICAgb25Ub2dnbGU9e3RoaXMudG9nZ2xlU2hvd0NvcnJlY3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPFRleHRTZWxlY3RcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGV4dFNlbGVjdH1cbiAgICAgICAgICBkaXNhYmxlZD17bW9kZWwuZGlzYWJsZWR9XG4gICAgICAgICAgdGV4dD17bW9kZWwudGV4dH1cbiAgICAgICAgICB0b2tlbnM9e21vZGVsLnRva2Vuc31cbiAgICAgICAgICBzZWxlY3RlZFRva2Vucz17c2VsZWN0ZWRUb2tlbnN9XG4gICAgICAgICAgb25DaGFuZ2U9e3NlbGVjdGlvbiA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb25zID0gc2VsZWN0aW9uLm1hcChzZWxlY3QgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB0b2tlbiA9IG1vZGVsLnRva2Vucy5maW5kKCh7IHN0YXJ0LCBlbmQgfSkgPT4gc2VsZWN0LnN0YXJ0ID09PSBzdGFydCAmJiBzZWxlY3QuZW5kID09PSBlbmQpO1xuXG4gICAgICAgICAgICAgIC8vIG5lZWRlZCBmb3IgZ2V0U2NvcmUgd2hlbiB0b2tlbnMgcG9zaXRpb24gaXMgcmVjYWxjdWxhdGVkLCB0byBrZWVwIG9sZFN0YXJ0IGFuZCBvbGRFbmRcbiAgICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdDtcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlKG5ld1NlbGVjdGlvbnMpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgaGlnaGxpZ2h0Q2hvaWNlcz17bW9kZWwuaGlnaGxpZ2h0Q2hvaWNlc31cbiAgICAgICAgICBtYXhOb09mU2VsZWN0aW9ucz17bW9kZWwubWF4U2VsZWN0aW9uc31cbiAgICAgICAgICBhbmltYXRpb25zRGlzYWJsZWQ9e21vZGVsLmFuaW1hdGlvbnNEaXNhYmxlZH1cbiAgICAgICAgLz5cbiAgICAgICAge1xuICAgICAgICAgIG1vZGVsLnJhdGlvbmFsZSAmJiBoYXNUZXh0KG1vZGVsLnJhdGlvbmFsZSkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICB7IW1vZGVsLmFuaW1hdGlvbnNEaXNhYmxlZCA/IDxDb2xsYXBzaWJsZVxuICAgICAgICAgICAgICAgICAgbGFiZWxzPXt7IGhpZGRlbjogJ1Nob3cgUmF0aW9uYWxlJywgdmlzaWJsZTogJ0hpZGUgUmF0aW9uYWxlJyB9fSBjbGFzc05hbWU9e2NsYXNzZXMuY29sbGFwc2libGV9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuY29sbGFwc2libGV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFByZXZpZXdQcm9tcHQgcHJvbXB0PXttb2RlbC5yYXRpb25hbGV9Lz5cbiAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgIDogPFByZXZpZXdQcm9tcHQgcHJvbXB0PXttb2RlbC5yYXRpb25hbGV9Lz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD4pXG4gICAgICAgIH1cbiAgICAgICAge21vZGVsLmNvcnJlY3RuZXNzICYmIG1vZGVsLmZlZWRiYWNrICYmICFzaG93Q29ycmVjdEFuc3dlciAmJiAoXG4gICAgICAgICAgPEZlZWRiYWNrIGNvcnJlY3RuZXNzPXttb2RlbC5jb3JyZWN0bmVzc30gZmVlZGJhY2s9e21vZGVsLmZlZWRiYWNrfS8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFN0eWxlZE1haW4gPSB3aXRoU3R5bGVzKHRoZW1lID0+ICh7XG4gIG1haW5Db250YWluZXI6IHtcbiAgICBwYWRkaW5nTGVmdDogdGhlbWUuc3BhY2luZy51bml0LFxuICAgIHBhZGRpbmdSaWdodDogdGhlbWUuc3BhY2luZy51bml0LFxuICAgIHBhZGRpbmdCb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpXG4gIH0sXG4gIHRleHRTZWxlY3Q6IHtcbiAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgICBtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgICB3aGl0ZVNwYWNlOiAnbm9ybWFsJ1xuICB9LFxuICBwcm9tcHQ6IHtcbiAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdFxuICB9LFxuICBjb2xsYXBzaWJsZToge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogM1xuICB9XG59KSkoTWFpbik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0YXRlZnVsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFR5cGVzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBtb2RlbDogcHJvcHMubW9kZWwsXG4gICAgICBzZXNzaW9uOiBwcm9wcy5zZXNzaW9uXG4gICAgfTtcbiAgfVxuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBtb2RlbDogbmV4dFByb3BzLm1vZGVsLCBzZXNzaW9uOiBuZXh0UHJvcHMuc2Vzc2lvbiB9KTtcbiAgfVxuXG4gIGNoYW5nZSA9IHNlbGVjdGVkVG9rZW5zID0+IHtcbiAgICBjb25zdCBzZXNzaW9uID0geyAuLi50aGlzLnN0YXRlLnNlc3Npb24sIHNlbGVjdGVkVG9rZW5zIH07XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNlc3Npb24gfSwgKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5vblNlbGVjdGlvbkNoYW5nZSh0aGlzLnN0YXRlLnNlc3Npb24uc2VsZWN0ZWRUb2tlbnMpO1xuICAgIH0pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG1vZGVsLCBzZXNzaW9uIH0gPSB0aGlzLnN0YXRlO1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTWFpblxuICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgIHNlc3Npb249e3Nlc3Npb259XG4gICAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlPXt0aGlzLmNoYW5nZX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuIl19
|
|
251
|
+
//# sourceMappingURL=main.js.map
|
package/lib/print.js
CHANGED
|
@@ -121,4 +121,4 @@ var SelectTextPrint = /*#__PURE__*/function (_HTMLElement) {
|
|
|
121
121
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
122
122
|
|
|
123
123
|
exports["default"] = SelectTextPrint;
|
|
124
|
-
//# sourceMappingURL=
|
|
124
|
+
//# sourceMappingURL=print.js.map
|
package/lib/utils.js
CHANGED
|
@@ -103,4 +103,4 @@ var _default = function _default(model) {
|
|
|
103
103
|
};
|
|
104
104
|
|
|
105
105
|
exports["default"] = _default;
|
|
106
|
-
//# sourceMappingURL=
|
|
106
|
+
//# sourceMappingURL=utils.js.map
|