@pie-lib/config-ui 10.10.4-next.62 → 10.10.4-next.626

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 (71) hide show
  1. package/CHANGELOG.md +346 -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 +93 -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 +44 -48
  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 +22 -2
  67. package/src/feedback-config/feedback-selector.jsx +1 -0
  68. package/src/form-section.jsx +2 -2
  69. package/src/index.js +4 -0
  70. package/src/inputs.jsx +13 -5
  71. package/src/number-text-field-custom.jsx +276 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/choice-configuration/feedback-menu.jsx"],"names":["IconMenu","props","event","setState","open","anchorEl","currentTarget","state","undefined","opts","onClick","keys","Object","handleMenuClick","key","handleRequestClose","handleClick","iconButtonElement","map","k","index","React","Component","PropTypes","object","func","isRequired","any","FeedbackMenu","value","onChange","classes","t","type","iconColor","tooltip","icon","none","custom"],"mappings":"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","sourcesContent":["import Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport ActionFeedback from '@material-ui/icons/Feedback';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n iconButtonElement: PropTypes.any\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false\n };\n }\n\n handleClick = event => {\n this.setState({ open: true, anchorEl: event.currentTarget });\n };\n\n handleRequestClose = () => {\n this.setState({ open: false });\n };\n\n render() {\n const { opts, onClick } = this.props;\n\n const keys = Object.keys(opts);\n\n const handleMenuClick = key => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n return (\n <div>\n <div onClick={this.handleClick}>{this.props.iconButtonElement}</div>\n <Menu\n id=\"simple-menu\"\n anchorEl={this.state.anchorEl}\n open={this.state.open}\n onClose={this.handleRequestClose}\n >\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class FeedbackMenu extends React.Component {\n static propTypes = {\n value: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n static defaultProps = {\n classes: {}\n };\n\n render() {\n const { value, onChange, classes } = this.props;\n\n const t = value && value.type;\n const iconColor = t === 'custom' || t === 'default' ? 'primary' : 'disabled';\n\n const tooltip =\n t === 'custom'\n ? 'Custom Feedback'\n : t === 'default'\n ? 'Default Feedback'\n : 'Feedback disabled';\n\n const icon = (\n <IconButton className={classes.icon} aria-label={tooltip}>\n <ActionFeedback color={iconColor} />\n </IconButton>\n );\n\n return (\n <IconMenu\n iconButtonElement={icon}\n onClick={key => onChange(key)}\n opts={{\n none: 'No Feedback',\n default: 'Default',\n custom: 'Custom'\n }}\n />\n );\n }\n}\n"],"file":"feedback-menu.js"}
1
+ {"version":3,"file":"feedback-menu.js","names":["IconMenu","props","event","setState","open","anchorEl","currentTarget","state","undefined","opts","onClick","keys","Object","handleMenuClick","key","handleRequestClose","handleClick","iconButtonElement","map","k","index","React","Component","PropTypes","object","func","isRequired","any","FeedbackMenu","value","onChange","classes","t","type","iconColor","tooltip","icon","none","custom"],"sources":["../../src/choice-configuration/feedback-menu.jsx"],"sourcesContent":["import Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport ActionFeedback from '@material-ui/icons/Feedback';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n iconButtonElement: PropTypes.any\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false\n };\n }\n\n handleClick = event => {\n this.setState({ open: true, anchorEl: event.currentTarget });\n };\n\n handleRequestClose = () => {\n this.setState({ open: false });\n };\n\n render() {\n const { opts, onClick } = this.props;\n\n const keys = Object.keys(opts);\n\n const handleMenuClick = key => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n return (\n <div>\n <div onClick={this.handleClick}>{this.props.iconButtonElement}</div>\n <Menu\n id=\"simple-menu\"\n anchorEl={this.state.anchorEl}\n open={this.state.open}\n onClose={this.handleRequestClose}\n >\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class FeedbackMenu extends React.Component {\n static propTypes = {\n value: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n static defaultProps = {\n classes: {}\n };\n\n render() {\n const { value, onChange, classes } = this.props;\n\n const t = value && value.type;\n const iconColor = t === 'custom' || t === 'default' ? 'primary' : 'disabled';\n\n const tooltip =\n t === 'custom'\n ? 'Custom Feedback'\n : t === 'default'\n ? 'Default Feedback'\n : 'Feedback disabled';\n\n const icon = (\n <IconButton className={classes.icon} aria-label={tooltip}>\n <ActionFeedback color={iconColor} />\n </IconButton>\n );\n\n return (\n <IconMenu\n iconButtonElement={icon}\n onClick={key => onChange(key)}\n opts={{\n none: 'No Feedback',\n default: 'Default',\n custom: 'Custom'\n }}\n />\n );\n }\n}\n"],"mappings":"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"}
@@ -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,35 @@ 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,
97
+ languageCharactersProps: [{
98
+ language: 'spanish'
99
+ }, {
100
+ language: 'special'
101
+ }]
91
102
  })));
