@pie-lib/config-ui 10.10.4-next.45 → 10.10.4-next.450

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/CHANGELOG.md +256 -0
  2. package/lib/alert-dialog.js +44 -0
  3. package/lib/alert-dialog.js.map +1 -0
  4. package/lib/checkbox.js +4 -4
  5. package/lib/checkbox.js.map +1 -1
  6. package/lib/choice-configuration/feedback-menu.js +41 -53
  7. package/lib/choice-configuration/feedback-menu.js.map +1 -1
  8. package/lib/choice-configuration/index.js +88 -81
  9. package/lib/choice-configuration/index.js.map +1 -1
  10. package/lib/choice-utils.js +8 -8
  11. package/lib/choice-utils.js.map +1 -1
  12. package/lib/feedback-config/feedback-selector.js +38 -47
  13. package/lib/feedback-config/feedback-selector.js.map +1 -1
  14. package/lib/feedback-config/group.js +5 -5
  15. package/lib/feedback-config/group.js.map +1 -1
  16. package/lib/feedback-config/index.js +46 -52
  17. package/lib/feedback-config/index.js.map +1 -1
  18. package/lib/form-section.js +8 -6
  19. package/lib/form-section.js.map +1 -1
  20. package/lib/help.js +30 -37
  21. package/lib/help.js.map +1 -1
  22. package/lib/index.js +66 -45
  23. package/lib/index.js.map +1 -1
  24. package/lib/input.js +35 -40
  25. package/lib/input.js.map +1 -1
  26. package/lib/inputs.js +28 -17
  27. package/lib/inputs.js.map +1 -1
  28. package/lib/langs.js +37 -45
  29. package/lib/langs.js.map +1 -1
  30. package/lib/layout/config-layout.js +29 -37
  31. package/lib/layout/config-layout.js.map +1 -1
  32. package/lib/layout/index.js +2 -2
  33. package/lib/layout/index.js.map +1 -1
  34. package/lib/layout/layout-contents.js +28 -34
  35. package/lib/layout/layout-contents.js.map +1 -1
  36. package/lib/layout/settings-box.js +23 -31
  37. package/lib/layout/settings-box.js.map +1 -1
  38. package/lib/mui-box/index.js +3 -3
  39. package/lib/mui-box/index.js.map +1 -1
  40. package/lib/number-text-field-custom.js +364 -0
  41. package/lib/number-text-field-custom.js.map +1 -0
  42. package/lib/number-text-field.js +33 -42
  43. package/lib/number-text-field.js.map +1 -1
  44. package/lib/radio-with-label.js +4 -4
  45. package/lib/radio-with-label.js.map +1 -1
  46. package/lib/settings/display-size.js +10 -10
  47. package/lib/settings/display-size.js.map +1 -1
  48. package/lib/settings/index.js +11 -17
  49. package/lib/settings/index.js.map +1 -1
  50. package/lib/settings/panel.js +58 -68
  51. package/lib/settings/panel.js.map +1 -1
  52. package/lib/settings/settings-radio-label.js +4 -4
  53. package/lib/settings/settings-radio-label.js.map +1 -1
  54. package/lib/settings/toggle.js +5 -5
  55. package/lib/settings/toggle.js.map +1 -1
  56. package/lib/tabs/index.js +28 -35
  57. package/lib/tabs/index.js.map +1 -1
  58. package/lib/tags-input/index.js +32 -40
  59. package/lib/tags-input/index.js.map +1 -1
  60. package/lib/two-choice.js +38 -48
  61. package/lib/two-choice.js.map +1 -1
  62. package/lib/with-stateful-model.js +23 -30
  63. package/lib/with-stateful-model.js.map +1 -1
  64. package/package.json +4 -4
  65. package/src/alert-dialog.jsx +43 -0
  66. package/src/choice-configuration/index.jsx +30 -11
  67. package/src/form-section.jsx +2 -2
  68. package/src/index.js +4 -0
  69. package/src/inputs.jsx +13 -5
  70. package/src/number-text-field-custom.jsx +276 -0
@@ -1,10 +1,28 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = exports.ChoiceConfiguration = void 0;
7
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
8
26
  var _react = _interopRequireDefault(require("react"));
9
27
 
