@pie-element/boilerplate-item-type 5.3.4-next.3 → 6.0.0-beta.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.
@@ -1,108 +1,77 @@
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.validate = exports.outcome = exports.normalizeSession = exports.model = exports.getPartialScore = exports.getCorrectness = exports.createDefaultModel = exports.createCorrectResponseSession = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
8
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
13
-
14
9
  var _defaults = _interopRequireDefault(require("./defaults"));
15
-
16
- 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; }
17
-
18
- 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; }
19
-
20
- var getCorrectness = function getCorrectness(model) {
21
- var correctnessCondition = 'c';
22
-
10
+ const getCorrectness = model => {
11
+ const correctnessCondition = 'c';
23
12
  switch (correctnessCondition) {
24
13
  case 'c':
25
14
  return 'correct';
26
-
27
15
  case 'pc':
28
16
  return 'partially-correct';
29
-
30
17
  case 'i':
31
18
  return 'incorrect';
32
-
33
19
  default:
34
20
  return 'unknown';
35
21
  }
36
22
  };
37
-
38
23
  exports.getCorrectness = getCorrectness;
39
-
40
- var getPartialScore = function getPartialScore(question, session) {
41
- if (!session || (0, _isEmpty["default"])(session)) {
24
+ const getPartialScore = (question, session) => {
25
+ if (!session || (0, _isEmpty.default)(session)) {
42
26
  return 0;
43
27
  }
44
-
45
28
  return 1;
46
29
  };
47
-
48
30
  exports.getPartialScore = getPartialScore;
49
-
50
- var outcome = function outcome(question, session, env) {
51
- return new Promise(function (resolve) {
52
- if (!session || (0, _isEmpty["default"])(session)) {
53
- resolve({
54
- score: 0,
55
- empty: true
56
- });
57
- }
58
-
59
- session = normalizeSession(session);
60
-
61
- if (env.mode !== 'evaluate') {
62
- resolve({
63
- score: undefined,
64
- completed: undefined
65
- });
66
- } else {
67
- resolve({
68
- score: 1
69
- });
70
- }
71
- });
72
- };
73
-
31
+ const outcome = (question, session, env) => new Promise(resolve => {
32
+ if (!session || (0, _isEmpty.default)(session)) {
33
+ resolve({
34
+ score: 0,
35
+ empty: true
36
+ });
37
+ }
38
+ session = normalizeSession(session);
39
+ if (env.mode !== 'evaluate') {
40
+ resolve({
41
+ score: undefined,
42
+ completed: undefined
43
+ });
44
+ } else {
45
+ resolve({
46
+ score: 1
47
+ });
48
+ }
49
+ });
74
50
  exports.outcome = outcome;
75
-
76
- var createDefaultModel = function createDefaultModel() {
77
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
- return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
79
- };
80
-
51
+ const createDefaultModel = (model = {}) => ({
52
+ ..._defaults.default.model,
53
+ ...model
54
+ });
81
55
  exports.createDefaultModel = createDefaultModel;
82
-
83
- var normalizeSession = function normalizeSession(s) {
84
- return _objectSpread({}, s);
85
- };
86
-
56
+ const normalizeSession = s => ({
57
+ ...s
58
+ });
87
59
  exports.normalizeSession = normalizeSession;
88
-
89
- var model = function model(question, session, env) {
90
- return new Promise(function (resolve) {
60
+ const model = (question, session, env) => {
61
+ return new Promise(resolve => {
91
62
  session = session || {};
92
- var normalizedQuestion = createDefaultModel(question);
93
- var out = {
63
+ const normalizedQuestion = createDefaultModel(question);
64
+ const out = {
94
65
  prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,
95
66
  extraCSSRules: normalizedQuestion.extraCSSRules,
96
- env: env
67
+ env
97
68
  };
98
69
  resolve(out);
99
70
  });
100
71
  };
101
-
102
72
  exports.model = model;
103
-
104
- var createCorrectResponseSession = function createCorrectResponseSession(question, env) {
105
- return new Promise(function (resolve) {
73
+ const createCorrectResponseSession = (question, env) => {
74
+ return new Promise(resolve => {
106
75
  if (env.mode !== 'evaluate' && env.role === 'instructor') {
107
76
  resolve({
108
77
  id: '1'
@@ -112,15 +81,10 @@ var createCorrectResponseSession = function createCorrectResponseSession(questio
112
81
  }
113
82
  });
114
83
  };
115
-
116
84
  exports.createCorrectResponseSession = createCorrectResponseSession;
117
-
118
- var validate = function validate() {
119
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
120
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
121
- var errors = {};
85
+ const validate = (model = {}, config = {}) => {
86
+ const errors = {};
122
87
  return errors;
123
88
  };
124
-
125
89
  exports.validate = validate;
126
90
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["getCorrectness","model","correctnessCondition","getPartialScore","question","session","outcome","env","Promise","resolve","score","empty","normalizeSession","mode","undefined","completed","createDefaultModel","defaults","s","normalizedQuestion","out","prompt","promptEnabled","extraCSSRules","createCorrectResponseSession","role","id","validate","config","errors"],"mappings":"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","sourcesContent":["import isEmpty from 'lodash/isEmpty';\nimport defaults from './defaults';\n\nexport const getCorrectness = (model) => {\n const correctnessCondition = 'c';\n\n switch (correctnessCondition) {\n case 'c':\n return 'correct';\n case 'pc':\n return 'partially-correct';\n case 'i':\n return 'incorrect';\n default:\n return 'unknown';\n }\n};\n\nexport const getPartialScore = (question, session) => {\n if (!session || isEmpty(session)) {\n return 0;\n }\n\n return 1;\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 resolve({ score: 1 });\n }\n });\n\nexport const createDefaultModel = (model = {}) => ({ ...defaults.model, ...model });\n\nexport const normalizeSession = (s) => ({ ...s });\n\nexport const model = (question, session, env) => {\n return new Promise((resolve) => {\n session = session || {};\n const normalizedQuestion = createDefaultModel(question);\n\n const out = {\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n env,\n };\n\n resolve(out);\n });\n};\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n resolve({ id: '1' });\n } else {\n resolve(null);\n }\n });\n};\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n return errors;\n};\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_isEmpty","_interopRequireDefault","require","_defaults","getCorrectness","model","correctnessCondition","exports","getPartialScore","question","session","isEmpty","outcome","env","Promise","resolve","score","empty","normalizeSession","mode","undefined","completed","createDefaultModel","defaults","s","normalizedQuestion","out","prompt","promptEnabled","extraCSSRules","createCorrectResponseSession","role","id","validate","config","errors"],"sources":["../src/index.js"],"sourcesContent":["import isEmpty from 'lodash/isEmpty';\nimport defaults from './defaults';\n\nexport const getCorrectness = (model) => {\n const correctnessCondition = 'c';\n\n switch (correctnessCondition) {\n case 'c':\n return 'correct';\n case 'pc':\n return 'partially-correct';\n case 'i':\n return 'incorrect';\n default:\n return 'unknown';\n }\n};\n\nexport const getPartialScore = (question, session) => {\n if (!session || isEmpty(session)) {\n return 0;\n }\n\n return 1;\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 resolve({ score: 1 });\n }\n });\n\nexport const createDefaultModel = (model = {}) => ({ ...defaults.model, ...model });\n\nexport const normalizeSession = (s) => ({ ...s });\n\nexport const model = (question, session, env) => {\n return new Promise((resolve) => {\n session = session || {};\n const normalizedQuestion = createDefaultModel(question);\n\n const out = {\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n env,\n };\n\n resolve(out);\n });\n};\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n resolve({ id: '1' });\n } else {\n resolve(null);\n }\n });\n};\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n return errors;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/boilerplate-item-type-controller",
3
3
  "private": true,
4
- "version": "4.2.1",
4
+ "version": "5.0.0-beta.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
package/lib/index.js CHANGED
@@ -1,105 +1,68 @@
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
21
-
7
+ exports.default = void 0;
22
8
  var _react = _interopRequireDefault(require("react"));
23
-
24
- var _reactDom = _interopRequireDefault(require("react-dom"));
25
-
9
+ var _client = require("react-dom/client");
26
10
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
27
-
28
11
  var _main = _interopRequireDefault(require("./main"));
29
-
30
12
  var _mathRendering = require("@pie-lib/math-rendering");
31
-
32
- 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); }; }
33
-
34
- 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; } }
35
-
36
- var BoilerplateItemType = /*#__PURE__*/function (_HTMLElement) {
37
- (0, _inherits2["default"])(BoilerplateItemType, _HTMLElement);
38
-
39
- var _super = _createSuper(BoilerplateItemType);
40
-
41
- function BoilerplateItemType() {
42
- (0, _classCallCheck2["default"])(this, BoilerplateItemType);
43
- return _super.apply(this, arguments);
13
+ class BoilerplateItemType extends HTMLElement {
14
+ constructor() {
15
+ super();
16
+ this._root = null;
44
17
  }
45
-
46
- (0, _createClass2["default"])(BoilerplateItemType, [{
47
- key: "model",
48
- get: function get() {
49
- return this._model;
50
- },
51
- set: function set(m) {
52
- this._model = m;
53
- this.render();
54
- this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined));
55
- }
56
- }, {
57
- key: "session",
58
- get: function get() {
59
- return this._session;
60
- },
61
- set: function set(s) {
62
- this._session = s;
63
- this.render();
64
- }
65
- }, {
66
- key: "isSessionComplete",
67
- value: function isSessionComplete() {
68
- // a method to check if student answered the question
69
- return true;
70
- }
71
- }, {
72
- key: "onSessionChange",
73
- value: function onSessionChange(session) {
74
- // you can add an extra step here to validate session
75
- this._session = session;
76
- this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));
77
- }
78
- }, {
79
- key: "connectedCallback",
80
- value: function connectedCallback() {
81
- this.render();
82
- }
83
- }, {
84
- key: "render",
85
- value: function render() {
86
- var _this = this;
87
-
88
- if (this._model && this._session) {
89
- var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
90
- model: this._model,
91
- session: this._session,
92
- onSessionChange: this.onSessionChange.bind(this)
93
- });
94
-
95
- _reactDom["default"].render(el, this, function () {
96
- (0, _mathRendering.renderMath)(_this);
97
- });
18
+ set model(m) {
19
+ this._model = m;
20
+ this.render();
21
+ this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined));
22
+ }
23
+ get model() {
24
+ return this._model;
25
+ }
26
+ set session(s) {
27
+ this._session = s;
28
+ this.render();
29
+ }
30
+ get session() {
31
+ return this._session;
32
+ }
33
+ isSessionComplete() {
34
+ // a method to check if student answered the question
35
+ return true;
36
+ }
37
+ onSessionChange(session) {
38
+ // you can add an extra step here to validate session
39
+ this._session = session;
40
+ this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));
41
+ }
42
+ connectedCallback() {
43
+ this.render();
44
+ }
45
+ render() {
46
+ if (this._model && this._session) {
47
+ const el = /*#__PURE__*/_react.default.createElement(_main.default, {
48
+ model: this._model,
49
+ session: this._session,
50
+ onSessionChange: this.onSessionChange.bind(this)
51
+ });
52
+ if (!this._root) {
53
+ this._root = (0, _client.createRoot)(this);
98
54
  }
55
+ this._root.render(el);
56
+ queueMicrotask(() => {
57
+ (0, _mathRendering.renderMath)(this);
58
+ });
99
59
  }
100
- }]);
101
- return BoilerplateItemType;
102
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
103
-
104
- exports["default"] = BoilerplateItemType;
60
+ }
61
+ disconnectedCallback() {
62
+ if (this._root) {
63
+ this._root.unmount();
64
+ }
65
+ }
66
+ }
67
+ exports.default = BoilerplateItemType;
105
68
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["BoilerplateItemType","_model","m","render","dispatchEvent","ModelSetEvent","tagName","toLowerCase","isSessionComplete","undefined","_session","s","session","SessionChangedEvent","el","React","createElement","Main","model","onSessionChange","bind","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEqBA,mB;;;;;;;;;;;;SAUnB,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD,K;SAXD,aAAUC,CAAV,EAAa;AACX,WAAKD,MAAL,GAAcC,CAAd;AAEA,WAAKC,MAAL;AACA,WAAKC,aAAL,CACE,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKC,iBAAL,EAA9C,EAAwE,KAAKP,MAAL,KAAgBQ,SAAxF,CADF;AAGD;;;SAYD,eAAc;AACZ,aAAO,KAAKC,QAAZ;AACD,K;SARD,aAAYC,CAAZ,EAAe;AACb,WAAKD,QAAL,GAAgBC,CAAhB;AAEA,WAAKR,MAAL;AACD;;;WAMD,6BAAoB;AAClB;AACA,aAAO,IAAP;AACD;;;WAED,yBAAgBS,OAAhB,EAAyB;AACvB;AACA,WAAKF,QAAL,GAAgBE,OAAhB;AAEA,WAAKR,aAAL,CAAmB,IAAIS,oCAAJ,CAAwB,KAAKP,OAAL,CAAaC,WAAb,EAAxB,EAAoD,KAAKC,iBAAL,EAApD,CAAnB;AACD;;;WAED,6BAAoB;AAClB,WAAKL,MAAL;AACD;;;WAED,kBAAS;AAAA;;AACP,UAAI,KAAKF,MAAL,IAAe,KAAKS,QAAxB,EAAkC;AAChC,YAAMI,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKjB,MADuB;AAEnCW,UAAAA,OAAO,EAAE,KAAKF,QAFqB;AAGnCS,UAAAA,eAAe,EAAE,KAAKA,eAAL,CAAqBC,IAArB,CAA0B,IAA1B;AAHkB,SAA1B,CAAX;;AAMAC,6BAASlB,MAAT,CAAgBW,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,yCAAW,KAAX;AACD,SAFD;AAGD;AACF;;;kDApD8CQ,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport default class BoilerplateItemType extends HTMLElement {\n set model(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined),\n );\n }\n\n get model() {\n return this._model;\n }\n\n set session(s) {\n this._session = s;\n\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n isSessionComplete() {\n // a method to check if student answered the question\n return true;\n }\n\n onSessionChange(session) {\n // you can add an extra step here to validate session\n this._session = session;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));\n }\n\n connectedCallback() {\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.onSessionChange.bind(this),\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_main","_mathRendering","BoilerplateItemType","HTMLElement","constructor","_root","model","m","_model","render","dispatchEvent","ModelSetEvent","tagName","toLowerCase","isSessionComplete","undefined","session","s","_session","onSessionChange","SessionChangedEvent","connectedCallback","el","React","createElement","Main","bind","createRoot","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport default class BoilerplateItemType extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined),\n );\n }\n\n get model() {\n return this._model;\n }\n\n set session(s) {\n this._session = s;\n\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n isSessionComplete() {\n // a method to check if student answered the question\n return true;\n }\n\n onSessionChange(session) {\n // you can add an extra step here to validate session\n this._session = session;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));\n }\n\n connectedCallback() {\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.onSessionChange.bind(this),\n });\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,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEe,MAAMK,mBAAmB,SAASC,WAAW,CAAC;EAC3DC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,KAAK,GAAG,IAAI;EACnB;EAEA,IAAIC,KAAKA,CAACC,CAAC,EAAE;IACX,IAAI,CAACC,MAAM,GAAGD,CAAC;IAEf,IAAI,CAACE,MAAM,CAAC,CAAC;IACb,IAAI,CAACC,aAAa,CAChB,IAAIC,8BAAa,CAAC,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC,EAAE,IAAI,CAACC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAACN,MAAM,KAAKO,SAAS,CACnG,CAAC;EACH;EAEA,IAAIT,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACE,MAAM;EACpB;EAEA,IAAIQ,OAAOA,CAACC,CAAC,EAAE;IACb,IAAI,CAACC,QAAQ,GAAGD,CAAC;IAEjB,IAAI,CAACR,MAAM,CAAC,CAAC;EACf;EAEA,IAAIO,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACE,QAAQ;EACtB;EAEAJ,iBAAiBA,CAAA,EAAG;IAClB;IACA,OAAO,IAAI;EACb;EAEAK,eAAeA,CAACH,OAAO,EAAE;IACvB;IACA,IAAI,CAACE,QAAQ,GAAGF,OAAO;IAEvB,IAAI,CAACN,aAAa,CAAC,IAAIU,oCAAmB,CAAC,IAAI,CAACR,OAAO,CAACC,WAAW,CAAC,CAAC,EAAE,IAAI,CAACC,iBAAiB,CAAC,CAAC,CAAC,CAAC;EACnG;EAEAO,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACZ,MAAM,CAAC,CAAC;EACf;EAEAA,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACD,MAAM,IAAI,IAAI,CAACU,QAAQ,EAAE;MAChC,MAAMI,EAAE,gBAAGC,cAAK,CAACC,aAAa,CAACC,aAAI,EAAE;QACnCnB,KAAK,EAAE,IAAI,CAACE,MAAM;QAClBQ,OAAO,EAAE,IAAI,CAACE,QAAQ;QACtBC,eAAe,EAAE,IAAI,CAACA,eAAe,CAACO,IAAI,CAAC,IAAI;MACjD,CAAC,CAAC;MAEF,IAAI,CAAC,IAAI,CAACrB,KAAK,EAAE;QACf,IAAI,CAACA,KAAK,GAAG,IAAAsB,kBAAU,EAAC,IAAI,CAAC;MAC/B;MACA,IAAI,CAACtB,KAAK,CAACI,MAAM,CAACa,EAAE,CAAC;MACrBM,cAAc,CAAC,MAAM;QACnB,IAAAC,yBAAU,EAAC,IAAI,CAAC;MAClB,CAAC,CAAC;IACJ;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACzB,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAAC0B,OAAO,CAAC,CAAC;IACtB;EACF;AACF;AAACC,OAAA,CAAAC,OAAA,GAAA/B,mBAAA","ignoreList":[]}
package/lib/main.js CHANGED
@@ -1,64 +1,34 @@
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
7
+ exports.default = void 0;
20
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
9
  var _react = _interopRequireDefault(require("react"));
23
-
24
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
11
  var _renderUi = require("@pie-lib/render-ui");
27
-
28
- 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); }; }
29
-
30
- 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; } }
31
-
32
- var Main = /*#__PURE__*/function (_React$Component) {
33
- (0, _inherits2["default"])(Main, _React$Component);
34
-
35
- var _super = _createSuper(Main);
36
-
37
- function Main() {
38
- (0, _classCallCheck2["default"])(this, Main);
39
- return _super.apply(this, arguments);
12
+ class Main extends _react.default.Component {
13
+ render() {
14
+ const {
15
+ model
16
+ } = this.props;
17
+ const {
18
+ extraCSSRules
19
+ } = model;
20
+ return /*#__PURE__*/_react.default.createElement(_renderUi.UiLayout, {
21
+ extraCSSRules: extraCSSRules
22
+ }, model.prompt && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, "Boilerplate Item"), /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
23
+ prompt: model.prompt
24
+ })));
40
25
  }
