@pie-element/extended-text-entry 6.5.0 → 6.5.1-beta.587

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.
@@ -7,10 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
15
 
12
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
17
 
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
14
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
21
 
16
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -31,13 +37,13 @@ var _main = _interopRequireDefault(require("./main"));
31
37
 
32
38
  var _defaults = _interopRequireDefault(require("./defaults"));
33
39
 
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
40
+ 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
41
 
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
+ 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
43
 
38
44
  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
45
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
46
+ 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
47
 
42
48
  var ExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
43
49
  (0, _inherits2["default"])(ExtendedTextEntry, _HTMLElement);
@@ -49,21 +55,51 @@ var ExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
49
55
 
50
56
  (0, _classCallCheck2["default"])(this, ExtendedTextEntry);
51
57
  _this = _super.call(this);
52
- _this._model = ExtendedTextEntry.createDefaultModel();
58
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "verifyRubric", /*#__PURE__*/function () {
59
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(c) {
60
+ var _ref2, _ref2$withRubric, withRubric;
61
+
62
+ return _regenerator["default"].wrap(function _callee$(_context) {
63
+ while (1) {
64
+ switch (_context.prev = _context.next) {
65
+ case 0:
66
+ _ref2 = c || {}, _ref2$withRubric = _ref2.withRubric, withRubric = _ref2$withRubric === void 0 ? {} : _ref2$withRubric;
67
+
68
+ if (withRubric !== null && withRubric !== void 0 && withRubric.forceEnabled && !_this._model.rubricEnabled) {
69
+ _this._model.rubricEnabled = true;
70
+
71
+ _this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(_this._model));
72
+ }
73
+
74
+ case 2:
75
+ case "end":
76
+ return _context.stop();
77
+ }
78
+ }
79
+ }, _callee);
80
+ }));
81
+
82
+ return function (_x) {
83
+ return _ref.apply(this, arguments);
84
+ };
85
+ }());
53
86
  _this._configuration = _defaults["default"].configuration;
87
+ _this._model = ExtendedTextEntry.createDefaultModel({}, _this._configuration);
88
+ _this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
54
89
  return _this;
55
90
  }
56
91
 
