@pie-element/image-cloze-association 8.3.4-next.3 → 9.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.
Files changed (64) hide show
  1. package/configure/lib/defaults.js +2 -3
  2. package/configure/lib/defaults.js.map +1 -1
  3. package/configure/lib/index.js +82 -146
  4. package/configure/lib/index.js.map +1 -1
  5. package/configure/lib/root.js +116 -187
  6. package/configure/lib/root.js.map +1 -1
  7. package/configure/package.json +9 -6
  8. package/configure/src/__tests__/index.test.js +90 -18
  9. package/configure/src/index.js +12 -2
  10. package/configure/src/root.jsx +18 -21
  11. package/controller/lib/defaults.js +2 -3
  12. package/controller/lib/defaults.js.map +1 -1
  13. package/controller/lib/index.js +114 -170
  14. package/controller/lib/index.js.map +1 -1
  15. package/controller/lib/utils.js +39 -75
  16. package/controller/lib/utils.js.map +1 -1
  17. package/controller/package.json +2 -2
  18. package/controller/src/__tests__/index.test.js +2 -2
  19. package/lib/constants.js +2 -3
  20. package/lib/constants.js.map +1 -1
  21. package/lib/evaluation-icon.js +39 -56
  22. package/lib/evaluation-icon.js.map +1 -1
  23. package/lib/image-container.js +81 -135
  24. package/lib/image-container.js.map +1 -1
  25. package/lib/image-drop-target.js +112 -209
  26. package/lib/image-drop-target.js.map +1 -1
  27. package/lib/index.js +191 -262
  28. package/lib/index.js.map +1 -1
  29. package/lib/interactive-section.js +85 -148
  30. package/lib/interactive-section.js.map +1 -1
  31. package/lib/possible-response.js +134 -227
  32. package/lib/possible-response.js.map +1 -1
  33. package/lib/possible-responses.js +44 -74
  34. package/lib/possible-responses.js.map +1 -1
  35. package/lib/root.js +368 -404
  36. package/lib/root.js.map +1 -1
  37. package/lib/static-html-span.js +20 -54
  38. package/lib/static-html-span.js.map +1 -1
  39. package/lib/utils-correctness.js +52 -82
  40. package/lib/utils-correctness.js.map +1 -1
  41. package/package.json +14 -11
  42. package/src/__tests__/index.test.js +103 -26
  43. package/src/__tests__/root.test.jsx +45 -16
  44. package/src/evaluation-icon.jsx +25 -25
  45. package/src/image-container.jsx +11 -18
  46. package/src/image-drop-target.jsx +110 -142
  47. package/src/index.js +15 -2
  48. package/src/interactive-section.jsx +24 -34
  49. package/src/possible-response.jsx +119 -151
  50. package/src/possible-responses.jsx +13 -32
  51. package/src/root.jsx +153 -115
  52. package/esm/configure.js +0 -9197
  53. package/esm/configure.js.map +0 -1
  54. package/esm/controller.js +0 -18387
  55. package/esm/controller.js.map +0 -1
  56. package/esm/element.js +0 -15873
  57. package/esm/element.js.map +0 -1
  58. package/esm/package.json +0 -3
  59. package/src/__tests__/__snapshots__/image-container.test.jsx.snap +0 -150
  60. package/src/__tests__/__snapshots__/index.test.js.snap +0 -169
  61. package/src/__tests__/__snapshots__/possible-response.test.jsx.snap +0 -5
  62. package/src/__tests__/__snapshots__/root.test.jsx.snap +0 -72
  63. package/src/__tests__/image-container.test.jsx +0 -93
  64. package/src/__tests__/possible-response.test.jsx +0 -42
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
7
- var _default = {
6
+ exports.default = void 0;
7
+ var _default = exports.default = {
8
8
  model: {
9
9
  rationale: '',
10
10
  rationaleEnabled: true,
@@ -80,5 +80,4 @@ var _default = {
80
80
  }
81
81
  }
82
82
  };
83
- exports["default"] = _default;
84
83
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","rationale","rationaleEnabled","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","maxImageWidth","maxImageHeight","settingsPanelDisabled","spellCheck","label","settings","enabled","inputConfiguration","required","withRubric","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE,EADN;AAELC,IAAAA,gBAAgB,EAAE,IAFb;AAGLC,IAAAA,0BAA0B,EAAE,IAHvB;AAILC,IAAAA,mBAAmB,EAAE,EAJhB;AAKLC,IAAAA,0BAA0B,EAAE;AALvB,GADM;AAQbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,sBAAsB,EAAE;AACtBC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OADe;AAEtBC,MAAAA,KAAK,EAAE;AAAED,QAAAA,QAAQ,EAAE;AAAZ,OAFe;AAGtBE,MAAAA,KAAK,EAAE;AAAEF,QAAAA,QAAQ,EAAE;AAAZ,OAHe;AAItBG,MAAAA,SAAS,EAAE;AAAEH,QAAAA,QAAQ,EAAE;AAAZ,OAJW;AAKtBI,MAAAA,cAAc,EAAE;AAAEJ,QAAAA,QAAQ,EAAE;AAAZ,OALM;AAMtBK,MAAAA,kBAAkB,EAAE;AAAEL,QAAAA,QAAQ,EAAE;AAAZ;AANE,KADX;AASbM,IAAAA,aAAa,EAAE;AACbX,MAAAA,mBAAmB,EAAE;AADR,KATF;AAYbY,IAAAA,cAAc,EAAE;AACdZ,MAAAA,mBAAmB,EAAE;AADP,KAZH;AAeba,IAAAA,qBAAqB,EAAE,KAfV;AAgBbC,IAAAA,UAAU,EAAE;AACVC,MAAAA,KAAK,EAAE,YADG;AAEVC,MAAAA,QAAQ,EAAE,KAFA;AAGVC,MAAAA,OAAO,EAAE;AAHC,KAhBC;AAqBbjB,IAAAA,mBAAmB,EAAE;AACnBgB,MAAAA,QAAQ,EAAE,IADS;AAEnBD,MAAAA,KAAK,EAAE,sBAFY;AAGnBG,MAAAA,kBAAkB,EAAE;AAClBd,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHD;AAQnBc,MAAAA,QAAQ,EAAE;AARS,KArBR;AA+BbC,IAAAA,UAAU,EAAE;AACVJ,MAAAA,QAAQ,EAAE,KADA;AAEVD,MAAAA,KAAK,EAAE;AAFG,KA/BC;AAmCbM,IAAAA,aAAa,EAAE;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,UAAU,EAAE;AAFC,KAnCF;AAuCbC,IAAAA,QAAQ,EAAE;AACRR,MAAAA,QAAQ,EAAE,KADF;AAERD,MAAAA,KAAK,EAAE,kBAFC;AAGRE,MAAAA,OAAO,EAAE;AAHD,KAvCG;AA4CbQ,IAAAA,eAAe,EAAE;AACfV,MAAAA,KAAK,EAAE,kBADQ;AAEfW,MAAAA,OAAO,EAAE;AAFM;AA5CJ;AARF,C","sourcesContent":["export default {\n model: {\n rationale: '',\n rationaleEnabled: true,\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n maxImageWidth: {\n teacherInstructions: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"file":"defaults.js","names":["model","rationale","rationaleEnabled","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","maxImageWidth","maxImageHeight","settingsPanelDisabled","spellCheck","label","settings","enabled","inputConfiguration","required","withRubric","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"sources":["../src/defaults.js"],"sourcesContent":["export default {\n model: {\n rationale: '',\n rationaleEnabled: true,\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n maxImageWidth: {\n teacherInstructions: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"mappings":";;;;;;iCAAe;EACbA,KAAK,EAAE;IACLC,SAAS,EAAE,EAAE;IACbC,gBAAgB,EAAE,IAAI;IACtBC,0BAA0B,EAAE,IAAI;IAChCC,mBAAmB,EAAE,EAAE;IACvBC,0BAA0B,EAAE;EAC9B,CAAC;EACDC,aAAa,EAAE;IACbC,sBAAsB,EAAE;MACtBC,KAAK,EAAE;QAAEC,QAAQ,EAAE;MAAM,CAAC;MAC1BC,KAAK,EAAE;QAAED,QAAQ,EAAE;MAAM,CAAC;MAC1BE,KAAK,EAAE;QAAEF,QAAQ,EAAE;MAAM,CAAC;MAC1BG,SAAS,EAAE;QAAEH,QAAQ,EAAE;MAAK,CAAC;MAC7BI,cAAc,EAAE;QAAEJ,QAAQ,EAAE;MAAM,CAAC;MACnCK,kBAAkB,EAAE;QAAEL,QAAQ,EAAE;MAAK;IACvC,CAAC;IACDM,aAAa,EAAE;MACbX,mBAAmB,EAAE;IACvB,CAAC;IACDY,cAAc,EAAE;MACdZ,mBAAmB,EAAE;IACvB,CAAC;IACDa,qBAAqB,EAAE,KAAK;IAC5BC,UAAU,EAAE;MACVC,KAAK,EAAE,YAAY;MACnBC,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE;IACX,CAAC;IACDjB,mBAAmB,EAAE;MACnBgB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,sBAAsB;MAC7BG,kBAAkB,EAAE;QAClBd,KAAK,EAAE;UAAEC,QAAQ,EAAE;QAAM,CAAC;QAC1BC,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAM,CAAC;QAC1BE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAM;MAC3B,CAAC;MACDc,QAAQ,EAAE;IACZ,CAAC;IACDC,UAAU,EAAE;MACVJ,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDM,aAAa,EAAE;MACbC,SAAS,EAAE,KAAK;MAChBC,UAAU,EAAE;IACd,CAAC;IACDC,QAAQ,EAAE;MACRR,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE,kBAAkB;MACzBE,OAAO,EAAE;IACX,CAAC;IACDQ,eAAe,EAAE;MACfV,KAAK,EAAE,kBAAkB;MACzBW,OAAO,EAAE;IACX;EACF;AACF,CAAC","ignoreList":[]}
@@ -1,163 +1,99 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
9
  var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
27
-
28
10
  var _react = _interopRequireDefault(require("react"));
29
-
30
- var _reactDom = _interopRequireDefault(require("react-dom"));
31
-
11
+ var _client = require("react-dom/client");
32
12
  var _debug = _interopRequireDefault(require("debug"));
33
-
34
13
  var _root = _interopRequireDefault(require("./root"));
35
-
36
14
  var _defaults = _interopRequireDefault(require("./defaults"));
37
-
38
- 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; }
39
-
40
- 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; }
41
-
42
- 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); }; }
43
-
44
- 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; } }
45
-
46
- var log = (0, _debug["default"])('image-cloze-association:configure');
47
-
48
- var ImageClozeAssociationConfigure = /*#__PURE__*/function (_HTMLElement) {
49
- (0, _inherits2["default"])(ImageClozeAssociationConfigure, _HTMLElement);
50
-
51
- var _super = _createSuper(ImageClozeAssociationConfigure);
52
-
53
- function ImageClozeAssociationConfigure() {
54
- var _this;
55
-
56
- (0, _classCallCheck2["default"])(this, ImageClozeAssociationConfigure);
57
- _this = _super.call(this);
58
- _this._model = ImageClozeAssociationConfigure.createDefaultModel();
59
- _this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
60
- _this._configuration = _defaults["default"].configuration;
61
- return _this;
15
+ const log = (0, _debug.default)('image-cloze-association:configure');
16
+ class ImageClozeAssociationConfigure extends HTMLElement {
17
+ constructor() {
18
+ super();
19
+ this._root = null;
20
+ this._model = ImageClozeAssociationConfigure.createDefaultModel();
21
+ this.onModelChanged = this.onModelChanged.bind(this);
22
+ this._configuration = _defaults.default.configuration;
23
+ }
24
+ set model(s) {
25
+ this._model = ImageClozeAssociationConfigure.createDefaultModel(s);
26
+ this._render();
27
+ }
28
+ set configuration(c) {
29
+ this._configuration = c;
30
+ this._render();
31
+ }
32
+ set disableSidePanel(s) {
33
+ this._disableSidePanel = s;
34
+ this._render();
35
+ }
36
+ dispatchModelUpdated(reset) {
37
+ const resetValue = !!reset;
38
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
39
+ }
40
+ onModelChanged(m, reset) {
41
+ this._model = m;
42
+ this.dispatchModelUpdated(reset);
43
+ this._render();
44
+ }
45
+ onConfigurationChanged(config) {
46
+ this._configuration = config;
47
+ this._render();
62
48
  }
63
49
 
64
- (0, _createClass2["default"])(ImageClozeAssociationConfigure, [{
65
- key: "model",
66
- set: function set(s) {
67
- this._model = ImageClozeAssociationConfigure.createDefaultModel(s);
68
-
69
- this._render();
70
- }
71
- }, {
72
- key: "configuration",
73
- set: function set(c) {
74
- this._configuration = c;
75
-
76
- this._render();
77
- }
78
- }, {
79
- key: "disableSidePanel",
80
- set: function set(s) {
81
- this._disableSidePanel = s;
82
-
83
- this._render();
84
- }
85
- }, {
86
- key: "dispatchModelUpdated",
87
- value: function dispatchModelUpdated(reset) {
88
- var resetValue = !!reset;
89
- this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
90
- }
91
- }, {
92
- key: "onModelChanged",
93
- value: function onModelChanged(m, reset) {
94
- this._model = m;
95
- this.dispatchModelUpdated(reset);
96
-
97
- this._render();
98
- }
99
- }, {
100
- key: "onConfigurationChanged",
101
- value: function onConfigurationChanged(config) {
102
- this._configuration = config;
103
-
104
- this._render();
105
- }
106
- /**
107
- *
108
- * @param {done, progress, file} handler
109
- */
110
-
111
- }, {
112
- key: "insertImage",
113
- value: function insertImage(handler) {
114
- this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
115
- }
116
- }, {
117
- key: "onDeleteImage",
118
- value: function onDeleteImage(src, done) {
119
- this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
120
- }
121
- }, {
122
- key: "insertSound",
123
- value: function insertSound(handler) {
124
- this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
125
- }
126
- }, {
127
- key: "onDeleteSound",
128
- value: function onDeleteSound(src, done) {
129
- this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
50
+ /**
51
+ *
52
+ * @param {done, progress, file} handler
53
+ */
54
+ insertImage(handler) {
55
+ this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
56
+ }
57
+ onDeleteImage(src, done) {
58
+ this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
59
+ }
60
+ insertSound(handler) {
61
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
62
+ }
63
+ onDeleteSound(src, done) {
64
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
65
+ }
66
+ _render() {
67
+ log('_render');
68
+ let element = /*#__PURE__*/_react.default.createElement(_root.default, {
69
+ disableSidePanel: this._disableSidePanel,
70
+ model: this._model,
71
+ configuration: this._configuration,
72
+ onModelChanged: this.onModelChanged.bind(this),
73
+ onConfigurationChanged: this.onConfigurationChanged.bind(this),
74
+ imageSupport: {
75
+ add: this.insertImage.bind(this),
76
+ delete: this.onDeleteImage.bind(this)
77
+ },
78
+ uploadSoundSupport: {
79
+ add: this.insertSound.bind(this),
80
+ delete: this.onDeleteSound.bind(this)
81
+ }
82
+ });
83
+ if (!this._root) {
84
+ this._root = (0, _client.createRoot)(this);
130
85
  }
131
- }, {
132
- key: "_render",
133
- value: function _render() {
134
- log('_render');
135
-
136
- var element = /*#__PURE__*/_react["default"].createElement(_root["default"], {
137
- disableSidePanel: this._disableSidePanel,
138
- model: this._model,
139
- configuration: this._configuration,
140
- onModelChanged: this.onModelChanged.bind(this),
141
- onConfigurationChanged: this.onConfigurationChanged.bind(this),
142
- imageSupport: {
143
- add: this.insertImage.bind(this),
144
- "delete": this.onDeleteImage.bind(this)
145
- },
146
- uploadSoundSupport: {
147
- add: this.insertSound.bind(this),
148
- "delete": this.onDeleteSound.bind(this)
149
- }
150
- });
151
-
152
- _reactDom["default"].render(element, this);
86
+ this._root.render(element);
87
+ }
88
+ disconnectedCallback() {
89
+ if (this._root) {
90
+ this._root.unmount();
153
91
  }
154
- }]);
155
- return ImageClozeAssociationConfigure;
156
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
157
-
158
- exports["default"] = ImageClozeAssociationConfigure;
159
- (0, _defineProperty2["default"])(ImageClozeAssociationConfigure, "createDefaultModel", function () {
160
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
161
- return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
162
- });
92
+ }
93
+ }
94
+ exports.default = ImageClozeAssociationConfigure;
95
+ (0, _defineProperty2.default)(ImageClozeAssociationConfigure, "createDefaultModel", (model = {}) => ({
96
+ ..._defaults.default.model,
97
+ ...model
98
+ }));
163
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","ImageClozeAssociationConfigure","_model","createDefaultModel","onModelChanged","bind","_configuration","sensibleDefaults","configuration","s","_render","c","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","config","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Root","disableSidePanel","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\n\nimport Root from './root';\nimport sensibleDefaults from './defaults';\n\nconst log = debug('image-cloze-association:configure');\n\nexport default class ImageClozeAssociationConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = ImageClozeAssociationConfigure.createDefaultModel();\n this.onModelChanged = this.onModelChanged.bind(this);\n this._configuration = sensibleDefaults.configuration;\n }\n\n set model(s) {\n this._model = ImageClozeAssociationConfigure.createDefaultModel(s);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this.dispatchModelUpdated(reset);\n this._render();\n }\n\n onConfigurationChanged(config) {\n this._configuration = config;\n this._render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n\n let element = React.createElement(Root, {\n disableSidePanel: this._disableSidePanel,\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_pieConfigureEvents","require","_react","_interopRequireDefault","_client","_debug","_root","_defaults","log","debug","ImageClozeAssociationConfigure","HTMLElement","constructor","_model","createDefaultModel","onModelChanged","bind","_configuration","sensibleDefaults","configuration","model","s","_render","c","disableSidePanel","_disableSidePanel","dispatchModelUpdated","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","onConfigurationChanged","config","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","element","React","createElement","Root","imageSupport","add","delete","uploadSoundSupport","createRoot","render","disconnectedCallback","unmount","exports","default","_defineProperty2"],"sources":["../src/index.js"],"sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\n\nimport Root from './root';\nimport sensibleDefaults from './defaults';\n\nconst log = debug('image-cloze-association:configure');\n\nexport default class ImageClozeAssociationConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n });\n\n constructor() {\n super();\n this._root = null;\n this._model = ImageClozeAssociationConfigure.createDefaultModel();\n this.onModelChanged = this.onModelChanged.bind(this);\n this._configuration = sensibleDefaults.configuration;\n }\n\n set model(s) {\n this._model = ImageClozeAssociationConfigure.createDefaultModel(s);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this.dispatchModelUpdated(reset);\n this._render();\n }\n\n onConfigurationChanged(config) {\n this._configuration = config;\n this._render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n\n let element = React.createElement(Root, {\n disableSidePanel: this._disableSidePanel,\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,206 +1,135 @@
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"] = exports.Root = 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
-
7
+ exports.default = exports.Root = void 0;
22
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
9
  var _react = _interopRequireDefault(require("react"));
25
-
26
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
11
  var _configUi = require("@pie-lib/config-ui");
29
-
30
12
  var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- 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; }
35
-
36
- 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; }
37
-
38
- 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); }; }
39
-
40
- 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; } }
41
-
42
- var Panel = _configUi.settings.Panel,
43
- toggle = _configUi.settings.toggle,
44
- dropdown = _configUi.settings.dropdown;
45
-
46
- var Root = /*#__PURE__*/function (_React$Component) {
47
- (0, _inherits2["default"])(Root, _React$Component);
48
-
49
- var _super = _createSuper(Root);
50
-
51
- function Root() {
52
- var _this;
53
-
54
- (0, _classCallCheck2["default"])(this, Root);
55
-
56
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
- args[_key] = arguments[_key];
58
- }
59
-
60
- _this = _super.call.apply(_super, [this].concat(args));
61
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTeacherInstructionsChanged", function (teacherInstructions) {
62
- _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
63
- teacherInstructions: teacherInstructions
64
- }));
13
+ var _styles = require("@mui/material/styles");
14
+ const {
15
+ Panel,
16
+ toggle,
17
+ dropdown
18
+ } = _configUi.settings;
19
+ const StyledInputContainer = (0, _styles.styled)(_configUi.InputContainer)(({
20
+ theme
21
+ }) => ({
22
+ width: '100%',
23
+ paddingTop: theme.spacing(2),
24
+ marginBottom: theme.spacing(2)
25
+ }));
26
+ const ErrorText = (0, _styles.styled)('div')(({
27
+ theme
28
+ }) => ({
29
+ fontSize: theme.typography.fontSize - 2,
30
+ color: theme.palette.error.main,
31
+ paddingTop: theme.spacing(1)
32
+ }));
33
+ class Root extends _react.default.Component {
34
+ constructor(...args) {
35
+ super(...args);
36
+ (0, _defineProperty2.default)(this, "onTeacherInstructionsChanged", teacherInstructions => {
37
+ this.props.onModelChanged({
38
+ ...this.props.model,
39
+ teacherInstructions
40
+ });
65
41
  });
66
- return _this;
67
42
  }
68
-
69
- (0, _createClass2["default"])(Root, [{
70
- key: "render",
71
- value: function render() {
72
- var _this$props = this.props,
73
- classes = _this$props.classes,
74
- model = _this$props.model,
75
- configuration = _this$props.configuration,
76
- onModelChanged = _this$props.onModelChanged,
77
- onConfigurationChanged = _this$props.onConfigurationChanged,
78
- imageSupport = _this$props.imageSupport,
79
- uploadSoundSupport = _this$props.uploadSoundSupport;
80
-
81
- var _ref = configuration || {},
82
- _ref$baseInputConfigu = _ref.baseInputConfiguration,
83
- baseInputConfiguration = _ref$baseInputConfigu === void 0 ? {} : _ref$baseInputConfigu,
84
- _ref$contentDimension = _ref.contentDimensions,
85
- contentDimensions = _ref$contentDimension === void 0 ? {} : _ref$contentDimension,
86
- _ref$maxImageWidth = _ref.maxImageWidth,
87
- maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
88
- _ref$maxImageHeight = _ref.maxImageHeight,
89
- maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
90
- settingsPanelDisabled = _ref.settingsPanelDisabled,
91
- _ref$spellCheck = _ref.spellCheck,
92
- spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
93
- _ref$teacherInstructi = _ref.teacherInstructions,
94
- teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
95
- _ref$withRubric = _ref.withRubric,
96
- withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric,
97
- _ref$mathMlOptions = _ref.mathMlOptions,
98
- mathMlOptions = _ref$mathMlOptions === void 0 ? {} : _ref$mathMlOptions,
99
- _ref$language = _ref.language,
100
- language = _ref$language === void 0 ? {} : _ref$language,
101
- _ref$languageChoices = _ref.languageChoices,
102
- languageChoices = _ref$languageChoices === void 0 ? {} : _ref$languageChoices;
103
-
104
- var _ref2 = model || {},
105
- _ref2$errors = _ref2.errors,
106
- errors = _ref2$errors === void 0 ? {} : _ref2$errors,
107
- extraCSSRules = _ref2.extraCSSRules,
108
- spellCheckEnabled = _ref2.spellCheckEnabled;
109
-
110
- var teacherInstructionsError = errors.teacherInstructions;
111
- var panelProperties = {
112
- teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
113
- spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
114
- rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label),
115
- 'language.enabled': language.settings && toggle(language.label, true),
116
- language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options)
117
- };
118
-
119
- var getPluginProps = function getPluginProps() {
120
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
121
- return _objectSpread(_objectSpread({}, baseInputConfiguration), props);
122
- };
123
-
124
- return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
125
- extraCSSRules: extraCSSRules,
126
- dimensions: contentDimensions,
127
- hideSettings: settingsPanelDisabled,
128
- settings: /*#__PURE__*/_react["default"].createElement(Panel, {
129
- model: model,
130
- configuration: configuration,
131
- onChangeModel: function onChangeModel(model) {
132
- return onModelChanged(model);
133
- },
134
- onChangeConfiguration: function onChangeConfiguration(config) {
135
- return onConfigurationChanged(config);
136
- },
137
- groups: {
138
- Properties: panelProperties
139
- }
140
- })
141
- }, model && model.teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
142
- label: teacherInstructions.label,
143
- className: classes.promptHolder
144
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
145
- className: classes.prompt,
146
- markup: model.teacherInstructions || '',
147
- onChange: this.onTeacherInstructionsChanged,
148
- imageSupport: imageSupport,
149
- nonEmpty: false,
150
- error: teacherInstructionsError,
151
- spellCheck: spellCheckEnabled,
152
- pluginProps: getPluginProps(teacherInstructions === null || teacherInstructions === void 0 ? void 0 : teacherInstructions.inputConfiguration),
153
- maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions,
154
- maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions,
155
- uploadSoundSupport: uploadSoundSupport,
156
- languageCharactersProps: [{
157
- language: 'spanish'
158
- }, {
159
- language: 'special'
160
- }],
161
- mathMlOptions: mathMlOptions
162
- }), teacherInstructionsError && /*#__PURE__*/_react["default"].createElement("div", {
163
- className: classes.errorText
164
- }, teacherInstructionsError)), /*#__PURE__*/_react["default"].createElement("div", null, "Image cloze association"));
165
- }
166
- }]);
167
- return Root;
168
- }(_react["default"].Component);
169
-
43
+ render() {
44
+ const {
45
+ model,
46
+ configuration,
47
+ onModelChanged,
48
+ onConfigurationChanged,
49
+ imageSupport,
50
+ uploadSoundSupport
51
+ } = this.props;
52
+ const {
53
+ baseInputConfiguration = {},
54
+ contentDimensions = {},
55
+ maxImageWidth = {},
56
+ maxImageHeight = {},
57
+ settingsPanelDisabled,
58
+ spellCheck = {},
59
+ teacherInstructions = {},
60
+ withRubric = {},
61
+ mathMlOptions = {},
62
+ language = {},
63
+ languageChoices = {}
64
+ } = configuration || {};
65
+ const {
66
+ errors = {},
67
+ extraCSSRules,
68
+ spellCheckEnabled
69
+ } = model || {};
70
+ const {
71
+ teacherInstructions: teacherInstructionsError
72
+ } = errors;
73
+ const panelProperties = {
74
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
75
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
76
+ rubricEnabled: withRubric?.settings && toggle(withRubric?.label),
77
+ 'language.enabled': language.settings && toggle(language.label, true),
78
+ language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options)
79
+ };
80
+ const getPluginProps = (props = {}) => ({
81
+ ...baseInputConfiguration,
82
+ ...props
83
+ });
84
+ return /*#__PURE__*/_react.default.createElement(_configUi.layout.ConfigLayout, {
85
+ extraCSSRules: extraCSSRules,
86
+ dimensions: contentDimensions,
87
+ hideSettings: settingsPanelDisabled,
88
+ settings: /*#__PURE__*/_react.default.createElement(Panel, {
89
+ model: model,
90
+ configuration: configuration,
91
+ onChangeModel: model => onModelChanged(model),
92
+ onChangeConfiguration: config => onConfigurationChanged(config),
93
+ groups: {
94
+ Properties: panelProperties
95
+ }
96
+ })
97
+ }, model && model.teacherInstructionsEnabled && /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
98
+ label: teacherInstructions.label
99
+ }, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
100
+ markup: model.teacherInstructions || '',
101
+ onChange: this.onTeacherInstructionsChanged,
102
+ imageSupport: imageSupport,
103
+ nonEmpty: false,
104
+ error: teacherInstructionsError,
105
+ spellCheck: spellCheckEnabled,
106
+ pluginProps: getPluginProps(teacherInstructions?.inputConfiguration),
107
+ maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions,
108
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions,
109
+ uploadSoundSupport: uploadSoundSupport,
110
+ languageCharactersProps: [{
111
+ language: 'spanish'
112
+ }, {
113
+ language: 'special'
114
+ }],
115
+ mathMlOptions: mathMlOptions
116
+ }), teacherInstructionsError && /*#__PURE__*/_react.default.createElement(ErrorText, null, teacherInstructionsError)), /*#__PURE__*/_react.default.createElement("div", null, "Image cloze association"));
117
+ }
118
+ }
170
119
  exports.Root = Root;
