@pie-lib/config-ui 13.0.21 → 13.0.22-beta.10

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 (37) hide show
  1. package/CHANGELOG.md +0 -76
  2. package/lib/__tests__/alert-dialog.test.js +262 -0
  3. package/lib/__tests__/checkbox.test.js +227 -0
  4. package/lib/__tests__/choice-utils.test.js +14 -0
  5. package/lib/__tests__/form-section.test.js +252 -0
  6. package/lib/__tests__/help.test.js +270 -0
  7. package/lib/__tests__/input.test.js +268 -0
  8. package/lib/__tests__/langs.test.js +541 -0
  9. package/lib/__tests__/number-text-field-custom.test.js +362 -0
  10. package/lib/__tests__/number-text-field.test.js +421 -0
  11. package/lib/__tests__/radio-with-label.test.js +233 -0
  12. package/lib/__tests__/settings-panel.test.js +184 -0
  13. package/lib/__tests__/settings.test.js +653 -0
  14. package/lib/__tests__/tabs.test.js +211 -0
  15. package/lib/__tests__/two-choice.test.js +124 -0
  16. package/lib/__tests__/with-stateful-model.test.js +221 -0
  17. package/lib/choice-configuration/__tests__/feedback-menu.test.js +287 -0
  18. package/lib/choice-configuration/__tests__/index.test.js +253 -0
  19. package/lib/choice-configuration/index.js +28 -30
  20. package/lib/choice-configuration/index.js.map +1 -1
  21. package/lib/feedback-config/__tests__/feedback-config.test.js +201 -0
  22. package/lib/feedback-config/__tests__/feedback-selector.test.js +177 -0
  23. package/lib/feedback-config/feedback-selector.js +2 -5
  24. package/lib/feedback-config/feedback-selector.js.map +1 -1
  25. package/lib/help.js +10 -13
  26. package/lib/help.js.map +1 -1
  27. package/lib/layout/__tests__/config.layout.test.js +70 -0
  28. package/lib/layout/__tests__/layout-content.test.js +6 -0
  29. package/lib/layout/settings-box.js +4 -11
  30. package/lib/layout/settings-box.js.map +1 -1
  31. package/lib/tags-input/__tests__/index.test.js +183 -0
  32. package/package.json +5 -5
  33. package/src/choice-configuration/index.jsx +3 -5
  34. package/src/feedback-config/feedback-selector.jsx +3 -5
  35. package/src/help.jsx +2 -6
  36. package/src/layout/settings-box.jsx +3 -11
  37. package/LICENSE.md +0 -5
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _react2 = require("@testing-library/react");
9
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
+ var _index = require("../index");
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ jest.mock('@pie-lib/editable-html-tip-tap', function () {
14
+ return {
15
+ __esModule: true,
16
+ "default": function _default(_ref) {
17
+ var markup = _ref.markup,
18
+ _onChange = _ref.onChange,
19
+ disabled = _ref.disabled;
20
+ return /*#__PURE__*/_react["default"].createElement("textarea", {
21
+ "data-testid": "editable-html",
22
+ defaultValue: markup || '',
23
+ onChange: function onChange(e) {
24
+ return _onChange(e.target.value);
25
+ },
26
+ disabled: disabled
27
+ });
28
+ }
29
+ };
30
+ });
31
+ var defaultFeedback = {
32
+ correct: 'Correct',
33
+ incorrect: 'Incorrect'
34
+ };
35
+ var data = {
36
+ correct: true,
37
+ value: 'foo',
38
+ label: 'Foo',
39
+ feedback: {
40
+ type: 'custom'
41
+ }
42
+ };
43
+ var classes = {
44
+ choiceConfiguration: 'choiceConfiguration'
45
+ };
46
+ describe('ChoiceConfiguration', function () {
47
+ var onChange = jest.fn();
48
+ beforeEach(function () {
49
+ onChange.mockClear();
50
+ });
51
+ describe('rendering', function () {
52
+ it('renders correctly with default props', function () {
53
+ var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
54
+ classes: classes,
55
+ defaultFeedback: defaultFeedback,
56
+ data: data,
57
+ onChange: onChange
58
+ })),
59
+ container = _render.container;
60
+ expect(container.firstChild).toBeInTheDocument();
61
+ });
62
+ it('renders with checked state', function () {
63
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
64
+ classes: classes,
65
+ defaultFeedback: defaultFeedback,
66
+ data: data,
67
+ onChange: onChange,
68
+ mode: "checkbox"
69
+ }));
70
+ var checkbox = _react2.screen.getByRole('checkbox');
71
+ expect(checkbox).toBeChecked();
72
+ });
73
+ it('renders without feedback when allowFeedBack is false', function () {
74
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
75
+ allowFeedBack: false,
76
+ classes: classes,
77
+ defaultFeedback: defaultFeedback,
78
+ data: data,
79
+ onChange: onChange
80
+ }));
81
+ expect(_react2.screen.queryByRole('button', {
82
+ name: /feedback/i
83
+ })).not.toBeInTheDocument();
84
+ });
85
+ it('renders without delete button when allowDelete is false', function () {
86
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
87
+ allowDelete: false,
88
+ classes: classes,
89
+ defaultFeedback: defaultFeedback,
90
+ data: data,
91
+ onChange: onChange
92
+ }));
93
+ expect(_react2.screen.queryByRole('button', {
94
+ name: /delete/i
95
+ })).not.toBeInTheDocument();
96
+ });
97
+ });
98
+ describe('user interactions', function () {
99
+ it('calls onChange when label is edited', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
100
+ var user, editableHtmlElements, editableHtml;
101
+ return _regenerator["default"].wrap(function (_context) {
102
+ while (1) switch (_context.prev = _context.next) {
103
+ case 0:
104
+ user = _userEvent["default"].setup();
105
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
106
+ classes: classes,
107
+ defaultFeedback: defaultFeedback,
108
+ data: data,
109
+ onChange: onChange
110
+ }));
111
+ editableHtmlElements = _react2.screen.getAllByTestId('editable-html');
112
+ editableHtml = editableHtmlElements[0];
113
+ _context.next = 1;
114
+ return user.clear(editableHtml);
115
+ case 1:
116
+ _context.next = 2;
117
+ return user.type(editableHtml, 'new label');
118
+ case 2:
119
+ expect(onChange).toHaveBeenCalled();
120
+ expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
121
+ label: expect.stringContaining('new label')
122
+ }));
123
+ case 3:
124
+ case "end":
125
+ return _context.stop();
126
+ }
127
+ }, _callee);
128
+ })));
129
+ it('calls onChange when checkbox is toggled', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
130
+ var user, checkbox;
131
+ return _regenerator["default"].wrap(function (_context2) {
132
+ while (1) switch (_context2.prev = _context2.next) {
133
+ case 0:
134
+ user = _userEvent["default"].setup();
135
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
136
+ classes: classes,
137
+ defaultFeedback: defaultFeedback,
138
+ data: _objectSpread(_objectSpread({}, data), {}, {
139
+ correct: false
140
+ }),
141
+ onChange: onChange,
142
+ mode: "checkbox"
143
+ }));
144
+ checkbox = _react2.screen.getByRole('checkbox');
145
+ _context2.next = 1;
146
+ return user.click(checkbox);
147
+ case 1:
148
+ expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
149
+ correct: true
150
+ }));
151
+ case 2:
152
+ case "end":
153
+ return _context2.stop();
154
+ }
155
+ }, _callee2);
156
+ })));
157
+ });
158
+ describe('prop variations', function () {
159
+ it('renders with radio mode instead of checkbox', function () {
160
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
161
+ classes: classes,
162
+ defaultFeedback: defaultFeedback,
163
+ data: data,
164
+ onChange: onChange,
165
+ mode: "radio"
166
+ }));
167
+ var radio = _react2.screen.getByRole('radio');
168
+ expect(radio).toBeInTheDocument();
169
+ });
170
+ it('renders with disabled state', function () {
171
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
172
+ classes: classes,
173
+ defaultFeedback: defaultFeedback,
174
+ data: data,
175
+ onChange: onChange,
176
+ disabled: true,
177
+ mode: "checkbox"
178
+ }));
179
+ var checkbox = _react2.screen.getByRole('checkbox');
180
+ expect(checkbox).toBeInTheDocument();
181
+ });
182
+ it('renders with custom feedback type', function () {
183
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
184
+ classes: classes,
185
+ defaultFeedback: defaultFeedback,
186
+ data: _objectSpread(_objectSpread({}, data), {}, {
187
+ feedback: {
188
+ type: 'custom'
189
+ }
190
+ }),
191
+ onChange: onChange,
192
+ mode: "checkbox"
193
+ }));
194
+ var editableElements = _react2.screen.getAllByTestId('editable-html');
195
+ expect(editableElements.length).toBeGreaterThan(0);
196
+ });
197
+ it('renders with incorrect answer', function () {
198
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
199
+ classes: classes,
200
+ defaultFeedback: defaultFeedback,
201
+ data: _objectSpread(_objectSpread({}, data), {}, {
202
+ correct: false
203
+ }),
204
+ onChange: onChange,
205
+ mode: "checkbox"
206
+ }));
207
+ var checkbox = _react2.screen.getByRole('checkbox');
208
+ expect(checkbox).not.toBeChecked();
209
+ });
210
+ });
211
+ describe('edge cases', function () {
212
+ it('handles data with empty label', function () {
213
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
214
+ classes: classes,
215
+ defaultFeedback: defaultFeedback,
216
+ data: _objectSpread(_objectSpread({}, data), {}, {
217
+ label: ''
218
+ }),
219
+ onChange: onChange
220
+ }));
221
+ var editableElements = _react2.screen.getAllByTestId('editable-html');
222
+ expect(editableElements.length).toBeGreaterThan(0);
223
+ });
224
+ it('handles multiple feedback types', function () {
225
+ var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
226
+ classes: classes,
227
+ defaultFeedback: defaultFeedback,
228
+ data: _objectSpread(_objectSpread({}, data), {}, {
229
+ feedback: {
230
+ type: 'default'
231
+ }
232
+ }),
233
+ onChange: onChange
234
+ })),
235
+ rerender = _render2.rerender;
236
+ var editableElements = _react2.screen.getAllByTestId('editable-html');
237
+ expect(editableElements.length).toBeGreaterThan(0);
238
+ rerender(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
239
+ classes: classes,
240
+ defaultFeedback: defaultFeedback,
241
+ data: _objectSpread(_objectSpread({}, data), {}, {
242
+ feedback: {
243
+ type: 'custom'
244
+ }
245
+ }),
246
+ onChange: onChange
247
+ }));
248
+ editableElements = _react2.screen.getAllByTestId('editable-html');
249
+ expect(editableElements.length).toBeGreaterThan(0);
250
+ });
251
+ });
252
+ });
253
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX2luZGV4Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJqZXN0IiwibW9jayIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX3JlZiIsIm1hcmt1cCIsIm9uQ2hhbmdlIiwiZGlzYWJsZWQiLCJjcmVhdGVFbGVtZW50IiwiZGVmYXVsdFZhbHVlIiwidGFyZ2V0IiwidmFsdWUiLCJkZWZhdWx0RmVlZGJhY2siLCJjb3JyZWN0IiwiaW5jb3JyZWN0IiwiZGF0YSIsImxhYmVsIiwiZmVlZGJhY2siLCJ0eXBlIiwiY2xhc3NlcyIsImNob2ljZUNvbmZpZ3VyYXRpb24iLCJkZXNjcmliZSIsImZuIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsIkNob2ljZUNvbmZpZ3VyYXRpb24iLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJtb2RlIiwiY2hlY2tib3giLCJzY3JlZW4iLCJnZXRCeVJvbGUiLCJ0b0JlQ2hlY2tlZCIsImFsbG93RmVlZEJhY2siLCJxdWVyeUJ5Um9sZSIsIm5hbWUiLCJub3QiLCJhbGxvd0RlbGV0ZSIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwidXNlciIsImVkaXRhYmxlSHRtbEVsZW1lbnRzIiwiZWRpdGFibGVIdG1sIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJ1c2VyRXZlbnQiLCJzZXR1cCIsImdldEFsbEJ5VGVzdElkIiwiY2xlYXIiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJvYmplY3RDb250YWluaW5nIiwic3RyaW5nQ29udGFpbmluZyIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsImNsaWNrIiwicmFkaW8iLCJlZGl0YWJsZUVsZW1lbnRzIiwidG9CZUdyZWF0ZXJUaGFuIiwiX3JlbmRlcjIiLCJyZXJlbmRlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jaG9pY2UtY29uZmlndXJhdGlvbi9fX3Rlc3RzX18vaW5kZXgudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgdXNlckV2ZW50IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvdXNlci1ldmVudCc7XG5pbXBvcnQgeyBDaG9pY2VDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCcsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6ICh7IG1hcmt1cCwgb25DaGFuZ2UsIGRpc2FibGVkIH0pID0+IChcbiAgICA8dGV4dGFyZWFcbiAgICAgIGRhdGEtdGVzdGlkPVwiZWRpdGFibGUtaHRtbFwiXG4gICAgICBkZWZhdWx0VmFsdWU9e21hcmt1cCB8fCAnJ31cbiAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gb25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfVxuICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgIC8+XG4gICksXG59KSk7XG5cbmNvbnN0IGRlZmF1bHRGZWVkYmFjayA9IHtcbiAgY29ycmVjdDogJ0NvcnJlY3QnLFxuICBpbmNvcnJlY3Q6ICdJbmNvcnJlY3QnLFxufTtcblxuY29uc3QgZGF0YSA9IHtcbiAgY29ycmVjdDogdHJ1ZSxcbiAgdmFsdWU6ICdmb28nLFxuICBsYWJlbDogJ0ZvbycsXG4gIGZlZWRiYWNrOiB7XG4gICAgdHlwZTogJ2N1c3RvbScsXG4gIH0sXG59O1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICBjaG9pY2VDb25maWd1cmF0aW9uOiAnY2hvaWNlQ29uZmlndXJhdGlvbicsXG59O1xuXG5kZXNjcmliZSgnQ2hvaWNlQ29uZmlndXJhdGlvbicsICgpID0+IHtcbiAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2UubW9ja0NsZWFyKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IHdpdGggZGVmYXVsdCBwcm9wcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uIGNsYXNzZXM9e2NsYXNzZXN9IGRlZmF1bHRGZWVkYmFjaz17ZGVmYXVsdEZlZWRiYWNrfSBkYXRhPXtkYXRhfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggY2hlY2tlZCBzdGF0ZScsICgpID0+IHtcbiAgICAgIHJlbmRlcihcbiAgICAgICAgPENob2ljZUNvbmZpZ3VyYXRpb25cbiAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgIGRlZmF1bHRGZWVkYmFjaz17ZGVmYXVsdEZlZWRiYWNrfVxuICAgICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIG1vZGU9XCJjaGVja2JveFwiXG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoZWNrYm94ID0gc2NyZWVuLmdldEJ5Um9sZSgnY2hlY2tib3gnKTtcbiAgICAgIGV4cGVjdChjaGVja2JveCkudG9CZUNoZWNrZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgZmVlZGJhY2sgd2hlbiBhbGxvd0ZlZWRCYWNrIGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKFxuICAgICAgICA8Q2hvaWNlQ29uZmlndXJhdGlvblxuICAgICAgICAgIGFsbG93RmVlZEJhY2s9e2ZhbHNlfVxuICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogL2ZlZWRiYWNrL2kgfSkpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBkZWxldGUgYnV0dG9uIHdoZW4gYWxsb3dEZWxldGUgaXMgZmFsc2UnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgYWxsb3dEZWxldGU9e2ZhbHNlfVxuICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogL2RlbGV0ZS9pIH0pKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3VzZXIgaW50ZXJhY3Rpb25zJywgKCkgPT4ge1xuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aGVuIGxhYmVsIGlzIGVkaXRlZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHVzZXIgPSB1c2VyRXZlbnQuc2V0dXAoKTtcbiAgICAgIHJlbmRlcihcbiAgICAgICAgPENob2ljZUNvbmZpZ3VyYXRpb24gY2xhc3Nlcz17Y2xhc3Nlc30gZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9IGRhdGE9e2RhdGF9IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4sXG4gICAgICApO1xuXG4gICAgICBjb25zdCBlZGl0YWJsZUh0bWxFbGVtZW50cyA9IHNjcmVlbi5nZXRBbGxCeVRlc3RJZCgnZWRpdGFibGUtaHRtbCcpO1xuICAgICAgY29uc3QgZWRpdGFibGVIdG1sID0gZWRpdGFibGVIdG1sRWxlbWVudHNbMF07XG4gICAgICBhd2FpdCB1c2VyLmNsZWFyKGVkaXRhYmxlSHRtbCk7XG4gICAgICBhd2FpdCB1c2VyLnR5cGUoZWRpdGFibGVIdG1sLCAnbmV3IGxhYmVsJyk7XG5cbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgIGxhYmVsOiBleHBlY3Quc3RyaW5nQ29udGFpbmluZygnbmV3IGxhYmVsJyksXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aGVuIGNoZWNrYm94IGlzIHRvZ2dsZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB1c2VyID0gdXNlckV2ZW50LnNldHVwKCk7XG4gICAgICByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e2RlZmF1bHRGZWVkYmFja31cbiAgICAgICAgICBkYXRhPXt7IC4uLmRhdGEsIGNvcnJlY3Q6IGZhbHNlIH19XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIG1vZGU9XCJjaGVja2JveFwiXG4gICAgICAgIC8+LFxuICAgICAgKTtcblxuICAgICAgY29uc3QgY2hlY2tib3ggPSBzY3JlZW4uZ2V0QnlSb2xlKCdjaGVja2JveCcpO1xuICAgICAgYXdhaXQgdXNlci5jbGljayhjaGVja2JveCk7XG5cbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICBjb3JyZWN0OiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdwcm9wIHZhcmlhdGlvbnMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCByYWRpbyBtb2RlIGluc3RlYWQgb2YgY2hlY2tib3gnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e2RlZmF1bHRGZWVkYmFja31cbiAgICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICBtb2RlPVwicmFkaW9cIlxuICAgICAgICAvPixcbiAgICAgICk7XG4gICAgICBjb25zdCByYWRpbyA9IHNjcmVlbi5nZXRCeVJvbGUoJ3JhZGlvJyk7XG4gICAgICBleHBlY3QocmFkaW8pLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGRpc2FibGVkIHN0YXRlJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKFxuICAgICAgICA8Q2hvaWNlQ29uZmlndXJhdGlvblxuICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgbW9kZT1cImNoZWNrYm94XCJcbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgICAgY29uc3QgY2hlY2tib3ggPSBzY3JlZW4uZ2V0QnlSb2xlKCdjaGVja2JveCcpO1xuICAgICAgZXhwZWN0KGNoZWNrYm94KS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBjdXN0b20gZmVlZGJhY2sgdHlwZScsICgpID0+IHtcbiAgICAgIHJlbmRlcihcbiAgICAgICAgPENob2ljZUNvbmZpZ3VyYXRpb25cbiAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgIGRlZmF1bHRGZWVkYmFjaz17ZGVmYXVsdEZlZWRiYWNrfVxuICAgICAgICAgIGRhdGE9e3sgLi4uZGF0YSwgZmVlZGJhY2s6IHsgdHlwZTogJ2N1c3RvbScgfSB9fVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICBtb2RlPVwiY2hlY2tib3hcIlxuICAgICAgICAvPixcbiAgICAgICk7XG4gICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnRzID0gc2NyZWVuLmdldEFsbEJ5VGVzdElkKCdlZGl0YWJsZS1odG1sJyk7XG4gICAgICBleHBlY3QoZWRpdGFibGVFbGVtZW50cy5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigwKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggaW5jb3JyZWN0IGFuc3dlcicsICgpID0+IHtcbiAgICAgIHJlbmRlcihcbiAgICAgICAgPENob2ljZUNvbmZpZ3VyYXRpb25cbiAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgIGRlZmF1bHRGZWVkYmFjaz17ZGVmYXVsdEZlZWRiYWNrfVxuICAgICAgICAgIGRhdGE9e3sgLi4uZGF0YSwgY29ycmVjdDogZmFsc2UgfX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgbW9kZT1cImNoZWNrYm94XCJcbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgICAgY29uc3QgY2hlY2tib3ggPSBzY3JlZW4uZ2V0QnlSb2xlKCdjaGVja2JveCcpO1xuICAgICAgZXhwZWN0KGNoZWNrYm94KS5ub3QudG9CZUNoZWNrZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2VkZ2UgY2FzZXMnLCAoKSA9PiB7XG4gICAgaXQoJ2hhbmRsZXMgZGF0YSB3aXRoIGVtcHR5IGxhYmVsJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKFxuICAgICAgICA8Q2hvaWNlQ29uZmlndXJhdGlvblxuICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgZGF0YT17eyAuLi5kYXRhLCBsYWJlbDogJycgfX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGVkaXRhYmxlRWxlbWVudHMgPSBzY3JlZW4uZ2V0QWxsQnlUZXN0SWQoJ2VkaXRhYmxlLWh0bWwnKTtcbiAgICAgIGV4cGVjdChlZGl0YWJsZUVsZW1lbnRzLmxlbmd0aCkudG9CZUdyZWF0ZXJUaGFuKDApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgbXVsdGlwbGUgZmVlZGJhY2sgdHlwZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHJlcmVuZGVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e2RlZmF1bHRGZWVkYmFja31cbiAgICAgICAgICBkYXRhPXt7IC4uLmRhdGEsIGZlZWRiYWNrOiB7IHR5cGU6ICdkZWZhdWx0JyB9IH19XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAvPixcbiAgICAgICk7XG5cbiAgICAgIGxldCBlZGl0YWJsZUVsZW1lbnRzID0gc2NyZWVuLmdldEFsbEJ5VGVzdElkKCdlZGl0YWJsZS1odG1sJyk7XG4gICAgICBleHBlY3QoZWRpdGFibGVFbGVtZW50cy5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigwKTtcblxuICAgICAgcmVyZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e2RlZmF1bHRGZWVkYmFja31cbiAgICAgICAgICBkYXRhPXt7IC4uLmRhdGEsIGZlZWRiYWNrOiB7IHR5cGU6ICdjdXN0b20nIH0gfX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+LFxuICAgICAgKTtcblxuICAgICAgZWRpdGFibGVFbGVtZW50cyA9IHNjcmVlbi5nZXRBbGxCeVRlc3RJZCgnZWRpdGFibGUtaHRtbCcpO1xuICAgICAgZXhwZWN0KGVkaXRhYmxlRWxlbWVudHMubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUgsc0JBQUEs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
@@ -81,40 +81,38 @@ var StyledFeedbackContainer = (0, _styles.styled)('div')(function () {
81
81
  position: 'relative'
82
82
  };
83
83
  });
