@pie-element/drawing-response 6.0.1-cr.1 → 6.0.1-next.14

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.
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
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
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
27
+
28
+ var _react = _interopRequireDefault(require("react"));
29
+
30
+ var _reactDom = _interopRequireDefault(require("react-dom"));
31
+
32
+ var _debug = _interopRequireDefault(require("debug"));
33
+
34
+ var _root = _interopRequireDefault(require("./root"));
35
+
36
+ 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"])('hotspot:configure');
47
+
48
+ var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
49
+ (0, _inherits2["default"])(DrawableResponseConfigure, _HTMLElement);
50
+
51
+ var _super = _createSuper(DrawableResponseConfigure);
52
+
53
+ function DrawableResponseConfigure() {
54
+ var _this$_configuration$;
55
+
56
+ var _this;
57
+
58
+ (0, _classCallCheck2["default"])(this, DrawableResponseConfigure);
59
+ _this = _super.call(this);
60
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (m, reset) {
61
+ _this._model = m;
62
+
63
+ _this.dispatchModelUpdated(reset);
64
+
65
+ _this._render();
66
+ });
67
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigurationChanged", function (c) {
68
+ _this._configuration = c;
69
+
70
+ _this._render();
71
+ });
72
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "insertImage", function (handler) {
73
+ _this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
74
+ });
75
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDeleteImage", function (src, done) {
76
+ _this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
77
+ });
78
+ _this._configuration = _defaults["default"].configuration; // if configuration.withRubric.forceEnabled is true, then we
79
+ // update the configuration (we do not want to display the toggle in the Settings Panel)
80
+
81
+ if ((_this$_configuration$ = _this._configuration.withRubric) !== null && _this$_configuration$ !== void 0 && _this$_configuration$.forceEnabled) {
82
+ _this._configuration.withRubric.settings = false;
83
+ }
84
+
85
+ _this._model = DrawableResponseConfigure.createDefaultModel({}, _this._configuration);
86
+ _this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
87
+ return _this;
88
+ }
89
+
90
+ (0, _createClass2["default"])(DrawableResponseConfigure, [{
91
+ key: "model",
92
+ set: function set(s) {
93
+ this._model = DrawableResponseConfigure.createDefaultModel(s, this._configuration);
94
+
95
+ this._render();
96
+ }
97
+ }, {
98
+ key: "configuration",
99
+ set: function set(c) {
100
+ this._configuration = c;
101
+
102
+ var _ref = c || {},
103
+ _ref$withRubric = _ref.withRubric,
104
+ withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric; // if configuration.withRubric.forceEnabled is true, then we update the model
105
+ // without triggering the Model Updated event (for more details, check documentation)
106
+ // and also update the configuration (we do not want to display the toggle in the Settings Panel)
107
+
108
+
109
+ if (withRubric !== null && withRubric !== void 0 && withRubric.forceEnabled) {
110
+ this._configuration.withRubric.settings = false;
111
+
112
+ if (!this._model.rubricEnabled) {
113
+ this._model.rubricEnabled = true;
114
+ }
115
+ }
116
+
117
+ this._render();
118
+ }
119
+ }, {
120
+ key: "dispatchModelUpdated",
121
+ value: function dispatchModelUpdated(reset) {
122
+ var resetValue = !!reset;
123
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
124
+ }
125
+ }, {
126
+ key: "insertSound",
127
+ value: function insertSound(handler) {
128
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
129
+ }
130
+ }, {
131
+ key: "onDeleteSound",
132
+ value: function onDeleteSound(src, done) {
133
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
134
+ }
135
+ }, {
136
+ key: "_render",
137
+ value: function _render() {
138
+ log('_render');
139
+
140
+ var element = /*#__PURE__*/_react["default"].createElement(_root["default"], {
141
+ model: this._model,
142
+ configuration: this._configuration,
143
+ onModelChanged: this.onModelChanged,
144
+ onConfigurationChanged: this.onConfigurationChanged,
145
+ imageSupport: {
146
+ add: this.insertImage,
147
+ "delete": this.onDeleteImage
148
+ },
149
+ uploadSoundSupport: {
150
+ add: this.insertSound.bind(this),
151
+ "delete": this.onDeleteSound.bind(this)
152
+ }
153
+ });
154
+
155
+ _reactDom["default"].render(element, this);
156
+ }
157
+ }]);
158
+ return DrawableResponseConfigure;
159
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
160
+
161
+ exports["default"] = DrawableResponseConfigure;
162
+ (0, _defineProperty2["default"])(DrawableResponseConfigure, "createDefaultModel", function () {
163
+ var _config$withRubric;
164
+
165
+ var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
166
+ var config = arguments.length > 1 ? arguments[1] : undefined;
167
+
168
+ var defaultModel = _objectSpread(_objectSpread({}, _defaults["default"].model), model); // if configuration.withRubric.forceEnabled is true, then we update the model
169
+ // without triggering the Model Updated event (for more details, check documentation)
170
+
171
+
172
+ if (config !== null && config !== void 0 && (_config$withRubric = config.withRubric) !== null && _config$withRubric !== void 0 && _config$withRubric.forceEnabled && !defaultModel.rubricEnabled) {
173
+ defaultModel.rubricEnabled = true;
174
+ }
175
+
176
+ return defaultModel;
177
+ });
178
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","DrawableResponseConfigure","m","reset","_model","dispatchModelUpdated","_render","c","_configuration","handler","dispatchEvent","InsertImageEvent","src","done","DeleteImageEvent","sensibleDefaults","configuration","withRubric","forceEnabled","settings","createDefaultModel","onModelChanged","bind","s","rubricEnabled","resetValue","ModelUpdatedEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Root","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement","config","defaultModel"],"mappings":"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","sourcesContent":["import {\n DeleteImageEvent,\n DeleteSoundEvent,\n InsertImageEvent,\n InsertSoundEvent,\n ModelUpdatedEvent,\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('hotspot:configure');\n\nexport default class DrawableResponseConfigure extends HTMLElement {\n static createDefaultModel = (model = {}, config) => {\n const defaultModel = {\n ...sensibleDefaults.model,\n ...model,\n };\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\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 = sensibleDefaults.configuration;\n\n // if configuration.withRubric.forceEnabled is true, then we\n // update the configuration (we do not want to display the toggle in the Settings Panel)\n if (this._configuration.withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n }\n\n this._model = DrawableResponseConfigure.createDefaultModel({}, this._configuration);\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n set model(s) {\n this._model = DrawableResponseConfigure.createDefaultModel(s, this._configuration);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n\n const { withRubric = {} } = c || {};\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n // and also update the configuration (we do not want to display the toggle in the Settings Panel)\n if (withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n\n if (!this._model.rubricEnabled) {\n this._model.rubricEnabled = true;\n }\n }\n\n\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 = (c) => {\n this._configuration = c;\n\n this._render();\n };\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 model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\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"],"file":"index.js"}
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
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
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _configUi = require("@pie-lib/config-ui");
27
+
28
+ var _propTypes = _interopRequireDefault(require("prop-types"));
29
+
30
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
31
+
32
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
33
+
34
+ var _styles = require("@material-ui/core/styles");
35
+
36
+ var _imageContainer = _interopRequireDefault(require("./image-container"));
37
+
38
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
39
+
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; }
41
+
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; }
43
+
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); }; }
45
+
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; } }
47
+
48
+ var Panel = _configUi.settings.Panel,
49
+ toggle = _configUi.settings.toggle;
50
+
51
+ var Root = /*#__PURE__*/function (_React$Component) {
52
+ (0, _inherits2["default"])(Root, _React$Component);
53
+
54
+ var _super = _createSuper(Root);
55
+
56
+ function Root() {
57
+ var _this;
58
+
59
+ (0, _classCallCheck2["default"])(this, Root);
60
+
61
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
62
+ args[_key] = arguments[_key];
63
+ }
64
+
65
+ _this = _super.call.apply(_super, [this].concat(args));
66
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChanged", function (prompt) {
67
+ var _this$props = _this.props,
68
+ model = _this$props.model,
69
+ onModelChanged = _this$props.onModelChanged;
70
+ var update = (0, _cloneDeep["default"])(model);
71
+ onModelChanged(_objectSpread(_objectSpread({}, update), {}, {
72
+ prompt: prompt
73
+ }));
74
+ });
75
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTeacherInstructionsChanged", function (teacherInstructions) {
76
+ var _this$props2 = _this.props,
77
+ model = _this$props2.model,
78
+ onModelChanged = _this$props2.onModelChanged;
79
+ onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
80
+ teacherInstructions: teacherInstructions
81
+ }));
82
+ });
83
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onUpdateImageDimension", function (dimensions) {
84
+ var _this$props3 = _this.props,
85
+ model = _this$props3.model,
86
+ onModelChanged = _this$props3.onModelChanged;
87
+ onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
88
+ imageDimensions: dimensions
89
+ }));
90
+ });
91
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onImageUpload", function (imageUrl) {
92
+ var _this$props4 = _this.props,
93
+ model = _this$props4.model,
94
+ onModelChanged = _this$props4.onModelChanged;
95
+ onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
96
+ imageUrl: imageUrl
97
+ }));
98
+ });
99
+ return _this;
100
+ }
101
+
102
+ (0, _createClass2["default"])(Root, [{
103
+ key: "render",
104
+ value: function render() {
105
+ var _this$props5 = this.props,
106
+ classes = _this$props5.classes,
107
+ configuration = _this$props5.configuration,
108
+ imageSupport = _this$props5.imageSupport,
109
+ model = _this$props5.model,
110
+ onConfigurationChanged = _this$props5.onConfigurationChanged,
111
+ onModelChanged = _this$props5.onModelChanged,
112
+ uploadSoundSupport = _this$props5.uploadSoundSupport;
113
+
114
+ var _ref = configuration || {},
115
+ _ref$backgroundImage = _ref.backgroundImage,
116
+ backgroundImage = _ref$backgroundImage === void 0 ? {} : _ref$backgroundImage,
117
+ _ref$maxImageWidth = _ref.maxImageWidth,
118
+ maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
119
+ _ref$maxImageHeight = _ref.maxImageHeight,
120
+ maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
121
+ _ref$prompt = _ref.prompt,
122
+ prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
123
+ settingsPanelDisabled = _ref.settingsPanelDisabled,
124
+ _ref$spellCheck = _ref.spellCheck,
125
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
126
+ _ref$teacherInstructi = _ref.teacherInstructions,
127
+ teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
128
+ _ref$withRubric = _ref.withRubric,
129
+ withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric;
130
+
131
+ var _ref2 = model || {},
132
+ backgroundImageEnabled = _ref2.backgroundImageEnabled,
133
+ promptEnabled = _ref2.promptEnabled,
134
+ spellCheckEnabled = _ref2.spellCheckEnabled,
135
+ teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
136
+ toolbarEditorPosition = _ref2.toolbarEditorPosition;
137
+
138
+ var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
139
+ var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
140
+ var toolbarOpts = {
141
+ position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
142
+ };
143
+ var panelSettings = {
144
+ backgroundImageEnabled: backgroundImage.settings && toggle(backgroundImage.label),
145
+ promptEnabled: prompt.settings && toggle(prompt.label)
146
+ };
147
+ var panelProperties = {
148
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
149
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
150
+ rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
151
+ };
152
+ return /*#__PURE__*/_react["default"].createElement("div", {
153
+ className: classes.base
154
+ }, /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
155
+ hideSettings: settingsPanelDisabled,
156
+ settings: /*#__PURE__*/_react["default"].createElement(Panel, {
157
+ model: model,
158
+ onChangeModel: onModelChanged,
159
+ configuration: configuration,
160
+ onChangeConfiguration: onConfigurationChanged,
161
+ groups: {
162
+ Settings: panelSettings,
163
+ Properties: panelProperties
164
+ }
165
+ })
166
+ }, /*#__PURE__*/_react["default"].createElement("div", {
167
+ className: classes.regular
168
+ }, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
169
+ label: teacherInstructions.label,
170
+ className: classes.prompt
171
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
172
+ markup: model.teacherInstructions || '',
173
+ onChange: this.onTeacherInstructionsChanged,
174
+ imageSupport: imageSupport,
175
+ nonEmpty: false,
176
+ toolbarOpts: toolbarOpts,
177
+ spellCheck: spellCheckEnabled,
178
+ maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
179
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
180
+ uploadSoundSupport: uploadSoundSupport,
181
+ languageCharactersProps: [{
182
+ language: 'spanish'
183
+ }, {
184
+ language: 'special'
185
+ }]
186
+ })), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
187
+ label: "Item Stem",
188
+ className: classes.prompt
189
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
190
+ markup: model.prompt,
191
+ onChange: this.onPromptChanged,
192
+ toolbarOpts: toolbarOpts,
193
+ spellCheck: spellCheckEnabled,
194
+ imageSupport: imageSupport,
195
+ maxImageWidth: defaultImageMaxWidth,
196
+ maxImageHeight: defaultImageMaxHeight,
197
+ uploadSoundSupport: uploadSoundSupport,
198
+ languageCharactersProps: [{
199
+ language: 'spanish'
200
+ }, {
201
+ language: 'special'
202
+ }]
203
+ })), backgroundImageEnabled && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
204
+ className: classes.label,
205
+ variant: "subheading"
206
+ }, "Define Background Image"), /*#__PURE__*/_react["default"].createElement(_imageContainer["default"], {
207
+ imageUrl: model.imageUrl,
208
+ onUpdateImageDimension: this.onUpdateImageDimension,
209
+ onImageUpload: this.onImageUpload,
210
+ imageDimensions: model.imageDimensions
211
+ })))));
212
+ }
213
+ }]);
214
+ return Root;
215
+ }(_react["default"].Component);
216
+
217
+ exports.Root = Root;
218
+
219
+ var styles = function styles(theme) {
220
+ return {
221
+ base: {
222
+ marginTop: theme.spacing.unit * 3
223
+ },
224
+ label: {
225
+ marginTop: theme.spacing.unit * 4
226
+ },
227
+ prompt: {
228
+ paddingTop: theme.spacing.unit * 2,
229
+ width: '100%'
230
+ },
231
+ regular: {
232
+ marginBottom: theme.spacing.unit * 3
233
+ }
234
+ };
235
+ };
236
+
237
+ Root.propTypes = {
238
+ classes: _propTypes["default"].object.isRequired,
239
+ configuration: _propTypes["default"].object,
240
+ model: _propTypes["default"].object.isRequired,
241
+ imageSupport: _propTypes["default"].shape({
242
+ add: _propTypes["default"].func,
243
+ "delete": _propTypes["default"].func
244
+ }),
245
+ uploadSoundSupport: _propTypes["default"].shape({
246
+ add: _propTypes["default"].func,
247
+ "delete": _propTypes["default"].func
248
+ }),
249
+ onModelChanged: _propTypes["default"].func.isRequired,
250
+ onConfigurationChanged: _propTypes["default"].func.isRequired
251
+ };
252
+
253
+ var _default = (0, _styles.withStyles)(styles)(Root);
254
+
255
+ exports["default"] = _default;
256
+ //# sourceMappingURL=root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","Root","prompt","props","model","onModelChanged","update","teacherInstructions","dimensions","imageDimensions","imageUrl","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","backgroundImage","maxImageWidth","maxImageHeight","settingsPanelDisabled","spellCheck","withRubric","backgroundImageEnabled","promptEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","label","panelProperties","rubricEnabled","base","Settings","Properties","regular","onTeacherInstructionsChanged","language","onPromptChanged","onUpdateImageDimension","onImageUpload","React","Component","styles","theme","marginTop","spacing","unit","paddingTop","width","marginBottom","propTypes","PropTypes","object","isRequired","shape","add","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;AAEA,IAAQA,KAAR,GAA0BC,kBAA1B,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAA0BD,kBAA1B,CAAeC,MAAf;;IAEaC,I;;;;;;;;;;;;;;;wGACO,UAACC,MAAD,EAAY;AAC5B,wBAAkC,MAAKC,KAAvC;AAAA,UAAQC,KAAR,eAAQA,KAAR;AAAA,UAAeC,cAAf,eAAeA,cAAf;AACA,UAAMC,MAAM,GAAG,2BAAUF,KAAV,CAAf;AAEAC,MAAAA,cAAc,iCAAMC,MAAN;AAAcJ,QAAAA,MAAM,EAANA;AAAd,SAAd;AACD,K;qHAE8B,UAACK,mBAAD,EAAyB;AACtD,yBAAkC,MAAKJ,KAAvC;AAAA,UAAQC,KAAR,gBAAQA,KAAR;AAAA,UAAeC,cAAf,gBAAeA,cAAf;AAEAA,MAAAA,cAAc,iCAAMD,KAAN;AAAaG,QAAAA,mBAAmB,EAAnBA;AAAb,SAAd;AACD,K;+GAEwB,UAACC,UAAD,EAAgB;AACvC,yBAAkC,MAAKL,KAAvC;AAAA,UAAQC,KAAR,gBAAQA,KAAR;AAAA,UAAeC,cAAf,gBAAeA,cAAf;AAEAA,MAAAA,cAAc,iCAAMD,KAAN;AAAaK,QAAAA,eAAe,EAAED;AAA9B,SAAd;AACD,K;sGAEe,UAACE,QAAD,EAAc;AAC5B,yBAAkC,MAAKP,KAAvC;AAAA,UAAQC,KAAR,gBAAQA,KAAR;AAAA,UAAeC,cAAf,gBAAeA,cAAf;AAEAA,MAAAA,cAAc,iCAAMD,KAAN;AAAaM,QAAAA,QAAQ,EAARA;AAAb,SAAd;AACD,K;;;;;;WAED,kBAAS;AACP,yBACE,KAAKP,KADP;AAAA,UAAQQ,OAAR,gBAAQA,OAAR;AAAA,UAAiBC,aAAjB,gBAAiBA,aAAjB;AAAA,UAAgCC,YAAhC,gBAAgCA,YAAhC;AAAA,UAA8CT,KAA9C,gBAA8CA,KAA9C;AAAA,UAAqDU,sBAArD,gBAAqDA,sBAArD;AAAA,UAA6ET,cAA7E,gBAA6EA,cAA7E;AAAA,UAA6FU,kBAA7F,gBAA6FA,kBAA7F;;AAEA,iBASIH,aAAa,IAAI,EATrB;AAAA,sCACEI,eADF;AAAA,UACEA,eADF,qCACoB,EADpB;AAAA,oCAEEC,aAFF;AAAA,UAEEA,aAFF,mCAEkB,EAFlB;AAAA,qCAGEC,cAHF;AAAA,UAGEA,cAHF,oCAGmB,EAHnB;AAAA,6BAIEhB,MAJF;AAAA,UAIEA,MAJF,4BAIW,EAJX;AAAA,UAKEiB,qBALF,QAKEA,qBALF;AAAA,iCAMEC,UANF;AAAA,UAMEA,UANF,gCAMe,EANf;AAAA,uCAOEb,mBAPF;AAAA,UAOEA,mBAPF,sCAOwB,EAPxB;AAAA,iCAQEc,UARF;AAAA,UAQEA,UARF,gCAQe,EARf;;AAUA,kBAMIjB,KAAK,IAAI,EANb;AAAA,UACEkB,sBADF,SACEA,sBADF;AAAA,UAEEC,aAFF,SAEEA,aAFF;AAAA,UAGEC,iBAHF,SAGEA,iBAHF;AAAA,UAIEC,0BAJF,SAIEA,0BAJF;AAAA,UAKEC,qBALF,SAKEA,qBALF;;AAQA,UAAMC,oBAAoB,GAAGV,aAAa,IAAIA,aAAa,CAACf,MAA5D;AACA,UAAM0B,qBAAqB,GAAGV,cAAc,IAAIA,cAAc,CAAChB,MAA/D;AAEA,UAAM2B,WAAW,GAAG;AAClBC,QAAAA,QAAQ,EAAEJ,qBAAqB,KAAK,KAA1B,GAAkC,KAAlC,GAA0C;AADlC,OAApB;AAIA,UAAMK,aAAa,GAAG;AACpBT,QAAAA,sBAAsB,EAAEN,eAAe,CAACjB,QAAhB,IAA4BC,MAAM,CAACgB,eAAe,CAACgB,KAAjB,CADtC;AAEpBT,QAAAA,aAAa,EAAErB,MAAM,CAACH,QAAP,IAAmBC,MAAM,CAACE,MAAM,CAAC8B,KAAR;AAFpB,OAAtB;AAKA,UAAMC,eAAe,GAAG;AACtBR,QAAAA,0BAA0B,EAAElB,mBAAmB,CAACR,QAApB,IAAgCC,MAAM,CAACO,mBAAmB,CAACyB,KAArB,CAD5C;AAEtBR,QAAAA,iBAAiB,EAAEJ,UAAU,CAACrB,QAAX,IAAuBC,MAAM,CAACoB,UAAU,CAACY,KAAZ,CAF1B;AAGtBE,QAAAA,aAAa,EAAE,CAAAb,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEtB,QAAZ,KAAwBC,MAAM,CAACqB,UAAD,aAACA,UAAD,uBAACA,UAAU,CAAEW,KAAb;AAHvB,OAAxB;AAMA,0BACE;AAAK,QAAA,SAAS,EAAErB,OAAO,CAACwB;AAAxB,sBACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,YAAY,EAAEhB,qBADhB;AAEE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAEf,KADT;AAEE,UAAA,aAAa,EAAEC,cAFjB;AAGE,UAAA,aAAa,EAAEO,aAHjB;AAIE,UAAA,qBAAqB,EAAEE,sBAJzB;AAKE,UAAA,MAAM,EAAE;AACNsB,YAAAA,QAAQ,EAAEL,aADJ;AAENM,YAAAA,UAAU,EAAEJ;AAFN;AALV;AAHJ,sBAeE;AAAK,QAAA,SAAS,EAAEtB,OAAO,CAAC2B;AAAxB,SACGb,0BAA0B,iBACzB,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAElB,mBAAmB,CAACyB,KAA3C;AAAkD,QAAA,SAAS,EAAErB,OAAO,CAACT;AAArE,sBACE,gCAAC,wBAAD;AACE,QAAA,MAAM,EAAEE,KAAK,CAACG,mBAAN,IAA6B,EADvC;AAEE,QAAA,QAAQ,EAAE,KAAKgC,4BAFjB;AAGE,QAAA,YAAY,EAAE1B,YAHhB;AAIE,QAAA,QAAQ,EAAE,KAJZ;AAKE,QAAA,WAAW,EAAEgB,WALf;AAME,QAAA,UAAU,EAAEL,iBANd;AAOE,QAAA,aAAa,EAAGP,aAAa,IAAIA,aAAa,CAACV,mBAAhC,IAAwDoB,oBAPzE;AAQE,QAAA,cAAc,EAAGT,cAAc,IAAIA,cAAc,CAACX,mBAAlC,IAA0DqB,qBAR5E;AASE,QAAA,kBAAkB,EAAEb,kBATtB;AAUE,QAAA,uBAAuB,EAAE,CAAC;AAAEyB,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B;AAV3B,QADF,CAFJ,EAkBGjB,aAAa,iBACZ,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAC,WAAtB;AAAkC,QAAA,SAAS,EAAEZ,OAAO,CAACT;AAArD,sBACE,gCAAC,wBAAD;AACE,QAAA,MAAM,EAAEE,KAAK,CAACF,MADhB;AAEE,QAAA,QAAQ,EAAE,KAAKuC,eAFjB;AAGE,QAAA,WAAW,EAAEZ,WAHf;AAIE,QAAA,UAAU,EAAEL,iBAJd;AAKE,QAAA,YAAY,EAAEX,YALhB;AAME,QAAA,aAAa,EAAEc,oBANjB;AAOE,QAAA,cAAc,EAAEC,qBAPlB;AAQE,QAAA,kBAAkB,EAAEb,kBARtB;AASE,QAAA,uBAAuB,EAAE,CAAC;AAAEyB,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B;AAT3B,QADF,CAnBJ,EAkCGlB,sBAAsB,iBACrB,0DACE,gCAAC,sBAAD;AAAY,QAAA,SAAS,EAAEX,OAAO,CAACqB,KAA/B;AAAsC,QAAA,OAAO,EAAC;AAA9C,mCADF,eAKE,gCAAC,0BAAD;AACE,QAAA,QAAQ,EAAE5B,KAAK,CAACM,QADlB;AAEE,QAAA,sBAAsB,EAAE,KAAKgC,sBAF/B;AAGE,QAAA,aAAa,EAAE,KAAKC,aAHtB;AAIE,QAAA,eAAe,EAAEvC,KAAK,CAACK;AAJzB,QALF,CAnCJ,CAfF,CADF,CADF;AAqED;;;EAtIuBmC,kBAAMC,S;;;;AAyIhC,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBZ,IAAAA,IAAI,EAAE;AACJa,MAAAA,SAAS,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAD5B,KADmB;AAIzBlB,IAAAA,KAAK,EAAE;AACLgB,MAAAA,SAAS,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAD3B,KAJkB;AAOzBhD,IAAAA,MAAM,EAAE;AACNiD,MAAAA,UAAU,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAD3B;AAENE,MAAAA,KAAK,EAAE;AAFD,KAPiB;AAWzBd,IAAAA,OAAO,EAAE;AACPe,MAAAA,YAAY,EAAEN,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAD5B;AAXgB,GAAZ;AAAA,CAAf;;AAgBAjD,IAAI,CAACqD,SAAL,GAAiB;AACf3C,EAAAA,OAAO,EAAE4C,sBAAUC,MAAV,CAAiBC,UADX;AAEf7C,EAAAA,aAAa,EAAE2C,sBAAUC,MAFV;AAGfpD,EAAAA,KAAK,EAAEmD,sBAAUC,MAAV,CAAiBC,UAHT;AAIf5C,EAAAA,YAAY,EAAE0C,sBAAUG,KAAV,CAAgB;AAC5BC,IAAAA,GAAG,EAAEJ,sBAAUK,IADa;AAE5B,cAAQL,sBAAUK;AAFU,GAAhB,CAJC;AAQf7C,EAAAA,kBAAkB,EAAEwC,sBAAUG,KAAV,CAAgB;AAClCC,IAAAA,GAAG,EAAEJ,sBAAUK,IADmB;AAElC,cAAQL,sBAAUK;AAFgB,GAAhB,CARL;AAYfvD,EAAAA,cAAc,EAAEkD,sBAAUK,IAAV,CAAeH,UAZhB;AAaf3C,EAAAA,sBAAsB,EAAEyC,sBAAUK,IAAV,CAAeH;AAbxB,CAAjB;;eAgBe,wBAAWX,MAAX,EAAmB7C,IAAnB,C","sourcesContent":["import React from 'react';\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport ImageContainer from './image-container';\nimport cloneDeep from 'lodash/cloneDeep';\n\nconst { Panel, toggle } = settings;\n\nexport class Root extends React.Component {\n onPromptChanged = (prompt) => {\n const { model, onModelChanged } = this.props;\n const update = cloneDeep(model);\n\n onModelChanged({ ...update, prompt });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({ ...model, teacherInstructions });\n };\n\n onUpdateImageDimension = (dimensions) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({ ...model, imageDimensions: dimensions });\n };\n\n onImageUpload = (imageUrl) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({ ...model, imageUrl });\n };\n\n render() {\n const { classes, configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n backgroundImage = {},\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n withRubric = {},\n } = configuration || {};\n const {\n backgroundImageEnabled,\n promptEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n 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 backgroundImageEnabled: backgroundImage.settings && toggle(backgroundImage.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <div className={classes.base}>\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n <div className={classes.regular}>\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.prompt}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\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=\"Item Stem\" className={classes.prompt}>\n <EditableHtml\n markup={model.prompt}\n onChange={this.onPromptChanged}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {backgroundImageEnabled && (\n <div>\n <Typography className={classes.label} variant=\"subheading\">\n Define Background Image\n </Typography>\n\n <ImageContainer\n imageUrl={model.imageUrl}\n onUpdateImageDimension={this.onUpdateImageDimension}\n onImageUpload={this.onImageUpload}\n imageDimensions={model.imageDimensions}\n />\n </div>\n )}\n </div>\n </layout.ConfigLayout>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n base: {\n marginTop: theme.spacing.unit * 3,\n },\n label: {\n marginTop: theme.spacing.unit * 4,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n regular: {\n marginBottom: theme.spacing.unit * 3,\n },\n});\n\nRoot.propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}