10
28
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -29,33 +47,13 @@ var _SubdirectoryArrowRight = _interopRequireDefault(require("@material-ui/icons
29
47
 
30
48
  var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
31
49
 
32
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
-
34
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
35
-
36
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
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; }
39
-
40
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
-
42
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
-
44
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
45
-
46
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
50
+ 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; }
47
51
 
48
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
52
+ 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; }
49
53
 
50
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
54
+ 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); }; }
51
55
 
52
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
53
-
54
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
55
-
56
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
57
-
58
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
56
+ 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; } }
59
57
 
60
58
  var EditableHtmlContainer = (0, _styles.withStyles)(function (theme) {
61
59
  return {
@@ -72,22 +70,30 @@ var EditableHtmlContainer = (0, _styles.withStyles)(function (theme) {
72
70
  className = _ref.className,
73
71
  imageSupport = _ref.imageSupport,
74
72
  disabled = _ref.disabled,
73
+ spellCheck = _ref.spellCheck,
75
74
  nonEmpty = _ref.nonEmpty,
76
- toolbarOpts = _ref.toolbarOpts;
75
+ toolbarOpts = _ref.toolbarOpts,
76
+ error = _ref.error,
77
+ maxImageWidth = _ref.maxImageWidth,
78
+ maxImageHeight = _ref.maxImageHeight;
77
79
  var names = (0, _classnames["default"])(classes.labelContainer, className);
78
- return _react["default"].createElement(_renderUi.InputContainer, {
80
+ return /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
79
81
  label: label,
80
82
  className: names
81
- }, _react["default"].createElement("div", {
83
+ }, /*#__PURE__*/_react["default"].createElement("div", {
82
84
  className: classes.editorHolder
83
- }, _react["default"].createElement(_editableHtml["default"], {
85
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
84
86
  markup: value || '',
85
87
  disabled: disabled,
88
+ spellCheck: spellCheck,
86
89
  nonEmpty: nonEmpty,
87
90
  onChange: onChange,
88
91
  imageSupport: imageSupport,
89
92
  className: classes.editor,
90
- toolbarOpts: toolbarOpts
93
+ toolbarOpts: toolbarOpts,
94
+ error: error,
95
+ maxImageWidth: maxImageWidth,
96
+ maxImageHeight: maxImageHeight
91
97
  })));
92
98
  });
93
99
  var Feedback = (0, _styles.withStyles)(function () {
@@ -117,21 +123,21 @@ var Feedback = (0, _styles.withStyles)(function () {
117
123
  if (!type || type === 'none') {
118
124
  return null;
119
125
  } else if (type === 'default') {
120
- return _react["default"].createElement("div", {
126
+ return /*#__PURE__*/_react["default"].createElement("div", {
121
127
  className: classes.feedbackContainer
122
- }, _react["default"].createElement(_SubdirectoryArrowRight["default"], {
128
+ }, /*#__PURE__*/_react["default"].createElement(_SubdirectoryArrowRight["default"], {
123
129
  className: classes.arrowIcon
124
- }), _react["default"].createElement(_TextField["default"], {
130
+ }), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
125
131
  className: classes.text,
126
132
  label: "Feedback Text",
127
133
  value: correct ? defaults.correct : defaults.incorrect
128
134
  }));
129
135
  } else {
130
- return _react["default"].createElement("div", {
136
+ return /*#__PURE__*/_react["default"].createElement("div", {
131
137
  className: classes.feedbackContainer
132
- }, _react["default"].createElement(_SubdirectoryArrowRight["default"], {
138
+ }, /*#__PURE__*/_react["default"].createElement(_SubdirectoryArrowRight["default"], {
133
139
  className: classes.arrowIcon
134
- }), _react["default"].createElement(EditableHtmlContainer, {
140
+ }), /*#__PURE__*/_react["default"].createElement(EditableHtmlContainer, {
135
141
  className: classes.text,
136
142
  label: "Feedback Text",
137
143
  value: value,
@@ -141,52 +147,46 @@ var Feedback = (0, _styles.withStyles)(function () {
141
147
  }
142
148
  });
143
149
 
144
- var ChoiceConfiguration =
145
- /*#__PURE__*/
146
- function (_React$Component) {
147
- _inherits(ChoiceConfiguration, _React$Component);
150
+ var ChoiceConfiguration = /*#__PURE__*/function (_React$Component) {
151
+ (0, _inherits2["default"])(ChoiceConfiguration, _React$Component);
148
152
 
149
- function ChoiceConfiguration() {
150
- var _getPrototypeOf2;
153
+ var _super = _createSuper(ChoiceConfiguration);
151
154
 
155
+ function ChoiceConfiguration() {
152
156
  var _this;
153
157
 
154
- _classCallCheck(this, ChoiceConfiguration);
158
+ (0, _classCallCheck2["default"])(this, ChoiceConfiguration);
155
159
 
156
160
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
157
161
  args[_key] = arguments[_key];
158
162
  }
159
163
 
160
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ChoiceConfiguration)).call.apply(_getPrototypeOf2, [this].concat(args)));
161
-
162
- _defineProperty(_assertThisInitialized(_this), "_changeFn", function (key) {
164
+ _this = _super.call.apply(_super, [this].concat(args));
165
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_changeFn", function (key) {
163
166
  return function (update) {
164
167
  var _this$props = _this.props,
165
168
  data = _this$props.data,
166
169
  onChange = _this$props.onChange;
167
170
 
168
171
  if (onChange) {
169
- onChange(_objectSpread({}, data, _defineProperty({}, key, update)));
172
+ onChange(_objectSpread(_objectSpread({}, data), {}, (0, _defineProperty2["default"])({}, key, update)));
170
173
  }
171
174
  };
172
175
  });
173
-
174
- _defineProperty(_assertThisInitialized(_this), "onLabelChange", _this._changeFn('label'));
175
-
176
- _defineProperty(_assertThisInitialized(_this), "onCheckedChange", function (event) {
176
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLabelChange", _this._changeFn('label'));
177
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onCheckedChange", function (event) {
177
178
  var correct = event.target.checked;
178
179
  var _this$props2 = _this.props,
179
180
  data = _this$props2.data,
180
181
  onChange = _this$props2.onChange;
181
182
 
182
183
  if (onChange) {
183
- onChange(_objectSpread({}, data, {
184
+ onChange(_objectSpread(_objectSpread({}, data), {}, {
184
185
  correct: correct
185
186
  }));
186
187
  }
187
188
  });
188
-
189
- _defineProperty(_assertThisInitialized(_this), "onFeedbackValueChange", function (v) {
189
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFeedbackValueChange", function (v) {
190
190
  var _this$props3 = _this.props,
191
191
  data = _this$props3.data,
192
192
  onChange = _this$props3.onChange;
@@ -195,21 +195,20 @@ function (_React$Component) {
195
195
  return;
196
196
  }
197
197
 
198
- var fb = _objectSpread({}, data.feedback, {
198
+ var fb = _objectSpread(_objectSpread({}, data.feedback), {}, {
199
199
  value: v
200
200
  });
201
201
 
202
- if (onChange) onChange(_objectSpread({}, data, {
202
+ if (onChange) onChange(_objectSpread(_objectSpread({}, data), {}, {
203
203
  feedback: fb
204
204
  }));
205
205
  });
206
-
207
- _defineProperty(_assertThisInitialized(_this), "onFeedbackTypeChange", function (t) {
206
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFeedbackTypeChange", function (t) {
208
207
  var _this$props4 = _this.props,
209
208
  data = _this$props4.data,
210
209
  onChange = _this$props4.onChange;
211
210
 
212
- var fb = _objectSpread({}, data.feedback, {
211
+ var fb = _objectSpread(_objectSpread({}, data.feedback), {}, {
213
212
  type: t
214
213
  });
215
214
 
@@ -217,15 +216,14 @@ function (_React$Component) {
217
216
  fb.value = undefined;
218
217
  }
219
218
 
220
- if (onChange) onChange(_objectSpread({}, data, {
219
+ if (onChange) onChange(_objectSpread(_objectSpread({}, data), {}, {
221
220
  feedback: fb
222
221
  }));
223
222
  });
224
-
225
223
  return _this;
226
224
  }
227
225
 
228
- _createClass(ChoiceConfiguration, [{
226
+ (0, _createClass2["default"])(ChoiceConfiguration, [{
229
227
  key: "render",
230
228
  value: function render() {
231
229
  var _this$props5 = this.props,
@@ -240,65 +238,71 @@ function (_React$Component) {
240
238
  useLetterOrdering = _this$props5.useLetterOrdering,
241
239
  imageSupport = _this$props5.imageSupport,
242
240
  disabled = _this$props5.disabled,
241
+ spellCheck = _this$props5.spellCheck,
243
242
  nonEmpty = _this$props5.nonEmpty,
244
243
  allowFeedBack = _this$props5.allowFeedBack,
245
244
  allowDelete = _this$props5.allowDelete,
246
- toolbarOpts = _this$props5.toolbarOpts;
245
+ toolbarOpts = _this$props5.toolbarOpts,
246
+ error = _this$props5.error,
247
+ noCorrectAnswerError = _this$props5.noCorrectAnswerError;
247
248
  var InputToggle = mode === 'checkbox' ? _inputs.InputCheckbox : _inputs.InputRadio;
248
249
  var names = (0, _classnames["default"])(classes.choiceConfiguration, className);
249
- return _react["default"].createElement("div", {
250
+ return /*#__PURE__*/_react["default"].createElement("div", {
250
251
  className: names
251
- }, _react["default"].createElement("div", {
252
+ }, /*#__PURE__*/_react["default"].createElement("div", {
252
253
  className: classes.topRow
253
- }, index > 0 && _react["default"].createElement("span", {
254
+ }, index > 0 && /*#__PURE__*/_react["default"].createElement("span", {
254
255
  className: classes.index,
255
256
  type: "title"
256
- }, useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index), _react["default"].createElement(InputToggle, {
257
+ }, useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index), /*#__PURE__*/_react["default"].createElement(InputToggle, {
257
258
  className: classes.toggle,
258
259
  onChange: this.onCheckedChange,
259
260
  label: !noLabels ? 'Correct' : '',
260
- checked: !!data.correct
261
- }), _react["default"].createElement("div", {
261
+ checked: !!data.correct,
262
+ error: noCorrectAnswerError
263
+ }), /*#__PURE__*/_react["default"].createElement("div", {
262
264
  className: classes.middleColumn
263
- }, _react["default"].createElement(EditableHtmlContainer, {
265
+ }, /*#__PURE__*/_react["default"].createElement(EditableHtmlContainer, {
264
266
  label: !noLabels ? 'Label' : '',
265
267
  value: data.label,
266
268
  onChange: this.onLabelChange,
267
269
  imageSupport: imageSupport,
268
270
  disabled: disabled,
271
+ spellCheck: spellCheck,
269
272
  nonEmpty: nonEmpty,
270
- toolbarOpts: toolbarOpts
271
- }), allowFeedBack && _react["default"].createElement(Feedback, _extends({}, data.feedback, {
273
+ toolbarOpts: toolbarOpts,
274
+ error: error
275
+ }), error && /*#__PURE__*/_react["default"].createElement("div", {
276
+ className: classes.errorText
277
+ }, error), allowFeedBack && /*#__PURE__*/_react["default"].createElement(Feedback, (0, _extends2["default"])({}, data.feedback, {
272
278
  correct: data.correct,
273
279
  defaults: defaultFeedback,
274
280
  onChange: this.onFeedbackValueChange,
275
281
  toolbarOpts: toolbarOpts
276
- }))), allowFeedBack && _react["default"].createElement(_renderUi.InputContainer, {
282
+ }))), allowFeedBack && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
277
283
  className: classes.feedback,
278
284
  label: !noLabels ? 'Feedback' : ''
279
- }, _react["default"].createElement(_feedbackMenu["default"], {
285
+ }, /*#__PURE__*/_react["default"].createElement(_feedbackMenu["default"], {
280
286
  onChange: this.onFeedbackTypeChange,
281
287
  value: data.feedback,
282
288
  classes: {
283
289
  icon: classes.feedbackIcon
284
290
  }
285
- })), allowDelete && _react["default"].createElement(_renderUi.InputContainer, {
291
+ })), allowDelete && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
286
292
  className: classes["delete"],
287
293
  label: !noLabels ? 'Delete' : ''
288
- }, _react["default"].createElement(_IconButton["default"], {
294
+ }, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
289
295
  "aria-label": "delete",
290
296
  className: classes.deleteIcon,
291
297
  onClick: onDelete
292
- }, _react["default"].createElement(_Delete["default"], null)))));
298
+ }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)))));
293
299
  }
294
300
  }]);
295
-
296
301
  return ChoiceConfiguration;
297
302
  }(_react["default"].Component);
298
303
 
299
304
  exports.ChoiceConfiguration = ChoiceConfiguration;
300
-
301
- _defineProperty(ChoiceConfiguration, "propTypes", {
305
+ (0, _defineProperty2["default"])(ChoiceConfiguration, "propTypes", {
302
306
  classes: _propTypes["default"].object.isRequired,
303
307
  noLabels: _propTypes["default"].bool,
304
308
  useLetterOrdering: _propTypes["default"].bool,
@@ -327,8 +331,7 @@ _defineProperty(ChoiceConfiguration, "propTypes", {
327
331
  allowDelete: _propTypes["default"].bool,
328
332
  toolbarOpts: _propTypes["default"].object
329
333
  });
330
-
331
- _defineProperty(ChoiceConfiguration, "defaultProps", {
334
+ (0, _defineProperty2["default"])(ChoiceConfiguration, "defaultProps", {
332
335
  index: -1,
333
336
  noLabels: false,
334
337
  useLetterOrdering: false,
@@ -381,6 +384,10 @@ var styles = function styles(theme) {
381
384
  display: 'flex',
382
385
  flex: 1,
383
386
  flexDirection: 'column'
387
+ },
388
+ errorText: {
389
+ fontSize: '12px',
390
+ color: 'red'
384
391
  }
385
392
  };
386
393
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/choice-configuration/index.jsx"],"names":["EditableHtmlContainer","theme","labelContainer","editorHolder","marginTop","spacing","unit","label","classes","onChange","value","className","imageSupport","disabled","nonEmpty","toolbarOpts","names","editor","Feedback","text","width","feedbackContainer","position","arrowIcon","fill","left","top","type","correct","defaults","incorrect","ChoiceConfiguration","key","update","props","data","_changeFn","event","target","checked","v","feedback","fb","t","undefined","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","InputToggle","InputCheckbox","InputRadio","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","onCheckedChange","middleColumn","onLabelChange","onFeedbackValueChange","onFeedbackTypeChange","icon","feedbackIcon","deleteIcon","React","Component","PropTypes","object","isRequired","bool","string","oneOf","shape","func","number","add","styles","padding","display","flex","paddingRight","paddingTop","paddingLeft","marginLeft","margin","flexDirection"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\n\nconst EditableHtmlContainer = withStyles(theme => ({\n labelContainer: {},\n editorHolder: {\n marginTop: theme.spacing.unit * 2\n }\n}))(\n ({\n label,\n classes,\n onChange,\n value,\n className,\n imageSupport,\n disabled,\n nonEmpty,\n toolbarOpts\n }) => {\n const names = classNames(classes.labelContainer, className);\n\n return (\n <InputContainer label={label} className={names}>\n <div className={classes.editorHolder}>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n className={classes.editor}\n toolbarOpts={toolbarOpts}\n />\n </div>\n </InputContainer>\n );\n }\n);\n\nconst Feedback = withStyles(() => ({\n text: {\n width: '100%'\n },\n feedbackContainer: {\n position: 'relative'\n },\n arrowIcon: {\n fill: '#ccc',\n left: -56,\n position: 'absolute',\n top: 20\n }\n}))(({ value, onChange, type, correct, classes, defaults, toolbarOpts }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <TextField\n className={classes.text}\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </div>\n );\n } else {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <EditableHtmlContainer\n className={classes.text}\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n});\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n mode: PropTypes.oneOf(['checkbox', 'radio']),\n defaultFeedback: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n nonEmpty: PropTypes.bool,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n correct: PropTypes.bool,\n feedback: PropTypes.shape({\n type: PropTypes.string,\n value: PropTypes.string\n })\n }),\n onDelete: PropTypes.func,\n onChange: PropTypes.func,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n toolbarOpts: PropTypes.object\n };\n\n static defaultProps = {\n index: -1,\n noLabels: false,\n useLetterOrdering: false,\n allowFeedBack: true,\n allowDelete: true\n };\n\n _changeFn = key => update => {\n const { data, onChange } = this.props;\n if (onChange) {\n onChange({ ...data, [key]: update });\n }\n };\n\n onLabelChange = this._changeFn('label');\n\n onCheckedChange = event => {\n const correct = event.target.checked;\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, correct });\n }\n };\n\n onFeedbackValueChange = v => {\n const { data, onChange } = this.props;\n\n if (data.feedback.type !== 'custom') {\n return;\n }\n\n const fb = { ...data.feedback, value: v };\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n onFeedbackTypeChange = t => {\n const { data, onChange } = this.props;\n const fb = { ...data.feedback, type: t };\n if (fb.type !== 'custom') {\n fb.value = undefined;\n }\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n render() {\n const {\n data,\n classes,\n mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disabled,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n toolbarOpts\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(classes.choiceConfiguration, className);\n return (\n <div className={names}>\n <div className={classes.topRow}>\n {index > 0 && (\n <span className={classes.index} type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </span>\n )}\n <InputToggle\n className={classes.toggle}\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n />\n <div className={classes.middleColumn}>\n <EditableHtmlContainer\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disabled={disabled}\n nonEmpty={nonEmpty}\n toolbarOpts={toolbarOpts}\n />\n\n {allowFeedBack && (\n <Feedback\n {...data.feedback}\n correct={data.correct}\n defaults={defaultFeedback}\n onChange={this.onFeedbackValueChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n {allowFeedBack && (\n <InputContainer className={classes.feedback} label={!noLabels ? 'Feedback' : ''}>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n classes={{\n icon: classes.feedbackIcon\n }}\n />\n </InputContainer>\n )}\n {allowDelete && (\n <InputContainer className={classes.delete} label={!noLabels ? 'Delete' : ''}>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={onDelete}>\n <ActionDelete />\n </IconButton>\n </InputContainer>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n index: {\n padding: '24px 10px 0 0'\n },\n choiceConfiguration: {},\n topRow: {\n display: 'flex'\n },\n value: {\n flex: '0.5',\n paddingRight: theme.spacing.unit\n },\n editorHolder: {\n marginTop: theme.spacing.unit * 2\n },\n toggle: {\n flex: '0 1 auto'\n },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0,\n paddingRight: theme.spacing.unit * 3\n },\n feedbackIcon: {\n margin: 0,\n paddingLeft: 0,\n width: 'inherit'\n },\n deleteIcon: {\n margin: 0,\n width: 'inherit'\n },\n delete: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column'\n }\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["EditableHtmlContainer","withStyles","theme","labelContainer","editorHolder","marginTop","spacing","unit","label","classes","onChange","value","className","imageSupport","disabled","spellCheck","nonEmpty","toolbarOpts","error","maxImageWidth","maxImageHeight","names","classNames","editor","Feedback","text","width","feedbackContainer","position","arrowIcon","fill","left","top","type","correct","defaults","incorrect","ChoiceConfiguration","key","update","props","data","_changeFn","event","target","checked","v","feedback","fb","t","undefined","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","InputCheckbox","InputRadio","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","onCheckedChange","middleColumn","onLabelChange","errorText","onFeedbackValueChange","onFeedbackTypeChange","icon","feedbackIcon","deleteIcon","React","Component","PropTypes","object","isRequired","bool","string","oneOf","shape","func","number","add","styles","padding","display","flex","paddingRight","paddingTop","paddingLeft","marginLeft","margin","flexDirection","fontSize","color"],"sources":["../../src/choice-configuration/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\n\nconst EditableHtmlContainer = withStyles(theme => ({\n labelContainer: {},\n editorHolder: {\n marginTop: theme.spacing.unit * 2\n }\n}))(\n ({\n label,\n classes,\n onChange,\n value,\n className,\n imageSupport,\n disabled,\n spellCheck,\n nonEmpty,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight\n }) => {\n const names = classNames(classes.labelContainer, className);\n\n return (\n <InputContainer label={label} className={names}>\n <div className={classes.editorHolder}>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n className={classes.editor}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n />\n </div>\n </InputContainer>\n );\n }\n);\n\nconst Feedback = withStyles(() => ({\n text: {\n width: '100%'\n },\n feedbackContainer: {\n position: 'relative'\n },\n arrowIcon: {\n fill: '#ccc',\n left: -56,\n position: 'absolute',\n top: 20\n }\n}))(({ value, onChange, type, correct, classes, defaults, toolbarOpts }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <TextField\n className={classes.text}\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </div>\n );\n } else {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <EditableHtmlContainer\n className={classes.text}\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n});\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n mode: PropTypes.oneOf(['checkbox', 'radio']),\n defaultFeedback: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n nonEmpty: PropTypes.bool,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n correct: PropTypes.bool,\n feedback: PropTypes.shape({\n type: PropTypes.string,\n value: PropTypes.string\n })\n }),\n onDelete: PropTypes.func,\n onChange: PropTypes.func,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n toolbarOpts: PropTypes.object\n };\n\n static defaultProps = {\n index: -1,\n noLabels: false,\n useLetterOrdering: false,\n allowFeedBack: true,\n allowDelete: true\n };\n\n _changeFn = key => update => {\n const { data, onChange } = this.props;\n if (onChange) {\n onChange({ ...data, [key]: update });\n }\n };\n\n onLabelChange = this._changeFn('label');\n\n onCheckedChange = event => {\n const correct = event.target.checked;\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, correct });\n }\n };\n\n onFeedbackValueChange = v => {\n const { data, onChange } = this.props;\n\n if (data.feedback.type !== 'custom') {\n return;\n }\n\n const fb = { ...data.feedback, value: v };\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n onFeedbackTypeChange = t => {\n const { data, onChange } = this.props;\n const fb = { ...data.feedback, type: t };\n if (fb.type !== 'custom') {\n fb.value = undefined;\n }\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n render() {\n const {\n data,\n classes,\n mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n toolbarOpts,\n error,\n noCorrectAnswerError\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(classes.choiceConfiguration, className);\n return (\n <div className={names}>\n <div className={classes.topRow}>\n {index > 0 && (\n <span className={classes.index} type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </span>\n )}\n <InputToggle\n className={classes.toggle}\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n <div className={classes.middleColumn}>\n <EditableHtmlContainer\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n toolbarOpts={toolbarOpts}\n error={error}\n />\n {error && <div className={classes.errorText}>{error}</div>}\n\n {allowFeedBack && (\n <Feedback\n {...data.feedback}\n correct={data.correct}\n defaults={defaultFeedback}\n onChange={this.onFeedbackValueChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n {allowFeedBack && (\n <InputContainer className={classes.feedback} label={!noLabels ? 'Feedback' : ''}>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n classes={{\n icon: classes.feedbackIcon\n }}\n />\n </InputContainer>\n )}\n {allowDelete && (\n <InputContainer className={classes.delete} label={!noLabels ? 'Delete' : ''}>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={onDelete}>\n <ActionDelete />\n </IconButton>\n </InputContainer>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n index: {\n padding: '24px 10px 0 0'\n },\n choiceConfiguration: {},\n topRow: {\n display: 'flex'\n },\n value: {\n flex: '0.5',\n paddingRight: theme.spacing.unit\n },\n editorHolder: {\n marginTop: theme.spacing.unit * 2\n },\n toggle: {\n flex: '0 1 auto'\n },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0,\n paddingRight: theme.spacing.unit * 3\n },\n feedbackIcon: {\n margin: 0,\n paddingLeft: 0,\n width: 'inherit'\n },\n deleteIcon: {\n margin: 0,\n width: 'inherit'\n },\n delete: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column'\n },\n errorText: {\n fontSize: '12px',\n color: 'red'\n }\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n"],"mappings":"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"}
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.firstAvailableIndex = exports.normalizeChoices = void 0;
7
-
8
- var _includes = _interopRequireDefault(require("lodash/includes"));
8
+ exports.normalizeChoices = exports.firstAvailableIndex = void 0;
9
9
 
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- 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; }
12
+ var _includes = _interopRequireDefault(require("lodash/includes"));
13
13
 
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
+ 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; }
15
15
 
16
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ 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; }
17
17
 
18
18
  /**
19
19
  * Add value to every model.choices.
@@ -28,7 +28,7 @@ var normalizeChoices = function normalizeChoices(model) {
28
28
 
29
29
  return c;
30
30
  });
31
- return _objectSpread({}, model, {
31
+ return _objectSpread(_objectSpread({}, model), {}, {
32
32
  choices: choices
33
33
  });
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/choice-utils.js"],"names":["normalizeChoices","model","choices","map","c","index","value","firstAvailableIndex","values"],"mappings":";;;;;;;AAAA;;;;;;;;;;AAEA;;;;;AAKO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,KAAK,EAAI;AACvC,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAN,CAAcC,GAAd,CAAkB,UAACC,CAAD,EAAIC,KAAJ,EAAc;AAC9C,QAAI,CAACD,CAAC,CAACE,KAAP,EAAc;AACZF,MAAAA,CAAC,CAACE,KAAF,aAAaD,KAAb;AACD;;AACD,WAAOD,CAAP;AACD,GALe,CAAhB;AAMA,2BAAYH,KAAZ;AAAmBC,IAAAA,OAAO,EAAPA;AAAnB;AACD,CARM;AAUP;;;;;;;;;;AAMO,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,MAAD,EAASH,KAAT,EAAmB;AACpD,MAAI,0BAASG,MAAT,YAAoBH,KAApB,EAAJ,EAAkC;AAChC,WAAOE,mBAAmB,CAACC,MAAD,EAASH,KAAK,GAAG,CAAjB,CAA1B;AACD,GAFD,MAEO;AACL,qBAAUA,KAAV;AACD;AACF,CANM","sourcesContent":["import includes from 'lodash/includes';\n\n/**\n * Add value to every model.choices.\n * @param {Object} model the model to normalize\n * @return {Object} the updated model\n */\nexport const normalizeChoices = model => {\n const choices = model.choices.map((c, index) => {\n if (!c.value) {\n c.value = `${index}`;\n }\n return c;\n });\n return { ...model, choices };\n};\n\n/**\n * Find the first available index.\n * @param {string[]} values\n * @param {number} index\n * @return {string}\n */\nexport const firstAvailableIndex = (values, index) => {\n if (includes(values, `${index}`)) {\n return firstAvailableIndex(values, index + 1);\n } else {\n return `${index}`;\n }\n};\n"],"file":"choice-utils.js"}
1
+ {"version":3,"file":"choice-utils.js","names":["normalizeChoices","model","choices","map","c","index","value","firstAvailableIndex","values","includes"],"sources":["../src/choice-utils.js"],"sourcesContent":["import includes from 'lodash/includes';\n\n/**\n * Add value to every model.choices.\n * @param {Object} model the model to normalize\n * @return {Object} the updated model\n */\nexport const normalizeChoices = model => {\n const choices = model.choices.map((c, index) => {\n if (!c.value) {\n c.value = `${index}`;\n }\n return c;\n });\n return { ...model, choices };\n};\n\n/**\n * Find the first available index.\n * @param {string[]} values\n * @param {number} index\n * @return {string}\n */\nexport const firstAvailableIndex = (values, index) => {\n if (includes(values, `${index}`)) {\n return firstAvailableIndex(values, index + 1);\n } else {\n return `${index}`;\n }\n};\n"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,KAAK,EAAI;EACvC,IAAMC,OAAO,GAAGD,KAAK,CAACC,OAAN,CAAcC,GAAd,CAAkB,UAACC,CAAD,EAAIC,KAAJ,EAAc;IAC9C,IAAI,CAACD,CAAC,CAACE,KAAP,EAAc;MACZF,CAAC,CAACE,KAAF,aAAaD,KAAb;IACD;;IACD,OAAOD,CAAP;EACD,CALe,CAAhB;EAMA,uCAAYH,KAAZ;IAAmBC,OAAO,EAAPA;EAAnB;AACD,CARM;AAUP;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,MAAD,EAASH,KAAT,EAAmB;EACpD,IAAI,IAAAI,oBAAA,EAASD,MAAT,YAAoBH,KAApB,EAAJ,EAAkC;IAChC,OAAOE,mBAAmB,CAACC,MAAD,EAASH,KAAK,GAAG,CAAjB,CAA1B;EACD,CAFD,MAEO;IACL,iBAAUA,KAAV;EACD;AACF,CANM"}