84
-
85
- // The arrow is a connector: it is the only thing tying the feedback field to the
86
- // choice above it, so it takes a stroke token that clears 3:1 in every scheme.
87
- var StyledArrowIcon = (0, _styles.styled)(_SubdirectoryArrowRight["default"])(function () {
84
+ var StyledArrowIcon = (0, _styles.styled)(_SubdirectoryArrowRight["default"])(function (_ref3) {
85
+ var theme = _ref3.theme;
88
86
  return {
89
- fill: _renderUi.color.border(),
87
+ fill: theme.palette.grey[400],
90
88
  left: -56,
91
89
  position: 'absolute',
92
90
  top: 40
93
91
  };
94
92
  });
95
- var StyledTextField = (0, _styles.styled)(_TextField["default"])(function (_ref3) {
96
- var theme = _ref3.theme;
93
+ var StyledTextField = (0, _styles.styled)(_TextField["default"])(function (_ref4) {
94
+ var theme = _ref4.theme;
97
95
  return {
98
96
  width: '100%',
99
97
  marginTop: theme.spacing(2)
100
98
  };
101
99
  });
102
- var StyledEditableHtmlContainer = (0, _styles.styled)(EditableHtmlContainer)(function (_ref4) {
103
- var theme = _ref4.theme;
100
+ var StyledEditableHtmlContainer = (0, _styles.styled)(EditableHtmlContainer)(function (_ref5) {
101
+ var theme = _ref5.theme;
104
102
  return {
105
103
  width: '100%',
106
104
  marginTop: theme.spacing(2)
107
105
  };
108
106
  });
109
- var Feedback = function Feedback(_ref5) {
110
- var value = _ref5.value,
111
- onChange = _ref5.onChange,
112
- type = _ref5.type,
113
- correct = _ref5.correct,
114
- defaults = _ref5.defaults,
115
- toolbarOpts = _ref5.toolbarOpts,
116
- _ref5$mathMlOptions = _ref5.mathMlOptions,
117
- mathMlOptions = _ref5$mathMlOptions === void 0 ? {} : _ref5$mathMlOptions;
107
+ var Feedback = function Feedback(_ref6) {
108
+ var value = _ref6.value,
109
+ onChange = _ref6.onChange,
110
+ type = _ref6.type,
111
+ correct = _ref6.correct,
112
+ defaults = _ref6.defaults,
113
+ toolbarOpts = _ref6.toolbarOpts,
114
+ _ref6$mathMlOptions = _ref6.mathMlOptions,
115
+ mathMlOptions = _ref6$mathMlOptions === void 0 ? {} : _ref6$mathMlOptions;
118
116
  if (!type || type === 'none') {
119
117
  return null;
120
118
  } else if (type === 'default') {
@@ -133,8 +131,8 @@ var Feedback = function Feedback(_ref5) {
133
131
  }));
134
132
  }
135
133
  };
136
- var StyledIndex = (0, _styles.styled)('span')(function (_ref6) {
137
- var theme = _ref6.theme;
134
+ var StyledIndex = (0, _styles.styled)('span')(function (_ref7) {
135
+ var theme = _ref7.theme;
138
136
  return {
139
137
  paddingRight: theme.spacing(1),
140
138
  paddingTop: theme.spacing(3)
@@ -146,8 +144,8 @@ var StyledTopRow = (0, _styles.styled)('div')(function () {
146
144
  alignItems: 'center'
147
145
  };
148
146
  });
149
- var StyledToggle = (0, _styles.styled)('div')(function (_ref7) {
150
- var theme = _ref7.theme;
147
+ var StyledToggle = (0, _styles.styled)('div')(function (_ref8) {
148
+ var theme = _ref8.theme;
151
149
  return {
152
150
  flex: '0 1 auto',
153
151
  paddingTop: theme.spacing(0.5),
@@ -156,8 +154,8 @@ var StyledToggle = (0, _styles.styled)('div')(function (_ref7) {
156
154
  marginLeft: theme.spacing(1)
157
155
  };
158
156
  });
159
- var StyledFeedback = (0, _styles.styled)('div')(function (_ref8) {
160
- var theme = _ref8.theme;
157
+ var StyledFeedback = (0, _styles.styled)('div')(function (_ref9) {
158
+ var theme = _ref9.theme;
161
159
  return {
162
160
  flex: '0 1 auto',
163
161
  paddingTop: theme.spacing(2),
@@ -178,8 +176,8 @@ var StyledDeleteIcon = (0, _styles.styled)('div')(function () {
178
176
  width: 'inherit'
179
177
  };
180
178
  });
181
- var StyledDelete = (0, _styles.styled)('div')(function (_ref9) {
182
- var theme = _ref9.theme;
179
+ var StyledDelete = (0, _styles.styled)('div')(function (_ref0) {
180
+ var theme = _ref0.theme;
183
181
  return {
184
182
  flex: '0 1 auto',
185
183
  paddingTop: theme.spacing(2),
@@ -187,8 +185,8 @@ var StyledDelete = (0, _styles.styled)('div')(function (_ref9) {
187
185
  marginLeft: 0
188
186
  };
189
187
  });
190
- var StyledMiddleColumn = (0, _styles.styled)('div')(function (_ref0) {
191
- var theme = _ref0.theme;
188
+ var StyledMiddleColumn = (0, _styles.styled)('div')(function (_ref1) {
189
+ var theme = _ref1.theme;
192
190
  return {
193
191
  display: 'flex',
194
192
  flex: 1,
@@ -196,8 +194,8 @@ var StyledMiddleColumn = (0, _styles.styled)('div')(function (_ref0) {
196
194
  marginRight: theme.spacing(1)
197
195
  };
198
196
  });
199
- var StyledErrorText = (0, _styles.styled)('div')(function (_ref1) {
200
- var theme = _ref1.theme;
197
+ var StyledErrorText = (0, _styles.styled)('div')(function (_ref10) {
198
+ var theme = _ref10.theme;
201
199
  return {
202
200
  fontSize: theme.typography.fontSize - 2,
203
201
  color: theme.palette.error.main
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_TextField","_Delete","_SubdirectoryArrowRight","_IconButton","_renderUi","_editableHtmlTipTap","_inputs","_feedbackMenu","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","StyledEditorHolder","styled","_ref","theme","marginTop","spacing","EditableHtmlContainer","_ref2","label","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","pluginOpts","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","_ref2$mathMlOptions","mathMlOptions","createElement","InputContainer","markup","pluginProps","languageCharactersProps","language","StyledFeedbackContainer","position","StyledArrowIcon","ArrowRight","fill","color","border","left","top","StyledTextField","TextField","_ref3","width","StyledEditableHtmlContainer","_ref4","Feedback","_ref5","type","correct","defaults","_ref5$mathMlOptions","incorrect","variant","StyledIndex","_ref6","paddingRight","paddingTop","StyledTopRow","display","alignItems","StyledToggle","_ref7","flex","paddingBottom","marginRight","marginLeft","StyledFeedback","_ref8","paddingLeft","StyledFeedbackIcon","margin","StyledDeleteIcon","StyledDelete","_ref9","StyledMiddleColumn","_ref0","flexDirection","StyledErrorText","_ref1","fontSize","typography","palette","main","ChoiceConfiguration","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","key","update","_this$props","props","data","_changeFn","event","target","checked","_this$props2","v","_this$props3","feedback","fb","_this$props4","undefined","_inherits2","_createClass2","render","_this$props5","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","_this$props5$mathMlOp","InputToggle","InputCheckbox","InputRadio","String","fromCharCode","toUpperCase","onCheckedChange","onLabelChange","_extends2","onFeedbackValueChange","onFeedbackTypeChange","onClick","size","React","Component","PropTypes","bool","string","oneOf","object","isRequired","shape","func","number","add","_default"],"sources":["../../src/choice-configuration/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport TextField from '@mui/material/TextField';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport ArrowRight from '@mui/icons-material/SubdirectoryArrowRight';\nimport IconButton from '@mui/material/IconButton';\nimport { InputContainer, color } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\n\nconst StyledEditorHolder = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n}));\n\nconst EditableHtmlContainer = ({\n label,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n pluginOpts,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n}) => {\n return (\n <InputContainer label={label} className={className}>\n <StyledEditorHolder>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n pluginProps={pluginOpts || {}}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </StyledEditorHolder>\n </InputContainer>\n );\n};\n\nconst StyledFeedbackContainer = styled('div')(() => ({\n position: 'relative',\n}));\n\n// The arrow is a connector: it is the only thing tying the feedback field to the\n// choice above it, so it takes a stroke token that clears 3:1 in every scheme.\nconst StyledArrowIcon = styled(ArrowRight)(() => ({\n fill: color.border(),\n left: -56,\n position: 'absolute',\n top: 40,\n}));\n\nconst StyledTextField = styled(TextField)(({ theme }) => ({\n width: '100%',\n marginTop: theme.spacing(2),\n}));\n\nconst StyledEditableHtmlContainer = styled(EditableHtmlContainer)(({ theme }) => ({\n width: '100%',\n marginTop: theme.spacing(2),\n}));\n\nconst Feedback = ({ value, onChange, type, correct, defaults, toolbarOpts, mathMlOptions = {} }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <StyledFeedbackContainer>\n <StyledArrowIcon />\n <StyledTextField\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n variant=\"standard\"\n />\n </StyledFeedbackContainer>\n );\n } else {\n return (\n <StyledFeedbackContainer>\n <StyledArrowIcon />\n <StyledEditableHtmlContainer\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n mathMlOptions={mathMlOptions}\n />\n </StyledFeedbackContainer>\n );\n }\n};\n\nconst StyledIndex = styled('span')(({ theme }) => ({\n paddingRight: theme.spacing(1),\n paddingTop: theme.spacing(3),\n}));\n\nconst StyledTopRow = styled('div')(() => ({\n display: 'flex',\n alignItems: 'center',\n}));\n\nconst StyledToggle = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(0.5),\n paddingBottom: 0,\n marginRight: 0,\n marginLeft: theme.spacing(1),\n}));\n\nconst StyledFeedback = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(2),\n paddingLeft: 0,\n marginLeft: 0,\n marginRight: theme.spacing(1),\n}));\n\nconst StyledFeedbackIcon = styled('div')(() => ({\n margin: 0,\n width: 'inherit',\n}));\n\nconst StyledDeleteIcon = styled('div')(() => ({\n margin: 0,\n width: 'inherit',\n}));\n\nconst StyledDelete = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(2),\n paddingLeft: 0,\n marginLeft: 0,\n}));\n\nconst StyledMiddleColumn = styled('div')(({ theme }) => ({\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n marginRight: theme.spacing(1),\n}));\n\nconst StyledErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n}));\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n error: 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 disableImageAlignmentButtons: PropTypes.bool,\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n noCorrectAnswerError: PropTypes.string,\n spellCheck: PropTypes.bool,\n pluginOpts: PropTypes.object,\n toolbarOpts: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\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\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\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 mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n pluginOpts,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n maxImageWidth,\n maxImageHeight,\n mathMlOptions = {},\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n\n return (\n <StyledTopRow>\n {index > 0 && (\n <StyledIndex type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </StyledIndex>\n )}\n\n <StyledToggle>\n <InputToggle\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n </StyledToggle>\n\n <StyledMiddleColumn>\n <EditableHtmlContainer\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n pluginOpts={pluginOpts}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n />\n {error && <StyledErrorText>{error}</StyledErrorText>}\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 </StyledMiddleColumn>\n\n {allowFeedBack && (\n <StyledFeedback>\n <InputContainer label={!noLabels ? 'Feedback' : ''}>\n <StyledFeedbackIcon>\n <FeedbackMenu onChange={this.onFeedbackTypeChange} value={data.feedback} />\n </StyledFeedbackIcon>\n </InputContainer>\n </StyledFeedback>\n )}\n\n {allowDelete && (\n <StyledDelete>\n <InputContainer label={!noLabels ? 'Delete' : ''}>\n <StyledDeleteIcon>\n <IconButton aria-label=\"delete\" onClick={onDelete} size=\"large\">\n <ActionDelete />\n </IconButton>\n </StyledDeleteIcon>\n </InputContainer>\n </StyledDelete>\n )}\n </StyledTopRow>\n );\n }\n}\n\nexport default ChoiceConfiguration;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_TextField","_Delete","_SubdirectoryArrowRight","_IconButton","_renderUi","_editableHtmlTipTap","_inputs","_feedbackMenu","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","StyledEditorHolder","styled","_ref","theme","marginTop","spacing","EditableHtmlContainer","_ref2","label","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","pluginOpts","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","_ref2$mathMlOptions","mathMlOptions","createElement","InputContainer","markup","pluginProps","languageCharactersProps","language","StyledFeedbackContainer","position","StyledArrowIcon","ArrowRight","_ref3","fill","palette","grey","left","top","StyledTextField","TextField","_ref4","width","StyledEditableHtmlContainer","_ref5","Feedback","_ref6","type","correct","defaults","_ref6$mathMlOptions","incorrect","variant","StyledIndex","_ref7","paddingRight","paddingTop","StyledTopRow","display","alignItems","StyledToggle","_ref8","flex","paddingBottom","marginRight","marginLeft","StyledFeedback","_ref9","paddingLeft","StyledFeedbackIcon","margin","StyledDeleteIcon","StyledDelete","_ref0","StyledMiddleColumn","_ref1","flexDirection","StyledErrorText","_ref10","fontSize","typography","color","main","ChoiceConfiguration","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","key","update","_this$props","props","data","_changeFn","event","target","checked","_this$props2","v","_this$props3","feedback","fb","_this$props4","undefined","_inherits2","_createClass2","render","_this$props5","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","_this$props5$mathMlOp","InputToggle","InputCheckbox","InputRadio","String","fromCharCode","toUpperCase","onCheckedChange","onLabelChange","_extends2","onFeedbackValueChange","onFeedbackTypeChange","onClick","size","React","Component","PropTypes","bool","string","oneOf","object","isRequired","shape","func","number","add","_default"],"sources":["../../src/choice-configuration/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport TextField from '@mui/material/TextField';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport ArrowRight from '@mui/icons-material/SubdirectoryArrowRight';\nimport IconButton from '@mui/material/IconButton';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\n\nconst StyledEditorHolder = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n}));\n\nconst EditableHtmlContainer = ({\n label,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n pluginOpts,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n}) => {\n return (\n <InputContainer label={label} className={className}>\n <StyledEditorHolder>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n pluginProps={pluginOpts || {}}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </StyledEditorHolder>\n </InputContainer>\n );\n};\n\nconst StyledFeedbackContainer = styled('div')(() => ({\n position: 'relative',\n}));\n\nconst StyledArrowIcon = styled(ArrowRight)(({ theme }) => ({\n fill: theme.palette.grey[400],\n left: -56,\n position: 'absolute',\n top: 40,\n}));\n\nconst StyledTextField = styled(TextField)(({ theme }) => ({\n width: '100%',\n marginTop: theme.spacing(2),\n}));\n\nconst StyledEditableHtmlContainer = styled(EditableHtmlContainer)(({ theme }) => ({\n width: '100%',\n marginTop: theme.spacing(2),\n}));\n\nconst Feedback = ({ value, onChange, type, correct, defaults, toolbarOpts, mathMlOptions = {} }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <StyledFeedbackContainer>\n <StyledArrowIcon />\n <StyledTextField\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n variant=\"standard\"\n />\n </StyledFeedbackContainer>\n );\n } else {\n return (\n <StyledFeedbackContainer>\n <StyledArrowIcon />\n <StyledEditableHtmlContainer\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n mathMlOptions={mathMlOptions}\n />\n </StyledFeedbackContainer>\n );\n }\n};\n\nconst StyledIndex = styled('span')(({ theme }) => ({\n paddingRight: theme.spacing(1),\n paddingTop: theme.spacing(3),\n}));\n\nconst StyledTopRow = styled('div')(() => ({\n display: 'flex',\n alignItems: 'center',\n}));\n\nconst StyledToggle = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(0.5),\n paddingBottom: 0,\n marginRight: 0,\n marginLeft: theme.spacing(1),\n}));\n\nconst StyledFeedback = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(2),\n paddingLeft: 0,\n marginLeft: 0,\n marginRight: theme.spacing(1),\n}));\n\nconst StyledFeedbackIcon = styled('div')(() => ({\n margin: 0,\n width: 'inherit',\n}));\n\nconst StyledDeleteIcon = styled('div')(() => ({\n margin: 0,\n width: 'inherit',\n}));\n\nconst StyledDelete = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(2),\n paddingLeft: 0,\n marginLeft: 0,\n}));\n\nconst StyledMiddleColumn = styled('div')(({ theme }) => ({\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n marginRight: theme.spacing(1),\n}));\n\nconst StyledErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n}));\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n error: 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 disableImageAlignmentButtons: PropTypes.bool,\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n noCorrectAnswerError: PropTypes.string,\n spellCheck: PropTypes.bool,\n pluginOpts: PropTypes.object,\n toolbarOpts: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\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\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\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 mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n pluginOpts,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n maxImageWidth,\n maxImageHeight,\n mathMlOptions = {},\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n\n return (\n <StyledTopRow>\n {index > 0 && (\n <StyledIndex type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </StyledIndex>\n )}\n\n <StyledToggle>\n <InputToggle\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n </StyledToggle>\n\n <StyledMiddleColumn>\n <EditableHtmlContainer\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n pluginOpts={pluginOpts}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n />\n {error && <StyledErrorText>{error}</StyledErrorText>}\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 </StyledMiddleColumn>\n\n {allowFeedBack && (\n <StyledFeedback>\n <InputContainer label={!noLabels ? 'Feedback' : ''}>\n <StyledFeedbackIcon>\n <FeedbackMenu onChange={this.onFeedbackTypeChange} value={data.feedback} />\n </StyledFeedbackIcon>\n </InputContainer>\n </StyledFeedback>\n )}\n\n {allowDelete && (\n <StyledDelete>\n <InputContainer label={!noLabels ? 'Delete' : ''}>\n <StyledDeleteIcon>\n <IconButton aria-label=\"delete\" onClick={onDelete} size=\"large\">\n <ActionDelete />\n </IconButton>\n </StyledDeleteIcon>\n </InputContainer>\n </StyledDelete>\n )}\n </StyledTopRow>\n );\n }\n}\n\nexport default ChoiceConfiguration;\n"],"mappings":"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","ignoreList":[]}