41
-
42
- (0, _createClass2["default"])(Main, [{
43
- key: "render",
44
- value: function render() {
45
- var model = this.props.model;
46
- var extraCSSRules = model.extraCSSRules;
47
- return /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
48
- extraCSSRules: extraCSSRules
49
- }, model.prompt && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "Boilerplate Item"), /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
50
- prompt: model.prompt
51
- })));
52
- }
53
- }]);
54
- return Main;
55
- }(_react["default"].Component);
56
-
57
- exports["default"] = Main;
58
- (0, _defineProperty2["default"])(Main, "propTypes", {
59
- model: _propTypes["default"].object,
60
- session: _propTypes["default"].object,
61
- onSessionChange: _propTypes["default"].func.isRequired
26
+ }
27
+ exports.default = Main;
28
+ (0, _defineProperty2.default)(Main, "propTypes", {
29
+ model: _propTypes.default.object,
30
+ session: _propTypes.default.object,
31
+ onSessionChange: _propTypes.default.func.isRequired
62
32
  });
63
- (0, _defineProperty2["default"])(Main, "defaultProps", {});
33
+ (0, _defineProperty2.default)(Main, "defaultProps", {});
64
34
  //# sourceMappingURL=main.js.map
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Main","model","props","extraCSSRules","prompt","React","Component","PropTypes","object","session","onSessionChange","func","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAEqBA,I;;;;;;;;;;;;WASnB,kBAAS;AACP,UAAQC,KAAR,GAAkB,KAAKC,KAAvB,CAAQD,KAAR;AACA,UAAQE,aAAR,GAA0BF,KAA1B,CAAQE,aAAR;AAEA,0BACE,gCAAC,kBAAD;AAAU,QAAA,aAAa,EAAEA;AAAzB,SACGF,KAAK,CAACG,MAAN,iBACC,0DACE,8DADF,eAEE,gCAAC,uBAAD;AAAe,QAAA,MAAM,EAAEH,KAAK,CAACG;AAA7B,QAFF,CAFJ,CADF;AAUD;;;EAvB+BC,kBAAMC,S;;;iCAAnBN,I,eACA;AACjBC,EAAAA,KAAK,EAAEM,sBAAUC,MADA;AAEjBC,EAAAA,OAAO,EAAEF,sBAAUC,MAFF;AAGjBE,EAAAA,eAAe,EAAEH,sBAAUI,IAAV,CAAeC;AAHf,C;iCADAZ,I,kBAOG,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\n\nexport default class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func.isRequired,\n };\n\n static defaultProps = {};\n\n render() {\n const { model } = this.props;\n const { extraCSSRules } = model;\n\n return (\n <UiLayout extraCSSRules={extraCSSRules}>\n {model.prompt && (\n <div>\n <p>Boilerplate Item</p>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n )}\n </UiLayout>\n );\n }\n}\n"],"file":"main.js"}
1
+ {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_renderUi","Main","React","Component","render","model","props","extraCSSRules","default","createElement","UiLayout","prompt","PreviewPrompt","exports","_defineProperty2","PropTypes","object","session","onSessionChange","func","isRequired"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\n\nexport default class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func.isRequired,\n };\n\n static defaultProps = {};\n\n render() {\n const { model } = this.props;\n const { extraCSSRules } = model;\n\n return (\n <UiLayout extraCSSRules={extraCSSRules}>\n {model.prompt && (\n <div>\n <p>Boilerplate Item</p>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n )}\n </UiLayout>\n );\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEe,MAAMG,IAAI,SAASC,cAAK,CAACC,SAAS,CAAC;EAShDC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACC,KAAK;IAC5B,MAAM;MAAEC;IAAc,CAAC,GAAGF,KAAK;IAE/B,oBACET,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,SAAA,CAAAU,QAAQ;MAACH,aAAa,EAAEA;IAAc,GACpCF,KAAK,CAACM,MAAM,iBACXf,MAAA,CAAAY,OAAA,CAAAC,aAAA,2BACEb,MAAA,CAAAY,OAAA,CAAAC,aAAA,YAAG,kBAAmB,CAAC,eACvBb,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,SAAA,CAAAY,aAAa;MAACD,MAAM,EAAEN,KAAK,CAACM;IAAO,CAAE,CACnC,CAEC,CAAC;EAEf;AACF;AAACE,OAAA,CAAAL,OAAA,GAAAP,IAAA;AAAA,IAAAa,gBAAA,CAAAN,OAAA,EAxBoBP,IAAI,eACJ;EACjBI,KAAK,EAAEU,kBAAS,CAACC,MAAM;EACvBC,OAAO,EAAEF,kBAAS,CAACC,MAAM;EACzBE,eAAe,EAAEH,kBAAS,CAACI,IAAI,CAACC;AAClC,CAAC;AAAA,IAAAN,gBAAA,CAAAN,OAAA,EALkBP,IAAI,kBAOD,CAAC,CAAC","ignoreList":[]}
package/lib/print.js CHANGED
@@ -1,43 +1,18 @@
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 _react = _interopRequireDefault(require("react"));
25
-
26
- var _reactDom = _interopRequireDefault(require("react-dom"));
27
-
9
+ var _client = require("react-dom/client");
28
10
  var _debounce = _interopRequireDefault(require("lodash/debounce"));
