@pie-element/math-inline 6.5.1-beta.3 → 6.5.1-beta.4

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,131 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _reactDom = _interopRequireDefault(require("react-dom"));
17
+ var _configure = _interopRequireDefault(require("./configure"));
18
+ var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
19
+ var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
20
+ var _debug = _interopRequireDefault(require("debug"));
21
+ var _defaults = _interopRequireDefault(require("./defaults"));
22
+ 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; }
23
+ 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; }
24
+ 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); }; }
25
+ 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; } }
26
+ var log = (0, _debug["default"])('pie-elements:math-inline:configure');
27
+ var MathInlineConfigure = /*#__PURE__*/function (_HTMLElement) {
28
+ (0, _inherits2["default"])(MathInlineConfigure, _HTMLElement);
29
+ var _super = _createSuper(MathInlineConfigure);
30
+ function MathInlineConfigure() {
31
+ var _this;
32
+ (0, _classCallCheck2["default"])(this, MathInlineConfigure);
33
+ _this = _super.call(this);
34
+ _this._model = MathInlineConfigure.createDefaultModel();
35
+ _this._configuration = _defaults["default"].configuration;
36
+ return _this;
37
+ }
38
+ (0, _createClass2["default"])(MathInlineConfigure, [{
39
+ key: "model",
40
+ set: function set(m) {
41
+ this._model = MathInlineConfigure.createDefaultModel(m);
42
+ this._render();
43
+ }
44
+ }, {
45
+ key: "configuration",
46
+ set: function set(c) {
47
+ this._configuration = c;
48
+ this._render();
49
+ }
50
+ }, {
51
+ key: "onModelChanged",
52
+ value: function onModelChanged(model) {
53
+ this._model = model;
54
+ log('[onModelChanged]: ', this._model);
55
+ this._render();
56
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
57
+ }
58
+ }, {
59
+ key: "onConfigurationChanged",
60
+ value: function onConfigurationChanged(c) {
61
+ this._configuration = c;
62
+ if (this._model) {
63
+ this.onModelChanged(this._model);
64
+ }
65
+ this._render();
66
+ }
67
+
68
+ /**
69
+ *
70
+ * @param {done, progress, file} handler
71
+ */
72
+ }, {
73
+ key: "insertImage",
74
+ value: function insertImage(handler) {
75
+ this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
76
+ }
77
+ }, {
78
+ key: "onDeleteImage",
79
+ value: function onDeleteImage(src, done) {
80
+ this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
81
+ }
82
+ }, {
83
+ key: "insertSound",
84
+ value: function insertSound(handler) {
85
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
86
+ }
87
+ }, {
88
+ key: "onDeleteSound",
89
+ value: function onDeleteSound(src, done) {
90
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
91
+ }
92
+ }, {
93
+ key: "_render",
94
+ value: function _render() {
95
+ if (this._model) {
96
+ var el = /*#__PURE__*/_react["default"].createElement(_configure["default"], {
97
+ onModelChanged: this.onModelChanged.bind(this),
98
+ onConfigurationChanged: this.onConfigurationChanged.bind(this),
99
+ model: this._model,
100
+ configuration: this._configuration,
101
+ imageSupport: {
102
+ add: this.insertImage.bind(this),
103
+ "delete": this.onDeleteImage.bind(this)
104
+ },
105
+ uploadSoundSupport: {
106
+ add: this.insertSound.bind(this),
107
+ "delete": this.onDeleteSound.bind(this)
108
+ }
109
+ });
110
+ _reactDom["default"].render(el, this);
111
+ }
112
+ }
113
+ }]);
114
+ return MathInlineConfigure;
115
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
116
+ exports["default"] = MathInlineConfigure;
117
+ (0, _defineProperty2["default"])(MathInlineConfigure, "createDefaultModel", function () {
118
+ var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
119
+ // making sure that defaults are set
120
+ if (!(0, _isEmpty["default"])(model.responses)) {
121
+ model.responses = model.responses.map(function (correctResponse) {
122
+ return _objectSpread(_objectSpread({}, correctResponse), {}, {
123
+ validation: correctResponse.validation || _defaults["default"].model.validationDefault,
124
+ allowTrailingZeros: correctResponse.allowTrailingZeros || _defaults["default"].model.allowTrailingZerosDefault,
125
+ ignoreOrder: correctResponse.ignoreOrder || _defaults["default"].model.ignoreOrderDefault || false
126
+ });
127
+ });
128
+ }
129
+ return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
130
+ });
131
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_reactDom","_configure","_isEmpty","_pieConfigureEvents","_debug","_defaults","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","MathInlineConfigure","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_model","createDefaultModel","_configuration","defaults","configuration","_createClass2","set","m","_render","c","value","onModelChanged","model","dispatchEvent","ModelUpdatedEvent","onConfigurationChanged","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","bind","imageSupport","add","uploadSoundSupport","ReactDOM","render","_wrapNativeSuper2","HTMLElement","exports","undefined","isEmpty","responses","map","correctResponse","validation","validationDefault","allowTrailingZeros","allowTrailingZerosDefault","ignoreOrder","ignoreOrderDefault"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\n\nimport defaults from './defaults';\n\nconst log = debug('pie-elements:math-inline:configure');\n\nexport default class MathInlineConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n // making sure that defaults are set\n if (!isEmpty(model.responses)) {\n model.responses = model.responses.map((correctResponse) => ({\n ...correctResponse,\n validation: correctResponse.validation || defaults.model.validationDefault,\n allowTrailingZeros: correctResponse.allowTrailingZeros || defaults.model.allowTrailingZerosDefault,\n ignoreOrder: correctResponse.ignoreOrder || defaults.model.ignoreOrderDefault || false,\n }));\n }\n\n return { ...defaults.model, ...model };\n };\n\n constructor() {\n super();\n this._model = MathInlineConfigure.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = MathInlineConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this._render();\n }\n\n onModelChanged(model) {\n this._model = model;\n log('[onModelChanged]: ', this._model);\n this._render();\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n if (this._model) {\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 if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\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(el, this);\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,389 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var React = _interopRequireWildcard(require("react"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _configUi = require("@pie-lib/config-ui");
19
+ var _mathToolbar = require("@pie-lib/math-toolbar");
20
+ var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
21
+ var _CardContent = _interopRequireDefault(require("@material-ui/core/CardContent"));
22
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
23
+ var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
24
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
25
+ var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
26
+ var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
27
+ var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
28
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
29
+ var _styles = require("@material-ui/core/styles");
30
+ var _classnames = _interopRequireDefault(require("classnames"));
31
+ 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); }
32
+ 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; }
33
+ 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; }
34
+ 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; }
35
+ 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); }; }
36
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
+ // TODO once we support individual response correctness, we need to remove this constant
38
+ var INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;
39
+ var styles = function styles(theme) {
40
+ return {
41
+ responseContainer: {
42
+ marginTop: theme.spacing.unit * 2,
43
+ width: '100%',
44
+ border: '1px solid darkgray',
45
+ display: 'flex',
46
+ flexDirection: 'column',
47
+ justifyContent: 'space-between'
48
+ },
49
+ cardContent: {
50
+ paddingBottom: "".concat(theme.spacing.unit, "px !important")
51
+ },
52
+ title: {
53
+ fontWeight: 700,
54
+ fontSize: '1.2rem',
55
+ flex: 3
56
+ },
57
+ selectContainer: {
58
+ flex: 2
59
+ },
60
+ inputContainer: {
61
+ marginTop: theme.spacing.unit
62
+ },
63
+ titleBar: {
64
+ display: 'flex',
65
+ alignItems: 'center',
66
+ justifyContent: 'space-between'
67
+ },
68
+ responseEditor: {
69
+ display: 'flex',
70
+ alignItems: 'center',
71
+ justifyContent: 'center',
72
+ width: '100%',
73
+ minWidth: '500px',
74
+ maxWidth: '900px',
75
+ height: 'auto',
76
+ minHeight: '40px'
77
+ },
78
+ mathToolbar: {
79
+ width: '100%'
80
+ },
81
+ configPanel: {
82
+ display: 'flex',
83
+ justifyContent: 'space-between',
84
+ alignItems: 'center'
85
+ },
86
+ alternateButton: {
87
+ border: '1px solid lightgrey'
88
+ },
89
+ removeAlternateButton: {
90
+ marginLeft: theme.spacing.unit * 2,
91
+ border: '1px solid lightgrey',
92
+ color: 'gray',
93
+ fontSize: '0.8rem'
94
+ },
95
+ checkboxContainer: {
96
+ marginTop: theme.spacing.unit * 2,
97
+ display: 'flex',
98
+ flexDirection: 'column',
99
+ alignItems: 'center'
100
+ },
101
+ configLabel: {
102
+ marginRight: 'auto'
103
+ },
104
+ errorText: {
105
+ fontSize: '12px',
106
+ color: 'red',
107
+ padding: '5px 0'
108
+ }
109
+ };
110
+ };
111
+ var Response = /*#__PURE__*/function (_React$Component) {
112
+ (0, _inherits2["default"])(Response, _React$Component);
113
+ var _super = _createSuper(Response);
114
+ function Response(props) {
115
+ var _this;
116
+ (0, _classCallCheck2["default"])(this, Response);
117
+ _this = _super.call(this, props);
118
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (name) {
119
+ return function (evt) {
120
+ var _this$props = _this.props,
121
+ response = _this$props.response,
122
+ onResponseChange = _this$props.onResponseChange,
123
+ index = _this$props.index;
124
+ var newResponse = _objectSpread({}, response);
125
+ newResponse[name] = evt.target.value;
126
+ onResponseChange(newResponse, index);
127
+ };
128
+ });
129
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChanged", function (name) {
130
+ return function (evt) {
131
+ var _this$props2 = _this.props,
132
+ response = _this$props2.response,
133
+ onResponseChange = _this$props2.onResponseChange,
134
+ index = _this$props2.index;
135
+ var newResponse = _objectSpread({}, response);
136
+ newResponse[name] = evt.target.checked;
137
+ onResponseChange(newResponse, index);
138
+ };
139
+ });
140
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLiteralOptionsChange", function (name) {
141
+ return function (evt) {
142
+ var _this$props3 = _this.props,
143
+ response = _this$props3.response,
144
+ onResponseChange = _this$props3.onResponseChange,
145
+ index = _this$props3.index;
146
+ var newResponse = _objectSpread({}, response);
147
+ newResponse[name] = !response[name];
148
+ onResponseChange(newResponse, index);
149
+ };
150
+ });
151
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAnswerChange", function (answer) {
152
+ var _this$props4 = _this.props,
153
+ response = _this$props4.response,
154
+ onResponseChange = _this$props4.onResponseChange,
155
+ index = _this$props4.index;
156
+ var newResponse = _objectSpread({}, response);
157
+ newResponse.answer = answer;
158
+ onResponseChange(newResponse, index);
159
+ });
160
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateAnswerChange", function (alternateId) {
161
+ return function (answer) {
162
+ var _this$props5 = _this.props,
163
+ response = _this$props5.response,
164
+ onResponseChange = _this$props5.onResponseChange,
165
+ index = _this$props5.index;
166
+ var newResponse = _objectSpread({}, response);
167
+ newResponse.alternates[alternateId] = answer;
168
+ onResponseChange(newResponse, index);
169
+ };
170
+ });
171
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAddAlternate", function () {
172
+ var _this$props6 = _this.props,
173
+ response = _this$props6.response,
174
+ onResponseChange = _this$props6.onResponseChange,
175
+ index = _this$props6.index;
176
+ var alternateIdCounter = _this.state.alternateIdCounter;
177
+ var newResponse = _objectSpread({}, response);
178
+ if (!newResponse.alternates) {
179
+ newResponse.alternates = {};
180
+ }
181
+ newResponse.alternates[alternateIdCounter] = '';
182
+ onResponseChange(newResponse, index);
183
+ _this.setState({
184
+ alternateIdCounter: alternateIdCounter + 1
185
+ });
186
+ });
187
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRemoveAlternate", function (alternateId) {
188
+ return function () {
189
+ var _this$props7 = _this.props,
190
+ response = _this$props7.response,
191
+ onResponseChange = _this$props7.onResponseChange,
192
+ index = _this$props7.index;
193
+ var newResponse = _objectSpread({}, response);
194
+ delete newResponse.alternates[alternateId];
195
+ onResponseChange(newResponse, index);
196
+ _this.setState(function (state) {
197
+ return {
198
+ showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
199
+ openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1
200
+ })
201
+ };
202
+ });
203
+ };
204
+ });
205
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
206
+ _this.setState(function (state) {
207
+ return {
208
+ showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
209
+ openCount: state.showKeypad.openCount - 1,
210
+ main: false
211
+ })
212
+ };
213
+ });
214
+ });
215
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function () {
216
+ _this.setState(function (state) {
217
+ return {
218
+ showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
219
+ openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,
220
+ main: true
221
+ })
222
+ };
223
+ });
224
+ });
225
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateFocus", function (alternateId) {
226
+ return function () {
227
+ _this.setState(function (state) {
228
+ return {
229
+ showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, (0, _defineProperty2["default"])({
230
+ openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount
231
+ }, alternateId, true))
232
+ };
233
+ });
234
+ };
235
+ });
236
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateDone", function (alternateId) {
237
+ return function () {
238
+ _this.setState(function (state) {
239
+ return {
240
+ showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, (0, _defineProperty2["default"])({
241
+ openCount: state.showKeypad.openCount - 1
242
+ }, alternateId, false))
243
+ };
244
+ });
245
+ };
246
+ });
247
+ var _ref = props || {},
248
+ _ref$response = _ref.response,
249
+ _ref$response2 = _ref$response === void 0 ? {} : _ref$response,
250
+ alternates = _ref$response2.alternates;
251
+ var alternatesLength = Object.keys(alternates || {}).length;
252
+ _this.state = {
253
+ alternateIdCounter: alternatesLength + 1,
254
+ showKeypad: {
255
+ openCount: 0,
256
+ main: false
257
+ }
258
+ };
259
+ return _this;
260
+ }
261
+ (0, _createClass2["default"])(Response, [{
262
+ key: "render",
263
+ value: function render() {
264
+ var _this2 = this;
265
+ var _this$props8 = this.props,
266
+ classes = _this$props8.classes,
267
+ mode = _this$props8.mode,
268
+ defaultResponse = _this$props8.defaultResponse,
269
+ index = _this$props8.index,
270
+ response = _this$props8.response,
271
+ cAllowTrailingZeros = _this$props8.cAllowTrailingZeros,
272
+ cIgnoreOrder = _this$props8.cIgnoreOrder,
273
+ error = _this$props8.error;
274
+ var showKeypad = this.state.showKeypad;
275
+ var validation = response.validation,
276
+ answer = response.answer,
277
+ alternates = response.alternates,
278
+ ignoreOrder = response.ignoreOrder,
279
+ allowTrailingZeros = response.allowTrailingZeros;
280
+ var hasAlternates = Object.keys(alternates || {}).length > 0;
281
+ var classNames = {
282
+ editor: classes.responseEditor,
283
+ mathToolbar: classes.mathToolbar
284
+ };
285
+ var styles = {
286
+ minHeight: "".concat(showKeypad.openCount > 0 ? 430 : 230, "px")
287
+ };
288
+ return /*#__PURE__*/React.createElement(_Card["default"], {
289
+ className: classes.responseContainer,
290
+ style: styles
291
+ }, /*#__PURE__*/React.createElement(_CardContent["default"], {
292
+ className: classes.cardContent
293
+ }, /*#__PURE__*/React.createElement("div", {
294
+ className: classes.titleBar
295
+ }, /*#__PURE__*/React.createElement(_Typography["default"], {
296
+ className: classes.title,
297
+ component: "h2"
298
+ }, "Response ", INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? defaultResponse ? '' : index + 1 : ''), /*#__PURE__*/React.createElement(_configUi.InputContainer, {
299
+ label: "Validation",
300
+ className: classes.selectContainer
301
+ }, /*#__PURE__*/React.createElement(_Select["default"], {
302
+ className: classes.select,
303
+ onChange: this.onChange('validation'),
304
+ value: validation || 'literal'
305
+ }, /*#__PURE__*/React.createElement(_MenuItem["default"], {
306
+ value: "literal"
307
+ }, "Literal Validation"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
308
+ value: "symbolic"
309
+ }, "Symbolic Validation")))), validation === 'literal' && /*#__PURE__*/React.createElement("div", {
310
+ className: classes.flexContainer
311
+ }, cAllowTrailingZeros.enabled && /*#__PURE__*/React.createElement(_FormControlLabel["default"], {
312
+ label: cAllowTrailingZeros.label,
313
+ control: /*#__PURE__*/React.createElement(_Checkbox["default"], {
314
+ checked: allowTrailingZeros,
315
+ onChange: this.onLiteralOptionsChange('allowTrailingZeros')
316
+ })
317
+ }), cIgnoreOrder.enabled && /*#__PURE__*/React.createElement(_FormControlLabel["default"], {
318
+ label: cIgnoreOrder.label,
319
+ control: /*#__PURE__*/React.createElement(_Checkbox["default"], {
320
+ checked: ignoreOrder,
321
+ onChange: this.onLiteralOptionsChange('ignoreOrder')
322
+ })
323
+ })), /*#__PURE__*/React.createElement("div", {
324
+ className: classes.inputContainer
325
+ }, /*#__PURE__*/React.createElement(_InputLabel["default"], null, "Correct Answer"), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
326
+ keypadMode: mode,
327
+ classNames: classNames,
328
+ controlledKeypad: true,
329
+ showKeypad: showKeypad.main,
330
+ latex: answer || '',
331
+ onChange: this.onAnswerChange,
332
+ onFocus: this.onFocus,
333
+ onDone: this.onDone,
334
+ error: error && error.answer
335
+ }), error && error.answer ? /*#__PURE__*/React.createElement("div", {
336
+ className: classes.errorText
337
+ }, error.answer) : null), hasAlternates && Object.keys(alternates).map(function (alternateId, altIdx) {
338
+ return /*#__PURE__*/React.createElement("div", {
339
+ className: classes.inputContainer,
340
+ key: alternateId
341
+ }, /*#__PURE__*/React.createElement("div", {
342
+ className: classes.alternateBar
343
+ }, /*#__PURE__*/React.createElement(_InputLabel["default"], null, "Alternate", Object.keys(alternates).length > 1 ? " ".concat(altIdx + 1) : ''), /*#__PURE__*/React.createElement(_Button["default"], {
344
+ className: classes.removeAlternateButton,
345
+ type: "secondary",
346
+ onClick: _this2.onRemoveAlternate(alternateId)
347
+ }, "Remove")), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
348
+ classNames: classNames,
349
+ controlledKeypad: true,
350
+ keypadMode: mode,
351
+ showKeypad: showKeypad[alternateId] || false,
352
+ latex: alternates[alternateId] || '',
353
+ onChange: _this2.onAlternateAnswerChange(alternateId),
354
+ onFocus: _this2.onAlternateFocus(alternateId),
355
+ onDone: _this2.onAlternateDone(alternateId),
356
+ error: error && error[alternateId]
357
+ }), error && error[alternateId] ? /*#__PURE__*/React.createElement("div", {
358
+ className: classes.errorText
359
+ }, error[alternateId]) : null);
360
+ }), /*#__PURE__*/React.createElement("div", {
361
+ className: classes.configPanel
362
+ }, /*#__PURE__*/React.createElement(_Button["default"], {
363
+ className: classes.alternateButton,
364
+ type: "primary",
365
+ onClick: this.onAddAlternate
366
+ }, "ADD ALTERNATE"), /*#__PURE__*/React.createElement("div", {
367
+ className: classes.checkboxContainer
368
+ }))));
369
+ }
370
+ }]);
371
+ return Response;
372
+ }(React.Component);
373
+ (0, _defineProperty2["default"])(Response, "propTypes", {
374
+ classes: _propTypes["default"].object.isRequired,
375
+ defaultResponse: _propTypes["default"].bool,
376
+ mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
377
+ index: _propTypes["default"].number,
378
+ onResponseChange: _propTypes["default"].func.isRequired,
379
+ response: _propTypes["default"].object.isRequired,
380
+ cIgnoreOrder: _propTypes["default"].object.isRequired,
381
+ cAllowTrailingZeros: _propTypes["default"].object.isRequired
382
+ });
383
+ (0, _defineProperty2["default"])(Response, "defaultProps", {
384
+ defaultResponse: false,
385
+ mode: 'miscellaneous'
386
+ });
387
+ var _default = (0, _styles.withStyles)(styles)(Response);
388
+ exports["default"] = _default;
389
+ //# sourceMappingURL=response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_configUi","_mathToolbar","_Card","_CardContent","_Button","_FormControlLabel","_Typography","_InputLabel","_Checkbox","_Select","_MenuItem","_styles","_classnames","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED","styles","theme","responseContainer","marginTop","spacing","unit","width","border","display","flexDirection","justifyContent","cardContent","paddingBottom","concat","title","fontWeight","fontSize","flex","selectContainer","inputContainer","titleBar","alignItems","responseEditor","minWidth","maxWidth","height","minHeight","mathToolbar","configPanel","alternateButton","removeAlternateButton","marginLeft","color","checkboxContainer","configLabel","marginRight","errorText","padding","Response","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","name","evt","_this$props","response","onResponseChange","index","newResponse","value","_this$props2","checked","_this$props3","answer","_this$props4","alternateId","_this$props5","alternates","_this$props6","alternateIdCounter","state","setState","_this$props7","showKeypad","openCount","main","_ref","_ref$response","_ref$response2","alternatesLength","_createClass2","render","_this2","_this$props8","classes","mode","defaultResponse","cAllowTrailingZeros","cIgnoreOrder","error","validation","ignoreOrder","allowTrailingZeros","hasAlternates","classNames","editor","createElement","className","style","component","InputContainer","label","select","onChange","flexContainer","enabled","control","onLiteralOptionsChange","MathToolbar","keypadMode","controlledKeypad","latex","onAnswerChange","onFocus","onDone","map","altIdx","alternateBar","type","onClick","onRemoveAlternate","onAlternateAnswerChange","onAlternateFocus","onAlternateDone","onAddAlternate","Component","PropTypes","isRequired","bool","oneOfType","string","number","func","_default","withStyles","exports"],"sources":["../src/response.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Button from '@material-ui/core/Button';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Typography from '@material-ui/core/Typography';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\nimport cx from 'classnames';\n\n// TODO once we support individual response correctness, we need to remove this constant\nconst INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;\n\nconst styles = (theme) => ({\n responseContainer: {\n marginTop: theme.spacing.unit * 2,\n width: '100%',\n border: '1px solid darkgray',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n },\n cardContent: {\n paddingBottom: `${theme.spacing.unit}px !important`,\n },\n title: {\n fontWeight: 700,\n fontSize: '1.2rem',\n flex: 3,\n },\n selectContainer: {\n flex: 2,\n },\n inputContainer: {\n marginTop: theme.spacing.unit,\n },\n titleBar: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n responseEditor: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n minWidth: '500px',\n maxWidth: '900px',\n height: 'auto',\n minHeight: '40px',\n },\n mathToolbar: {\n width: '100%',\n },\n configPanel: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n alternateButton: {\n border: '1px solid lightgrey',\n },\n removeAlternateButton: {\n marginLeft: theme.spacing.unit * 2,\n border: '1px solid lightgrey',\n color: 'gray',\n fontSize: '0.8rem',\n },\n checkboxContainer: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n configLabel: {\n marginRight: 'auto',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0',\n },\n});\n\nclass Response extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n defaultResponse: PropTypes.bool,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n index: PropTypes.number,\n onResponseChange: PropTypes.func.isRequired,\n response: PropTypes.object.isRequired,\n cIgnoreOrder: PropTypes.object.isRequired,\n cAllowTrailingZeros: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n defaultResponse: false,\n mode: 'miscellaneous',\n };\n\n constructor(props) {\n super(props);\n\n const { response: { alternates } = {} } = props || {};\n const alternatesLength = Object.keys(alternates || {}).length;\n\n this.state = {\n alternateIdCounter: alternatesLength + 1,\n showKeypad: {\n openCount: 0,\n main: false,\n },\n };\n }\n\n onChange = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.value;\n\n onResponseChange(newResponse, index);\n };\n\n onConfigChanged = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.checked;\n\n onResponseChange(newResponse, index);\n };\n\n onLiteralOptionsChange = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = !response[name];\n\n onResponseChange(newResponse, index);\n };\n\n onAnswerChange = (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.answer = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAlternateAnswerChange = (alternateId) => (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.alternates[alternateId] = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAddAlternate = () => {\n const { response, onResponseChange, index } = this.props;\n const { alternateIdCounter } = this.state;\n const newResponse = { ...response };\n\n if (!newResponse.alternates) {\n newResponse.alternates = {};\n }\n\n newResponse.alternates[alternateIdCounter] = '';\n\n onResponseChange(newResponse, index);\n\n this.setState({\n alternateIdCounter: alternateIdCounter + 1,\n });\n };\n\n onRemoveAlternate = (alternateId) => () => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n delete newResponse.alternates[alternateId];\n\n onResponseChange(newResponse, index);\n\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1,\n },\n }));\n };\n\n onDone = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n main: false,\n },\n }));\n };\n\n onFocus = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n main: true,\n },\n }));\n };\n\n onAlternateFocus = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n [alternateId]: true,\n },\n }));\n };\n\n onAlternateDone = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n [alternateId]: false,\n },\n }));\n };\n\n render() {\n const { classes, mode, defaultResponse, index, response, cAllowTrailingZeros, cIgnoreOrder, error } = this.props;\n\n const { showKeypad } = this.state;\n const { validation, answer, alternates, ignoreOrder, allowTrailingZeros } = response;\n const hasAlternates = Object.keys(alternates || {}).length > 0;\n const classNames = {\n editor: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n const styles = {\n minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`,\n };\n\n return (\n <Card className={classes.responseContainer} style={styles}>\n <CardContent className={classes.cardContent}>\n <div className={classes.titleBar}>\n <Typography className={classes.title} component=\"h2\">\n Response {INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? (defaultResponse ? '' : index + 1) : ''}\n </Typography>\n <InputContainer label=\"Validation\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('validation')} value={validation || 'literal'}>\n <MenuItem value=\"literal\">Literal Validation</MenuItem>\n <MenuItem value=\"symbolic\">Symbolic Validation</MenuItem>\n </Select>\n </InputContainer>\n </div>\n {validation === 'literal' && (\n <div className={classes.flexContainer}>\n {cAllowTrailingZeros.enabled && (\n <FormControlLabel\n label={cAllowTrailingZeros.label}\n control={\n <Checkbox\n checked={allowTrailingZeros}\n onChange={this.onLiteralOptionsChange('allowTrailingZeros')}\n />\n }\n />\n )}\n\n {cIgnoreOrder.enabled && (\n <FormControlLabel\n label={cIgnoreOrder.label}\n control={<Checkbox checked={ignoreOrder} onChange={this.onLiteralOptionsChange('ignoreOrder')} />}\n />\n )}\n </div>\n )}\n <div className={classes.inputContainer}>\n <InputLabel>Correct Answer</InputLabel>\n <MathToolbar\n keypadMode={mode}\n classNames={classNames}\n controlledKeypad\n showKeypad={showKeypad.main}\n latex={answer || ''}\n onChange={this.onAnswerChange}\n onFocus={this.onFocus}\n onDone={this.onDone}\n error={error && error.answer}\n />\n {error && error.answer ? <div className={classes.errorText}>{error.answer}</div> : null}\n </div>\n {hasAlternates &&\n Object.keys(alternates).map((alternateId, altIdx) => (\n <div className={classes.inputContainer} key={alternateId}>\n <div className={classes.alternateBar}>\n <InputLabel>\n Alternate\n {Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''}\n </InputLabel>\n <Button\n className={classes.removeAlternateButton}\n type=\"secondary\"\n onClick={this.onRemoveAlternate(alternateId)}\n >\n Remove\n </Button>\n </div>\n <MathToolbar\n classNames={classNames}\n controlledKeypad\n keypadMode={mode}\n showKeypad={showKeypad[alternateId] || false}\n latex={alternates[alternateId] || ''}\n onChange={this.onAlternateAnswerChange(alternateId)}\n onFocus={this.onAlternateFocus(alternateId)}\n onDone={this.onAlternateDone(alternateId)}\n error={error && error[alternateId]}\n />\n {error && error[alternateId] ? <div className={classes.errorText}>{error[alternateId]}</div> : null}\n </div>\n ))}\n <div className={classes.configPanel}>\n <Button className={classes.alternateButton} type=\"primary\" onClick={this.onAddAlternate}>\n ADD ALTERNATE\n </Button>\n <div className={classes.checkboxContainer}></div>\n </div>\n </CardContent>\n </Card>\n );\n }\n}\n\nexport default withStyles(styles)(Response);\n"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateValidationMessage = exports.ResponseTypes = void 0;
7
+ var ResponseTypes = {
8
+ advanced: 'Advanced Multi',
9
+ simple: 'Simple'
10
+ };
11
+ exports.ResponseTypes = ResponseTypes;
12
+ var generateValidationMessage = function generateValidationMessage() {
13
+ var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
+ var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
15
+ var maxResponseAreas = config.maxResponseAreas;
16
+ var responseType = model.responseType;
17
+ var responseAreasMessage = '';
18
+ var answersMessage = '\nAll correct answers (the primary and any alternates) should not be empty and should be unique.';
19
+ if (responseType === 'Advanced Multi') {
20
+ responseAreasMessage = '\nThere should be at least 1 ' + (maxResponseAreas ? "and at most ".concat(maxResponseAreas, " ") : '') + 'response area' + (maxResponseAreas ? 's' : '') + ' defined.';
21
+ }
22
+ return 'Validation requirements:' + answersMessage + responseAreasMessage;
23
+ };
24
+ exports.generateValidationMessage = generateValidationMessage;
25
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["ResponseTypes","advanced","simple","exports","generateValidationMessage","model","arguments","length","undefined","config","maxResponseAreas","responseType","responseAreasMessage","answersMessage","concat"],"sources":["../src/utils.js"],"sourcesContent":["export const ResponseTypes = {\n advanced: 'Advanced Multi',\n simple: 'Simple',\n};\n\nexport const generateValidationMessage = (model = {}, config = {}) => {\n const { maxResponseAreas } = config;\n const { responseType } = model;\n let responseAreasMessage = '';\n\n const answersMessage =\n '\\nAll correct answers (the primary and any alternates) should not be empty and should be unique.';\n\n if (responseType === 'Advanced Multi') {\n responseAreasMessage =\n '\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' +\n (maxResponseAreas ? 's' : '') +\n ' defined.';\n }\n\n return 'Validation requirements:' + answersMessage + responseAreasMessage;\n};\n"],"mappings":";;;;;;AAAO,IAAMA,aAAa,GAAG;EAC3BC,QAAQ,EAAE,gBAAgB;EAC1BC,MAAM,EAAE;AACV,CAAC;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAEK,IAAMI,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA,EAAgC;EAAA,IAA5BC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,MAAM,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC/D,IAAQI,gBAAgB,GAAKD,MAAM,CAA3BC,gBAAgB;EACxB,IAAQC,YAAY,GAAKN,KAAK,CAAtBM,YAAY;EACpB,IAAIC,oBAAoB,GAAG,EAAE;EAE7B,IAAMC,cAAc,GAClB,kGAAkG;EAEpG,IAAIF,YAAY,KAAK,gBAAgB,EAAE;IACrCC,oBAAoB,GAClB,+BAA+B,IAC9BF,gBAAgB,kBAAAI,MAAA,CAAkBJ,gBAAgB,SAAM,EAAE,CAAC,GAC5D,eAAe,IACdA,gBAAgB,GAAG,GAAG,GAAG,EAAE,CAAC,GAC7B,WAAW;EACf;EAEA,OAAO,0BAA0B,GAAGG,cAAc,GAAGD,oBAAoB;AAC3E,CAAC;AAACT,OAAA,CAAAC,yBAAA,GAAAA,yBAAA"}