57
92
  (0, _createClass2["default"])(ExtendedTextEntry, [{
58
93
  key: "model",
59
94
  set: function set(m) {
60
- this._model = ExtendedTextEntry.createDefaultModel(m);
95
+ this._model = ExtendedTextEntry.createDefaultModel(m, this._configuration);
61
96
  this.render();
62
97
  }
63
98
  }, {
64
99
  key: "configuration",
65
100
  set: function set(c) {
66
101
  this._configuration = _objectSpread(_objectSpread({}, _defaults["default"].configuration), c);
102
+ this.verifyRubric(this._configuration);
67
103
  this.render();
68
104
  }
69
105
  }, {
@@ -79,6 +115,14 @@ var ExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
79
115
  this._configuration = _objectSpread(_objectSpread({}, _defaults["default"].configuration), c);
80
116
 
81
117
  if (this._model) {
118
+ var _ref3 = c || {},
119
+ _ref3$withRubric = _ref3.withRubric,
120
+ withRubric = _ref3$withRubric === void 0 ? {} : _ref3$withRubric;
121
+
122
+ if (withRubric !== null && withRubric !== void 0 && withRubric.forceEnabled) {
123
+ this._model.rubricEnabled = true;
124
+ }
125
+
82
126
  this.onModelChanged(this._model);
83
127
  }
84
128
 
@@ -99,9 +143,21 @@ var ExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
99
143
  value: function onDeleteImage(src, done) {
100
144
  this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
101
145
  }
146
+ }, {
147
+ key: "insertSound",
148
+ value: function insertSound(handler) {
149
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
150
+ }
151
+ }, {
152
+ key: "onDeleteSound",
153
+ value: function onDeleteSound(src, done) {
154
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
155
+ }
102
156
  }, {
103
157
  key: "render",
104
158
  value: function render() {
159
+ console.log('this._model.rubricEnabled', this._model.rubricEnabled);
160
+
105
161
  if (this._model) {
106
162
  var element = /*#__PURE__*/_react["default"].createElement(_main["default"], {
107
163
  model: this._model,
@@ -111,6 +167,10 @@ var ExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
111
167
  imageSupport: {
112
168
  add: this.insertImage.bind(this),
113
169
  "delete": this.onDeleteImage.bind(this)
170
+ },
171
+ uploadSoundSupport: {
172
+ add: this.insertSound.bind(this),
173
+ "delete": this.onDeleteSound.bind(this)
114
174
  }
115
175
  });
116
176
 
@@ -123,7 +183,17 @@ var ExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
123
183
 
124
184
  exports["default"] = ExtendedTextEntry;
125
185
  (0, _defineProperty2["default"])(ExtendedTextEntry, "createDefaultModel", function () {
186
+ var _config$withRubric;
187
+
126
188
  var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
127
- return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
189
+ var config = arguments.length > 1 ? arguments[1] : undefined;
190
+
191
+ var defaultModel = _objectSpread(_objectSpread({}, _defaults["default"].model), model);
192
+
193
+ if (config !== null && config !== void 0 && (_config$withRubric = config.withRubric) !== null && _config$withRubric !== void 0 && _config$withRubric.forceEnabled && !defaultModel.rubricEnabled) {
194
+ defaultModel.rubricEnabled = true;
195
+ }
196
+
197
+ return defaultModel;
128
198
  });
129
199
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["ExtendedTextEntry","_model","createDefaultModel","_configuration","defaults","configuration","m","render","c","dispatchEvent","ModelUpdatedEvent","onModelChanged","handler","InsertImageEvent","src","done","DeleteImageEvent","element","React","createElement","Main","model","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;AACA;;AACA;;AAEA;;;;;;;;;;IAEqBA,iB;;;;;AAMnB,+BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,iBAAiB,CAACE,kBAAlB,EAAd;AACA,UAAKC,cAAL,GAAsBC,qBAASC,aAA/B;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,iBAAiB,CAACE,kBAAlB,CAAqCI,CAArC,CAAd;AACA,WAAKC,MAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,mCACKC,qBAASC,aADd,GAEKG,CAFL;AAKA,WAAKD,MAAL;AACD;;;WAED,wBAAeD,CAAf,EAAkB;AAChB,WAAKL,MAAL,GAAcK,CAAd;AACA,WAAKC,MAAL;AACA,WAAKE,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,EAAmC,KAAnC,CAAnB;AACD;;;WAED,gCAAuBO,CAAvB,EAA0B;AACxB,WAAKL,cAAL,mCACKC,qBAASC,aADd,GAEKG,CAFL;;AAKA,UAAI,KAAKP,MAAT,EAAiB;AACf,aAAKU,cAAL,CAAoB,KAAKV,MAAzB;AACD;;AAED,WAAKM,MAAL;AACD;AAGD;AACF;AACA;AACA;;;;WACE,qBAAYK,OAAZ,EAAqB;AACnB,WAAKH,aAAL,CAAmB,IAAII,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKN,aAAL,CAAmB,IAAIO,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKd,MAAT,EAAiB;AACf,YAAMgB,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxCC,UAAAA,KAAK,EAAE,KAAKpB,MAD4B;AAExCI,UAAAA,aAAa,EAAE,KAAKF,cAFoB;AAGxCQ,UAAAA,cAAc,EAAE,KAAKA,cAAL,CAAoBW,IAApB,CAAyB,IAAzB,CAHwB;AAIxCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAJgB;AAKxCE,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI;AAL0B,SAA1B,CAAhB;;AAUAM,6BAASrB,MAAT,CAAgBU,OAAhB,EAAyB,IAAzB;AACD;AACF;;;kDAxE4CY,W;;;iCAA1B7B,iB,wBACS;AAAA,MAACqB,KAAD,uEAAS,EAAT;AAAA,yCACvBjB,qBAASiB,KADc,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent\n} from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './main';\n\nimport defaults from './defaults';\n\nexport default class ExtendedTextEntry extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaults.model,\n ...model\n });\n\n constructor() {\n super();\n this._model = ExtendedTextEntry.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = ExtendedTextEntry.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = {\n ...defaults.configuration,\n ...c\n };\n\n this.render();\n }\n\n onModelChanged(m) {\n this._model = m;\n this.render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model, false));\n }\n\n onConfigurationChanged(c) {\n this._configuration = {\n ...defaults.configuration,\n ...c\n };\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this.render();\n }\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 render() {\n if (this._model) {\n const element = React.createElement(Main, {\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 });\n ReactDOM.render(element, this);\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["ExtendedTextEntry","c","withRubric","forceEnabled","_model","rubricEnabled","dispatchEvent","ModelUpdatedEvent","_configuration","defaults","configuration","createDefaultModel","onModelChanged","bind","m","render","verifyRubric","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","console","log","element","React","createElement","Main","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","HTMLElement","config","defaultModel"],"mappings":"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","sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './main';\n\nimport defaults from './defaults';\n\nexport default class ExtendedTextEntry extends HTMLElement {\n static createDefaultModel = (model = {}, config) => {\n const defaultModel = {\n ...defaults.model,\n ...model,\n };\n\n if (config?.withRubric?.forceEnabled && !defaultModel.rubricEnabled) {\n defaultModel.rubricEnabled = true;\n }\n\n return defaultModel;\n };\n\n constructor() {\n super();\n this._configuration = defaults.configuration;\n this._model = ExtendedTextEntry.createDefaultModel({}, this._configuration);\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n verifyRubric = async (c) => {\n const { withRubric = {} } = c || {};\n\n if (withRubric?.forceEnabled && !this._model.rubricEnabled) {\n this._model.rubricEnabled = true;\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n };\n\n set model(m) {\n this._model = ExtendedTextEntry.createDefaultModel(m, this._configuration);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = {\n ...defaults.configuration,\n ...c,\n };\n\n this.verifyRubric(this._configuration);\n\n this.render();\n }\n\n onModelChanged(m) {\n this._model = m;\n this.render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model, false));\n }\n\n onConfigurationChanged(c) {\n this._configuration = {\n ...defaults.configuration,\n ...c,\n };\n\n if (this._model) {\n const { withRubric = {} } = c || {};\n\n if (withRubric?.forceEnabled) {\n this._model.rubricEnabled = true;\n }\n\n this.onModelChanged(this._model);\n }\n\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 console.log('this._model.rubricEnabled', this._model.rubricEnabled);\n\n if (this._model) {\n const element = React.createElement(Main, {\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 ReactDOM.render(element, this);\n }\n }\n}\n"],"file":"index.js"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -35,13 +35,17 @@ var _styles = require("@material-ui/core/styles");
35
35
 
36
36
  var _editableHtml = _interopRequireWildcard(require("@pie-lib/editable-html"));
37
37
 
38
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
38
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
+
40
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
+
42
+ 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
43
 
40
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
44
+ 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
45
 
42
46
  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
47
 
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
48
+ 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
49
 
46
50
  var Panel = _configUi.settings.Panel,
47
51
  toggle = _configUi.settings.toggle,
@@ -104,35 +108,89 @@ var Main = /*#__PURE__*/function (_React$Component) {
104
108
  var _this$props4 = this.props,
105
109
  model = _this$props4.model,
106
110
  classes = _this$props4.classes,
107
- onModelChanged = _this$props4.onModelChanged,
108
111
  configuration = _this$props4.configuration,
112
+ imageSupport = _this$props4.imageSupport,
109
113
  onConfigurationChanged = _this$props4.onConfigurationChanged,
110
- imageSupport = _this$props4.imageSupport;
114
+ onModelChanged = _this$props4.onModelChanged,
115
+ uploadSoundSupport = _this$props4.uploadSoundSupport;
111
116
 
112
117
  var _ref = configuration || {},
113
- _ref$multiple = _ref.multiple,
114
- multiple = _ref$multiple === void 0 ? {} : _ref$multiple,
118
+ _ref$dimensions = _ref.dimensions,
119
+ dimensions = _ref$dimensions === void 0 ? {} : _ref$dimensions,
120
+ _ref$equationEditor = _ref.equationEditor,
121
+ equationEditor = _ref$equationEditor === void 0 ? {} : _ref$equationEditor,
115
122
  _ref$feedback = _ref.feedback,
116
123
  feedback = _ref$feedback === void 0 ? {} : _ref$feedback,
117
- _ref$teacherInstructi = _ref.teacherInstructions,
118
- teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
124
+ _ref$playerSpellCheck = _ref.playerSpellCheck,
125
+ playerSpellCheck = _ref$playerSpellCheck === void 0 ? {} : _ref$playerSpellCheck,
119
126
  _ref$prompt = _ref.prompt,
120
127
  prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
128
+ settingsPanelDisabled = _ref.settingsPanelDisabled,
129
+ _ref$spanishInput = _ref.spanishInput,
130
+ spanishInput = _ref$spanishInput === void 0 ? {} : _ref$spanishInput,
131
+ _ref$specialInput = _ref.specialInput,
132
+ specialInput = _ref$specialInput === void 0 ? {} : _ref$specialInput,
133
+ _ref$spellCheck = _ref.spellCheck,
134
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
121
135
  _ref$studentInstructi = _ref.studentInstructions,
122
136
  studentInstructions = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
137
+ _ref$teacherInstructi = _ref.teacherInstructions,
138
+ teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
123
139
  _ref$mathInput = _ref.mathInput,
124
140
  mathInput = _ref$mathInput === void 0 ? {} : _ref$mathInput,
125
- _ref$dimensions = _ref.dimensions,
126
- dimensions = _ref$dimensions === void 0 ? {} : _ref$dimensions,
127
- _ref$equationEditor = _ref.equationEditor,
128
- equationEditor = _ref$equationEditor === void 0 ? {} : _ref$equationEditor;
141
+ _ref$maxImageWidth = _ref.maxImageWidth,
142
+ maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
143
+ _ref$maxImageHeight = _ref.maxImageHeight,
144
+ maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
145
+ _ref$multiple = _ref.multiple,
146
+ multiple = _ref$multiple === void 0 ? {} : _ref$multiple,
147
+ _ref$withRubric = _ref.withRubric,
148
+ withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric;
129
149
 
130
150
  var _ref2 = model || {},
131
- teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
151
+ feedbackEnabled = _ref2.feedbackEnabled,
132
152
  promptEnabled = _ref2.promptEnabled,
133
- feedbackEnabled = _ref2.feedbackEnabled;
134
-
153
+ spellCheckEnabled = _ref2.spellCheckEnabled,
154
+ teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
155
+ toolbarEditorPosition = _ref2.toolbarEditorPosition;
156
+
157
+ var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
158
+ var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
159
+ var toolbarOpts = {
160
+ position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
161
+ };
162
+ var panelSettings = {
163
+ mathInput: mathInput.settings && toggle(mathInput.label),
164
+ equationEditor: equationEditor.enabled && model.mathInput && dropdown(equationEditor.label, ['non-negative-integers', 'integers', 'decimals', 'fractions', 'Grade 1 - 2', 'Grade 3 - 5', 'Grade 6 - 7', 'Grade 8 - HS', 'geometry', 'advanced-algebra', 'statistics', 'item-authoring']),
165
+ spanishInput: spanishInput.settings && toggle(spanishInput.label),
166
+ specialInput: specialInput.settings && toggle(specialInput.label),
167
+ dimensions: numberFields(dimensions.label, {
168
+ width: {
169
+ label: 'Width (px)',
170
+ suffix: 'px',
171
+ min: 100,
172
+ max: 500
173
+ },
174
+ height: {
175
+ label: 'Height (px)',
176
+ suffix: 'px',
177
+ min: 100,
178
+ max: 500
179
+ }
180
+ }),
181
+ 'multiple.enabled': multiple.settings && toggle(multiple.label, true),
182
+ promptEnabled: prompt.settings && toggle(prompt.label),
183
+ feedbackEnabled: feedback.settings && toggle(feedback.label),
184
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
185
+ playerSpellCheckDisabled: playerSpellCheck.settings && toggle(playerSpellCheck.label)
186
+ };
187
+ var panelProperties = {
188
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
189
+ studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
190
+ rubricEnabled: !(withRubric !== null && withRubric !== void 0 && withRubric.forceEnabled) && (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
191
+ };
135
192
  return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
193
+ hideSettings: settingsPanelDisabled,
136
194
  settings: /*#__PURE__*/_react["default"].createElement(Panel, {
137
195
  model: model,
138
196
  configuration: configuration,
@@ -143,31 +201,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
143
201
  return onConfigurationChanged(config);
144
202
  },
145
203
  groups: {
146
- 'Settings': {
147
- mathInput: mathInput.settings && toggle(mathInput.label),
148
- equationEditor: equationEditor.enabled && model.mathInput && dropdown(equationEditor.label, ['Grade 1 - 2', 'Grade 3 - 5', 'Grade 6 - 7', 'Grade 8 - HS', 'geometry', 'advanced-algebra', 'statistics', 'miscellaneous']),
149
- dimensions: numberFields(dimensions.label, {
150
- width: {
151
- label: 'Width (px)',
152
- suffix: 'px',
153
- min: 100,
154
- max: 500
155
- },
156
- height: {
157
- label: 'Height (px)',
158
- suffix: 'px',
159
- min: 100,
160
- max: 500
161
- }
162
- }),
163
- 'multiple.enabled': multiple.settings && toggle(multiple.label, true),
164
- promptEnabled: prompt.settings && toggle(prompt.label),
165
- feedbackEnabled: feedback.settings && toggle(feedback.label)
166
- },
167
- 'Properties': {
168
- teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
169
- studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label)
170
- }
204
+ Settings: panelSettings,
205
+ Properties: panelProperties
171
206
  }
172
207
  })
173
208
  }, /*#__PURE__*/_react["default"].createElement("div", null, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
@@ -178,8 +213,18 @@ var Main = /*#__PURE__*/function (_React$Component) {
178
213
  markup: model.teacherInstructions || '',
179
214
  onChange: this.changeTeacherInstructions,
180
215
  imageSupport: imageSupport,
181
- nonEmpty: false
182
- })), /*#__PURE__*/_react["default"].createElement("br", null), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
216
+ nonEmpty: false,
217
+ toolbarOpts: toolbarOpts,
218
+ spellCheck: spellCheckEnabled,
219
+ maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
220
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
221
+ uploadSoundSupport: uploadSoundSupport,
222
+ languageCharactersProps: [{
223
+ language: 'spanish'
224
+ }, {
225
+ language: 'special'
226
+ }]
227
+ })), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
183
228
  label: prompt.label,
184
229
  className: classes.promptContainer
185
230
  }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
@@ -188,14 +233,25 @@ var Main = /*#__PURE__*/function (_React$Component) {
188
233
  markup: model.prompt || '',
189
234
  onChange: this.onPromptChange,
190
235
  imageSupport: imageSupport,
191
- nonEmpty: false
236
+ nonEmpty: false,
237
+ toolbarOpts: toolbarOpts,
238
+ spellCheck: spellCheckEnabled,
239
+ maxImageWidth: defaultImageMaxWidth,
240
+ maxImageHeight: defaultImageMaxHeight,
241
+ uploadSoundSupport: uploadSoundSupport,
242
+ languageCharactersProps: [{
243
+ language: 'spanish'
244
+ }, {
245
+ language: 'special'
246
+ }]
192
247
  })), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
