@pie-element/rubric 6.1.0 → 6.2.0-mui-update.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/configure/CHANGELOG.md +11 -0
  3. package/configure/lib/__tests__/index.test.js +174 -0
  4. package/configure/lib/defaults.js +3 -4
  5. package/configure/lib/defaults.js.map +1 -1
  6. package/configure/lib/index.js +91 -153
  7. package/configure/lib/index.js.map +1 -1
  8. package/configure/lib/main.js +91 -150
  9. package/configure/lib/main.js.map +1 -1
  10. package/configure/package.json +10 -7
  11. package/configure/src/index.js +12 -2
  12. package/configure/src/main.jsx +11 -13
  13. package/controller/CHANGELOG.md +8 -0
  14. package/controller/lib/__tests__/index.test.js +39 -0
  15. package/controller/lib/defaults.js +3 -4
  16. package/controller/lib/defaults.js.map +1 -1
  17. package/controller/lib/index.js +16 -29
  18. package/controller/lib/index.js.map +1 -1
  19. package/controller/package.json +1 -1
  20. package/docs/demo/pie.manifest.json +11 -0
  21. package/lib/__tests__/rubric-view.test.js +49 -0
  22. package/lib/index.js +39 -81
  23. package/lib/index.js.map +1 -1
  24. package/lib/main.js +185 -245
  25. package/lib/main.js.map +1 -1
  26. package/lib/print.js +42 -85
  27. package/lib/print.js.map +1 -1
  28. package/package.json +8 -5
  29. package/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +2350 -1524
  30. package/src/index.js +14 -3
  31. package/src/main.jsx +100 -93
  32. package/src/print.js +13 -2
  33. package/LICENSE.md +0 -5
  34. package/configure/lib/pie-toolbox-rubric/authoring.js +0 -573
  35. package/configure/lib/pie-toolbox-rubric/authoring.js.map +0 -1
  36. package/configure/lib/pie-toolbox-rubric/index.js +0 -24
  37. package/configure/lib/pie-toolbox-rubric/index.js.map +0 -1
  38. package/configure/lib/pie-toolbox-rubric/point-menu.js +0 -172
  39. package/configure/lib/pie-toolbox-rubric/point-menu.js.map +0 -1
  40. package/configure/src/pie-toolbox-rubric/authoring.jsx +0 -449
  41. package/configure/src/pie-toolbox-rubric/index.js +0 -9
  42. package/configure/src/pie-toolbox-rubric/point-menu.jsx +0 -94
@@ -1,59 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.model = model;
9
8
  exports.validate = validate;
10
-
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
9
  var _defaults = _interopRequireDefault(require("./defaults"));