92
103
  });
93
104
  var Feedback = (0, _styles.withStyles)(function () {
@@ -117,21 +128,21 @@ var Feedback = (0, _styles.withStyles)(function () {
117
128
  if (!type || type === 'none') {
118
129
  return null;
119
130
  } else if (type === 'default') {
120
- return _react["default"].createElement("div", {
131
+ return /*#__PURE__*/_react["default"].createElement("div", {
121
132
  className: classes.feedbackContainer
122
- }, _react["default"].createElement(_SubdirectoryArrowRight["default"], {
133
+ }, /*#__PURE__*/_react["default"].createElement(_SubdirectoryArrowRight["default"], {
123
134
  className: classes.arrowIcon
124
- }), _react["default"].createElement(_TextField["default"], {
135
+ }), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
125
136
  className: classes.text,
126
137
  label: "Feedback Text",
127
138
  value: correct ? defaults.correct : defaults.incorrect
128
139
  }));
129
140
  } else {
130
- return _react["default"].createElement("div", {
141
+ return /*#__PURE__*/_react["default"].createElement("div", {
131
142
  className: classes.feedbackContainer
132
- }, _react["default"].createElement(_SubdirectoryArrowRight["default"], {
143
+ }, /*#__PURE__*/_react["default"].createElement(_SubdirectoryArrowRight["default"], {
133
144
  className: classes.arrowIcon
134
- }), _react["default"].createElement(EditableHtmlContainer, {
145
+ }), /*#__PURE__*/_react["default"].createElement(EditableHtmlContainer, {
135
146
  className: classes.text,
136
147
  label: "Feedback Text",
137
148
  value: value,
@@ -141,52 +152,46 @@ var Feedback = (0, _styles.withStyles)(function () {
141
152
  }
142
153
  });
143
154
 
144
- var ChoiceConfiguration =
145
- /*#__PURE__*/
146
- function (_React$Component) {
147
- _inherits(ChoiceConfiguration, _React$Component);
155
+ var ChoiceConfiguration = /*#__PURE__*/function (_React$Component) {
156
+ (0, _inherits2["default"])(ChoiceConfiguration, _React$Component);
148
157
 
149
- function ChoiceConfiguration() {
150
- var _getPrototypeOf2;
158
+ var _super = _createSuper(ChoiceConfiguration);
151
159
 
160
+ function ChoiceConfiguration() {
152
161
  var _this;
153
162
 
154
- _classCallCheck(this, ChoiceConfiguration);
163
+ (0, _classCallCheck2["default"])(this, ChoiceConfiguration);
155
164
 
156
165
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
157
166
  args[_key] = arguments[_key];
158
167
  }
159
168
 
160
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ChoiceConfiguration)).call.apply(_getPrototypeOf2, [this].concat(args)));
161
-
162
- _defineProperty(_assertThisInitialized(_this), "_changeFn", function (key) {
169
+ _this = _super.call.apply(_super, [this].concat(args));
170
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_changeFn", function (key) {
163
171
  return function (update) {
164
172
  var _this$props = _this.props,
165
173
  data = _this$props.data,
166
174
  onChange = _this$props.onChange;
167
175
 
168
176
  if (onChange) {
169
- onChange(_objectSpread({}, data, _defineProperty({}, key, update)));
177
+ onChange(_objectSpread(_objectSpread({}, data), {}, (0, _defineProperty2["default"])({}, key, update)));
170
178
  }
171
179
  };
172
180
  });
173
-
174
- _defineProperty(_assertThisInitialized(_this), "onLabelChange", _this._changeFn('label'));
175
-
176
- _defineProperty(_assertThisInitialized(_this), "onCheckedChange", function (event) {
181
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLabelChange", _this._changeFn('label'));
182
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onCheckedChange", function (event) {
177
183
  var correct = event.target.checked;
178
184
  var _this$props2 = _this.props,
179
185
  data = _this$props2.data,
180
186
  onChange = _this$props2.onChange;
181
187
 
182
188
  if (onChange) {
183
- onChange(_objectSpread({}, data, {
189
+ onChange(_objectSpread(_objectSpread({}, data), {}, {
184
190
  correct: correct
185
191
  }));
186
192
  }
187
193
  });
188
-
189
- _defineProperty(_assertThisInitialized(_this), "onFeedbackValueChange", function (v) {
194
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFeedbackValueChange", function (v) {
190
195
  var _this$props3 = _this.props,
191
196
  data = _this$props3.data,
192
197
  onChange = _this$props3.onChange;
@@ -195,21 +200,20 @@ function (_React$Component) {
195
200
  return;
196
201
  }
197
202
 
198
- var fb = _objectSpread({}, data.feedback, {
203
+ var fb = _objectSpread(_objectSpread({}, data.feedback), {}, {
199
204
  value: v
200
205
  });
201
206
 
202
- if (onChange) onChange(_objectSpread({}, data, {
207
+ if (onChange) onChange(_objectSpread(_objectSpread({}, data), {}, {
203
208
  feedback: fb
204
209
  }));
205
210
  });
206
-
207
- _defineProperty(_assertThisInitialized(_this), "onFeedbackTypeChange", function (t) {
211
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFeedbackTypeChange", function (t) {
208
212
  var _this$props4 = _this.props,
209
213
  data = _this$props4.data,
210
214
  onChange = _this$props4.onChange;
211
215
 
212
- var fb = _objectSpread({}, data.feedback, {
216
+ var fb = _objectSpread(_objectSpread({}, data.feedback), {}, {
213
217
  type: t
214
218
  });
215
219
 
@@ -217,15 +221,14 @@ function (_React$Component) {
217
221
  fb.value = undefined;
218
222
  }
219
223
 
220
- if (onChange) onChange(_objectSpread({}, data, {
224
+ if (onChange) onChange(_objectSpread(_objectSpread({}, data), {}, {
221
225
  feedback: fb
222
226
  }));
223
227
  });
224
-
225
228
  return _this;
226
229
  }
227
230
 
228
- _createClass(ChoiceConfiguration, [{
231
+ (0, _createClass2["default"])(ChoiceConfiguration, [{
229
232
  key: "render",
230
233
  value: function render() {
231
234
  var _this$props5 = this.props,
@@ -240,65 +243,71 @@ function (_React$Component) {
240
243
  useLetterOrdering = _this$props5.useLetterOrdering,
241
244
  imageSupport = _this$props5.imageSupport,
242
245
  disabled = _this$props5.disabled,
246
+ spellCheck = _this$props5.spellCheck,
243
247
  nonEmpty = _this$props5.nonEmpty,
244
248
  allowFeedBack = _this$props5.allowFeedBack,
245
249
  allowDelete = _this$props5.allowDelete,
246
- toolbarOpts = _this$props5.toolbarOpts;
250
+ toolbarOpts = _this$props5.toolbarOpts,
251
+ error = _this$props5.error,
252
+ noCorrectAnswerError = _this$props5.noCorrectAnswerError;
247
253
  var InputToggle = mode === 'checkbox' ? _inputs.InputCheckbox : _inputs.InputRadio;
248
254
  var names = (0, _classnames["default"])(classes.choiceConfiguration, className);
249
- return _react["default"].createElement("div", {
255
+ return /*#__PURE__*/_react["default"].createElement("div", {
250
256
  className: names
251
- }, _react["default"].createElement("div", {
257
+ }, /*#__PURE__*/_react["default"].createElement("div", {
252
258
  className: classes.topRow
253
- }, index > 0 && _react["default"].createElement("span", {
259
+ }, index > 0 && /*#__PURE__*/_react["default"].createElement("span", {
254
260
  className: classes.index,
255
261
  type: "title"
256
- }, useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index), _react["default"].createElement(InputToggle, {
262
+ }, useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index), /*#__PURE__*/_react["default"].createElement(InputToggle, {
257
263
  className: classes.toggle,
258
264
  onChange: this.onCheckedChange,
259
265
  label: !noLabels ? 'Correct' : '',
260
- checked: !!data.correct
261
- }), _react["default"].createElement("div", {
266
+ checked: !!data.correct,
267
+ error: noCorrectAnswerError
268
+ }), /*#__PURE__*/_react["default"].createElement("div", {
262
269
  className: classes.middleColumn
263
- }, _react["default"].createElement(EditableHtmlContainer, {
270
+ }, /*#__PURE__*/_react["default"].createElement(EditableHtmlContainer, {
264
271
  label: !noLabels ? 'Label' : '',
265
272
  value: data.label,
266
273
  onChange: this.onLabelChange,
267
274
  imageSupport: imageSupport,
268
275
  disabled: disabled,
276
+ spellCheck: spellCheck,
269
277
  nonEmpty: nonEmpty,
270
- toolbarOpts: toolbarOpts
271
- }), allowFeedBack && _react["default"].createElement(Feedback, _extends({}, data.feedback, {
278
+ toolbarOpts: toolbarOpts,
279
+ error: error
280
+ }), error && /*#__PURE__*/_react["default"].createElement("div", {
281
+ className: classes.errorText
282
+ }, error), allowFeedBack && /*#__PURE__*/_react["default"].createElement(Feedback, (0, _extends2["default"])({}, data.feedback, {
272
283
  correct: data.correct,
273
284
  defaults: defaultFeedback,
274
285
  onChange: this.onFeedbackValueChange,
275
286
  toolbarOpts: toolbarOpts
276
- }))), allowFeedBack && _react["default"].createElement(_renderUi.InputContainer, {
287
+ }))), allowFeedBack && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
277
288
  className: classes.feedback,
278
289
  label: !noLabels ? 'Feedback' : ''
279
- }, _react["default"].createElement(_feedbackMenu["default"], {
290
+ }, /*#__PURE__*/_react["default"].createElement(_feedbackMenu["default"], {
280
291
  onChange: this.onFeedbackTypeChange,
281
292
  value: data.feedback,
282
293
  classes: {
283
294
  icon: classes.feedbackIcon
284
295
  }
285
- })), allowDelete && _react["default"].createElement(_renderUi.InputContainer, {
296
+ })), allowDelete && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
286
297
  className: classes["delete"],
287
298
  label: !noLabels ? 'Delete' : ''
288
- }, _react["default"].createElement(_IconButton["default"], {
299
+ }, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
289
300
  "aria-label": "delete",
290
301
  className: classes.deleteIcon,
291
302
  onClick: onDelete
292
- }, _react["default"].createElement(_Delete["default"], null)))));
303
+ }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)))));
293
304
  }
294
305
  }]);
295
-
296
306
  return ChoiceConfiguration;
297
307
  }(_react["default"].Component);
298
308
 
299
309
  exports.ChoiceConfiguration = ChoiceConfiguration;
300
-
301
- _defineProperty(ChoiceConfiguration, "propTypes", {
310
+ (0, _defineProperty2["default"])(ChoiceConfiguration, "propTypes", {
302
311
  classes: _propTypes["default"].object.isRequired,
303
312
  noLabels: _propTypes["default"].bool,
304
313
  useLetterOrdering: _propTypes["default"].bool,
@@ -327,8 +336,7 @@ _defineProperty(ChoiceConfiguration, "propTypes", {
327
336
  allowDelete: _propTypes["default"].bool,
328
337
  toolbarOpts: _propTypes["default"].object
329
338
  });
330
-
331
- _defineProperty(ChoiceConfiguration, "defaultProps", {
339
+ (0, _defineProperty2["default"])(ChoiceConfiguration, "defaultProps", {
332
340
  index: -1,
333
341
  noLabels: false,
334
342
  useLetterOrdering: false,
@@ -381,6 +389,10 @@ var styles = function styles(theme) {
381
389
  display: 'flex',
382
390
  flex: 1,
383
391
  flexDirection: 'column'
392
+ },
393
+ errorText: {
394
+ fontSize: '12px',
395
+ color: 'red'
384
396
  }
385
397
  };
386
398
  };
@@ -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","language","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 languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\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"}