193
248
  className: classes.header,
194
249
  variant: "subheading"
195
250
  }, "Feedback"), /*#__PURE__*/_react["default"].createElement(_configUi.FeedbackSelector, {
196
251
  label: "When submitted, show",
197
252
  feedback: model.feedback || defaultFeedback,
198
- onChange: this.changeFeedback
253
+ onChange: this.changeFeedback,
254
+ toolbarOpts: toolbarOpts
199
255
  }))));
200
256
  }
201
257
  }]);
@@ -209,6 +265,7 @@ exports.Main = Main;
209
265
  model: _propTypes["default"].object.isRequired,
210
266
  configuration: _propTypes["default"].object.isRequired,
211
267
  imageSupport: _propTypes["default"].object.isRequired,
268
+ uploadSoundSupport: _propTypes["default"].object.isRequired,
212
269
  classes: _propTypes["default"].object.isRequired
213
270
  });
214
271
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","numberFields","dropdown","defaultFeedback","type","Main","props","markup","onModelChanged","model","prompt","feedback","update","teacherInstructions","state","setDimensions","classes","configuration","onConfigurationChanged","imageSupport","multiple","studentInstructions","mathInput","dimensions","equationEditor","teacherInstructionsEnabled","promptEnabled","feedbackEnabled","config","label","enabled","width","suffix","min","max","height","studentInstructionsEnabled","promptContainer","changeTeacherInstructions","ALL_PLUGINS","onPromptChange","header","changeFeedback","React","Component","PropTypes","func","isRequired","object","theme","paddingBottom","spacing","unit","paddingTop","marginBottom","promptInput","field"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n FeedbackSelector,\n InputContainer,\n settings,\n layout\n} from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\n\nconst { Panel, toggle, numberFields, dropdown } = settings;\n\nconst defaultFeedback = {\n type: 'default',\n default: 'Your answer has been submitted'\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n constructor(props) {\n super(props);\n this.state = {\n setDimensions: true\n };\n }\n\n onPromptChange = markup => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({\n ...model,\n prompt: markup\n });\n };\n\n changeFeedback = feedback => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, feedback };\n onModelChanged(update);\n };\n\n changeTeacherInstructions = teacherInstructions => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, teacherInstructions };\n onModelChanged(update);\n };\n\n render() {\n const { model, classes, onModelChanged, configuration, onConfigurationChanged, imageSupport } = this.props;\n const {\n multiple = {},\n feedback = {},\n teacherInstructions = {},\n prompt = {},\n studentInstructions = {},\n mathInput = {},\n dimensions = {},\n equationEditor = {}\n } = configuration || {};\n const { teacherInstructionsEnabled, promptEnabled, feedbackEnabled } = model || {};\n\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => onModelChanged(model)}\n onChangeConfiguration={config => onConfigurationChanged(config)}\n groups={{\n 'Settings': {\n mathInput: mathInput.settings && toggle(mathInput.label),\n equationEditor: equationEditor.enabled && model.mathInput && dropdown(equationEditor.label, [\n 'Grade 1 - 2',\n 'Grade 3 - 5',\n 'Grade 6 - 7',\n 'Grade 8 - HS',\n 'geometry',\n 'advanced-algebra',\n 'statistics',\n 'miscellaneous'\n ]),\n dimensions: numberFields(dimensions.label, {\n width: {\n label: 'Width (px)',\n suffix: 'px',\n min: 100,\n max: 500\n },\n height: {\n label: 'Height (px)',\n suffix: 'px',\n min: 100,\n max: 500\n }\n }),\n 'multiple.enabled': multiple.settings &&\n toggle(multiple.label, true),\n promptEnabled: prompt.settings &&\n toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n },\n 'Properties': {\n teacherInstructionsEnabled: teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings &&\n toggle(studentInstructions.label)\n },\n }}\n />\n }\n >\n <div>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n />\n </InputContainer>\n )}\n\n <br />\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n />\n </InputContainer>\n )}\n\n {\n feedbackEnabled && (\n <React.Fragment>\n <Typography className={classes.header} variant=\"subheading\">\n Feedback\n </Typography>\n\n <FeedbackSelector\n label=\"When submitted, show\"\n feedback={model.feedback || defaultFeedback}\n onChange={this.changeFeedback}\n />\n </React.Fragment>\n )\n }\n </div>\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles(theme => ({\n header: {\n paddingBottom: theme.spacing.unit\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%'\n },\n promptInput: {\n width: '100%',\n marginBottom: theme.spacing.unit\n },\n field: {\n width: '200px'\n }\n}))(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","numberFields","dropdown","defaultFeedback","type","Main","props","markup","onModelChanged","model","prompt","feedback","update","teacherInstructions","state","setDimensions","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","dimensions","equationEditor","playerSpellCheck","settingsPanelDisabled","spanishInput","specialInput","spellCheck","studentInstructions","mathInput","maxImageWidth","maxImageHeight","multiple","withRubric","feedbackEnabled","promptEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","label","enabled","width","suffix","min","max","height","playerSpellCheckDisabled","panelProperties","studentInstructionsEnabled","rubricEnabled","forceEnabled","config","Settings","Properties","promptContainer","changeTeacherInstructions","language","ALL_PLUGINS","onPromptChange","header","changeFeedback","React","Component","PropTypes","func","isRequired","object","theme","paddingBottom","spacing","unit","paddingTop","marginBottom","promptInput","field"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FeedbackSelector, InputContainer, settings, layout } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\n\nconst { Panel, toggle, numberFields, dropdown } = settings;\n\nconst defaultFeedback = {\n type: 'default',\n default: 'Your answer has been submitted',\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { setDimensions: true };\n }\n\n onPromptChange = (markup) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, prompt: markup });\n };\n\n changeFeedback = (feedback) => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, feedback };\n\n onModelChanged(update);\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, teacherInstructions };\n\n onModelChanged(update);\n };\n\n render() {\n const { model, classes, configuration, imageSupport, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n dimensions = {},\n equationEditor = {},\n feedback = {},\n playerSpellCheck = {},\n prompt = {},\n settingsPanelDisabled,\n spanishInput = {},\n specialInput = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n mathInput = {},\n maxImageWidth = {},\n maxImageHeight = {},\n multiple = {},\n withRubric = {},\n } = configuration || {};\n const { feedbackEnabled, promptEnabled, spellCheckEnabled, teacherInstructionsEnabled, toolbarEditorPosition } =\n model || {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\n mathInput: mathInput.settings && toggle(mathInput.label),\n equationEditor:\n equationEditor.enabled &&\n model.mathInput &&\n dropdown(equationEditor.label, [\n 'non-negative-integers',\n 'integers',\n 'decimals',\n 'fractions',\n 'Grade 1 - 2',\n 'Grade 3 - 5',\n 'Grade 6 - 7',\n 'Grade 8 - HS',\n 'geometry',\n 'advanced-algebra',\n 'statistics',\n 'item-authoring',\n ]),\n spanishInput: spanishInput.settings && toggle(spanishInput.label),\n specialInput: specialInput.settings && toggle(specialInput.label),\n dimensions: numberFields(dimensions.label, {\n width: { label: 'Width (px)', suffix: 'px', min: 100, max: 500 },\n height: { label: 'Height (px)', suffix: 'px', min: 100, max: 500 },\n }),\n 'multiple.enabled': multiple.settings && toggle(multiple.label, true),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckDisabled: playerSpellCheck.settings && toggle(playerSpellCheck.label),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rubricEnabled: !withRubric?.forceEnabled && withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <React.Fragment>\n <Typography className={classes.header} variant=\"subheading\">\n Feedback\n </Typography>\n\n <FeedbackSelector\n label=\"When submitted, show\"\n feedback={model.feedback || defaultFeedback}\n onChange={this.changeFeedback}\n toolbarOpts={toolbarOpts}\n />\n </React.Fragment>\n )}\n </div>\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles((theme) => ({\n header: {\n paddingBottom: theme.spacing.unit,\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n promptInput: {\n width: '100%',\n marginBottom: theme.spacing.unit,\n },\n field: {\n width: '200px',\n },\n}))(Main);\n"],"file":"main.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/extended-text-entry-configure",
3
3
  "private": true,
4
- "version": "5.2.6",
4
+ "version": "7.2.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,9 +9,9 @@
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
11
  "@material-ui/core": "^3.9.2",
12
- "@pie-framework/pie-configure-events": "^1.2.0",
13
- "@pie-lib/config-ui": "^10.8.57",
14
- "@pie-lib/editable-html": "^7.16.16",
12
+ "@pie-framework/pie-configure-events": "^1.3.0",
13
+ "@pie-lib/config-ui": "12.0.0-beta.3",
14
+ "@pie-lib/editable-html": "10.0.0-beta.4",
15
15
  "lodash": "^4.17.15",
16
16
  "prop-types": "^15.6.2",
17
17
  "react": "^16.8.1",
@@ -3,6 +3,101 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.3.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.2.0...@pie-element/extended-text-entry-controller@4.3.0) (2022-12-20)
7
+
8
+
9
+ ### Features
10
+
11
+ * **extended-text-entry:** fix tests for spellcheck property ([b11734f](https://github.com/pie-framework/pie-elements/commit/b11734fac9fc9df28de00222d4a53e29b7887f6a))
12
+ * **extended-text-entry:** flip the meaning of the spellCheck property in player ([f07fe0c](https://github.com/pie-framework/pie-elements/commit/f07fe0c27c36fa9343bff401543a5d711a2603ae))
13
+
14
+
15
+
16
+
17
+
18
+ # [4.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.22...@pie-element/extended-text-entry-controller@4.2.0) (2022-12-07)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * update libs ([441f403](https://github.com/pie-framework/pie-elements/commit/441f403870b7bec0d61fab58b8d93dbe0ead4c32))
24
+
25
+
26
+ ### Features
27
+
28
+ * **input:** added configurability for inserting spanish and special characters [PD-1461], [PD-1462] ([11f381e](https://github.com/pie-framework/pie-elements/commit/11f381ea44a3ae2b2c5c189dc53932d689c8e044))
29
+
30
+
31
+
32
+
33
+
34
+ ## [4.1.22](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.21...@pie-element/extended-text-entry-controller@4.1.22) (2022-06-13)
35
+
36
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
37
+
38
+
39
+
40
+
41
+
42
+ ## [4.1.21](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.20...@pie-element/extended-text-entry-controller@4.1.21) (2022-03-28)
43
+
44
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
45
+
46
+
47
+
48
+
49
+
50
+ ## [4.1.20](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.19...@pie-element/extended-text-entry-controller@4.1.20) (2022-03-22)
51
+
52
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
53
+
54
+
55
+
56
+
57
+
58
+ ## [4.1.19](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.18...@pie-element/extended-text-entry-controller@4.1.19) (2022-02-04)
59
+
60
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
61
+
62
+
63
+
64
+
65
+
66
+ ## [4.1.15](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.13...@pie-element/extended-text-entry-controller@4.1.15) (2021-11-11)
67
+
68
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
69
+
70
+
71
+
72
+
73
+
74
+ ## [4.1.14](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.13...@pie-element/extended-text-entry-controller@4.1.14) (2021-11-11)
75
+
76
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
77
+
78
+
79
+
80
+
81
+
82
+ ## [4.1.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.11...@pie-element/extended-text-entry-controller@4.1.13) (2021-08-05)
83
+
84
+
85
+ ### Bug Fixes
86
+
87
+ * force bump ([5ea7295](https://github.com/pie-framework/pie-elements/commit/5ea7295e4755fbc492a76e7ec69e5fc35b196919))
88
+
89
+
90
+
91
+
92
+
93
+ ## [4.1.11](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.10...@pie-element/extended-text-entry-controller@4.1.11) (2021-06-29)
94
+
95
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
96
+
97
+
98
+
99
+
100
+
6
101
  ## [4.1.10](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.9...@pie-element/extended-text-entry-controller@4.1.10) (2021-04-07)
7
102
 
8
103
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["dimensions","height","width"],"mappings":";;;;;;eAAe;AACbA,EAAAA,UAAU,EAAE;AACVC,IAAAA,MAAM,EAAE,GADE;AAEVC,IAAAA,KAAK,EAAE;AAFG;AADC,C","sourcesContent":["export default {\n dimensions: {\n height: 100,\n width: 500,\n }\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["dimensions","height","width"],"mappings":";;;;;;eAAe;AACbA,EAAAA,UAAU,EAAE;AACVC,IAAAA,MAAM,EAAE,GADE;AAEVC,IAAAA,KAAK,EAAE;AAFG;AADC,C","sourcesContent":["export default {\n dimensions: {\n height: 100,\n width: 500,\n },\n};\n"],"file":"defaults.js"}