29
-
30
11
  var _main = _interopRequireDefault(require("./main"));
31
-
32
12
  var _mathRendering = require("@pie-lib/math-rendering");
33
-
34
13
  var _debug = _interopRequireDefault(require("debug"));
14
+ const log = (0, _debug.default)('pie-element:multiple-choice:print');
35
15
 
36
- 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); }; }
37
-
38
- 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; } }
39
-
40
- var log = (0, _debug["default"])('pie-element:multiple-choice:print');
41
16
  /**
42
17
  * Live in same package as main element - so we can access some of the shared comps!
43
18
  *
@@ -46,35 +21,30 @@ var log = (0, _debug["default"])('pie-element:multiple-choice:print');
46
21
  * - get configure/controller building
47
22
  */
48
23
 
49
- var preparePrintModel = function preparePrintModel(model, opts) {
24
+ const preparePrintModel = model => {
50
25
  return model;
51
26
  };
52
-
53
- var BoilerPlateItemTypePrint = /*#__PURE__*/function (_HTMLElement) {
54
- (0, _inherits2["default"])(BoilerPlateItemTypePrint, _HTMLElement);
55
-
56
- var _super = _createSuper(BoilerPlateItemTypePrint);
57
-
58
- function BoilerPlateItemTypePrint() {
59
- var _this;
60
-
61
- (0, _classCallCheck2["default"])(this, BoilerPlateItemTypePrint);
62
- _this = _super.call(this);
63
- _this._options = null;
64
- _this._model = null;
65
- _this._session = [];
66
- _this._rerender = (0, _debounce["default"])(function () {
67
- if (_this._model && _this._session) {
68
- var printModel = preparePrintModel(_this._model, _this._options);
69
-
70
- var element = _this._options && /*#__PURE__*/_react["default"].createElement(_main["default"], {
27
+ class BoilerPlateItemTypePrint extends HTMLElement {
28
+ constructor() {
29
+ super();
30
+ this._options = null;
31
+ this._model = null;
32
+ this._session = [];
33
+ this._root = null;
34
+ this._rerender = (0, _debounce.default)(() => {
35
+ if (this._model && this._session) {
36
+ const printModel = preparePrintModel(this._model, this._options);
37
+ const element = this._options && /*#__PURE__*/_react.default.createElement(_main.default, {
71
38
  model: printModel,
72
39
  session: {}
73
40
  });
74
-
75
- _reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
41
+ if (!this._root) {
42
+ this._root = (0, _client.createRoot)(this);
43
+ }
44
+ this._root.render(element);
45
+ queueMicrotask(() => {
76
46
  log('render complete - render math');
77
- (0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
47
+ (0, _mathRendering.renderMath)(this);
78
48
  });
79
49
  } else {
80
50
  log('skip');
@@ -83,27 +53,20 @@ var BoilerPlateItemTypePrint = /*#__PURE__*/function (_HTMLElement) {
83
53
  leading: false,
84
54
  trailing: true
85
55
  });
86
- return _this;
87
56
  }
88
-
89
- (0, _createClass2["default"])(BoilerPlateItemTypePrint, [{
90
- key: "options",
91
- set: function set(o) {
92
- this._options = o;
93
- }
94
- }, {
95
- key: "model",
96
- set: function set(s) {
97
- this._model = s;
98
-
99
- this._rerender();
57
+ set options(o) {
58
+ this._options = o;
59
+ }
60
+ set model(s) {
61
+ this._model = s;
62
+ this._rerender();
63
+ }
64
+ connectedCallback() {}
65
+ disconnectedCallback() {
66
+ if (this._root) {
67
+ this._root.unmount();
100
68
  }
101
- }, {
102
- key: "connectedCallback",
103
- value: function connectedCallback() {}
104
- }]);
105
- return BoilerPlateItemTypePrint;
106
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
107
-
108
- exports["default"] = BoilerPlateItemTypePrint;
69
+ }
70
+ }
71
+ exports.default = BoilerPlateItemTypePrint;
109
72
  //# sourceMappingURL=print.js.map
package/lib/print.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","BoilerPlateItemTypePrint","_options","_model","_session","_rerender","printModel","element","React","createElement","Main","session","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,mCAAN,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,SAAOD,KAAP;AACD,CAFD;;IAIqBE,wB;;;;;AACnB,sCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKF,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAME,UAAU,GAAGR,iBAAiB,CAAC,MAAKK,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMK,OAAO,GACX,MAAKL,QAAL,iBACAM,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxBX,UAAAA,KAAK,EAAEO,UADiB;AAExBK,UAAAA,OAAO,EAAE;AAFe,SAA1B,CAFF;;AAOAC,6BAASC,MAAT,CAAgBN,OAAhB,kDAA+B,YAAM;AACnCV,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAdD,MAcO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAnBc,EAoBf,EApBe,EAqBf;AAAEiB,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KArBe,CAAjB;AALY;AA4Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKd,QAAL,GAAgBc,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKd,MAAL,GAAcc,CAAd;;AACA,WAAKZ,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAvC8Ba,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:multiple-choice:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n return model;\n};\n\nexport default class BoilerPlateItemTypePrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: {},\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
1
+ {"version":3,"file":"print.js","names":["_react","_interopRequireDefault","require","_client","_debounce","_main","_mathRendering","_debug","log","debug","preparePrintModel","model","BoilerPlateItemTypePrint","HTMLElement","constructor","_options","_model","_session","_root","_rerender","debounce","printModel","element","React","createElement","Main","session","createRoot","render","queueMicrotask","renderMath","leading","trailing","options","o","s","connectedCallback","disconnectedCallback","unmount","exports","default"],"sources":["../src/print.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:multiple-choice:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model) => {\n return model;\n};\n\nexport default class BoilerPlateItemTypePrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._root = null;\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: {},\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n queueMicrotask(() => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,MAAMM,GAAG,GAAG,IAAAC,cAAK,EAAC,mCAAmC,CAAC;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,iBAAiB,GAAIC,KAAK,IAAK;EACnC,OAAOA,KAAK;AACd,CAAC;AAEc,MAAMC,wBAAwB,SAASC,WAAW,CAAC;EAChEC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB,IAAI,CAACC,QAAQ,GAAG,EAAE;IAClB,IAAI,CAACC,KAAK,GAAG,IAAI;IACjB,IAAI,CAACC,SAAS,GAAG,IAAAC,iBAAQ,EACvB,MAAM;MACJ,IAAI,IAAI,CAACJ,MAAM,IAAI,IAAI,CAACC,QAAQ,EAAE;QAChC,MAAMI,UAAU,GAAGX,iBAAiB,CAAC,IAAI,CAACM,MAAM,EAAE,IAAI,CAACD,QAAQ,CAAC;QAEhE,MAAMO,OAAO,GACX,IAAI,CAACP,QAAQ,iBACbQ,cAAK,CAACC,aAAa,CAACC,aAAI,EAAE;UACxBd,KAAK,EAAEU,UAAU;UACjBK,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CAACR,KAAK,EAAE;UACf,IAAI,CAACA,KAAK,GAAG,IAAAS,kBAAU,EAAC,IAAI,CAAC;QAC/B;QACA,IAAI,CAACT,KAAK,CAACU,MAAM,CAACN,OAAO,CAAC;QAC1BO,cAAc,CAAC,MAAM;UACnBrB,GAAG,CAAC,+BAA+B,CAAC;UACpC,IAAAsB,yBAAU,EAAC,IAAI,CAAC;QAClB,CAAC,CAAC;MACJ,CAAC,MAAM;QACLtB,GAAG,CAAC,MAAM,CAAC;MACb;IACF,CAAC,EACD,EAAE,EACF;MAAEuB,OAAO,EAAE,KAAK;MAAEC,QAAQ,EAAE;IAAK,CACnC,CAAC;EACH;EACA,IAAIC,OAAOA,CAACC,CAAC,EAAE;IACb,IAAI,CAACnB,QAAQ,GAAGmB,CAAC;EACnB;EAEA,IAAIvB,KAAKA,CAACwB,CAAC,EAAE;IACX,IAAI,CAACnB,MAAM,GAAGmB,CAAC;IACf,IAAI,CAAChB,SAAS,CAAC,CAAC;EAClB;EAEAiB,iBAAiBA,CAAA,EAAG,CAAC;EAErBC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACnB,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACoB,OAAO,CAAC,CAAC;IACtB;EACF;AACF;AAACC,OAAA,CAAAC,OAAA,GAAA5B,wBAAA","ignoreList":[]}