171
-
172
- var styles = function styles(theme) {
173
- return {
174
- promptHolder: {
175
- width: '100%',
176
- paddingTop: theme.spacing.unit * 2,
177
- marginBottom: theme.spacing.unit * 2
178
- },
179
- errorText: {
180
- fontSize: theme.typography.fontSize - 2,
181
- color: theme.palette.error.main,
182
- paddingTop: theme.spacing.unit
183
- }
184
- };
185
- };
186
-
187
120
  Root.propTypes = {
188
- classes: _propTypes["default"].object.isRequired,
189
- onModelChanged: _propTypes["default"].func,
190
- onConfigurationChanged: _propTypes["default"].func,
191
- model: _propTypes["default"].object.isRequired,
192
- configuration: _propTypes["default"].object.isRequired,
193
- imageSupport: _propTypes["default"].shape({
194
- add: _propTypes["default"].func.isRequired,
195
- "delete": _propTypes["default"].func.isRequired
121
+ onModelChanged: _propTypes.default.func,
122
+ onConfigurationChanged: _propTypes.default.func,
123
+ model: _propTypes.default.object.isRequired,
124
+ configuration: _propTypes.default.object.isRequired,
125
+ imageSupport: _propTypes.default.shape({
126
+ add: _propTypes.default.func.isRequired,
127
+ delete: _propTypes.default.func.isRequired
196
128
  }),
197
- uploadSoundSupport: _propTypes["default"].shape({
198
- add: _propTypes["default"].func.isRequired,
199
- "delete": _propTypes["default"].func.isRequired
129
+ uploadSoundSupport: _propTypes.default.shape({
130
+ add: _propTypes.default.func.isRequired,
131
+ delete: _propTypes.default.func.isRequired
200
132
  })
201
133
  };
202
-
203
- var _default = (0, _styles.withStyles)(styles)(Root);
204
-
205
- exports["default"] = _default;
134
+ var _default = exports.default = Root;
206
135
  //# sourceMappingURL=root.js.map