14
-
15
- 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; }
16
-
17
- 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; }
18
-
19
- var normalize = function normalize(model) {
20
- return _objectSpread(_objectSpread({}, _defaults["default"]), model);
21
- };
22
-
10
+ const normalize = model => ({
11
+ ..._defaults.default,
12
+ ...model
13
+ });
23
14
  function model(model, session, env) {
24
- return new Promise(function (resolve) {
25
- var modelResult = normalize(model || {});
15
+ return new Promise(resolve => {
16
+ const modelResult = normalize(model || {});
26
17
  resolve(env && env.role && env.role === 'instructor' ? modelResult : {});
27
18
  });
28
19
  }
29
-
30
20
  function markupToText(s) {
31
21
  return (s || '').replace(/(<([^>]+)>)/gi, '');
32
- } // IMPORTANT! If you make any changes to this function, please make sure you also update complex-rubric/controller/validateSimpleRubric function!“.
33
-
22
+ }
34
23
 
24
+ // IMPORTANT! If you make any changes to this function, please make sure you also update complex-rubric/controller/validateSimpleRubric function!“.
35
25
  function validate(model) {
36
- var points = model.points;
37
- var errors = {};
38
- var pointsDescriptorsErrors = {};
39
- (points || []).forEach(function (point, index) {
26
+ const {
27
+ points
28
+ } = model;
29
+ const errors = {};
30
+ const pointsDescriptorsErrors = {};
31
+ (points || []).forEach((point, index) => {
40
32
  if (!point || point === '<div></div>') {
41
33
  pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';
42
34
  } else {
43
- var identicalPointDescr = points.slice(index + 1).some(function (p) {
44
- return markupToText(p) === markupToText(point);
45
- });
46
-
35
+ const identicalPointDescr = points.slice(index + 1).some(p => markupToText(p) === markupToText(point));
47
36
  if (identicalPointDescr) {
48
37
  pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';
49
38
  }
50
39
  }
51
40
  });
52
-
53
41
  if (Object.keys(pointsDescriptorsErrors).length > 0) {
54
42
  errors.pointsDescriptorsErrors = pointsDescriptorsErrors;
55
43
  }
56
-
57
44
  return errors;
58
45
  }
59
- //# sourceMappingURL=index.js.map
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmYXVsdHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm5vcm1hbGl6ZSIsIm1vZGVsIiwiZGVmYXVsdHMiLCJzZXNzaW9uIiwiZW52IiwiUHJvbWlzZSIsInJlc29sdmUiLCJtb2RlbFJlc3VsdCIsInJvbGUiLCJtYXJrdXBUb1RleHQiLCJzIiwicmVwbGFjZSIsInZhbGlkYXRlIiwicG9pbnRzIiwiZXJyb3JzIiwicG9pbnRzRGVzY3JpcHRvcnNFcnJvcnMiLCJmb3JFYWNoIiwicG9pbnQiLCJpbmRleCIsImlkZW50aWNhbFBvaW50RGVzY3IiLCJzbGljZSIsInNvbWUiLCJwIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5cbmNvbnN0IG5vcm1hbGl6ZSA9IChtb2RlbCkgPT4gKHsgLi4uZGVmYXVsdHMsIC4uLm1vZGVsIH0pO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWwobW9kZWwsIHNlc3Npb24sIGVudikge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RlbFJlc3VsdCA9IG5vcm1hbGl6ZShtb2RlbCB8fCB7fSk7XG5cbiAgICByZXNvbHZlKGVudiAmJiBlbnYucm9sZSAmJiBlbnYucm9sZSA9PT0gJ2luc3RydWN0b3InID8gbW9kZWxSZXN1bHQgOiB7fSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBtYXJrdXBUb1RleHQocykge1xuICByZXR1cm4gKHMgfHwgJycpLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCAnJyk7XG59XG5cbi8vIElNUE9SVEFOVCEgSWYgeW91IG1ha2UgYW55IGNoYW5nZXMgdG8gdGhpcyBmdW5jdGlvbiwgcGxlYXNlIG1ha2Ugc3VyZSB5b3UgYWxzbyB1cGRhdGUgY29tcGxleC1ydWJyaWMvY29udHJvbGxlci92YWxpZGF0ZVNpbXBsZVJ1YnJpYyBmdW5jdGlvbiHigJwuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGUobW9kZWwpIHtcbiAgY29uc3QgeyBwb2ludHMgfSA9IG1vZGVsO1xuICBjb25zdCBlcnJvcnMgPSB7fTtcbiAgY29uc3QgcG9pbnRzRGVzY3JpcHRvcnNFcnJvcnMgPSB7fTtcblxuICAocG9pbnRzIHx8IFtdKS5mb3JFYWNoKChwb2ludCwgaW5kZXgpID0+IHtcblxuICAgIGlmICghcG9pbnQgfHwgcG9pbnQgPT09ICc8ZGl2PjwvZGl2PicpIHtcbiAgICAgIHBvaW50c0Rlc2NyaXB0b3JzRXJyb3JzW2luZGV4XSA9ICdQb2ludHMgZGVzY3JpcHRvcnMgY2Fubm90IGJlIGVtcHR5Lic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGlkZW50aWNhbFBvaW50RGVzY3IgPSBwb2ludHMuc2xpY2UoaW5kZXggKyAxKS5zb21lKChwKSA9PiBtYXJrdXBUb1RleHQocCkgPT09IG1hcmt1cFRvVGV4dChwb2ludCkpO1xuXG4gICAgICBpZiAoaWRlbnRpY2FsUG9pbnREZXNjcikge1xuICAgICAgICBwb2ludHNEZXNjcmlwdG9yc0Vycm9yc1tpbmRleF0gPSAnUG9pbnRzIGRlc2NyaXB0b3JzIHNob3VsZCBiZSB1bmlxdWUuJztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIGlmIChPYmplY3Qua2V5cyhwb2ludHNEZXNjcmlwdG9yc0Vycm9ycykubGVuZ3RoID4gMCkge1xuICAgIGVycm9ycy5wb2ludHNEZXNjcmlwdG9yc0Vycm9ycyA9IHBvaW50c0Rlc2NyaXB0b3JzRXJyb3JzO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxTQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNQyxTQUFTLEdBQUlDLEtBQUssS0FBTTtFQUFFLEdBQUdDLGlCQUFRO0VBQUUsR0FBR0Q7QUFBTSxDQUFDLENBQUM7QUFFakQsU0FBU0EsS0FBS0EsQ0FBQ0EsS0FBSyxFQUFFRSxPQUFPLEVBQUVDLEdBQUcsRUFBRTtFQUN6QyxPQUFPLElBQUlDLE9BQU8sQ0FBRUMsT0FBTyxJQUFLO0lBQzlCLE1BQU1DLFdBQVcsR0FBR1AsU0FBUyxDQUFDQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFMUNLLE9BQU8sQ0FBQ0YsR0FBRyxJQUFJQSxHQUFHLENBQUNJLElBQUksSUFBSUosR0FBRyxDQUFDSSxJQUFJLEtBQUssWUFBWSxHQUFHRCxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7RUFDMUUsQ0FBQyxDQUFDO0FBQ0o7QUFFQSxTQUFTRSxZQUFZQSxDQUFDQyxDQUFDLEVBQUU7RUFDdkIsT0FBTyxDQUFDQSxDQUFDLElBQUksRUFBRSxFQUFFQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztBQUMvQzs7QUFFQTtBQUNPLFNBQVNDLFFBQVFBLENBQUNYLEtBQUssRUFBRTtFQUM5QixNQUFNO0lBQUVZO0VBQU8sQ0FBQyxHQUFHWixLQUFLO0VBQ3hCLE1BQU1hLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDakIsTUFBTUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0VBRWxDLENBQUNGLE1BQU0sSUFBSSxFQUFFLEVBQUVHLE9BQU8sQ0FBQyxDQUFDQyxLQUFLLEVBQUVDLEtBQUssS0FBSztJQUV2QyxJQUFJLENBQUNELEtBQUssSUFBSUEsS0FBSyxLQUFLLGFBQWEsRUFBRTtNQUNyQ0YsdUJBQXVCLENBQUNHLEtBQUssQ0FBQyxHQUFHLHFDQUFxQztJQUN4RSxDQUFDLE1BQU07TUFDTCxNQUFNQyxtQkFBbUIsR0FBR04sTUFBTSxDQUFDTyxLQUFLLENBQUNGLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFFQyxDQUFDLElBQUtiLFlBQVksQ0FBQ2EsQ0FBQyxDQUFDLEtBQUtiLFlBQVksQ0FBQ1EsS0FBSyxDQUFDLENBQUM7TUFFeEcsSUFBSUUsbUJBQW1CLEVBQUU7UUFDdkJKLHVCQUF1QixDQUFDRyxLQUFLLENBQUMsR0FBRyxzQ0FBc0M7TUFDekU7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQUlLLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDVCx1QkFBdUIsQ0FBQyxDQUFDVSxNQUFNLEdBQUcsQ0FBQyxFQUFFO0lBQ25EWCxNQUFNLENBQUNDLHVCQUF1QixHQUFHQSx1QkFBdUI7RUFDMUQ7RUFFQSxPQUFPRCxNQUFNO0FBQ2YiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["normalize","model","defaults","session","env","Promise","resolve","modelResult","role","markupToText","s","replace","validate","points","errors","pointsDescriptorsErrors","forEach","point","index","identicalPointDescr","slice","some","p","Object","keys","length"],"mappings":";;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD;AAAA,yCAAiBC,oBAAjB,GAA8BD,KAA9B;AAAA,CAAlB;;AAEO,SAASA,KAAT,CAAeA,KAAf,EAAsBE,OAAtB,EAA+BC,GAA/B,EAAoC;AACzC,SAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAMC,WAAW,GAAGP,SAAS,CAACC,KAAK,IAAI,EAAV,CAA7B;AAEAK,IAAAA,OAAO,CAACF,GAAG,IAAIA,GAAG,CAACI,IAAX,IAAmBJ,GAAG,CAACI,IAAJ,KAAa,YAAhC,GAA+CD,WAA/C,GAA6D,EAA9D,CAAP;AACD,GAJM,CAAP;AAKD;;AAED,SAASE,YAAT,CAAsBC,CAAtB,EAAyB;AACvB,SAAO,CAACA,CAAC,IAAI,EAAN,EAAUC,OAAV,CAAkB,eAAlB,EAAmC,EAAnC,CAAP;AACD,C,CAED;;;AACO,SAASC,QAAT,CAAkBX,KAAlB,EAAyB;AAC9B,MAAQY,MAAR,GAAmBZ,KAAnB,CAAQY,MAAR;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,uBAAuB,GAAG,EAAhC;AAEA,GAACF,MAAM,IAAI,EAAX,EAAeG,OAAf,CAAuB,UAACC,KAAD,EAAQC,KAAR,EAAkB;AAEvC,QAAI,CAACD,KAAD,IAAUA,KAAK,KAAK,aAAxB,EAAuC;AACrCF,MAAAA,uBAAuB,CAACG,KAAD,CAAvB,GAAiC,qCAAjC;AACD,KAFD,MAEO;AACL,UAAMC,mBAAmB,GAAGN,MAAM,CAACO,KAAP,CAAaF,KAAK,GAAG,CAArB,EAAwBG,IAAxB,CAA6B,UAACC,CAAD;AAAA,eAAOb,YAAY,CAACa,CAAD,CAAZ,KAAoBb,YAAY,CAACQ,KAAD,CAAvC;AAAA,OAA7B,CAA5B;;AAEA,UAAIE,mBAAJ,EAAyB;AACvBJ,QAAAA,uBAAuB,CAACG,KAAD,CAAvB,GAAiC,sCAAjC;AACD;AACF;AACF,GAXD;;AAaA,MAAIK,MAAM,CAACC,IAAP,CAAYT,uBAAZ,EAAqCU,MAArC,GAA8C,CAAlD,EAAqD;AACnDX,IAAAA,MAAM,CAACC,uBAAP,GAAiCA,uBAAjC;AACD;;AAED,SAAOD,MAAP;AACD","sourcesContent":["import defaults from './defaults';\n\nconst normalize = (model) => ({ ...defaults, ...model });\n\nexport function model(model, session, env) {\n return new Promise((resolve) => {\n const modelResult = normalize(model || {});\n\n resolve(env && env.role && env.role === 'instructor' ? modelResult : {});\n });\n}\n\nfunction markupToText(s) {\n return (s || '').replace(/(<([^>]+)>)/gi, '');\n}\n\n// IMPORTANT! If you make any changes to this function, please make sure you also update complex-rubric/controller/validateSimpleRubric function!“.\nexport function validate(model) {\n const { points } = model;\n const errors = {};\n const pointsDescriptorsErrors = {};\n\n (points || []).forEach((point, index) => {\n\n if (!point || point === '<div></div>') {\n pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';\n } else {\n const identicalPointDescr = points.slice(index + 1).some((p) => markupToText(p) === markupToText(point));\n\n if (identicalPointDescr) {\n pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';\n }\n }\n });\n\n if (Object.keys(pointsDescriptorsErrors).length > 0) {\n errors.pointsDescriptorsErrors = pointsDescriptorsErrors;\n }\n\n return errors;\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_defaults","_interopRequireDefault","require","normalize","model","defaults","session","env","Promise","resolve","modelResult","role","markupToText","s","replace","validate","points","errors","pointsDescriptorsErrors","forEach","point","index","identicalPointDescr","slice","some","p","Object","keys","length"],"sources":["../src/index.js"],"sourcesContent":["import defaults from './defaults';\n\nconst normalize = (model) => ({ ...defaults, ...model });\n\nexport function model(model, session, env) {\n return new Promise((resolve) => {\n const modelResult = normalize(model || {});\n\n resolve(env && env.role && env.role === 'instructor' ? modelResult : {});\n });\n}\n\nfunction markupToText(s) {\n return (s || '').replace(/(<([^>]+)>)/gi, '');\n}\n\n// IMPORTANT! If you make any changes to this function, please make sure you also update complex-rubric/controller/validateSimpleRubric function!“.\nexport function validate(model) {\n const { points } = model;\n const errors = {};\n const pointsDescriptorsErrors = {};\n\n (points || []).forEach((point, index) => {\n\n if (!point || point === '<div></div>') {\n pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';\n } else {\n const identicalPointDescr = points.slice(index + 1).some((p) => markupToText(p) === markupToText(point));\n\n if (identicalPointDescr) {\n pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';\n }\n }\n });\n\n if (Object.keys(pointsDescriptorsErrors).length > 0) {\n errors.pointsDescriptorsErrors = pointsDescriptorsErrors;\n }\n\n return errors;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,MAAMC,SAAS,GAAIC,KAAK,KAAM;EAAE,GAAGC,iBAAQ;EAAE,GAAGD;AAAM,CAAC,CAAC;AAEjD,SAASA,KAAKA,CAACA,KAAK,EAAEE,OAAO,EAAEC,GAAG,EAAE;EACzC,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;IAC9B,MAAMC,WAAW,GAAGP,SAAS,CAACC,KAAK,IAAI,CAAC,CAAC,CAAC;IAE1CK,OAAO,CAACF,GAAG,IAAIA,GAAG,CAACI,IAAI,IAAIJ,GAAG,CAACI,IAAI,KAAK,YAAY,GAAGD,WAAW,GAAG,CAAC,CAAC,CAAC;EAC1E,CAAC,CAAC;AACJ;AAEA,SAASE,YAAYA,CAACC,CAAC,EAAE;EACvB,OAAO,CAACA,CAAC,IAAI,EAAE,EAAEC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;AAC/C;;AAEA;AACO,SAASC,QAAQA,CAACX,KAAK,EAAE;EAC9B,MAAM;IAAEY;EAAO,CAAC,GAAGZ,KAAK;EACxB,MAAMa,MAAM,GAAG,CAAC,CAAC;EACjB,MAAMC,uBAAuB,GAAG,CAAC,CAAC;EAElC,CAACF,MAAM,IAAI,EAAE,EAAEG,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;IAEvC,IAAI,CAACD,KAAK,IAAIA,KAAK,KAAK,aAAa,EAAE;MACrCF,uBAAuB,CAACG,KAAK,CAAC,GAAG,qCAAqC;IACxE,CAAC,MAAM;MACL,MAAMC,mBAAmB,GAAGN,MAAM,CAACO,KAAK,CAACF,KAAK,GAAG,CAAC,CAAC,CAACG,IAAI,CAAEC,CAAC,IAAKb,YAAY,CAACa,CAAC,CAAC,KAAKb,YAAY,CAACQ,KAAK,CAAC,CAAC;MAExG,IAAIE,mBAAmB,EAAE;QACvBJ,uBAAuB,CAACG,KAAK,CAAC,GAAG,sCAAsC;MACzE;IACF;EACF,CAAC,CAAC;EAEF,IAAIK,MAAM,CAACC,IAAI,CAACT,uBAAuB,CAAC,CAACU,MAAM,GAAG,CAAC,EAAE;IACnDX,MAAM,CAACC,uBAAuB,GAAGA,uBAAuB;EAC1D;EAEA,OAAOD,MAAM;AACf","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/rubric-controller",
3
3
  "private": true,
4
- "version": "4.1.0",
4
+ "version": "4.1.1",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
7
7
  "test": "./node_modules/.bin/jest"
@@ -0,0 +1,11 @@
1
+ {
2
+ "hash": "-1208707311",
3
+ "info": [
4
+ {
5
+ "pie": "@pie-element/rubric",
6
+ "version": {
7
+ "requested": "latest"
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _enzyme = require("enzyme");
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _main = _interopRequireDefault(require("../main"));
7
+ describe('rubric viewer', () => {
8
+ const wrapper = extras => {
9
+ const props = {
10
+ value: {
11
+ points: ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'],
12
+ sampleAnswers: [null, 'just right', 'not left', null],
13
+ excludeZero: false,
14
+ ...extras
15
+ }
16
+ };
17
+ return (0, _enzyme.mount)(/*#__PURE__*/_react.default.createElement(_main.default, props));
18
+ };
19
+ describe('snapshot', () => {
20
+ it('renders', () => {
21
+ const w = wrapper();
22
+ expect(w).toMatchSnapshot();
23
+ });
24
+ });
25
+ describe('expanded snapshot', () => {
26
+ it('renders', () => {
27
+ const w = wrapper();
28
+ w.find('#rubric-toggle').simulate('click');
29
+ expect(w).toMatchSnapshot();
30
+ });
31
+ });
32
+ describe('exclude zeros', () => {
33
+ it('renders correctly with excluded zeroes', () => {
34
+ let w = wrapper({
35
+ excludeZero: true,
36
+ points: ['a teeny bit right', 'mostly right', 'bingo'],
37
+ sampleAnswers: ['just right', 'not left', null]
38
+ });
39
+ w.find('#rubric-toggle').simulate('click');
40
+ expect(w.find('li').length).toEqual(5);
41
+ w = wrapper({
42
+ excludeZero: false
43
+ });
44
+ w.find('#rubric-toggle').simulate('click');
45
+ expect(w.find('li').length).toEqual(6);
46
+ });
47
+ });
48
+ });
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZW56eW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbWFpbiIsImRlc2NyaWJlIiwid3JhcHBlciIsImV4dHJhcyIsInByb3BzIiwidmFsdWUiLCJwb2ludHMiLCJzYW1wbGVBbnN3ZXJzIiwiZXhjbHVkZVplcm8iLCJtb3VudCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiaXQiLCJ3IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiZmluZCIsInNpbXVsYXRlIiwibGVuZ3RoIiwidG9FcXVhbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcnVicmljLXZpZXcudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbW91bnQgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSdWJyaWMgZnJvbSAnLi4vbWFpbic7XG5cbmRlc2NyaWJlKCdydWJyaWMgdmlld2VyJywgKCkgPT4ge1xuICAgIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICBwb2ludHM6IFsnbm90aGluZyByaWdodCcsICdhIHRlZW55IGJpdCByaWdodCcsICdtb3N0bHkgcmlnaHQnLCAnYmluZ28nXSxcbiAgICAgICAgICAgICAgICBzYW1wbGVBbnN3ZXJzOiBbbnVsbCwgJ2p1c3QgcmlnaHQnLCAnbm90IGxlZnQnLCBudWxsXSxcbiAgICAgICAgICAgICAgICBleGNsdWRlWmVybzogZmFsc2UsXG4gICAgICAgICAgICAgICAgLi4uZXh0cmFzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gbW91bnQoPFJ1YnJpYyB7Li4ucHJvcHN9IC8+KTtcbiAgICB9O1xuXG4gICAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHcgPSB3cmFwcGVyKCk7XG4gICAgICAgICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2V4cGFuZGVkIHNuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHcgPSB3cmFwcGVyKCk7XG4gICAgICAgICAgICB3LmZpbmQoJyNydWJyaWMtdG9nZ2xlJykuc2ltdWxhdGUoJ2NsaWNrJyk7XG4gICAgICAgICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2V4Y2x1ZGUgemVyb3MnLCAoKSA9PiB7XG4gICAgICAgIGl0KCdyZW5kZXJzIGNvcnJlY3RseSB3aXRoIGV4Y2x1ZGVkIHplcm9lcycsICgpID0+IHtcbiAgICAgICAgICAgIGxldCB3ID0gd3JhcHBlcih7XG4gICAgICAgICAgICAgICAgZXhjbHVkZVplcm86IHRydWUsXG4gICAgICAgICAgICAgICAgcG9pbnRzOiBbJ2EgdGVlbnkgYml0IHJpZ2h0JywgJ21vc3RseSByaWdodCcsICdiaW5nbyddLFxuICAgICAgICAgICAgICAgIHNhbXBsZUFuc3dlcnM6IFsnanVzdCByaWdodCcsICdub3QgbGVmdCcsIG51bGxdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHcuZmluZCgnI3J1YnJpYy10b2dnbGUnKS5zaW11bGF0ZSgnY2xpY2snKTtcbiAgICAgICAgICAgIGV4cGVjdCh3LmZpbmQoJ2xpJykubGVuZ3RoKS50b0VxdWFsKDUpO1xuXG4gICAgICAgICAgICB3ID0gd3JhcHBlcih7ZXhjbHVkZVplcm86IGZhbHNlfSk7XG4gICAgICAgICAgICB3LmZpbmQoJyNydWJyaWMtdG9nZ2xlJykuc2ltdWxhdGUoJ2NsaWNrJyk7XG4gICAgICAgICAgICBleHBlY3Qody5maW5kKCdsaScpLmxlbmd0aCkudG9FcXVhbCg2KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBRUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUUsTUFBTTtFQUM1QixNQUFNQyxPQUFPLEdBQUlDLE1BQU0sSUFBSztJQUN4QixNQUFNQyxLQUFLLEdBQUc7TUFDVkMsS0FBSyxFQUFFO1FBQ0hDLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO1FBQ3ZFQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUM7UUFDckRDLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUdMO01BQ1A7SUFDSixDQUFDO0lBRUQsT0FBTyxJQUFBTSxhQUFLLGVBQUNYLE1BQUEsQ0FBQVksT0FBQSxDQUFBQyxhQUFBLENBQUNYLEtBQUEsQ0FBQVUsT0FBTSxFQUFLTixLQUFRLENBQUMsQ0FBQztFQUN2QyxDQUFDO0VBRURILFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTTtJQUN2QlcsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNO01BQ2hCLE1BQU1DLENBQUMsR0FBR1gsT0FBTyxDQUFDLENBQUM7TUFDbkJZLE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDLENBQUNFLGVBQWUsQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQztFQUVGZCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsTUFBTTtJQUNoQ1csRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNO01BQ2hCLE1BQU1DLENBQUMsR0FBR1gsT0FBTyxDQUFDLENBQUM7TUFDbkJXLENBQUMsQ0FBQ0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUNDLFFBQVEsQ0FBQyxPQUFPLENBQUM7TUFDMUNILE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDLENBQUNFLGVBQWUsQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQztFQUVGZCxRQUFRLENBQUMsZUFBZSxFQUFFLE1BQU07SUFDNUJXLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxNQUFNO01BQy9DLElBQUlDLENBQUMsR0FBR1gsT0FBTyxDQUFDO1FBQ1pNLFdBQVcsRUFBRSxJQUFJO1FBQ2pCRixNQUFNLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO1FBQ3REQyxhQUFhLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUk7TUFDbEQsQ0FBQyxDQUFDO01BQ0ZNLENBQUMsQ0FBQ0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUNDLFFBQVEsQ0FBQyxPQUFPLENBQUM7TUFDMUNILE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUNFLE1BQU0sQ0FBQyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDO01BRXRDTixDQUFDLEdBQUdYLE9BQU8sQ0FBQztRQUFDTSxXQUFXLEVBQUU7TUFBSyxDQUFDLENBQUM7TUFDakNLLENBQUMsQ0FBQ0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUNDLFFBQVEsQ0FBQyxPQUFPLENBQUM7TUFDMUNILE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUNFLE1BQU0sQ0FBQyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
package/lib/index.js CHANGED
@@ -1,94 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
23
-
7
+ exports.default = void 0;
24
8
  var _main = _interopRequireDefault(require("./main"));
25
-
26
9
  var _react = _interopRequireDefault(require("react"));
27
-
28
- var _reactDom = _interopRequireDefault(require("react-dom"));
29
-
10
+ var _client = require("react-dom/client");
30
11
  var _debug = _interopRequireDefault(require("debug"));
31
-
32
12
  var _mathRendering = require("@pie-lib/math-rendering");
33
-
34
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
-
36
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
-
38
- var RubricRender = /*#__PURE__*/function (_HTMLElement) {
39
- (0, _inherits2["default"])(RubricRender, _HTMLElement);
40
-
41
- var _super = _createSuper(RubricRender);
42
-
43
- function RubricRender() {
44
- var _this;
45
-
46
- (0, _classCallCheck2["default"])(this, RubricRender);
47
- _this = _super.call(this);
48
-
49
- _debug["default"].log('constructor called');
50
-
51
- _this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
52
- return _this;
13
+ class RubricRender extends HTMLElement {
14
+ constructor() {
15
+ super();
16
+ _debug.default.log('constructor called');
17
+ this.onModelChanged = this.onModelChanged.bind(this);
18
+ this._root = null;
53
19
  }
54
-
55
- (0, _createClass2["default"])(RubricRender, [{
56
- key: "model",
57
- set: function set(s) {
58
- this._model = s;
59
-
60
- this._render();
61
- }
62
- }, {
63
- key: "onModelChanged",
64
- value: function onModelChanged(m) {
65
- this._model = m;
66
-
67
- this._render();
68
- }
69
- }, {
70
- key: "connectedCallback",
71
- value: function connectedCallback() {
72
- this._render();
73
- }
74
- }, {
75
- key: "_render",
76
- value: function _render() {
77
- var _this2 = this;
78
-
79
- if (this._model) {
80
- var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
81
- value: this._model
82
- });
83
-
84
- _reactDom["default"].render(el, this, function () {
85
- (0, _mathRendering.renderMath)(_this2);
86
- });
20
+ set model(s) {
21
+ this._model = s;
22
+ this._render();
23
+ }
24
+ onModelChanged(m) {
25
+ this._model = m;
26
+ this._render();
27
+ }
28
+ connectedCallback() {
29
+ this._render();
30
+ }
31
+ _render() {
32
+ if (this._model) {
33
+ const el = /*#__PURE__*/_react.default.createElement(_main.default, {
34
+ value: this._model
35
+ });
36
+ if (!this._root) {
37
+ this._root = (0, _client.createRoot)(this);
87
38
  }
39
+ this._root.render(el);
40
+ queueMicrotask(() => {
41
+ (0, _mathRendering.renderMath)(this);
42
+ });
88
43
  }
89
- }]);
90
- return RubricRender;
91
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
92
-
93
- exports["default"] = RubricRender;
94
- //# sourceMappingURL=index.js.map
44
+ }
45
+ disconnectedCallback() {
46
+ if (this._root) {
47
+ this._root.unmount();
48
+ }
49
+ }
50
+ }
51
+ exports.default = RubricRender;
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWFpbiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2NsaWVudCIsIl9kZWJ1ZyIsIl9tYXRoUmVuZGVyaW5nIiwiUnVicmljUmVuZGVyIiwiSFRNTEVsZW1lbnQiLCJjb25zdHJ1Y3RvciIsImRlYnVnIiwibG9nIiwib25Nb2RlbENoYW5nZWQiLCJiaW5kIiwiX3Jvb3QiLCJtb2RlbCIsInMiLCJfbW9kZWwiLCJfcmVuZGVyIiwibSIsImNvbm5lY3RlZENhbGxiYWNrIiwiZWwiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJSdWJyaWMiLCJ2YWx1ZSIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJxdWV1ZU1pY3JvdGFzayIsInJlbmRlck1hdGgiLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsInVubW91bnQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUnVicmljIGZyb20gJy4vbWFpbic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1YnJpY1JlbmRlciBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBkZWJ1Zy5sb2coJ2NvbnN0cnVjdG9yIGNhbGxlZCcpO1xuICAgIHRoaXMub25Nb2RlbENoYW5nZWQgPSB0aGlzLm9uTW9kZWxDaGFuZ2VkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5fcm9vdCA9IG51bGw7XG4gIH1cblxuICBzZXQgbW9kZWwocykge1xuICAgIHRoaXMuX21vZGVsID0gcztcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2VkKG0pIHtcbiAgICB0aGlzLl9tb2RlbCA9IG07XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIF9yZW5kZXIoKSB7XG4gICAgaWYgKHRoaXMuX21vZGVsKSB7XG4gICAgICBjb25zdCBlbCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoUnVicmljLCB7IHZhbHVlOiB0aGlzLl9tb2RlbCB9KTtcblxuICAgICAgaWYgKCF0aGlzLl9yb290KSB7XG4gICAgICAgIHRoaXMuX3Jvb3QgPSBjcmVhdGVSb290KHRoaXMpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcm9vdC5yZW5kZXIoZWwpO1xuICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICByZW5kZXJNYXRoKHRoaXMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgaWYgKHRoaXMuX3Jvb3QpIHtcbiAgICAgIHRoaXMuX3Jvb3QudW5tb3VudCgpO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBRWUsTUFBTUssWUFBWSxTQUFTQyxXQUFXLENBQUM7RUFDcERDLFdBQVdBLENBQUEsRUFBRztJQUNaLEtBQUssQ0FBQyxDQUFDO0lBQ1BDLGNBQUssQ0FBQ0MsR0FBRyxDQUFDLG9CQUFvQixDQUFDO0lBQy9CLElBQUksQ0FBQ0MsY0FBYyxHQUFHLElBQUksQ0FBQ0EsY0FBYyxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3BELElBQUksQ0FBQ0MsS0FBSyxHQUFHLElBQUk7RUFDbkI7RUFFQSxJQUFJQyxLQUFLQSxDQUFDQyxDQUFDLEVBQUU7SUFDWCxJQUFJLENBQUNDLE1BQU0sR0FBR0QsQ0FBQztJQUNmLElBQUksQ0FBQ0UsT0FBTyxDQUFDLENBQUM7RUFDaEI7RUFFQU4sY0FBY0EsQ0FBQ08sQ0FBQyxFQUFFO0lBQ2hCLElBQUksQ0FBQ0YsTUFBTSxHQUFHRSxDQUFDO0lBQ2YsSUFBSSxDQUFDRCxPQUFPLENBQUMsQ0FBQztFQUNoQjtFQUVBRSxpQkFBaUJBLENBQUEsRUFBRztJQUNsQixJQUFJLENBQUNGLE9BQU8sQ0FBQyxDQUFDO0VBQ2hCO0VBRUFBLE9BQU9BLENBQUEsRUFBRztJQUNSLElBQUksSUFBSSxDQUFDRCxNQUFNLEVBQUU7TUFDZixNQUFNSSxFQUFFLGdCQUFHQyxjQUFLLENBQUNDLGFBQWEsQ0FBQ0MsYUFBTSxFQUFFO1FBQUVDLEtBQUssRUFBRSxJQUFJLENBQUNSO01BQU8sQ0FBQyxDQUFDO01BRTlELElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNmLElBQUksQ0FBQ0EsS0FBSyxHQUFHLElBQUFZLGtCQUFVLEVBQUMsSUFBSSxDQUFDO01BQy9CO01BQ0EsSUFBSSxDQUFDWixLQUFLLENBQUNhLE1BQU0sQ0FBQ04sRUFBRSxDQUFDO01BQ3JCTyxjQUFjLENBQUMsTUFBTTtRQUNuQixJQUFBQyx5QkFBVSxFQUFDLElBQUksQ0FBQztNQUNsQixDQUFDLENBQUM7SUFDSjtFQUNGO0VBRUFDLG9CQUFvQkEsQ0FBQSxFQUFHO0lBQ3JCLElBQUksSUFBSSxDQUFDaEIsS0FBSyxFQUFFO01BQ2QsSUFBSSxDQUFDQSxLQUFLLENBQUNpQixPQUFPLENBQUMsQ0FBQztJQUN0QjtFQUNGO0FBQ0Y7QUFBQ0MsT0FBQSxDQUFBQyxPQUFBLEdBQUExQixZQUFBIiwiaWdub3JlTGlzdCI6W119
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["RubricRender","debug","log","onModelChanged","bind","s","_model","_render","m","el","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEqBA,Y;;;;;AACnB,0BAAc;AAAA;;AAAA;AACZ;;AACAC,sBAAMC,GAAN,CAAU,oBAAV;;AACA,UAAKC,cAAL,GAAsB,MAAKA,cAAL,CAAoBC,IAApB,gDAAtB;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AACA,WAAKE,OAAL;AACD;;;WAED,wBAAeC,CAAf,EAAkB;AAChB,WAAKF,MAAL,GAAcE,CAAd;;AACA,WAAKD,OAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAED,mBAAU;AAAA;;AACR,UAAI,KAAKD,MAAT,EAAiB;AACf,YAAMG,EAAE,gBAAG,gCAAC,gBAAD;AAAQ,UAAA,KAAK,EAAE,KAAKH;AAApB,UAAX;;AAEAI,6BAASC,MAAT,CAAgBF,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,yCAAW,MAAX;AACD,SAFD;AAGD;AACF;;;kDA7BuCG,W","sourcesContent":["import Rubric from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport default class RubricRender extends HTMLElement {\n constructor() {\n super();\n debug.log('constructor called');\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n set model(s) {\n this._model = s;\n this._render();\n }\n\n onModelChanged(m) {\n this._model = m;\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (this._model) {\n const el = <Rubric value={this._model} />;\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_main","_interopRequireDefault","require","_react","_client","_debug","_mathRendering","RubricRender","HTMLElement","constructor","debug","log","onModelChanged","bind","_root","model","s","_model","_render","m","connectedCallback","el","React","createElement","Rubric","value","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","default"],"sources":["../src/index.js"],"sourcesContent":["import Rubric from './main';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport default class RubricRender extends HTMLElement {\n constructor() {\n super();\n debug.log('constructor called');\n this.onModelChanged = this.onModelChanged.bind(this);\n this._root = null;\n }\n\n set model(s) {\n this._model = s;\n this._render();\n }\n\n onModelChanged(m) {\n this._model = m;\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Rubric, { value: this._model });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEe,MAAMK,YAAY,SAASC,WAAW,CAAC;EACpDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IACPC,cAAK,CAACC,GAAG,CAAC,oBAAoB,CAAC;IAC/B,IAAI,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc,CAACC,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACC,KAAK,GAAG,IAAI;EACnB;EAEA,IAAIC,KAAKA,CAACC,CAAC,EAAE;IACX,IAAI,CAACC,MAAM,GAAGD,CAAC;IACf,IAAI,CAACE,OAAO,CAAC,CAAC;EAChB;EAEAN,cAAcA,CAACO,CAAC,EAAE;IAChB,IAAI,CAACF,MAAM,GAAGE,CAAC;IACf,IAAI,CAACD,OAAO,CAAC,CAAC;EAChB;EAEAE,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACF,OAAO,CAAC,CAAC;EAChB;EAEAA,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAACD,MAAM,EAAE;MACf,MAAMI,EAAE,gBAAGC,cAAK,CAACC,aAAa,CAACC,aAAM,EAAE;QAAEC,KAAK,EAAE,IAAI,CAACR;MAAO,CAAC,CAAC;MAE9D,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACf,IAAI,CAACA,KAAK,GAAG,IAAAY,kBAAU,EAAC,IAAI,CAAC;MAC/B;MACA,IAAI,CAACZ,KAAK,CAACa,MAAM,CAACN,EAAE,CAAC;MACrBO,cAAc,CAAC,MAAM;QACnB,IAAAC,yBAAU,EAAC,IAAI,CAAC;MAClB,CAAC,CAAC;IACJ;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAAChB,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACiB,OAAO,CAAC,CAAC;IACtB;EACF;AACF;AAACC,OAAA,CAAAC,OAAA,GAAA1B,YAAA","ignoreList":[]}